basic menus added
authorEugene Gagarin <mosfet07@ya.ru>
Sun, 1 Mar 2009 15:51:14 +0000 (18:51 +0300)
committerEugene Gagarin <mosfet07@ya.ru>
Sun, 1 Mar 2009 15:51:14 +0000 (18:51 +0300)
src/findit.py

index c623ebf..45e9e31 100755 (executable)
@@ -93,6 +93,7 @@ def on_key_press(obj, event):
     if HILDON and event.keyval == gtk.keysyms.F6:
         toggle_fullscreen(obj)
 
+
 ### Properties dialog ##########################################################
 
 class PropertiesDialog(gtk.Dialog):
@@ -135,6 +136,31 @@ class PropertiesDialog(gtk.Dialog):
         self.run()
         self.destroy()
 
+
+### About dialog ###############################################################
+
+class AboutDialog(gtk.AboutDialog):
+    """About dialog window."""
+
+    def __init__(self, *args):
+        """Create&show about dialog."""
+        gtk.AboutDialog.__init__(self)
+        self.set_wmclass('AboutDialog', 'FindIT')
+
+        self.set_authors([ 'Alex Taker\n   * Email: alteker@gmail.com\n',
+                           'Eugene Gagarin\n   * Email: mosfet07@ya.ru\n',
+                           'Alexandr Popov\n   * Email: popov2al@gmail.com' ])
+        
+        self.set_comments('Tool for find some information on computer.')
+        self.set_version('0.1.0')
+        self.set_license("This program is free software; you can redistribute it and/or\nmodify it under the terms of the GNU General Public License\nas published by the Free Software Foundation; either version 3\nof the License, or (at your option) any later version.")
+        self.set_copyright('')
+        self.set_website('')
+
+        self.show_all()
+        self.run()
+        self.destroy()
+
 ### Main window ################################################################
 
 class MainWindow(gtk.Window):
@@ -206,6 +232,50 @@ class MainWindow(gtk.Window):
             return
         PropertiesDialog(self, path, size, bytesize)
 
+    # Создание меню
+    def create_menu(self):
+        """ Create main menu """
+        menubar = gtk.MenuBar()
+
+        # File menu
+        fileitem = gtk.MenuItem( _('_File') )     # Файл
+        filemenu = gtk.Menu()
+        fileitem.set_submenu(filemenu)
+
+        open_menuitem = gtk.ImageMenuItem(gtk.STOCK_OPEN)
+        delete_menuitem = gtk.ImageMenuItem(gtk.STOCK_DELETE)
+        properties_menuitem = gtk.ImageMenuItem(gtk.STOCK_PROPERTIES)
+        quit_menuitem = gtk.ImageMenuItem(gtk.STOCK_QUIT)
+        filemenu.add(open_menuitem)
+        filemenu.add(delete_menuitem)
+        filemenu.add(properties_menuitem)
+        filemenu.add(quit_menuitem)
+        properties_menuitem.connect('activate', self.show_properties_dialog)
+        quit_menuitem.connect('activate', gtk.main_quit)
+
+        # View menu
+        viewitem = gtk.MenuItem( _('_View') )    # Вид
+        viewmenu = gtk.Menu()
+
+        # Help menu
+        helpitem = gtk.MenuItem( _('_Help') )    # Помощь
+        helpmenu = gtk.Menu()
+        helpitem.set_submenu(helpmenu)
+
+        about_menuitem = gtk.ImageMenuItem(gtk.STOCK_ABOUT)
+        helpmenu.add(about_menuitem)
+        about_menuitem.connect('activate', AboutDialog)
+
+        # Packing
+        menubar.add(fileitem)
+        menubar.add(viewitem)
+        menubar.add(helpitem)
+
+        return menubar
+
+#     def create_hildon_menu(self):
+#         """ Create Hildon main menu """
+
     ### Window initialization ##################################################
 
     def __init__(self, win_width, win_height, st_path):
@@ -306,6 +376,12 @@ class MainWindow(gtk.Window):
         currfilefrm = gtk.Frame()
         currfilefrm.add(self.currfilelbl)
 
+        # 7 Меню
+        if HILDON:
+            main_menu = self.create_hildon_menu()
+        else:
+            main_menu = self.create_menu()
+
         #########  Упаковываем элементы ################
         # Создаем основной вертикальный контейнер
         main_vbox = gtk.VBox(False, 4)
@@ -321,6 +397,7 @@ class MainWindow(gtk.Window):
         hbox1.pack_start(self.propertiesbtn, True, True, 0)
 
         # Добавляем элементы в основной контейнер
+        main_vbox.pack_start(main_menu, False, False, 0)
         main_vbox.pack_start(self.srch_p_entr, False, False, 0)
         main_vbox.pack_start(hbox1, False, False, 0)
         scrollwind.add(self.treeview)