gint main (gint argc, gchar **argv) { GtkWidget *window; GtkWidget *button; GtkWidget *frame; GtkWidget *table; GtkWidget *vbox; g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING); gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size (GTK_WINDOW (window), 350, 300); gtk_window_set_title (GTK_WINDOW (window), "ExoWrapTable test"); g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (gtk_main_quit), NULL); vbox = gtk_vbox_new (FALSE, 6); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); frame = g_object_new (GTK_TYPE_FRAME, "border-width", 0, NULL); gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0); gtk_widget_show (frame); table = exo_wrap_table_new (TRUE); gtk_container_add (GTK_CONTAINER (frame), table); gtk_widget_show (table); button = gtk_check_button_new_with_label ("Homogeneous"); exo_mutual_binding_new (G_OBJECT (table), "homogeneous", G_OBJECT (button), "active"); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); gtk_widget_show (button); fill_table (table); gtk_widget_show (window); gtk_main (); return EXIT_SUCCESS; }
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); }
static void thunar_sbr_number_renamer_init (ThunarSbrNumberRenamer *number_renamer) { AtkRelationSet *relations; AtkRelation *relation; GEnumClass *klass; AtkObject *object; GtkWidget *combo; GtkWidget *entry; GtkWidget *label; GtkWidget *hbox; guint n; hbox = gtk_hbox_new (FALSE, 12); gtk_box_pack_start (GTK_BOX (number_renamer), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); label = gtk_label_new_with_mnemonic (_("_Number Format:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); combo = gtk_combo_box_new_text (); klass = g_type_class_ref (THUNAR_SBR_TYPE_NUMBER_MODE); for (n = 0; n < klass->n_values; ++n) gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _(klass->values[n].value_nick)); exo_mutual_binding_new (G_OBJECT (number_renamer), "mode", G_OBJECT (combo), "active"); gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo); g_type_class_unref (klass); gtk_widget_show (combo); /* set Atk label relation for the combo */ object = gtk_widget_get_accessible (combo); relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (relations, relation); g_object_unref (G_OBJECT (relation)); number_renamer->start_entry = gtk_entry_new (); gtk_entry_set_max_length (GTK_ENTRY (number_renamer->start_entry), 4); gtk_entry_set_width_chars (GTK_ENTRY (number_renamer->start_entry), 3); gtk_entry_set_alignment (GTK_ENTRY (number_renamer->start_entry), 1.0f); gtk_entry_set_activates_default (GTK_ENTRY (number_renamer->start_entry), TRUE); exo_mutual_binding_new (G_OBJECT (number_renamer->start_entry), "text", G_OBJECT (number_renamer), "start"); gtk_box_pack_end (GTK_BOX (hbox), number_renamer->start_entry, TRUE, TRUE, 0); gtk_widget_show (number_renamer->start_entry); label = gtk_label_new_with_mnemonic (_("_Start With:")); gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), number_renamer->start_entry); gtk_widget_show (label); /* set Atk label relation for the entry */ object = gtk_widget_get_accessible (number_renamer->start_entry); relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (relations, relation); g_object_unref (G_OBJECT (relation)); hbox = gtk_hbox_new (FALSE, 12); gtk_box_pack_end (GTK_BOX (number_renamer), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); label = gtk_label_new_with_mnemonic (_("Text _Format:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); combo = gtk_combo_box_new_text (); klass = g_type_class_ref (THUNAR_SBR_TYPE_TEXT_MODE); for (n = 0; n < klass->n_values; ++n) gtk_combo_box_append_text (GTK_COMBO_BOX (combo), _(klass->values[n].value_nick)); exo_mutual_binding_new (G_OBJECT (number_renamer), "text-mode", G_OBJECT (combo), "active"); gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo); g_type_class_unref (klass); gtk_widget_show (combo); /* set Atk label relation for the combo */ object = gtk_widget_get_accessible (combo); relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (relations, relation); g_object_unref (G_OBJECT (relation)); entry = gtk_entry_new (); gtk_entry_set_width_chars (GTK_ENTRY (entry), 4); gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE); exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (number_renamer), "text"); gtk_box_pack_end (GTK_BOX (hbox), entry, TRUE, TRUE, 0); gtk_widget_show (entry); label = gtk_label_new_with_mnemonic (_("_Text:")); gtk_misc_set_alignment (GTK_MISC (label), 1.0f, 0.5f); gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry); gtk_widget_show (label); /* set Atk label relation for the entry */ object = gtk_widget_get_accessible (entry); relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (relations, relation); g_object_unref (G_OBJECT (relation)); }
static void thunar_sbr_insert_renamer_init (ThunarSbrInsertRenamer *insert_renamer) { AtkRelationSet *relations; GtkAdjustment *adjustment; AtkRelation *relation; GEnumClass *klass; AtkObject *object; GtkWidget *spinner; GtkWidget *combo; GtkWidget *entry; GtkWidget *label; GtkWidget *table; GtkWidget *hbox; guint n; table = gtk_table_new (2, 3, FALSE); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_table_set_col_spacings (GTK_TABLE (table), 12); gtk_box_pack_start (GTK_BOX (insert_renamer), table, TRUE, TRUE, 0); gtk_widget_show (table); combo = gtk_combo_box_text_new (); klass = g_type_class_ref (THUNAR_SBR_TYPE_INSERT_MODE); for (n = 0; n < klass->n_values; ++n) gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _(klass->values[n].value_nick)); exo_mutual_binding_new (G_OBJECT (insert_renamer), "mode", G_OBJECT (combo), "active"); gtk_table_attach (GTK_TABLE (table), combo, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); g_type_class_unref (klass); gtk_widget_show (combo); label = gtk_label_new_with_mnemonic (_("_Text:")); gtk_table_attach (GTK_TABLE (table), label, 1, 2, 0, 1, GTK_FILL, 0, 0, 0); gtk_widget_show (label); entry = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE); exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (insert_renamer), "text"); gtk_table_attach (GTK_TABLE (table), entry, 2, 3, 0, 1, GTK_EXPAND | GTK_FILL, 0, 0, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry); gtk_widget_show (entry); /* set Atk label relation for the entry */ object = gtk_widget_get_accessible (entry); relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (relations, relation); g_object_unref (G_OBJECT (relation)); label = gtk_label_new_with_mnemonic (_("_At position:")); gtk_misc_set_alignment (GTK_MISC (label), 1.0f, 0.5f); gtk_table_attach (GTK_TABLE (table), label, 0, 2, 1, 2, GTK_FILL, 0, 0, 0); gtk_widget_show (label); hbox = gtk_hbox_new (FALSE, 12); gtk_table_attach (GTK_TABLE (table), hbox, 2, 3, 1, 2, GTK_FILL, 0, 0, 0); gtk_widget_show (hbox); spinner = gtk_spin_button_new_with_range (0u, G_MAXUINT, 1u); gtk_entry_set_width_chars (GTK_ENTRY (spinner), 4); gtk_entry_set_alignment (GTK_ENTRY (spinner), 1.0f); gtk_entry_set_activates_default (GTK_ENTRY (spinner), TRUE); gtk_spin_button_set_digits (GTK_SPIN_BUTTON (spinner), 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinner), TRUE); gtk_spin_button_set_snap_to_ticks (GTK_SPIN_BUTTON (spinner), TRUE); gtk_box_pack_start (GTK_BOX (hbox), spinner, FALSE, FALSE, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), spinner); gtk_widget_show (spinner); adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (spinner)); exo_mutual_binding_new (G_OBJECT (insert_renamer), "offset", G_OBJECT (adjustment), "value"); /* set Atk label relation for the entry */ object = gtk_widget_get_accessible (spinner); relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (relations, relation); g_object_unref (G_OBJECT (relation)); combo = gtk_combo_box_text_new (); klass = g_type_class_ref (THUNAR_SBR_TYPE_OFFSET_MODE); for (n = 0; n < klass->n_values; ++n) gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), _(klass->values[n].value_nick)); exo_mutual_binding_new (G_OBJECT (insert_renamer), "offset-mode", G_OBJECT (combo), "active"); gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0); g_type_class_unref (klass); gtk_widget_show (combo); }
void places_cfg_open_dialog(PlacesCfg *cfg) { GtkWidget *dlg; GtkWidget *frame_button, *vbox_button; GtkWidget *frame_menu, *vbox_menu; #if USE_RECENT_DOCUMENTS GtkWidget *frame_recent, *vbox_recent; #endif GtkWidget *frame_search, *vbox_search; GtkWidget *tmp_box, *tmp_label, *tmp_widget; GtkObject * adj; DBG("configure plugin"); dlg = pcfg_make_empty_dialog(cfg); /* BUTTON: frame, vbox */ vbox_button = gtk_vbox_new(FALSE, 4); gtk_widget_show(vbox_button); frame_button = xfce_gtk_frame_box_new_with_content(_("Button"), vbox_button); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dlg)->vbox), frame_button, FALSE, FALSE, 0); /* BUTTON: Show Icon/Label */ tmp_box = gtk_hbox_new(FALSE, 15); gtk_widget_show(tmp_box); gtk_box_pack_start(GTK_BOX(vbox_button), tmp_box, FALSE, FALSE, 0); tmp_label = gtk_label_new_with_mnemonic(_("_Show")); gtk_widget_show(tmp_label); gtk_box_pack_start(GTK_BOX(tmp_box), tmp_label, FALSE, FALSE, 0); tmp_widget = gtk_combo_box_new_text(); gtk_label_set_mnemonic_widget(GTK_LABEL(tmp_label), tmp_widget); gtk_combo_box_append_text(GTK_COMBO_BOX(tmp_widget), _("Icon Only")); gtk_combo_box_append_text(GTK_COMBO_BOX(tmp_widget), _("Label Only")); gtk_combo_box_append_text(GTK_COMBO_BOX(tmp_widget), _("Icon and Label")); exo_mutual_binding_new (G_OBJECT (cfg), "show-button-type", G_OBJECT (tmp_widget), "active"); gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0); /* BUTTON: Label text entry */ tmp_box = gtk_hbox_new(FALSE, 15); gtk_widget_show(tmp_box); gtk_box_pack_start(GTK_BOX(vbox_button), tmp_box, FALSE, FALSE, 0); tmp_label = gtk_label_new_with_mnemonic(_("_Label")); gtk_widget_show(tmp_label); gtk_box_pack_start(GTK_BOX(tmp_box), tmp_label, FALSE, FALSE, 0); tmp_widget = gtk_entry_new(); gtk_label_set_mnemonic_widget(GTK_LABEL(tmp_label), tmp_widget); exo_mutual_binding_new (G_OBJECT (cfg), "button-label", G_OBJECT (tmp_widget), "text"); gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0); /* MENU: frame, vbox */ vbox_menu = gtk_vbox_new(FALSE, 4); gtk_widget_show(vbox_menu); frame_menu = xfce_gtk_frame_box_new_with_content(_("Menu"), vbox_menu); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dlg)->vbox), frame_menu, FALSE, FALSE, 0); /* MENU: Show Icons */ tmp_widget = gtk_check_button_new_with_mnemonic(_("Show _icons in menu")); exo_mutual_binding_new (G_OBJECT (cfg), "show-icons", G_OBJECT (tmp_widget), "active"); gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(vbox_menu), tmp_widget, FALSE, FALSE, 0); /* MENU: Show Removable Media */ tmp_widget = gtk_check_button_new_with_mnemonic(_("Show _removable media")); exo_mutual_binding_new (G_OBJECT (cfg), "show-volumes", G_OBJECT (tmp_widget), "active"); gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(vbox_menu), tmp_widget, FALSE, FALSE, 0); /* MENU: - Mount and Open (indented) */ tmp_box = gtk_hbox_new(FALSE, 15); /* Gray out this box when "Show removable media" is off */ exo_binding_new (G_OBJECT (cfg), "show-volumes", G_OBJECT (tmp_box), "sensitive"); tmp_widget = gtk_label_new(" "); /* TODO: is there a more appropriate widget? */ gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0); tmp_widget = gtk_check_button_new_with_mnemonic(_("Mount and _Open on click")); exo_mutual_binding_new (G_OBJECT (cfg), "mount-open-volumes", G_OBJECT (tmp_widget), "active"); gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0); gtk_widget_show(tmp_box); gtk_box_pack_start(GTK_BOX(vbox_menu), tmp_box, FALSE, FALSE, 0); /* MENU: Show GTK Bookmarks */ tmp_widget = gtk_check_button_new_with_mnemonic(_("Show GTK _bookmarks")); exo_mutual_binding_new (G_OBJECT (cfg), "show-bookmarks", G_OBJECT (tmp_widget), "active"); gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(vbox_menu), tmp_widget, FALSE, FALSE, 0); #if USE_RECENT_DOCUMENTS /* MENU: Show Recent Documents */ tmp_widget = gtk_check_button_new_with_mnemonic(_("Show recent _documents")); exo_mutual_binding_new (G_OBJECT (cfg), "show-recent", G_OBJECT (tmp_widget), "active"); gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(vbox_menu), tmp_widget, FALSE, FALSE, 0); /* RECENT DOCUMENTS: frame, vbox */ vbox_recent = gtk_vbox_new(FALSE, 4); gtk_widget_show(vbox_recent); /* Gray out this box when "Show recent documents" is off */ exo_binding_new (G_OBJECT (cfg), "show-recent", G_OBJECT (vbox_recent), "sensitive"); frame_recent = xfce_gtk_frame_box_new_with_content(_("Recent Documents"), vbox_recent); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dlg)->vbox), frame_recent, FALSE, FALSE, 0); /* RECENT DOCUMENTS: Show clear option */ tmp_widget = gtk_check_button_new_with_mnemonic(_("Show cl_ear option")); exo_mutual_binding_new (G_OBJECT (cfg), "show-recent-clear", G_OBJECT (tmp_widget), "active"); gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(vbox_recent), tmp_widget, FALSE, FALSE, 0); /* RECENT DOCUMENTS: Number to display */ tmp_box = gtk_hbox_new(FALSE, 15); gtk_widget_show(tmp_box); gtk_box_pack_start(GTK_BOX(vbox_recent), tmp_box, FALSE, FALSE, 0); tmp_label = gtk_label_new_with_mnemonic(_("_Number to display")); gtk_widget_show(tmp_label); gtk_box_pack_start(GTK_BOX(tmp_box), tmp_label, FALSE, FALSE, 0); adj = gtk_adjustment_new(cfg->show_recent_number, 1, 25, 1, 5, 0); tmp_widget = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(tmp_label), tmp_widget); exo_mutual_binding_new (G_OBJECT (cfg), "show-recent-number", G_OBJECT (adj), "value"); gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0); #endif /* Search: frame, vbox */ vbox_search = gtk_vbox_new(FALSE, 4); gtk_widget_show(vbox_search); frame_search = xfce_gtk_frame_box_new_with_content(_("Search"), vbox_search); gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dlg)->vbox), frame_search, FALSE, FALSE, 0); /* Search: command */ tmp_box = gtk_hbox_new(FALSE, 15); gtk_widget_show(tmp_box); gtk_box_pack_start(GTK_BOX(vbox_search), tmp_box, FALSE, FALSE, 0); tmp_label = gtk_label_new_with_mnemonic(_("Co_mmand")); gtk_widget_show(tmp_label); gtk_box_pack_start(GTK_BOX(tmp_box), tmp_label, FALSE, FALSE, 0); tmp_widget = gtk_entry_new(); gtk_label_set_mnemonic_widget(GTK_LABEL(tmp_label), tmp_widget); exo_mutual_binding_new (G_OBJECT (cfg), "search-cmd", G_OBJECT (tmp_widget), "text"); gtk_widget_show(tmp_widget); gtk_box_pack_start(GTK_BOX(tmp_box), tmp_widget, FALSE, FALSE, 0); gtk_widget_show_all(dlg); }
static void thunar_sbr_replace_renamer_init (ThunarSbrReplaceRenamer *replace_renamer) { AtkRelationSet *relations; AtkRelation *relation; AtkObject *object; GtkWidget *table; GtkWidget *label; GtkWidget *entry; GtkWidget *button; #ifdef HAVE_PCRE /* check if PCRE supports UTF-8 */ if (pcre_config (PCRE_CONFIG_UTF8, &replace_renamer->regexp_supported) != 0) replace_renamer->regexp_supported = FALSE; #endif /* allocate the shared tooltips */ replace_renamer->tooltips = gtk_tooltips_new (); exo_gtk_object_ref_sink (GTK_OBJECT (replace_renamer->tooltips)); table = gtk_table_new (2, 3, FALSE); gtk_table_set_row_spacings (GTK_TABLE (table), 6); gtk_table_set_col_spacings (GTK_TABLE (table), 12); gtk_box_pack_start (GTK_BOX (replace_renamer), table, FALSE, FALSE, 0); gtk_widget_show (table); label = gtk_label_new_with_mnemonic (_("_Search For:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); gtk_widget_show (label); replace_renamer->pattern_entry = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY (replace_renamer->pattern_entry), TRUE); exo_mutual_binding_new (G_OBJECT (replace_renamer->pattern_entry), "text", G_OBJECT (replace_renamer), "pattern"); gtk_tooltips_set_tip (replace_renamer->tooltips, replace_renamer->pattern_entry, _("Enter the text to search for in the file names."), NULL); gtk_table_attach (GTK_TABLE (table), replace_renamer->pattern_entry, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, 0, 0, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), replace_renamer->pattern_entry); gtk_widget_show (replace_renamer->pattern_entry); /* set Atk label relation for the entry */ object = gtk_widget_get_accessible (replace_renamer->pattern_entry); relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (relations, relation); g_object_unref (G_OBJECT (relation)); button = gtk_check_button_new_with_mnemonic (_("Regular _Expression")); exo_mutual_binding_new (G_OBJECT (button), "active", G_OBJECT (replace_renamer), "regexp"); gtk_tooltips_set_tip (replace_renamer->tooltips, button, _("If you enable this option, the pattern will be treated as a regular expression and " "matched using the Perl-compatible regular expressions (PCRE). Check the documentation " "for details about the regular expression syntax."), NULL); gtk_table_attach (GTK_TABLE (table), button, 2, 3, 0, 1, GTK_FILL, 0, 0, 0); gtk_widget_set_sensitive (button, replace_renamer->regexp_supported); gtk_widget_show (button); label = gtk_label_new_with_mnemonic (_("Replace _With:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f); gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); gtk_widget_show (label); entry = gtk_entry_new (); gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE); exo_mutual_binding_new (G_OBJECT (entry), "text", G_OBJECT (replace_renamer), "replacement"); gtk_tooltips_set_tip (replace_renamer->tooltips, entry, _("Enter the text that should be used as replacement for the pattern above."), NULL); gtk_table_attach (GTK_TABLE (table), entry, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0); gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry); gtk_widget_show (entry); /* set Atk label relation for the entry */ object = gtk_widget_get_accessible (entry); relations = atk_object_ref_relation_set (gtk_widget_get_accessible (label)); relation = atk_relation_new (&object, 1, ATK_RELATION_LABEL_FOR); atk_relation_set_add (relations, relation); g_object_unref (G_OBJECT (relation)); button = gtk_check_button_new_with_mnemonic (_("C_ase Sensitive Search")); exo_mutual_binding_new (G_OBJECT (button), "active", G_OBJECT (replace_renamer), "case-sensitive"); gtk_tooltips_set_tip (replace_renamer->tooltips, button, _("If you enable this option, the pattern will be searched in a case-sensitive manner. " "The default is to use a case-insensitive search."), NULL); gtk_table_attach (GTK_TABLE (table), button, 2, 3, 1, 2, GTK_FILL, 0, 0, 0); gtk_widget_show (button); }