void GTK_browse_server_executable(GtkWidget *entry, gpointer user_data) { GtkWidget *w; const gchar *path = gtk_entry_get_text(GTK_ENTRY(entry)); const gchar *os_path; gchar *s; w = gtk_file_selection_new("Select Local Executable"); gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(w)); if (*path) { os_path = g_filename_from_utf8(path, -1, NULL, NULL, NULL); if (os_path) { s = g_find_program_in_path(os_path); gtk_file_selection_set_filename(GTK_FILE_SELECTION(w), s ? s : os_path); g_free(s); g_free((void *)os_path); } } if (gtk_dialog_run(GTK_DIALOG(w)) == GTK_RESPONSE_OK) { os_path = gtk_file_selection_get_filename(GTK_FILE_SELECTION(w)); path = g_filename_to_utf8(os_path, -1, NULL, NULL, NULL); if (path) { gtk_entry_set_text(GTK_ENTRY(entry), path); g_free((void *)path); } } gtk_widget_destroy(w); }
static void playlist_cb(GtkWidget *widget, guint data) { const gchar *pldir; gchar *plpatt; if( ! plfilesel ) { plfilesel = gtk_file_selection_new(""); gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(plfilesel)); pldir = g_getenv("TIMIDITY_PLAYLIST_DIR"); if(pldir != NULL) { plpatt = g_strconcat(pldir, "/*.tpl", NULL); gtk_file_selection_set_filename(GTK_FILE_SELECTION(plfilesel), plpatt); g_free(plpatt); } gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(plfilesel)->ok_button), "clicked", GTK_SIGNAL_FUNC (playlist_op), (gpointer)1); gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(plfilesel)->cancel_button), "clicked", GTK_SIGNAL_FUNC (playlist_op), NULL); } gtk_window_set_title(GTK_WINDOW(plfilesel), ((char)data == 'l')? "Load Playlist": "Save Playlist"); gtk_object_set_user_data(GTK_OBJECT(plfilesel), GINT_TO_POINTER(data)); gtk_file_selection_complete(GTK_FILE_SELECTION(plfilesel), "*.tpl"); gtk_widget_show(plfilesel); } /* playlist_cb */
static void change_clicked (GtkWidget *widget, gpointer data) { GtkWidget* file_sel; char* filename = NULL; int loop = 1; file_sel = gtk_file_selection_new ("Locate portal (.prt) file"); gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_sel)->ok_button), "clicked", GTK_SIGNAL_FUNC (file_sel_callback), GINT_TO_POINTER (IDOK)); gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_sel)->cancel_button), "clicked", GTK_SIGNAL_FUNC (file_sel_callback), GINT_TO_POINTER (IDCANCEL)); gtk_signal_connect (GTK_OBJECT (file_sel), "delete_event", GTK_SIGNAL_FUNC (dialog_delete_callback), NULL); gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (file_sel)); g_object_set_data (G_OBJECT (file_sel), "loop", &loop); g_object_set_data (G_OBJECT (file_sel), "filename", &filename); gtk_file_selection_set_filename (GTK_FILE_SELECTION (file_sel), portals.fn); gtk_grab_add (file_sel); gtk_widget_show (file_sel); while (loop) gtk_main_iteration (); gtk_grab_remove (file_sel); gtk_widget_destroy (file_sel); if (filename != NULL) { strcpy (portals.fn, filename); gtk_entry_set_text (GTK_ENTRY (data), filename); g_free (filename); } }
static void open_file_cb(GtkWidget *widget, gpointer data) { if( ! filesel ) { filesel = gtk_file_selection_new("Open File"); gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filesel)); #ifdef HAVE_GTK_2 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "clicked", G_CALLBACK (filer_cb), GINT_TO_POINTER(1)); #else gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->ok_button), "clicked", GTK_SIGNAL_FUNC (filer_cb), GINT_TO_POINTER(1)); #endif #ifdef HAVE_GTK_2 gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), "clicked", G_CALLBACK (filer_cb), GINT_TO_POINTER(0)); #else gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filesel)->cancel_button), "clicked", GTK_SIGNAL_FUNC (filer_cb), GINT_TO_POINTER(0)); #endif } gtk_widget_show(GTK_WIDGET(filesel)); }
void FileBrowser( GtkWidget* fileEntry, GtkSignalFunc okFunc) { FileEntry = fileEntry; FileOkFunc = okFunc; FileSelection = gtk_file_selection_new("Select File"); gtk_file_selection_hide_fileop_buttons( GTK_FILE_SELECTION(FileSelection)); gtk_signal_connect( GTK_OBJECT(GTK_FILE_SELECTION(FileSelection)->ok_button), "clicked", GTK_SIGNAL_FUNC(on_filename_selected), FileSelection); gtk_signal_connect_object( GTK_OBJECT(GTK_FILE_SELECTION(FileSelection)->cancel_button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(FileSelection)); gtk_widget_show(FileSelection); gtk_grab_add(FileSelection); }
// Open Dlg for file selection bool showSelectFileBox(const std::string &title, std::string &selectedFile, const bool &fileOptions/*=true*/) { // Create the selector GtkWidget *file_selector = gtk_file_selection_new(title.c_str()); // Set current filename if (selectedFile!="") { // Converts a filename from UTF-8 to on-disk encoding, and sets it in the // GtkFileSelection. gchar *on_disk_filename; on_disk_filename = g_filename_from_utf8(selectedFile.c_str(), -1, NULL, NULL, NULL); gtk_file_selection_set_filename (GTK_FILE_SELECTION (file_selector), on_disk_filename); g_free(on_disk_filename); } if (fileOptions) gtk_file_selection_show_fileop_buttons(GTK_FILE_SELECTION(file_selector)); else gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(file_selector)); // Display that dialog gtk_widget_show (file_selector); gint result=runModalBox(file_selector); if (result==GTK_RESPONSE_OK) { // Retrieve selected file const gchar *on_disk_filename; gchar *filename; on_disk_filename = gtk_file_selection_get_filename (GTK_FILE_SELECTION (file_selector)); filename = g_filename_to_utf8 (on_disk_filename, -1, NULL, NULL, NULL); if (filename) { selectedFile=filename; g_free(filename); } gtk_widget_destroy(file_selector); return true; } else { gtk_widget_destroy(file_selector); return false; } }
static void edit_vcard_file_select_create( AddressFileSelection *afs ) { GtkWidget *fileSelector; fileSelector = gtk_file_selection_new( _("Select vCard File") ); gtk_file_selection_hide_fileop_buttons( GTK_FILE_SELECTION(fileSelector) ); gtk_signal_connect( GTK_OBJECT (GTK_FILE_SELECTION(fileSelector)->ok_button), "clicked", GTK_SIGNAL_FUNC (edit_vcard_file_ok), ( gpointer ) afs ); gtk_signal_connect( GTK_OBJECT (GTK_FILE_SELECTION(fileSelector)->cancel_button), "clicked", GTK_SIGNAL_FUNC (edit_vcard_file_cancel), ( gpointer ) afs ); afs->fileSelector = fileSelector; afs->cancelled = TRUE; }
void TheComputer (GtkWidget *tcwidget, gpointer tcdata) { if ((ifilestuff == 0) && ((biscomputer == 0) || (wiscomputer == 0)) && (iyesno == 0)) { ichangecolor = (int) tcdata; if (ichangecolor == 1) { change = gtk_file_selection_new ("change white"); } else { change = gtk_file_selection_new ("change black"); } gtk_signal_connect (GTK_OBJECT (change), "delete_event", GTK_SIGNAL_FUNC (DestroyChange), NULL); gtk_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (change)->ok_button), "clicked", (GtkSignalFunc) EnableComp, change); gtk_signal_connect_object (GTK_OBJECT (GTK_FILE_SELECTION (change)->cancel_button), "clicked", (GtkSignalFunc) DestroyChange, NULL); if (ichangecolor == 2) { if (biscomputer == 1) { sprintf (defchange, PKGDATADIR"computers/%s.gtkgo", bplayername); } else { sprintf (defchange, "%s", PKGDATADIR"computers/default2.gtkgo"); } gtk_file_selection_set_filename (GTK_FILE_SELECTION (change), defchange); } else { if (wiscomputer == 1) { sprintf (defchange, PKGDATADIR"computers/%s.gtkgo", wplayername); } else { sprintf (defchange, "%s", PKGDATADIR"computers/default2.gtkgo"); } gtk_file_selection_set_filename (GTK_FILE_SELECTION (change), defchange); } gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (change)); gtk_widget_set_usize (GTK_WIDGET (change), 445, 300); gtk_widget_show (change); ifilestuff = 1; } }
void but_loadNeutrino(gpointer callback_data, guint callback_action, GtkWidget *widget){ GtkWidget *file_selector = gtk_file_selection_new(_("select a Neutrino Channellist.")); gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION(file_selector)); g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), "clicked", G_CALLBACK (load_file),(gpointer) file_selector); g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), "clicked", G_CALLBACK (gtk_widget_destroy), (gpointer) file_selector); g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->cancel_button), "clicked", G_CALLBACK (gtk_widget_destroy), (gpointer) file_selector); center_window(GTK_WINDOW(file_selector)); gtk_widget_show (file_selector); gtk_file_selection_complete(GTK_FILE_SELECTION(file_selector),"*.xml"); }
//_________________________________________________________________________ bool PopUpFileDialog(_String ps, _String* defaultLocation) { static _String lastOpenFilePath; if (!argFileName) { argFileName = new _String; } else { *argFileName = empty; } GtkWidget * fileSelector = gtk_file_selection_new (ps.sData); if (defaultLocation) { gtk_file_selection_set_filename (GTK_FILE_SELECTION (fileSelector), defaultLocation->sData); } else if (lastOpenFilePath.sLength) { gtk_file_selection_set_filename (GTK_FILE_SELECTION (fileSelector), lastOpenFilePath.sData); } if (defFileNameValue.sLength) { gtk_entry_set_text(GTK_ENTRY(GTK_FILE_SELECTION (fileSelector)->selection_entry), defFileNameValue.sData); } gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION (fileSelector)); gtk_file_selection_set_select_multiple (GTK_FILE_SELECTION (fileSelector),false); g_signal_connect (GTK_FILE_SELECTION (fileSelector)->ok_button, "clicked", G_CALLBACK (hyphy_store_filename), fileSelector); g_signal_connect (GTK_FILE_SELECTION (fileSelector)->cancel_button, "clicked", G_CALLBACK (hyphy_kill_dialog_and_exit), fileSelector); g_signal_connect_swapped (fileSelector, "close", G_CALLBACK (hyphy_exit_loop), fileSelector); gtk_widget_show (fileSelector); gtk_window_set_modal (GTK_WINDOW(fileSelector),true); gtk_main (); printf ("\nPopUpFileDialog:%s\n", argFileName->sData); if (argFileName->sLength) { lastOpenFilePath = argFileName->Cut(0,argFileName->FindBackwards('/',0,-1)); } return argFileName->sLength; }
void winopenfile(char *prompt, char *buf, int len) { char realprompt[256]; sprintf(realprompt, "Open: %s", prompt); filedlog = gtk_file_selection_new(realprompt); if (strlen(buf)) gtk_file_selection_set_filename(GTK_FILE_SELECTION(filedlog), buf); gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filedlog)); gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filedlog)->ok_button), "clicked", onokay, NULL); gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filedlog)->cancel_button), "clicked", oncancel, NULL); filename = buf; gtk_widget_show(filedlog); gtk_main(); /* recurse... */ }
void create_save_win(GtkWidget *parent, t_editor *editor) { (void)parent; editor->pselection = gtk_file_selection_new("Save file"); gtk_window_set_modal(GTK_WINDOW(editor->pselection), TRUE); gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(editor ->pselection)); gtk_window_set_position(GTK_WINDOW(editor->pselection), GTK_WIN_POS_CENTER); gtk_widget_show(editor->pselection); g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(editor->pselection)->ok_button), "clicked", G_CALLBACK(create_file), editor); g_signal_connect(G_OBJECT(GTK_FILE_SELECTION(editor->pselection) ->cancel_button), "clicked", G_CALLBACK(my_widget_destroy), editor); gtk_widget_set_sensitive(editor->pSaveBtn, FALSE); }
void select_plugin_file(GtkWidget *mitem, ggobid *gg) { GtkWidget *file_selector; file_selector = gtk_file_selection_new("Select plugin description file"); gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(file_selector)); g_signal_connect (G_OBJECT (GTK_FILE_SELECTION(file_selector)->ok_button), "clicked", G_CALLBACK (loadPluginFromFile), gg); g_signal_connect_swapped(G_OBJECT (GTK_FILE_SELECTION(file_selector)->cancel_button), "clicked", G_CALLBACK (gtk_widget_destroy), (gpointer) file_selector); gtk_widget_show(file_selector); }
gboolean gw_file_selection_box_hide_fileops ( GtkWidget *widget, GtkFileSelection *fs) { gboolean result = FALSE; #ifdef GW_DEBUG_GUI_COMPONENT g_print ( "*** GW - %s (%d) :: %s()\n", __FILE__, __LINE__, __PRETTY_FUNCTION__); #endif if ( fs != NULL ) { gtk_file_selection_hide_fileop_buttons ( fs); result = TRUE; } return result; }
void fileselbox(char *title, char **filesel_path, GtkSignalFunc func) { fileselbox_text=filesel_path; filesel_ok=0; cleanup=func; fs=gtk_file_selection_new(title); gtk_signal_connect(GTK_OBJECT(fs), "destroy", (GtkSignalFunc) destroy_callback, NULL); gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(fs)->ok_button), "clicked", (GtkSignalFunc) enter_callback, GTK_OBJECT(fs)); gtk_signal_connect_object(GTK_OBJECT(GTK_FILE_SELECTION(fs)->cancel_button), "clicked", (GtkSignalFunc) cancel_callback, GTK_OBJECT(fs)); gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(fs)); if(*fileselbox_text) gtk_file_selection_set_filename(GTK_FILE_SELECTION(fs), *fileselbox_text); gtk_grab_add(fs); gtk_widget_show(fs); }
void saveNeutrino(gint bouquet){ GtkWidget *file_selector; if (bouquet){ save_all_bouquets(); // alle Bouquets speichern. return; } file_selector = gtk_file_selection_new(_("save a Neutrino Channellist.")); gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION(file_selector)); g_signal_connect (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), "clicked", G_CALLBACK (save_akt_bouquet),(gpointer) file_selector); g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->ok_button), "clicked", G_CALLBACK (gtk_widget_destroy), (gpointer) file_selector); g_signal_connect_swapped (GTK_OBJECT (GTK_FILE_SELECTION (file_selector)->cancel_button), "clicked", G_CALLBACK (gtk_widget_destroy), (gpointer) file_selector); center_window(GTK_WINDOW(file_selector)); gtk_widget_show (file_selector); gtk_file_selection_complete(GTK_FILE_SELECTION(file_selector),"*.xml"); }
static void file_selection(int type, char *title, char *defstr, void *arg) { GtkWidget *file_dialog; file_selection_t *fsp; fsp = malloc(sizeof(*fsp)); if (fsp == 0) { printf("file_selection: Can't alloc memory (size = %d)\n", sizeof(*fsp)); return; } bzero(fsp, sizeof(*fsp)); file_dialog = gtk_file_selection_new(title); if (defstr) { gtk_file_selection_set_filename( GTK_FILE_SELECTION(file_dialog), defstr); } fsp->fs = file_dialog; fsp->type = type; fsp->arg = arg; gtk_window_set_position(GTK_WINDOW(file_dialog), GTK_WIN_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(file_dialog), TRUE); gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(file_dialog)); gtk_signal_connect(GTK_OBJECT(file_dialog), "destroy", GTK_SIGNAL_FUNC(file_selection_destroy), fsp); gtk_signal_connect_object( GTK_OBJECT(GTK_FILE_SELECTION(file_dialog)->cancel_button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_destroy), GTK_OBJECT(file_dialog)); gtk_signal_connect( GTK_OBJECT(GTK_FILE_SELECTION(file_dialog)->ok_button), "clicked", GTK_SIGNAL_FUNC(file_selection_ok), fsp); gtk_widget_show(file_dialog); }
/* * Sets the properties of the widget. This is used for both applying the * properties changed in the property editor, and also for loading. */ static void gb_file_selection_set_properties (GtkWidget * widget, GbWidgetSetArgData * data) { gboolean show_fileops; gb_window_set_standard_properties (widget, data, Title, Type, Position, Modal, DefaultWidth, DefaultHeight, Shrink, Grow, AutoShrink, WMName, WMClass, Resizable, DestroyWithParent, Icon); show_fileops = gb_widget_input_bool (data, FileOps); if (data->apply) { if (show_fileops) gtk_file_selection_show_fileop_buttons (GTK_FILE_SELECTION (widget)); else gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (widget)); } }
static void open_filesel(GtkWidget *widget, gpointer *data) { GtkWidget *filesel; LOG(LOG_DEBUG, "IN : open_filesel()"); filesel = gtk_file_selection_new (_("Select directory")); gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(filesel)); g_signal_connect (G_OBJECT (GTK_FILE_SELECTION (filesel)->ok_button), "clicked", G_CALLBACK (filesel_ok), (gpointer) filesel); g_signal_connect_swapped (G_OBJECT (GTK_FILE_SELECTION (filesel)->cancel_button), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (filesel)); if(strcmp(&last_dir[strlen(last_dir) -1], DIR_DELIMITER) != 0) strcat(last_dir, DIR_DELIMITER); gtk_file_selection_set_filename(GTK_FILE_SELECTION(filesel), last_dir); gtk_widget_show(filesel); gtk_grab_add(filesel); LOG(LOG_DEBUG, "OUT : open_filesel()"); }
int install_gui(GtkWidget *main_window, int w, int h, int x, int y) { GtkWidget *scrolled_window; GtkWidget *button; GtkWidget *label; GtkWidget *pixmapwid; GdkPixmap *pixmap; GdkBitmap *mask; char temp_str[256]; const char *svalue; gchar *titles[] = {"", _("Files to install")}; if (filew) { return EXIT_SUCCESS; } clist_row_selected = 0; g_snprintf(temp_str, sizeof(temp_str), "%s %s", PN, _("Install")); filew = gtk_widget_new(GTK_TYPE_FILE_SELECTION, "type", GTK_WINDOW_TOPLEVEL, "title", temp_str, NULL); gtk_window_set_default_size(GTK_WINDOW(filew), w, h); gtk_widget_set_uposition(filew, x, y); gtk_window_set_modal(GTK_WINDOW(filew), TRUE); gtk_window_set_transient_for(GTK_WINDOW(filew), GTK_WINDOW(main_window)); get_pref(PREF_INSTALL_PATH, NULL, &svalue); if (svalue && svalue[0]) { gtk_file_selection_set_filename(GTK_FILE_SELECTION(filew), svalue); } gtk_file_selection_hide_fileop_buttons((gpointer) filew); gtk_widget_hide((GTK_FILE_SELECTION(filew)->cancel_button)); gtk_signal_connect(GTK_OBJECT(filew), "destroy", GTK_SIGNAL_FUNC(cb_destroy), filew); /* Even though I hide the ok button I still want to connect its signal */ /* because a double click on the file name also calls this callback */ gtk_widget_hide(GTK_WIDGET(GTK_FILE_SELECTION(filew)->ok_button)); gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(filew)->ok_button), "clicked", GTK_SIGNAL_FUNC(cb_add), filew); clist = gtk_clist_new_with_titles(2, titles); gtk_widget_set_usize(GTK_WIDGET(clist), 0, 166); gtk_clist_column_titles_passive(GTK_CLIST(clist)); gtk_clist_set_column_auto_resize(GTK_CLIST(clist), INST_SDCARD_COLUMN, TRUE); gtk_clist_set_selection_mode(GTK_CLIST(clist), GTK_SELECTION_BROWSE); get_pixmaps(clist, PIXMAP_SDCARD, &pixmap, &mask); #ifdef __APPLE__ mask = NULL; #endif pixmapwid = gtk_pixmap_new(pixmap, mask); gtk_clist_set_column_widget(GTK_CLIST(clist), INST_SDCARD_COLUMN, pixmapwid); gtk_clist_set_column_justification(GTK_CLIST(clist), INST_SDCARD_COLUMN, GTK_JUSTIFY_CENTER); gtk_signal_connect(GTK_OBJECT(clist), "select_row", GTK_SIGNAL_FUNC(cb_clist_selection), NULL); /* Scrolled Window for file list */ scrolled_window = gtk_scrolled_window_new(NULL, NULL); gtk_container_add(GTK_CONTAINER(scrolled_window), GTK_WIDGET(clist)); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_container_set_border_width(GTK_CONTAINER(scrolled_window), 5); gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->action_area), scrolled_window, TRUE, TRUE, 0); label = gtk_label_new(_("To change to a hidden directory type it below and hit TAB")); gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->main_vbox), label, FALSE, FALSE, 0); /* Add/Remove/Quit buttons */ button = gtk_button_new_from_stock(GTK_STOCK_ADD); gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->ok_button->parent), button, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cb_add), filew); button = gtk_button_new_from_stock(GTK_STOCK_REMOVE); gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->ok_button->parent), button, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cb_remove), filew); button = gtk_button_new_from_stock(GTK_STOCK_CLOSE); gtk_box_pack_start(GTK_BOX(GTK_FILE_SELECTION(filew)->ok_button->parent), button, TRUE, TRUE, 0); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(cb_quit), filew); /**********************************************************************/ gtk_widget_show_all(filew); /* Hide default buttons not used by Jpilot file selector */ gtk_widget_hide(GTK_FILE_SELECTION(filew)->cancel_button); gtk_widget_hide(GTK_FILE_SELECTION(filew)->ok_button); install_update_clist(); gtk_main(); return EXIT_SUCCESS; }
GtkWidget * gw_file_selection_box_create ( gchar *title, gchar *filename, GtkSignalFunc ok, GtkSignalFunc cancel) { static GtkWidget *w = NULL; GtkWidget *button; GtkWindow *window = NULL; gchar *text_utf8 = NULL; #ifdef GW_DEBUG_GUI_COMPONENT g_print ( "*** GW - %s (%d) :: %s()\n", __FILE__, __LINE__, __PRETTY_FUNCTION__); #endif if ( !w ) { window = gw_gui_manager_main_interface_get_main_window ( ); g_strdup_to_gtk_text ( title, text_utf8); w = gtk_file_selection_new ( text_utf8); g_free ( text_utf8); if ( filename != NULL ) { g_strdup_to_gtk_text ( filename, text_utf8); gtk_file_selection_set_filename ( GTK_FILE_SELECTION ( w), text_utf8); g_free ( text_utf8); } gtk_window_set_policy ( GTK_WINDOW ( w), FALSE, FALSE, TRUE); gtk_file_selection_hide_fileop_buttons ( GTK_FILE_SELECTION ( w)); gtk_window_set_modal ( GTK_WINDOW ( w), TRUE); gtk_window_set_transient_for ( GTK_WINDOW ( w), GTK_WINDOW ( window)); gtk_window_set_position ( GTK_WINDOW ( w), GTK_WIN_POS_CENTER); gtk_signal_connect ( GTK_OBJECT ( w), "destroy", GTK_SIGNAL_FUNC ( gtk_widget_destroyed), &w); gtk_button_set_relief ( GTK_BUTTON ( GTK_FILE_SELECTION ( w)->ok_button), GTK_RELIEF_HALF); if ( ok != NULL ) { gtk_signal_connect ( GTK_OBJECT ( GTK_FILE_SELECTION ( w)->ok_button), "clicked", GTK_SIGNAL_FUNC ( ok), w); } if ( cancel != NULL ) { gtk_signal_connect ( GTK_OBJECT ( GTK_FILE_SELECTION ( w)->cancel_button), "clicked", GTK_SIGNAL_FUNC ( cancel), w); } else { gtk_signal_connect_object ( GTK_OBJECT ( GTK_FILE_SELECTION ( w)->cancel_button), "clicked", GTK_SIGNAL_FUNC ( gtk_widget_destroy), GTK_OBJECT ( w)); } g_strdup_to_gtk_text ( _( "Hide file operations"), text_utf8); button = gtk_button_new_with_label ( text_utf8); g_free ( text_utf8); gtk_signal_connect ( GTK_OBJECT ( button), "clicked", (GtkSignalFunc) gw_file_selection_box_hide_fileops, (gpointer) w); gtk_box_pack_start ( GTK_BOX ( GTK_FILE_SELECTION ( w)->action_area), button, FALSE, FALSE, 0); g_strdup_to_gtk_text ( _( "Show file operation"), text_utf8); button = gtk_button_new_with_label ( text_utf8); g_free ( text_utf8); gtk_signal_connect_object ( GTK_OBJECT ( button), "clicked", (GtkSignalFunc) gtk_file_selection_show_fileop_buttons, (gpointer) w); gtk_box_pack_start ( GTK_BOX ( GTK_FILE_SELECTION ( w)->action_area), button, FALSE, FALSE, 0); } if ( !GTK_WIDGET_VISIBLE ( w) ) { gtk_widget_show_all ( w); } else { gtk_widget_destroy ( w); } return w; }