#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 |
bool ExtensibleFileDialog::isExtendable | ( | ) | [inline] |
Tells weather the dialog has a valid extension widget.
bool ExtensibleFileDialog::isExtended | ( | ) | [inline] |
void ExtensibleFileDialog::setExtended | ( | bool | extended | ) | [inline] |
void ExtensibleFileDialog::setExtensionWidget | ( | QWidget * | extension | ) |
Set the extension widget to be displayed when the user presses the toggle button.
QWidget* ExtensibleFileDialog::d_extension [private] |
The extension widget.
int ExtensibleFileDialog::d_extension_row [private] |
The layout row (of the assumed QGridLayout) used for extensions.
QPushButton* ExtensibleFileDialog::d_extension_toggle [protected] |
Button for toggling display of extension on/off.