diff options
author | Kevin Smith <git@kismith.co.uk> | 2011-10-11 14:06:50 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2011-10-11 14:06:50 (GMT) |
commit | f48dc68662988b6eeb6544c2425c179b1f9b973d (patch) | |
tree | 1f5ef1b4e41ff68bb77e1cba0f5de9ccb527e9cf /Swift | |
parent | 09210ff317de63a8011130edceba3a508a6009d8 (diff) | |
download | swift-contrib-f48dc68662988b6eeb6544c2425c179b1f9b973d.zip swift-contrib-f48dc68662988b6eeb6544c2425c179b1f9b973d.tar.bz2 |
Provide click-through ToS for --eagle-mode
Diffstat (limited to 'Swift')
-rw-r--r-- | Swift/QtUI/QtSwift.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Swift/QtUI/QtSwift.cpp b/Swift/QtUI/QtSwift.cpp index 3f65b14..7c0a2bd 100644 --- a/Swift/QtUI/QtSwift.cpp +++ b/Swift/QtUI/QtSwift.cpp @@ -8,7 +8,10 @@ #include <string> #include <QSplitter> +#include <QFile> #include <boost/bind.hpp> +#include <QMessageBox> +#include <QApplication> #include "QtLoginWindow.h" #include "QtChatTabs.h" @@ -30,6 +33,7 @@ #include "Swift/Controllers/BuildVersion.h" #include "SwifTools/AutoUpdater/AutoUpdater.h" #include "SwifTools/AutoUpdater/PlatformAutoUpdaterFactory.h" +#include "Swiften/Base/Paths.h" #if defined(SWIFTEN_PLATFORM_WINDOWS) #include "WindowsNotifier.h" @@ -171,6 +175,29 @@ QtSwift::QtSwift(const po::variables_map& options) : networkFactories_(&clientMa mainControllers_.push_back(mainController); } + if (eagleMode) { + QString clickThroughPath(P2QSTRING((Paths::getExecutablePath() / "eagle-banner.txt").string())); + QFile clickThroughFile(clickThroughPath); + if (clickThroughFile.exists() && clickThroughFile.open(QIODevice::ReadOnly)) { + QString banner; + while (!clickThroughFile.atEnd()) { + QByteArray line = clickThroughFile.readLine(); + banner += line + "\n"; + } + if (!banner.isEmpty()) { + QMessageBox msgBox; + msgBox.setWindowTitle(tr("Confirm terms of use")); + msgBox.setText(tr("Do you agree to the terms of use?")); + msgBox.setInformativeText(banner); + msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No); + msgBox.setDefaultButton(QMessageBox::No); + if (msgBox.exec() != QMessageBox::Yes) { + exit(0); + } + } + } + } + // PlatformAutoUpdaterFactory autoUpdaterFactory; // if (autoUpdaterFactory.isSupported()) { |