go forward

parent a9398510
...@@ -36,18 +36,73 @@ ...@@ -36,18 +36,73 @@
*/ */
#include <QApplication> #include <QApplication>
#include <QFile> #include <QFile>
#include <QObject>
#include "skylivex.h" #include "skylivex.h"
/*
* class SkyliveX
* This is the core of the SkyliveX client.
* Here the inter-thread and inter-process communication
* with plugins is done, so, the magic happen here
*/
class SkyliveX : public QObject
{
Q_OBJECT
public:
SkyliveX(QObject *parent=0) : QObject(parent) {}
~SkyliveX() {}
public slots:
void run()
{
emit finished();
}
signals:
void finished();
};
/*
* Not less important than the core is the main window.
* It is a Wekbit object that load our HTML/js gui
* for the main window!
*/
//class MainWindow
/*
* main loop.
* Here lives some objects:
* - the initial splash screen
* - the plugin messages emitter/receiver
* - the main window
* - the plugin manager
* - the config parser
*/
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
// Start our application object
QApplication skylivex(argc, argv); QApplication skylivex(argc, argv);
// Start the splash screen. also
// the splash screen is a (transparent) webkit object
QFile splashfile("gui/splash.html"); QFile splashfile("gui/splash.html");
SplashPage splashwin(splashfile); SplashPage splashwin(splashfile);
splashwin.show(); splashwin.show();
// Instance of the core ITC/IPC messasing
SkyliveX *skx = new SkyliveX(&skylivex);
// connect the "finished" signal coming from the ITC/IPC to the qui call
QObject::connect(skx, SIGNAL(finished()), &skx, SLOT(quit()));
// and give a slot to the ITC/IPC in the main loop
QTimer::signalShot(0, skx, SLOT(run()));
// and then.. go!
return skylivex.exec(); return skylivex.exec();
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment