diff --git a/safeeyes/glade/item_break.glade b/safeeyes/glade/item_break.glade index fd7e747..17d01a0 100644 --- a/safeeyes/glade/item_break.glade +++ b/safeeyes/glade/item_break.glade @@ -20,76 +20,49 @@ ~ along with this program. If not, see . --> - - - True - False - gtk-properties - - - True - False - gtk-delete - + - True - False - 5 - 5 - 5 - 5 + 1 + 5 + 5 + 5 + 5 3 + 0 - True - False + 1 center label 0 + 1 + 1 - - True - True - 0 - - True - True - True + 1 + 1 + 1 center center - img_properties - True + gtk-properties - - False - True - 1 - - True - True - False + 1 + 1 center center - img_delete - True + edit-delete - - False - True - 2 - diff --git a/safeeyes/glade/item_plugin.glade b/safeeyes/glade/item_plugin.glade index af01c8b..6edf781 100644 --- a/safeeyes/glade/item_plugin.glade +++ b/safeeyes/glade/item_plugin.glade @@ -20,81 +20,58 @@ ~ along with this program. If not, see . --> - - - True - False - gtk-properties - - - True - False - _Cancel - + - True - False - 5 - 5 - 5 - 5 + 1 + 5 + 5 + 5 + 5 + 0 - True - False + 1 center center - gtk-about + gtk-about - - False - True - 0 - - True - False - 5 + 1 + 5 vertical + 1 + 1 - True - False + 1 start end Plugin Name 0.05000000074505806 1 + 1 + 1 - - True - True - 0 - - True - False + 1 start start Plugin Description 0.05000000074505806 0 + 1 + 1 - - True - True - 1 - @@ -111,21 +88,15 @@ - - True - True - 1 - - True - False + 1 5 - True - True + 1 + 1 end center @@ -135,9 +106,8 @@ False center center - img_disable + gtk-cancel Disable permanently - True @@ -145,24 +115,18 @@ - True - True - True + 1 + 1 + 1 center center - img_properties - True + gtk-properties - - False - True - 2 - diff --git a/safeeyes/glade/settings_dialog.glade b/safeeyes/glade/settings_dialog.glade index c4a3fa0..43ab9a5 100644 --- a/safeeyes/glade/settings_dialog.glade +++ b/safeeyes/glade/settings_dialog.glade @@ -20,7 +20,7 @@ ~ along with this program. If not, see . --> - + 15 1 @@ -61,1103 +61,666 @@ 1 5 - - True - False - gtk-add - - False 128 - True - False + 1 vertical 5 - True + 1 - + Reset - True - True - True - + 1 + 1 + 1 + 1 + 1 - - True - True - 0 - - False Safe Eyes - center 450 650 io.github.slgobinath.SafeEyes - center - - True - False - True + 1 + 1 - - True - True - never - in - - - True - False - none + + Settings + Settings + + + 1 + 1 + never + 1 - - True - False - 5 - 5 - vertical - 15 + + 1 - - True - False - 0 - in + + 1 + 5 + 5 + vertical + 15 - - True - False - 12 + + 1 - True - False - 10 + 1 + 12 + 10 10 10 vertical 15 - True + 1 - True - False + 1 5 + 1 - True - False + start + 1 Interval between two breaks (in minutes) - - False - True - 0 - - True - True + 1 + 1 end center 1 - number adjust_short_break_interval 1 - True + 1 if-valid 1 - - - False - False - end - 1 - - - False - True - 0 - - True - False + 1 5 + 1 - True - False + start + 1 Break duration (in seconds) - - False - True - 0 - - True - True + 1 + 1 end center 1 - number adjust_short_break_duration 1 - True + 1 if-valid 1 - - False - False - end - 1 - - - False - True - 1 - + + + 1 + Short Breaks + + - - - True - False - Short Breaks - - - - - False - True - 0 - - - - - True - False - 0 - in - - True - False - 12 + + 1 - True - False - 10 + 1 + 12 + 10 10 10 vertical 15 - True + 1 - True - False - True - True - - - - - False - 6 - start - - - - - - False - False - 0 - - - + 0 + 1 + 1 + 1 + - False 16 - True - False - gtk-info + 1 + dialog-information - - False - True - 0 - - True - False + 1 Long break interval must be a multiple of short break interval 0 - - False - True - 1 - - - False - False - 0 - - - - - - True - True - 0 - - True - False + 1 5 + 1 - True - False + start + 1 Interval between two breaks (in minutes) - - False - True - 0 - - True - True + 1 + 1 end center 1 - number adjust_long_break_interval 1 - True - True - True + 1 + 1 + 1 if-valid 1 - - - False - False - end - 1 - - - False - True - 1 - - True - False + 1 5 + 1 - True - False + 1 + start Break duration (in seconds) - - False - True - 0 - - True - True + 1 + 1 end center 1 - number adjust_long_break_duration 1 - True + 1 if-valid 1 - - False - False - end - 1 - - - False - True - 2 - + + + 1 + Long Breaks + + - - - True - False - Long Breaks - - - - - False - True - 1 - - - - - True - False - 0 - in - - True - False - 12 + + 1 - True - False - 10 + 1 + 12 + 10 10 10 vertical 15 - True + 1 - True - False + 1 5 + 1 - True - False + 1 + start Time to prepare for a break (in seconds) - - False - True - 0 - - True - True + 1 + 1 end center 1 - number adjust_time_to_prepare 1 - True + 1 if-valid 1 - - False - False - end - 1 - - - False - True - 0 - - True - False + 1 5 + 1 - True - False + 1 + start Show breaks in random order - - False - True - 0 - - True - True + 1 + 1 end center - - False - False - end - 1 - - - False - True - 1 - - True - False + 1 5 + 1 - True - False + 1 + start Strict break (No way to skip breaks) - - False - True - 0 - - True - True + 1 + 1 end center - - False - False - end - 1 - - - False - True - 2 - - True - False + 1 5 + 1 - True - False + 1 + start Allow postponing breaks - - False - True - 0 - - True - True + 1 + 1 end center - - False - False - end - 1 - - - False - True - 3 - - True - False + 1 5 + 1 - True - False + 1 + start Postponement duration (in minutes) - - False - True - 0 - - True - True + 1 + 1 end center 1 - number adjust_postpone_duration 1 - True + 1 if-valid 1 - - False - False - end - 1 - - - False - True - 4 - - True - False + 1 5 + 1 - True - False + 1 + start Keyboard shortcuts disabled period (in seconds) - - False - True - 0 - - True - True + 1 + 1 end center 1 - number adjust_disable_keyboard_shortcut_duration 1 - True + 1 if-valid 1 - - False - False - end - 1 - - - False - True - 5 - - True - False + 1 5 + 1 - True - False + 1 + start Persist the internal state - - False - True - 0 - - True - True + 1 + 1 end center - - False - False - end - 1 - - - False - True - 6 - - True - False - True + 0 warning - True - - - - - False - - - False - False - 0 - - - - - False - - - False - False - 0 - - - - - + 1 + 1 + 1 - - True - True - 7 - - True - False + 1 5 + 1 - True - False + 1 + start Use RPC server to receive runtime commands - - False - True - 0 - - True - True + 1 + 1 end center - - False - False - end - 1 - - - False - True - 8 - + + + + + + 1 + Options + + + + + + + + + + + + + + + page1 + Breaks + + + 1 + 5 + 5 + vertical + + + 1 + 1 + 1 + 1 + never + 1 + + + 1 + + + 1 + 10 + 10 + vertical + + + 1 + vertical + 1 + 1 + + + 1 + 1 + 1 + + + 1 + vertical + 5 + + + + + 1 + Short Breaks + + + + + + + 1 + 10 + + + + + 1 + 1 + + + 1 + vertical + 5 + + + + + 1 + Long Breaks + + + - - - True - False - Options - - - - False - True - 2 - + + + 1 + 10 + 10 + end + end + + + 1 + 1 + 1 + end + gtk-add + + + + + + + 1 + 10 + + - + - - Settings - Settings - - - True - False - 5 - 5 - vertical - - - True - True + + page2 + Plugins + + + 1 + 1 never + 1 - - True - False - none + + 1 - - True - False + + 1 10 10 vertical - - - True - False - vertical - - - True - True - True - - - True - False - vertical - 5 - - - - - - - - - - - - - - True - False - Short Breaks - - - - - False - True - 0 - - - - - True - False - 10 - - - False - True - 1 - - - - - True - True - - - True - False - vertical - 5 - - - - - - - - - - - - - - True - False - Long Breaks - - - - - False - True - 2 - - - - - True - True - 0 - - + 5 - - True - True - 0 - - - - - True - False - 10 - 10 - end - - - True - True - True - end - img_add - - - - True - True - 1 - - - - - False - True - end - 1 - - - - - True - False - 10 - - - False - True - 2 - - + - - page1 - Breaks - 1 - - - - - True - True - never - in - - - True - False - - - True - False - 10 - 10 - vertical - 5 - - - - - - - - - - - - - - - - - - - - - - page2 - Plugins - 2 - - True - False - Safe Eyes - 91 - True + 1 + 1 menu:close - True - False + 1 vertical - True - False + 1 5 Safe Eyes - - False - True - 0 - - True - False + 1 stack - - False - True - 1 - - True - True - True + 1 + 1 + 1 center center popover - True - False + 1 io.github.slgobinath.SafeEyes - 1 + 1 diff --git a/safeeyes/ui/settings_dialog.py b/safeeyes/ui/settings_dialog.py index cae0c8b..3c804d9 100644 --- a/safeeyes/ui/settings_dialog.py +++ b/safeeyes/ui/settings_dialog.py @@ -55,7 +55,6 @@ class SettingsDialog: self.warn_bar_rpc_server_shown = False builder = utility.create_gtk_builder(SETTINGS_DIALOG_GLADE) - builder.connect_signals(self) self.window = builder.get_object('window_settings') self.box_short_breaks = builder.get_object('box_short_breaks') @@ -80,18 +79,26 @@ class SettingsDialog: self.info_bar_long_break.hide() self.warn_bar_rpc_server.hide() + self.window.connect("close-request", self.on_window_delete) + builder.get_object('reset_menu').connect('clicked', self.on_reset_menu_clicked) + self.spin_short_break_interval.connect('value-changed', self.on_spin_short_break_interval_change) + self.info_bar_long_break.connect('close', self.on_info_bar_long_break_close) + self.info_bar_long_break.connect('response', self.on_info_bar_long_break_close) + self.spin_long_break_interval.connect('value-changed', self.on_spin_long_break_interval_change) + self.warn_bar_rpc_server.connect('close', self.on_warn_bar_rpc_server_close) + self.warn_bar_rpc_server.connect('response', self.on_warn_bar_rpc_server_close) + builder.get_object('btn_add_break').connect('clicked', self.add_break) + # Set the current values of input fields self.__initialize(config) - # Update relative states - # GtkSwitch state-set signal is available only from 3.14 - if Gtk.get_minor_version() >= 14: - # Add event listener to postpone switch - self.switch_postpone.connect('state-set', self.on_switch_postpone_activate) - self.on_switch_postpone_activate(self.switch_postpone, self.switch_postpone.get_active()) - # Add event listener to RPC server switch - self.switch_rpc_server.connect('state-set', self.on_switch_rpc_server_activate) - self.on_switch_rpc_server_activate(self.switch_rpc_server, self.switch_rpc_server.get_active()) + # Add event listener to postpone switch + self.switch_postpone.connect('state-set', self.on_switch_postpone_activate) + self.on_switch_postpone_activate(self.switch_postpone, self.switch_postpone.get_active()) + # Add event listener to RPC server switch + self.switch_rpc_server.connect('state-set', self.on_switch_rpc_server_activate) + self.on_switch_rpc_server_activate(self.switch_rpc_server, self.switch_rpc_server.get_active()) + self.initializing = False def __initialize(self, config): @@ -103,8 +110,8 @@ class SettingsDialog: self.__create_break_item(long_break, False) for plugin_config in utility.load_plugins_config(config): - self.box_plugins.pack_start(self.__create_plugin_item(plugin_config), False, False, 0) - + self.box_plugins.append(self.__create_plugin_item(plugin_config)) + self.spin_short_break_duration.set_value(config.get('short_break_duration')) self.spin_long_break_duration.set_value(config.get('long_break_duration')) self.spin_short_break_interval.set_value(config.get('short_break_interval')) @@ -152,7 +159,7 @@ class SettingsDialog: ) ) box.set_visible(True) - parent_box.pack_start(box, False, False, 0) + parent_box.append(box) return box def on_reset_menu_clicked(self, button): @@ -279,7 +286,7 @@ class SettingsDialog: """ Show the SettingsDialog. """ - self.window.show() + self.window.present() def on_switch_postpone_activate(self, switch, state): """