/// @brief Subclass of QFileDialog which re-implements the static public functions. The reason for this
/// is that the QFileDialog implementations of these use the native os dialogs. On OSX these
/// these can intermittently hang. So instead here we use the native dialogs. It also allows
/// use to catch these dialogs for unit testing.
/// @brief Subclass of <a href="http://qt-project.org/doc/qt-4.8/qfiledialog.html">QFileDialog</a>
/// @author Don Gagne <don@thegagnes.com>
/*!
Subclass of <a href="http://qt-project.org/doc/qt-4.8/qfiledialog.html">QFileDialog</a> which re-implements the static public functions. The reason for this
is that the <a href="http://qt-project.org/doc/qt-4.8/qfiledialog.html">QFileDialog</a> implementations of these use the native os dialogs. On OSX these
these can intermittently hang. So instead here we use the native dialogs. It also allows
use to catch these dialogs for unit testing.
*/
classQGCFileDialog:publicQFileDialog{
public:
//! Static helper that will return an existing directory selected by the user.
/*!
\param parent The parent QWidget.
\param caption The caption displayed at the top of the dialog.
\param dir The initial directory shown to the user.
\param options Set the various options that affect the look and feel of the dialog.
/// @brief getSaveFileName with an extra (optional) argument to define the extension (suffix) to
/// be added if none is given by the user. If set, don't add the preceding period (i.e.
/// use "mavlink" instead of ".mavlink")
//! Static helper that invokes a File Save dialog where the user can select a directory and enter a filename to be saved.
/*!
\param parent The parent QWidget.
\param caption The caption displayed at the top of the dialog.
\param dir The initial directory shown to the user.
\param filter The filter used for selecting the file type.
\param selectedFilter **NOT IMPLEMENTED** Returns the filter that the user selected in the file dialog.
\param options Set the various options that affect the look and feel of the dialog.
\param defaultSuffix Specifies a string that will be added to the filename if it has no suffix already. The suffix is typically used to indicate the file type (e.g. "txt" indicates a text file).
\return The full path and filename to be used to save the file or QString("") if none.