Added a new element type to interface_manager to simplify using the PAL/NTSC toggles
This commit is contained in:
parent
1e0a28cea1
commit
832644c2b7
2 changed files with 39 additions and 5 deletions
|
|
@ -56,7 +56,7 @@ class file_movie(devede.interface_manager.interface_manager):
|
|||
else:
|
||||
self.original_aspect_ratio = 1.777 # dummy value
|
||||
|
||||
self.add_toggle("format_pal",self.config.PAL)
|
||||
self.add_dualtoggle("format_pal","format_ntsc",self.config.PAL)
|
||||
self.add_toggle("video_rate_automatic", True)
|
||||
self.add_toggle("audio_rate_automatic", True)
|
||||
self.add_toggle("divide_in_chapters", True)
|
||||
|
|
@ -530,10 +530,6 @@ class file_movie(devede.interface_manager.interface_manager):
|
|||
self.update_ui(self.builder)
|
||||
self.on_aspect_classic_toggled(None)
|
||||
self.on_treeview_subtitles_cursor_changed(None)
|
||||
if self.format_pal:
|
||||
self.wformat_pal.set_active(True)
|
||||
else:
|
||||
self.wformat_ntsc.set_active(True)
|
||||
|
||||
|
||||
def on_aspect_classic_toggled(self,b):
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ class interface_manager(GObject.GObject):
|
|||
GObject.GObject.__init__(self)
|
||||
self.interface_groups = {}
|
||||
self.interface_toggles = []
|
||||
self.interface_dualtoggles = []
|
||||
self.interface_labels = []
|
||||
self.interface_text = []
|
||||
self.interface_show_hide = []
|
||||
|
|
@ -59,6 +60,15 @@ class interface_manager(GObject.GObject):
|
|||
exec('self.'+toggle_name+' = '+str(default_value))
|
||||
self.interface_toggles.append( (toggle_name, callback) )
|
||||
|
||||
def add_dualtoggle(self,toggle_name,toggle2,default_value,callback = None):
|
||||
""" Adds an internal variable with the name toggle_name, linked to widget
|
||||
elements with names toggle_nane and toggle2 (must be or inherint from Gtk.ToogleButton).
|
||||
The default value can be True of False, with True being toggle_name active, and False
|
||||
being toggle2 active """
|
||||
|
||||
exec('self.'+toggle_name+' = '+str(default_value))
|
||||
self.interface_dualtoggles.append( (toggle_name, toggle2, callback) )
|
||||
|
||||
def add_text(self,text_name,default_value,callback = None):
|
||||
""" Adds an internal variable with the name text_name, linked to an
|
||||
element with the same name (must be a Gtk.TextEntry or a Gtk.Label).
|
||||
|
|
@ -172,6 +182,18 @@ class interface_manager(GObject.GObject):
|
|||
if (callback != None):
|
||||
obj.connect("toggled",callback)
|
||||
|
||||
for element in self.interface_dualtoggles:
|
||||
value = eval('self.'+element[0])
|
||||
obj = builder.get_object(element[0])
|
||||
obj2 = builder.get_object(element[1])
|
||||
if value:
|
||||
obj.set_active(True)
|
||||
else:
|
||||
obj2.set_active(True)
|
||||
callback = element[2]
|
||||
if (callback != None):
|
||||
obj.connect("toggled",callback)
|
||||
|
||||
for element in self.interface_text:
|
||||
value = eval('self.'+element[0])
|
||||
obj = builder.get_object(element[0])
|
||||
|
|
@ -380,6 +402,13 @@ class interface_manager(GObject.GObject):
|
|||
else:
|
||||
exec('self.'+element[0]+' = False')
|
||||
|
||||
for element in self.interface_dualtoggles:
|
||||
obj = builder.get_object(element[0])
|
||||
if obj.get_active():
|
||||
exec('self.'+element[0]+' = True')
|
||||
else:
|
||||
exec('self.'+element[0]+' = False')
|
||||
|
||||
for element in self.interface_text:
|
||||
obj = builder.get_object(element[0])
|
||||
exec('self.'+element[0]+' = obj.get_text()')
|
||||
|
|
@ -430,6 +459,8 @@ class interface_manager(GObject.GObject):
|
|||
exec('self.'+element+'_backup = self.'+element)
|
||||
for element in self.interface_toggles:
|
||||
exec('self.'+element[0]+'_backup = self.'+element[0])
|
||||
for element in self.interface_dualtoggles:
|
||||
exec('self.'+element[0]+'_backup = self.'+element[0])
|
||||
for element in self.interface_text:
|
||||
exec('self.'+element[0]+'_backup = self.'+element[0])
|
||||
for element in self.interface_integer_adjustments:
|
||||
|
|
@ -454,6 +485,8 @@ class interface_manager(GObject.GObject):
|
|||
exec('self.'+element+' = self.'+element+'_backup')
|
||||
for element in self.interface_toggles:
|
||||
exec('self.'+element[0]+' = self.'+element[0]+'_backup')
|
||||
for element in self.interface_dualtoggles:
|
||||
exec('self.'+element[0]+' = self.'+element[0]+'_backup')
|
||||
for element in self.interface_text:
|
||||
exec('self.'+element[0]+' = self.'+element[0]+'_backup')
|
||||
for element in self.interface_integer_adjustments:
|
||||
|
|
@ -482,6 +515,8 @@ class interface_manager(GObject.GObject):
|
|||
output[element] = eval('self.'+element)
|
||||
for element in self.interface_toggles:
|
||||
output[element[0]] = eval('self.'+element[0])
|
||||
for element in self.interface_dualtoggles:
|
||||
output[element[0]] = eval('self.'+element[0])
|
||||
for element in self.interface_text:
|
||||
output[element[0]] = eval('self.'+element[0])
|
||||
for element in self.interface_integer_adjustments:
|
||||
|
|
@ -512,6 +547,9 @@ class interface_manager(GObject.GObject):
|
|||
for element in self.interface_toggles:
|
||||
if element[0] in data_list:
|
||||
exec('self.'+element[0]+' = data_list["'+element[0]+'"]')
|
||||
for element in self.interface_dualtoggles:
|
||||
if element[0] in data_list:
|
||||
exec('self.'+element[0]+' = data_list["'+element[0]+'"]')
|
||||
for element in self.interface_text:
|
||||
if element[0] in data_list:
|
||||
exec('self.'+element[0]+' = data_list["'+element[0]+'"]')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue