summaryrefslogtreecommitdiff
path: root/src/procdialogs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/procdialogs.cpp')
-rw-r--r--src/procdialogs.cpp1298
1 files changed, 649 insertions, 649 deletions
diff --git a/src/procdialogs.cpp b/src/procdialogs.cpp
index b61fd35..b35265d 100644
--- a/src/procdialogs.cpp
+++ b/src/procdialogs.cpp
@@ -43,228 +43,228 @@ static gint new_nice_value = 0;
static void
kill_dialog_button_pressed (GtkDialog *dialog, gint id, gpointer data)
{
- struct KillArgs *kargs = static_cast<KillArgs*>(data);
-
- gtk_widget_destroy (GTK_WIDGET (dialog));
+ struct KillArgs *kargs = static_cast<KillArgs*>(data);
- if (id == GTK_RESPONSE_OK)
- kill_process (kargs->procdata, kargs->signal);
+ gtk_widget_destroy (GTK_WIDGET (dialog));
- g_free (kargs);
+ if (id == GTK_RESPONSE_OK)
+ kill_process (kargs->procdata, kargs->signal);
+
+ g_free (kargs);
}
void
procdialog_create_kill_dialog (ProcData *procdata, int signal)
{
- GtkWidget *kill_alert_dialog;
- gchar *primary, *secondary, *button_text;
- struct KillArgs *kargs;
-
- kargs = g_new(KillArgs, 1);
- kargs->procdata = procdata;
- kargs->signal = signal;
-
-
- if (signal == SIGKILL) {
- /*xgettext: primary alert message*/
- primary = _("Kill the selected process?");
- /*xgettext: secondary alert message*/
- secondary = _("Killing a process may destroy data, break the "
- "session or introduce a security risk. "
- "Only unresponding processes should be killed.");
- button_text = _("_Kill Process");
- }
- else {
- /*xgettext: primary alert message*/
- primary = _("End the selected process?");
- /*xgettext: secondary alert message*/
- secondary = _("Ending a process may destroy data, break the "
- "session or introduce a security risk. "
- "Only unresponding processes should be ended.");
- button_text = _("_End Process");
- }
-
- kill_alert_dialog = gtk_message_dialog_new (GTK_WINDOW (procdata->app),
- static_cast<GtkDialogFlags>(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT),
- GTK_MESSAGE_WARNING,
- GTK_BUTTONS_NONE,
- "%s",
- primary);
- gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (kill_alert_dialog),
- "%s",
- secondary);
-
- gtk_dialog_add_buttons (GTK_DIALOG (kill_alert_dialog),
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- button_text, GTK_RESPONSE_OK,
- NULL);
-
- gtk_dialog_set_default_response (GTK_DIALOG (kill_alert_dialog),
- GTK_RESPONSE_CANCEL);
-
- g_signal_connect (G_OBJECT (kill_alert_dialog), "response",
- G_CALLBACK (kill_dialog_button_pressed), kargs);
-
- gtk_widget_show_all (kill_alert_dialog);
+ GtkWidget *kill_alert_dialog;
+ gchar *primary, *secondary, *button_text;
+ struct KillArgs *kargs;
+
+ kargs = g_new(KillArgs, 1);
+ kargs->procdata = procdata;
+ kargs->signal = signal;
+
+
+ if (signal == SIGKILL) {
+ /*xgettext: primary alert message*/
+ primary = _("Kill the selected process?");
+ /*xgettext: secondary alert message*/
+ secondary = _("Killing a process may destroy data, break the "
+ "session or introduce a security risk. "
+ "Only unresponding processes should be killed.");
+ button_text = _("_Kill Process");
+ }
+ else {
+ /*xgettext: primary alert message*/
+ primary = _("End the selected process?");
+ /*xgettext: secondary alert message*/
+ secondary = _("Ending a process may destroy data, break the "
+ "session or introduce a security risk. "
+ "Only unresponding processes should be ended.");
+ button_text = _("_End Process");
+ }
+
+ kill_alert_dialog = gtk_message_dialog_new (GTK_WINDOW (procdata->app),
+ static_cast<GtkDialogFlags>(GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT),
+ GTK_MESSAGE_WARNING,
+ GTK_BUTTONS_NONE,
+ "%s",
+ primary);
+ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (kill_alert_dialog),
+ "%s",
+ secondary);
+
+ gtk_dialog_add_buttons (GTK_DIALOG (kill_alert_dialog),
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ button_text, GTK_RESPONSE_OK,
+ NULL);
+
+ gtk_dialog_set_default_response (GTK_DIALOG (kill_alert_dialog),
+ GTK_RESPONSE_CANCEL);
+
+ g_signal_connect (G_OBJECT (kill_alert_dialog), "response",
+ G_CALLBACK (kill_dialog_button_pressed), kargs);
+
+ gtk_widget_show_all (kill_alert_dialog);
}
static gchar *
get_nice_level (gint nice)
{
- if (nice < -7)
- return _("(Very High Priority)");
- else if (nice < -2)
- return _("(High Priority)");
- else if (nice < 3)
- return _("(Normal Priority)");
- else if (nice < 7)
- return _("(Low Priority)");
- else
- return _("(Very Low Priority)");
+ if (nice < -7)
+ return _("(Very High Priority)");
+ else if (nice < -2)
+ return _("(High Priority)");
+ else if (nice < 3)
+ return _("(Normal Priority)");
+ else if (nice < 7)
+ return _("(Low Priority)");
+ else
+ return _("(Very Low Priority)");
}
static void
renice_scale_changed (GtkAdjustment *adj, gpointer data)
{
- GtkWidget *label = GTK_WIDGET (data);
-
- new_nice_value = int(gtk_adjustment_get_value (adj));
- gtk_label_set_text (GTK_LABEL (label), get_nice_level (new_nice_value));
-
+ GtkWidget *label = GTK_WIDGET (data);
+
+ new_nice_value = int(gtk_adjustment_get_value (adj));
+ gtk_label_set_text (GTK_LABEL (label), get_nice_level (new_nice_value));
+
}
static void
renice_dialog_button_pressed (GtkDialog *dialog, gint id, gpointer data)
{
- ProcData *procdata = static_cast<ProcData*>(data);
-
- if (id == 100) {
- if (new_nice_value == -100)
- return;
- renice(procdata, new_nice_value);
- }
-
- gtk_widget_destroy (GTK_WIDGET (dialog));
- renice_dialog = NULL;
+ ProcData *procdata = static_cast<ProcData*>(data);
+
+ if (id == 100) {
+ if (new_nice_value == -100)
+ return;
+ renice(procdata, new_nice_value);
+ }
+
+ gtk_widget_destroy (GTK_WIDGET (dialog));
+ renice_dialog = NULL;
}
void
procdialog_create_renice_dialog (ProcData *procdata)
{
- ProcInfo *info = procdata->selected_process;
- GtkWidget *dialog = NULL;
- GtkWidget *dialog_vbox;
- GtkWidget *vbox;
- GtkWidget *label;
- GtkWidget *priority_label;
- GtkWidget *table;
+ ProcInfo *info = procdata->selected_process;
+ GtkWidget *dialog = NULL;
+ GtkWidget *dialog_vbox;
+ GtkWidget *vbox;
+ GtkWidget *label;
+ GtkWidget *priority_label;
+ GtkWidget *table;
#if GTK_CHECK_VERSION(3,0,0)
- GtkAdjustment *renice_adj;
+ GtkAdjustment *renice_adj;
#else
- GtkObject *renice_adj;
+ GtkObject *renice_adj;
#endif
- GtkWidget *hscale;
- GtkWidget *button;
- GtkWidget *icon;
- gchar *text;
-
- if (renice_dialog)
- return;
-
- if (!info)
- return;
-
- dialog = gtk_dialog_new_with_buttons (_("Change Priority"), NULL,
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- NULL);
- renice_dialog = dialog;
- gtk_window_set_resizable (GTK_WINDOW (renice_dialog), FALSE);
- gtk_container_set_border_width (GTK_CONTAINER (renice_dialog), 5);
-
- button = gtk_button_new_with_mnemonic (_("Change _Priority"));
- gtk_widget_set_can_default (button, TRUE);
-
- icon = gtk_image_new_from_stock (GTK_STOCK_OK, GTK_ICON_SIZE_BUTTON);
- gtk_button_set_image (GTK_BUTTON (button), icon);
-
- gtk_dialog_add_action_widget (GTK_DIALOG (renice_dialog), button, 100);
- gtk_dialog_set_default_response (GTK_DIALOG (renice_dialog), 100);
- new_nice_value = -100;
-
- dialog_vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
- gtk_box_set_spacing (GTK_BOX (dialog_vbox), 2);
- gtk_container_set_border_width (GTK_CONTAINER (dialog_vbox), 5);
-
- vbox = gtk_vbox_new (FALSE, 12);
- gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
-
- table = gtk_table_new (2, 2, FALSE);
- gtk_table_set_col_spacings (GTK_TABLE(table), 12);
- gtk_table_set_row_spacings (GTK_TABLE(table), 6);
- gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0);
-
- label = gtk_label_new_with_mnemonic (_("_Nice value:"));
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 2,
- GTK_FILL, GTK_FILL, 0, 0);
-
- renice_adj = gtk_adjustment_new (info->nice, RENICE_VAL_MIN, RENICE_VAL_MAX, 1, 1, 0);
- new_nice_value = 0;
+ GtkWidget *hscale;
+ GtkWidget *button;
+ GtkWidget *icon;
+ gchar *text;
+
+ if (renice_dialog)
+ return;
+
+ if (!info)
+ return;
+
+ dialog = gtk_dialog_new_with_buttons (_("Change Priority"), NULL,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ NULL);
+ renice_dialog = dialog;
+ gtk_window_set_resizable (GTK_WINDOW (renice_dialog), FALSE);
+ gtk_container_set_border_width (GTK_CONTAINER (renice_dialog), 5);
+
+ button = gtk_button_new_with_mnemonic (_("Change _Priority"));
+ gtk_widget_set_can_default (button, TRUE);
+
+ icon = gtk_image_new_from_stock (GTK_STOCK_OK, GTK_ICON_SIZE_BUTTON);
+ gtk_button_set_image (GTK_BUTTON (button), icon);
+
+ gtk_dialog_add_action_widget (GTK_DIALOG (renice_dialog), button, 100);
+ gtk_dialog_set_default_response (GTK_DIALOG (renice_dialog), 100);
+ new_nice_value = -100;
+
+ dialog_vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+ gtk_box_set_spacing (GTK_BOX (dialog_vbox), 2);
+ gtk_container_set_border_width (GTK_CONTAINER (dialog_vbox), 5);
+
+ vbox = gtk_vbox_new (FALSE, 12);
+ gtk_box_pack_start (GTK_BOX (dialog_vbox), vbox, TRUE, TRUE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
+
+ table = gtk_table_new (2, 2, FALSE);
+ gtk_table_set_col_spacings (GTK_TABLE(table), 12);
+ gtk_table_set_row_spacings (GTK_TABLE(table), 6);
+ gtk_box_pack_start (GTK_BOX (vbox), table, TRUE, TRUE, 0);
+
+ label = gtk_label_new_with_mnemonic (_("_Nice value:"));
+ gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 2,
+ GTK_FILL, GTK_FILL, 0, 0);
+
+ renice_adj = gtk_adjustment_new (info->nice, RENICE_VAL_MIN, RENICE_VAL_MAX, 1, 1, 0);
+ new_nice_value = 0;
#if GTK_CHECK_VERSION (3, 0, 0)
- hscale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, renice_adj);
+ hscale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, renice_adj);
#else
- hscale = gtk_hscale_new (GTK_ADJUSTMENT (renice_adj));
+ hscale = gtk_hscale_new (GTK_ADJUSTMENT (renice_adj));
#endif
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), hscale);
- gtk_scale_set_digits (GTK_SCALE (hscale), 0);
- gtk_table_attach (GTK_TABLE (table), hscale, 1, 2, 0, 1,
- static_cast<GtkAttachOptions>(GTK_EXPAND | GTK_FILL), GTK_FILL, 0, 0);
-
- priority_label = gtk_label_new (get_nice_level (info->nice));
- gtk_table_attach (GTK_TABLE (table), priority_label, 1, 2, 1, 2,
- GTK_FILL, GTK_FILL, 0, 0);
-
- text = g_strconcat("<small><i><b>", _("Note:"), "</b> ",
- _("The priority of a process is given by its nice value. A lower nice value corresponds to a higher priority."),
- "</i></small>", NULL);
- label = gtk_label_new (_(text));
- gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
- gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
- g_free (text);
-
- g_signal_connect (G_OBJECT (dialog), "response",
- G_CALLBACK (renice_dialog_button_pressed), procdata);
- g_signal_connect (G_OBJECT (renice_adj), "value_changed",
- G_CALLBACK (renice_scale_changed), priority_label);
-
- gtk_widget_show_all (dialog);
-
-
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), hscale);
+ gtk_scale_set_digits (GTK_SCALE (hscale), 0);
+ gtk_table_attach (GTK_TABLE (table), hscale, 1, 2, 0, 1,
+ static_cast<GtkAttachOptions>(GTK_EXPAND | GTK_FILL), GTK_FILL, 0, 0);
+
+ priority_label = gtk_label_new (get_nice_level (info->nice));
+ gtk_table_attach (GTK_TABLE (table), priority_label, 1, 2, 1, 2,
+ GTK_FILL, GTK_FILL, 0, 0);
+
+ text = g_strconcat("<small><i><b>", _("Note:"), "</b> ",
+ _("The priority of a process is given by its nice value. A lower nice value corresponds to a higher priority."),
+ "</i></small>", NULL);
+ label = gtk_label_new (_(text));
+ gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
+ gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+ g_free (text);
+
+ g_signal_connect (G_OBJECT (dialog), "response",
+ G_CALLBACK (renice_dialog_button_pressed), procdata);
+ g_signal_connect (G_OBJECT (renice_adj), "value_changed",
+ G_CALLBACK (renice_scale_changed), priority_label);
+
+ gtk_widget_show_all (dialog);
+
+
}
static void
prefs_dialog_button_pressed (GtkDialog *dialog, gint id, gpointer data)
{
- gtk_widget_destroy (GTK_WIDGET (dialog));
-
- prefs_dialog = NULL;
+ gtk_widget_destroy (GTK_WIDGET (dialog));
+
+ prefs_dialog = NULL;
}
static void
show_kill_dialog_toggled (GtkToggleButton *button, gpointer data)
{
- ProcData *procdata = static_cast<ProcData*>(data);
- GSettings *settings = procdata->settings;
-
- gboolean toggled;
-
- toggled = gtk_toggle_button_get_active (button);
-
- g_settings_set_boolean (settings, "kill-dialog", toggled);
-
+ ProcData *procdata = static_cast<ProcData*>(data);
+ GSettings *settings = procdata->settings;
+
+ gboolean toggled;
+
+ toggled = gtk_toggle_button_get_active (button);
+
+ g_settings_set_boolean (settings, "kill-dialog", toggled);
+
}
@@ -272,22 +272,22 @@ show_kill_dialog_toggled (GtkToggleButton *button, gpointer data)
static void
solaris_mode_toggled(GtkToggleButton *button, gpointer data)
{
- ProcData *procdata = static_cast<ProcData*>(data);
- GSettings *settings = procdata->settings;
- gboolean toggled;
- toggled = gtk_toggle_button_get_active(button);
- g_settings_set_boolean(settings, procman::settings::solaris_mode.c_str(), toggled);
+ ProcData *procdata = static_cast<ProcData*>(data);
+ GSettings *settings = procdata->settings;
+ gboolean toggled;
+ toggled = gtk_toggle_button_get_active(button);
+ g_settings_set_boolean(settings, procman::settings::solaris_mode.c_str(), toggled);
}
static void
network_in_bits_toggled(GtkToggleButton *button, gpointer data)
{
- ProcData *procdata = static_cast<ProcData*>(data);
- GSettings *settings = procdata->settings;
- gboolean toggled;
- toggled = gtk_toggle_button_get_active(button);
- g_settings_set_boolean(settings, procman::settings::network_in_bits.c_str(), toggled);
+ ProcData *procdata = static_cast<ProcData*>(data);
+ GSettings *settings = procdata->settings;
+ gboolean toggled;
+ toggled = gtk_toggle_button_get_active(button);
+ g_settings_set_boolean(settings, procman::settings::network_in_bits.c_str(), toggled);
}
@@ -295,14 +295,14 @@ network_in_bits_toggled(GtkToggleButton *button, gpointer data)
static void
smooth_refresh_toggled(GtkToggleButton *button, gpointer data)
{
- ProcData *procdata = static_cast<ProcData*>(data);
- GSettings *settings = procdata->settings;
+ ProcData *procdata = static_cast<ProcData*>(data);
+ GSettings *settings = procdata->settings;
- gboolean toggled;
+ gboolean toggled;
- toggled = gtk_toggle_button_get_active(button);
+ toggled = gtk_toggle_button_get_active(button);
- g_settings_set_boolean(settings, SmoothRefresh::KEY.c_str(), toggled);
+ g_settings_set_boolean(settings, SmoothRefresh::KEY.c_str(), toggled);
}
@@ -310,43 +310,43 @@ smooth_refresh_toggled(GtkToggleButton *button, gpointer data)
static void
show_all_fs_toggled (GtkToggleButton *button, gpointer data)
{
- ProcData *procdata = static_cast<ProcData*>(data);
- GSettings *settings = procdata->settings;
+ ProcData *procdata = static_cast<ProcData*>(data);
+ GSettings *settings = procdata->settings;
- gboolean toggled;
+ gboolean toggled;
- toggled = gtk_toggle_button_get_active (button);
+ toggled = gtk_toggle_button_get_active (button);
- g_settings_set_boolean (settings, "show-all-fs", toggled);
+ g_settings_set_boolean (settings, "show-all-fs", toggled);
}
class SpinButtonUpdater
{
public:
- SpinButtonUpdater(const string& key)
- : key(key)
- { }
+ SpinButtonUpdater(const string& key)
+ : key(key)
+ { }
- static gboolean callback(GtkWidget *widget, GdkEventFocus *event, gpointer data)
- {
- SpinButtonUpdater* updater = static_cast<SpinButtonUpdater*>(data);
- updater->update(GTK_SPIN_BUTTON(widget));
- return FALSE;
- }
+ static gboolean callback(GtkWidget *widget, GdkEventFocus *event, gpointer data)
+ {
+ SpinButtonUpdater* updater = static_cast<SpinButtonUpdater*>(data);
+ updater->update(GTK_SPIN_BUTTON(widget));
+ return FALSE;
+ }
private:
- void update(GtkSpinButton* spin)
- {
- int new_value = int(1000 * gtk_spin_button_get_value(spin));
- g_settings_set_int(ProcData::get_instance()->settings,
- this->key.c_str(), new_value);
+ void update(GtkSpinButton* spin)
+ {
+ int new_value = int(1000 * gtk_spin_button_get_value(spin));
+ g_settings_set_int(ProcData::get_instance()->settings,
+ this->key.c_str(), new_value);
- procman_debug("set %s to %d", this->key.c_str(), new_value);
- }
+ procman_debug("set %s to %d", this->key.c_str(), new_value);
+ }
- const string key;
+ const string key;
};
@@ -355,445 +355,445 @@ private:
static void
field_toggled (GtkCellRendererToggle *cell, gchar *path_str, gpointer data)
{
- GtkTreeModel *model = static_cast<GtkTreeModel*>(data);
- GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
- GtkTreeIter iter;
- GtkTreeViewColumn *column;
- gboolean toggled;
-
- if (!path)
- return;
-
- gtk_tree_model_get_iter (model, &iter, path);
-
- gtk_tree_model_get (model, &iter, 2, &column, -1);
- toggled = gtk_cell_renderer_toggle_get_active (cell);
-
- gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, !toggled, -1);
- gtk_tree_view_column_set_visible (column, !toggled);
-
- gtk_tree_path_free (path);
+ GtkTreeModel *model = static_cast<GtkTreeModel*>(data);
+ GtkTreePath *path = gtk_tree_path_new_from_string (path_str);
+ GtkTreeIter iter;
+ GtkTreeViewColumn *column;
+ gboolean toggled;
+
+ if (!path)
+ return;
+
+ gtk_tree_model_get_iter (model, &iter, path);
+
+ gtk_tree_model_get (model, &iter, 2, &column, -1);
+ toggled = gtk_cell_renderer_toggle_get_active (cell);
+
+ gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, !toggled, -1);
+ gtk_tree_view_column_set_visible (column, !toggled);
+
+ gtk_tree_path_free (path);
}
static GtkWidget *
create_field_page(GtkWidget *tree, const char* text)
{
- GtkWidget *vbox;
- GtkWidget *scrolled;
- GtkWidget *label;
- GtkWidget *treeview;
- GList *it, *columns;
- GtkListStore *model;
- GtkTreeViewColumn *column;
- GtkCellRenderer *cell;
-
- vbox = gtk_vbox_new (FALSE, 6);
-
- label = gtk_label_new_with_mnemonic (text);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
-
- scrolled = gtk_scrolled_window_new (NULL, NULL);
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
- GTK_POLICY_AUTOMATIC,
- GTK_POLICY_AUTOMATIC);
- gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled), GTK_SHADOW_IN);
- gtk_box_pack_start (GTK_BOX (vbox), scrolled, TRUE, TRUE, 0);
-
- model = gtk_list_store_new (3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER);
-
- treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
- gtk_container_add (GTK_CONTAINER (scrolled), treeview);
- g_object_unref (G_OBJECT (model));
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), treeview);
-
- column = gtk_tree_view_column_new ();
-
- cell = gtk_cell_renderer_toggle_new ();
- gtk_tree_view_column_pack_start (column, cell, FALSE);
- gtk_tree_view_column_set_attributes (column, cell,
- "active", 0,
- NULL);
- g_signal_connect (G_OBJECT (cell), "toggled", G_CALLBACK (field_toggled), model);
- gtk_tree_view_column_set_clickable (column, TRUE);
- gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
-
- column = gtk_tree_view_column_new ();
-
- cell = gtk_cell_renderer_text_new ();
- gtk_tree_view_column_pack_start (column, cell, FALSE);
- gtk_tree_view_column_set_attributes (column, cell,
- "text", 1,
- NULL);
-
- gtk_tree_view_column_set_title (column, "Not Shown");
- gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
- gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
-
- columns = gtk_tree_view_get_columns (GTK_TREE_VIEW (tree));
-
- for(it = columns; it; it = it->next)
- {
- GtkTreeViewColumn *column = static_cast<GtkTreeViewColumn*>(it->data);
- GtkTreeIter iter;
- const gchar *title;
- gboolean visible;
-
- title = gtk_tree_view_column_get_title (column);
- if (!title)
- title = _("Icon");
-
- visible = gtk_tree_view_column_get_visible (column);
-
- gtk_list_store_append (model, &iter);
- gtk_list_store_set (model, &iter, 0, visible, 1, title, 2, column,-1);
- }
-
- g_list_free(columns);
-
- return vbox;
+ GtkWidget *vbox;
+ GtkWidget *scrolled;
+ GtkWidget *label;
+ GtkWidget *treeview;
+ GList *it, *columns;
+ GtkListStore *model;
+ GtkTreeViewColumn *column;
+ GtkCellRenderer *cell;
+
+ vbox = gtk_vbox_new (FALSE, 6);
+
+ label = gtk_label_new_with_mnemonic (text);
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
+
+ scrolled = gtk_scrolled_window_new (NULL, NULL);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
+ GTK_POLICY_AUTOMATIC,
+ GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled), GTK_SHADOW_IN);
+ gtk_box_pack_start (GTK_BOX (vbox), scrolled, TRUE, TRUE, 0);
+
+ model = gtk_list_store_new (3, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER);
+
+ treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (model));
+ gtk_container_add (GTK_CONTAINER (scrolled), treeview);
+ g_object_unref (G_OBJECT (model));
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), treeview);
+
+ column = gtk_tree_view_column_new ();
+
+ cell = gtk_cell_renderer_toggle_new ();
+ gtk_tree_view_column_pack_start (column, cell, FALSE);
+ gtk_tree_view_column_set_attributes (column, cell,
+ "active", 0,
+ NULL);
+ g_signal_connect (G_OBJECT (cell), "toggled", G_CALLBACK (field_toggled), model);
+ gtk_tree_view_column_set_clickable (column, TRUE);
+ gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
+
+ column = gtk_tree_view_column_new ();
+
+ cell = gtk_cell_renderer_text_new ();
+ gtk_tree_view_column_pack_start (column, cell, FALSE);
+ gtk_tree_view_column_set_attributes (column, cell,
+ "text", 1,
+ NULL);
+
+ gtk_tree_view_column_set_title (column, "Not Shown");
+ gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
+ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE);
+
+ columns = gtk_tree_view_get_columns (GTK_TREE_VIEW (tree));
+
+ for(it = columns; it; it = it->next)
+ {
+ GtkTreeViewColumn *column = static_cast<GtkTreeViewColumn*>(it->data);
+ GtkTreeIter iter;
+ const gchar *title;
+ gboolean visible;
+
+ title = gtk_tree_view_column_get_title (column);
+ if (!title)
+ title = _("Icon");
+
+ visible = gtk_tree_view_column_get_visible (column);
+
+ gtk_list_store_append (model, &iter);
+ gtk_list_store_set (model, &iter, 0, visible, 1, title, 2, column,-1);
+ }
+
+ g_list_free(columns);
+
+ return vbox;
}
void
procdialog_create_preferences_dialog (ProcData *procdata)
{
- static GtkWidget *dialog = NULL;
-
- typedef SpinButtonUpdater SBU;
-
- static SBU interval_updater("update-interval");
- static SBU graph_interval_updater("graph-update-interval");
- static SBU disks_interval_updater("disks-interval");
-
- GtkWidget *notebook;
- GtkWidget *proc_box;
- GtkWidget *sys_box;
- GtkWidget *main_vbox;
- GtkWidget *vbox, *vbox2, *vbox3;
- GtkWidget *hbox, *hbox2, *hbox3;
- GtkWidget *label;
- GtkAdjustment *adjustment;
- GtkWidget *spin_button;
- GtkWidget *check_button;
- GtkWidget *tab_label;
- GtkWidget *smooth_button;
- GtkSizeGroup *size;
- gfloat update;
- gchar *tmp;
-
- if (prefs_dialog)
- return;
-
- size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
-
- dialog = gtk_dialog_new_with_buttons (_("System Monitor Preferences"),
- GTK_WINDOW (procdata->app),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
- NULL);
- /* FIXME: we should not declare the window size, but let it's */
- /* driven by window childs. The problem is that the fields list */
- /* have to show at least 4 items to respect HIG. I don't know */
- /* any function to set list height by contents/items inside it. */
- gtk_window_set_default_size (GTK_WINDOW (dialog), 400, 420);
- gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
- prefs_dialog = dialog;
-
- main_vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
- gtk_box_set_spacing (GTK_BOX (main_vbox), 2);
-
- notebook = gtk_notebook_new ();
- gtk_container_set_border_width (GTK_CONTAINER (notebook), 5);
- gtk_box_pack_start (GTK_BOX (main_vbox), notebook, TRUE, TRUE, 0);
-
- proc_box = gtk_vbox_new (FALSE, 18);
- gtk_container_set_border_width (GTK_CONTAINER (proc_box), 12);
- tab_label = gtk_label_new (_("Processes"));
- gtk_widget_show (tab_label);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), proc_box, tab_label);
-
- vbox = gtk_vbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (proc_box), vbox, FALSE, FALSE, 0);
-
- tmp = g_strdup_printf ("<b>%s</b>", _("Behavior"));
- label = gtk_label_new (NULL);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_label_set_markup (GTK_LABEL (label), tmp);
- g_free (tmp);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
-
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
-
- label = gtk_label_new (" ");
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- vbox2 = gtk_vbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
-
- hbox2 = gtk_hbox_new (FALSE, 12);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
-
- label = gtk_label_new_with_mnemonic (_("_Update interval in seconds:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
-
- hbox3 = gtk_hbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, TRUE, 0);
-
- update = (gfloat) procdata->config.update_interval;
- adjustment = (GtkAdjustment *) gtk_adjustment_new(update / 1000.0,
- MIN_UPDATE_INTERVAL / 1000,
- MAX_UPDATE_INTERVAL / 1000,
- 0.25,
- 1.0,
- 1.0);
-
- spin_button = gtk_spin_button_new (adjustment, 1.0, 2);
- gtk_box_pack_start (GTK_BOX (hbox3), spin_button, FALSE, FALSE, 0);
- g_signal_connect (G_OBJECT (spin_button), "focus_out_event",
- G_CALLBACK (SBU::callback), &interval_updater);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
-
-
- hbox2 = gtk_hbox_new(FALSE, 6);
- gtk_box_pack_start(GTK_BOX(vbox2), hbox2, FALSE, FALSE, 0);
-
- smooth_button = gtk_check_button_new_with_mnemonic(_("Enable _smooth refresh"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(smooth_button),
- g_settings_get_boolean(procdata->settings,
- SmoothRefresh::KEY.c_str()));
- g_signal_connect(G_OBJECT(smooth_button), "toggled",
- G_CALLBACK(smooth_refresh_toggled), procdata);
- gtk_box_pack_start(GTK_BOX(hbox2), smooth_button, TRUE, TRUE, 0);
-
-
-
- hbox2 = gtk_hbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
-
- check_button = gtk_check_button_new_with_mnemonic (_("Alert before ending or _killing processes"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
- procdata->config.show_kill_warning);
- g_signal_connect (G_OBJECT (check_button), "toggled",
- G_CALLBACK (show_kill_dialog_toggled), procdata);
- gtk_box_pack_start (GTK_BOX (hbox2), check_button, FALSE, FALSE, 0);
-
-
-
-
- hbox2 = gtk_hbox_new(FALSE, 6);
- gtk_box_pack_start(GTK_BOX(vbox2), hbox2, FALSE, FALSE, 0);
-
- GtkWidget *solaris_button = gtk_check_button_new_with_mnemonic(_("Divide CPU usage by CPU count"));
- gtk_widget_set_tooltip_text(solaris_button, _("Solaris mode"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(solaris_button),
- g_settings_get_boolean(procdata->settings,
- procman::settings::solaris_mode.c_str()));
- g_signal_connect(G_OBJECT(solaris_button), "toggled",
- G_CALLBACK(solaris_mode_toggled), procdata);
- gtk_box_pack_start(GTK_BOX(hbox2), solaris_button, TRUE, TRUE, 0);
-
-
-
-
- hbox2 = gtk_hbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
-
- vbox = gtk_vbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (proc_box), vbox, TRUE, TRUE, 0);
-
- tmp = g_strdup_printf ("<b>%s</b>", _("Information Fields"));
- label = gtk_label_new (NULL);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_label_set_markup (GTK_LABEL (label), tmp);
- g_free (tmp);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
-
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
-
- label = gtk_label_new (" ");
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- vbox2 = create_field_page (procdata->tree, _("Process i_nformation shown in list:"));
- gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
-
- sys_box = gtk_vbox_new (FALSE, 12);
- gtk_container_set_border_width (GTK_CONTAINER (sys_box), 12);
- tab_label = gtk_label_new (_("Resources"));
- gtk_widget_show (tab_label);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), sys_box, tab_label);
-
- vbox = gtk_vbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (sys_box), vbox, FALSE, FALSE, 0);
-
- tmp = g_strdup_printf ("<b>%s</b>", _("Graphs"));
- label = gtk_label_new (NULL);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_label_set_markup (GTK_LABEL (label), tmp);
- g_free (tmp);
- gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, FALSE, 0);
-
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
-
- label = gtk_label_new (" ");
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- vbox2 = gtk_vbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
-
- hbox2 = gtk_hbox_new (FALSE, 12);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
-
- label = gtk_label_new_with_mnemonic (_("_Update interval in seconds:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
- gtk_size_group_add_widget (size, label);
-
- hbox3 = gtk_hbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, TRUE, 0);
-
- update = (gfloat) procdata->config.graph_update_interval;
- adjustment = (GtkAdjustment *) gtk_adjustment_new(update / 1000.0, 0.25,
- 100.0, 0.25, 1.0, 1.0);
- spin_button = gtk_spin_button_new (adjustment, 1.0, 2);
- g_signal_connect (G_OBJECT (spin_button), "focus_out_event",
- G_CALLBACK(SBU::callback),
- &graph_interval_updater);
- gtk_box_pack_start (GTK_BOX (hbox3), spin_button, FALSE, FALSE, 0);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
-
-
- GtkWidget *bits_button;
- bits_button = gtk_check_button_new_with_mnemonic(_("Show network speed in bits"));
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bits_button),
- g_settings_get_boolean(procdata->settings,
- procman::settings::network_in_bits.c_str()));
-
- g_signal_connect(G_OBJECT(bits_button), "toggled",
- G_CALLBACK(network_in_bits_toggled), procdata);
- gtk_box_pack_start(GTK_BOX(vbox2), bits_button, TRUE, TRUE, 0);
-
-
-
- hbox2 = gtk_hbox_new (FALSE, 12);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, TRUE, TRUE, 0);
-
- /*
- * Devices
- */
- vbox = gtk_vbox_new (FALSE, 6);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
- tab_label = gtk_label_new (_("File Systems"));
- gtk_widget_show (tab_label);
- gtk_notebook_append_page (GTK_NOTEBOOK (notebook), vbox, tab_label);
-
- tmp = g_strdup_printf ("<b>%s</b>", _("File Systems"));
- label = gtk_label_new (NULL);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_label_set_markup (GTK_LABEL (label), tmp);
- g_free (tmp);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
-
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
-
- label = gtk_label_new (" ");
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- vbox2 = gtk_vbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
-
- hbox2 = gtk_hbox_new (FALSE, 12);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
-
- label = gtk_label_new_with_mnemonic (_("_Update interval in seconds:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
-
- hbox3 = gtk_hbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, TRUE, 0);
-
- update = (gfloat) procdata->config.disks_update_interval;
- adjustment = (GtkAdjustment *) gtk_adjustment_new (update / 1000.0, 1.0,
- 100.0, 1.0, 1.0, 1.0);
- spin_button = gtk_spin_button_new (adjustment, 1.0, 0);
- gtk_box_pack_start (GTK_BOX (hbox3), spin_button, FALSE, FALSE, 0);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
- g_signal_connect (G_OBJECT (spin_button), "focus_out_event",
- G_CALLBACK(SBU::callback),
- &disks_interval_updater);
-
-
- hbox2 = gtk_hbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
- check_button = gtk_check_button_new_with_mnemonic (_("Show _all filesystems"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
- procdata->config.show_all_fs);
- g_signal_connect (G_OBJECT (check_button), "toggled",
- G_CALLBACK (show_all_fs_toggled), procdata);
- gtk_box_pack_start (GTK_BOX (hbox2), check_button, FALSE, FALSE, 0);
-
-
- vbox2 = gtk_vbox_new (FALSE, 6);
- gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
-
- label = gtk_label_new (" ");
- gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0);
-
- tmp = g_strdup_printf ("<b>%s</b>", _("Information Fields"));
- label = gtk_label_new (NULL);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_label_set_markup (GTK_LABEL (label), tmp);
- g_free (tmp);
- gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
-
- hbox = gtk_hbox_new (FALSE, 0);
- gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
-
- label = gtk_label_new (" ");
- gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
-
- vbox3 = create_field_page (procdata->disk_list, _("File system i_nformation shown in list:"));
- gtk_box_pack_start (GTK_BOX (hbox), vbox3, TRUE, TRUE, 0);
-
- gtk_widget_show_all (dialog);
- g_signal_connect (G_OBJECT (dialog), "response",
- G_CALLBACK (prefs_dialog_button_pressed), procdata);
-
- switch (procdata->config.current_tab) {
- case PROCMAN_TAB_SYSINFO:
- case PROCMAN_TAB_PROCESSES:
- gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 0);
- break;
- case PROCMAN_TAB_RESOURCES:
- gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 1);
- break;
- case PROCMAN_TAB_DISKS:
- gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 2);
- break;
-
- }
+ static GtkWidget *dialog = NULL;
+
+ typedef SpinButtonUpdater SBU;
+
+ static SBU interval_updater("update-interval");
+ static SBU graph_interval_updater("graph-update-interval");
+ static SBU disks_interval_updater("disks-interval");
+
+ GtkWidget *notebook;
+ GtkWidget *proc_box;
+ GtkWidget *sys_box;
+ GtkWidget *main_vbox;
+ GtkWidget *vbox, *vbox2, *vbox3;
+ GtkWidget *hbox, *hbox2, *hbox3;
+ GtkWidget *label;
+ GtkAdjustment *adjustment;
+ GtkWidget *spin_button;
+ GtkWidget *check_button;
+ GtkWidget *tab_label;
+ GtkWidget *smooth_button;
+ GtkSizeGroup *size;
+ gfloat update;
+ gchar *tmp;
+
+ if (prefs_dialog)
+ return;
+
+ size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+
+ dialog = gtk_dialog_new_with_buttons (_("System Monitor Preferences"),
+ GTK_WINDOW (procdata->app),
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+ NULL);
+ /* FIXME: we should not declare the window size, but let it's */
+ /* driven by window childs. The problem is that the fields list */
+ /* have to show at least 4 items to respect HIG. I don't know */
+ /* any function to set list height by contents/items inside it. */
+ gtk_window_set_default_size (GTK_WINDOW (dialog), 400, 420);
+ gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
+ prefs_dialog = dialog;
+
+ main_vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+ gtk_box_set_spacing (GTK_BOX (main_vbox), 2);
+
+ notebook = gtk_notebook_new ();
+ gtk_container_set_border_width (GTK_CONTAINER (notebook), 5);
+ gtk_box_pack_start (GTK_BOX (main_vbox), notebook, TRUE, TRUE, 0);
+
+ proc_box = gtk_vbox_new (FALSE, 18);
+ gtk_container_set_border_width (GTK_CONTAINER (proc_box), 12);
+ tab_label = gtk_label_new (_("Processes"));
+ gtk_widget_show (tab_label);
+ gtk_notebook_append_page (GTK_NOTEBOOK (notebook), proc_box, tab_label);
+
+ vbox = gtk_vbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (proc_box), vbox, FALSE, FALSE, 0);
+
+ tmp = g_strdup_printf ("<b>%s</b>", _("Behavior"));
+ label = gtk_label_new (NULL);
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_label_set_markup (GTK_LABEL (label), tmp);
+ g_free (tmp);
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+
+ hbox = gtk_hbox_new (FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+
+ label = gtk_label_new (" ");
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ vbox2 = gtk_vbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
+
+ hbox2 = gtk_hbox_new (FALSE, 12);
+ gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
+
+ label = gtk_label_new_with_mnemonic (_("_Update interval in seconds:"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
+
+ hbox3 = gtk_hbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, TRUE, 0);
+
+ update = (gfloat) procdata->config.update_interval;
+ adjustment = (GtkAdjustment *) gtk_adjustment_new(update / 1000.0,
+ MIN_UPDATE_INTERVAL / 1000,
+ MAX_UPDATE_INTERVAL / 1000,
+ 0.25,
+ 1.0,
+ 1.0);
+
+ spin_button = gtk_spin_button_new (adjustment, 1.0, 2);
+ gtk_box_pack_start (GTK_BOX (hbox3), spin_button, FALSE, FALSE, 0);
+ g_signal_connect (G_OBJECT (spin_button), "focus_out_event",
+ G_CALLBACK (SBU::callback), &interval_updater);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
+
+
+ hbox2 = gtk_hbox_new(FALSE, 6);
+ gtk_box_pack_start(GTK_BOX(vbox2), hbox2, FALSE, FALSE, 0);
+
+ smooth_button = gtk_check_button_new_with_mnemonic(_("Enable _smooth refresh"));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(smooth_button),
+ g_settings_get_boolean(procdata->settings,
+ SmoothRefresh::KEY.c_str()));
+ g_signal_connect(G_OBJECT(smooth_button), "toggled",
+ G_CALLBACK(smooth_refresh_toggled), procdata);
+ gtk_box_pack_start(GTK_BOX(hbox2), smooth_button, TRUE, TRUE, 0);
+
+
+
+ hbox2 = gtk_hbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
+
+ check_button = gtk_check_button_new_with_mnemonic (_("Alert before ending or _killing processes"));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
+ procdata->config.show_kill_warning);
+ g_signal_connect (G_OBJECT (check_button), "toggled",
+ G_CALLBACK (show_kill_dialog_toggled), procdata);
+ gtk_box_pack_start (GTK_BOX (hbox2), check_button, FALSE, FALSE, 0);
+
+
+
+
+ hbox2 = gtk_hbox_new(FALSE, 6);
+ gtk_box_pack_start(GTK_BOX(vbox2), hbox2, FALSE, FALSE, 0);
+
+ GtkWidget *solaris_button = gtk_check_button_new_with_mnemonic(_("Divide CPU usage by CPU count"));
+ gtk_widget_set_tooltip_text(solaris_button, _("Solaris mode"));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(solaris_button),
+ g_settings_get_boolean(procdata->settings,
+ procman::settings::solaris_mode.c_str()));
+ g_signal_connect(G_OBJECT(solaris_button), "toggled",
+ G_CALLBACK(solaris_mode_toggled), procdata);
+ gtk_box_pack_start(GTK_BOX(hbox2), solaris_button, TRUE, TRUE, 0);
+
+
+
+
+ hbox2 = gtk_hbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
+
+ vbox = gtk_vbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (proc_box), vbox, TRUE, TRUE, 0);
+
+ tmp = g_strdup_printf ("<b>%s</b>", _("Information Fields"));
+ label = gtk_label_new (NULL);
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_label_set_markup (GTK_LABEL (label), tmp);
+ g_free (tmp);
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+
+ hbox = gtk_hbox_new (FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
+
+ label = gtk_label_new (" ");
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ vbox2 = create_field_page (procdata->tree, _("Process i_nformation shown in list:"));
+ gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
+
+ sys_box = gtk_vbox_new (FALSE, 12);
+ gtk_container_set_border_width (GTK_CONTAINER (sys_box), 12);
+ tab_label = gtk_label_new (_("Resources"));
+ gtk_widget_show (tab_label);
+ gtk_notebook_append_page (GTK_NOTEBOOK (notebook), sys_box, tab_label);
+
+ vbox = gtk_vbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (sys_box), vbox, FALSE, FALSE, 0);
+
+ tmp = g_strdup_printf ("<b>%s</b>", _("Graphs"));
+ label = gtk_label_new (NULL);
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_label_set_markup (GTK_LABEL (label), tmp);
+ g_free (tmp);
+ gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, FALSE, 0);
+
+ hbox = gtk_hbox_new (FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+
+ label = gtk_label_new (" ");
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ vbox2 = gtk_vbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
+
+ hbox2 = gtk_hbox_new (FALSE, 12);
+ gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
+
+ label = gtk_label_new_with_mnemonic (_("_Update interval in seconds:"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
+ gtk_size_group_add_widget (size, label);
+
+ hbox3 = gtk_hbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, TRUE, 0);
+
+ update = (gfloat) procdata->config.graph_update_interval;
+ adjustment = (GtkAdjustment *) gtk_adjustment_new(update / 1000.0, 0.25,
+ 100.0, 0.25, 1.0, 1.0);
+ spin_button = gtk_spin_button_new (adjustment, 1.0, 2);
+ g_signal_connect (G_OBJECT (spin_button), "focus_out_event",
+ G_CALLBACK(SBU::callback),
+ &graph_interval_updater);
+ gtk_box_pack_start (GTK_BOX (hbox3), spin_button, FALSE, FALSE, 0);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
+
+
+ GtkWidget *bits_button;
+ bits_button = gtk_check_button_new_with_mnemonic(_("Show network speed in bits"));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(bits_button),
+ g_settings_get_boolean(procdata->settings,
+ procman::settings::network_in_bits.c_str()));
+
+ g_signal_connect(G_OBJECT(bits_button), "toggled",
+ G_CALLBACK(network_in_bits_toggled), procdata);
+ gtk_box_pack_start(GTK_BOX(vbox2), bits_button, TRUE, TRUE, 0);
+
+
+
+ hbox2 = gtk_hbox_new (FALSE, 12);
+ gtk_box_pack_start (GTK_BOX (vbox2), hbox2, TRUE, TRUE, 0);
+
+ /*
+ * Devices
+ */
+ vbox = gtk_vbox_new (FALSE, 6);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
+ tab_label = gtk_label_new (_("File Systems"));
+ gtk_widget_show (tab_label);
+ gtk_notebook_append_page (GTK_NOTEBOOK (notebook), vbox, tab_label);
+
+ tmp = g_strdup_printf ("<b>%s</b>", _("File Systems"));
+ label = gtk_label_new (NULL);
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_label_set_markup (GTK_LABEL (label), tmp);
+ g_free (tmp);
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+
+ hbox = gtk_hbox_new (FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
+
+ label = gtk_label_new (" ");
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ vbox2 = gtk_vbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0);
+
+ hbox2 = gtk_hbox_new (FALSE, 12);
+ gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
+
+ label = gtk_label_new_with_mnemonic (_("_Update interval in seconds:"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_box_pack_start (GTK_BOX (hbox2), label, FALSE, FALSE, 0);
+
+ hbox3 = gtk_hbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (hbox2), hbox3, TRUE, TRUE, 0);
+
+ update = (gfloat) procdata->config.disks_update_interval;
+ adjustment = (GtkAdjustment *) gtk_adjustment_new (update / 1000.0, 1.0,
+ 100.0, 1.0, 1.0, 1.0);
+ spin_button = gtk_spin_button_new (adjustment, 1.0, 0);
+ gtk_box_pack_start (GTK_BOX (hbox3), spin_button, FALSE, FALSE, 0);
+ gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
+ g_signal_connect (G_OBJECT (spin_button), "focus_out_event",
+ G_CALLBACK(SBU::callback),
+ &disks_interval_updater);
+
+
+ hbox2 = gtk_hbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (vbox2), hbox2, FALSE, FALSE, 0);
+ check_button = gtk_check_button_new_with_mnemonic (_("Show _all filesystems"));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_button),
+ procdata->config.show_all_fs);
+ g_signal_connect (G_OBJECT (check_button), "toggled",
+ G_CALLBACK (show_all_fs_toggled), procdata);
+ gtk_box_pack_start (GTK_BOX (hbox2), check_button, FALSE, FALSE, 0);
+
+
+ vbox2 = gtk_vbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
+
+ label = gtk_label_new (" ");
+ gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, FALSE, 0);
+
+ tmp = g_strdup_printf ("<b>%s</b>", _("Information Fields"));
+ label = gtk_label_new (NULL);
+ gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_label_set_markup (GTK_LABEL (label), tmp);
+ g_free (tmp);
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+
+ hbox = gtk_hbox_new (FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
+
+ label = gtk_label_new (" ");
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ vbox3 = create_field_page (procdata->disk_list, _("File system i_nformation shown in list:"));
+ gtk_box_pack_start (GTK_BOX (hbox), vbox3, TRUE, TRUE, 0);
+
+ gtk_widget_show_all (dialog);
+ g_signal_connect (G_OBJECT (dialog), "response",
+ G_CALLBACK (prefs_dialog_button_pressed), procdata);
+
+ switch (procdata->config.current_tab) {
+ case PROCMAN_TAB_SYSINFO:
+ case PROCMAN_TAB_PROCESSES:
+ gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 0);
+ break;
+ case PROCMAN_TAB_RESOURCES:
+ gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 1);
+ break;
+ case PROCMAN_TAB_DISKS:
+ gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 2);
+ break;
+
+ }
}
static char *
procman_action_to_command(ProcmanActionType type,
- gint pid,
- gint extra_value)
+ gint pid,
+ gint extra_value)
{
- switch (type) {
- case PROCMAN_ACTION_KILL:
- return g_strdup_printf("kill -s %d %d", extra_value, pid);
- case PROCMAN_ACTION_RENICE:
- return g_strdup_printf("renice %d %d", extra_value, pid);
- default:
- g_assert_not_reached();
- }
+ switch (type) {
+ case PROCMAN_ACTION_KILL:
+ return g_strdup_printf("kill -s %d %d", extra_value, pid);
+ case PROCMAN_ACTION_RENICE:
+ return g_strdup_printf("renice %d %d", extra_value, pid);
+ default:
+ g_assert_not_reached();
+ }
}
@@ -804,24 +804,24 @@ procman_action_to_command(ProcmanActionType type,
*/
gboolean
procdialog_create_root_password_dialog(ProcmanActionType type,
- ProcData *procdata,
- gint pid,
- gint extra_value)
+ ProcData *procdata,
+ gint pid,
+ gint extra_value)
{
- char * command;
- gboolean ret = FALSE;
+ char * command;
+ gboolean ret = FALSE;
- command = procman_action_to_command(type, pid, extra_value);
+ command = procman_action_to_command(type, pid, extra_value);
- procman_debug("Trying to run '%s' as root", command);
+ procman_debug("Trying to run '%s' as root", command);
- if (procman_has_gksu())
- ret = procman_gksu_create_root_password_dialog(command);
- else if (procman_has_matesu())
- ret = procman_matesu_create_root_password_dialog(command);
+ if (procman_has_gksu())
+ ret = procman_gksu_create_root_password_dialog(command);
+ else if (procman_has_matesu())
+ ret = procman_matesu_create_root_password_dialog(command);
- g_free(command);
- return ret;
+ g_free(command);
+ return ret;
}