diff options
Diffstat (limited to 'rpms/sugar/0021-Processdialog-prerequisite-check-support.patch')
-rw-r--r-- | rpms/sugar/0021-Processdialog-prerequisite-check-support.patch | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/rpms/sugar/0021-Processdialog-prerequisite-check-support.patch b/rpms/sugar/0021-Processdialog-prerequisite-check-support.patch new file mode 100644 index 0000000..eb21667 --- /dev/null +++ b/rpms/sugar/0021-Processdialog-prerequisite-check-support.patch @@ -0,0 +1,88 @@ +From aa883ed6be6ef81692cf92f0ead21954331a6081 Mon Sep 17 00:00:00 2001 +From: Martin Abente <mabente@paraguayeduca.org> +Date: Thu, 29 Jul 2010 17:20:45 -0400 +Subject: [PATCH sugar 21/74] Processdialog prerequisite check support + +--- + src/jarabe/journal/processdialog.py | 23 ++++++++++++++++++++--- + 1 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/src/jarabe/journal/processdialog.py b/src/jarabe/journal/processdialog.py +index 08c6d11..181174d 100644 +--- a/src/jarabe/journal/processdialog.py ++++ b/src/jarabe/journal/processdialog.py +@@ -48,6 +48,7 @@ def __init__(self, process_script='', process_params=[], restart_after=True): + self._start_message = _('Running') + self._failed_message = _('Failed') + self._finished_message = _('Finished') ++ self._prerequisite_message = ('Prerequisites were not met') + + self.set_border_width(style.LINE_WIDTH) + width = gtk.gdk.screen_width() +@@ -125,7 +126,7 @@ def _setup_options(self): + + self._close_button = gtk.Button() + self._close_button.set_image(icon) +- self._close_button.set_label(_('Cancel')) ++ self._close_button.set_label(_('Close')) + self._close_button.connect('clicked', self.__close_cb) + self._close_button.show() + +@@ -165,12 +166,18 @@ def __close_cb(self, button): + self.destroy() + + def __start_cb(self, button): +- self._process_management.do_process([self._process_script] + self._process_params) ++ if self._check_prerequisites(): ++ self._process_management.do_process([self._process_script] + self._process_params) ++ else: ++ self._set_status_failed(self, error_message=self._prerequisite_message) + + def __restart_cb(self, button): + session_manager = get_session_manager() + session_manager.logout() + ++ def _check_prerequisites(self): ++ return True ++ + def _set_status_started(self, model, data=None): + self._message.set_markup(self._start_message) + +@@ -199,12 +206,13 @@ def _set_status_finished(self, model, data=None): + else: + self._close_button.show() + +- def _set_status_failed(self, model, error_message=''): ++ def _set_status_failed(self, model=None, error_message=''): + self._message.set_markup('%s %s' % (self._failed_message, error_message)) + + self._progress_bar.hide() + self._start_button.show() + self._close_button.show() ++ self._restart_button.hide() + + logging.error(error_message) + +@@ -246,6 +254,11 @@ def _resetup_information(self, volume_path): + self._message.set_markup('%s %s.\n\n' % (_('Journal content will be restored from'), volume_path) + \ + '<big><b>%s</b> %s</big>' % (_('Warning:'), _('Current Journal content will be deleted!'))) + ++ self._prerequisite_message = _(', please close all the running activities.') ++ ++ def _check_prerequisites(self): ++ return len(shell.get_model()) <= 1 ++ + class XSBackupDialog(ProcessDialog): + + def __init__(self, xs_hostname): +@@ -276,3 +289,7 @@ def _resetup_information(self, xs_hostname): + + self._message.set_text('%s %s.' % (_('Journal content will be restored from'), xs_hostname)) + ++ self._prerequisite_message = _(', please close all the running activities.') ++ ++ def _check_prerequisites(self): ++ return len(shell.get_model()) <= 1 +-- +1.7.6 + |