[beryl-commits] r2258 - trunk/beryl-settings-2
quinn at server.beryl-project.org
quinn at server.beryl-project.org
Tue Jan 2 09:56:50 CET 2007
Author: quinn
Date: 2007-01-02 08:56:49 +0000 (Tue, 02 Jan 2007)
New Revision: 2258
Modified:
trunk/beryl-settings-2/main.py
Log:
all buttons in the binding popup now work
should I remove in-place editing of bindings? (is it just going to be annoying?)
just about done really, need some input on how exactly to display and handle binding conflicts, how to manage profiles
Modified: trunk/beryl-settings-2/main.py
===================================================================
--- trunk/beryl-settings-2/main.py 2007-01-02 08:52:03 UTC (rev 2257)
+++ trunk/beryl-settings-2/main.py 2007-01-02 08:56:49 UTC (rev 2258)
@@ -399,6 +399,9 @@
def hideshowclick(wid):
UpdateBindingsList(wid.props.active)
+statemask=gdk.SHIFT_MASK | gdk.CONTROL_MASK | gdk.MOD1_MASK | gdk.MOD2_MASK | gdk.MOD3_MASK | \
+ gdk.MOD5_MASK | gdk.SUPER_MASK | gdk.HYPER_MASK | gdk.META_MASK
+
def kpe(win,ev,ent):
keygot=(ev.keyval,ev.state)
#check to see if its a modifier key
@@ -410,8 +413,6 @@
win.grab_remove()
gdk.keyboard_ungrab()
win.destroy()
- statemask=gdk.SHIFT_MASK | gdk.CONTROL_MASK | gdk.MOD1_MASK | gdk.MOD2_MASK | gdk.MOD3_MASK | \
- gdk.MOD5_MASK | gdk.SUPER_MASK | gdk.HYPER_MASK | gdk.META_MASK
keygot=(keygot[0],keygot[1]&statemask)
win.destroy()
if (keygot[1]==0 and keygot[0]==gdk.keyval_from_name("Escape")):
@@ -452,7 +453,24 @@
keygot=None
win.connect("key-press-event",kpe,ent)
+def clearit(wid,ent):
+ ent.set_text('Disabled')
+
+def resetit(wid,inf):
+ ent=inf[0]
+ set=inf[1]
+ typ=inf[2]
+ vv=set.Value
+ v0=vv[0]
+ v1=vv[1]
+ v2=vv[2]
+ v3=vv[3]
+ set.ResetToDefault()
+ ent.set_text(set.Value[typ])
+ set.Value=[v0,v1,v2,v3]
+
def BindingPopup(wid,path,col):
+ global AllowUpdate
#why does this get a tuple? that makes no sense.
spath=None
for foo in path:
@@ -471,13 +489,15 @@
return
vals=GenStore.get(Iter,5,6)
set=Ctx.Plugin(vals[0]).Setting(vals[1])
- dlg=gtk.Dialog("Edit Binding %s"%set.ShortDesc,MainWindow,gtk.DIALOG_MODAL,(gtk.STOCK_OK,gtk.RESPONSE_OK,gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL))
+ dlg=gtk.Dialog("Edit Shortcuts for %s"%set.ShortDesc,MainWindow,gtk.DIALOG_MODAL,(gtk.STOCK_OK,gtk.RESPONSE_OK,gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL))
vb=dlg.vbox
tb=gtk.Table()
tb.props.border_width=5
tb.props.row_spacing=5
tb.props.column_spacing=5
vb.pack_start(tb,False,False)
+ kent=None
+ bent=None
if (set.Restrictions[0]):
lab=gtk.Label("Keyboard Binding:")
lab.props.xalign=1
@@ -489,10 +509,13 @@
tb.attach(grab,2,3,0,1)
grab.connect("clicked",getkey,ent)
clear=gtk.Button("Clear")
+ clear.connect("clicked",clearit,ent)
tb.attach(clear,3,4,0,1)
rest=gtk.Button()
+ rest.connect("clicked",resetit,(ent,set,0))
rest.props.image=gtk.image_new_from_stock(gtk.STOCK_CLEAR,gtk.ICON_SIZE_BUTTON)
tb.attach(rest,4,5,0,1)
+ kent=ent
if (set.Restrictions[1]):
lab=gtk.Label("Mouse Binding:")
lab.props.xalign=1
@@ -501,12 +524,28 @@
ent.set_text(set.Value[1])
tb.attach(ent,1,2,1,2)
clear=gtk.Button("Clear")
+ clear.connect("clicked",clearit,ent)
tb.attach(clear,3,4,1,2)
rest=gtk.Button()
+ rest.connect("clicked",resetit,(ent,set,1))
rest.props.image=gtk.image_new_from_stock(gtk.STOCK_CLEAR,gtk.ICON_SIZE_BUTTON)
tb.attach(rest,4,5,1,2)
+ bent=ent
vb.show_all()
- dlg.run()
+ ret=dlg.run()
+ if (ret==gtk.RESPONSE_OK):
+ v0=set.Value[0]
+ v1=set.Value[1]
+ v2=set.Value[2]
+ v3=set.Value[3]
+ if kent:
+ v0=kent.get_text()
+ if bent:
+ v1=bent.get_text()
+ set.Value=[v0,v1,v2,v3]
+ AllowUpdate=False
+ GenStore.set(Iter,1,set.Value[0],3,set.Value[1])
+ Ctx.Write()
dlg.destroy()
def MakeBindingsList():
More information about the commits
mailing list