Add a comment discussing what it will take to have native file dialogs
authorGerald Combs <gerald@wireshark.org>
Wed, 25 Jan 2012 01:13:04 +0000 (01:13 -0000)
committerGerald Combs <gerald@wireshark.org>
Wed, 25 Jan 2012 01:13:04 +0000 (01:13 -0000)
on Windows and OS X.

svn path=/trunk/; revision=40709

ui/qt/capture_file_dialog.h

index d4daae1b025efd94c328a56de4d821f9311c9809..bb6a350e80f30a6ce5659ff03359c63e5a381274 100644 (file)
 
 class CaptureFileDialog : public QFileDialog
 {
+    // The GTK+ Open Capture File dialog has the following elements and features:
+    //   - The ability to select a capture file from a list of known extensions
+    //   - A display filter entry
+    //   - Name resolution checkboxes
+    //   - Capture file preview information
+    // Ideally we should provide similar functionality here.
+    //
+    // You can subclass QFileDialog (which we've done here) and add widgets as
+    // described at
+    // http://developer.qt.nokia.com/faq/answer/how_can_i_add_widgets_to_my_qfiledialog_instance
+    // However, Qt's idea of what a file dialog looks like isn't what Microsoft
+    // and Apple think a file dialog looks like.
+    //
+    // On Windows Vista and later we should probably use IFileOpenDialog. On earlier
+    // versions of Windows (including XP) we should use GetOpenFileName, which is
+    // what we do in ui/win32/file_dlg_win32.c. On OS X we should use NSOpenPanel. On
+    // other platforms we should fall back to QFileDialog.
+    //
+    // Yes, that's four implementations of the same window.
+    //
+    // If a plain native open file dialog is good enough we can just the static
+    // version of QFileDialog::getOpenFileName. (Commenting out Q_OBJECT below
+    // has the same effect.)
+
     Q_OBJECT
 public:
-    explicit CaptureFileDialog(QWidget *parent = 0);
+    CaptureFileDialog(QWidget *parent = 0);
 
 signals: