summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Fl_File_Chooser.cxx7
-rw-r--r--src/Fl_File_Chooser.fl12
-rw-r--r--src/Fl_File_Chooser2.cxx13
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 $".
//