diff options
Diffstat (limited to 'src/gpm-statistics.c')
-rw-r--r-- | src/gpm-statistics.c | 62 |
1 files changed, 35 insertions, 27 deletions
diff --git a/src/gpm-statistics.c b/src/gpm-statistics.c index a9436bd..d6bcaf1 100644 --- a/src/gpm-statistics.c +++ b/src/gpm-statistics.c @@ -33,10 +33,9 @@ #include "egg-debug.h" #include "egg-color.h" #include "egg-array-float.h" -#include "egg-unique.h" #include "gpm-common.h" -#include "gpm-stock-icons.h" +#include "gpm-icon-names.h" #include "gpm-upower.h" #include "gpm-graph-widget.h" @@ -403,7 +402,7 @@ gpm_stats_update_info_page_details (UpDevice *device) gpm_stats_add_info_data (_("Device"), device_path); g_free (device_path); - gpm_stats_add_info_data (_("Type"), gpm_device_kind_to_localised_text (kind, 1)); + gpm_stats_add_info_data (_("Type"), gpm_device_kind_to_localised_string (kind, 1)); if (vendor != NULL && vendor[0] != '\0') gpm_stats_add_info_data (_("Vendor"), vendor); if (model != NULL && model[0] != '\0') @@ -1129,6 +1128,10 @@ static void gpm_stats_button_update_ui (void) { UpDevice *device; + + if (current_device == NULL) + return; + device = up_device_new (); up_device_set_object_path_sync (device, current_device, NULL, NULL); gpm_stats_update_info_data (device); @@ -1175,10 +1178,11 @@ gpm_stats_devices_treeview_clicked_cb (GtkTreeSelection *selection, gboolean dat * gpm_stats_window_activated_cb **/ static void -gpm_stats_window_activated_cb (EggUnique *egg_unique, gpointer data) +gpm_stats_window_activated_cb (GtkApplication *app, gpointer data) { GtkWidget *widget; widget = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_stats")); + gtk_application_add_window (GTK_APPLICATION (app), GTK_WINDOW (widget)); gtk_window_present (GTK_WINDOW (widget)); } @@ -1216,6 +1220,7 @@ gpm_stats_add_device (UpDevice *device) const gchar *text; const gchar *icon; UpDeviceKind kind; + gchar *label, *vendor, *model; #if UP_CHECK_VERSION(0, 99, 0) if (devices != NULL) @@ -1228,17 +1233,27 @@ gpm_stats_add_device (UpDevice *device) /* get device properties */ g_object_get (device, "kind", &kind, + "vendor", &vendor, + "model", &model, NULL); id = up_device_get_object_path (device); - text = gpm_device_kind_to_localised_text (kind, 1); + if ((vendor != NULL && strlen(vendor) != 0) && (model != NULL && strlen(model) != 0)) { + label = g_strdup_printf ("%s %s", vendor, model); + } + else { + label = g_strdup_printf ("%s", gpm_device_kind_to_localised_string (kind, 1)); + } icon = gpm_upower_get_device_icon (device); gtk_list_store_append (list_store_devices, &iter); gtk_list_store_set (list_store_devices, &iter, GPM_DEVICES_COLUMN_ID, id, - GPM_DEVICES_COLUMN_TEXT, text, + GPM_DEVICES_COLUMN_TEXT, label, GPM_DEVICES_COLUMN_ICON, icon, -1); + g_free (label); + g_free (vendor); + g_free (model); } /** @@ -1549,9 +1564,10 @@ main (int argc, char *argv[]) gboolean verbose = FALSE; GOptionContext *context; GtkBox *box; - GtkWidget *widget; + GtkWidget *widget, *window; GtkTreeSelection *selection; - EggUnique *egg_unique; + GtkApplication *app; + gint status; gboolean ret; UpClient *client; GPtrArray *devices = NULL; @@ -1592,12 +1608,9 @@ main (int argc, char *argv[]) egg_debug_init (verbose); gtk_init (&argc, &argv); - /* are we already activated? */ - egg_unique = egg_unique_new (); - ret = egg_unique_assign (egg_unique, "org.mate.PowerManager.Statistics"); - if (!ret) - goto unique_out; - g_signal_connect (egg_unique, "activated", + app = gtk_application_new ("org.mate.PowerManager.Statistics", 0); + + g_signal_connect (app, "activate", G_CALLBACK (gpm_stats_window_activated_cb), NULL); /* add application specific icons to search path */ @@ -1629,15 +1642,14 @@ main (int argc, char *argv[]) gtk_widget_set_size_request (graph_statistics, 400, 250); gtk_widget_show (graph_statistics); - widget = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_stats")); - gtk_window_set_default_size (GTK_WINDOW(widget), 800, 500); - gtk_window_set_default_icon_name (GPM_STOCK_APP_ICON); + window = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_stats")); + gtk_window_set_default_size (GTK_WINDOW(window), 800, 500); + gtk_window_set_default_icon_name (GPM_ICON_APP_ICON); /* Get the main window quit */ - g_signal_connect_swapped (widget, "delete_event", G_CALLBACK (gtk_main_quit), NULL); - widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_close")); - g_signal_connect_swapped (widget, "clicked", G_CALLBACK (gtk_main_quit), NULL); + g_signal_connect_swapped (window, "delete_event", G_CALLBACK (gtk_widget_destroy), window); + g_signal_connect_swapped (widget, "clicked", G_CALLBACK (gtk_widget_destroy), window); gtk_widget_grab_default (widget); widget = GTK_WIDGET (gtk_builder_get_object (builder, "button_help")); @@ -1802,8 +1814,6 @@ main (int argc, char *argv[]) #else g_signal_connect (client, "device-added", G_CALLBACK (gpm_stats_device_added_cb), NULL); g_signal_connect (client, "device-removed", G_CALLBACK (gpm_stats_device_removed_cb), NULL); -#endif -#if !UP_CHECK_VERSION(0, 99, 0) g_signal_connect (client, "device-changed", G_CALLBACK (gpm_stats_device_changed_cb), NULL); #endif @@ -1840,9 +1850,8 @@ main (int argc, char *argv[]) gpm_stats_type_combo_changed_cb (widget, NULL); widget = GTK_WIDGET (gtk_builder_get_object (builder, "dialog_stats")); - gtk_widget_show (widget); - gtk_main (); + status = g_application_run (G_APPLICATION (app), argc, argv); #if !UP_CHECK_VERSION(0, 99, 0) out: #endif @@ -1854,8 +1863,7 @@ out: g_object_unref (wakeups); g_object_unref (builder); g_object_unref (list_store_info); -unique_out: - g_object_unref (egg_unique); + g_object_unref (app); g_free (last_device); - return 0; + return status; } |