Allows to store and restore an specific UI configuration

Allows to cancel the modifications in a DVD menu
This commit is contained in:
Sergio Costas 2014-07-19 20:23:47 +02:00
parent d9b8ee4d3f
commit 11f5bc9e9d
2 changed files with 65 additions and 17 deletions

View file

@ -56,7 +56,8 @@ class dvd_menu(devede.interface_manager.interface_manager):
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):
@ -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()

View file

@ -385,3 +385,46 @@ class interface_manager(GObject.GObject):
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')