Last french translation for v0.5 release
[vlc-remote] / newaccountdialog.cpp
1 /*   VLC-REMOTE for MAEMO 5
2 *   Copyright (C) 2010 Schutz Sacha <istdasklar@gmail.com>, Dru Moore <usr@dru-id.co.uk>, Yann Nave <yannux@onbebop.net>
3 *   This program is free software; you can redistribute it and/or modify
4 *   it under the terms of the GNU General Public License version 2,
5 *   or (at your option) any later version, as published by the Free
6 *   Software Foundation
7 *
8 *   This program is distributed in the hope that it will be useful,
9 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
10 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 *   GNU General Public License for more details
12 *
13 *   You should have received a copy of the GNU General Public
14 *   License along with this program; if not, write to the
15 *   Free Software Foundation, Inc.,
16 *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17 */
18 #include "newaccountdialog.h"
19 #include <QFormLayout>
20 #include <QDebug>
21 #include <QSettings>
22 //#include <QMaemo5InformationBox>
23
24 NewAccountDialog::NewAccountDialog(QWidget *parent)
25 {
26     Q_UNUSED(parent);
27     this->setWindowTitle(tr("Add account"));
28
29     mKeyLineEdit = new QLineEdit;
30     mIpLineEdit = new QLineEdit;
31     mPortLineEdit = new QLineEdit;
32     mPortLineEdit->setText("8080");
33     mPortLineEdit->setReadOnly(false);
34
35     mButtonBox = new QDialogButtonBox;
36     mButtonBox->addButton(QDialogButtonBox::Save);
37     mButtonBox->addButton(QDialogButtonBox::Cancel);
38
39     connect(mButtonBox, SIGNAL(accepted()), this, SLOT(save()));
40     connect(mButtonBox, SIGNAL(rejected()), this, SLOT(reject()));
41
42     QFormLayout *layout = new QFormLayout;
43     layout->expandingDirections();
44     layout->addRow(tr("Name:"), mKeyLineEdit);
45     layout->addRow(tr("Ip:"), mIpLineEdit);
46     layout->addRow(tr("Port:"), mPortLineEdit);
47     layout->addWidget(mButtonBox);
48
49     setLayout(layout);
50 }
51
52 void NewAccountDialog::save()
53 {
54     QString myKey = mKeyLineEdit->text();
55     QString myIp = mIpLineEdit->text();
56     QString myPort = mPortLineEdit->text();
57
58     QSettings settings;
59     settings.beginGroup("account");
60     if (!mEditKey.isEmpty()) {
61         settings.remove(mEditKey);
62     }
63
64     if (!myIp.isEmpty() && !myKey.isEmpty()) {
65         if (myPort.isEmpty()) {
66             myPort = "8080";
67         }
68         settings.setValue(myKey, myIp+":"+myPort);
69         // Rajouter des tests pour vĂ©rifier qu'on est sur Maemo
70         //QMaemo5InformationBox::information(this, tr("Account saved"), QMaemo5InformationBox::DefaultTimeout);
71     }
72     settings.endGroup();
73
74     emit accept();
75 }
76
77 void NewAccountDialog::edit(QString &key, QString &ip)
78 {
79     Q_UNUSED(ip);
80     this->setWindowTitle(tr("Edit account"));
81
82     QSettings settings;
83     settings.beginGroup("account");
84     QString value = settings.value(key).toString();
85     settings.endGroup();
86
87     QStringList values = value.split(":");
88
89     mEditKey = key;
90     mEditIp = values.first();
91     mEditPort = values.last();
92
93     mKeyLineEdit->setText(mEditKey);
94     mKeyLineEdit->setDisabled(true);
95     mIpLineEdit->setText(mEditIp);
96     mPortLineEdit->setText(mEditPort);
97 }
98