From 9962504b9013b78943b8a8854da0ec4bb6456750 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Wed, 9 Nov 2011 21:50:06 +0000 Subject: [PATCH] status --- src/main.c | 11 ++++++++--- src/ui_appindicator.c | 5 +++++ src/ui_appindicator.h | 1 + src/ui_status.c | 16 +++++++++++++--- src/ui_status.h | 6 +++++- 5 files changed, 32 insertions(+), 7 deletions(-) diff --git a/src/main.c b/src/main.c index a88e25e..f06ea5b 100644 --- a/src/main.c +++ b/src/main.c @@ -40,6 +40,7 @@ #include "lmsensor.h" #include "ui_pref.h" #include "ui_graph.h" +#include "ui_status.h" #ifdef HAVE_UNITY #include "ui_unity.h" @@ -59,8 +60,6 @@ #if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) #include "ui_appindicator.h" -#else -#include "ui_status.h" #endif #ifdef HAVE_LIBNOTIFY @@ -448,7 +447,7 @@ int main(int argc, char **argv) #if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) ui_appindicator_init(&ui); #else - ui_status_create(); + ui_status_init(); #endif gdk_notify_startup_complete(); @@ -473,6 +472,12 @@ int main(int argc, char **argv) psensor_list_free(ui.sensors); ui.sensors = NULL; +#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029) + ui_appindicator_cleanup(); +#else + ui_status_cleanup(); +#endif + g_mutex_unlock(ui.sensors_mutex); config_cleanup(); diff --git a/src/ui_appindicator.c b/src/ui_appindicator.c index 45ed0fd..249d00d 100644 --- a/src/ui_appindicator.c +++ b/src/ui_appindicator.c @@ -278,3 +278,8 @@ int is_appindicator_supported() { return appindicator_supported; } + +void ui_appindicator_cleanup() +{ + /* TODO: cleanup menu items. */ +} diff --git a/src/ui_appindicator.h b/src/ui_appindicator.h index d1912b4..a756388 100644 --- a/src/ui_appindicator.h +++ b/src/ui_appindicator.h @@ -25,5 +25,6 @@ void ui_appindicator_init(struct ui_psensor *ui); void ui_appindicator_update(struct ui_psensor *ui); int is_appindicator_supported(); +void ui_appindicator_cleanup(); #endif diff --git a/src/ui_status.c b/src/ui_status.c index cbb783e..49137e0 100644 --- a/src/ui_status.c +++ b/src/ui_status.c @@ -22,10 +22,10 @@ #include "log.h" #include "ui_status.h" -void ui_status_create() -{ - GtkStatusIcon *status; +GtkStatusIcon *status; +void ui_status_init() +{ log_printf(LOG_DEBUG, "ui_status_create()"); status = gtk_status_icon_new(); @@ -34,3 +34,13 @@ void ui_status_create() "Psensor - Hardware Sensors Monitoring"); gtk_status_icon_set_visible(status, TRUE); } + +int is_status_supported() +{ + return gtk_status_icon_is_embedded(status); +} + +void ui_status_cleanup() +{ + g_object_unref(G_OBJECT(status)); +} diff --git a/src/ui_status.h b/src/ui_status.h index 677d5ee..ec65075 100644 --- a/src/ui_status.h +++ b/src/ui_status.h @@ -20,6 +20,10 @@ #ifndef _PSENSOR_UI_STATUS_H_ #define _PSENSOR_UI_STATUS_H_ -void ui_status_create(); +void ui_status_init(); +void ui_status_cleanup(); + +/* Whether status icon is supported i.e. visible. */ +int is_status_supported(); #endif -- 2.7.4