summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2013-10-12 13:21:37 +0200
committerTannin <devnull@localhost>2013-10-12 13:21:37 +0200
commitf3cb50057ba5cfe5496fda6ed860b14331fdb5c0 (patch)
tree4ec838fbf29740dc94537b801e37f71ce04105dd /src
parent55183093005318c051d45f35baca6000fe5f430c (diff)
- bugfixes to last merge
- fnis-check plugin can now be disabled
Diffstat (limited to 'src')
-rw-r--r--src/mainwindow.cpp6
-rw-r--r--src/mainwindow.h25
2 files changed, 28 insertions, 3 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 7ef2dab6..b7a0fc2f 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -111,6 +111,8 @@ using namespace MOBase;
using namespace MOShared;
+
+
static bool isOnline()
{
QList<QNetworkInterface> interfaces = QNetworkInterface::allInterfaces();
@@ -146,7 +148,7 @@ MainWindow::MainWindow(const QString &exeName, QSettings &initSettings, QWidget
m_Updater(NexusInterface::instance(), this), m_CategoryFactory(CategoryFactory::instance()),
m_CurrentProfile(NULL), m_AskForNexusPW(false), m_LoginAttempted(false),
m_ArchivesInit(false), m_ContextItem(NULL), m_ContextAction(NULL), m_CurrentSaveView(NULL),
- m_GameInfo(new GameInfoImpl())
+ m_GameInfo(new GameInfoImpl()), m_AboutToRun()
{
ui->setupUi(this);
this->setWindowTitle(ToQString(GameInfo::instance().getGameName()) + " Mod Organizer v" + m_Updater.getVersion().displayString());
@@ -2131,7 +2133,7 @@ HANDLE MainWindow::startApplication(const QString &executable, const QStringList
return spawnBinaryDirect(binary, arguments, profileName, currentDirectory, steamAppID);
}
-bool MainWindow::onAboutToRun(const boost::function<bool (const QString &)> &func)
+bool MainWindow::onAboutToRun(const std::function<bool (const QString &)> &func)
{
auto conn = m_AboutToRun.connect(func);
return conn.connected();
diff --git a/src/mainwindow.h b/src/mainwindow.h
index fab850cf..7d5d4a63 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -50,6 +50,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include "savegameinfowidgetgamebryo.h"
#include <guessedvalue.h>
#include <directoryentry.h>
+#include <boost/signals2.hpp>
namespace Ui {
class MainWindow;
@@ -64,6 +65,28 @@ class MainWindow : public QMainWindow, public MOBase::IOrganizer, public MOBase:
Q_OBJECT
Q_INTERFACES(MOBase::IPluginDiagnose)
+private:
+
+ struct SignalCombinerAnd
+ {
+ typedef bool result_type;
+ template<typename InputIterator>
+ bool operator()(InputIterator first, InputIterator last) const
+ {
+ while (first != last) {
+ if (!(*first)) {
+ return false;
+ }
+ ++first;
+ }
+ return true;
+ }
+ };
+
+public:
+
+ typedef boost::signals2::signal<bool (const QString&), SignalCombinerAnd> SignalAboutToRunApplication;
+
public:
explicit MainWindow(const QString &exeName, QSettings &initSettings, QWidget *parent = 0);
~MainWindow();
@@ -115,7 +138,7 @@ public:
virtual QStringList findFiles(const QString &path, const std::function<bool(const QString &)> &filter) const;
virtual MOBase::IDownloadManager *downloadManager();
virtual HANDLE startApplication(const QString &executable, const QStringList &args = QStringList(), const QString &cwd = "", const QString &profile = "");
- virtual bool onAboutToRun(const boost::function<bool(const QString&)> &func);
+ virtual bool onAboutToRun(const std::function<bool(const QString&)> &func);
virtual std::vector<unsigned int> activeProblems() const;
virtual QString shortDescription(unsigned int key) const;