#include "accountdialog.h"
#include "ui_accountdialog.h"
-#include "scanipdialog.h"
+#include <QDebug>
+#include <QInputDialog>
+#include <QSettings>
+
AccountDialog::AccountDialog(QWidget *parent) :
- QDialog(parent),
- ui(new Ui::AccountDialog)
+ QDialog(parent),
+ ui(new Ui::AccountDialog)
{
ui->setupUi(this);
- connect(ui->addButton,SIGNAL(clicked()),this,SLOT(addAccount()));
+
+ connect(ui->addButton,SIGNAL(clicked()),this,SLOT(add()));
+ connect(ui->editButton,SIGNAL(clicked()),this,SLOT(edit()));
+ connect(ui->remButton,SIGNAL(clicked()),this,SLOT(rem()));
+ connect(ui->listWidget, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(enableUi()));
+
+ load(); // On charge les compte
+
}
AccountDialog::~AccountDialog()
{
delete ui;
}
-
-void AccountDialog::changeEvent(QEvent *e)
+void AccountDialog::add()
{
- QDialog::changeEvent(e);
- switch (e->type()) {
- case QEvent::LanguageChange:
- ui->retranslateUi(this);
- break;
- default:
- break;
+ QString ip = QInputDialog::getText(this,"ip?","enter your ip");
+ // On peut checker si c'est une bonne forme d'ip avec QRegExp
+
+ if (!ip.isEmpty()) {
+ QString ipKey = "Label"+ip; // La faudra l'integré dans un widget personnalisé ( entrez le label, entrez l' IP)
+
+ QSettings settings;
+ settings.beginGroup("account");
+ settings.setValue(ipKey, ip);
+ settings.endGroup();
+
+ load(); // On recharge les compte
+
}
}
- void AccountDialog::addAccount()
+void AccountDialog::load()
+{
+ ui->editButton->setEnabled(false);
+ ui->remButton->setEnabled(false);
+ ui->listWidget->clear(); // tjr effacer , sinon on rajoute
+
+ QSettings settings;
+ settings.beginGroup("account");
+ foreach ( QString key, settings.allKeys())
{
+ QListWidgetItem * item = new QListWidgetItem;
+ item->setText(key);
+ item->setData(Qt::UserRole,settings.value(key));
+ ui->listWidget->addItem(item);
-ScanIPDialog * dialog = new ScanIPDialog(this);
-dialog->show();
+ }
+ settings.endGroup();
+}
+
+void AccountDialog::edit()
+{
+ QString currentValue = ui->listWidget->currentItem()->data(Qt::UserRole).toString();
+ QString currentKey = ui->listWidget->currentItem()->text();
+
+
+ QString ip = QInputDialog::getText(this, "ip ?", "enter your ip", QLineEdit::Normal, currentValue);
+
+ if (!ip.isEmpty()) {
+ QString ipKey = "Label"+ip; // La faudra l'integré dans un widget personnalisé ( entrez le label, entrez l' IP)
+
+ QSettings settings;
+ settings.beginGroup("account");
+ settings.remove(currentKey);
+ settings.setValue(ipKey, ip);
+ settings.endGroup();
+
+ load();
}
+}
+
+void AccountDialog::rem()
+{
+ QString key = ui->listWidget->currentItem()->text();
+
+ QSettings settings;
+ settings.beginGroup("account");
+ settings.remove(key);
+ settings.endGroup();
+
+ load(); // On recharge les compte
+}
+
+void AccountDialog::enableUi()
+{
+ ui->editButton->setEnabled(true);
+ ui->remButton->setEnabled(true);
+}