From ea1cbf9444a57992df9091ff585cc79eeaf60e5a Mon Sep 17 00:00:00 2001 From: infirit Date: Thu, 18 Dec 2014 21:41:05 +0100 Subject: Added priority selection submenu with preset priority items Taken from GSM commit: 70ba9c1af2dbd8b74943b1a283f718d8646f087b From: Robert Roth Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=131803 --- src/interface.cpp | 47 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 4 deletions(-) (limited to 'src/interface.cpp') diff --git a/src/interface.cpp b/src/interface.cpp index 3561ea2..302be6b 100644 --- a/src/interface.cpp +++ b/src/interface.cpp @@ -68,8 +68,8 @@ static const GtkActionEntry menu_entries[] = N_("Force process to finish normally"), G_CALLBACK (cb_end_process) }, { "KillProcess", NULL, N_("_Kill Process"), "K", N_("Force process to finish immediately"), G_CALLBACK (cb_kill_process) }, - { "ChangePriority", NULL, N_("_Change Priority…"), "N", - N_("Change the order of priority of process"), G_CALLBACK (cb_renice) }, + { "ChangePriority", NULL, N_("_Change Priority"), NULL, + N_("Change the order of priority of process"), NULL }, { "Preferences", GTK_STOCK_PREFERENCES, NULL, NULL, N_("Configure the application"), G_CALLBACK (cb_edit_preferences) }, @@ -106,6 +106,22 @@ static const GtkRadioActionEntry radio_menu_entries[] = N_("Show only user-owned processes"), MY_PROCESSES } }; +static const GtkRadioActionEntry priority_menu_entries[] = +{ + { "VeryHigh", NULL, N_("Very High"), NULL, + N_("Set process priority to very high"), VERY_HIGH_PRIORITY }, + { "High", NULL, N_("High"), NULL, + N_("Set process priority to high"), HIGH_PRIORITY }, + { "Normal", NULL, N_("Normal"), NULL, + N_("Set process priority to normal"), NORMAL_PRIORITY }, + { "Low", NULL, N_("Low"), NULL, + N_("Set process priority to low"), LOW_PRIORITY }, + { "VeryLow", NULL, N_("Very Low"), NULL, + N_("Set process priority to very low"), VERY_LOW_PRIORITY }, + { "Custom", NULL, N_("Custom"), NULL, + N_("Set process priority manually"), CUSTOM_PRIORITY } +}; + static const char ui_info[] = " " @@ -120,7 +136,15 @@ static const char ui_info[] = " " " " " " -" " +" " +" " +" " +" " +" " +" " +" " +" " +" " " " " " " " @@ -148,7 +172,15 @@ static const char ui_info[] = " " " " " " -" " +" " +" " +" " +" " +" " +" " +" " +" " +" " " " " " " " @@ -710,6 +742,13 @@ create_main_window (ProcData *procdata) G_CALLBACK(cb_radio_processes), procdata); + gtk_action_group_add_radio_actions (procdata->action_group, + priority_menu_entries, + G_N_ELEMENTS (priority_menu_entries), + NORMAL_PRIORITY, + G_CALLBACK(cb_renice), + procdata); + gtk_ui_manager_insert_action_group (procdata->uimanager, procdata->action_group, 0); -- cgit v1.2.1