X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=panel-plugin%2Fxfce4-hdaps-dialogs.c;h=bacd540e22ae00e6a027879e53a5ecf18b43ac04;hb=9fb98b3d659e7f19e78a0a561c68e1152cadd3e1;hp=78fecdb8c4ede9a85610873d3999ac2717af8e8c;hpb=eca7888e5b1854e1bc95f0de26ea4904f7ac51f1;p=xfce4-hdaps.git diff --git a/panel-plugin/xfce4-hdaps-dialogs.c b/panel-plugin/xfce4-hdaps-dialogs.c index 78fecdb..bacd540 100644 --- a/panel-plugin/xfce4-hdaps-dialogs.c +++ b/panel-plugin/xfce4-hdaps-dialogs.c @@ -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. */ @@ -122,19 +122,21 @@ void hdaps_configure(XfcePanelPlugin *plugin, 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); @@ -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(); @@ -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 ", 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,