X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui.c;h=aa504c3996a8c3d32e6d0485042f88fcc7fefd89;hb=8f90b2a24c698c17e363ee38b14097dfde2fe0d9;hp=dcb3ea080f3a18e9e53300a329daa2acd2765c28;hpb=9cbed896abcdbd9e00064b86bb4db1981ff37eb2;p=psensor.git diff --git a/src/ui.c b/src/ui.c index dcb3ea0..aa504c3 100644 --- a/src/ui.c +++ b/src/ui.c @@ -18,15 +18,39 @@ */ #include -#include "cfg.h" -#include "slog.h" -#include "ui.h" -#include "ui_graph.h" -#include "ui_pref.h" -#include "ui_sensorpref.h" -#include "ui_sensorlist.h" -#include "ui_status.h" -#include "ui_appindicator.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +static void set_decoration(GtkWindow *win) +{ + gtk_window_set_decorated(win, config_is_window_decoration_enabled()); +} + +static void +decoration_changed_cbk(GSettings *settings, gchar *key, gpointer data) +{ + set_decoration((GtkWindow *)data); +} + +static void connect_cbks(GtkWindow *win) +{ + log_fct_enter(); + + g_signal_connect_after(config_get_GSettings(), + "changed::interface-window-decoration-disabled", + G_CALLBACK(decoration_changed_cbk), + win); + + log_fct_exit(); +} static void save_window_pos(struct ui_psensor *ui) { @@ -76,7 +100,7 @@ on_delete_event_cb(GtkWidget *widget, GdkEvent *event, gpointer data) return TRUE; } -void ui_show_about_dialog() +void ui_show_about_dialog(void) { static const char *const authors[] = { "jeanfi@gmail.com", NULL }; @@ -225,8 +249,7 @@ void ui_window_create(struct ui_psensor *ui) g_signal_connect(window, "delete_event", G_CALLBACK(on_delete_event_cb), ui); - gtk_window_set_decorated(GTK_WINDOW(window), - cfg->window_decoration_enabled); + set_decoration(GTK_WINDOW(window)); gtk_window_set_keep_below(GTK_WINDOW(window), cfg->window_keep_below_enabled); @@ -253,6 +276,8 @@ void ui_window_create(struct ui_psensor *ui) ui_sensorlist_create(ui); + connect_cbks(GTK_WINDOW(window)); + log_debug("ui_window_create(): show_all"); gtk_widget_show_all(ui->main_box); @@ -349,11 +374,11 @@ static int cmp_sensors(const void *p1, const void *p2) return pos1 - pos2; } -struct psensor **ui_get_sensors_ordered_by_position(const struct ui_psensor *ui) +struct psensor **ui_get_sensors_ordered_by_position(struct psensor **sensors) { struct psensor **result; - result = psensor_list_copy(ui->sensors); + result = psensor_list_copy(sensors); qsort(result, psensor_list_size(result), sizeof(struct psensor *),