From 6d568d07b31ba2ae39703cfd272d3003ea542018 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Sun, 19 Apr 2020 23:36:48 +0800 Subject: Legacy code massacre! Complete reconstruction of the settings infrastructure. All options are now registered using a revamped option API. Legacy configuration files are no longer compatible. Please make a backup. --- qmidiplayer-desktop/qmpdevpropdialog.cpp | 57 ++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 21 deletions(-) (limited to 'qmidiplayer-desktop/qmpdevpropdialog.cpp') diff --git a/qmidiplayer-desktop/qmpdevpropdialog.cpp b/qmidiplayer-desktop/qmpdevpropdialog.cpp index 64c385d..3b9ccc4 100644 --- a/qmidiplayer-desktop/qmpdevpropdialog.cpp +++ b/qmidiplayer-desktop/qmpdevpropdialog.cpp @@ -21,15 +21,19 @@ qmpDevPropDialog::qmpDevPropDialog(QWidget *parent) : this->ui->twProps->edit(ui->twProps->model()->index(r,c)); if(c==3) { - QString p=QFileDialog::getOpenFileUrl(this,"Select Device Initialization File",QUrl()).toLocalFile(); + QString p=QFileDialog::getOpenFileUrl(this,tr("Select Device Initialization File"),QUrl()).toLocalFile(); if(p.length())this->ui->twProps->item(r,2)->setText(p); } }); connect(ui->twProps,&QTableWidget::cellChanged,this,[this](int r,int c){ if(c!=0)return; - QString connst("Disconnected"); + QString connst(tr("Disconnected")); for(auto&ds:qmpMainWindow::getInstance()->getPlayer()->getMidiOutDevices()) - if(ui->twProps->item(r,c)->text()==QString::fromStdString(ds)){connst="Connected";break;} + if(ui->twProps->item(r,c)->text()==QString::fromStdString(ds)) + { + connst=tr("Connected"); + break; + } ui->twProps->item(r,1)->setText(connst); }); } @@ -39,16 +43,31 @@ qmpDevPropDialog::~qmpDevPropDialog() delete ui; } -void qmpDevPropDialog::launch() +void qmpDevPropDialog::load(void *data) { - QSettings *s=qmpSettingsWindow::getSettingsIntf(); + QList lst=static_cast(data)->toList(); ui->twProps->clearContents(); ui->twProps->setRowCount(0); - s->beginGroup("DevInit"); - for(auto&k:s->allKeys()) - setupRow(k,s->value(k).toString()); - s->endGroup(); - show(); + for(auto&i:lst) + { + QPair p=i.value>(); + setupRow(p.first,p.second); + } +} + +void *qmpDevPropDialog::save() +{ + QList ret; + for(int i=0;itwProps->rowCount();++i) + { + QPair p + { + ui->twProps->item(i,0)->text(), + ui->twProps->item(i,2)->text() + }; + ret.push_back(QVariant::fromValue(p)); + } + return new QVariant(ret); } void qmpDevPropDialog::on_pbAdd_clicked() @@ -74,7 +93,7 @@ void qmpDevPropDialog::setupRow(const QString&dn,const QString&din) ui->twProps->setItem(r,3,new QTableWidgetItem("...")); if(din.length())ui->twProps->item(r,2)->setText(din); cbx->setFlags(Qt::ItemFlag::ItemIsEnabled|Qt::ItemFlag::ItemIsSelectable); - cbx->setText("Disconnected"); + cbx->setText(tr("Disconnected")); ui->twProps->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeMode::ResizeToContents); if(dn.length()) { @@ -89,14 +108,10 @@ void qmpDevPropDialog::setupRow(const QString&dn,const QString&din) void qmpDevPropDialog::on_buttonBox_accepted() { - QSettings *s=qmpSettingsWindow::getSettingsIntf(); - s->beginGroup("DevInit"); - s->remove(""); - for(int i=0;itwProps->rowCount();++i) - { - s->setValue(ui->twProps->item(i,0)->text(), - ui->twProps->item(i,2)->text()); - } - s->endGroup(); - s->sync(); + accept(); +} + +void qmpDevPropDialog::on_buttonBox_rejected() +{ + reject(); } -- cgit v1.2.3