]> gitweb.michael.orlitzky.com - xfce4-hdaps.git/blobdiff - panel-plugin/xfce4-hdaps-dialogs.c
panel-plugin: whitespace cleanup.
[xfce4-hdaps.git] / panel-plugin / xfce4-hdaps-dialogs.c
index 78fecdb8c4ede9a85610873d3999ac2717af8e8c..26f454e4aa146c104bdd80064acc34f673996322 100644 (file)
@@ -48,15 +48,15 @@ static void hdaps_configure_response(GtkWidget   *dialog,
     /* Launch the user's web browser and direct them to
        the plugin's webpage. */
     gboolean spawn_result = g_spawn_command_line_async("exo-open --launch WebBrowser " PLUGIN_WEBSITE, NULL);
-    
+
     if (G_UNLIKELY(spawn_result == FALSE)) {
       g_warning(_("Unable to open the following url: %s"), PLUGIN_WEBSITE);
     }
-    
+
     return;
   }
 
-  
+
   if (response == GTK_RESPONSE_OK) {
     /* This corresponds to the "Save" button, so we
        want to save any settings that may have changed. */
@@ -68,7 +68,7 @@ static void hdaps_configure_response(GtkWidget   *dialog,
     hdaps_reset_timeout(hdaps);
   }
 
-  
+
   /* Since there is already a "save" button, we should ignore
      any changes that were made if the user presses "cancel"
      instead. */
@@ -83,16 +83,16 @@ static void hdaps_configure_response(GtkWidget   *dialog,
 
 void hdaps_configure(XfcePanelPlugin *plugin,
                     HdapsPlugin     *hdaps) {
-  
+
   /* Here comes a bunch of GTK garbage to create the
      settings dialog. */
-  
+
   GtkWidget *dialog;
   GtkWidget *label;
   GtkWidget *vbox;
   GtkWidget *hbox;
   GtkSizeGroup *sg;
-  
+
   /* Block the plugin menu while the configuration
      dialogue is open. Don't forget to unblock it before
      we close. */
@@ -102,9 +102,9 @@ void hdaps_configure(XfcePanelPlugin *plugin,
   dialog = xfce_titled_dialog_new_with_buttons(_("Hdaps Plugin"),
                                               GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (plugin))),
                                               GTK_DIALOG_DESTROY_WITH_PARENT,
-                                              GTK_STOCK_HELP, GTK_RESPONSE_HELP,
-                                              GTK_STOCK_SAVE, GTK_RESPONSE_OK,
-                                              GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+                                              "gtk-help", GTK_RESPONSE_HELP,
+                                              "gtk-save", GTK_RESPONSE_OK,
+                                              "gtk-cancel", GTK_RESPONSE_CANCEL,
                                               NULL);
 
   /* Center the dialog on screen. */
@@ -121,25 +121,27 @@ void hdaps_configure(XfcePanelPlugin *plugin,
   g_signal_connect(G_OBJECT (dialog), "response",
                   G_CALLBACK(hdaps_configure_response), hdaps);
 
-  
-  vbox = gtk_vbox_new(FALSE, DEFAULT_BORDER_WIDTH);
+
+  vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, DEFAULT_BORDER_WIDTH);
   gtk_container_set_border_width(GTK_CONTAINER(vbox), DEFAULT_BORDER_WIDTH - 2);
-  gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), vbox, TRUE, TRUE, 0);
-  
+  gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))),
+                    vbox, TRUE, TRUE, 0);
+
   /* Create size group to keep widgets aligned */
   sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
 
-  hbox = gtk_hbox_new(FALSE, DEFAULT_BORDER_WIDTH);
+  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, DEFAULT_BORDER_WIDTH);
   gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
 
   label = gtk_label_new(_("Poll Frequency:"));
   gtk_size_group_add_widget(sg, label);
-  gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+  gtk_widget_set_halign(label, 0.0);
+  gtk_widget_set_valign(label, 0.5);
   gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
 
   hdaps->sb_poll_frequency = gtk_spin_button_new_with_range(100, 5000, 100);
   gtk_spin_button_set_value((GtkSpinButton*)hdaps->sb_poll_frequency, hdaps->poll_frequency);
-  
+
   gtk_box_pack_start(GTK_BOX(hbox),
                     hdaps->sb_poll_frequency,
                     FALSE,
@@ -147,12 +149,13 @@ void hdaps_configure(XfcePanelPlugin *plugin,
                     0);
 
   /* Create the device name dropdown. */
-  hbox = gtk_hbox_new(FALSE, DEFAULT_BORDER_WIDTH);
+  hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, DEFAULT_BORDER_WIDTH);
   gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
 
   label = gtk_label_new(_("Device Name:"));
   gtk_size_group_add_widget(sg, label);
-  gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
+  gtk_widget_set_halign(label, 0.0);
+  gtk_widget_set_valign(label, 0.5);
   gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
 
   hdaps->cb_device_name = gtk_combo_box_text_new();
@@ -160,17 +163,17 @@ void hdaps_configure(XfcePanelPlugin *plugin,
   /* Add the current device name, it should always be available.
      Oh, and it should be the default, too. */
   gtk_combo_box_text_append_text((GtkComboBoxText*)hdaps->cb_device_name, hdaps->device_name);
-  
+
   /* This function takes an index, and 0 should be the first
      (only) index at this point. */
   gtk_combo_box_set_active((GtkComboBox*)hdaps->cb_device_name, 0);
-  
+
   /* Now loop through the list of available devices, adding each
      to the list as we go. */
   char hdaps_devices[MAX_HDAPS_DEVICES][FILENAME_MAX];
   int found_devices = get_hdaps_device_list(hdaps_devices);
   int list_idx = 0;
-  
+
   for (list_idx = 0; list_idx < found_devices; list_idx++) {
     /* We don't want to add duplicate entries to the combo box.
        However, at this point, the current device name should be
@@ -180,9 +183,9 @@ void hdaps_configure(XfcePanelPlugin *plugin,
       gtk_combo_box_text_append_text((GtkComboBoxText*)hdaps->cb_device_name, hdaps_devices[list_idx]);
     }
   }
-  
+
   gtk_box_pack_start(GTK_BOX(hbox), hdaps->cb_device_name, FALSE, FALSE, 0);
-  
+
   /* Show the dialog and all of its widgets. */
   gtk_widget_show_all(dialog);
 }
@@ -190,41 +193,34 @@ void hdaps_configure(XfcePanelPlugin *plugin,
 
 
 
-/* URL handler used on the About dialog. */
-static void hdaps_url_handler(GtkAboutDialog *about,
-                             const gchar *link,
+/* URI (http(s):// and mailto://) handler used on the About dialog. */
+static void hdaps_uri_handler(GtkAboutDialog *about,
+                             const gchar *uri,
                              gpointer data) {
     gchar *cmd;
 
-    cmd = g_strdup_printf("%s %s","xdg-open", link);
+    cmd = g_strdup_printf("%s %s","xdg-open", uri);
 
-    /* Stolen from xfce4-power-manager. */
     if (!g_spawn_command_line_async(cmd, NULL)) {
       g_free(cmd);
-      cmd = g_strdup_printf("%s %s","xfbrowser4", link);
+      cmd = g_strdup_printf("%s %s","xdg-open", uri);
       g_spawn_command_line_async(cmd, NULL);
     }
     g_free(cmd);
 }
 
 
-/* Email address handler used on the About dialog. */
-static void hdaps_mailto_handler(GtkAboutDialog *about,
-                                const gchar *link,
-                                gpointer data) {
-    gchar *cmd = g_strdup_printf( "%s %s", "xdg-email", link);
-
-    g_spawn_command_line_async(cmd, NULL);
-    g_free(cmd);
-}
-
-
 void hdaps_about(XfcePanelPlugin *plugin) {
   const gchar *authors[] = { "Michael Orlitzky <michael@orlitzky.com>", NULL };
   const gchar *copyright = "Copyright \302\251 2012 Michael Orlitzky";
 
-  gtk_about_dialog_set_url_hook(hdaps_url_handler, NULL, NULL);
-  gtk_about_dialog_set_email_hook(hdaps_mailto_handler, NULL, NULL);
+  /* Use a custom URI handler for http(s):// and mailto:// URIs. The
+     default behavior apparently needs gio/gvfs to work, and I don't
+     have those installed. */
+  g_signal_connect(plugin,
+                  "activate-link",
+                  G_CALLBACK(hdaps_uri_handler),
+                  NULL);
 
   gtk_show_about_dialog(NULL,
                        "authors", authors,