diff --git a/test/editor.cxx b/test/editor.cxx index 3c650aab0804e9009821bc5b176bf6cd6d9f4e71..fc6f25c198d991e530db13a530f76a17d6a23449 100644 --- a/test/editor.cxx +++ b/test/editor.cxx @@ -45,7 +45,7 @@ #include <FL/Fl_Group.H> #include <FL/Fl_Double_Window.H> #include <FL/fl_ask.H> -#include <FL/Fl_File_Chooser.H> +#include <FL/Fl_Native_File_Chooser.H> #include <FL/Fl_Menu_Bar.H> #include <FL/Fl_Input.H> #include <FL/Fl_Button.H> @@ -484,7 +484,7 @@ int check_save(void) { } int loading = 0; -void load_file(char *newfile, int ipos) { +void load_file(const char *newfile, int ipos) { loading = 1; int insert = (ipos != -1); changed = insert; @@ -500,7 +500,7 @@ void load_file(char *newfile, int ipos) { textbuf->call_modify_callbacks(); } -void save_file(char *newfile) { +void save_file(const char *newfile) { if (textbuf->savefile(newfile)) fl_alert("Error writing to file \'%s\':\n%s.", newfile, strerror(errno)); else @@ -590,15 +590,21 @@ void new_cb(Fl_Widget*, void*) { void open_cb(Fl_Widget*, void*) { if (!check_save()) return; + Fl_Native_File_Chooser fnfc; + fnfc.title("Open file"); + fnfc.type(Fl_Native_File_Chooser::BROWSE_FILE); + if ( fnfc.show() ) return; + load_file(fnfc.filename(), -1); - char *newfile = fl_file_chooser("Open File?", "*", filename); - if (newfile != NULL) load_file(newfile, -1); } -void insert_cb(Fl_Widget*, void *v) { - char *newfile = fl_file_chooser("Insert File?", "*", filename); +void insert_cb(Fl_Widget*, void *v) { + Fl_Native_File_Chooser fnfc; + fnfc.title("Insert file"); + fnfc.type(Fl_Native_File_Chooser::BROWSE_FILE); + if ( fnfc.show() ) return; EditorWindow *w = (EditorWindow *)v; - if (newfile != NULL) load_file(newfile, w->editor->insert_position()); + load_file(fnfc.filename(), w->editor->insert_position()); } void paste_cb(Fl_Widget*, void* v) { @@ -718,10 +724,11 @@ void save_cb() { } void saveas_cb() { - char *newfile; - - newfile = fl_file_chooser("Save File As?", "*", filename); - if (newfile != NULL) save_file(newfile); + Fl_Native_File_Chooser fnfc; + fnfc.title("Save File As?"); + fnfc.type(Fl_Native_File_Chooser::BROWSE_SAVE_FILE); + if ( fnfc.show() ) return; + save_file(fnfc.filename()); } Fl_Window* new_view(); diff --git a/test/pixmap_browser.cxx b/test/pixmap_browser.cxx index 4df8c1fedf5591f6837bc5279579824f3fb254e2..51bb4e6d1c6fbccc8f697e9a9b4a193becfa1c71 100644 --- a/test/pixmap_browser.cxx +++ b/test/pixmap_browser.cxx @@ -32,7 +32,7 @@ #include <FL/Fl_Shared_Image.H> #include <string.h> #include <errno.h> -#include <FL/Fl_File_Chooser.H> +#include <FL/Fl_Native_File_Chooser.H> #include <FL/fl_message.H> Fl_Box *b; @@ -87,9 +87,12 @@ void file_cb(const char *n) { } void button_cb(Fl_Widget *,void *) { - fl_file_chooser_callback(file_cb); - fl_file_chooser("Image file?","*.{bm,bmp,gif,jpg,pbm,pgm,png,ppm,xbm,xpm}", name); - fl_file_chooser_callback(0); + Fl_Native_File_Chooser fnfc; + fnfc.title("Pick an image file"); + fnfc.type(Fl_Native_File_Chooser::BROWSE_FILE); + fnfc.filter("Image files\t*.{bm,bmp,gif,jpg,pbm,pgm,png,ppm,xbm,xpm}"); + if ( fnfc.show() ) return; + file_cb(fnfc.filename()); } int dvisual = 0;