X-Git-Url: http://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Fui.c;h=e81e84197cb0782e0c012c0dd65885c6b7b808e0;hb=ae573ea0c5328662e711d7717edc835d1a313d58;hp=c0a5cb673645474e763158e67348274e018e32b8;hpb=37afe949c5c7aff3abe6e030161c64c8603877b2;p=psensor.git diff --git a/src/ui.c b/src/ui.c index c0a5cb6..e81e841 100644 --- a/src/ui.c +++ b/src/ui.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2010-2013 jeanfi@gmail.com + * Copyright (C) 2010-2014 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 @@ -28,6 +28,29 @@ #include "ui_status.h" #include "ui_appindicator.h" +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) { gboolean visible; @@ -76,18 +99,25 @@ 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 }; + gtk_show_about_dialog (NULL, + "authors", authors, "comments", _("Psensor is a GTK+ application for monitoring hardware " "sensors"), "copyright", - _("Copyright(c) 2010-2012\njeanfi@gmail.com"), + _("Copyright(c) 2010-2014 jeanfi@gmail.com"), +#if GTK_CHECK_VERSION(3, 12, 0) + "license-type", GTK_LICENSE_GPL_2_0, +#endif "logo-icon-name", "psensor", "program-name", "Psensor", "title", _("About Psensor"), + "translator-credits", _("translator-credits"), "version", VERSION, "website", PACKAGE_URL, "website-label", _("Psensor Homepage"), @@ -152,8 +182,7 @@ void ui_enable_alpha_channel(struct ui_psensor *ui) } } -static void -slog_enabled_cbk(GConfClient *client, guint id, GConfEntry *e, gpointer data) +static void slog_enabled_cbk(void *data) { struct ui_psensor *ui; struct psensor **sensors; @@ -192,7 +221,7 @@ void ui_window_create(struct ui_psensor *ui) if (!ok) { log_printf(LOG_ERR, error->message); g_error_free(error); - return ; + return; } window = GTK_WIDGET(gtk_builder_get_object(builder, "window")); @@ -203,7 +232,7 @@ void ui_window_create(struct ui_psensor *ui) cfg->window_x, cfg->window_y); - config_slog_enabled_notify_add(slog_enabled_cbk, ui); + config_set_slog_enabled_changed_cbk(slog_enabled_cbk, ui); gtk_window_set_default_size(GTK_WINDOW(window), cfg->window_w, @@ -219,8 +248,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); @@ -247,6 +275,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); @@ -343,11 +373,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 *),