summaryrefslogtreecommitdiff
path: root/gui.py
diff options
context:
space:
mode:
authorjvoisin2011-07-18 19:44:43 +0200
committerjvoisin2011-07-18 19:44:43 +0200
commitf9bfefa2691103a94558a654b381b360eaa362de (patch)
tree6a565f6f5faed6296a580de19adb50b64f694467 /gui.py
parentf7772f688ae5ac90490e1ad756944ba732906629 (diff)
Add "about", and icons in menu
Diffstat (limited to 'gui.py')
-rw-r--r--gui.py55
1 files changed, 44 insertions, 11 deletions
diff --git a/gui.py b/gui.py
index 4be8680..d2d0510 100644
--- a/gui.py
+++ b/gui.py
@@ -91,7 +91,7 @@ class ListStoreApp:
91 91
92 def add_columns(self, treeview): 92 def add_columns(self, treeview):
93 ''' 93 '''
94 Crete the columns 94 Create the columns
95 ''' 95 '''
96 model = treeview.get_model() 96 model = treeview.get_model()
97 97
@@ -116,13 +116,21 @@ class ListStoreApp:
116 column.set_sort_column_id(self.COLUMN_CLEANED) 116 column.set_sort_column_id(self.COLUMN_CLEANED)
117 treeview.append_column(column) 117 treeview.append_column(column)
118 118
119 def create_menu_item(self, name, func, menu): 119 def create_menu_item(self, name, func, menu, pix):
120 item = Gtk.MenuItem() 120 '''
121 Create a MenuItem() like Preferences, Quit, Add, Clean, ...
122 '''
123 item = Gtk.ImageMenuItem()
124 picture = Gtk.Image.new_from_stock(pix, Gtk.IconSize.MENU)
125 item.set_image(picture)
121 item.set_label(name) 126 item.set_label(name)
122 item.connect('activate', func) 127 item.connect('activate', func)
123 menu.append(item) 128 menu.append(item)
124 129
125 def create_sub_menu(self, name, menubar): 130 def create_sub_menu(self, name, menubar):
131 '''
132 Create a submenu like File, Edit, Clean, ...
133 '''
126 menu = Gtk.Menu() 134 menu = Gtk.Menu()
127 menum = Gtk.MenuItem() 135 menum = Gtk.MenuItem()
128 menum.set_submenu(menu) 136 menum.set_submenu(menu)
@@ -131,21 +139,33 @@ class ListStoreApp:
131 return menu 139 return menu
132 140
133 def create_menu(self): 141 def create_menu(self):
142 '''
143 Return a MenuBar
144 '''
134 menubar = Gtk.MenuBar() 145 menubar = Gtk.MenuBar()
135 146
136 file_menu = self.create_sub_menu('Files', menubar) 147 file_menu = self.create_sub_menu('Files', menubar)
137 self.create_menu_item('Add files', self.add_files, file_menu) 148 self.create_menu_item('Add files', self.add_files, file_menu,
138 self.create_menu_item('Quit', Gtk.main_quit, file_menu) 149 Gtk.STOCK_ADD)
150 self.create_menu_item('Quit', Gtk.main_quit, file_menu,
151 Gtk.STOCK_QUIT)
139 152
140 edit_menu = self.create_sub_menu('Edit', menubar) 153 edit_menu = self.create_sub_menu('Edit', menubar)
141 self.create_menu_item('Clear the filelist', self.clear_model, edit_menu) 154 self.create_menu_item('Clear the filelist', self.clear_model, edit_menu,
142 self.create_menu_item('Preferences', self.preferences, edit_menu) 155 Gtk.STOCK_REMOVE)
156 self.create_menu_item('Preferences', self.preferences, edit_menu,
157 Gtk.STOCK_PREFERENCES)
143 158
144 clean_menu = self.create_sub_menu('Clean', menubar) 159 clean_menu = self.create_sub_menu('Clean', menubar)
145 self.create_menu_item('Clean', self.mat_clean, clean_menu) 160 self.create_menu_item('Clean', self.mat_clean, clean_menu,
161 Gtk.STOCK_PRINT_REPORT)
146 self.create_menu_item('Clean (lossy way)', self.mat_clean_dirty, 162 self.create_menu_item('Clean (lossy way)', self.mat_clean_dirty,
147 clean_menu) 163 clean_menu, Gtk.STOCK_PRINT_WARNING)
148 self.create_menu_item('Check', self.mat_check, clean_menu) 164 self.create_menu_item('Check', self.mat_check, clean_menu,
165 Gtk.STOCK_FIND)
166
167 help_menu = self.create_sub_menu('Help', menubar)
168 self.create_menu_item('About', self.about, help_menu, Gtk.STOCK_ABOUT)
149 169
150 return menubar 170 return menubar
151 171
@@ -205,7 +225,20 @@ class ListStoreApp:
205 self.files.append(cfile) 225 self.files.append(cfile)
206 self.model.append([cfile.filename, cfile.mime, 'unknow']) 226 self.model.append([cfile.filename, cfile.mime, 'unknow'])
207 227
208 def preferences(self): 228 def about(self, button=None):
229 w = Gtk.AboutDialog()
230 w.set_version(__version__)
231 w.set_copyright('GNU GPLv2')
232 w.set_comments('This software was coded during the GSoC 2011')
233 w.set_website('https://gitweb.torproject.org/user/jvoisin/mat.git')
234 w.set_website_label('Website')
235 w.set_authors(['Julien (jvoisin) Voisin',])
236 w.set_program_name('Metadata Anonymistion Toolkit')
237 click = w.run()
238 if click:
239 w.destroy()
240
241 def preferences(self, button=None):
209 pass 242 pass
210 243
211 def clear_model(self, button=None): 244 def clear_model(self, button=None):