static GtkWidget* remmina_init_dialog_create_file_button(GtkWidget *table, const gchar *label, gint row, const gchar *filename) { GtkWidget *widget; gchar *pkidir; widget = gtk_label_new(label); gtk_misc_set_alignment(GTK_MISC(widget), 0.0, 0.5); gtk_widget_show(widget); remmina_init_dialog_attach(table, widget, 0, row, 1, 1); widget = gtk_file_chooser_button_new(label, GTK_FILE_CHOOSER_ACTION_OPEN); gtk_file_chooser_button_set_width_chars(GTK_FILE_CHOOSER_BUTTON(widget), 25); gtk_widget_show(widget); remmina_init_dialog_attach(table, widget, 1, row, 2, 1); if (filename && filename[0] != '\0') { gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(widget), filename); } else { pkidir = g_strdup_printf("%s/.pki", g_get_home_dir()); if (g_file_test(pkidir, G_FILE_TEST_IS_DIR)) { gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(widget), pkidir); } g_free(pkidir); } return widget; }
static GtkWidget *xml_file_selector(GtkWidget *vbox, GtkWidget *main_dialog) { GtkWidget *hbox, *frame, *chooser, *dialog; GtkFileFilter *filter; hbox = gtk_hbox_new(FALSE, 6); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 3); frame = gtk_frame_new("XML file name"); gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, TRUE, 3); dialog = gtk_file_chooser_dialog_new("Open XML File", GTK_WINDOW(main_window), GTK_FILE_CHOOSER_ACTION_OPEN, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); filter = gtk_file_filter_new(); gtk_file_filter_add_pattern(filter, "*.xml"); gtk_file_filter_add_pattern(filter, "*.XML"); gtk_file_filter_add_pattern(filter, "*.sda"); gtk_file_filter_add_pattern(filter, "*.SDA"); gtk_file_filter_add_mime_type(filter, "text/xml"); gtk_file_filter_set_name(filter, "XML file"); gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter); chooser = gtk_file_chooser_button_new_with_dialog(dialog); g_signal_connect(G_OBJECT(chooser), "file-set", G_CALLBACK(on_file_set), main_dialog); gtk_file_chooser_button_set_width_chars(GTK_FILE_CHOOSER_BUTTON(chooser), 30); gtk_container_add(GTK_CONTAINER(frame), chooser); return chooser; }
/*# @method set_width_chars GtkFileChooserButton @brief Sets the width (in characters) that button will use to n_chars. @param n_chars the new width, in characters. */ FALCON_FUNC FileChooserButton::set_width_chars( VMARG ) { Item* i_w = vm->param( 0 ); #ifndef NO_PARAMETER_CHECK if ( !i_w || i_w->isNil() || !i_w->isInteger() ) throw_inv_params( "I" ); #endif MYSELF; GET_OBJ( self ); gtk_file_chooser_button_set_width_chars( (GtkFileChooserButton*)_obj, i_w->asInteger() ); }
SettingItem * register_img_file_setting(GtkWidget * widget, gchar * section, gchar * key, GtkImage * image) { SettingItem * item = register_setting(widget,ST_IMG_FILE,section,key); gtk_file_chooser_button_set_width_chars(GTK_FILE_CHOOSER_BUTTON(widget),0); item->image = image; item->preview = GTK_IMAGE(gtk_image_new()); gtk_file_chooser_set_preview_widget(GTK_FILE_CHOOSER(widget),GTK_WIDGET(item->preview)); g_signal_connect(widget,"update-preview",G_CALLBACK(update_preview_cb), item->preview); return item; }