static void fortune_fish_plugin_settings(fortune_fish_plugin *fish_plugin) { GtkWidget *dialog, *content_area, *settings; xfce_panel_plugin_block_menu(fish_plugin->plugin); dialog = xfce_titled_dialog_new_with_buttons("Fortune Fish", GTK_WINDOW(gtk_widget_get_toplevel(GTK_WIDGET(fish_plugin->plugin))), GTK_DIALOG_DESTROY_WITH_PARENT, "_Close", GTK_RESPONSE_OK, NULL); xfce_titled_dialog_set_subtitle(XFCE_TITLED_DIALOG(dialog), "Settings"); gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); gtk_window_set_icon_name(GTK_WINDOW(dialog), "fortune-fish"); settings = fortune_fish_settings_new(fish_plugin->fish); content_area = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); gtk_container_add(GTK_CONTAINER(content_area), settings); g_signal_connect_swapped(dialog, "response", G_CALLBACK(fortune_fish_plugin_settings_close), fish_plugin); gtk_widget_show_all(dialog); }
static void xfburn_preferences_dialog_init (XfburnPreferencesDialog * obj) { GtkBox *box = GTK_BOX (GTK_DIALOG (obj)->vbox); XfburnPreferencesDialogPrivate *priv = XFBURN_PREFERENCES_DIALOG_GET_PRIVATE (obj); GtkWidget *vbox, *vbox2, *vbox3, *hbox; GtkWidget *label; GtkWidget *frame; GtkWidget *scrolled_window; GtkListStore *icon_store, *store; gint x,y; GdkPixbuf *icon = NULL; GtkTreeIter iter; GtkTreeViewColumn *column_name; GtkCellRenderer *cell_icon, *cell_name; GtkWidget *button_close; gint idx; gtk_window_set_title (GTK_WINDOW (obj), _("Preferences")); xfce_titled_dialog_set_subtitle (XFCE_TITLED_DIALOG (obj), _("Tune how Xfburn behaves")); gtk_window_set_default_size (GTK_WINDOW (obj), 775, 400); gtk_window_set_destroy_with_parent (GTK_WINDOW (obj), TRUE); gtk_window_set_icon_name (GTK_WINDOW (obj), GTK_STOCK_PREFERENCES); gtk_dialog_set_has_separator (GTK_DIALOG (obj), FALSE); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (box, hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); scrolled_window = gtk_scrolled_window_new (NULL, NULL); g_object_set (G_OBJECT (scrolled_window), "hscrollbar-policy", GTK_POLICY_NEVER, "shadow-type", GTK_SHADOW_IN, "vscrollbar-policy", GTK_POLICY_NEVER, NULL); gtk_box_pack_start (GTK_BOX (hbox), scrolled_window, FALSE, FALSE, 0); gtk_widget_show (scrolled_window); /* icon bar */ icon_store = gtk_list_store_new (SETTINGS_LIST_N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT); priv->icon_bar = exo_icon_bar_new_with_model (GTK_TREE_MODEL (icon_store)); exo_icon_bar_set_pixbuf_column (EXO_ICON_BAR (priv->icon_bar), SETTINGS_LIST_PIXBUF_COLUMN); exo_icon_bar_set_text_column (EXO_ICON_BAR (priv->icon_bar), SETTINGS_LIST_TEXT_COLUMN); gtk_container_add (GTK_CONTAINER (scrolled_window), priv->icon_bar); gtk_widget_show (priv->icon_bar); /* notebook */ priv->notebook = gtk_notebook_new (); gtk_container_set_border_width (GTK_CONTAINER (priv->notebook), BORDER); g_object_set (G_OBJECT (priv->notebook), "show-border", FALSE, "show-tabs", FALSE, NULL); gtk_box_pack_start (GTK_BOX (hbox), priv->notebook, TRUE, TRUE, BORDER); gtk_widget_show (priv->notebook); /* general tab */ vbox = gtk_vbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), BORDER); idx = gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), vbox, NULL); gtk_widget_show (vbox); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox2); frame = xfce_gtk_frame_box_new_with_content (_("Temporary directory"), vbox2); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, BORDER); gtk_widget_show (frame); priv->chooser_button = gtk_file_chooser_button_new (_("Temporary directory"), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); gtk_box_pack_start (GTK_BOX (vbox2), priv->chooser_button, FALSE, FALSE, BORDER); gtk_widget_show (priv->chooser_button); priv->check_clean_tmpdir = gtk_check_button_new_with_mnemonic (_("_Clean temporary directory on exit")); gtk_box_pack_start (GTK_BOX (vbox2), priv->check_clean_tmpdir, FALSE, FALSE, BORDER); gtk_widget_show (priv->check_clean_tmpdir); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox2); frame = xfce_gtk_frame_box_new_with_content (_("File browser"), vbox2); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, BORDER); gtk_widget_show (frame); priv->check_show_hidden = gtk_check_button_new_with_mnemonic (_("Show _hidden files")); gtk_box_pack_start (GTK_BOX (vbox2), priv->check_show_hidden, FALSE, FALSE, BORDER); gtk_widget_show (priv->check_show_hidden); g_signal_connect (G_OBJECT (priv->check_show_hidden), "clicked", G_CALLBACK (cb_show_hidden_clicked), NULL); priv->check_show_human_readable = gtk_check_button_new_with_mnemonic (_("Show human_readable filesizes")); gtk_box_pack_start (GTK_BOX (vbox2), priv->check_show_human_readable, FALSE, FALSE, BORDER); gtk_widget_show (priv->check_show_human_readable); icon = gtk_widget_render_icon (GTK_WIDGET (priv->icon_bar), GTK_STOCK_PROPERTIES, GTK_ICON_SIZE_DIALOG, NULL); gtk_list_store_append (icon_store, &iter); gtk_list_store_set (icon_store, &iter, SETTINGS_LIST_PIXBUF_COLUMN, icon, SETTINGS_LIST_TEXT_COLUMN, _("General"), SETTINGS_LIST_INDEX_COLUMN, idx, -1); g_object_unref (G_OBJECT (icon)); /* devices tab */ vbox = gtk_vbox_new (FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), BORDER); idx = gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), vbox, NULL); gtk_widget_show (vbox); label = gtk_label_new (_("Devices")); gtk_widget_show (label); gtk_notebook_set_tab_label (GTK_NOTEBOOK (priv->notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (priv->notebook), 1), label); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox2); frame = xfce_gtk_frame_box_new_with_content (_("Detected devices"), vbox2); gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, BORDER); gtk_widget_show (frame); scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_IN); gtk_widget_show (scrolled_window); gtk_box_pack_start (GTK_BOX (vbox2), scrolled_window, TRUE, TRUE, BORDER); store = gtk_list_store_new (DEVICE_LIST_N_COLUMNS, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN); priv->treeview_devices = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store)); gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (store), DEVICE_LIST_COLUMN_NAME, GTK_SORT_ASCENDING); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (priv->treeview_devices), TRUE); gtk_widget_show (priv->treeview_devices); gtk_container_add (GTK_CONTAINER (scrolled_window), priv->treeview_devices); g_object_unref (store); /* add columns */ column_name = gtk_tree_view_column_new (); gtk_tree_view_column_set_title (column_name, _("Name")); gtk_tree_view_column_set_expand (column_name, TRUE); cell_icon = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start (column_name, cell_icon, FALSE); gtk_tree_view_column_set_attributes (column_name, cell_icon, "pixbuf", DEVICE_LIST_COLUMN_ICON, NULL); g_object_set (cell_icon, "xalign", 0.0, "ypad", 0, NULL); cell_name = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_start (column_name, cell_name, TRUE); gtk_tree_view_column_set_attributes (column_name, cell_name, "text", DEVICE_LIST_COLUMN_NAME, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (priv->treeview_devices), column_name); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->treeview_devices), -1, _("Node"), gtk_cell_renderer_text_new (), "text", DEVICE_LIST_COLUMN_NODE, NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->treeview_devices), -1, _("Write CD-R"), gtk_cell_renderer_toggle_new (), "active", DEVICE_LIST_COLUMN_CDR, NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->treeview_devices), -1, _("Write CD-RW"), gtk_cell_renderer_toggle_new (), "active", DEVICE_LIST_COLUMN_CDRW, NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->treeview_devices), -1, _("Write DVD-R"), gtk_cell_renderer_toggle_new (), "active", DEVICE_LIST_COLUMN_DVDR, NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->treeview_devices), -1, _("Write DVD-RAM"), gtk_cell_renderer_toggle_new (), "active", DEVICE_LIST_COLUMN_DVDRAM, NULL); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->treeview_devices), -1, _("Write Blu-ray"), gtk_cell_renderer_toggle_new (), "active", DEVICE_LIST_COLUMN_BD, NULL); hbox = gtk_hbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, BORDER); gtk_widget_show (hbox); priv->button_scan = xfce_gtk_button_new_mixed (GTK_STOCK_CDROM, _("Sc_an for devices")); gtk_box_pack_end (GTK_BOX (hbox), priv->button_scan, FALSE, FALSE, BORDER); g_signal_connect (G_OBJECT (priv->button_scan), "clicked", G_CALLBACK (scan_button_clicked_cb), obj); gtk_widget_show (priv->button_scan); gtk_icon_size_lookup (GTK_ICON_SIZE_DIALOG, &x, &y); icon = gtk_icon_theme_load_icon ( gtk_icon_theme_get_default(), "media-optical", x, GTK_ICON_LOOKUP_GENERIC_FALLBACK, NULL); if (!icon) icon = gtk_icon_theme_load_icon ( gtk_icon_theme_get_default(), "media-cdrom", x, GTK_ICON_LOOKUP_GENERIC_FALLBACK, NULL); if (!icon) icon = gtk_icon_theme_load_icon ( gtk_icon_theme_get_default(), GTK_STOCK_CDROM, x, GTK_ICON_LOOKUP_GENERIC_FALLBACK, NULL); gtk_list_store_append (icon_store, &iter); gtk_list_store_set (icon_store, &iter, SETTINGS_LIST_PIXBUF_COLUMN, icon, SETTINGS_LIST_TEXT_COLUMN, _("Devices"), SETTINGS_LIST_INDEX_COLUMN, idx, -1); if (icon) g_object_unref (G_OBJECT (icon)); exo_mutual_binding_new (G_OBJECT (priv->notebook), "page", G_OBJECT (priv->icon_bar), "active"); /* below the device list */ #if 0 priv->check_empty_speed_list = gtk_check_button_new_with_mnemonic (_("Show warning on _empty speed list")); gtk_box_pack_start (GTK_BOX (vbox2), priv->check_empty_speed_list, FALSE, FALSE, BORDER); gtk_widget_show (priv->check_empty_speed_list); #endif /* fifo */ vbox3 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox3); frame = xfce_gtk_frame_box_new_with_content (_("FIFO buffer size (in kb)"), vbox3); gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, BORDER); gtk_widget_show (frame); priv->scale_fifo = gtk_hscale_new_with_range (0.0, FIFO_MAX_SIZE, 32.0); gtk_scale_set_value_pos (GTK_SCALE (priv->scale_fifo), GTK_POS_LEFT); gtk_range_set_value (GTK_RANGE (priv->scale_fifo), 0); gtk_box_pack_start (GTK_BOX (vbox3), priv->scale_fifo, FALSE, FALSE, BORDER/2); gtk_widget_show (priv->scale_fifo); /* action buttons */ button_close = gtk_button_new_from_stock ("gtk-close"); gtk_widget_show (button_close); gtk_dialog_add_action_widget (GTK_DIALOG (obj), button_close, GTK_RESPONSE_CLOSE); GTK_WIDGET_SET_FLAGS (button_close, GTK_CAN_DEFAULT); gtk_widget_grab_focus (button_close); gtk_widget_grab_default (button_close); g_signal_connect (G_OBJECT (obj), "response", G_CALLBACK (xfburn_preferences_dialog_response_cb), priv); refresh_devices_list (obj); g_object_unref (icon_store); }
void net_speed_configure_show(XfcePanelPlugin *plugin, NetSpeedPlugin *net_speed_plugin) { GtkWidget *dialog; GtkWidget *dialog_vbox; GtkWidget *hbox; GtkWidget *label; GtkWidget *combo; GtkWidget *button; /* net speed configure */ NetSpeedConfigure *net_speed_configure = g_new0(NetSpeedConfigure, 1); net_speed_configure->net_speed_plugin = net_speed_plugin; /* dialog */ xfce_panel_plugin_block_menu(net_speed_plugin->plugin); net_speed_configure->dialog = dialog = xfce_titled_dialog_new_with_buttons(_("Network Speed Plugin"), NULL, GTK_DIALOG_NO_SEPARATOR, GTK_STOCK_CLOSE, GTK_RESPONSE_OK, NULL); xfce_titled_dialog_set_subtitle(XFCE_TITLED_DIALOG(dialog), _("Configuration")); gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); gtk_window_set_icon_name(GTK_WINDOW(dialog), "xfce4-netspeed-plugin"); gtk_window_set_keep_above(GTK_WINDOW(dialog), TRUE); gtk_window_stick(GTK_WINDOW(dialog)); dialog_vbox = GTK_DIALOG(dialog)->vbox; /* auto-device */ hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(dialog_vbox), hbox); gtk_container_set_border_width(GTK_CONTAINER(hbox), 3); net_speed_configure->auto_device_check_button = button = gtk_check_button_new_with_mnemonic(_("Automatically Choose Network Device")); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), net_speed_plugin->options->device_auto == TRUE); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(net_speed_configure_changed), net_speed_configure); /* device */ hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(dialog_vbox), hbox); gtk_container_set_border_width(GTK_CONTAINER(hbox), 3); label = gtk_label_new(_("Network Device:")); gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); net_speed_configure->device_combo = combo = gtk_combo_box_new_text(); gtk_box_pack_start(GTK_BOX(hbox), combo, FALSE, TRUE, 0); GList *device, *devices = device_info_list_get(); gint index = 0, sel_index = -1; for (device = devices; device != NULL; device = g_list_next(device)) { gtk_combo_box_append_text(GTK_COMBO_BOX(combo), device->data); if (net_speed_plugin->options->device && !strcmp(device->data, net_speed_plugin->options->device)) { sel_index = index; } index++; } gtk_combo_box_set_active(GTK_COMBO_BOX(combo), sel_index); g_signal_connect(G_OBJECT(combo), "changed", G_CALLBACK(net_speed_configure_changed), net_speed_configure); device_info_list_free(devices); gtk_widget_set_sensitive(net_speed_configure->device_combo, net_speed_plugin->options->device != NULL); /* show frame */ hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(dialog_vbox), hbox); gtk_container_set_border_width(GTK_CONTAINER(hbox), 3); net_speed_configure->show_frame_check_button = button = gtk_check_button_new_with_mnemonic(_("Show Frame")); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), net_speed_plugin->options->show_frame); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(net_speed_configure_changed), net_speed_configure); /* show icon */ hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(dialog_vbox), hbox); gtk_container_set_border_width(GTK_CONTAINER(hbox), 3); net_speed_configure->show_icon_check_button = button = gtk_check_button_new_with_mnemonic(_("Show Icon")); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), net_speed_plugin->options->show_icon); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(net_speed_configure_changed), net_speed_configure); /* show bits */ hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(dialog_vbox), hbox); gtk_container_set_border_width(GTK_CONTAINER(hbox), 3); net_speed_configure->show_bits_check_button = button = gtk_check_button_new_with_mnemonic(_("Show Bits Instead of Bytes")); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), net_speed_plugin->options->show_bits); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(net_speed_configure_changed), net_speed_configure); /* show sum */ hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(dialog_vbox), hbox); gtk_container_set_border_width(GTK_CONTAINER(hbox), 3); net_speed_configure->show_sum_check_button = button = gtk_check_button_new_with_mnemonic(_("Show Sum of Download and Upload")); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), net_speed_plugin->options->show_sum); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(net_speed_configure_changed), net_speed_configure); /* fixed width check button */ hbox = gtk_hbox_new(FALSE, 3); gtk_container_add(GTK_CONTAINER(dialog_vbox), hbox); gtk_container_set_border_width(GTK_CONTAINER(hbox), 3); net_speed_configure->fixed_width_check_button = button = gtk_check_button_new_with_mnemonic(_("Fixed Width")); gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), (gboolean) net_speed_plugin->options->fixed_width); g_signal_connect(G_OBJECT(button), "toggled", G_CALLBACK(net_speed_configure_changed), net_speed_configure); net_speed_configure->fixed_width_spin_button = button = gtk_spin_button_new_with_range(20, 500, 10); gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0); gtk_spin_button_set_value(GTK_SPIN_BUTTON(button), (gdouble) net_speed_plugin->options->fixed_width); g_signal_connect(G_OBJECT(button), "value-changed", G_CALLBACK(net_speed_configure_changed), net_speed_configure); g_signal_connect(G_OBJECT(dialog), "response", G_CALLBACK(net_speed_configure_response), net_speed_configure); gtk_widget_show_all(dialog); }
gint main(gint argc, gchar **argv) { GtkWidget *dialog; GtkWidget *settings_editor; GtkWidget *plug; GError *error = NULL; /* setup translation domain */ xfce_textdomain (GETTEXT_PACKAGE, LOCALEDIR, "UTF-8"); /* initialize Gtk+ */ if (!gtk_init_with_args (&argc, &argv, "", option_entries, GETTEXT_PACKAGE, &error)) { if (G_LIKELY (error)) { /* print error */ g_print ("%s: %s.\n", G_LOG_DOMAIN, error->message); g_print (_("Type '%s --help' for usage."), G_LOG_DOMAIN); g_print ("\n"); /* cleanup */ g_error_free (error); } else { g_error ("Unable to open display."); } return EXIT_FAILURE; } /* print version information */ if (G_UNLIKELY (opt_version)) { g_print ("%s %s (Xfce %s)\n\n", G_LOG_DOMAIN, PACKAGE_VERSION, xfce_version_string ()); g_print ("%s\n", "Copyright (c) 2008-2011"); g_print ("\t%s\n\n", _("The Xfce development team. All rights reserved.")); g_print (_("Please report bugs to <%s>."), PACKAGE_BUGREPORT); g_print ("\n"); return EXIT_SUCCESS; } /* initialize xfconf */ if (G_UNLIKELY (!xfconf_init (&error))) { /* print error and leave */ g_critical ("Failed to connect to Xfconf daemon: %s", error->message); g_error_free (error); return EXIT_FAILURE; } channel = xfconf_channel_new ("xfce4-settings-editor"); settings_editor = xfce_settings_editor_box_new ( xfconf_channel_get_int (channel, "/last/paned-position", 180)); if (G_UNLIKELY (opt_socket_id == 0)) { dialog = xfce_titled_dialog_new_with_buttons (_("Settings Editor"), NULL, GTK_DIALOG_DESTROY_WITH_PARENT, "gtk-help", GTK_RESPONSE_HELP, "gtk-close", GTK_RESPONSE_OK, NULL); xfce_titled_dialog_set_subtitle (XFCE_TITLED_DIALOG (dialog), _("Customize settings stored by Xfconf")); gtk_window_set_icon_name (GTK_WINDOW (dialog), "preferences-system"); gtk_window_set_type_hint (GTK_WINDOW (dialog), GDK_WINDOW_TYPE_HINT_NORMAL); gtk_window_set_default_size (GTK_WINDOW (dialog), xfconf_channel_get_int (channel, "/last/window-width", 640), xfconf_channel_get_int (channel, "/last/window-height", 500)); gtk_container_add_with_properties( GTK_CONTAINER(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), settings_editor, "expand", TRUE, "fill", TRUE, NULL); g_signal_connect (dialog, "response", G_CALLBACK (settings_dialog_response), settings_editor); gtk_widget_show_all (dialog); } else { /* Create plug widget */ plug = gtk_plug_new (opt_socket_id); g_signal_connect (plug, "delete-event", G_CALLBACK (plug_delete_event), settings_editor); gtk_window_set_default_size (GTK_WINDOW (plug), xfconf_channel_get_int (channel, "/last/window-width", 640), xfconf_channel_get_int (channel, "/last/window-height", 500)); gtk_widget_show (plug); gtk_container_add (GTK_CONTAINER(plug), settings_editor); /* Stop startup notification */ gdk_notify_startup_complete (); gtk_widget_show (GTK_WIDGET (settings_editor)); } gtk_main (); g_object_unref(channel); /* shutdown xfconf */ xfconf_shutdown (); return EXIT_SUCCESS; }
gint main (gint argc, gchar **argv) { GtkBuilder *builder; GError *error = NULL; GObject *dialog; GObject *object; gchar *version; xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8"); if (G_UNLIKELY (!gtk_init_with_args (&argc, &argv, NULL, opt_entries, PACKAGE, &error))) { if (G_LIKELY (error != NULL)) { g_print ("%s: %s.\n", G_LOG_DOMAIN, error->message); g_print (_("Type '%s --help' for usage information."), G_LOG_DOMAIN); g_print ("\n"); g_error_free (error); } else g_error (_("Unable to initialize GTK+.")); return EXIT_FAILURE; } if (G_UNLIKELY (opt_version)) { g_print ("%s %s (Xfce %s)\n\n", G_LOG_DOMAIN, PACKAGE_VERSION, xfce_version_string ()); g_print ("%s\n", "Copyright (c) 2008-2019"); g_print ("\t%s\n\n", _("The Xfce development team. All rights reserved.")); g_print (_("Please report bugs to <%s>."), PACKAGE_BUGREPORT); g_print ("\n"); return EXIT_SUCCESS; } builder = gtk_builder_new (); if (!gtk_builder_add_from_string (builder, xfce_about_dialog_ui, xfce_about_dialog_ui_length, &error)) { xfce_dialog_show_error (NULL, error, _("Failed to load interface")); g_error_free (error); g_object_unref (G_OBJECT (builder)); return EXIT_FAILURE; } dialog = gtk_builder_get_object (builder, "window"); g_signal_connect_swapped (G_OBJECT (dialog), "delete-event", G_CALLBACK (gtk_main_quit), NULL); #ifdef VENDOR_INFO /* I18N: first %s will be replaced by the version, second by * the name of the distribution (--with-vendor-info=NAME) */ version = g_strdup_printf (_("Version %s, distributed by %s"), xfce_version_string (), VENDOR_INFO); #else /* I18N: %s will be replaced by the Xfce version number */ version = g_strdup_printf (_("Version %s"), xfce_version_string ()); #endif xfce_titled_dialog_set_subtitle (XFCE_TITLED_DIALOG (dialog), version); g_free (version); object = gtk_builder_get_object (builder, "about-buffer"); xfce_about_about (GTK_TEXT_BUFFER (object)); object = gtk_builder_get_object (builder, "credits-buffer"); xfce_about_credits (GTK_TEXT_BUFFER (object)); object = gtk_builder_get_object (builder, "copyright-buffer"); xfce_about_copyright (GTK_TEXT_BUFFER (object)); #ifdef VENDOR_INFO xfce_about_vendor (builder); #endif object = gtk_builder_get_object (builder, "gpl-button"); g_signal_connect_swapped (G_OBJECT (object), "clicked", G_CALLBACK (xfce_about_license_gpl), builder); object = gtk_builder_get_object (builder, "lgpl-button"); g_signal_connect_swapped (G_OBJECT (object), "clicked", G_CALLBACK (xfce_about_license_lgpl), builder); object = gtk_builder_get_object (builder, "bsd-button"); g_signal_connect_swapped (G_OBJECT (object), "clicked", G_CALLBACK (xfce_about_license_bsd), builder); object = gtk_builder_get_object (builder, "help-button"); g_signal_connect (G_OBJECT (object), "clicked", G_CALLBACK (xfce_about_help), dialog); object = gtk_builder_get_object (builder, "close-button"); g_signal_connect_swapped (G_OBJECT (object), "clicked", G_CALLBACK (gtk_main_quit), NULL); gtk_widget_show (GTK_WIDGET (dialog)); gtk_main (); g_object_unref (G_OBJECT (builder)); return EXIT_SUCCESS; }
gboolean battery_overview (GtkWidget *widget, GdkEventButton *ev, BatteryPlugin *battery) { GtkWidget *dialog, *window, *dialog_vbox; GtkSizeGroup *sg; guint i; BatteryStatus *bat; #ifndef USE_NEW_DIALOG GtkWidget *header; #endif if (ev->button != 1) return FALSE; window = g_object_get_data (G_OBJECT (battery->plugin), "overview"); if (window) gtk_widget_destroy (window); DBG ("Show Overview"); #ifdef USE_NEW_DIALOG dialog = xfce_titled_dialog_new_with_buttons (_("Battery Information"), NULL, GTK_DIALOG_NO_SEPARATOR, GTK_STOCK_CLOSE, GTK_RESPONSE_OK, NULL); xfce_titled_dialog_set_subtitle (XFCE_TITLED_DIALOG (dialog), _("An overview of all the batteries in the system")); #else dialog = gtk_dialog_new_with_buttons (_("Battery Information"), GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (battery->plugin))), GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR, GTK_STOCK_CLOSE, GTK_RESPONSE_OK, NULL); #endif gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); gtk_window_set_icon_name (GTK_WINDOW (dialog), "battery"); g_object_set_data (G_OBJECT (battery->plugin), "overview", dialog); sg = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); dialog_vbox = GTK_DIALOG (dialog)->vbox; #ifndef USE_NEW_DIALOG header = xfce_create_header (NULL, _("Battery Information")); gtk_widget_set_size_request (GTK_BIN (header)->child, -1, 32); gtk_container_set_border_width (GTK_CONTAINER (header), BORDER); gtk_box_pack_start (GTK_BOX (dialog_vbox), header, FALSE, TRUE, 0); #endif for (i = 0; i < battery->batteries->len; ++i) { bat = g_ptr_array_index (battery->batteries, i); battery_add_overview (dialog_vbox, bat, sg); } g_signal_connect(dialog, "response", G_CALLBACK(battery_overview_response), battery); gtk_widget_show_all (dialog); return TRUE; }
static void initiate_authentication(PolkitAgentListener *listener, const gchar *action_id, const gchar *message, const gchar *icon_name, PolkitDetails *details, const gchar *cookie, GList *identities, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { GtkWidget *content; GtkWidget *combo_label; GtkWidget *grid; AuthDlgData *d = g_slice_new0(AuthDlgData); char** p; for(p = polkit_details_get_keys(details); *p; ++p) g_debug("initiate_authentication: %s: %s", *p, polkit_details_lookup(details, *p)); d->task = g_task_new(listener, cancellable, callback, user_data); d->cancellable = cancellable; d->action_id = g_strdup(action_id); d->cookie = g_strdup(cookie); d->auth_dlg = xfce_titled_dialog_new_with_buttons( "Authentication required", NULL, GTK_DIALOG_DESTROY_WITH_PARENT, "_Deny", GTK_RESPONSE_CANCEL, "_Allow", GTK_RESPONSE_OK, NULL); xfce_titled_dialog_set_subtitle(XFCE_TITLED_DIALOG(d->auth_dlg), message); gtk_window_set_icon_name(GTK_WINDOW(d->auth_dlg), "dialog-password"); content = gtk_dialog_get_content_area(GTK_DIALOG(d->auth_dlg)); combo_label = gtk_label_new("Identity:"); gtk_widget_set_halign(combo_label, GTK_ALIGN_END); gtk_widget_show(combo_label); d->id_combo = gtk_combo_box_new(); add_identities(GTK_COMBO_BOX(d->id_combo), identities); g_signal_connect(d->id_combo, "changed", G_CALLBACK(on_id_combo_user_changed), d); gtk_combo_box_set_active(GTK_COMBO_BOX(d->id_combo), 0); gtk_widget_set_hexpand(d->id_combo, TRUE); gtk_widget_show(d->id_combo); d->entry_label = gtk_label_new(NULL); gtk_widget_set_halign(d->entry_label, GTK_ALIGN_END); gtk_widget_show(d->entry_label); d->entry = gtk_entry_new(); gtk_entry_set_visibility(GTK_ENTRY(d->entry), FALSE); gtk_widget_set_hexpand(d->entry, TRUE); gtk_widget_show(d->entry); g_signal_connect (d->entry, "activate", G_CALLBACK(on_entry_activate), d); grid = grid2x2(combo_label, d->id_combo, d->entry_label, d->entry); gtk_box_pack_start(GTK_BOX(content), grid, TRUE, TRUE, 0); d->status = gtk_label_new(NULL); gtk_box_pack_start(GTK_BOX(content), d->status, TRUE, TRUE, 0); gtk_widget_show(d->status); g_signal_connect(cancellable, "cancelled", G_CALLBACK(on_cancelled), d); g_signal_connect(d->auth_dlg, "response", G_CALLBACK(on_auth_dlg_response), d); gtk_widget_grab_focus(d->entry); gtk_window_present(GTK_WINDOW(d->auth_dlg)); }