diff options
| -rw-r--r-- | gui.py | 37 |
1 files changed, 31 insertions, 6 deletions
| @@ -32,21 +32,24 @@ class ListStoreApp: | |||
| 32 | self.window.connect('destroy', Gtk.main_quit) | 32 | self.window.connect('destroy', Gtk.main_quit) |
| 33 | self.window.set_default_size(800, 600) | 33 | self.window.set_default_size(800, 600) |
| 34 | 34 | ||
| 35 | vbox = self.create_toolbar() | 35 | vbox = Gtk.VBox() |
| 36 | self.window.add(vbox) | 36 | self.window.add(vbox) |
| 37 | 37 | ||
| 38 | sw = Gtk.ScrolledWindow() | 38 | menubar = self.create_menu() |
| 39 | vbox.pack_start(sw, True, True, 0) | 39 | toolbar = self.create_toolbar() |
| 40 | content = Gtk.ScrolledWindow() | ||
| 41 | vbox.pack_start(menubar, False, True, 0) | ||
| 42 | vbox.pack_start(toolbar, False, True, 0) | ||
| 43 | vbox.pack_start(content, True, True, 0) | ||
| 40 | 44 | ||
| 41 | self.model = Gtk.ListStore(str, str, str) #name - type - cleaned | 45 | self.model = Gtk.ListStore(str, str, str) #name - type - cleaned |
| 42 | 46 | ||
| 43 | treeview = Gtk.TreeView(model=self.model) | 47 | treeview = Gtk.TreeView(model=self.model) |
| 44 | treeview.set_rules_hint(True) | 48 | treeview.set_rules_hint(True) |
| 45 | |||
| 46 | self.selection = treeview.get_selection() | 49 | self.selection = treeview.get_selection() |
| 47 | self.selection.set_mode(Gtk.SelectionMode.MULTIPLE) | 50 | self.selection.set_mode(Gtk.SelectionMode.MULTIPLE) |
| 48 | 51 | ||
| 49 | sw.add(treeview) | 52 | content.add(treeview) |
| 50 | self.add_columns(treeview) | 53 | self.add_columns(treeview) |
| 51 | 54 | ||
| 52 | self.statusbar = Gtk.Statusbar() | 55 | self.statusbar = Gtk.Statusbar() |
| @@ -113,6 +116,28 @@ class ListStoreApp: | |||
| 113 | column.set_sort_column_id(self.COLUMN_CLEANED) | 116 | column.set_sort_column_id(self.COLUMN_CLEANED) |
| 114 | treeview.append_column(column) | 117 | treeview.append_column(column) |
| 115 | 118 | ||
| 119 | def create_menu(self): | ||
| 120 | menubar = Gtk.MenuBar() | ||
| 121 | |||
| 122 | file_menu = Gtk.Menu() | ||
| 123 | |||
| 124 | filem = Gtk.MenuItem() | ||
| 125 | filem.set_submenu(file_menu) | ||
| 126 | filem.set_label('Files') | ||
| 127 | |||
| 128 | add_ = Gtk.MenuItem() | ||
| 129 | add_.set_label('Add files') | ||
| 130 | add_.connect('activate', self.add_files) | ||
| 131 | file_menu.append(add_) | ||
| 132 | |||
| 133 | quit_ = Gtk.MenuItem() | ||
| 134 | quit_.set_label('Quit') | ||
| 135 | quit_.connect('activate', Gtk.main_quit) | ||
| 136 | file_menu.append(quit_) | ||
| 137 | menubar.append(filem) | ||
| 138 | |||
| 139 | return menubar | ||
| 140 | |||
| 116 | def create_filter(self): | 141 | def create_filter(self): |
| 117 | ''' | 142 | ''' |
| 118 | Return a filter for | 143 | Return a filter for |
| @@ -150,7 +175,6 @@ class ListStoreApp: | |||
| 150 | 175 | ||
| 151 | if response is 0: #Gtk.STOCK_OK | 176 | if response is 0: #Gtk.STOCK_OK |
| 152 | filenames = chooser.get_filenames() | 177 | filenames = chooser.get_filenames() |
| 153 | chooser.destroy() | ||
| 154 | for item in filenames: #directory | 178 | for item in filenames: #directory |
| 155 | if os.path.isdir(item): | 179 | if os.path.isdir(item): |
| 156 | for root, dirs, files in os.walk(item): | 180 | for root, dirs, files in os.walk(item): |
| @@ -158,6 +182,7 @@ class ListStoreApp: | |||
| 158 | self.populate(os.path.join(root, name)) | 182 | self.populate(os.path.join(root, name)) |
| 159 | else: #regular file | 183 | else: #regular file |
| 160 | self.populate(item) | 184 | self.populate(item) |
| 185 | chooser.destroy() | ||
| 161 | 186 | ||
| 162 | def populate(self, item): | 187 | def populate(self, item): |
| 163 | try: | 188 | try: |
