Settings are now persistent
[evehomescreen] / src / evesettingsdialog.cpp
index cc977d2..ff0ea47 100644 (file)
@@ -43,8 +43,7 @@ EveSettingsDialog::EveSettingsDialog(QWidget *parent) :
     QPushButton *button = new QPushButton("Done");
     m_layout->addWidget(button);
     characterPicker->setPickSelector(characterSelector);
-
-    connect(button,SIGNAL(pressed()),this,SLOT(accept()));
+    connect(button,SIGNAL(pressed()),this,SLOT(donePressed()));
     //connect(buttons,SIGNAL(rejected()),this,SLOT(reject()));
     //connect(ui->getCharactersButton,SIGNAL(pressed()),this,SLOT(tryLoadCharacters()));
     //connect(ui->characterCombo,SIGNAL(currentIndexChanged(int)),this,SLOT(characterSelected(int)));
@@ -52,9 +51,11 @@ EveSettingsDialog::EveSettingsDialog(QWidget *parent) :
     //connect(userIdEdit,SIGNAL(editingFinished()),this,SLOT(tryLoadCharacters()));
     //connect(characterSelector->view(),SIGNAL(activated(const QModelIndex &)),this,SLOT(characterSelected()));
     connect(characterPicker,SIGNAL(pressed()),this,SLOT(tryLoadCharacters()));
-    connect(characterSelector,SIGNAL(selected(const QString &)),characterPicker,SLOT(setValuetext(const QString &)));
+    //connect(characterSelector,SIGNAL(selected(const QString &)),characterPicker,SLOT(setValuetext(const QString &)));
 }
 
+
+
 void EveSettingsDialog::changeEvent(QEvent *e)
 {
     QDialog::changeEvent(e);
@@ -93,10 +94,14 @@ void EveSettingsDialog::tryLoadCharacters()
 
 void EveSettingsDialog::setModel(QSharedPointer<EveModel> &model)
 {
+    qDebug() << "Set model";
     m_model = model;
-    apiKeyEdit->setText(model->apiKey());
-    userIdEdit->setText(QString::number(model->userId()));
+    apiKeyEdit->setText(m_model->apiKey());
+    if (m_model->userId() != 0)
+        userIdEdit->setText(QString::number(m_model->userId()));
+
     charactersLoaded();
+    characterSelector->setCurrentIndex(m_model->selectedIndex());
 }
 
 void EveSettingsDialog::charactersLoaded()
@@ -114,17 +119,18 @@ void EveSettingsDialog::charactersLoaded()
     }
 }
 
-EveCharacter *EveSettingsDialog::selectedCharacter() {
-    int idx = characterSelector->currentIndex();
-    qDebug() << "Selected index is " << idx;
-    if ( idx >=0 && idx < m_model->characters().size() ) {
-        qDebug() << "Selecting " << m_model->characters().at(idx).name;
-        return &(m_model->characters()[idx]);
-    }
-    return NULL;
+int EveSettingsDialog::selectedCharacter()
+{
+    return characterSelector->currentIndex();
 }
 
 void EveSettingsDialog::characterSelected()
 {
 
 }
+
+void EveSettingsDialog::donePressed()
+{
+    m_model->saveSettings();
+    accept();
+}