Regenerate gui options because previous configdialog may have deleted them; draw a frame around options that need 'save'.
svn: r14349
This commit is contained in:
parent
c6c653683f
commit
b1354d2009
@ -376,12 +376,21 @@ class Gramplet(object):
|
|||||||
Add an option to the GUI gramplet.
|
Add an option to the GUI gramplet.
|
||||||
"""
|
"""
|
||||||
from PluginUtils import make_gui_option
|
from PluginUtils import make_gui_option
|
||||||
#tooltips, dbstate, uistate, track
|
|
||||||
widget, label = make_gui_option(
|
widget, label = make_gui_option(
|
||||||
option, self.dbstate, self.uistate, [])
|
option, self.dbstate, self.uistate, [])
|
||||||
self.option_dict.update({option.get_label(): (widget, option)})
|
self.option_dict.update({option.get_label(): [widget, option]})
|
||||||
self.option_order.append(option.get_label())
|
self.option_order.append(option.get_label())
|
||||||
|
|
||||||
|
def get_gui_option(self, label):
|
||||||
|
"""
|
||||||
|
Reconstruct a deleted widget.
|
||||||
|
"""
|
||||||
|
from PluginUtils import make_gui_option
|
||||||
|
dummy, option = self.option_dict[label]
|
||||||
|
widget, label = make_gui_option(
|
||||||
|
option, self.dbstate, self.uistate, [])
|
||||||
|
return widget
|
||||||
|
|
||||||
def save_update_options(self, obj):
|
def save_update_options(self, obj):
|
||||||
"""
|
"""
|
||||||
Save a gramplet's options to file.
|
Save a gramplet's options to file.
|
||||||
|
@ -600,6 +600,7 @@ class GuiGramplet(object):
|
|||||||
def make_gui_options(self):
|
def make_gui_options(self):
|
||||||
if not self.pui: return
|
if not self.pui: return
|
||||||
if len(self.pui.option_order) == 0: return
|
if len(self.pui.option_order) == 0: return
|
||||||
|
frame = gtk.Frame()
|
||||||
topbox = gtk.VBox()
|
topbox = gtk.VBox()
|
||||||
hbox = gtk.HBox()
|
hbox = gtk.HBox()
|
||||||
labels = gtk.VBox()
|
labels = gtk.VBox()
|
||||||
@ -611,12 +612,16 @@ class GuiGramplet(object):
|
|||||||
label = gtk.Label(item + ":")
|
label = gtk.Label(item + ":")
|
||||||
label.set_alignment(1.0, 0.5)
|
label.set_alignment(1.0, 0.5)
|
||||||
labels.add(label)
|
labels.add(label)
|
||||||
options.add(self.pui.option_dict[item][0]) # widget
|
# The original may have been deleted when the dialog closed:
|
||||||
|
#options.add(self.pui.option_dict[item][0]) # widget
|
||||||
|
# so we regenerate:
|
||||||
|
options.add(self.pui.get_gui_option(item)) # widget
|
||||||
save_button = gtk.Button(stock=gtk.STOCK_SAVE)
|
save_button = gtk.Button(stock=gtk.STOCK_SAVE)
|
||||||
topbox.add(save_button)
|
topbox.add(save_button)
|
||||||
topbox.show_all()
|
|
||||||
save_button.connect('clicked', self.pui.save_update_options)
|
save_button.connect('clicked', self.pui.save_update_options)
|
||||||
return topbox
|
frame.add(topbox)
|
||||||
|
frame.show_all()
|
||||||
|
return frame
|
||||||
|
|
||||||
def link(self, text, link_type, data, size=None, tooltip=None):
|
def link(self, text, link_type, data, size=None, tooltip=None):
|
||||||
buffer = self.buffer
|
buffer = self.buffer
|
||||||
|
Loading…
Reference in New Issue
Block a user