#include <iostream>
+#include <QtGui>
#include <QApplication>
+#include "style.h"
#include "global.h"
#include "guiproxy.h"
+#include "coreconnectdlg.h"
#include "util.h"
+#include "chatwidget.h"
#include "mainwin.h"
QApplication::setOrganizationName("The Quassel Team");
Global::runMode = Global::GUIOnly;
+ Global::quasselDir = QDir::homePath() + "/.quassel";
+
global = new Global();
guiProxy = new GUIProxy();
+ Style::init();
+
MainWin mainWin;
+ mainWin.init();
int exitCode = app.exec();
delete guiProxy;
delete global;
+ return exitCode;
+}
+
+void MainWin::syncToCore() {
+ Q_ASSERT(!global->getData("CoreReady").toBool());
+ // ok, we are running as standalone GUI
+ coreConnectDlg = new CoreConnectDlg(this);
+ if(coreConnectDlg->exec() != QDialog::Accepted) {
+ //qApp->quit();
+ exit(1);
+ }
+ VarMap state = coreConnectDlg->getCoreState().toMap();
+ delete coreConnectDlg;
+ VarMap data = state["CoreData"].toMap();
+ QString key;
+ foreach(key, data.keys()) {
+ global->updateData(key, data[key]);
+ }
+ if(!global->getData("CoreReady").toBool()) {
+ QMessageBox::critical(this, tr("Fatal Error"), tr("<b>Could not synchronize with Quassel Core!</b><br>Quassel GUI will be aborted."), QMessageBox::Abort);
+ //qApp->quit();
+ exit(1);
+ }
+ /*
+ foreach(QString net, state["CoreBackLog"].toMap().keys()) {
+ QByteArray logbuf = state["CoreBackLog"].toMap()[net].toByteArray();
+ QDataStream in(&logbuf, QIODevice::ReadOnly); in.setVersion(QDataStream::Qt_4_2);
+ while(!in.atEnd()) {
+ Message msg; in >> msg;
+ coreBackLog[net].append(msg);
+ }
+ qDebug() << net << coreBackLog[net].count();
+ }
+ */
+ coreBuffers.clear();
+ foreach(QVariant v, state["CoreBuffers"].toList()) { coreBuffers.append(v.value<BufferId>()); }
}
GUIProxy::GUIProxy() {