From 14fc47ac64775ddfbc62ad606c7a94054dc4a898 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Orsini Date: Tue, 23 Sep 2014 09:55:31 +0200 Subject: [PATCH] Added tooltip explaining why a setting is not available --- src/glade/psensor-pref.glade | 6 ++++++ src/glade/sensor-edit.glade | 2 ++ src/main.c | 10 +++++----- src/ui_pref.c | 23 +++++++++++++++++++++++ src/ui_sensorpref.c | 14 ++++++++++++++ 5 files changed, 50 insertions(+), 5 deletions(-) diff --git a/src/glade/psensor-pref.glade b/src/glade/psensor-pref.glade index 54b1ee1..868c682 100644 --- a/src/glade/psensor-pref.glade +++ b/src/glade/psensor-pref.glade @@ -187,6 +187,7 @@ True True False + Psensor has not been build with Unity Launcher support 4 4 4 @@ -1023,6 +1024,7 @@ True True False + Psensor has not been build with NVCtrl support 14 4 4 @@ -1043,6 +1045,7 @@ True True False + Psensor has not been build with ATI ADL support 14 4 4 @@ -1063,6 +1066,7 @@ True True False + Psensor has not been build with gtop2 support 14 4 4 @@ -1103,6 +1107,7 @@ True True False + Psensor has not been build with libatasmart support 14 4 4 @@ -1123,6 +1128,7 @@ True True False + Psensor has not been build with udisks2 support 14 4 4 diff --git a/src/glade/sensor-edit.glade b/src/glade/sensor-edit.glade index 167c9eb..ad7d7ce 100644 --- a/src/glade/sensor-edit.glade +++ b/src/glade/sensor-edit.glade @@ -630,6 +630,7 @@ True True False + Psensor has not been build with AppIndicator support 4 4 4 @@ -651,6 +652,7 @@ True True False + Psensor has not been build with AppIndicator support 4 4 4 diff --git a/src/main.c b/src/main.c index 7840485..461949f 100644 --- a/src/main.c +++ b/src/main.c @@ -519,7 +519,7 @@ int main(int argc, char **argv) pthread_t thread; int optc, cmdok, opti, new_instance, ret; char *url = NULL; - GApplication *app; + GtkApplication *app; program_name = argv[0]; @@ -567,12 +567,12 @@ int main(int argc, char **argv) log_init(); - app = g_application_new("wpitchoune.psensor", 0); + app = gtk_application_new("wpitchoune.psensor", G_APPLICATION_IS_SERVICE); - g_application_register(app, NULL, NULL); + printf("%d\n",g_application_register(G_APPLICATION(app), NULL, NULL)); - if (!new_instance && g_application_get_is_remote(app)) { - g_application_activate(app); + if (!new_instance && g_application_get_is_remote(G_APPLICATION(app))) { + g_application_activate(G_APPLICATION(app)); log_warn(_("A Psensor instance already exists.")); exit(EXIT_SUCCESS); } diff --git a/src/ui_pref.c b/src/ui_pref.c index 5494777..cae40f2 100644 --- a/src/ui_pref.c +++ b/src/ui_pref.c @@ -144,6 +144,14 @@ void ui_pref_dialog_run(struct ui_psensor *ui) gtk_toggle_button_set_active(w_enable_launcher_counter, !cfg->unity_launcher_count_disabled); +#if !HAVE_APPINDICATOR && !HAVE_APPINDICATOR_029 + gtk_widget_set_sensitive(GTK_WIDGET(w_enable_launcher_counter), FALSE); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_enable_launcher_counter), TRUE); +#else + gtk_widget_set_has_tooltip(GTK_WIDGET(w_enable_launcher_counter), + FALSE); +#endif + w_smooth_curves = GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "graph_smooth_curves")); gtk_toggle_button_set_active(w_smooth_curves, @@ -185,6 +193,9 @@ void ui_pref_dialog_run(struct ui_psensor *ui) "nvctrl")); #if !HAVE_NVIDIA gtk_widget_set_sensitive(GTK_WIDGET(w_nvctrl), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_nvctrl), TRUE); +#else + gtk_widget_set_has_tooltip(GTK_WIDGET(w_nvctrl), FALSE); #endif gtk_toggle_button_set_active(w_nvctrl, config_is_nvctrl_enabled()); @@ -193,6 +204,9 @@ void ui_pref_dialog_run(struct ui_psensor *ui) "atiadlsdk")); #if !HAVE_LIBATIADL gtk_widget_set_sensitive(GTK_WIDGET(w_atiadlsdk), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_atiadlsdk), TRUE); +#else + gtk_widget_set_has_tooltip(GTK_WIDGET(w_atiadlsdk), FALSE); #endif gtk_toggle_button_set_active(w_atiadlsdk, config_is_atiadlsdk_enabled()); @@ -202,6 +216,9 @@ void ui_pref_dialog_run(struct ui_psensor *ui) "gtop2")); #if !HAVE_GTOP gtk_widget_set_sensitive(GTK_WIDGET(w_gtop2), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_gtop2), TRUE); +#else + gtk_widget_set_has_tooltip(GTK_WIDGET(w_gtop2), FALSE); #endif gtk_toggle_button_set_active(w_gtop2, config_is_gtop2_enabled()); @@ -216,6 +233,9 @@ void ui_pref_dialog_run(struct ui_psensor *ui) "libatasmart")); #if !HAVE_ATASMART gtk_widget_set_sensitive(GTK_WIDGET(w_libatasmart), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_libatasmart), TRUE); +#else + gtk_widget_set_has_tooltip(GTK_WIDGET(w_libatasmart), FALSE); #endif gtk_toggle_button_set_active(w_libatasmart, config_is_libatasmart_enabled()); @@ -225,6 +245,9 @@ void ui_pref_dialog_run(struct ui_psensor *ui) "udisks2")); #if !HAVE_LIBUDISKS2 gtk_widget_set_sensitive(GTK_WIDGET(w_udisks2), 0); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_udisks2), TRUE); +#else + gtk_widget_set_has_tooltip(GTK_WIDGET(w_udisks2), FALSE); #endif gtk_toggle_button_set_active(w_udisks2, config_is_udisks2_enabled()); diff --git a/src/ui_sensorpref.c b/src/ui_sensorpref.c index 6ca0815..76a90ea 100644 --- a/src/ui_sensorpref.c +++ b/src/ui_sensorpref.c @@ -290,6 +290,20 @@ update_pref(struct sensor_pref *p, struct config *cfg, GtkBuilder *builder) w_appindicator_label_enabled = GTK_TOGGLE_BUTTON (gtk_builder_get_object(builder, "indicator_label_checkbox")); + +#if !HAVE_APPINDICATOR && !HAVE_APPINDICATOR_029 + gtk_widget_set_sensitive(GTK_WIDGET(w_appindicator_label_enabled), + FALSE); + gtk_widget_set_sensitive(GTK_WIDGET(w_appindicator_enabled), FALSE); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_appindicator_label_enabled), + TRUE); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_appindicator_enabled), TRUE); +#else + gtk_widget_set_has_tooltip(GTK_WIDGET(w_appindicator_label_enabled), + FALSE); + gtk_widget_set_has_tooltip(GTK_WIDGET(w_appindicator_enabled), FALSE); +#endif + gtk_toggle_button_set_active(w_alarm, p->alarm_enabled); gtk_spin_button_set_value(w_high_threshold, p->alarm_high_threshold); gtk_spin_button_set_value(w_low_threshold, p->alarm_low_threshold); -- 2.7.4