void DialogSettings::done(int res) { if (res == QDialog::Accepted) { DTime timeOut(ui->idleTimeOut->time()); int idleTimeOut = timeOut.totalSecs(); bool save = true; if (idleTimeOut == 0) { QMessageBox box; box.setWindowTitle(tr("d-jon settings")); box.setText("The idle timeout 0 means you'll disable the away detection. Are you sure?"); box.setStandardButtons(QMessageBox::Yes | QMessageBox::No); int res = box.exec(); if (res == QMessageBox::No) { save = false; } } if (save) { getSettings()->setIdleTimeOut(idleTimeOut); getSettings()->setCloseToTray(ui->cbCloseToSysTray->isChecked()); getSettings()->setCheckUpdate(ui->cboUpdate->itemData(ui->cboUpdate->currentIndex()).toInt()); getSettings()->setTransparency(ui->transparency->value()); getSettings()->save(); std::string logSort = ui->logOrderBy->itemData(ui->logOrderBy->currentIndex()).toString().toStdString(); writePreference("log-sort", logSort); QDialog::done(QDialog::Accepted); } } else { QDialog::done(res); } }
void MainWindow::closeEvent(QCloseEvent *event){ if(maybeSave()){ save(); writePreference(); event->accept(); } else{ event->ignore(); } }
Preferences::Preferences(QWidget *parent) { setupUi(this); connect( buttonBox, SIGNAL( accepted() ), this, SLOT( writePreference() ), Qt::DirectConnection ); connect(pushButton, SIGNAL(clicked()),this, SLOT( openFileDialog() ), Qt::DirectConnection ); connect(pushButton_2, SIGNAL(clicked()),this, SLOT( add() ), Qt::DirectConnection ); connect(pushButton_3, SIGNAL(clicked()),this, SLOT( remove() ), Qt::DirectConnection ); connect(pushButton_VIBePath, SIGNAL(clicked()),this, SLOT( openFileDialog() ), Qt::DirectConnection ); connect(pushButton_VIBePathAdd, SIGNAL(clicked()),this, SLOT( add() ), Qt::DirectConnection ); connect(pushButton_VIBePathRemove, SIGNAL(clicked()),this, SLOT( remove() ), Qt::DirectConnection ); connect(pushButton_NativeModule, SIGNAL(clicked()),this, SLOT( openFileDialog() ), Qt::DirectConnection ); connect(pushButton_NativeModuleAdd, SIGNAL(clicked()),this, SLOT( add() ), Qt::DirectConnection ); connect(pushButton_NativeModuleRemove, SIGNAL(clicked()),this, SLOT( remove() ), Qt::DirectConnection ); connect(pushButton_urbansim, SIGNAL(clicked()),this, SLOT( openFileDialog() ), Qt::DirectConnection ); connect(pushButton_swmm, SIGNAL(clicked()),this, SLOT( openFileDialog() ), Qt::DirectConnection ); connect(pushButton_Editra, SIGNAL(clicked()),this, SLOT( openFileDialog() ), Qt::DirectConnection ); this->setParent(parent, Qt::Dialog); QSettings settings; QString text = settings.value("pythonModules").toString(); QStringList list = text.replace("\\","/").split(","); foreach(QString s, list) this->listWidget->addItem(new QListWidgetItem(s)); text = settings.value("VIBeModules").toString(); list = text.replace("\\","/").split(","); foreach(QString s, list) this->listWidget_VIBePath->addItem(new QListWidgetItem(s)); text = settings.value("nativeModules").toString(); list = text.replace("\\","/").split(","); foreach(QString s, list) this->listWidget_NativeModule->addItem(new QListWidgetItem(s)); text = settings.value("UrbanSim").toString(); this->lineEdit_urbansim->setText(text); text = settings.value("SWMM").toString(); this->lineEdit_swmm->setText(text); text = settings.value("Editra").toString(); this->lineEdit_Editra->setText(text); this->treeWidget_wfs_server->setColumnCount(4); QTreeWidgetItem* headerItem = new QTreeWidgetItem(); headerItem->setText(0,QString("Name")); headerItem->setText(1,QString("Server")); headerItem->setText(2,QString("User")); headerItem->setText(3,QString("Password")); treeWidget_wfs_server->setHeaderItem(headerItem); text = settings.value("wfs_server").toString(); list = text.replace("\\","/").split("*||*"); foreach(QString s, list) { QStringList server_description = text.replace("\\","/").split("*|*"); if (server_description.size() != 4) continue; QTreeWidgetItem* item = new QTreeWidgetItem(); item->setText(0, server_description[0]); item->setText(1, server_description[1]); item->setText(2, server_description[2]); item->setText(2, server_description[3]); treeWidget_wfs_server->addTopLevelItem(item); }