Mercurial > octave
diff libgui/src/dialog.cc @ 16581:fa4a035e0cf4
Add octave_link uiputfile implementation
* libgui/src/dialog.cc, libgui/src/dialog.h
(FileDialog::FileDialog): Change bool multiselect to QString multimode, add mode option of 'create' and set options accordingly.
(QUIWidgetCreator::signal_filedialog): Change bool multiselect to QString multimode.
(QUIWidgetCreator::create_filedialog): Change bool multiselect to QString multimode.
* libgui/src/main-window.cc, libgui/src/main-window.h
(main_window::connect_uiwidget_links): update bool multiselect to QString multimode.
(main_window::handle_create_filedialog): update bool multiselect to QString multimode.
* libgui/src/octave-qt-link.h
(octave_qt_link::do_file_dialog): update bool multiselect to std::string multimode.
* libinterp/interpfcn/octave-link.h
(octave_link::do_file_dialog): update bool multiselect to std::string multimode.
(octave_link::file_dialog): update bool multiselect to std::string multimode.
* scripts/plot/uiputfile.m
(uiputfile): update to call __octave_link_file_dialog__ if octave_link is present.
author | John Donoghue <john.donoghue@ieee.org> |
---|---|
date | Sun, 28 Apr 2013 17:00:00 -0400 |
parents | adc150db1809 |
children | 868d0bcfabae |
line wrap: on
line diff
--- a/libgui/src/dialog.cc Sun Apr 28 13:41:37 2013 -0400 +++ b/libgui/src/dialog.cc Sun Apr 28 17:00:00 2013 -0400 @@ -424,7 +424,7 @@ const QString& title, const QString& filename, const QString& dirname, - bool multiselect) + const QString& multimode) : QFileDialog() { // Create a NonModal message. @@ -433,13 +433,26 @@ setWindowTitle (title.isEmpty () ? " " : title); setDirectory (dirname); - if (multiselect) - setFileMode (QFileDialog::ExistingFiles); - else - setFileMode (QFileDialog::ExistingFile); + if (multimode == "on") // uigetfile multiselect=on + { + setFileMode (QFileDialog::ExistingFiles); + setAcceptMode (QFileDialog::AcceptOpen); + } + else if(multimode == "create") // uiputfile + { + setFileMode (QFileDialog::AnyFile); + setAcceptMode (QFileDialog::AcceptSave); + setOption (QFileDialog::DontConfirmOverwrite, false); + setConfirmOverwrite(true); + } + else // uigetfile multiselect=off + { + setFileMode (QFileDialog::ExistingFile); + setAcceptMode (QFileDialog::AcceptOpen); + } setNameFilters (filters); - setAcceptMode (QFileDialog::AcceptOpen); + selectFile (filename); connect (this,