#include "log.h"
#include "ui_status.h"
-void ui_status_create()
+GtkStatusIcon *status;
+
+static void cb_activate(GtkStatusIcon *icon,
+ gpointer data)
+{
+ struct ui_psensor *ui;
+
+ log_printf(LOG_DEBUG, "cb_activate()");
+
+ ui = (struct ui_psensor *)data;
+ gtk_window_present(GTK_WINDOW(ui->main_window));
+}
+
+static void cb_popup_menu(GtkStatusIcon *icon,
+ guint button,
+ guint activate_time,
+ gpointer data)
+{
+ log_printf(LOG_DEBUG, "cb_popup_menu()");
+}
+
+void ui_status_init(struct ui_psensor *ui)
{
- GtkStatusIcon *tray_icon;
-
log_printf(LOG_DEBUG, "ui_status_create()");
- tray_icon = gtk_status_icon_new();
- gtk_status_icon_set_from_icon_name(tray_icon,
- GTK_STOCK_MEDIA_STOP);
- gtk_status_icon_set_tooltip(tray_icon,
- "Example Tray Icon");
- gtk_status_icon_set_visible(tray_icon, TRUE);
+ status = gtk_status_icon_new();
+ gtk_status_icon_set_from_icon_name(status, "psensor");
+ gtk_status_icon_set_visible(status, TRUE);
+
+ g_signal_connect(G_OBJECT(status),
+ "popup-menu",
+ G_CALLBACK(cb_popup_menu),
+ NULL);
+
+ g_signal_connect(G_OBJECT(status),
+ "activate",
+ G_CALLBACK(cb_activate),
+ ui);
+}
+
+int is_status_supported()
+{
+ return gtk_status_icon_is_embedded(status);
+}
+
+void ui_status_cleanup()
+{
+ log_printf(LOG_DEBUG, "ui_status_cleanup()");
+
+ g_object_unref(G_OBJECT(status));
+}
+
+void ui_status_update(struct ui_psensor *ui, unsigned int attention)
+{
+ log_printf(LOG_DEBUG, "ui_status_update()");
}