1 #include "accountdialog.h"
2 #include "ui_accountdialog.h"
3 #include "newaccountdialog.h"
5 #include <QInputDialog>
9 #include <QtConcurrentRun>
10 AccountDialog::AccountDialog(QWidget *parent) :
12 ui(new Ui::AccountDialog)
16 connect(ui->addButton,SIGNAL(clicked()),this,SLOT(add()));
17 connect(ui->editButton,SIGNAL(clicked()),this,SLOT(edit()));
18 connect(ui->remButton,SIGNAL(clicked()),this,SLOT(rem()));
19 connect(ui->useButton,SIGNAL(clicked()),this,SLOT(use()));
20 connect(ui->listWidget, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(enableUi()));
26 AccountDialog::~AccountDialog()
31 void AccountDialog::add()
34 NewAccountDialog *dialog = new NewAccountDialog(this);
39 void AccountDialog::load()
41 ui->editButton->setEnabled(false);
42 ui->remButton->setEnabled(false);
43 ui->useButton->setEnabled(false);
44 ui->listWidget->clear(); // tjr effacer , sinon on rajoute
47 settings.beginGroup("config");
48 QString useKey = settings.value("currentKey").toString();
51 settings.beginGroup("account");
52 foreach ( QString key, settings.allKeys())
54 QListWidgetItem * item = new QListWidgetItem;
57 item->setData(Qt::UserRole, settings.value(key));
59 QFont font = item->font();
63 ui->listWidget->addItem(item);
72 void AccountDialog::asyncTestConnection()
75 settings.beginGroup("account");
77 for ( int i=0; i<ui->listWidget->count(); ++i)
80 QListWidgetItem * item = ui->listWidget->item(i);
81 QString key = item->text();
82 QString hostIp = settings.value(key).toString();
84 QTcpSocket * socket = new QTcpSocket(this);
85 socket->connectToHost(hostIp, 80);
87 if (socket->waitForConnected(1000))
88 item->setBackgroundColor(Qt::green);
90 item->setBackgroundColor(Qt::red);
100 void AccountDialog::edit()
102 QString currentIp = ui->listWidget->currentItem()->data(Qt::UserRole).toString();
103 QString currentKey = ui->listWidget->currentItem()->text();
105 NewAccountDialog *dialog = new NewAccountDialog(this);
106 dialog->edit(currentKey, currentIp);
112 void AccountDialog::rem()
114 QString key = ui->listWidget->currentItem()->text();
117 settings.beginGroup("account");
118 settings.remove(key);
121 load(); // On recharge les compte
124 void AccountDialog::use()
126 QString currentKey = ui->listWidget->currentItem()->text();
129 settings.beginGroup("config");
130 settings.setValue("currentKey", currentKey);
136 void AccountDialog::enableUi()
138 ui->editButton->setEnabled(true);
139 ui->remButton->setEnabled(true);
140 ui->useButton->setEnabled(true);