#include <QApplication>
#include "core.h"
-#include "quassel.h"
-#include "logger.h"
-#include "proxy.h"
+#include "style.h"
+#include "global.h"
+#include "guiproxy.h"
+#include "coreproxy.h"
+#include "settings.h"
+#include "chatwidget.h"
#include "mainwin.h"
-#include "messages.h"
int main(int argc, char **argv) {
-
- Quassel::init();
- Logger *logger = new Logger();
- Quassel::setLogger(logger);
-
- //Message *m = new Message("admin");
- //m->*(m->getCmdHandler())(QStringList(""));
- //(m->*(m->getCmdHandler()))(QStringList());
- //exit(0);
-
QApplication app(argc, argv);
-
QApplication::setOrganizationDomain("quassel-irc.org");
QApplication::setApplicationName("Quassel IRC");
QApplication::setOrganizationName("The Quassel Team");
- Core::init();
+ Global::runMode = Global::Monolithic;
+ Global::quasselDir = QDir::homePath() + "/.quassel";
- MainWin mainWin;
- mainWin.show();
- return app.exec();
+ //settings = new Settings();
+ global = new Global();
+ guiProxy = new GUIProxy();
+ coreProxy = new CoreProxy();
+
+ Settings::init();
+ Style::init();
+
+ MainWin *mainWin = new MainWin();
+ mainWin->show();
+ mainWin->init();
+ int exitCode = app.exec();
+ delete core;
+ delete guiProxy;
+ delete coreProxy;
+ delete global;
+ delete mainWin;
+ //delete settings;
+ return exitCode;
}
-QVariant proxyConnect(uint func, QVariant arg) {
- using namespace Proxy;
+void MainWin::syncToCore() {
+ Q_ASSERT(global->getData("CoreReady").toBool());
+ coreBuffers = core->getBuffers();
+ // NOTE: We don't need to request server states, because in the monolithic version there can't be
+ // any servers connected at this stage...
+}
- switch(func) {
- case LOAD_IDENTITIES: return (QVariant) CoreProxy::loadIdentities();
- case STORE_IDENTITIES: CoreProxy::storeIdentities(arg.toMap()); return 0;
+void CoreProxy::sendToGUI(CoreSignal sig, QVariant arg1, QVariant arg2, QVariant arg3) {
+ guiProxy->recv(sig, arg1, arg2, arg3);
+}
+
+GUIProxy::GUIProxy() {
+ if(guiProxy) qFatal("Trying to instantiate more than one GUIProxy object!");
+}
- }
- return 0;
+void GUIProxy::send(GUISignal sig, QVariant arg1, QVariant arg2, QVariant arg3) {
+ coreProxy->recv(sig, arg1, arg2, arg3);
}
+
+// Dummy function definitions
+// These are not needed, since we don't have a network connection to the core.
+void GUIProxy::serverHasData() {}
+void GUIProxy::connectToCore(QString, quint16) {}
+void GUIProxy::disconnectFromCore() {}
+void GUIProxy::updateCoreData(QString) {}
+void GUIProxy::serverError(QAbstractSocket::SocketError) {}
+