|
@@ -1,6 +1,7 @@
|
|
|
#include "ConfigSchemeDataWidget.h"
|
|
|
|
|
|
#include "ProjectManager.h"
|
|
|
+#include "common/QFDIcon.h"
|
|
|
|
|
|
#include <dbService/SchemeInfoService.h>
|
|
|
|
|
@@ -131,9 +132,27 @@ void ConfigSchemeDataWidget::refreshList()
|
|
|
{
|
|
|
m_listWidget->clear();
|
|
|
|
|
|
- for (SchemaEval *eval : m_schemeList) {
|
|
|
- QListWidgetItem *item = new QListWidgetItem(eval->name);
|
|
|
+ for (int i = 0; i < m_schemeList.size(); ++i) {
|
|
|
+ SchemaEval *eval = m_schemeList[i];
|
|
|
+
|
|
|
+ QLabel *title = new QLabel;
|
|
|
+ title->setText(eval->name);
|
|
|
+
|
|
|
+ QPushButton *remove = new QPushButton(NEWFLICON(QFDIcon, Minus)->icon(), "", this);
|
|
|
+ remove->setFixedSize(QSize(25, 25));
|
|
|
+ remove->setIconSize(QSize(10, 10));
|
|
|
+ remove->setToolTip("删除");
|
|
|
+ connect(remove, &QPushButton::clicked, [this, i](int) { slotRemoveDataClicked(i); });
|
|
|
+
|
|
|
+ QWidget *w = new QWidget;
|
|
|
+ QHBoxLayout *lay = new QHBoxLayout(w);
|
|
|
+ lay->addWidget(title);
|
|
|
+ lay->addStretch();
|
|
|
+ lay->addWidget(remove);
|
|
|
+
|
|
|
+ QListWidgetItem *item = new QListWidgetItem;
|
|
|
m_listWidget->addItem(item);
|
|
|
+ m_listWidget->setItemWidget(item, w);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -162,3 +181,17 @@ void ConfigSchemeDataWidget::slotSelectedChanged()
|
|
|
pixmap = pixmap.scaled(m_pic->width(), m_pic->height(), Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation);
|
|
|
m_pic->setPixmap(pixmap);
|
|
|
}
|
|
|
+
|
|
|
+void ConfigSchemeDataWidget::slotRemoveDataClicked(int index)
|
|
|
+{
|
|
|
+ bool ret = SchemeInfoService().deleteScheme(m_schemeList[index]->id);
|
|
|
+ if (ret) {
|
|
|
+ m_schemeList.removeAt(index);
|
|
|
+ refreshList();
|
|
|
+ emit sigDeleteScheme();
|
|
|
+
|
|
|
+ if (m_schemeList.size() > 0) {
|
|
|
+ selectFirst();
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|