Mercurial > hg > octave-lyh
changeset 16580:adc150db1809
style fixes for uigetfile changes
* dialog.cc, dialog.h, main-window.cc, octave-qt-link.cc,
octave-qt-link.h, octave-link.cc, octave-link.h, uigetfile.m:
Style fixes.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sun, 28 Apr 2013 13:41:37 -0400 |
parents | 7f8db1942dc0 |
children | fa4a035e0cf4 |
files | libgui/src/dialog.cc libgui/src/dialog.h libgui/src/main-window.cc libgui/src/octave-qt-link.cc libgui/src/octave-qt-link.h libinterp/interpfcn/octave-link.cc libinterp/interpfcn/octave-link.h scripts/plot/uigetfile.m |
diffstat | 8 files changed, 113 insertions(+), 107 deletions(-) [+] |
line wrap: on
line diff
--- a/libgui/src/dialog.cc +++ b/libgui/src/dialog.cc @@ -74,7 +74,8 @@ void -QUIWidgetCreator::list_select_finished (const QIntList& selected, const int button_pressed) +QUIWidgetCreator::list_select_finished (const QIntList& selected, + int button_pressed) { // Store the value so that builtin functions can retrieve. *list_index = selected; @@ -86,7 +87,7 @@ void -QUIWidgetCreator::input_finished (const QStringList& input, const int button_pressed) +QUIWidgetCreator::input_finished (const QStringList& input, int button_pressed) { // Store the value so that builtin functions can retrieve. *string_list = input; @@ -97,7 +98,8 @@ } void -QUIWidgetCreator::filedialog_finished (const QStringList& files, const QString & path, const int filterindex) +QUIWidgetCreator::filedialog_finished (const QStringList& files, + const QString& path, int filterindex) { // Store the value so that builtin functions can retrieve. *string_list = files; @@ -276,9 +278,9 @@ connect (buttonCancel, SIGNAL (clicked ()), this, SLOT (buttonCancel_clicked ())); - connect (this, SIGNAL (finish_selection (const QIntList&, const int)), + connect (this, SIGNAL (finish_selection (const QIntList&, int)), &uiwidget_creator, - SLOT (list_select_finished (const QIntList&, const int))); + SLOT (list_select_finished (const QIntList&, int))); } @@ -383,9 +385,9 @@ connect (buttonCancel, SIGNAL (clicked ()), this, SLOT (buttonCancel_clicked ())); - connect (this, SIGNAL (finish_input (const QStringList&, const int)), + connect (this, SIGNAL (finish_input (const QStringList&, int)), &uiwidget_creator, - SLOT (input_finished (const QStringList&, const int))); + SLOT (input_finished (const QStringList&, int))); } @@ -418,10 +420,10 @@ buttonCancel_clicked (); } -FileDialog::FileDialog (const QStringList &filters, +FileDialog::FileDialog (const QStringList& filters, const QString& title, const QString& filename, - const QString &dirname, + const QString& dirname, bool multiselect) : QFileDialog() { @@ -440,9 +442,11 @@ setAcceptMode (QFileDialog::AcceptOpen); selectFile (filename); - connect (this, SIGNAL (finish_input (const QStringList&, const QString &, const int)), + connect (this, + SIGNAL (finish_input (const QStringList&, const QString&, int)), &uiwidget_creator, - SLOT (filedialog_finished (const QStringList&, const QString &, const int))); + SLOT (filedialog_finished (const QStringList&, const QString&, + int))); } void @@ -460,20 +464,19 @@ QString path; int idx = 1; - string_result = selectedFiles(); + string_result = selectedFiles (); - // matlab expects just the file name, whereas the file dialog gave us - // pull path names, so fix it - for(int i=0;i<string_result.size ();i++) - { - string_result[i] = QFileInfo (string_result[i]).fileName (); - } + // Matlab expects just the file name, whereas the file dialog gave us + // pull path names, so fix it. + + for (int i = 0; i < string_result.size (); i++) + string_result[i] = QFileInfo (string_result[i]).fileName (); path = directory ().absolutePath (); QStringList filters = nameFilters (); - idx = filters.indexOf( selectedNameFilter ()) + 1; + idx = filters.indexOf (selectedNameFilter ()) + 1; // send the selected info emit finish_input (string_result, path, idx);
--- a/libgui/src/dialog.h +++ b/libgui/src/dialog.h @@ -104,15 +104,15 @@ const QStringList *get_string_list (void) { return string_list; } - bool signal_filedialog (const QStringList &filters, const QString &title, - const QString &filename, const QString &dirname, + bool signal_filedialog (const QStringList& filters, const QString& title, + const QString& filename, const QString& dirname, bool multiselect) { emit create_filedialog (filters, title, filename, dirname, multiselect); return true; } - const QString * get_dialog_path(void) { return path_name; } + const QString *get_dialog_path (void) { return path_name; } void wait (void) { @@ -133,21 +133,19 @@ const QFloatList&, const QFloatList&, const QStringList&); - void create_filedialog (const QStringList &filters, - const QString &title, - const QString &filename, - const QString &dirname, + void create_filedialog (const QStringList& filters, const QString& title, + const QString& filename, const QString& dirname, bool multiselect); public slots: void dialog_button_clicked (QAbstractButton *button); - void list_select_finished (const QIntList& selected, - const int button_pressed); + void list_select_finished (const QIntList& selected, int button_pressed); - void input_finished (const QStringList& input, const int button_pressed); + void input_finished (const QStringList& input, int button_pressed); - void filedialog_finished (const QStringList& files, const QString &path, const int filterindex); + void filedialog_finished (const QStringList& files, const QString& path, + int filterindex); private: @@ -159,7 +157,7 @@ QStringList *string_list; QIntList *list_index; - QString * path_name; + QString *path_name; // GUI objects cannot be accessed in the non-GUI thread. However, // signals can be sent to slots across threads with proper @@ -210,7 +208,7 @@ signals: - void finish_selection (const QIntList&, const int); + void finish_selection (const QIntList&, int); public slots: @@ -236,7 +234,7 @@ signals: - void finish_input (const QStringList&, const int); + void finish_input (const QStringList&, int); public slots: @@ -253,18 +251,19 @@ public: - explicit FileDialog (const QStringList &filters, + explicit FileDialog (const QStringList& filters, const QString& title, const QString& filename, const QString& dirname, bool multiselect); signals: - void finish_input (const QStringList&, const QString &, const int); + void finish_input (const QStringList&, const QString&, int); private slots: - void reject(); - void accept(); + void reject (void); + + void accept (void); }; #endif
--- a/libgui/src/main-window.cc +++ b/libgui/src/main-window.cc @@ -653,9 +653,12 @@ const QStringList&))); connect (&uiwidget_creator, - SIGNAL (create_filedialog (const QStringList &,const QString&, const QString&, const QString&, bool)), + SIGNAL (create_filedialog (const QStringList &,const QString&, + const QString&, const QString&, bool)), this, - SLOT (handle_create_filedialog (const QStringList &,const QString&, const QString&,const QString&, bool))); + SLOT (handle_create_filedialog (const QStringList &, const QString&, + const QString&, const QString&, + bool))); } // Create a message dialog with specified string, buttons and decorative @@ -713,14 +716,15 @@ } void -main_window::handle_create_filedialog (const QStringList &filters, +main_window::handle_create_filedialog (const QStringList& filters, const QString& title, const QString& filename, - const QString &dirname, + const QString& dirname, bool multiselect) { - FileDialog * file_dialog = new FileDialog(filters, title, - filename, dirname, multiselect); + FileDialog *file_dialog = new FileDialog (filters, title, filename, + dirname, multiselect); + file_dialog->setAttribute (Qt::WA_DeleteOnClose); file_dialog->show (); }
--- a/libgui/src/octave-qt-link.cc +++ b/libgui/src/octave-qt-link.cc @@ -129,29 +129,31 @@ } static QStringList -make_filter_list (const std::list< std::pair<std::string, std::string> >& lst) +make_filter_list (const octave_link::filter_list& lst) { QStringList retval; - // we have pairs of data, first being the list of extensions exta;exb;extc etc - // second the name to use as filter name (optional). - // Qt wants a a list of filters in the format of 'FilterName (spacfe separated exts)' + // We have pairs of data, first being the list of extensions + // exta;exb;extc etc second the name to use as filter name + // (optional). Qt wants a a list of filters in the format of + // 'FilterName (space separated exts)'. - for (std::list< std::pair<std::string,std::string> >::const_iterator it = lst.begin (); + for (octave_link::filter_list::const_iterator it = lst.begin (); it != lst.end (); it++) { - QString ext = QString::fromStdString ((*it).first); - QString name = QString::fromStdString ((*it).second); + QString ext = QString::fromStdString (it->first); + QString name = QString::fromStdString (it->second); - // strip out (exts) from name (if any) - name.replace(QRegExp("\\(.*\\)"), ""); - // replace ';' with spaces in ext list - ext.replace(";"," "); + // Strip out extensions from name and replace ';' with spaces in + // list. + + name.replace (QRegExp ("\\(.*\\)"), ""); + ext.replace (";", " "); if (name.length() == 0) { - // no name field - so need build one from teh extendiions - name = ext.toUpper() + " Files"; + // No name field. Build one from the extensions. + name = ext.toUpper() + " Files"; } retval.append (name + " (" + ext + ")"); @@ -220,7 +222,7 @@ } std::list<std::string> -octave_qt_link::do_file_dialog (const std::list< std::pair< std::string, std::string > > filter, +octave_qt_link::do_file_dialog (const filter_list& filter, const std::string& title, const std::string& filename, const std::string& dirname, @@ -228,23 +230,21 @@ { std::list<std::string> retval; - uiwidget_creator.signal_filedialog ( make_filter_list (filter), - QString::fromStdString (title), - QString::fromStdString (filename), - QString::fromStdString (dirname), - multiselect); + uiwidget_creator.signal_filedialog (make_filter_list (filter), + QString::fromStdString (title), + QString::fromStdString (filename), + QString::fromStdString (dirname), + multiselect); // Wait while the user is responding to dialog. uiwidget_creator.wait (); - // add all the file dialog result to a string list + // Add all the file dialog results to a string list. const QStringList *inputLine = uiwidget_creator.get_string_list (); for (QStringList::const_iterator it = inputLine->begin (); it != inputLine->end (); it++) - { - retval.push_back (it->toStdString ()); - } + retval.push_back (it->toStdString ()); retval.push_back (uiwidget_creator.get_dialog_path ()->toStdString ()); retval.push_back ((QString ("%1").arg (uiwidget_creator.get_dialog_result ())).toStdString ());
--- a/libgui/src/octave-qt-link.h +++ b/libgui/src/octave-qt-link.h @@ -85,10 +85,8 @@ const std::list<std::string>& defaults); std::list<std::string> - do_file_dialog (const std::list< std::pair< std::string, std::string > > filter, - const std::string& title, - const std::string &filename, - const std::string &pathname, + do_file_dialog (const filter_list& filter, const std::string& title, + const std::string &filename, const std::string &pathname, bool multiselect); int
--- a/libinterp/interpfcn/octave-link.cc +++ b/libinterp/interpfcn/octave-link.cc @@ -199,7 +199,7 @@ Undocumented internal function.\n\ @end deftypefn") { - octave_value_list retval(3, octave_value (0)); + octave_value_list retval; if (args.length () == 6) { @@ -212,60 +212,64 @@ std::string pathname = args (5).string_value (); octave_idx_type nel = flist.numel (); - std::list< std::pair<std::string, std::string> > filter_lst; + octave_link::filter_list filter_lst; - for(octave_idx_type i = 0; i < flist.rows (); i++) - { - filter_lst.push_back ( std::make_pair (flist.elem (i,0), flist.columns ()>1 ? flist.elem (i, 1) : "" ) ); - } + for (octave_idx_type i = 0; i < flist.rows (); i++) + filter_lst.push_back (std::make_pair (flist(i,0), + (flist.columns () > 1 + ? flist(i,1) : ""))); if (! error_state) { - flush_octave_stdout (); std::list<std::string> items_lst - = octave_link::file_dialog (filter_lst, title, filename, pathname, multi_on == "on" ? true : false); + = octave_link::file_dialog (filter_lst, title, filename, pathname, + multi_on == "on" ? true : false); nel = items_lst.size (); - // if 3, then is filename, dolder and selected index, - if (items_lst.size () <= 3) + retval.resize (3); + + // If 3, then is filename, directory and selected index. + if (nel <= 3) { - int idx = 0; - for (std::list<std::string>::iterator it = items_lst.begin (); - it != items_lst.end (); it++) - { - retval (idx++) = *(it); + int idx = 0; + for (std::list<std::string>::iterator it = items_lst.begin (); + it != items_lst.end (); it++) + { + retval(idx++) = *it; - if (idx == 1 && retval (0).string_value ().length () == 0) - retval (0) = 0; - if(idx == 3) retval (2) = atoi (retval (2).string_value ().c_str ()); - } + if (idx == 1 && retval (0).string_value ().length () == 0) + retval(0) = 0; + + if (idx == 3) + retval(2) = atoi (retval (2).string_value ().c_str ()); + } } else { - // multiple files + // Multiple files. nel = items_lst.size (); Cell items (dim_vector (1, nel)); std::list<std::string>::iterator it = items_lst.begin (); - for (int idx=0;idx<items_lst.size ()-2;idx++) + + for (int idx = 0; idx < items_lst.size ()-2; idx++) { items.xelem (idx) = *it; it++; } - retval (0) = items; - retval (1) = *it; - it++; - retval (2) = atoi ((*it).c_str ()); + + retval(0) = items; + retval(1) = *it++; + retval(2) = atoi (it->c_str ()); } - } else error ("invalid arguments"); + } - } return retval; }
--- a/libinterp/interpfcn/octave-link.h +++ b/libinterp/interpfcn/octave-link.h @@ -179,12 +179,12 @@ : std::list<std::string> (); } + typedef std::list<std::pair<std::string, std::string> > filter_list; + static std::list<std::string> - file_dialog ( const std::list< std::pair< std::string, std::string > > filter, - const std::string& title, - const std::string& filename, - const std::string& dirname, - bool multiselect) + file_dialog (const filter_list& filter, const std::string& title, + const std::string& filename, const std::string& dirname, + bool multiselect) { return enabled () ? instance->do_file_dialog (filter, title, filename, dirname, multiselect) @@ -384,10 +384,8 @@ const std::list<std::string>& defaults) = 0; virtual std::list<std::string> - do_file_dialog (const std::list< std::pair< std::string, std::string > > filter, - const std::string& title, - const std::string& filename, - const std::string& dirname, + do_file_dialog (const filter_list& filter, const std::string& title, + const std::string& filename, const std::string& dirname, bool multiselect) = 0; virtual int
--- a/scripts/plot/uigetfile.m +++ b/scripts/plot/uigetfile.m @@ -24,7 +24,7 @@ ## @deftypefnx {Function File} {[@dots{}] =} uigetfile (@dots{}, "Position", [@var{px} @var{py}]) ## @deftypefnx {Function File} {[@dots{}] =} uigetfile (@dots{}, "MultiSelect", @var{mode}) ## -## Open a GUI dialog for selecting a file. It returns the filename @var{fname}, +## Open a GUI dialog for selecting a file and return the filename @var{fname}, ## the path to this file @var{fpath}, and the filter index @var{fltidx}. ## @var{flt} contains a (list of) file filter string(s) in one of the following ## formats: