#include <ExtensibleFileDialog.h>

This is a simple hack on top of QFileDialog that allows a custom extension widget to be added to the bottom of the dialog. A button is provided for toggling display of this widget on/off.
For the placement of button and extension widget, it is assumed that QFileDialog uses a QGridLayout as its top-level layout. Other layouts will probably lead to a strange outlook, although the functionality should stay intact.
Public Member Functions | |
| ExtensibleFileDialog (QWidget *parent=0, bool extended=true, Qt::WFlags flags=0) | |
| Constructor. | |
| bool | isExtendable () |
| Tells weather the dialog has a valid extension widget. | |
| bool | isExtended () |
| void | setExtended (bool extended) |
| void | setExtensionWidget (QWidget *extension) |
| Set the extension widget to be displayed when the user presses the toggle button. | |
Protected Attributes | |
| QPushButton * | d_extension_toggle |
| Button for toggling display of extension on/off. | |
Private Attributes | |
| QWidget * | d_extension |
| The extension widget. | |
| int | d_extension_row |
| The layout row (of the assumed QGridLayout) used for extensions. | |
| ExtensibleFileDialog::ExtensibleFileDialog | ( | QWidget * | parent = 0, |
|
| bool | extended = true, |
|||
| Qt::WFlags | flags = 0 | |||
| ) |
Constructor.
| parent | parent widget (only affects placement of the dialog) | |
| extended | flag: show/hide the advanced options on start-up | |
| flags | window flags |
References d_extension, d_extension_row, and d_extension_toggle.
| bool ExtensibleFileDialog::isExtendable | ( | ) | [inline] |
Tells weather the dialog has a valid extension widget.
References d_extension.
Referenced by OpenProjectDialog::closeEvent().
| bool ExtensibleFileDialog::isExtended | ( | ) | [inline] |
References d_extension_toggle.
Referenced by ImageExportDialog::closeEvent(), OpenProjectDialog::closeEvent(), and ImportASCIIDialog::closeEvent().
| void ExtensibleFileDialog::setExtended | ( | bool | extended | ) | [inline] |
References d_extension_toggle.
| void ExtensibleFileDialog::setExtensionWidget | ( | QWidget * | extension | ) |
Set the extension widget to be displayed when the user presses the toggle button.
References d_extension, d_extension_row, and d_extension_toggle.
Referenced by ApplicationWindow::appendProject(), ImageExportDialog::ImageExportDialog(), ImportASCIIDialog::ImportASCIIDialog(), and OpenProjectDialog::OpenProjectDialog().
QWidget* ExtensibleFileDialog::d_extension [private] |
The extension widget.
Referenced by ExtensibleFileDialog(), isExtendable(), and setExtensionWidget().
int ExtensibleFileDialog::d_extension_row [private] |
The layout row (of the assumed QGridLayout) used for extensions.
Referenced by ExtensibleFileDialog(), and setExtensionWidget().
QPushButton* ExtensibleFileDialog::d_extension_toggle [protected] |
Button for toggling display of extension on/off.
Referenced by ExtensibleFileDialog(), isExtended(), setExtended(), setExtensionWidget(), ImageExportDialog::updateAdvancedOptions(), and OpenProjectDialog::updateAdvancedOptions().
1.5.6