diff libgui/src/main-window.cc @ 16579:7f8db1942dc0

Add Qt link uigetfile dialog implementation. * libgui/src/octave-qt-link.cc, libgui/src/octave-qt-link.h, (octave_qt_link::do_file_dialog): New function. (make_filter_list): New function. * libinterp/interpfcn/octave-link.cc (__octave_link_file_dialog__): New function. * libinterp/interpfcn/octave-link.h: (octave_link::file_dialog): New function. (octave_link::do_file_dialog): New virtual function. * scripts/plot/uigetfile.m: update to call octave_link file dialog if octave link is present. * libgui/src/dialog.cc, libgui/src/dialog.h (class FileDialog): New class. (QUIWidgetCreator::QUIWidgetCreator): added initialization of new var path_name. (QUIWidgetCreator::signal_filedialog): New function. (QUIWidgetCreator::create_filedialog): New function. (QUIWidgetCreator::filedialog_finished): New function. (QUIWidgetCreator::get_dialog_path): New function. * libgui/src/main-window.cc, libgui/src/main-window.h (main_window::connect_uiwidget_links): Added connect for handle_file_dialog. (main_window::handle_create_filedialog): New function.
author John Donoghue <john.donoghue@ieee.org>
date Sun, 28 Apr 2013 09:45:19 -0400
parents 0eca6c5657c9
children adc150db1809
line wrap: on
line diff
--- a/libgui/src/main-window.cc	Sun Apr 28 02:29:19 2013 -0400
+++ b/libgui/src/main-window.cc	Sun Apr 28 09:45:19 2013 -0400
@@ -651,6 +651,11 @@
            SLOT (handle_create_inputlayout (const QStringList&, const QString&,
                                             const QFloatList&, const QFloatList&,
                                             const QStringList&)));
+
+  connect (&uiwidget_creator,
+           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)));
 }
 
 // Create a message dialog with specified string, buttons and decorative
@@ -707,6 +712,19 @@
   input_dialog->show ();
 }
 
+void
+main_window::handle_create_filedialog (const QStringList &filters,
+                                       const QString& title, 
+                                       const QString& filename, 
+                                       const QString &dirname,
+                                       bool multiselect)
+{
+  FileDialog * file_dialog = new FileDialog(filters, title, 
+                                            filename, dirname, multiselect);
+  file_dialog->setAttribute (Qt::WA_DeleteOnClose);
+  file_dialog->show ();
+}
+
 // Main subroutine of the constructor
 void
 main_window::construct (void)