27 #include "../../../core/translator/Translator.h" 28 #include "../Exception.h" 31 #include "ui_ParameterDialogForm.h" 32 #include "ui_ParameterTableWidgetForm.h" 39 m_ui(new
Ui::ParameterTableWidgetForm)
43 m_ui->m_addItemToolButton->setIcon(QIcon::fromTheme(
"list-add"));
44 m_ui->m_removeItemToolButton->setIcon(QIcon::fromTheme(
"list-remove"));
45 m_ui->m_editItemToolButton->setIcon(QIcon::fromTheme(
"preferences-system"));
61 int newrow =
m_ui->m_paramTableWidget->rowCount();
64 for(
int i = 0; i < newrow; ++i)
66 QTableWidgetItem* itemName =
m_ui->m_paramTableWidget->item(i, 0);
68 if(itemName->text().toUtf8().data() == name)
70 QTableWidgetItem* itemValue =
new QTableWidgetItem(QString::fromUtf8(value.c_str()));
71 m_ui->m_paramTableWidget->setItem(i, 1, itemValue);
78 m_ui->m_paramTableWidget->insertRow(newrow);
80 QTableWidgetItem* itemName =
new QTableWidgetItem(QString::fromUtf8(name.c_str()));
81 m_ui->m_paramTableWidget->setItem(newrow, 0, itemName);
83 QTableWidgetItem* itemValue =
new QTableWidgetItem(QString::fromUtf8(value.c_str()));
84 m_ui->m_paramTableWidget->setItem(newrow, 1, itemValue);
86 m_ui->m_paramTableWidget->resizeRowsToContents();
87 m_ui->m_paramTableWidget->resizeColumnToContents(0);
92 std::map<std::string, std::string> kvpairs;
94 if(
m_ui->m_paramTableWidget->columnCount() < 2)
95 throw Exception(
TE_TR(
"Can not get key-value pairs from a table with less than 2 columns!"));
97 int nrows =
m_ui->m_paramTableWidget->rowCount();
99 for(
int i = 0; i < nrows; ++i)
101 QTableWidgetItem* itemName =
m_ui->m_paramTableWidget->item(i, 0);
103 QTableWidgetItem* itemValue =
m_ui->m_paramTableWidget->item(i, 1);
105 kvpairs[itemName->text().toUtf8().data()] = itemValue->text().toUtf8().data();
113 std::string parameters;
115 if (
m_ui->m_paramTableWidget->columnCount() < 2)
116 throw Exception(
TE_TR(
"Can not get key-value pairs from a table with less than 2 columns!"));
118 int nrows =
m_ui->m_paramTableWidget->rowCount();
120 for (
int i = 0; i < nrows; ++i)
122 QTableWidgetItem* itemName =
m_ui->m_paramTableWidget->item(i, 0);
124 QTableWidgetItem* itemValue =
m_ui->m_paramTableWidget->item(i, 1);
126 parameters += std::string(itemName->text().toUtf8().data()) +
"=" + std::string(itemValue->text().toUtf8().data()) +
"&";
136 pdialog->setWindowTitle(tr(
"Add new parameter"));
138 int retval = pdialog->exec();
140 if(retval == QDialog::Rejected)
143 int newrow =
m_ui->m_paramTableWidget->rowCount();
145 m_ui->m_paramTableWidget->insertRow(newrow);
147 QTableWidgetItem* itemName =
new QTableWidgetItem(pdialog->getName());
148 m_ui->m_paramTableWidget->setItem(newrow, 0, itemName);
150 QTableWidgetItem* itemValue =
new QTableWidgetItem(pdialog->getValue());
151 m_ui->m_paramTableWidget->setItem(newrow, 1, itemValue);
153 m_ui->m_paramTableWidget->resizeRowsToContents();
154 m_ui->m_paramTableWidget->resizeColumnToContents(0);
159 int row =
m_ui->m_paramTableWidget->currentRow();
162 m_ui->m_paramTableWidget->removeRow(row);
164 m_ui->m_paramTableWidget->resizeRowsToContents();
165 m_ui->m_paramTableWidget->resizeColumnToContents(0);
170 int row =
m_ui->m_paramTableWidget->currentRow();
177 pdialog->setWindowTitle(tr(
"Edit parameter"));
179 QTableWidgetItem* itemName =
m_ui->m_paramTableWidget->item(row, 0);
181 if(itemName !=
nullptr)
182 pdialog->setName(itemName->text());
184 QTableWidgetItem* itemValue =
m_ui->m_paramTableWidget->item(row, 1);
186 if(itemValue !=
nullptr)
187 pdialog->setValue(itemValue->text());
189 int retval = pdialog->exec();
191 if(retval == QDialog::Rejected)
194 itemName->setText(pdialog->getName());
195 itemValue->setText(pdialog->getValue());
197 m_ui->m_paramTableWidget->update();
199 m_ui->m_paramTableWidget->resizeRowsToContents();
200 m_ui->m_paramTableWidget->resizeColumnToContents(0);
Base exception class for plugin module.
#define TE_TR(message)
It marks a string in order to get translated.
A dialog to be used as input of key/value pairs.