Update async methods! Now valid ip is detected
[vlc-remote] / newaccountdialog.cpp
1 #include "newaccountdialog.h"
2 #include <QFormLayout>
3 #include <QDebug>
4 #include <QSettings>
5 //#include <QMaemo5InformationBox>
6
7 NewAccountDialog::NewAccountDialog(QWidget *parent)
8 {
9     this->setWindowTitle(tr("Add account"));
10
11     mKeyLineEdit = new QLineEdit;
12     mIpLineEdit = new QLineEdit;
13     mPortLineEdit = new QLineEdit;
14     mPortLineEdit->setText("8080");
15     mPortLineEdit->setReadOnly(false);
16
17     mButtonBox = new QDialogButtonBox;
18     mButtonBox->addButton(QDialogButtonBox::Save);
19     mButtonBox->addButton(QDialogButtonBox::Cancel);
20
21     connect(mButtonBox, SIGNAL(accepted()), this, SLOT(save()));
22     connect(mButtonBox, SIGNAL(rejected()), this, SLOT(reject()));
23
24     QFormLayout *layout = new QFormLayout;
25     layout->expandingDirections();
26     layout->addRow(tr("Name:"), mKeyLineEdit);
27     layout->addRow(tr("Ip:"), mIpLineEdit);
28     layout->addRow(tr("Port:"), mPortLineEdit);
29     layout->addWidget(mButtonBox);
30
31     setLayout(layout);
32 }
33
34 void NewAccountDialog::save()
35 {
36     QString myKey = mKeyLineEdit->text();
37     QString myIp = mIpLineEdit->text();
38     QString myPort = mPortLineEdit->text();
39
40     QSettings settings;
41     settings.beginGroup("account");
42     if (!mEditKey.isEmpty()) {
43         settings.remove(mEditKey);
44     }
45
46     if (!myIp.isEmpty() && !myKey.isEmpty()) {
47         if (myPort.isEmpty()) {
48             myPort = "8080";
49         }
50         settings.setValue(myKey, myIp+":"+myPort);
51         // Rajouter des tests pour vĂ©rifier qu'on est sur Maemo
52         //QMaemo5InformationBox::information(this, tr("Account saved"), QMaemo5InformationBox::DefaultTimeout);
53     }
54     settings.endGroup();
55
56     emit accept();
57 }
58
59 void NewAccountDialog::edit(QString &key, QString &ip)
60 {
61     this->setWindowTitle(tr("Edit account"));
62
63     QSettings settings;
64     settings.beginGroup("account");
65     QString value = settings.value(key).toString();
66     settings.endGroup();
67
68     QStringList values = value.split(":");
69
70     mEditKey = key;
71     mEditIp = values.first();
72     mEditPort = values.last();
73
74     mKeyLineEdit->setText(mEditKey);
75     mKeyLineEdit->setDisabled(true);
76     mIpLineEdit->setText(mEditIp);
77     mPortLineEdit->setText(mEditPort);
78 }
79