gimmie r678 - in trunk: . gimmie



Author: seiflotfy
Date: Fri Mar 21 02:19:56 2008
New Revision: 678
URL: http://svn.gnome.org/viewvc/gimmie?rev=678&view=rev

Log:
* gimmie/gimmie_youtube.py: Added Youtube support und Library.
Displays users account favortie videos. Needs testing.
	
* gimmie/gimmie_computer.py: Seperated Settings into Settings 
and Administration.

* gimmie/gimmie_googleoffice.py: Changed Item Icons.

* gimmie/gimmie_util.py: fixed adding and removing favorites 
error that caused gimmie to crash.



Modified:
   trunk/ChangeLog
   trunk/gimmie/gimmie_computer.py
   trunk/gimmie/gimmie_googleoffice.py
   trunk/gimmie/gimmie_library.py
   trunk/gimmie/gimmie_util.py

Modified: trunk/gimmie/gimmie_computer.py
==============================================================================
--- trunk/gimmie/gimmie_computer.py	(original)
+++ trunk/gimmie/gimmie_computer.py	Fri Mar 21 02:19:56 2008
@@ -590,7 +590,7 @@
         self.settings_menu_tree = None
         try:
             # Gnome 2.17.91+ changed the file name arbitrarily.  Yay.
-            self.settings_menu_tree = MenuTree("gnomecc.menu")
+            self.settings_menu_tree = MenuTree("preferences.menu")
             # Administration items are not included in the new gnomecc.menu
             self.inline_administration_items = False
         except ValueError:
@@ -609,7 +609,9 @@
             self.settings_menu_tree.connect_after("reload", lambda x: self.emit("reload"))
 
         self.settings_menu_source = None
-        self.do_reload()
+        self.settings_menu_source = self.settings_menu_tree.get_toplevel_flat_source()
+
+        #self.do_reload()
 
     def do_reload(self):
         self.settings_menu_source = self.settings_menu_tree.get_toplevel_flat_source()
@@ -637,7 +639,6 @@
     def has_administration(self):
         return self.inline_administration_items
 
-
 class AdministrationSource(ItemSource):
     def __init__(self):
         ItemSource.__init__(self,
@@ -645,7 +646,7 @@
                              uri="source://Administration",
                              filter_by_date=False)
 
-        self.system_settings_menu_tree = MenuTree("system-settings.menu")
+        self.system_settings_menu_tree = MenuTree("settings.menu")
         self.system_settings_menu_tree.connect("reload", lambda x: self.emit("reload"))
 
         self.system_settings_menu_source = None
@@ -669,7 +670,9 @@
     def get_items_uncached(self):
         if self.system_settings_menu_source:
             for item in self.system_settings_menu_source.get_items_uncached():
-                yield item
+                type = item.menu_entry.parent.menu_id 
+                if type == "Administration":
+                    yield item
 
 
 #
@@ -795,7 +798,7 @@
 class SettingsMenu(gtk.Menu):
     '''
     Lists the Settings items split into columns by toplevel categorization,
-    i.e. Preferences and Administration.
+    i.e. Preferences
     '''
     def __init__(self):
         gtk.Menu.__init__(self)
@@ -851,6 +854,71 @@
         self.set_tooltip(tooltips, _("Preferences & Administration"))
         self.set_menu(SettingsMenu())
 
+#
+# Admin Implementation
+#
+class AdminMenu(gtk.Menu):
+    '''
+    Lists the Settings items split into columns by toplevel categorization,
+    i.e. Admin
+    '''
+    def __init__(self):
+        gtk.Menu.__init__(self)
+
+        column = 0
+        row_max = 14
+
+        admin_source = AdministrationSource()
+        for source in admin_source.get_settings_menu_tree().get_toplevel_source_list():
+            menu_items = []
+
+            for item in source.get_items():
+                img = gtk.Image()
+                img.set_from_pixbuf(item.get_icon(gtk.ICON_SIZE_LARGE_TOOLBAR))
+                menu_item = gtk.ImageMenuItem(item.get_name())
+                menu_item.set_image(img)
+                menu_item.connect("activate", lambda mi, i: i.open(), item)
+                menu_item.show()
+                menu_items.append(menu_item)
+
+            for idx in range(len(menu_items)):
+                mi_column = column + int(idx / row_max)
+                mi_row = idx % row_max
+
+                # Offset 2 rows for header and separator menu item
+                self.attach(menu_items[idx],
+                            mi_column, mi_column + 1,
+                            mi_row + 2, mi_row + 3)
+
+            col_cnt = idx / row_max
+            if idx % row_max > 0:
+                col_cnt = col_cnt + 1
+
+            img = gtk.Image()
+            img.set_from_pixbuf(source.get_icon(gtk.ICON_SIZE_LARGE_TOOLBAR))
+            heading_item = gtk.ImageMenuItem(source.get_name())
+            heading_item.set_image(img)
+            heading_item.set_sensitive(False)
+            heading_item.show()
+            self.attach(heading_item, column, column + col_cnt, 0, 1);
+
+            sep = gtk.SeparatorMenuItem()
+            sep.show()
+            self.attach(sep, column, column + col_cnt, 1, 2);
+
+            column = column + col_cnt
+
+
+class AdminToolMenuButton(ToolMenuButton):
+    def __init__(self, tooltips):
+        img = icon_factory.load_image(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_LARGE_TOOLBAR)
+        ToolMenuButton.__init__(self, img, _("Administration"))
+        self.set_tooltip(tooltips, _("Preferences & Administration"))
+        self.set_menu(AdminMenu())
+
+
+
+
 
 #
 # Topic Implementation

Modified: trunk/gimmie/gimmie_googleoffice.py
==============================================================================
--- trunk/gimmie/gimmie_googleoffice.py	(original)
+++ trunk/gimmie/gimmie_googleoffice.py	Fri Mar 21 02:19:56 2008
@@ -173,8 +173,8 @@
         Item.__init__(self,
                       uri=file.link[0].href,
                       name=file.title.text,
-                      comment=file.author[0].name.text,
-                      icon="stock_mail",
+                      comment=file.author[0].name.text +" "+file.updated.text,
+                      icon="stock_new-spreadsheet",
                       mimetype="googleoffice/document")
 
 

Modified: trunk/gimmie/gimmie_library.py
==============================================================================
--- trunk/gimmie/gimmie_library.py	(original)
+++ trunk/gimmie/gimmie_library.py	Fri Mar 21 02:19:56 2008
@@ -22,6 +22,7 @@
 from gimmie_flickr import FlickrSource
 from gimmie_googleoffice import GOfficeSource
 from gimmie_delicious import delicious_source
+from gimmie_youtube import YouTubeSource
 
 
 #
@@ -464,6 +465,7 @@
                        FlickrSource(),
                        GOfficeSource(),
                        delicious_source,
+                       YouTubeSource(),
                        None,
                        DownloadsSource()]
 

Modified: trunk/gimmie/gimmie_util.py
==============================================================================
--- trunk/gimmie/gimmie_util.py	(original)
+++ trunk/gimmie/gimmie_util.py	Fri Mar 21 02:19:56 2008
@@ -377,7 +377,7 @@
 
     def _grab_window_event(self, win, ev):
         if ev.type in (gtk.gdk.UNMAP, gtk.gdk.SELECTION_CLEAR):
-            self.do_map_event(ev) 
+            self.do_map_event(win,ev) 
         return False
 
     def do_grab_broken_event(self, win, ev):



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]