diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2002-05-01 08:28:59 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2002-05-01 08:28:59 +0000 |
| commit | 43b4048b9c613e23ce80e2ce9c96cf30334fe931 (patch) | |
| tree | 3b9cf150b98313f4effd8723a6d48b4ebad6ec70 /src | |
| parent | e5ceaa48e4db781002fc1ff66febf9fd11de95b9 (diff) | |
Fix file chooser bug - show() was calling deselect() when it shouldn't
have been.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2153 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_File_Chooser.cxx | 7 | ||||
| -rw-r--r-- | src/Fl_File_Chooser.fl | 12 | ||||
| -rw-r--r-- | src/Fl_File_Chooser2.cxx | 13 |
3 files changed, 15 insertions, 17 deletions
diff --git a/src/Fl_File_Chooser.cxx b/src/Fl_File_Chooser.cxx index 42f1b035f..ca734ae1e 100644 --- a/src/Fl_File_Chooser.cxx +++ b/src/Fl_File_Chooser.cxx @@ -3,8 +3,7 @@ #include "../FL/Fl_File_Chooser.H" inline void Fl_File_Chooser::cb_window_i(Fl_Window*, void*) { - fileList->deselect(); -fileName->value(""); + fileName->value(directory_); window->hide(); } void Fl_File_Chooser::cb_window(Fl_Window* o, void* v) { @@ -92,8 +91,7 @@ void Fl_File_Chooser::cb_okButton(Fl_Return_Button* o, void* v) { } inline void Fl_File_Chooser::cb_Cancel_i(Fl_Button*, void*) { - fileList->deselect(); -fileName->value(""); + fileName->value(directory_); window->hide(); } void Fl_File_Chooser::cb_Cancel(Fl_Button* o, void* v) { @@ -213,7 +211,6 @@ const char * Fl_File_Chooser::label() { void Fl_File_Chooser::show() { window->hotspot(fileList); window->show(); -fileList->deselect(); } int Fl_File_Chooser::shown() { diff --git a/src/Fl_File_Chooser.fl b/src/Fl_File_Chooser.fl index 7625f4681..c4a055a94 100644 --- a/src/Fl_File_Chooser.fl +++ b/src/Fl_File_Chooser.fl @@ -10,8 +10,7 @@ class Fl_File_Chooser {open } { Fl_Window window { label {Pick a File} - callback {fileList->deselect(); -fileName->value(""); + callback {fileName->value(directory_); window->hide();} open private xywh {99 225 375 325} resizable code0 {if (title) window->label(title);} @@ -78,8 +77,7 @@ window->hide();} } Fl_Button {} { label Cancel - callback {fileList->deselect(); -fileName->value(""); + callback {fileName->value(directory_); window->hide();} private xywh {285 290 80 25} code0 {o->label(fl_cancel);} @@ -154,8 +152,8 @@ rescan();} {} Function {show()} {open return_type void } { code {window->hotspot(fileList); -window->show(); -fileList->deselect();} {} +window->show();} {selected + } } Function {shown()} {return_type int } { @@ -217,7 +215,7 @@ else } decl {static const char *filename_label;} {public } - decl {static const char *filter_label;} {selected public + decl {static const char *filter_label;} {public } } diff --git a/src/Fl_File_Chooser2.cxx b/src/Fl_File_Chooser2.cxx index a1093bf4a..e696837a4 100644 --- a/src/Fl_File_Chooser2.cxx +++ b/src/Fl_File_Chooser2.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_File_Chooser2.cxx,v 1.1.2.8 2002/04/30 21:50:16 easysw Exp $" +// "$Id: Fl_File_Chooser2.cxx,v 1.1.2.9 2002/05/01 08:28:59 easysw Exp $" // // More Fl_File_Chooser routines. // @@ -656,14 +656,13 @@ Fl_File_Chooser::fileNameCB() } } - fileList->deselect(0); - fileList->redraw(); - // If we have any matches, add them to the input field... if (first_line > 0 && min_match == max_match && max_match == (int)strlen(fileList->text(first_line))) { // This is the only possible match... + fileList->deselect(0); fileList->select(first_line); + fileList->redraw(); } else if (max_match > min_match && max_match != 100000) { @@ -683,6 +682,10 @@ Fl_File_Chooser::fileNameCB() fileName->position(filename - pathname + max_match, filename - pathname + min_match); } + else if (max_match == 0) { + fileList->deselect(0); + fileList->redraw(); + } // See if we need to enable the OK button... if ((type_ & CREATE || access(fileName->value(), 0) == 0) && @@ -695,5 +698,5 @@ Fl_File_Chooser::fileNameCB() // -// End of "$Id: Fl_File_Chooser2.cxx,v 1.1.2.8 2002/04/30 21:50:16 easysw Exp $". +// End of "$Id: Fl_File_Chooser2.cxx,v 1.1.2.9 2002/05/01 08:28:59 easysw Exp $". // |
