Skip to content

Commit

Permalink
Refactor|libdeng2: DENG2_PRIVATE macro to further aid pimpl idiom use
Browse files Browse the repository at this point in the history
  • Loading branch information
skyjake committed Feb 18, 2013
1 parent 8627b94 commit e749ed6
Show file tree
Hide file tree
Showing 74 changed files with 107 additions and 167 deletions.
4 changes: 2 additions & 2 deletions doomsday/client/include/ui/canvas.h
Expand Up @@ -29,6 +29,7 @@
struct image_s; // see image.h

#include <QGLWidget>
#include <de/libdeng2.h>

#ifdef Q_WS_X11
//# define LIBDENG_CANVAS_TRACK_WITH_MOUSE_MOVE_EVENTS
Expand Down Expand Up @@ -175,8 +176,7 @@ protected slots:
#endif

private:
struct Instance;
Instance* d;
DENG2_PRIVATE(d)
};

#endif // LIBDENG_CANVAS_H
3 changes: 1 addition & 2 deletions doomsday/client/include/ui/canvaswindow.h
Expand Up @@ -86,8 +86,7 @@ public slots:
static void initCanvasAfterRecreation(Canvas& canvas);

private:
struct Instance;
Instance* d;
DENG2_PRIVATE(d)
};

#endif // CANVASWINDOW_H
4 changes: 2 additions & 2 deletions doomsday/client/include/updater.h
Expand Up @@ -31,6 +31,7 @@

#ifdef __cplusplus

#include <de/libdeng2.h>
#include <QObject>
#include <QNetworkReply>

Expand Down Expand Up @@ -67,8 +68,7 @@ public slots:
void checkNowShowingProgress();

private:
struct Instance;
Instance* d;
DENG2_PRIVATE(d)
};

/**
Expand Down
3 changes: 1 addition & 2 deletions doomsday/client/include/uri.hh
Expand Up @@ -314,8 +314,7 @@ public:
void operator << (Reader &from);

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

Q_DECLARE_OPERATORS_FOR_FLAGS(Uri::PrintFlags)
Expand Down
25 changes: 12 additions & 13 deletions doomsday/client/src/updater/downloaddialog.cpp
Expand Up @@ -38,9 +38,8 @@

static DownloadDialog* downloadInProgress;

struct DownloadDialog::Instance
DENG2_PIMPL(DownloadDialog)
{
DownloadDialog* self;
QNetworkAccessManager* network;
bool downloading;
QPushButton* install;
Expand All @@ -54,11 +53,11 @@ struct DownloadDialog::Instance
QNetworkReply* reply;
de::String redirected;

Instance(DownloadDialog* d, de::String downloadUri, de::String fallbackUri)
: self(d), downloading(false), uri(downloadUri), uri2(fallbackUri), fileReady(false), reply(0)
Instance(Public *d, de::String downloadUri, de::String fallbackUri)
: Base(d), downloading(false), uri(downloadUri), uri2(fallbackUri), fileReady(false), reply(0)
{
QVBoxLayout* mainLayout = new QVBoxLayout;
self->setLayout(mainLayout);
self.setLayout(mainLayout);

bar = new QProgressBar;
bar->setTextVisible(false);
Expand All @@ -69,8 +68,8 @@ struct DownloadDialog::Instance
install = bbox->addButton(tr("Install"), QDialogButtonBox::AcceptRole);
install->setEnabled(false);
QPushButton* cancel = bbox->addButton(QDialogButtonBox::Cancel);
QObject::connect(install, SIGNAL(clicked()), self, SLOT(accept()));
QObject::connect(cancel, SIGNAL(clicked()), self, SLOT(reject()));
QObject::connect(install, SIGNAL(clicked()), thisPublic, SLOT(accept()));
QObject::connect(cancel, SIGNAL(clicked()), thisPublic, SLOT(reject()));

hostText = new QLabel;
updateLocation(uri);
Expand All @@ -84,8 +83,8 @@ struct DownloadDialog::Instance

mainLayout->addWidget(bbox);

network = new QNetworkAccessManager(self);
QObject::connect(network, SIGNAL(finished(QNetworkReply*)), self, SLOT(finished(QNetworkReply*)));
network = new QNetworkAccessManager(thisPublic);
QObject::connect(network, SIGNAL(finished(QNetworkReply*)), thisPublic, SLOT(finished(QNetworkReply*)));

startDownload();
}
Expand All @@ -104,19 +103,19 @@ struct DownloadDialog::Instance
savedFilePath = UpdaterSettings().downloadPath() / path.fileName();

reply = network->get(QNetworkRequest(uri));
QObject::connect(reply, SIGNAL(metaDataChanged()), self, SLOT(replyMetaDataChanged()));
QObject::connect(reply, SIGNAL(downloadProgress(qint64,qint64)), self, SLOT(progress(qint64,qint64)));
QObject::connect(reply, SIGNAL(metaDataChanged()), thisPublic, SLOT(replyMetaDataChanged()));
QObject::connect(reply, SIGNAL(downloadProgress(qint64,qint64)), thisPublic, SLOT(progress(qint64,qint64)));

LOG_INFO("Downloading %s, saving as: %s") << uri.toString() << savedFilePath;

// Global state flag.
downloadInProgress = self;
downloadInProgress = thisPublic;
}

void setProgressText(de::String text)
{
progText->setText("<small>" + text + "</small>");
self->resize(self->sizeHint());
self.resize(self.sizeHint());
}
};

Expand Down
3 changes: 1 addition & 2 deletions doomsday/client/src/updater/downloaddialog.h
Expand Up @@ -61,8 +61,7 @@ public slots:
void finished(QNetworkReply*);

private:
struct Instance;
Instance* d;
DENG2_PRIVATE(d)
};

#endif // __cplusplus
Expand Down
3 changes: 1 addition & 2 deletions doomsday/client/src/updater/updateavailabledialog.h
Expand Up @@ -50,8 +50,7 @@ public slots:
void checkAgain();

private:
struct Instance;
Instance* d;
DENG2_PRIVATE(d)
};

#endif // LIBDENG_UPDATEAVAILABLEDIALOG_H
15 changes: 7 additions & 8 deletions doomsday/client/src/updater/updater.cpp
Expand Up @@ -121,9 +121,8 @@ static void switchBackToFullscreen(bool wasFull)
}
}

struct Updater::Instance
DENG2_PIMPL(Updater)
{
Updater* self;
QNetworkAccessManager* network;
DownloadDialog* download;
bool alwaysShowNotification;
Expand All @@ -137,16 +136,16 @@ struct Updater::Instance
QString latestPackageUri2; // fallback location
QString latestLogUri;

Instance(Updater* up)
: self(up),
Instance(Public *up)
: Base(up),
network(0),
download(0),
availableDlg(0),
settingsDlg(0),
backToFullscreen(false),
savingSuggested(false)
{
network = new QNetworkAccessManager(self);
network = new QNetworkAccessManager(thisPublic);

// Delete a package installed earlier?
UpdaterSettings st;
Expand Down Expand Up @@ -239,7 +238,7 @@ struct Updater::Instance
if(!settingsDlg)
{
settingsDlg = new UpdaterSettingsDialog(Window_Widget(Window_Main()));
QObject::connect(settingsDlg, SIGNAL(finished(int)), self, SLOT(settingsDialogClosed(int)));
QObject::connect(settingsDlg, SIGNAL(finished(int)), thisPublic, SLOT(settingsDialogClosed(int)));
}
else
{
Expand Down Expand Up @@ -322,15 +321,15 @@ struct Updater::Instance

void execAvailableDialog(bool wasFull)
{
QObject::connect(availableDlg, SIGNAL(checkAgain()), self, SLOT(recheck()));
QObject::connect(availableDlg, SIGNAL(checkAgain()), thisPublic, SLOT(recheck()));

if(availableDlg->exec())
{
availableDlg = 0;

LOG_MSG("Download and install.");
download = new DownloadDialog(latestPackageUri, latestPackageUri2);
QObject::connect(download, SIGNAL(finished(int)), self, SLOT(downloadCompleted(int)));
QObject::connect(download, SIGNAL(finished(int)), thisPublic, SLOT(downloadCompleted(int)));
download->show();
}
else
Expand Down
4 changes: 2 additions & 2 deletions doomsday/client/src/updater/updatersettingsdialog.h
Expand Up @@ -23,6 +23,7 @@
#ifndef LIBDENG_UPDATERSETTINGSDIALOG_H
#define LIBDENG_UPDATERSETTINGSDIALOG_H

#include <de/libdeng2.h>
#include "updaterdialog.h"

class UpdaterSettingsDialog : public UpdaterDialog
Expand All @@ -44,8 +45,7 @@ public slots:
void pathActivated(int index);

private:
struct Instance;
Instance* d;
DENG2_PRIVATE(d)
};

#endif // LIBDENG_UPDATERSETTINGSDIALOG_H
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/core/app.h
Expand Up @@ -252,8 +252,7 @@ class DENG2_PUBLIC App : DENG2_OBSERVES(Clock, TimeChange)
virtual NativePath appDataPath() const = 0;

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

Q_DECLARE_OPERATORS_FOR_FLAGS(App::SubsystemInitFlags)
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/core/commandline.h
Expand Up @@ -205,8 +205,7 @@ class DENG2_PUBLIC CommandLine
bool execute() const;

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/core/config.h
Expand Up @@ -103,8 +103,7 @@ class DENG2_PUBLIC Config
Record &names();

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/core/library.h
Expand Up @@ -202,8 +202,7 @@ class DENG2_PUBLIC Library
}

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/core/logbuffer.h
Expand Up @@ -170,8 +170,7 @@ public slots:
void flush();

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)

/// The globally available application buffer.
static LogBuffer *_appBuffer;
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/core/system.h
Expand Up @@ -75,8 +75,7 @@ class DENG2_PUBLIC System : DENG2_OBSERVES(Clock, TimeChange)
virtual void timeChanged(Clock const &);

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

Q_DECLARE_OPERATORS_FOR_FLAGS(System::Flags)
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/core/textapp.h
Expand Up @@ -55,8 +55,7 @@ class DENG2_PUBLIC TextApp : public QCoreApplication, public App
NativePath appDataPath() const;

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/core/unixinfo.h
Expand Up @@ -74,8 +74,7 @@ class UnixInfo
bool defaults(String const &key, String &value) const;

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/data/archive.h
Expand Up @@ -318,8 +318,7 @@ class DENG2_PUBLIC Archive : public IWritable
PathTree const &index() const;

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/data/info.h
Expand Up @@ -233,8 +233,7 @@ class Info
bool findValueForKey(String const &key, String &value) const;

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
4 changes: 1 addition & 3 deletions doomsday/libdeng2/include/de/data/lockable.h
Expand Up @@ -55,9 +55,7 @@ class DENG2_PUBLIC Lockable
void assertLocked() const;

private:
/// Pointer to the internal mutex data.
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/data/pathtree.h
Expand Up @@ -240,8 +240,7 @@ class DENG2_PUBLIC PathTree
Nodes &childNodes(NodeType type);

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

public:
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/data/reader.h
Expand Up @@ -285,8 +285,7 @@ class DENG2_PUBLIC Reader
}

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/data/record.h
Expand Up @@ -334,8 +334,7 @@ class DENG2_PUBLIC Record : public ISerializable, public LogEntry::Arg::Base,
void variableBeingDeleted(Variable &variable);

private:
struct Instance;
Instance * d;
DENG2_PRIVATE(d)
};

/// Converts the record into a human-readable text representation.
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/data/stringpool.h
Expand Up @@ -241,8 +241,7 @@ class DENG2_PUBLIC StringPool : public ISerializable
#endif

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/data/writer.h
Expand Up @@ -215,8 +215,7 @@ class DENG2_PUBLIC Writer
}

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down
3 changes: 1 addition & 2 deletions doomsday/libdeng2/include/de/filesys/archivefeed.h
Expand Up @@ -76,8 +76,7 @@ class ArchiveFeed : public Feed
String const &basePath() const;

private:
struct Instance;
Instance *d;
DENG2_PRIVATE(d)
};

} // namespace de
Expand Down

0 comments on commit e749ed6

Please sign in to comment.