]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Change singleton classes to be normal QObjects which don't leak.
authorDavid Edmundson <david@davidedmundson.co.uk>
Wed, 16 Nov 2011 00:17:04 +0000 (00:17 +0000)
committerDavid Edmundson <david@davidedmundson.co.uk>
Wed, 16 Nov 2011 00:17:04 +0000 (00:17 +0000)
greeters/qt/loginprompt.cpp
greeters/qt/panel.cpp
greeters/qt/panel.ui
liblightdm-qt/QLightDM/session.h
liblightdm-qt/QLightDM/user.h
liblightdm-qt/session.cpp
liblightdm-qt/user.cpp

index c2c688ca02c2fbeea832ef8c0c431f92f42d0fec..d7608a694d8a774393a0cbe97d9876cb972ce1ba 100644 (file)
@@ -29,7 +29,7 @@ LoginPrompt::LoginPrompt(QLightDM::Greeter *greeter, QWidget *parent) :
     
     ui->hostnameLabel->setText(QLightDM::System::hostname());
     
-    ui->userListView->setModel(QLightDM::users());
+    ui->userListView->setModel(new QLightDM::UsersModel(this));
 
     connect(ui->loginButton, SIGNAL(released()), SLOT(onLoginButtonClicked()));
     connect(m_greeter, SIGNAL(authenticationComplete()), SLOT(onAuthenticationComplete()));
index 9de004fccd5206b53b0a6efb05bbc4a638aa8557..30917674a70e3928ae68bf4c44ca13d7606f5045 100644 (file)
@@ -55,7 +55,7 @@ Panel::Panel(QLightDM::Greeter *greeter, QWidget *parent):
     powerMenu->addAction(hibernateAction);
 
     ui->powerOptionsButton->setMenu(powerMenu);    
-    ui->sessionCombo->setModel(QLightDM::sessions());
+    ui->sessionCombo->setModel(new QLightDM::SessionsModel(this));
 }
 
 QString Panel::session() const
index 56e63be5bd6482f82a53fa0fa5b49708cfd8a15e..045de6b94d97d8f52baeb8db6f59cc029f136566 100644 (file)
    <string>Form</string>
   </property>
   <layout class="QHBoxLayout" name="horizontalLayout">
-   <item>
-    <widget class="QComboBox" name="languageCombo"/>
-   </item>
-   <item>
-    <widget class="QComboBox" name="layoutCombo"/>
-   </item>
    <item>
     <widget class="QComboBox" name="sessionCombo"/>
    </item>
index e334327480aa7c348fa793aad9a4f01b4d1d646b..f859e4ce1868de98855356c2b3c7d16ab41ca563 100644 (file)
@@ -35,8 +35,6 @@ namespace QLightDM {
         SessionsModelPrivate *d;
         void buildList(); //maybe make this a public slot, which apps can call only if they give a care about the session.
     };
-
-    SessionsModel *sessions();
 };
 
 #endif // QLIGHTDM_SESSION_H
index 136e2c1f736148194c712c4e83a5343d16200083..ea33a2c353afbc052ce2c6c9b395ef39bdc6aeed 100644 (file)
@@ -45,7 +45,6 @@ private:
     QList<UserItem> getUsers() const;
 };
 
-UsersModel *users();
-}
+};
 
 #endif // QLIGHTDM_USER_H
index b2274ec87abd31ce12439b2a1995e52c1b12aa54..5b9b1d82f616688cdf0db6f9cd77c7aca49b59fa 100644 (file)
@@ -29,22 +29,11 @@ public:
 class SessionItem
 {
 public:
-    //FIXME can I make these consts, if I set them in a lovely constructor?
     QString id;
     QString name;
     QString comment;
 };
 
-static SessionsModel *session_model = NULL;
-
-SessionsModel *QLightDM::sessions()
-{
-    if (!session_model)
-        session_model = new SessionsModel ();
-
-    return session_model;
-}
-
 SessionsModel::SessionsModel(QObject *parent) :
     QAbstractListModel(parent),
     d(new SessionsModelPrivate())
index fb1643b478619e5adc5cf78dff888535ceb6f3c9..0bb407df44a61b45da7fd3ec21cf2340d3639ec3 100644 (file)
 
 using namespace QLightDM;
 
-static UsersModel *user_model = NULL;
-
-UsersModel *QLightDM::users()
-{
-    if (!user_model)
-        user_model = new UsersModel ();
-
-    return user_model;
-}
-
-
 class UserItem
 {
 public: