Allows to store and restore an specific UI configuration
Allows to cancel the modifications in a DVD menu
This commit is contained in:
parent
d9b8ee4d3f
commit
11f5bc9e9d
2 changed files with 65 additions and 17 deletions
|
|
@ -35,31 +35,32 @@ class dvd_menu(devede.interface_manager.interface_manager):
|
||||||
self.add_colorbutton("shadow_color", (0,0,0,0), self.update_preview)
|
self.add_colorbutton("shadow_color", (0,0,0,0), self.update_preview)
|
||||||
self.add_colorbutton("selected_color", (0,1,1,1), self.update_preview)
|
self.add_colorbutton("selected_color", (0,1,1,1), self.update_preview)
|
||||||
self.add_colorbutton("background_color", (0,0,0,0.75), self.update_preview)
|
self.add_colorbutton("background_color", (0,0,0,0.75), self.update_preview)
|
||||||
|
|
||||||
self.add_text("title_text", None, self.update_preview)
|
self.add_text("title_text", None, self.update_preview)
|
||||||
|
|
||||||
self.add_group("position_vertical", ["top", "middle", "bottom"], "middle", self.update_preview)
|
self.add_group("position_vertical", ["top", "middle", "bottom"], "middle", self.update_preview)
|
||||||
self.add_group("position_horizontal", ["left", "center", "right"], "center", self.update_preview)
|
self.add_group("position_horizontal", ["left", "center", "right"], "center", self.update_preview)
|
||||||
|
|
||||||
self.add_float_adjustment("margin_left", 10.0, self.update_preview)
|
self.add_float_adjustment("margin_left", 10.0, self.update_preview)
|
||||||
self.add_float_adjustment("margin_top", 12.5, self.update_preview)
|
self.add_float_adjustment("margin_top", 12.5, self.update_preview)
|
||||||
self.add_float_adjustment("margin_right", 10.0, self.update_preview)
|
self.add_float_adjustment("margin_right", 10.0, self.update_preview)
|
||||||
self.add_float_adjustment("margin_bottom", 12.5, self.update_preview)
|
self.add_float_adjustment("margin_bottom", 12.5, self.update_preview)
|
||||||
|
|
||||||
self.add_group("at_startup", ["menu_show_at_startup", "play_first_title_at_startup"], "menu_show_at_startup")
|
self.add_group("at_startup", ["menu_show_at_startup", "play_first_title_at_startup"], "menu_show_at_startup")
|
||||||
|
|
||||||
self.add_fontbutton("title_font", "Sans 14", self.update_preview)
|
self.add_fontbutton("title_font", "Sans 14", self.update_preview)
|
||||||
self.add_fontbutton("entry_font", "Sans 12", self.update_preview)
|
self.add_fontbutton("entry_font", "Sans 12", self.update_preview)
|
||||||
|
|
||||||
self.add_filebutton("background_picture", None, self.update_preview)
|
self.add_filebutton("background_picture", None, self.update_preview)
|
||||||
self.add_filebutton("background_music", None, self.update_preview)
|
self.add_filebutton("background_music", None, self.update_preview)
|
||||||
|
|
||||||
def update_preview(self,b=None):
|
def update_preview(self,b=None):
|
||||||
|
|
||||||
print("Cambiado algo")
|
self.store_ui(self.builder)
|
||||||
|
|
||||||
|
|
||||||
def on_dynamic_preview_toggled(self,b):
|
def on_dynamic_preview_toggled(self,b):
|
||||||
|
|
||||||
self.config.menu_dynamic_preview = self.wdynamic_preview.get_active()
|
self.config.menu_dynamic_preview = self.wdynamic_preview.get_active()
|
||||||
if (self.config.menu_dynamic_preview):
|
if (self.config.menu_dynamic_preview):
|
||||||
self.wframe_preview.show_all()
|
self.wframe_preview.show_all()
|
||||||
|
|
@ -82,11 +83,15 @@ class dvd_menu(devede.interface_manager.interface_manager):
|
||||||
self.wmenu.show_all()
|
self.wmenu.show_all()
|
||||||
|
|
||||||
self.update_ui(self.builder)
|
self.update_ui(self.builder)
|
||||||
|
self.save_ui()
|
||||||
self.on_dynamic_preview_toggled(None)
|
self.on_dynamic_preview_toggled(None)
|
||||||
|
|
||||||
|
|
||||||
def on_accept_clicked(self,b):
|
def on_accept_clicked(self,b):
|
||||||
|
|
||||||
self.store_ui(self.builder)
|
self.wmenu.destroy()
|
||||||
print (self.entry_font)
|
|
||||||
|
def on_cancel_clicked(self,b):
|
||||||
|
|
||||||
|
self.restore_ui()
|
||||||
self.wmenu.destroy()
|
self.wmenu.destroy()
|
||||||
|
|
@ -108,20 +108,20 @@ class interface_manager(GObject.GObject):
|
||||||
|
|
||||||
exec('self.'+colorbutton_name+' = default_value')
|
exec('self.'+colorbutton_name+' = default_value')
|
||||||
self.interface_colorbuttons.append( (colorbutton_name, callback ))
|
self.interface_colorbuttons.append( (colorbutton_name, callback ))
|
||||||
|
|
||||||
def add_fontbutton(self,fontbutton_name, default_value, callback = None):
|
def add_fontbutton(self,fontbutton_name, default_value, callback = None):
|
||||||
""" Adds an internal variable with the name text_name, linked to an
|
""" Adds an internal variable with the name text_name, linked to an
|
||||||
element with the same name (must be a Gtk.FontButton).
|
element with the same name (must be a Gtk.FontButton).
|
||||||
The default value must be a string with the font values """
|
The default value must be a string with the font values """
|
||||||
|
|
||||||
exec('self.'+fontbutton_name+' = default_value')
|
exec('self.'+fontbutton_name+' = default_value')
|
||||||
self.interface_fontbuttons.append( (fontbutton_name, callback ))
|
self.interface_fontbuttons.append( (fontbutton_name, callback ))
|
||||||
|
|
||||||
def add_filebutton(self,filebutton_name, default_value, callback = None):
|
def add_filebutton(self,filebutton_name, default_value, callback = None):
|
||||||
""" Adds an internal variable with the name text_name, linked to an
|
""" Adds an internal variable with the name text_name, linked to an
|
||||||
element with the same name (must be a Gtk.FileButton).
|
element with the same name (must be a Gtk.FileButton).
|
||||||
The default value must be a string with the font values """
|
The default value must be a string with the font values """
|
||||||
|
|
||||||
exec('self.'+filebutton_name+' = default_value')
|
exec('self.'+filebutton_name+' = default_value')
|
||||||
self.interface_filebuttons.append( (filebutton_name, callback ))
|
self.interface_filebuttons.append( (filebutton_name, callback ))
|
||||||
|
|
||||||
|
|
@ -384,4 +384,47 @@ class interface_manager(GObject.GObject):
|
||||||
final_row.append(row.model[row.iter][c])
|
final_row.append(row.model[row.iter][c])
|
||||||
print (final_row)
|
print (final_row)
|
||||||
exec('self.'+element[0]+'.append(final_row)')
|
exec('self.'+element[0]+'.append(final_row)')
|
||||||
|
|
||||||
|
def save_ui(self):
|
||||||
|
""" Makes a copy of all the UI variables """
|
||||||
|
|
||||||
|
for element in self.interface_groups:
|
||||||
|
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_text:
|
||||||
|
exec('self.'+element[0]+'_backup = self.'+element[0])
|
||||||
|
for element in self.interface_integer_adjustments:
|
||||||
|
exec('self.'+element[0]+'_backup = self.'+element[0])
|
||||||
|
for element in self.interface_float_adjustments:
|
||||||
|
exec('self.'+element[0]+'_backup = self.'+element[0])
|
||||||
|
for element in self.interface_colorbuttons:
|
||||||
|
exec('self.'+element[0]+'_backup = self.'+element[0])
|
||||||
|
for element in self.interface_fontbuttons:
|
||||||
|
exec('self.'+element[0]+'_backup = self.'+element[0])
|
||||||
|
for element in self.interface_filebuttons:
|
||||||
|
exec('self.'+element[0]+'_backup = self.'+element[0])
|
||||||
|
for element in self.interface_lists:
|
||||||
|
exec('self.'+element[0]+'_backup = self.'+element[0])
|
||||||
|
|
||||||
|
def restore_ui(self):
|
||||||
|
""" Restores a copy of all the UI variables """
|
||||||
|
|
||||||
|
for element in self.interface_groups:
|
||||||
|
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_text:
|
||||||
|
exec('self.'+element[0]+' = self.'+element[0]+'_backup')
|
||||||
|
for element in self.interface_integer_adjustments:
|
||||||
|
exec('self.'+element[0]+' = self.'+element[0]+'_backup')
|
||||||
|
for element in self.interface_float_adjustments:
|
||||||
|
exec('self.'+element[0]+' = self.'+element[0]+'_backup')
|
||||||
|
for element in self.interface_colorbuttons:
|
||||||
|
exec('self.'+element[0]+' = self.'+element[0]+'_backup')
|
||||||
|
for element in self.interface_fontbuttons:
|
||||||
|
exec('self.'+element[0]+' = self.'+element[0]+'_backup')
|
||||||
|
for element in self.interface_filebuttons:
|
||||||
|
exec('self.'+element[0]+' = self.'+element[0]+'_backup')
|
||||||
|
for element in self.interface_lists:
|
||||||
|
exec('self.'+element[0]+' = self.'+element[0]+'_backup')
|
||||||
Loading…
Add table
Add a link
Reference in a new issue