def __init__(self, application, config, wd_history):
self.application = application
self.config = config
self.treeview = sftp_utilities.get_object('SFTPClient.notebook.page_stfp.' + self.treeview_name)
self.notebook = sftp_utilities.get_object('SFTPClient.notebook')
self.wd_history = collections.deque(wd_history, maxlen=3)
self.cwd = None
self.col_name = Gtk.CellRendererText()
self.col_name.connect('edited', self.signal_text_edited)
col_text = Gtk.CellRendererText()
col_img = Gtk.CellRendererPixbuf()
col = Gtk.TreeViewColumn('Files')
col.pack_start(col_img, False)
col.pack_start(self.col_name, True)
col.add_attribute(self.col_name, 'text', 0)
col.add_attribute(col_img, 'pixbuf', 1)
col.set_property('resizable', True)
col.set_sort_column_id(0)
self.treeview.append_column(col)
self.treeview.append_column(sftp_utilities.get_treeview_column('Permissions', col_text, 3, m_col_sort=3, resizable=True))
self.treeview.append_column(sftp_utilities.get_treeview_column('Size', col_text, 4, m_col_sort=5, resizable=True))
self.treeview.append_column(sftp_utilities.get_treeview_column('Date Modified', col_text, 6, m_col_sort=6, resizable=True))
self.treeview.connect('button_press_event', self.signal_tv_button_press)
self.treeview.connect('key-press-event', self.signal_tv_key_press)
self.treeview.connect('row-expanded', self.signal_tv_expand_row)
self.treeview.connect('row-collapsed', self.signal_tv_collapse_row)
self._tv_model = Gtk.TreeStore(
str, # 0 base name
GdkPixbuf.Pixbuf, # 1 icon
str, # 2 full path
str, # 3 permissions
str, # 4 human readable size
GTYPE_LONG, # 5 size in bytes
str # 6 modified timestamp
)
self._tv_model.set_sort_column_id(0, Gtk.SortType.ASCENDING)
self._tv_model_filter = self._tv_model.filter_new()
self._tv_model_filter.set_visible_func(self._filter_entries)
self.refilter = self._tv_model_filter.refilter
self._tv_model_sort = Gtk.TreeModelSort(model=self._tv_model_filter)
self.treeview.set_model(self._tv_model_sort)
self._wdcb_model = Gtk.ListStore(str) # working directory combobox
self.wdcb_dropdown = sftp_utilities.get_object(self.working_directory_combobox_name)
self.wdcb_dropdown.set_model(self._wdcb_model)
self.wdcb_dropdown.set_entry_text_column(0)
self.wdcb_dropdown.connect('changed', sftp_utilities.DelayedChangedSignal(self.signal_combo_changed))
self.show_hidden = False
self._get_popup_menu()
评论列表
文章目录