avoid cpp in code
[psensor.git] / src / ui_pref.c
index 5494777..6f7f3b6 100644 (file)
 #include <stdlib.h>
 #include <string.h>
 
+#include <amd.h>
 #include <ui.h>
 #include <cfg.h>
 #include <graph.h>
+#include <nvidia.h>
+#include <pgtop2.h>
+#include <pxdg.h>
 #include <ui_pref.h>
 #include <ui_color.h>
-#include <pxdg.h>
 
 GdkRGBA color_to_GdkRGBA(struct color *color)
 {
@@ -144,6 +147,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_UNITY
+       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,
@@ -183,26 +194,40 @@ void ui_pref_dialog_run(struct ui_psensor *ui)
        w_nvctrl
                = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
                                                           "nvctrl"));
-#if !HAVE_NVIDIA
-       gtk_widget_set_sensitive(GTK_WIDGET(w_nvctrl), 0);
-#endif
+
+       if (nvidia_is_supported()) {
+               gtk_widget_set_has_tooltip(GTK_WIDGET(w_nvctrl), FALSE);
+       } else {
+               gtk_widget_set_sensitive(GTK_WIDGET(w_nvctrl), 0);
+               gtk_widget_set_has_tooltip(GTK_WIDGET(w_nvctrl), TRUE);
+       }
+
        gtk_toggle_button_set_active(w_nvctrl, config_is_nvctrl_enabled());
 
        w_atiadlsdk
                = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
                                                           "atiadlsdk"));
-#if !HAVE_LIBATIADL
-       gtk_widget_set_sensitive(GTK_WIDGET(w_atiadlsdk), 0);
-#endif
+       if (amd_is_supported()) {
+               gtk_widget_set_has_tooltip(GTK_WIDGET(w_atiadlsdk), FALSE);
+       } else {
+               gtk_widget_set_sensitive(GTK_WIDGET(w_atiadlsdk), 0);
+               gtk_widget_set_has_tooltip(GTK_WIDGET(w_atiadlsdk), TRUE);
+       }
+
        gtk_toggle_button_set_active(w_atiadlsdk,
                                     config_is_atiadlsdk_enabled());
 
        w_gtop2
                = GTK_TOGGLE_BUTTON(gtk_builder_get_object(builder,
                                                           "gtop2"));
-#if !HAVE_GTOP
-       gtk_widget_set_sensitive(GTK_WIDGET(w_gtop2), 0);
-#endif
+
+       if (gtop2_is_supported()) {
+               gtk_widget_set_has_tooltip(GTK_WIDGET(w_gtop2), FALSE);
+       } else {
+               gtk_widget_set_sensitive(GTK_WIDGET(w_gtop2), 0);
+               gtk_widget_set_has_tooltip(GTK_WIDGET(w_gtop2), TRUE);
+       }
+
        gtk_toggle_button_set_active(w_gtop2, config_is_gtop2_enabled());
 
        w_hddtemp
@@ -216,6 +241,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 +253,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());