From 6a9650f8e081c529b15cad94219975f3fc48ce2e Mon Sep 17 00:00:00 2001 From: Sergey Nizovtsev Date: Sun, 4 Apr 2010 19:06:34 +0400 Subject: [PATCH] Replace menubar to toolbar in JobsViewer --- jobviewer.py | 43 +++++++++++++++++++--------- ui/JobsWindow.glade | 76 ++++++++++++++++++--------------------------------- 2 files changed, 56 insertions(+), 63 deletions(-) diff --git a/jobviewer.py b/jobviewer.py index 7d94a21..122b6ad 100644 --- a/jobviewer.py +++ b/jobviewer.py @@ -296,9 +296,9 @@ class JobViewer (GtkGUI, monitor.Watcher): self.getWidgets ({"JobsWindow": ["JobsWindow", - "job_menubar_item", "treeview", - "statusbar"], + "statusbar", + "toolbar"], "statusicon_popupmenu": ["statusicon_popupmenu"]}, @@ -306,17 +306,17 @@ class JobViewer (GtkGUI, monitor.Watcher): job_action_group = gtk.ActionGroup ("JobActionGroup") job_action_group.add_actions ([ - ("cancel-job", gtk.STOCK_CANCEL, _("_Cancel"), None, None, + ("cancel-job", gtk.STOCK_CANCEL, _("_Cancel"), None, _("Cancel selected jobs"), self.on_job_cancel_activate), - ("delete-job", gtk.STOCK_DELETE, _("_Delete"), None, None, + ("delete-job", gtk.STOCK_DELETE, _("_Delete"), None, _("Delete selected jobs"), self.on_job_delete_activate), - ("hold-job", gtk.STOCK_MEDIA_PAUSE, _("_Hold"), None, None, + ("hold-job", gtk.STOCK_MEDIA_PAUSE, _("_Hold"), None, _("Hold selected jobs"), self.on_job_hold_activate), - ("release-job", gtk.STOCK_MEDIA_PLAY, _("_Release"), None, None, + ("release-job", gtk.STOCK_MEDIA_PLAY, _("_Release"), None, _("Release selected jobs"), self.on_job_release_activate), - ("reprint-job", gtk.STOCK_REDO, _("Re_print"), None, None, + ("reprint-job", gtk.STOCK_REDO, _("Re_print"), None, _("Reprint selected jobs"), self.on_job_reprint_activate), - ("retrieve-job", gtk.STOCK_SAVE_AS, _("Re_trieve"), None, None, + ("retrieve-job", gtk.STOCK_SAVE_AS, _("Re_trieve"), None, _("Retrieve selected jobs"), self.on_job_retrieve_activate), ("move-job", None, _("_Move To"), None, None, None), ("authenticate-job", None, _("_Authenticate"), None, None, @@ -369,7 +369,17 @@ class JobViewer (GtkGUI, monitor.Watcher): item.show () self.job_context_menu.append (item) - self.job_menubar_item.set_submenu (self.job_context_menu) + for action_name in ["cancel-job", + "delete-job", + "hold-job", + "release-job", + "reprint-job", + "retrieve-job"]: + action = job_action_group.get_action (action_name) + action.set_sensitive (False) + item = action.create_tool_item () + item.show () + self.toolbar.insert (item, -1) for skip, ellipsize, name, setter in \ [(False, False, _("Job"), self._set_job_job_number_text), @@ -603,8 +613,8 @@ class JobViewer (GtkGUI, monitor.Watcher): self.JobsWindow.set_data ('visible', not visible) - def on_show_completed_jobs_activate(self, menuitem): - if menuitem.get_active(): + def on_show_completed_jobs_clicked(self, toggletoolbutton): + if toggletoolbutton.get_active(): which_jobs = "all" else: which_jobs = "not-completed" @@ -869,6 +879,7 @@ class JobViewer (GtkGUI, monitor.Watcher): username = pwd.getpwuid (os.getuid ())[0] keyring_attrs["user"] = str (username) self.display_auth_info_dialog (job, keyring_attrs) + self.update_sensitivity () def display_auth_info_dialog (self, job, keyring_attrs=None): data = self.jobs[job] @@ -1005,8 +1016,9 @@ class JobViewer (GtkGUI, monitor.Watcher): if event.button == 3: self.show_treeview_popup_menu (treeview, event, event.button) - def on_selection_changed (self, selection): - treeview = selection.get_tree_view() + def update_sensitivity (self, selection = None): + if (selection is None): + selection = self.treeview.get_selection () (model, pathlist) = selection.get_selected_rows() cancel = self.job_ui_manager.get_action ("/cancel-job") delete = self.job_ui_manager.get_action ("/delete-job") @@ -1091,6 +1103,9 @@ class JobViewer (GtkGUI, monitor.Watcher): authenticate.set_sensitive(authenticate_sensitive) attributes.set_sensitive(True) + def on_selection_changed (self, selection): + self.update_sensitivity (selection) + def show_treeview_popup_menu (self, treeview, event, event_button): # Right-clicked. self.job_context_menu.popup (None, None, None, event_button, @@ -1290,7 +1305,7 @@ class JobViewer (GtkGUI, monitor.Watcher): for jobid in self.jobids: self.display_auth_info_dialog (jobid) - def on_refresh_activate(self, menuitem): + def on_refresh_clicked(self, toolbutton): self.monitor.refresh () self.update_job_creation_times () diff --git a/ui/JobsWindow.glade b/ui/JobsWindow.glade index 407712c..c106b60 100644 --- a/ui/JobsWindow.glade +++ b/ui/JobsWindow.glade @@ -11,73 +11,51 @@ True vertical - + True - + True - _File + True + Refresh job list + _Refresh True - - - - - gtk-close - True - True - True - - - - - + gtk-refresh + + + + False + True + - + True - _Job + True + Show completed jobs + Show _completed jobs True + gtk-ok + + + False + True + - + True - _View - True - - - - - gtk-refresh - True - True - True - - - - - - - True - - - - - True - Show _completed jobs - True - - - - - + + False + True + False - False 0 -- 1.6.3.3