class KDialogBase

# class KDialogBase | A dialog base class with standard buttons and predefined layouts. More...
Definition | `#include <kdialogbase.h>`
Inherits | KDialog [public ]
Inherited by | KAboutApplication, KAboutDialog, KAboutKDE, KBugReport, KColorDialog, KEdFind, KEdGotoLine, KEdReplace, KEditToolbar, KFontDialog, KKeyDialog, KLineEditDlg, KPasswordDialog, KProgressDialog
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

#### Public Types

- enum ButtonCode { Help = 0x00000001, Default = 0x00000002, Ok = 0x00000004, Apply = 0x00000008, Try = 0x00000010, Cancel = 0x00000020, Close = 0x00000040, User1 = 0x00000080, User2 = 0x00000100, User3 = 0x00000200, No = 0x00000080, Yes = 0x00000100, Details = 0x00000400, Filler = 0x40000000, Stretch = 0x80000000 }
- enum ActionButtonStyle { ActionStyle0=0, ActionStyle1, ActionStyle2, ActionStyle3, ActionStyle4, ActionStyleMAX }
- enum DialogType { TreeList = KJanusWidget::TreeList, Tabbed = KJanusWidget::Tabbed, Plain = KJanusWidget::Plain, Swallow = KJanusWidget::Swallow, IconList = KJanusWidget::IconList }

#### Public Methods

- KDialogBase ( QWidget *parent=0, const char *name=0, bool modal=true, const QString &caption=QString::null, int buttonMask=Ok|Apply|Cancel, ButtonCode defaultButton=Ok, bool separator=false, const KGuiItem &user1=KGuiItem(), const KGuiItem &user2=KGuiItem(), const KGuiItem &user3=KGuiItem() )
- KDialogBase ( int dialogFace, const QString &caption, int buttonMask, ButtonCode defaultButton, QWidget *parent=0, const char *name=0, bool modal=true, bool separator=false, const KGuiItem &user1=KGuiItem(), const KGuiItem &user2=KGuiItem(), const KGuiItem &user3=KGuiItem() )
- KDialogBase ( const QString &caption, int buttonMask=Yes|No|Cancel, ButtonCode defaultButton=Yes, ButtonCode escapeButton=Cancel, QWidget *parent=0, const char *name=0, bool modal=true, bool separator=false, const KGuiItem &yes = KStdGuiItem::yes(), const KGuiItem &no = KStdGuiItem::no(), const KGuiItem &cancel = KStdGuiItem::cancel() )
- ~KDialogBase ()
- void setButtonBoxOrientation ( int orientation )
- void setEscapeButton ( ButtonCode id )
- virtual void adjustSize ()
- virtual QSize sizeHint () const
- virtual QSize minimumSizeHint () const
- QFrame * plainPage ()
- QFrame * addPage ( const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() )
- QFrame * addPage ( const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() )
- QVBox * addVBoxPage ( const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() )
- QVBox * addVBoxPage ( const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() )
- QHBox * addHBoxPage ( const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() )
- QHBox * addHBoxPage ( const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() )
- QGrid * addGridPage ( int n, Orientation dir, const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() )
- QGrid * addGridPage ( int n, Orientation dir, const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() )
- void setFolderIcon (const QStringList &path,const QPixmap &pixmap)
- QFrame * makeMainWidget ()
- QVBox * makeVBoxMainWidget ()
- QHBox * makeHBoxMainWidget ()
- QGrid * makeGridMainWidget ( int n, Orientation dir )
- void enableButtonSeparator ( bool state )
- void showButton ( ButtonCode id, bool state )
- void showButtonOK ( bool state )
- void showButtonApply ( bool state )
- void showButtonCancel ( bool state )
- bool showPage ( int index )
- int activePageIndex () const
- int pageIndex ( QWidget *widget ) const
- void setMainWidget ( QWidget *widget )
- QWidget * mainWidget ()
- void disableResize ()
- void setInitialSize ( const QSize &s, bool noResize=false )
- void incInitialSize ( const QSize &s, bool noResize=false )
- QSize configDialogSize ( const QString& groupName ) const
- void saveDialogSize ( const QString& groupName, bool global=false )
- void setButtonOKText ( const QString &text=QString::null, const QString &tooltip=QString::null, const QString &quickhelp=QString::null )
- void setButtonApplyText ( const QString &text=QString::null, const QString &tooltip=QString::null, const QString &quickhelp=QString::null )
- void setButtonCancelText ( const QString &text=QString::null, const QString &tooltip=QString::null, const QString &quickhelp=QString::null )
- void setButtonText ( ButtonCode id, const QString &text )
- void setButtonTip ( ButtonCode id, const QString &text )
- void setButtonWhatsThis ( ButtonCode id, const QString &text )
- void setTreeListAutoResize ( bool state )
- void setShowIconsInTreeList (bool state)
- void setRootIsDecorated ( bool state )
- void setIconListAllVisible ( bool state )
- void showTile ( bool state )
- void getBorderWidths ( int& ulx, int& uly, int& lrx, int& lry ) const
- QRect getContentsRect () const
- QSize calculateSize ( int w, int h ) const
- QString helpLinkText () const
- QPushButton * actionButton ( ButtonCode id )

#### Public Slots

- void enableButton ( ButtonCode id, bool state )
- void enableButtonOK ( bool state )
- void enableButtonApply ( bool state )
- void enableButtonCancel ( bool state )
- void enableLinkedHelp ( bool state )
- void delayedDestruct ()
- void setHelpLinkText ( const QString &text )
- void setHelp ( const QString &anchor, const QString &appname = QString::null )
- void helpClickedSlot ( const QString & )
- void setDetails (bool showDetails)
- void setDetailsWidget (QWidget *detailsWidget)
- void updateBackground ()
- void cancel ()

#### Signals

- void helpClicked ()
- void defaultClicked ()
- void user3Clicked ()
- void user2Clicked ()
- void user1Clicked ()
- void applyClicked ()
- void tryClicked ()
- void okClicked ()
- void yesClicked ()
- void noClicked ()
- void cancelClicked ()
- void closeClicked ()
- void apply ()
- void backgroundChanged ()
- void hidden ()
- void finished ()
- void aboutToShowDetails ()
- void aboutToShowPage (QWidget *page)

#### Public Static Methods

- static bool haveBackgroundTile ()
- static const QPixmap * backgroundTile ()
- static const QPixmap * getBackgroundTile ()
- static void setBackgroundTile ( const QPixmap *pix )

#### Protected Methods

- virtual void keyPressEvent ( QKeyEvent *e )
- virtual void hideEvent ( QHideEvent * )
- virtual void closeEvent ( QCloseEvent *e )
- virtual void virtual_hook ( int id, void* data )

#### Protected Slots

- virtual void slotHelp ()
- virtual void slotDefault ()
- virtual void slotDetails ()
- virtual void slotUser3 ()
- virtual void slotUser2 ()
- virtual void slotUser1 ()
- virtual void slotOk ()
- virtual void slotApply ()
- virtual void slotTry ()
- virtual void slotYes ()
- virtual void slotNo ()
- virtual void slotCancel ()
- virtual void slotClose ()
- virtual void applyPressed ()
- void updateGeometry ()
- void slotDelayedDestruct ()

## Detailed Description

Provides basic functionality needed by nearly all dialogs.

It offers the standard action buttons you'd expect to find in a dialog as well as the capability to define at most three configurable buttons. You can define a main widget that contains your specific dialog layout or you can use a predefined layout. Currently, `TreeList`/Paged, `Tabbed`, `Plain`, `Swallow` and `IconList` mode layouts (faces) are available.

The class takes care of the geometry management. You only need to define a minimum size for the widget you want to use as the main widget.

You can set a background tile (pixmap) for parts of the dialog. The tile you select is shared by all instances of this class in your application so that they all get the same look and feel.

There is a tutorial available on http://developer.kde.org/ (NOT YET) that contains copy/paste examples as well a screenshots on how to use this class.

### Standard buttons (action buttons):

You select which buttons should be displayed, but you do not choose the order in which they are displayed. This ensures a standard interface in KDE. The button order can be changed, but this ability is only available for a central KDE control tool. The following buttons are available: OK, Cancel/Close, Apply/Try, Default, Help and three user definable buttons: User1, User1 and User3. You must specify the text of the UserN buttons. Each button has a virtual slot so you can overload the method when required. The default slots emit a signal as well, so you can choose to connect a signal instead of overriding the slot. The default implementation of slotHelp() will automatically enable the help system if you have provided a path to the help text. slotCancel() and slotClose() will run QDialog::reject() while slotOk() will run QDialog::accept(). You define a default button in the constructor.

If you don't want any buttons at all because your dialog is special in some way, then set the buttonMask argument in the constructor to zero (0). The optional button box separator line should not be enabled in this case. Note that the KDialogBase will animate a button press when the user press Escape. The button that is enabled is either Cancel, Close or the button that is defined by setEscapeButton() The animation will not take place when the buttonMask is zero. Your custom dialog code should reimplement the keyPressEvent and animate the cancel button so that the dialog behaves like regular dialogs. NOTE: None of the regular slots (like slotOk() ) or signals that are related to the standard action buttons will be used when you don't use these buttons.

### Dialog shapes:

You can either use one of the prebuilt, easy to use, faces or define your own main widget. The dialog provides ready to use TreeList, Tabbed, Plain, Swallow and IconList faces. KDialogBase uses the KJanusWidget class internally to accomplish this. If you use TreeList, Tabbed or IconList mode, then add pages with addPage().

Pages that have been added can be removed again by simply deleting the page.

If you want complete control of how the dialog contents should look, then you can define a main widget by using setMainWidget(). You only need to set the minimum size of that widget and the dialog will resize itself to fit this minimum size. The dialog is resizeable, but cannot be made smaller than its minimum size.

### Layout:

The dialog consists of a help area on top (becomes visible if you define a help path and use enableLinkedHelp()), the main area which is the built-in dialog face or your own widget in the middle and by default a button box at the bottom. The button box can also be placed at the right edge (to the right of the main widget). Use setButtonBoxOrientation() to control this behavior. A separator can be placed above the button box (or to the left when the button box is at the right edge). Normally you specify that you want a separator in the constructor, but you can use enableButtonSeparator() as well.

### Standard compliance:

The class is derived from KDialog, so you get automatic access to the KDialog::marginHint(), KDialog::spacingHint() and the extended KDialog::setCaption() method. NOTE: The main widget you use will be positioned inside the dialog using a margin (or border) equal to KDialog::marginHint(). You shall not add a margin yourself. The example below (from kedit) shows how you use the top level widget and its layout. The second argument (the border) to QVBoxLayout is 0. This situation is valid for addPage , addVBoxPage , addHBoxPage , addGridPage , makeMainWidget , makeVBoxMainWidget , makeHBoxMainWidget and makeGridMainWidget as well.

Example:

     UrlDlg::UrlDlg( QWidget *parent, const QString& caption,
                     const QString& urltext)
       : KDialogBase( parent, "urldialog", true, caption,
    		    KDialogBase::Ok|KDialogBase::Cancel, KDialogBase::Ok, true )
     {
       QWidget *page = new QWidget( this );
       setMainWidget(page);
       QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );

       QLabel *label = new QLabel( caption, page, "caption" );
       topLayout->addWidget( label );

       lineedit = new QLineEdit( urltext, page, "lineedit" );
       lineedit->setMinimumWidth(fontMetrics().maxWidth()*20);
       topLayout->addWidget( lineedit );

       topLayout->addStretch(10);
     }

If you use makeVBoxMainWidget(), then the dialog above can be made simpler but you lose the ability to add a stretchable area:

     UrlDlg::UrlDlg( QWidget *parent, const QString& caption,
    		const QString& urltext)
     : KDialogBase( parent, "urldialog", true, caption,
    		  KDialogBase::Ok|KDialogBase::Cancel, KDialogBase::Ok, true )
     {
       QVBox *page = makeVBoxMainWidget();
       QLabel *label = new QLabel( caption, page, "caption" );

       lineedit = new QLineEdit( urltext, page, "lineedit" );
       lineedit->setMinimumWidth(fontMetrics().maxWidth()*20);
     }

This class can be used in many ways. Note that most KDE ui widgets and many of KDE core applications use the KDialogBase so for more inspiration you should study the code for these.

enum ButtonCode { Help = 0x00000001, Default = 0x00000002, Ok = 0x00000004, Apply = 0x00000008, Try = 0x00000010, Cancel = 0x00000020, Close = 0x00000040, User1 = 0x00000080, User2 = 0x00000100, User3 = 0x00000200, No = 0x00000080, Yes = 0x00000100, Details = 0x00000400, Filler = 0x40000000, Stretch = 0x80000000 } | ### ButtonCode

- `Help` - Show Help-button.
- `Default` - Show Default-button.
- `Details` - Show Details-button.
- `Ok` - Show Ok-button.
- `Apply` - Show Apply-button.
- `Try` - Show Try-button.
- `Cancel` - Show Cancel-button.
- `Close` - Show Close-button.
- `User1` - Show User define-button 1.
- `User2` - Show User define-button 2.
- `User3` - Show User define-button 3.
- `No` - Show No-button.
- `Yes` - Show Yes-button.
- `Stretch` - Used internally. Ignored when used in a constructor.
- `Filler` - Used internally. Ignored when used in a constructor.

enum ActionButtonStyle { ActionStyle0=0, ActionStyle1, ActionStyle2, ActionStyle3, ActionStyle4, ActionStyleMAX } | ### ActionButtonStyle

enum DialogType { TreeList = KJanusWidget::TreeList, Tabbed = KJanusWidget::Tabbed, Plain = KJanusWidget::Plain, Swallow = KJanusWidget::Swallow, IconList = KJanusWidget::IconList } | ### DialogType

- `TreeList` - A dialog with a tree on the left side and a representation of the contents on the right side.
- `Tabbed` - A dialog using a QTabWidget.
- `Plain` - A normal dialog. Use plainPage() as parent for widgets.
- `Swallow`
- `IconList` - A dialog with an iconlist on the left side and a representation of the contents on the right side.

KDialogBase ( QWidget *parent=0, const char *name=0, bool modal=true, const QString &caption=QString::null, int buttonMask=Ok|Apply|Cancel, ButtonCode defaultButton=Ok, bool separator=false, const KGuiItem &user1=KGuiItem(), const KGuiItem &user2=KGuiItem(), const KGuiItem &user3=KGuiItem() ) | ### KDialogBase

Constructor for the standard mode where you must specify the main widget with setMainWidget() .

Parameters:

parent | Parent of the dialog.
name | Dialog name (for internal use only)
modal | Controls dialog modality. If `false`, the rest of the program interface (example: other dialogs) is accessible while the dialog is open.
caption | The dialog caption. Do not specify the application name here. The class will take care of that.
buttonMask | Specifies which buttons will be visible. If zero (0) no button box will be made.
defaultButton | Specifies which button will be marked as the default.
separator | If `true`, a separator line is drawn between the action buttons and the main widget.
user1 | User button1 item.
user2 | User button2 item.
user3 | User button3 item.

KDialogBase ( int dialogFace, const QString &caption, int buttonMask, ButtonCode defaultButton, QWidget *parent=0, const char *name=0, bool modal=true, bool separator=false, const KGuiItem &user1=KGuiItem(), const KGuiItem &user2=KGuiItem(), const KGuiItem &user3=KGuiItem() ) | ### KDialogBase

Constructor for the predefined layout mode where you specify the kind of layout (face).

Parameters:

dialogFace | You can use TreeList, Tabbed, Plain, Swallow or IconList.
caption | The dialog caption. Do not specify the application name here. The class will take care of that.
buttonMask | Specifies which buttons will be visible. If zero (0) no button box will be made.
defaultButton | Specifies which button will be marked as the default.
parent | Parent of the dialog.
name | Dialog name (for internal use only).
modal | Controls dialog modality. If `false`, the rest of the program interface (example: other dialogs) is accessible while the dialog is open.
separator | If `true`, a separator line is drawn between the action buttons and the main widget.
user1 | User button1 text item.
user2 | User button2 text item.
user3 | User button3 text item.

KDialogBase ( const QString &caption, int buttonMask=Yes|No|Cancel, ButtonCode defaultButton=Yes, ButtonCode escapeButton=Cancel, QWidget *parent=0, const char *name=0, bool modal=true, bool separator=false, const KGuiItem &yes = KStdGuiItem::yes(), const KGuiItem &no = KStdGuiItem::no(), const KGuiItem &cancel = KStdGuiItem::cancel() ) | ### KDialogBase

Constructor for a message box mode where the `buttonMask` can only contain Yes, No, or Cancel.

If you need other names you can rename the buttons with setButtonText(). The dialog box is not resizable by default but this can be changed by setInitialSize(). If you select 'modal' to be true, the dialog will return Yes, No, or Cancel when closed otherwise you can use the signals yesClicked(), noClicked(), or cancelClicked() to determine the state.

Parameters:

caption | The dialog caption. Do not specify the application name here. The class will take care of that.
buttonMask | Specifies which buttons will be visible. If zero (0) no button box will be made.
defaultButton | Specifies which button will be marked as the default.
escapeButton | Specifies which button will be activated by when the dialog receives a `Key_Escape` keypress.
parent | Parent of the dialog.
name | Dialog name (for internal use only).
modal | Controls dialog modality. If `false`, the rest of the program interface (example: other dialogs) is accessible while the dialog is open.
separator | If `true`, a separator line is drawn between the action buttons and the main widget.
user1 | User button1 text.
user2 | User button2 text.
user3 | User button3 text.

~KDialogBase () | ### ~KDialogBase

Destructor.

void setButtonBoxOrientation ( int orientation ) | ### setButtonBoxOrientation

Sets the orientation of the button box.

It can be `Vertical` or `Horizontal`. If `Horizontal` (default), the button box is positioned at the bottom of the dialog. If `Vertical` it will be placed at the right edge of the dialog.

Parameters:

orientation | The button box orientation.

void setEscapeButton ( ButtonCode id ) | ### setEscapeButton

Sets the button that will be activated when the Escape key is pressed.

Normally you should not use this function. By default, the Escape key is mapped to either the Cancel or the Close button if one of these buttons are defined. The user expects that Escape will cancel an operation so use this function with caution.

Parameters:

id | The button code.

void adjustSize () | ### adjustSize

[virtual]

Adjust the size of the dialog to fit the contents just before QDialog::exec() or QDialog::show() is called.

This method will not be called if the dialog has been explicitly resized before showing it.

QSize sizeHint () | ### sizeHint

[const virtual]

QSize minimumSizeHint () | ### minimumSizeHint

[const virtual]

QFrame * plainPage () | ### plainPage

Retrieve the empty page when the predefined layout is used in `Plain` mode.

This widget must used as the toplevel widget of your dialog code.

Returns: The widget or 0 if the predefined layout mode is not `Plain` or if you don't use any predefined layout.

QFrame * addPage ( const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() ) | ### addPage

Add a page to the dialog when the class is used in `TreeList` , `IconList` or `Tabbed` mode.

The returned widget must be used as the toplevel widget for this particular page. Note: The returned frame widget has no layout manager associated with it. In order to use it you must create a layout yourself as the example below illustrates:

     QFrame *page = addPage( i18n("Layout") );
     QVBoxLayout *topLayout = new QVBoxLayout( page, 0, 6 );
     QLabel *label = new QLabel( i18n("Layout type"), page );
     topLayout->addWidget( label );
     ..

Parameters:

itemName | String used in the list or as tab item name.
header | Header text use in the list modes. Ignored in `Tabbed` mode. If empty, the item text is used instead.
pixmap | Used in `IconList` mode. You should prefer a pixmap with size 32x32 pixels.

Returns: The page widget which must be used as the toplevel widget for the page.

QFrame * addPage ( const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() ) | ### addPage

This is like addPage() just above, with the difference that the first element is a list of strings.

These strings are used to form a path of folders down to the given page. The initial elements are names for the folders, while the last element is the name of the page. Note: This does yet only work for the `TreeList` face. Later this may be added for the `IconList` face too. In other faces than the `TreeList`, all the strings except the last one is ignored.

QVBox * addVBoxPage ( const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() ) | ### addVBoxPage

Add a page to the dialog when the class is used in `TreeList`, `IconList` or `Tabbed` mode.

The returned widget must be used as the toplevel widget for this particular page. The widget contains a QVBoxLayout layout so the widget children are lined up vertically. You can use it as follows:

     QVBox *page = addVBoxPage( i18n("Layout") );
     QLabel *label = new QLabel( i18n("Layout type"), page );
     ..

Parameters:

itemName | String used in the list or as tab item name.
header | Header text use in the list modes. Ignored in `Tabbed` mode. If empty, the item text is used instead.
pixmap | Used in `IconList` mode. You should prefer a pixmap with size 32x32 pixels.

Returns: The page widget which must be used as the toplevel widget for the page.

QVBox * addVBoxPage ( const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() ) | ### addVBoxPage

This is like addVBoxPage() just above, with the difference that the first element is a list of strings.

These strings are used to form a path of folders down to the given page. The initial elements are names for the folders, while the last element is the name of the page. Note: This does yet only work for the `TreeList` face. Later this may be added for the `IconList` face too. In other faces than the `TreeList`, all the strings except the last one is ignored.

QHBox * addHBoxPage ( const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() ) | ### addHBoxPage

Add a page to the dialog when the class is used in `TreeList`, `IconList` or `Tabbed` mode.

The returned widget must be used as the toplevel widget for this particular page. The widget contains a QHBoxLayout layout so the widget children are lined up horizontally. You can use it as follows:

Parameters:

itemName | String used in the list or as tab item name.
header | Header text use in the list modes. Ignored in Tabbed mode. If empty, the item text is used instead.
pixmap | Used in IconList mode. You should prefer a pixmap with size 32x32 pixels.

Returns: The page widget which must be used as the toplevel widget for the page.

QHBox * addHBoxPage ( const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() ) | ### addHBoxPage

This is like addHBoxPage() just above, with the difference that the first element is a list of strings.

These strings are used to form a path of folders down to the given page. The initial elements are names for the folders, while the last element is the name of the page. Note: This does yet only work for the `TreeList` face. Later this may be added for the `IconList` face too. In other faces than the `TreeList`, all the strings except the last one is ignored.

QGrid * addGridPage ( int n, Orientation dir, const QString &itemName, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() ) | ### addGridPage

Add a page to the dialog when the class is used in `TreeList`, `IconList` or `Tabbed` mode.

The returned widget must be used as the toplevel widget for this particular page. The widget contains a QGridLayout layout so the widget children are positioned in a grid.

Parameters:

n | Specifies the number of columns if `dir` is Qt::Horizontal or the number of rows if `dir` is Qt::Vertical.
dir | Can be Qt::Horizontal or Qt::Vertical.
itemName | String used in the list or as tab item name.
header | Header text use in the list modes `Ignored` in `Tabbed` mode. If empty, the item text is used instead.
pixmap | Used in `IconList` mode. You should prefer a pixmap with size 32x32 pixels.

Returns: The page widget which must be used as the toplevel widget for the page.

QGrid * addGridPage ( int n, Orientation dir, const QStringList &items, const QString &header=QString::null, const QPixmap &pixmap=QPixmap() ) | ### addGridPage

This is like addGridPage() just above, with the difference that the first element is a list of strings.

These strings are used to form a path of folders down to the given page. The initial elements are names for the folders, while the last element is the name of the page. Note: This does yet only work for the `TreeList` face. Later this may be added for the `IconList` face too. In other faces than the `TreeList`, all the strings except the last one is ignored.

void setFolderIcon (const QStringList &path,const QPixmap &pixmap) | ### setFolderIcon

Sets the icon used in `TreeList` Mode for the given path.

Parameters:

path | The path for which this icon should be shown.
pixmap | The icon used.

QFrame * makeMainWidget () | ### makeMainWidget

Make a main widget.

The function will make a QFrame widget and use setMainWidget() to register it. You can not use this function more than once, not if you have already defined a main widget with setMainWidget() and not if you have used the constructor where you define the face (`Plain`, `Swallow`, `Tabbed`, `TreeList`).

Returns: The main widget or 0 if any of the rules described above were broken.

QVBox * makeVBoxMainWidget () | ### makeVBoxMainWidget

Make a main widget.

The function will make a QVBox widget and use setMainWidget() to register it. You can use this function more than once, not if you have already defined a main widget with setMainWidget() and not if you have used the constructor where you define the face (`Plain`, `Swallow`, `Tabbed`, `TreeList`, `IconList`).

Returns: The main widget or 0 if any of the rules described above were broken.

QHBox * makeHBoxMainWidget () | ### makeHBoxMainWidget

Make a main widget.

The function will make a QHBox widget and use setMainWidget() to register it. You can not use this function more than once, not if you have already defined a main widget with setMainWidget() and `not` if you have used the constructor where you define the face (`Plain`, `Swallow`, `Tabbed`, `TreeList`, `IconList`).

Returns: The main widget or 0 if any of the rules described above were broken.

QGrid * makeGridMainWidget ( int n, Orientation dir ) | ### makeGridMainWidget

Make a main widget.

The function will make a QGrid widget and use setMainWidget() to register it. You can not use this function more than once, not if you have already defined a main widget with setMainWidget and not if you have used the constructor where you define the face (Plain, Swallow, Tabbed, TreeList, IconList).

Parameters:

n | Specifies the number of columns if 'dir' is Qt::Horizontal or the number of rows if 'dir' is Qt::Vertical.
dir | Can be Qt::Horizontal or Qt::Vertical.

Returns: The main widget or 0 if any of the rules described above were broken.

void enableButtonSeparator ( bool state ) | ### enableButtonSeparator

Hide or display the a separator line drawn between the action buttons an the main widget.

void showButton ( ButtonCode id, bool state ) | ### showButton

Hide or display a general action button.

Only buttons that have been created in the constructor can be displayed. This method will not create a new button.

Parameters:

id | Button identifier.
state | true display the button(s).

void showButtonOK ( bool state ) | ### showButtonOK

Hide or display the OK button.

The OK button must have been created in the constructor to be displayed.

Parameters:

state | If `true`, display the button(s).

void showButtonApply ( bool state ) | ### showButtonApply

Hide or display the Apply button.

The Apply button must have been created in the constructor to be displayed.

Parameters:

state | true display the button(s).

void showButtonCancel ( bool state ) | ### showButtonCancel

Hide or display the Cancel button. The Cancel button must have been created in the constructor to be displayed.

Parameters:

state | `true` display the button(s).

bool showPage ( int index ) | ### showPage

Sets the page with `index` to be displayed.

This method will only work when the dialog is using the predefined shape of TreeList, IconList or Tabbed.

Parameters:

index | Index of the page to be shown.

Returns: `true` if the page is shown, `false` otherwise.

int activePageIndex () | ### activePageIndex

[const]

Returns the index of the active page.

This method will only work when the dialog is using the predefined shape of Tabbed, TreeList or IconList.

Returns: The page index or -1 if there is no active page.

int pageIndex ( QWidget *widget ) | ### pageIndex

[const]

Returns the index of a page created with addPage(), addVBoxPage(), addHBoxPage() or addGridPage(). You can can compare this index with the value returned from activePageIndex() if you need to do some page specific actions in your code.

The returned index will never change so you can safely use this function once and save the value.

Parameters:

widget | The widget returned by addPage(), addVBoxPage(), addHBoxPage() or addGridPage().

Returns: The index or -1 if the face is not Tabbed, TreeList or IconList

void setMainWidget ( QWidget *widget ) | ### setMainWidget

Sets the main user definable widget.

If the dialog is using the predefined Swallow mode, the widget will be reparented to the internal swallow control widget. If the dialog is being used in the standard mode then the `widget` must have the dialog as parent.

Parameters:

widget | The widget to be displayed as main widget. If it is 0, then the dialog will show an empty space of 100x100 pixels instead.

QWidget * mainWidget () | ### mainWidget

Returns the main widget if any.

Returns: The current main widget. Can be 0 if no widget has been defined.

void disableResize () | ### disableResize

Convenience method.

Freezes the dialog size using the minimum size of the dialog. This method should only be called right before show() or exec().

void setInitialSize ( const QSize &s, bool noResize=false ) | ### setInitialSize

Convenience method. Sets the initial dialog size.

This method should only be called right before show() or exec(). The initial size will be ignored if smaller than the dialog's minimum size.

Parameters:

s | Startup size.
noResize | If `true` the dialog cannot be resized.

void incInitialSize ( const QSize &s, bool noResize=false ) | ### incInitialSize

Convenience method. Add a size to the default minimum size of a dialog.

This method should only be called right before show() or exec().

Parameters:

s | Size added to minimum size.
noResize | If `true` the dialog cannot be resized.

QSize configDialogSize ( const QString& groupName ) | ### configDialogSize

[const]

read the dialogs size from the configuration according to the screen size. If no size is saved for one dimension of the screen, a default size is choosed. The default width is 50 percent of the screen width, the default height is 40 percent of the screen height.

Parameters:

groupName | Name of the group to read from. The old group of KGlobal::config is preserved.

void saveDialogSize ( const QString& groupName, bool global=false ) | ### saveDialogSize

save the dialogs size dependant on the screen dimension either to the global or application config file.

Parameters:

The | group to which the dialogs size is saved. See configDialogSize to read the size.
global | Set to true if the entry should go to the global config rather than to the applications config. Default is false.

void setButtonOKText ( const QString &text=QString::null, const QString &tooltip=QString::null, const QString &quickhelp=QString::null ) | ### setButtonOKText

Sets the text of the OK button.

If the default parameters are used (that is, if no parameters are given) the standard texts are set: The button shows "OK", the tooltip contains "Accept settings." (internationalized) and the quickhelp text explains the standard behavior of the OK button in settings dialogs.

Parameters:

text | Button text.
tooltip | Tooltip text.
quickhelp | Quick help text.

void setButtonApplyText ( const QString &text=QString::null, const QString &tooltip=QString::null, const QString &quickhelp=QString::null ) | ### setButtonApplyText

Sets the text of the Apply button.

If the default parameters are used (that is, if no parameters are given) the standard texts are set: The button shows "Apply", the tooltip contains "Apply settings." (internationalized) and the quickhelp text explains the standard behavior of the apply button in settings dialogs.

Parameters:

text | Button text.
tooltip | Tooltip text.
quickhelp | Quick help text.

void setButtonCancelText ( const QString &text=QString::null, const QString &tooltip=QString::null, const QString &quickhelp=QString::null ) | ### setButtonCancelText

Sets the text of the Cancel button.

If the default parameters are used (that is, if no parameters are given) the standard texts are set: The button shows "Cancel", everything else will not be set.

Parameters:

text | Button text.
tooltip | Tooltip text.
quickhelp | Quick help text.

void setButtonText ( ButtonCode id, const QString &text ) | ### setButtonText

Sets the text of any button.

Parameters:

id | The button identifier.
text | Button text.

void setButtonTip ( ButtonCode id, const QString &text ) | ### setButtonTip

Sets the tooltip text of any button.

Parameters:

id | The button identifier.
text | Button text.

void setButtonWhatsThis ( ButtonCode id, const QString &text ) | ### setButtonWhatsThis

Sets the "What's this?" text of any button.

Parameters:

id | The button identifier.
text | Button text.

void setTreeListAutoResize ( bool state ) | ### setTreeListAutoResize

This function has only effect in TreeList mode.

Defines how the tree list widget is resized when the dialog is resized horizontally. By default the tree list keeps its width when the dialog becomes wider.

Parameters:

state | The resize mode. If false (default) the tree list keeps its current width when the dialog becomes wider.

void setShowIconsInTreeList (bool state) | ### setShowIconsInTreeList

This function has only effect in TreeList mode.

This tells the widgets whether the icons given in the addPage, addVBoxPage, addHBoxPage, or addGridPage methods should be shown in the TreeList.

Note: This method must be called before calling any of the methods which add icons to the page.

Parameters:

state | If true the icons are shown.

void setRootIsDecorated ( bool state ) | ### setRootIsDecorated

This function has only effect in TreeList mode.

This tells the widgets whether the root should be decorated. For details see QListView::setRootIsDecorated

Parameters:

state | Root will be decorated if true.

void setIconListAllVisible ( bool state ) | ### setIconListAllVisible

This function has only effect in IconList mode.

Defines how the icon list widget is displayed. By default it is the widgets in the dialog pages that decide the minimum height of the dialog. A vertical scrollbar can be used in the icon list area.

Parameters:

state | The visibility mode. If true, the minimum height is adjusted so that every icon in the list is visible at the same time. The vertical scrollbar will never be visible.

bool haveBackgroundTile () | ### haveBackgroundTile

[static]

Check whether the background tile is set or not.

Returns: `true` if there is defined a background tile.

const QPixmap * backgroundTile () | ### backgroundTile

[static]

Returns a pointer to the background tile if there is one.

Returns: The tile pointer or 0 if no tile is defined.

const QPixmap * getBackgroundTile () | ### getBackgroundTile

[static]

Use backgroundTile() instead.

void setBackgroundTile ( const QPixmap *pix ) | ### setBackgroundTile

[static]

Sets the background tile.

If it is Null (0), the background image is deleted.

Parameters:

pix | The background tile.

void showTile ( bool state ) | ### showTile

Enable hiding of the background tile (if any).

Parameters:

state | `true` will make the tile visible.

void getBorderWidths ( int& ulx, int& uly, int& lrx, int& lry ) | ### getBorderWidths

[const]

Do not use this method. It is included for compatibility reasons.

This method returns the border widths in all directions the dialog needs for itself. Respect this, or get bad looking results. The references are upper left x (`ulx`), upper left y (`uly`), lower right x (`lrx`), and lower left y (`lly`). The results are differences in pixels from the dialogs corners.

QRect getContentsRect () | ### getContentsRect

[const]

Do not use this method. It is included for compatibility reasons.

This method returns the contents rectangle of the work area. Place your widgets inside this rectangle, and use it to set up their geometry. Be careful: The rectangle is only valid after resizing the dialog, as it is a result of the resizing process. If you need the "overhead" the dialog needs for its elements, use getBorderWidths().

QSize calculateSize ( int w, int h ) | ### calculateSize

[const]

Calculate the size hint for the dialog.

With this method it is easy to calculate a size hint for a dialog derived from KDialogBase if you know the width and height of the elements you add to the widget. The rectangle returned is calculated so that all elements exactly fit into it. Thus, you may set it as a minimum size for the resulting dialog.

You should not need to use this method and never if you use one of the predefined shapes.

Parameters:

w | The width of you special widget.
h | The height of you special widget.

Returns: The minimum width and height of the dialog using `w` and `h` as the size of the main widget.

QString helpLinkText () | ### helpLinkText

[const]

Returns the help link text.

If no text has been defined, "Get help..." (internationalized) is returned.

Returns: The help link text.

QPushButton * actionButton ( ButtonCode id ) | ### actionButton

Returns the action button that corresponds to the `id`.

Normally you should not use this function. Never delete the object returned by this function. See also enableButton(), showButton(), setButtonTip(), setButtonWhatsThis(), and setButtonText().

Parameters:

id | Integer identifier of the button.

Returns: The action button or 0 if the button does not exists.

void enableButton ( ButtonCode id, bool state ) | ### enableButton

[slot]

Enable or disable (gray out) a general action button.

Parameters:

id | Button identifier.
state | `true` enables the button(s).

void enableButtonOK ( bool state ) | ### enableButtonOK

[slot]

Enable or disable (gray out) the OK button.

Parameters:

state | `true` enables the button.

void enableButtonApply ( bool state ) | ### enableButtonApply

[slot]

Enable or disable (gray out) the Apply button.

Parameters:

state | true enables the button.

void enableButtonCancel ( bool state ) | ### enableButtonCancel

[slot]

Enable or disable (gray out) the Cancel button.

Parameters:

state | true enables the button.

void enableLinkedHelp ( bool state ) | ### enableLinkedHelp

[slot]

Display or hide the help link area on the top of the dialog.

Parameters:

state | `true` will display the area.

void delayedDestruct () | ### delayedDestruct

[slot]

Destruct the Dialog delayed.

You can call this function from slots like closeClicked() and hidden(). You should not use the dialog any more after calling this function.

void setHelpLinkText ( const QString &text ) | ### setHelpLinkText

[slot]

Sets the text that is shown as the linked text.

If text is empty, the text "Get help..." (internationalized) is used instead.

Parameters:

text | The link text.

void setHelp ( const QString &anchor, const QString &appname = QString::null ) | ### setHelp

[slot]

Sets the help path and topic.

Parameters:

anchor | Defined anchor in your docbook sources
appname | Defines the appname the help belongs to If empty it's the current one

void helpClickedSlot ( const QString & ) | ### helpClickedSlot

[slot]

Connected to help link label.

void setDetails (bool showDetails) | ### setDetails

[slot]

Sets the status of the Details button.

void setDetailsWidget (QWidget *detailsWidget) | ### setDetailsWidget

[slot]

Sets the widget that gets shown when "Details" is enabled.

The dialog takes over ownership of the widget. Any previously set widget gets deleted.

void updateBackground () | ### updateBackground

[slot]

This method is called automatically whenever the background has changed. You do not need to use this method.

void cancel () | ### cancel

[slot]

Force closing the dialog, setting its result code to the one Esc would set. You shouldn't use this, generally (let the user make his choice!) but it can be useful when you need to make a choice after a timeout has happened, or when the parent widget has to go somewhere else (e.g. html redirections).

void helpClicked () | ### helpClicked

[signal]

The Help button was pressed. This signal is only emitted if slotHelp() is not replaced.

void defaultClicked () | ### defaultClicked

[signal]

The Default button was pressed. This signal is only emitted if slotDefault() is not replaced.

void user3Clicked () | ### user3Clicked

[signal]

The User3 button was pressed. This signal is only emitted if slotUser3() is not replaced.

void user2Clicked () | ### user2Clicked

[signal]

The User2 button was pressed. This signal is only emitted if slotUser2() is not replaced.

void user1Clicked () | ### user1Clicked

[signal]

The User1 button was pressed. This signal is only emitted if slotUser1() is not replaced.

void applyClicked () | ### applyClicked

[signal]

The Apply button was pressed. This signal is only emitted if slotApply() is not replaced.

void tryClicked () | ### tryClicked

[signal]

The Try button was pressed. This signal is only emitted if slotTry() is not replaced.

void okClicked () | ### okClicked

[signal]

The OK button was pressed. This signal is only emitted if slotOk() is not replaced.

void yesClicked () | ### yesClicked

[signal]

The Yes button was pressed. This signal is only emitted if slotYes() is not replaced.

void noClicked () | ### noClicked

[signal]

The No button was pressed. This signal is only emitted if slotNo() is not replaced.

void cancelClicked () | ### cancelClicked

[signal]

The Cancel button was pressed. This signal is only emitted if slotCancel() is not replaced.

void closeClicked () | ### closeClicked

[signal]

The Close button was pressed. This signal is only emitted if slotClose() is not replaced.

void apply () | ### apply

[signal]

Do not use this signal. Is is kept for compatibility reasons. Use applyClicked() instead.

void backgroundChanged () | ### backgroundChanged

[signal]

The background tile has changed.

void hidden () | ### hidden

[signal]

The dialog is about to be hidden.

A dialog is hidden after a user clicks a button that ends the dialog or when the user switches to another desktop or minimizes the dialog.

void finished () | ### finished

[signal]

The dialog has finished.

A dialog emits finished after a user clicks a button that ends the dialog.

This signal is also emitted when you call hide()

If you have stored a pointer to the dialog do not try to delete the pointer in the slot that is connected to this signal.

You should use delayedDestruct() instead.

void aboutToShowDetails () | ### aboutToShowDetails

[signal]

The detailsWidget is about to get shown. This is your last chance to call setDetailsWidget if you haven't done so yet.

void aboutToShowPage (QWidget *page) | ### aboutToShowPage

[signal]

A page is about to be shown.

void keyPressEvent ( QKeyEvent *e ) | ### keyPressEvent

[protected virtual]

Maps some keys to the actions buttons. F1 is mapped to the Help button if present and Escape to the Cancel or Close if present. The button action event is animated.

Reimplemented from KDialog.

void hideEvent ( QHideEvent * ) | ### hideEvent

[protected virtual]

Emits the #hidden signal. You can connect to that signal to detect when a dialog has been closed.

void closeEvent ( QCloseEvent *e ) | ### closeEvent

[protected virtual]

Detects when a dialog is being closed from the window manager controls. If the Cancel or Close button is present then the button is activated. Otherwise standard QDialog behavior will take place.

void slotHelp () | ### slotHelp

[protected slots virtual slot]

Activated when the Help button has been clicked. If a help text has been defined, the help system will be activated.

void slotDefault () | ### slotDefault

[protected slots virtual slot]

Activated when the Default button has been clicked.

void slotDetails () | ### slotDetails

[protected slots virtual slot]

Activated when the Details button has been clicked.

See also: detailsClicked(bool)

void slotUser3 () | ### slotUser3

[protected slots virtual slot]

Activated when the User3 button has been clicked.

void slotUser2 () | ### slotUser2

[protected slots virtual slot]

Activated when the User2 button has been clicked.

void slotUser1 () | ### slotUser1

[protected slots virtual slot]

Activated when the User1 button has been clicked.

void slotOk () | ### slotOk

[protected slots virtual slot]

Activated when the Ok button has been clicked. The QDialog::accept() is activated.

void slotApply () | ### slotApply

[protected slots virtual slot]

Activated when the Apply button has been clicked.

void slotTry () | ### slotTry

[protected slots virtual slot]

Activated when the Try button has been clicked.

void slotYes () | ### slotYes

[protected slots virtual slot]

Activated when the Yes button has been clicked. The QDialog::done( Yes ) is activated.

void slotNo () | ### slotNo

[protected slots virtual slot]

Activated when the Yes button has been clicked. The QDialog::done( No ) is activated.

void slotCancel () | ### slotCancel

[protected slots virtual slot]

Activated when the Cancel button has been clicked. The QDialog::reject() is activated in regular mode and QDialog::done( Cancel ) when in message box mode.

void slotClose () | ### slotClose

[protected slots virtual slot]

Activated when the Close button has been clicked. The QDialog::reject() is activated.

void applyPressed () | ### applyPressed

[protected slots virtual slot]

Do not use this slot. Is is kept for compatibility reasons. Activated when the Apply button has been clicked

void updateGeometry () | ### updateGeometry

[protected slots slot]

Updates the margins and spacings.

void slotDelayedDestruct () | ### slotDelayedDestruct

[protected slots slot]

Deletes the dialog immediately. If you want to delete the dialog delayed use delayedDestruct() or QObject::deleteLater().

Attention: Do no use connect this slot to signals from user actions!

void virtual_hook ( int id, void* data ) | ### virtual_hook

[protected virtual]

Reimplemented from KDialog.

- Author: Mirko Boehm (mirko@kde.org) and Espen Sand (espen@kde.org)
- Generated: root on macppc.ports.openbsd.org on Sat Sep 6 10:36:37 2003, using kdoc 2.0a54.