Fixed restoration of the panel divider position.
[psensor.git] / src / ui.h
index affb9a8..426f29c 100644 (file)
--- a/src/ui.h
+++ b/src/ui.h
@@ -1,91 +1,74 @@
 /*
-    Copyright (C) 2010-2011 jeanfi@gmail.com
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation; either version 2 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-    02110-1301 USA
-*/
-
+ * Copyright (C) 2010-2016 jeanfi@gmail.com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ */
 #ifndef _PSENSOR_UI_H_
 #define _PSENSOR_UI_H_
 
 #include "config.h"
 
+#include <pthread.h>
+
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
-#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
+#if defined(HAVE_APPINDICATOR)
 #include <libappindicator/app-indicator.h>
 #endif
 
 #include "psensor.h"
 
+#define PSENSOR_ICON "psensor"
+
 struct ui_psensor {
        struct psensor **sensors;
-
-       GtkWidget *w_graph;
-
-       struct ui_sensorlist *ui_sensorlist;
+       /* mutex which MUST be used for accessing sensors.*/
+       pthread_mutex_t sensors_mutex;
 
        struct config *config;
 
        GtkWidget *main_window;
 
-       /*
-          The main vertical box, top contains the menubar, bottom
-          contains the sensor_box.
-       */
-       GtkWidget *main_box;
-
-       /*
-          The box which contains the sensors graph and the sensors
-          information list.
-       */
-       GtkWidget *sensor_box;
+       GtkWidget *popup_menu;
 
-       GtkWidget *w_sensorlist;
+       GtkListStore *sensors_store;
+       GtkTreeView *sensors_tree;
 
        int graph_update_interval;
+};
 
-       GMutex *sensors_mutex;
+/* Show the main psensor window. */
+void ui_window_show(struct ui_psensor *);
 
-#ifdef HAVE_LIBNOTIFY
-       /*
-          Time of the last notification
-        */
-       struct timeval *notification_last_time;
-#endif
+/* Must be called to terminate Psensor UI. */
+void ui_psensor_quit(struct ui_psensor *ui);
 
-#if defined(HAVE_APPINDICATOR) || defined(HAVE_APPINDICATOR_029)
-       AppIndicator *indicator;
-#endif
-};
+/* Creates the main GTK window */
+void ui_window_create(struct ui_psensor *ui);
 
-/*
-  Creates or re-creates the sensor_box according to the position of
-  the list of sensors in the configuration.
-*/
-void ui_sensor_box_create(struct ui_psensor *);
+void ui_menu_bar_show(unsigned int show, struct ui_psensor *ui);
 
-/*
-  Must be called to terminate Psensor UI.
-*/
-void ui_psensor_quit();
+void ui_enable_alpha_channel(struct ui_psensor *ui);
 
-/*
-  Creates the main GTK window
-*/
-GtkWidget *ui_window_create(struct ui_psensor * ui);
+void ui_cb_preferences(GtkMenuItem *mi, gpointer data);
+void ui_cb_menu_quit(GtkMenuItem *mi, gpointer data);
+void ui_cb_sensor_preferences(GtkMenuItem *mi, gpointer data);
+
+GtkWidget *ui_get_graph(void);
 
+struct psensor **ui_get_sensors_ordered_by_position(struct psensor **);
 #endif