[fusion-commits] Compizconfig Settings Manager in Python: Changes to 'master' (5772720bb1a174539958c4025a12f31dbd17fccd)

crdlb at server.opencompositing.org crdlb at server.opencompositing.org
Sat Mar 29 20:36:44 CET 2008


New commits:
commit 5772720bb1a174539958c4025a12f31dbd17fccd
Author: Christopher Williams <christopherw at verizon.net>
Date:   Sat Mar 29 15:34:47 2008 -0400

    Reuse main window page when returning from plugin pages, and try to ensure that the left pane's size does not change


 ccm/Pages.py  |    6 ++--
 ccm/Window.py |   69 +++++++++++++++++++++++---------------------------------
 2 files changed, 31 insertions(+), 44 deletions(-)


Modified: fusion/compizconfig/ccsm/ccm/Pages.py
===================================================================
--- fusion/compizconfig/ccsm/ccm/Pages.py
+++ fusion/compizconfig/ccsm/ccm/Pages.py
@@ -49,7 +49,7 @@ class PluginPage:
         self.Plugin = plugin
         self.Main = main
         self.LeftWidget = gtk.VBox(False, 10)
-        self.LeftWidget.set_border_width(15)
+        self.LeftWidget.set_border_width(10)
 
         pluginLabel = Label()
         pluginLabel.set_markup(HeaderMarkup % (self.Main.Style.BrightColor, plugin.ShortDesc))
@@ -194,7 +194,7 @@ class FilterPage(object):
         self.Context = context
         self.Main = main
         self.LeftWidget = gtk.VBox(False, 10)
-        self.LeftWidget.set_border_width(15)
+        self.LeftWidget.set_border_width(10)
         self.RightWidget = gtk.Notebook()
         self.RightChild = gtk.VBox()
 
@@ -965,7 +965,7 @@ class PreferencesPage(object):
         self.Context = context
         self.Main = main
         self.LeftWidget = gtk.VBox(False, 10)
-        self.LeftWidget.set_border_width(15)
+        self.LeftWidget.set_border_width(10)
         self.RightWidget = gtk.Notebook()
 
         # Left Pane

Modified: fusion/compizconfig/ccsm/ccm/Window.py
===================================================================
--- fusion/compizconfig/ccsm/ccm/Window.py
+++ fusion/compizconfig/ccsm/ccm/Window.py
@@ -47,17 +47,9 @@ class MainWin(gtk.Window):
         self.connect("destroy", self.Quit)
         self.set_default_size(990, 580)
         self.set_title(_("CompizConfig Settings Manager"))
-        try:
-            list = (\
-                IconTheme.load_icon("ccsm", 16, 0),
-                IconTheme.load_icon("ccsm", 32, 0),
-                IconTheme.load_icon("ccsm", 48, 0),
-                IconTheme.load_icon("ccsm", 128, 0)
-            )
-            self.set_icon_list (*list)
-        except:
-            pass
-        
+
+        self.set_icon_name('ccsm')
+
         self.Style = Style()
         
         # build the panes
@@ -81,6 +73,8 @@ class MainWin(gtk.Window):
         self.RightVadj = 0.0
         self.FilterValue = ""
         
+        self.PressedButton = None
+
         for pluginName, plugin in self.Context.Plugins.items():
             self.PluginImages[pluginName] = Image(plugin.Name, ImagePlugin, size=32)
         
@@ -104,7 +98,7 @@ class MainWin(gtk.Window):
     def ResetMainWidgets(self):
         pluginsVPort = gtk.Viewport()
         leftChild = gtk.VBox(False, 10)
-        leftChild.set_border_width(15)
+        leftChild.set_border_width(10)
         
         # Filter
         filterLabel = Label()
@@ -136,7 +130,7 @@ class MainWin(gtk.Window):
 
         # Categories
         categoryBox = gtk.VBox()
-        categoryBox.set_border_width(10)
+        categoryBox.set_border_width(5)
         categories = ['All'] + sorted(self.Categories, key=self.CatKeyFunc)
         for category in categories:
             # name: untranslated name/interal identifier
@@ -206,7 +200,8 @@ class MainWin(gtk.Window):
         rightChild.add(pluginsVPort)
         self.BuildTable(pluginsVPort)
         rightChild.connect('size-allocate', self.RebuildTable)
-        self.SetMainWidgets(leftChild, rightChild)
+        self.SetMainWidgets(leftChild, rightChild, setsize=True)
+        self.MainWidgets = (leftChild, rightChild)
 
     def BuildTable(self, viewPort):
         pluginWindow = gtk.VBox()
@@ -404,17 +399,20 @@ class MainWin(gtk.Window):
         self.show_all()
         self.RightPane.get_child().props.vadjustment.value = self.RightVadj
 
-    def SetMainWidgets(self, leftWidget, rightWidget):
+    def SetMainWidgets(self, leftWidget, rightWidget, setsize=False):
         pane = self.LeftPane.get_child()
         if pane:
-            pane.destroy()
+            self.LeftPane.remove(pane)
         pane = self.RightPane.get_child()
-        if (pane):
-            pane.destroy()
+        if pane:
+            self.RightPane.remove(pane)
         self.LeftPane.add(leftWidget)
         self.RightPane.add(rightWidget)
         self.show_all()
 
+        if setsize:
+            self.LeftPane.set_size_request(leftWidget.get_allocation().width, -1)
+
     def CatKeyFunc(self, cat):
         if self.Context.Plugins['core'].Category == cat:
             return ''
@@ -422,27 +420,19 @@ class MainWin(gtk.Window):
             return cat or 'zzzzzzzz'
 
     def ShowPlugin(self, obj, select):
-        self.RightVadj = self.RightPane.get_child().get_vadjustment().get_value()
-        self.FilterValue = self.filterEntry.get_text()
-        for name, value in self.PluginImages.items():
-            widget = value.get_parent()
-            if widget:
-                widget.remove(value)
+        if obj is not None:
+            self.PressedButton = obj
         pluginPage = PluginPage(select, self)
         self.ShowingPlugin = pluginPage
         self.SetMainWidgets(pluginPage.LeftWidget, pluginPage.RightWidget)
     
     def ShowAdvancedFilter(self, widget):
+        self.PressedButton = widget
         self.TitleBuffer = self.get_title()
         self.set_title(self.TitleBuffer + " - Loading...")
         gtk_process_events()
 
-        self.RightVadj = self.RightPane.get_child().get_vadjustment().get_value()
         self.FilterValue = self.filterEntry.get_text()
-        for name, value in self.PluginImages.items():
-            widget = value.get_parent()
-            if widget:
-                widget.remove(value)
         filterPage = FilterPage(self, self.Context)
         self.SetMainWidgets(filterPage.LeftWidget, filterPage.RightWidget)
     
@@ -452,12 +442,7 @@ class MainWin(gtk.Window):
         return False
     
     def ShowPreferences(self, widget):
-        self.RightVadj = self.RightPane.get_child().get_vadjustment().get_value()
-        self.FilterValue = self.filterEntry.get_text()
-        for name, value in self.PluginImages.items():
-            widget = value.get_parent()
-            if widget:
-                widget.remove(value)
+        self.PressedButton = widget
         preferencesPage = PreferencesPage(self, self.Context)
         self.SetMainWidgets(preferencesPage.LeftWidget, preferencesPage.RightWidget)
 
@@ -497,11 +482,13 @@ class MainWin(gtk.Window):
         self.Context.Read()
 
     def BackToMain(self, widget, run=0):
-        self.VisibleSettings = []
-        self.ResetMainWidgets()
-        del self.ShowingPlugin
         # make sure its cleaned up here, since this is a nice safe place to do so
+        self.LeftPane.get_child().destroy()
+        self.RightPane.get_child().destroy()
+        if self.PressedButton:
+            self.PressedButton.set_state(gtk.STATE_PRELIGHT)
+            self.PressedButton.set_state(gtk.STATE_NORMAL)
+            self.PressedButton = None
+
         self.ShowingPlugin = None
-        gtk_process_events()
-        self.filterEntry.set_text(self.FilterValue)
-        self.FilterTable(widget = self.filterEntry)
+        self.SetMainWidgets(*self.MainWidgets)


More information about the commits mailing list