diff options
| -rw-r--r-- | gui.py | 58 |
1 files changed, 30 insertions, 28 deletions
| @@ -31,11 +31,6 @@ class ListStoreApp: | |||
| 31 | ''' | 31 | ''' |
| 32 | Main GUI class | 32 | Main GUI class |
| 33 | ''' | 33 | ''' |
| 34 | (COLUMN_NAME, | ||
| 35 | COLUMN_FILEFORMAT, | ||
| 36 | COLUMN_CLEANED, | ||
| 37 | NUM_COLUMNS) = xrange(1,5) | ||
| 38 | |||
| 39 | def __init__(self): | 34 | def __init__(self): |
| 40 | self.files = [] | 35 | self.files = [] |
| 41 | self.backup = True | 36 | self.backup = True |
| @@ -131,12 +126,12 @@ class ListStoreApp: | |||
| 131 | ''' | 126 | ''' |
| 132 | Create a submenu like File, Edit, Clean, ... | 127 | Create a submenu like File, Edit, Clean, ... |
| 133 | ''' | 128 | ''' |
| 134 | menu = Gtk.Menu() | 129 | submenu = Gtk.Menu() |
| 135 | menum = Gtk.MenuItem() | 130 | menuitem = Gtk.MenuItem() |
| 136 | menum.set_submenu(menu) | 131 | menuitem.set_submenu(submenu) |
| 137 | menum.set_label(name) | 132 | menuitem.set_label(name) |
| 138 | menubar.append(menum) | 133 | menubar.append(menuitem) |
| 139 | return menu | 134 | return submenu |
| 140 | 135 | ||
| 141 | def create_menu(self): | 136 | def create_menu(self): |
| 142 | ''' | 137 | ''' |
| @@ -236,32 +231,39 @@ class ListStoreApp: | |||
| 236 | w.destroy() | 231 | w.destroy() |
| 237 | 232 | ||
| 238 | def preferences(self, button=None): | 233 | def preferences(self, button=None): |
| 239 | window = Gtk.Window() | 234 | dialog = Gtk.Dialog('Preferences', self.window, 0, (Gtk.STOCK_OK, 0)) |
| 240 | vbox = Gtk.VBox() | 235 | content_area = dialog.get_content_area() |
| 241 | buttonbox = Gtk.VButtonBox() | 236 | hbox = Gtk.HBox() |
| 242 | buttonbox.set_layout(Gtk.ButtonBoxStyle.EDGE)#useless ? | 237 | content_area.pack_start(hbox, False, False, 0) |
| 238 | stock = Gtk.Image(stock=Gtk.STOCK_PREFERENCES, | ||
| 239 | icon_size=Gtk.IconSize.DIALOG) | ||
| 240 | |||
| 241 | hbox.pack_start(stock, False, False, 0) | ||
| 242 | |||
| 243 | table = Gtk.Table(3, 2, False) | ||
| 244 | table.set_row_spacings(4) | ||
| 245 | table.set_col_spacings(4) | ||
| 246 | hbox.pack_start(table, True, True, 0) | ||
| 247 | |||
| 243 | force = Gtk.CheckButton('Force Clean', False) | 248 | force = Gtk.CheckButton('Force Clean', False) |
| 249 | table.attach_defaults(force, 0, 1, 0, 1) | ||
| 244 | force.connect('toggled', self.invert, 'force') | 250 | force.connect('toggled', self.invert, 'force') |
| 245 | force.set_active(self.force) | 251 | force.set_active(self.force) |
| 246 | buttonbox.add(force) | ||
| 247 | 252 | ||
| 248 | ugly = Gtk.CheckButton('Always use lossy clean', False) | 253 | ugly = Gtk.CheckButton('Ugly', False) |
| 254 | table.attach_defaults(ugly, 0, 1, 1, 2) | ||
| 249 | ugly.connect('toggled', self.invert, 'ugly') | 255 | ugly.connect('toggled', self.invert, 'ugly') |
| 250 | ugly.set_active(self.ugly) | 256 | ugly.set_active(self.ugly) |
| 251 | buttonbox.add(ugly) | ||
| 252 | 257 | ||
| 253 | backup = Gtk.CheckButton('Alway keep a backup', False) | 258 | backup = Gtk.CheckButton('backup', False) |
| 254 | backup.set_active(self.backup) | 259 | table.attach_defaults(backup, 0, 1, 2, 3) |
| 255 | backup.connect('toggled', self.invert, 'backup') | 260 | backup.connect('toggled', self.invert, 'backup') |
| 256 | buttonbox.add(backup) | 261 | backup.set_active(self.backup) |
| 257 | |||
| 258 | ok = Gtk.Button('Ok') | ||
| 259 | ok.connect('clicked', lambda q:window.destroy()) | ||
| 260 | 262 | ||
| 261 | vbox.pack_start(buttonbox, True, True, 0) | 263 | hbox.show_all() |
| 262 | vbox.pack_end(ok, False, False, 5) | 264 | response = dialog.run() |
| 263 | window.add(vbox) | 265 | if response is 0: |
| 264 | window.show_all() | 266 | dialog.destroy() |
| 265 | 267 | ||
| 266 | def invert(self, button, name): #I think I can do better than that !(but not tonight) | 268 | def invert(self, button, name): #I think I can do better than that !(but not tonight) |
| 267 | if name is 'force': | 269 | if name is 'force': |
