[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/kdeui/dialogs
From: Roberto Raggi <roberto () kdevelop ! org>
Date: 2007-02-20 14:36:48
Message-ID: 1171982208.835249.11231.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 635652 by raggi:
API cleanup. Keep the public header clean(yeah, and make the source file ugly :-)
M +16 -10 kconfigdialog.cpp
M +3 -5 kconfigdialog.h
--- trunk/KDE/kdelibs/kdeui/dialogs/kconfigdialog.cpp #635651:635652
@@ -33,20 +33,26 @@
#include <qlayout.h>
#include <qmap.h>
-QHash<QString,KConfigDialog *> KConfigDialog::openDialogs;
-
// This class is here purely so we don't break binary compatibility down the road.
class KConfigDialog::KConfigDialogPrivate
{
public:
- KConfigDialogPrivate()
- : shown(false), manager(0) { }
+ KConfigDialogPrivate(KConfigDialog *q)
+ : q(q), shown(false), manager(0) { }
+ KConfigDialog *q;
bool shown;
KConfigDialogManager *manager;
QMap<QWidget *, KConfigDialogManager *> managerForPage;
+
+ /**
+ * The list of existing dialogs.
+ */
+ static QHash<QString,KConfigDialog *> openDialogs;
};
+QHash<QString,KConfigDialog *> KConfigDialog::KConfigDialogPrivate::openDialogs;
+
KConfigDialog::KConfigDialog( QWidget *parent, const QString& name,
KConfigSkeleton *config,
FaceType faceType,
@@ -54,7 +60,7 @@
ButtonCode defaultButton,
bool modal ) :
KPageDialog( parent, Qt::MSWindowsFixedSizeDialogHint ),
- d(new KConfigDialogPrivate)
+ d(new KConfigDialogPrivate(this))
{
setCaption( i18n("Configure") );
setFaceType( faceType );
@@ -64,11 +70,11 @@
setModal( modal );
if ( !name.isEmpty() ) {
- openDialogs.insert(name, this);
+ KConfigDialogPrivate::openDialogs.insert(name, this);
} else {
QString genericName;
genericName.sprintf("SettingsDialog-%p", static_cast<void*>(this));
- openDialogs.insert(genericName, this);
+ KConfigDialogPrivate::openDialogs.insert(genericName, this);
setObjectName(genericName);
}
@@ -86,7 +92,7 @@
KConfigDialog::~KConfigDialog()
{
- openDialogs.remove(objectName());
+ KConfigDialogPrivate::openDialogs.remove(objectName());
delete d;
}
@@ -151,8 +157,8 @@
KConfigDialog* KConfigDialog::exists(const QString& name)
{
- QHash<QString,KConfigDialog *>::const_iterator it = openDialogs.find( name );
- if ( it != openDialogs.end() )
+ QHash<QString,KConfigDialog *>::const_iterator it = KConfigDialogPrivate::openDialogs.find( name );
+ if ( it != KConfigDialogPrivate::openDialogs.end() )
return *it;
return 0;
}
--- trunk/KDE/kdelibs/kdeui/dialogs/kconfigdialog.h #635651:635652
@@ -256,16 +256,14 @@
void setupManagerConnections(KConfigDialogManager *manager);
private:
- /**
- * The list of existing dialogs.
- */
- static QHash<QString,KConfigDialog *> openDialogs;
-
class KConfigDialogPrivate;
+ friend class KConfigDialogPrivate;
/**
* Private class.
*/
KConfigDialogPrivate *const d;
+
+ Q_DISABLE_COPY(KConfigDialog)
};
#endif //KCONFIGDIALOG_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic