Warning, file /office/calligra/libs/widgets/KoDialog_p.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*  This file is part of the KDE project
0002     Copyright (C) 2007 Matthias Kretz <kretz@kde.org>
0003 
0004     This library is free software; you can redistribute it and/or
0005     modify it under the terms of the GNU Library General Public
0006     License version 2 as published by the Free Software Foundation.
0007 
0008     This library is distributed in the hope that it will be useful,
0009     but WITHOUT ANY WARRANTY; without even the implied warranty of
0010     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0011     Library General Public License for more details.
0012 
0013     You should have received a copy of the GNU Library General Public License
0014     along with this library; see the file COPYING.LIB.  If not, write to
0015     the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0016     Boston, MA 02110-1301, USA.
0017 
0018 */
0019 
0020 #ifndef KODIALOG_P_H
0021 #define KODIALOG_P_H
0022 
0023 #include "KoDialog.h"
0024 #include <QPointer>
0025 #include <QSize>
0026 #include <QHash>
0027 
0028 class QBoxLayout;
0029 class QPushButton;
0030 class KUrlLabel;
0031 class KSeparator;
0032 class QDialogButtonBox;
0033 
0034 class KoDialogPrivate
0035 {
0036     Q_DECLARE_PUBLIC(KoDialog)
0037 protected:
0038     KoDialogPrivate()
0039         : mDetailsVisible(false), mSettingDetails(false), mDeferredDelete(false),
0040           mDetailsWidget(0),
0041           mTopLayout(0), mMainWidget(0), mUrlHelp(0), mActionSeparator(0),
0042           mButtonOrientation(Qt::Horizontal),
0043           mDefaultButton(KoDialog::NoDefault),
0044           mButtonBox(0)
0045     {
0046     }
0047 
0048     virtual ~KoDialogPrivate() = default;
0049 
0050     KoDialog *q_ptr;
0051 
0052     void setupLayout();
0053     void appendButton(KoDialog::ButtonCode code, const KGuiItem &item);
0054 
0055     bool mDetailsVisible;
0056     bool mSettingDetails;
0057     bool mDeferredDelete;
0058     QWidget *mDetailsWidget;
0059     QSize mIncSize;
0060     QSize mMinSize;
0061     QString mDetailsButtonText;
0062 
0063     QBoxLayout *mTopLayout;
0064     QPointer<QWidget> mMainWidget;
0065     KUrlLabel *mUrlHelp;
0066     KSeparator *mActionSeparator;
0067 
0068     QString mAnchor;
0069     QString mHelpApp;
0070     QString mHelpLinkText;
0071 
0072     Qt::Orientation mButtonOrientation;
0073     KoDialog::ButtonCode mDefaultButton;
0074     KoDialog::ButtonCode mEscapeButton;
0075 
0076     QDialogButtonBox *mButtonBox;
0077     QHash<int, QPushButton *> mButtonList;
0078 
0079 protected Q_SLOTS:
0080     void queuedLayoutUpdate();
0081     void helpLinkClicked();
0082 
0083 private:
0084     void init(KoDialog *);
0085     bool dirty: 1;
0086 };
0087 
0088 #endif // KDEUI_KDIALOG_P_H