first steps towards singleton
authorkonrad <konrad@6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33>
Sat, 24 Jan 2009 15:14:17 +0000 (15:14 +0000)
committerkonrad <konrad@6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33>
Sat, 24 Jan 2009 15:14:17 +0000 (15:14 +0000)
git-svn-id: https://silmor.de/svn/softmagic/smoke/trunk@248 6e3c4bff-ac9f-4ac1-96c5-d2ea494d3e33

src/main.cpp
src/mainwindow.cpp
src/webrequest.cpp
src/webrequest.h

index e61d9d2..f6d1972 100644 (file)
@@ -163,7 +163,7 @@ int main(int argc,char**argv)
        
        //open main window
        MMainWindow mmw;
-       mmw.showMaximized();
+       mmw.show();
        
        return app.exec();
 }
index bcfea4d..35cfae5 100644 (file)
@@ -17,6 +17,7 @@
 #include "overview.h"
 #include "webrequest.h"
 
+#include <QApplication>
 #include <QByteArray>
 #include <QCheckBox>
 #include <QComboBox>
@@ -222,9 +223,15 @@ void MMainWindow::startLogin()
        MOverview *mo=new MOverview(mw,profiles->itemData(profiles->currentIndex()).toString());
        mo->show();
        
+       //make sure the application exits after everything is cleaned up
+       qApp->setQuitOnLastWindowClosed(false);
+       connect(mw,SIGNAL(destroyed(QObject*)),qApp,SLOT(quit()));
+       
        //reset main window
-       password->setText("");
-       setEnabled(true);
+//     password->setText("");
+//     setEnabled(true);
+//     deleteLater();
+       hide();
 }
 
 void MMainWindow::changeLang()
index 0fa9e14..2156e87 100644 (file)
 
 #include <QtDebug>
 
+static QPointer<MWebRequest>sinst;
+
 MWebRequest::MWebRequest(QString pid)
        :temp(this,pid)
 {
+       sinst=this;
        profileid=pid;
        webtimeout=QSettings().value("profiles/"+pid+"/webtimeout",30).toInt()*1000;
        loglvl=LogLevel(QSettings().value("profiles/"+pid+"/webloglevel",LogOnError).toInt());
@@ -44,6 +47,8 @@ MWebRequest::MWebRequest(QString pid)
 }
 MWebRequest::~MWebRequest(){}
 
+MWebRequest* MWebRequest::instance(){return sinst;}
+
 QString MWebRequest::dataDir()const
 {
        QString dd="profile."+profileid;
index d71643b..39500e5 100644 (file)
@@ -31,7 +31,7 @@
 #include "templates.h"
 #include "user.h"
 
-/**abstraction of requests to the web server, handles sessions and all data transfer*/
+/**abstraction of requests to the web server, handles sessions and all data transfer; singleton*/
 class MWebRequest:public QObject
 {
        Q_OBJECT
@@ -39,6 +39,8 @@ class MWebRequest:public QObject
                MWebRequest(QString profileid);
                ~MWebRequest();
                
+               static MWebRequest* instance();
+               
                /**returns the data directory of this profile; it makes sure the directory exists*/
                QString dataDir()const;