diff options
| author | Matthias Melcher <fltk@matthiasm.com> | 2007-02-21 20:08:07 +0000 |
|---|---|---|
| committer | Matthias Melcher <fltk@matthiasm.com> | 2007-02-21 20:08:07 +0000 |
| commit | d1f1f1f26ffd7a6649257c0d8e7bb9bf98e22a2c (patch) | |
| tree | 82fe89ac7648e1fb0d2f990a3daf7eab277792e3 | |
| parent | f178a4c577f5ab386ed14832ea0691c72bc39510 (diff) | |
Flushing file chooser preferences after every change to avoid data loss due to application crash
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5703 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
| -rw-r--r-- | CHANGES | 2 | ||||
| -rw-r--r-- | src/Fl_File_Chooser.fl | 9 | ||||
| -rw-r--r-- | src/Fl_File_Chooser2.cxx | 3 |
3 files changed, 9 insertions, 5 deletions
@@ -2,6 +2,8 @@ CHANGES IN FLTK 1.1.8 - Documentation fixes (STR #1454, STR #1455, STR #1456, STR #1457, STR #1458, STR #1460, STR #1481, STR #1578) + - Flushing file chooser preferences after every change + to avoid data loss (STR #1609) - Fixed clipping in OS X Quartz offscreen buffers (STR 1595) - Added Fl::set_awake_cb() to set a handler for thread diff --git a/src/Fl_File_Chooser.fl b/src/Fl_File_Chooser.fl index e50039308..d45e63b55 100644 --- a/src/Fl_File_Chooser.fl +++ b/src/Fl_File_Chooser.fl @@ -33,7 +33,7 @@ comment {// decl {\#include <FL/fl_draw.H>} {} -class FL_EXPORT Fl_File_Chooser {open +class FL_EXPORT Fl_File_Chooser {open selected } { decl {enum { SINGLE = 0, MULTI = 1, CREATE = 2, DIRECTORY = 4 };} {public } @@ -53,15 +53,14 @@ class FL_EXPORT Fl_File_Chooser {open decl {void showChoiceCB();} {} decl {void update_favorites();} {} decl {void update_preview();} {} - Function {Fl_File_Chooser(const char *d, const char *p, int t, const char *title)} {open - } { + Function {Fl_File_Chooser(const char *d, const char *p, int t, const char *title)} {} { Fl_Window window { label {Choose File} callback {fileName->value(""); fileList->deselect(); Fl::remove_timeout((Fl_Timeout_Handler)previewCB, this); window->hide();} - private xywh {368 285 490 380} type Double resizable + private xywh {403 284 490 380} type Double resizable code0 {if (title) window->label(title);} code1 {\#include <stdio.h>} code2 {\#include <stdlib.h>} @@ -138,7 +137,7 @@ window->hide();} // Do any callback that is registered... if (callback_) - (*callback_)(this, data_);} selected + (*callback_)(this, data_);} private xywh {313 345 85 25} code0 {\#include <FL/fl_ask.H>} code1 {okButton->label(fl_ok);} diff --git a/src/Fl_File_Chooser2.cxx b/src/Fl_File_Chooser2.cxx index e6ccf6347..5e9772e60 100644 --- a/src/Fl_File_Chooser2.cxx +++ b/src/Fl_File_Chooser2.cxx @@ -243,6 +243,7 @@ Fl_File_Chooser::favoritesButtonCB() sprintf(menuname, "favorite%02d", v); prefs_.set(menuname, directory_); + prefs_.flush(); quote_pathname(menuname, directory_, sizeof(menuname)); favoritesButton->add(menuname); @@ -379,6 +380,7 @@ Fl_File_Chooser::favoritesCB(Fl_Widget *w) } update_favorites(); + prefs_.flush(); favWindow->hide(); } @@ -791,6 +793,7 @@ Fl_File_Chooser::preview(int e)// I - 1 = enable preview, 0 = disable preview { previewButton->value(e); prefs_.set("preview", e); + prefs_.flush(); Fl_Group *p = previewBox->parent(); if (e) { |
