[beryl-commits] Compizconfig Settings Manager in Python: Changes to 'master' (48fafd5b2ebadd9e693b38417d1b444af391a1fb)
3v1n0 at server.beryl-project.org
3v1n0 at server.beryl-project.org
Mon Jun 25 18:31:14 CEST 2007
New commits:
commit 48fafd5b2ebadd9e693b38417d1b444af391a1fb
Author: Treviño - 3v1n0 <trevi55 at gmail.com>
Date: Mon Jun 25 18:31:11 2007 +0200
Interface completely 'Tooltipized'.
Added support for tooltips which now show the LongDesc of
each plugin setting and some extra informations.
ccsm.in | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 63 insertions(+), 15 deletions(-)
Modified: fusion/compizconfig/ccsm/ccsm.in
===================================================================
--- fusion/compizconfig/ccsm/ccsm.in
+++ fusion/compizconfig/ccsm/ccsm.in
@@ -41,6 +41,7 @@ DataDir = "@prefix@/share"
IconDir = DataDir+"/icons/hicolor/scalable"
PixmapDir = DataDir+"/ccsm/images"
CurrentScreenNum = 0
+Tooltips = gtk.Tooltips()
def Write(ctx):
ctx.Write()
@@ -150,6 +151,7 @@ class SettingItem:
self.Blocked = 0
self.MakeLabel()
self.Reset = gtk.Button()
+ Tooltips.set_tip(self.Reset,"Reset setting to the default value")
self.Reset.set_image(gtk.image_new_from_stock(
gtk.STOCK_CLEAR, gtk.ICON_SIZE_BUTTON))
self.Reset.connect('clicked', self.DoReset)
@@ -177,11 +179,14 @@ class SettingItem:
self.Read()
def MakeLabel(self):
- self.Label = gtk.Label(self.Setting.ShortDesc)
- self.Label.props.xalign = 0
- self.Label.props.wrap_mode = gtk.WRAP_WORD
- self.Label.set_size_request(160, -1)
- self.Label.set_line_wrap(True)
+ self.Label = gtk.EventBox()
+ label = gtk.Label(self.Setting.ShortDesc)
+ self.Label.add(label)
+ Tooltips.set_tip(self.Label, self.Setting.LongDesc)
+ label.props.xalign = 0
+ label.props.wrap_mode = gtk.WRAP_WORD
+ label.set_size_request(160, -1)
+ label.set_line_wrap(True)
def Block(self):
self.Blocked = self.Blocked+1
@@ -209,6 +214,7 @@ class SettingItem:
class StringMatchSetting(SettingItem):
def _Init(self):
self.Widget = gtk.Entry()
+ Tooltips.set_tip(self.Widget, self.Setting.LongDesc)
self.Widget.connect('changed', self.Changed)
def _Read(self):
@@ -221,7 +227,9 @@ class FileSetting(SettingItem):
def _Init(self):
self.Widget = gtk.HBox()
self.Entry = gtk.Entry()
+ Tooltips.set_tip(self.Entry, self.Setting.LongDesc)
self.Open = gtk.Button()
+ Tooltips.set_tip(self.Open, "Browse for " + self.Setting.LongDesc)
self.Open.set_image(gtk.image_new_from_stock(
gtk.STOCK_OPEN, gtk.ICON_SIZE_BUTTON))
self.Open.connect('clicked', self.OpenFileChooser)
@@ -283,17 +291,20 @@ def EnumSettingSortCompare(v1, v2):
class EnumSetting(SettingItem):
def _Init(self):
- self.Widget = gtk.combo_box_new_text()
+ self.Widget = gtk.EventBox()
+ Tooltips.set_tip(self.Widget, self.Setting.LongDesc)
+ self.Combo = gtk.combo_box_new_text()
+ self.Widget.add(self.Combo)
sortedItems = sorted(self.Setting.Info[2].items(), EnumSettingSortCompare)
for name, value in sortedItems:
- self.Widget.append_text(name)
- self.Widget.connect('changed', self.Changed)
+ self.Combo.append_text(name)
+ self.Combo.connect('changed', self.Changed)
def _Read(self):
- self.Widget.set_active(self.Setting.Value)
+ self.Combo.set_active(self.Setting.Value)
def _Changed(self):
- active = self.Widget.get_active_text()
+ active = self.Combo.get_active_text()
self.Setting.Value = self.Setting.Info[2][active]
class BoolSetting(SettingItem):
@@ -301,6 +312,7 @@ class BoolSetting(SettingItem):
self.Custom = True
self.Widget = gtk.HBox()
self.CheckButton = gtk.CheckButton(self.Setting.ShortDesc)
+ Tooltips.set_tip(self.CheckButton, self.Setting.LongDesc)
self.Widget.pack_start(self.CheckButton, True, True)
self.Widget.pack_start(self.Reset, False, False)
self.CheckButton.connect('toggled', self.Changed)
@@ -321,11 +333,13 @@ class IntFloatSetting(SettingItem):
self.Adj = gtk.Adjustment(self.Setting.Value, self.Setting.Info[0], self.Setting.Info[1], inc, inc*10)
self.Spin = gtk.SpinButton(self.Adj)
+ Tooltips.set_tip(self.Spin, self.Setting.LongDesc)
if self.Setting.Type == 'Float':
self.Spin.set_digits(4)
self.Scale = gtk.HScale(self.Adj)
+ Tooltips.set_tip(self.Scale, self.Setting.LongDesc)
self.Scale.props.draw_value = False
self.Adj.connect('value-changed', self.Changed)
@@ -347,6 +361,7 @@ class IntFloatSetting(SettingItem):
class ColorSetting(SettingItem):
def _Init(self):
self.Widget = gtk.ColorButton()
+ Tooltips.set_tip(self.Widget, self.Setting.LongDesc)
self.Widget.set_use_alpha(True)
self.Widget.connect('color-set', self.Changed)
@@ -373,6 +388,7 @@ class MultiListSetting(SettingItem):
self.Types = types
self.Store = gtk.ListStore(*types)
self.View = gtk.TreeView(self.Store)
+ Tooltips.set_tip(self.View, "Multi-list settings")
self.View.set_headers_visible(True)
for col in cols:
self.View.insert_column_with_attributes(-1, col[0], col[1], **col[2])
@@ -521,15 +537,22 @@ class MultiListSetting(SettingItem):
widgets = []
for setting in self.Settings:
if self.Types[row] == gobject.TYPE_STRING:
+ ebox = gtk.EventBox()
label = gtk.Label(setting.ShortDesc)
+ ebox.add(label)
+ Tooltips.set_tip(ebox, setting.LongDesc)
entry = gtk.Entry()
+ Tooltips.set_tip(entry, setting.LongDesc)
if values != None:
entry.set_text(values[row])
- table.attach(label, 0, 1, row, row+1, xpadding=5)
+ table.attach(ebox, 0, 1, row, row+1, xpadding=5, xoptions=gtk.FILL)
table.attach(entry, 2, 3, row, row+1, xpadding=5)
widgets.append(entry)
elif self.Types[row] == gobject.TYPE_INT or self.Types[row] == gobject.TYPE_FLOAT:
+ ebox = gtk.EventBox()
label = gtk.Label(setting.ShortDesc)
+ ebox.add(label)
+ Tooltips.set_tip(ebox, setting.LongDesc)
inc = 0
if setting.Info[0] == 'Int':
inc = 1
@@ -540,13 +563,15 @@ class MultiListSetting(SettingItem):
value = values[row]
adjustment = gtk.Adjustment(value, setting.Info[1][0], setting.Info[1][1], inc, inc*10)
spin = gtk.SpinButton(adjustment)
+ Tooltips.set_tip(spin, setting.LongDesc)
if setting.Info[0] == 'Float':
spin.set_digits(4)
scale = gtk.HScale(adjustment)
+ Tooltips.set_tip(scale, setting.LongDesc)
scale.props.draw_value = False
- table.attach(label, 0, 1, row, row+1, xpadding=5)
+ table.attach(ebox, 0, 1, row, row+1, xpadding=5, xoptions=gtk.FILL)
table.attach(scale, 2, 3, row, row+1, xpadding=5)
- table.attach(spin, 3, 4, row, row+1, xpadding=5)
+ table.attach(spin, 3, 4, row, row+1, xpadding=5, xoptions=gtk.FILL)
widgets.append(adjustment)
row += 1
@@ -609,6 +634,7 @@ class ListSetting(SettingItem):
info = self._ListInfo()
self.Store = gtk.ListStore(*info[0])
self.View = gtk.TreeView(self.Store)
+ Tooltips.set_tip(self.View, self.Setting.LongDesc)
if len(info[0]) == 1:
self.View.set_headers_visible(False)
for i in info[1]:
@@ -733,8 +759,13 @@ class StringMatchListSetting(ListSetting):
dlg.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
dlg.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK).grab_default()
dlg.set_default_response(gtk.RESPONSE_OK)
- dlg.vbox.pack_start(gtk.Label("Value(%s) for %s:" % (self.Setting.Info[0], self.Setting.ShortDesc)))
+ ebox = gtk.EventBox()
+ label = gtk.Label("Value (%s) for %s:" % (self.Setting.Info[0], self.Setting.ShortDesc))
+ ebox.add(label)
+ Tooltips.set_tip(ebox, self.Setting.LongDesc)
+ dlg.vbox.pack_start(ebox)
entry = gtk.Entry()
+ Tooltips.set_tip(entry, self.Setting.LongDesc)
entry.props.activates_default = True
if value is not None:
entry.set_text(value)
@@ -760,6 +791,7 @@ class IntDescListSetting(SettingItem):
self.minVal = sortedItems[0][1]
for key, value in sortedItems:
box = gtk.CheckButton(key)
+ Tooltips.set_tip(box, self.Setting.LongDesc)
self.Checks.append((key, box))
self.Table.attach(box, col, col+1, row, row+1, TDef, TDef, TXp, TYp)
box.connect('toggled', self.Changed)
@@ -809,7 +841,11 @@ class IntFloatListSetting(ListSetting):
dlg.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
dlg.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK).grab_default()
dlg.set_default_response(gtk.RESPONSE_OK)
- dlg.vbox.pack_start(gtk.Label("Value(%s) for %s:" % (self.Setting.Info[0], self.Setting.ShortDesc)))
+ label = gtk.Label("Value (%s) for %s:" % (self.Setting.Info[0], self.Setting.ShortDesc))
+ ebox = gtk.EventBox()
+ ebox.add(label)
+ Tooltips.set_tip(ebox, self.Setting.LongDesc)
+ dlg.vbox.pack_start(ebox)
box = gtk.HBox()
dlg.vbox.pack_start(box)
@@ -826,9 +862,11 @@ class IntFloatListSetting(ListSetting):
self.Setting.Info[1][0], self.Setting.Info[1][1],
inc, inc*10)
spin = gtk.SpinButton(adj)
+ Tooltips.set_tip(spin, setting.LongDesc)
if self.Setting.Info[0] == 'Float':
spin.set_digits(4)
scale = gtk.HScale(adj)
+ Tooltips.set_tip(scale, setting.LongDesc)
scale.props.draw_value = False
box.pack_start(scale, True, True)
@@ -1490,6 +1528,7 @@ class PluginClass:
infoLabelCont.pack_start(infoLabel, True, True)
if plugin.Name != 'core':
+ Tooltips.set_tip(self.FilterEntry, "Search %s Plugin Options" % plugin.ShortDesc)
enableLabel = MakeLabel()
enableLabel.set_markup("<span color='%s' size='large' weight='800'>%s</span>" % (main.BrightColor, 'Use This Plugin'))
self.LeftWidget.pack_start(enableLabel, False, False)
@@ -1498,9 +1537,12 @@ class PluginClass:
self.LeftWidget.pack_start(enableCheckCont, False, False)
enableCheck = gtk.CheckButton()
enableCheck.add(MakeLabel("Enable %s" % plugin.ShortDesc, 120))
+ Tooltips.set_tip(enableCheck, plugin.LongDesc)
enableCheck.set_active(plugin.Enabled)
enableCheckCont.pack_start(enableCheck, True, True)
enableCheck.connect('toggled', self.EnablePlugin)
+ else:
+ Tooltips.set_tip(self.FilterEntry, "Search Compiz Core Options")
backButton = gtk.Button(gtk.STOCK_GO_BACK)
backButton.set_use_stock(True)
@@ -1596,8 +1638,10 @@ class ProfileBackendPage:
profileBox = gtk.HBox()
profileBox.set_spacing(5)
profileAdd = gtk.Button()
+ Tooltips.set_tip(profileAdd, "Add a New Profile")
profileAdd.set_image(gtk.image_new_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_BUTTON))
profileRemove = gtk.Button()
+ Tooltips.set_tip(profileRemove, "Remove This Profile")
profileRemove.set_image(gtk.image_new_from_stock(gtk.STOCK_REMOVE, gtk.ICON_SIZE_BUTTON))
self.ProfileComboBox = gtk.combo_box_new_text()
self.ProfileComboBox.set_sensitive(self.Context.CurrentBackend.ProfileSupport)
@@ -1621,7 +1665,9 @@ class ProfileBackendPage:
self.ProfileImportExportBox = gtk.HBox()
self.ProfileImportExportBox.set_spacing(5)
profileImportButton = gtk.Button("Import")
+ Tooltips.set_tip(profileImportButton, "Import a CompizConfig Profile")
profileExportButton = gtk.Button("Export")
+ Tooltips.set_tip(profileExportButton, "Export your CompizConfig Profile")
profileImportButton.set_image(gtk.image_new_from_stock(gtk.STOCK_OPEN, gtk.ICON_SIZE_BUTTON))
profileExportButton.set_image(gtk.image_new_from_stock(gtk.STOCK_SAVE, gtk.ICON_SIZE_BUTTON))
profileImportButton.connect("clicked", self.ImportProfile)
@@ -1840,6 +1886,7 @@ class MainWinClass:
filterLabel.set_markup("<span color='%s' size='large' weight='800'>Filter</span>" % self.BrightColor)
leftChild.pack_start(filterLabel, False, False)
filterEntry = gtk.Entry()
+ Tooltips.set_tip(filterEntry, "Filter your Plugin list")
filterEntry.connect("changed", self.FilterTable)
leftChild.pack_start(filterEntry, False, False)
@@ -1961,6 +2008,7 @@ class MainWinClass:
if plugin.Name != 'core':
pluginEnable = gtk.CheckButton()
+ Tooltips.set_tip(pluginEnable, "Enable %s" % plugin.ShortDesc)
pluginEnable.set_active(plugin.Enabled)
pluginEnable.connect("toggled", self.EnablePlugin, plugin)
pluginBox.pack_start(pluginEnable, False, False)
More information about the commits
mailing list