#include <QDebug>
#include <QInputDialog>
#include <QSettings>
+
AccountDialog::AccountDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::AccountDialog)
ui->setupUi(this);
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
}
void AccountDialog::add()
{
- qDebug()<<"add";
-
- QString Ip = QInputDialog::getText(this,"ip?","enter your ip");
+ QString ip = QInputDialog::getText(this,"ip?","enter your ip");
// On peut checker si c'est une bonne forme d'ip avec QRegExp
- QString ipKey = "Label"+Ip; // La faudra l'integré dans un widget personnalisé ( entrez le label, entrez l' IP)
+ 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();
+ QSettings settings;
+ settings.beginGroup("account");
+ settings.setValue(ipKey, ip);
+ settings.endGroup();
- load(); // On recharge les compte
+ load(); // On recharge les compte
+ }
}
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())
ui->listWidget->addItem(item);
}
- settings.endGroup();
+ 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);
}
--- /dev/null
+<ui version="4.0" >
+ <class>Dialog</class>
+ <widget class="QDialog" name="Dialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>320</width>
+ <height>240</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Dialog</string>
+ </property>
+ <widget class="QDialogButtonBox" name="buttonBox" >
+ <property name="geometry" >
+ <rect>
+ <x>10</x>
+ <y>200</y>
+ <width>301</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="standardButtons" >
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>Dialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>Dialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>