gnome-system-monitor r2399 - trunk/src
- From: hub svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-system-monitor r2399 - trunk/src
- Date: Tue, 22 Apr 2008 20:24:33 +0100 (BST)
Author: hub
Date: Tue Apr 22 19:24:33 2008
New Revision: 2399
URL: http://svn.gnome.org/viewvc/gnome-system-monitor?rev=2399&view=rev
Log:
refactor the UI code. Closes #529415
Modified:
trunk/src/sysinfo.cpp
Modified: trunk/src/sysinfo.cpp
==============================================================================
--- trunk/src/sysinfo.cpp (original)
+++ trunk/src/sysinfo.cpp Tue Apr 22 19:24:33 2008
@@ -414,6 +414,59 @@
return FALSE;
}
+static GtkWidget*
+add_section(GtkBox *vbox , const char * title, int num_row, int num_col, GtkWidget **out_frame)
+{
+ GtkWidget *table;
+
+ GtkWidget *frame = gtk_frame_new(title);
+ gtk_frame_set_label_align(GTK_FRAME(frame), 0.0, 0.5);
+ gtk_label_set_use_markup(
+ GTK_LABEL(gtk_frame_get_label_widget(GTK_FRAME(frame))),
+ TRUE
+ );
+ gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE);
+ gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, FALSE, 0);
+
+ GtkWidget *alignment = gtk_alignment_new(0.5, 0.5, 1.0, 1.0);
+ gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0);
+ gtk_container_add(GTK_CONTAINER(frame), alignment);
+
+ table = gtk_table_new(num_row, num_col, FALSE);
+ gtk_table_set_row_spacings(GTK_TABLE(table), 6);
+ gtk_table_set_col_spacings(GTK_TABLE(table), 6);
+ gtk_container_set_border_width(GTK_CONTAINER(table), 6);
+ gtk_container_add(GTK_CONTAINER(alignment), table);
+
+ if(out_frame)
+ *out_frame = frame;
+
+ return table;
+}
+
+
+static GtkWidget*
+add_row(GtkTable * table, const char * label, const char * value, int row)
+{
+ GtkWidget *header = gtk_label_new(label);
+ gtk_misc_set_alignment(GTK_MISC(header), 0.0, 0.5);
+ gtk_table_attach(
+ table, header,
+ 0, 1, row, row + 1,
+ GTK_FILL, GTK_FILL, 0, 0
+ );
+
+ GtkWidget *label_widget = gtk_label_new(value);
+ gtk_misc_set_alignment(GTK_MISC(label_widget), 0.0, 0.5);
+ gtk_table_attach(
+ table, label_widget,
+ 1, 2, row, row + 1,
+ GTK_FILL, GTK_FILL, 0, 0
+ );
+ return label_widget;
+}
+
+
GtkWidget *
procman_create_sysinfo_view(void)
{
@@ -428,17 +481,14 @@
GtkWidget *distro_release_label;
GtkWidget *distro_table;
- GtkWidget *hardware_frame;
GtkWidget *hardware_table;
GtkWidget *memory_label;
GtkWidget *processor_label;
- GtkWidget *disk_space_frame;
GtkWidget *disk_space_table;
GtkWidget *disk_space_label;
GtkWidget *header;
- GtkWidget *alignment;
gchar *markup;
@@ -477,30 +527,13 @@
/* distro section */
- distro_frame = gtk_frame_new("???");
- gtk_frame_set_label_align(GTK_FRAME(distro_frame), 0.0, 0.5);
- gtk_label_set_use_markup(
- GTK_LABEL(gtk_frame_get_label_widget(GTK_FRAME(distro_frame))),
- TRUE
- );
- gtk_frame_set_shadow_type(GTK_FRAME(distro_frame), GTK_SHADOW_NONE);
- gtk_box_pack_start(GTK_BOX(vbox), distro_frame, FALSE, FALSE, 0);
- alignment = gtk_alignment_new(0.5, 0.5, 1.0, 1.0);
- gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0);
- gtk_container_add(GTK_CONTAINER(distro_frame), alignment);
-
unsigned table_size = 2;
if (data->gnome_version != "")
table_size++;
- distro_table = gtk_table_new(table_size, 1, FALSE);
- gtk_table_set_row_spacings(GTK_TABLE(distro_table), 6);
- gtk_table_set_col_spacings(GTK_TABLE(distro_table), 6);
- gtk_container_set_border_width(GTK_CONTAINER(distro_table), 6);
- gtk_container_add(GTK_CONTAINER(alignment), distro_table);
+ distro_table = add_section(GTK_BOX(vbox), "???", table_size, 1, &distro_frame);
unsigned table_count = 0;
-
distro_release_label = gtk_label_new("???");
gtk_misc_set_alignment(GTK_MISC(distro_release_label), 0.0, 0.5);
gtk_table_attach(
@@ -509,7 +542,6 @@
GTK_FILL, GTK_FILL, 0, 0
);
table_count++;
-
data->set_distro_labels(gtk_frame_get_label_widget(GTK_FRAME(distro_frame)), distro_release_label);
markup = g_strdup_printf(_("Kernel %s"), data->kernel.c_str());
@@ -540,109 +572,44 @@
/* hardware section */
markup = g_strdup_printf(_("<b>Hardware</b>"));
- hardware_frame = gtk_frame_new(markup);
+ hardware_table = add_section(GTK_BOX(vbox), markup, data->processors.size(), 2, NULL);
g_free(markup);
- gtk_frame_set_label_align(GTK_FRAME(hardware_frame), 0.0, 0.5);
- gtk_label_set_use_markup(
- GTK_LABEL(gtk_frame_get_label_widget(GTK_FRAME(hardware_frame))),
- TRUE
- );
- gtk_frame_set_shadow_type(GTK_FRAME(hardware_frame), GTK_SHADOW_NONE);
- gtk_box_pack_start(GTK_BOX(vbox), hardware_frame, FALSE, FALSE, 0);
-
- alignment = gtk_alignment_new(0.5, 0.5, 1.0, 1.0);
- gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0);
- gtk_container_add(GTK_CONTAINER(hardware_frame), alignment);
-
- hardware_table = gtk_table_new(data->processors.size(), 2, FALSE);
- gtk_table_set_row_spacings(GTK_TABLE(hardware_table), 6);
- gtk_table_set_col_spacings(GTK_TABLE(hardware_table), 6);
- gtk_container_set_border_width(GTK_CONTAINER(hardware_table), 6);
- gtk_container_add(GTK_CONTAINER(alignment), hardware_table);
-
- header = gtk_label_new(_("Memory:"));
- gtk_misc_set_alignment(GTK_MISC(header), 0.0, 0.5);
- gtk_table_attach(
- GTK_TABLE(hardware_table), header,
- 0, 1, 0, 1,
- GTK_FILL, GTK_FILL, 0, 0
- );
markup = procman::format_size(data->memory_bytes);
- memory_label = gtk_label_new(markup);
+ memory_label = add_row(GTK_TABLE(hardware_table), _("Memory:"),
+ markup, 0);
g_free(markup);
- gtk_misc_set_alignment(GTK_MISC(memory_label), 0.0, 0.5);
- gtk_table_attach(
- GTK_TABLE(hardware_table), memory_label,
- 1, 2, 0, 1,
- GTK_FILL, GTK_FILL, 0, 0
- );
+ header = gtk_label_new(_("Memory:"));
for (guint i = 0; i < data->processors.size(); ++i) {
+ const gchar * t;
if (data->processors.size() > 1) {
markup = g_strdup_printf(_("Processor %d:"), i);
- header = gtk_label_new(markup);
- g_free(markup);
+ t = markup;
+ }
+ else {
+ markup = NULL;
+ t = _("Processor:");
}
- else
- header = gtk_label_new(_("Processor:"));
- gtk_misc_set_alignment(GTK_MISC(header), 0.0, 0.5);
- gtk_table_attach(
- GTK_TABLE(hardware_table), header,
- 0, 1, 1 + i, 2 + i,
- GTK_FILL, GTK_FILL, 0, 0
- );
-
- processor_label = gtk_label_new(data->processors[i].c_str());
- gtk_misc_set_alignment(GTK_MISC(processor_label), 0.0, 0.5);
- gtk_table_attach(
- GTK_TABLE(hardware_table), processor_label,
- 1, 2, 1 + i, 2 + i,
- GTK_FILL, GTK_FILL, 0, 0
- );
+ processor_label = add_row(GTK_TABLE(hardware_table), t,
+ data->processors[i].c_str(), 1 + i);
+
+ if(markup)
+ g_free(markup);
}
/* disk space section */
markup = g_strdup_printf(_("<b>System Status</b>"));
- disk_space_frame = gtk_frame_new(markup);
+ disk_space_table = add_section(GTK_BOX(vbox), markup, 1, 2, NULL);
g_free(markup);
- gtk_frame_set_label_align(GTK_FRAME(disk_space_frame), 0.0, 0.5);
- gtk_label_set_use_markup(
- GTK_LABEL(gtk_frame_get_label_widget(GTK_FRAME(disk_space_frame))),
- TRUE
- );
- gtk_frame_set_shadow_type(GTK_FRAME(disk_space_frame), GTK_SHADOW_NONE);
- gtk_box_pack_start(GTK_BOX(vbox), disk_space_frame, FALSE, FALSE, 0);
-
- alignment = gtk_alignment_new(0.5, 0.5, 1.0, 1.0);
- gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, 12, 0);
- gtk_container_add(GTK_CONTAINER(disk_space_frame), alignment);
-
- disk_space_table = gtk_table_new(1, 2, FALSE);
- gtk_table_set_row_spacings(GTK_TABLE(disk_space_table), 6);
- gtk_table_set_col_spacings(GTK_TABLE(disk_space_table), 6);
- gtk_container_set_border_width(GTK_CONTAINER(disk_space_table), 6);
- gtk_container_add(GTK_CONTAINER(alignment), disk_space_table);
-
- header = gtk_label_new(_("Available disk space:"));
- gtk_misc_set_alignment(GTK_MISC(header), 0.0, 0.5);
- gtk_table_attach(
- GTK_TABLE(disk_space_table), header,
- 0, 1, 0, 1,
- GTK_FILL, GTK_FILL, 0, 0
- );
markup = procman::format_size(data->free_space_bytes);
- disk_space_label = gtk_label_new(markup);
+ disk_space_label = add_row(GTK_TABLE(disk_space_table),
+ _("Available disk space:"), markup,
+ 0);
g_free(markup);
- gtk_misc_set_alignment(GTK_MISC(disk_space_label), 0.0, 0.5);
- gtk_table_attach(
- GTK_TABLE(disk_space_table), disk_space_label,
- 1, 2, 0, 1,
- GTK_FILL, GTK_FILL, 0, 0
- );
return hbox;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]