small changes

This commit is contained in:
2023-01-09 15:42:12 +03:00
parent 08f253eb09
commit 10d63e05fe
6 changed files with 114 additions and 3 deletions

View File

@@ -3,7 +3,7 @@ cmake_policy(SET CMP0017 NEW) # need include() with .cmake
cmake_policy(SET CMP0072 NEW) # FindOpenGL prefers GLVND by default
project(QAD)
set(QAD_MAJOR 2)
set(QAD_MINOR 11)
set(QAD_MINOR 12)
set(QAD_REVISION 0)
set(QAD_SUFFIX )
set(QAD_COMPANY SHS)

View File

@@ -94,6 +94,11 @@ void PIValueTreeEdit::retranslate() {
for (const auto & i: label_labels) {
i.second->setText(PIVariantEditorBase::vtTr(i.first));
}
if (tab_widget) {
for (int i = 0; i < tab_widget->count(); ++i) {
tab_widget->setTabText(i, PIVariantEditorBase::vtTr(Q2PIString(tab_widget->tabBar()->tabData(i).toString())));
}
}
grid->retranslate();
}
@@ -345,7 +350,7 @@ PIValueTreeEdit * PIValueTreeEdit::addTreeEdit(const PIValueTree & vt) {
rp << vt.name();
ve->root_path = rp;
ve->parent_tree = this;
ve->setGrouping((Grouping)vt.attribute(Attribute::grouping, Parent).toInt());
ve->setGrouping((Grouping)vt.attribute(Attribute::grouping, Parent).toEnum().selectedValue());
ve->setFullEditMode(is_full_edit);
ve->setValue(vt);
switch (real_grouping) {

View File

@@ -21,6 +21,7 @@ REGISTER_PIVARIANTEDITOR(uint, PIVariantEditors::Int);
REGISTER_PIVARIANTEDITOR(float, PIVariantEditors::Double);
REGISTER_PIVARIANTEDITOR(double, PIVariantEditors::Double);
REGISTER_PIVARIANTEDITOR(PIString, PIVariantEditors::String);
REGISTER_PIVARIANTEDITOR(PIStringList, PIVariantEditors::StringList);
REGISTER_PIVARIANTEDITOR(PITime, PIVariantEditors::Time);
REGISTER_PIVARIANTEDITOR(PIDate, PIVariantEditors::Date);
REGISTER_PIVARIANTEDITOR(PIDateTime, PIVariantEditors::DateTime);
@@ -275,6 +276,92 @@ void PIVariantEditors::String::applyAttributes(const PIVariantMap & a) {
}
// PIVariantEditors::StringList
PIVariantEditors::StringList::StringList() {
combo = new EComboBox(this);
combo->setEditable(true);
combo->setLineEdit(new CLineEdit);
combo->setInsertPolicy(QComboBox::NoInsert);
layout()->setContentsMargins(0, 0, 0, 0);
layout()->addWidget(combo);
auto newButton = [this](QString icon, QString tooltip) {
auto * b = new QToolButton(this);
b->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
b->setIcon(QIcon(icon));
b->setToolTip(tooltip);
layout()->addWidget(b);
return b;
};
butt_apply = newButton(":/icons/list-edit-apply.png", tr("Apply"));
butt_add = newButton(":/icons/list-add.png", tr("Add"));
butt_del = newButton(":/icons/list-remove.png", tr("Remove"));
butt_clear = newButton(":/icons/edit-clear.png", tr("Clear"));
connect(combo->lineEdit(), SIGNAL(returnPressed()), butt_apply, SLOT(click()));
connect(butt_apply, &QToolButton::clicked, [this]() {
int ci = combo->currentIndex();
if (ci < 0) return;
combo->setItemText(ci, combo->currentText());
});
connect(butt_add, &QToolButton::clicked, [this]() { combo->addItem(combo->currentText()); });
connect(butt_del, &QToolButton::clicked, [this]() {
if (combo->currentIndex() < 0) return;
combo->removeItem(combo->currentIndex());
});
connect(butt_clear, &QToolButton::clicked, [this]() {
if (QMessageBox::question(nullptr, tr("Clear All"), tr("Clear All?"), QMessageBox::Ok, QMessageBox::Cancel) == QMessageBox::Ok)
setValue(PIStringList());
});
}
void PIVariantEditors::StringList::setValue(const PIVariant & v) {
int pi = combo->currentIndex();
combo->clear();
combo->addItems(PI2QStringList(v.toStringList()));
if (combo->count() > 0) {
if (pi < combo->count() && pi >= 0) {
combo->setCurrentIndex(pi);
} else {
combo->setCurrentIndex(0);
}
}
}
PIVariant PIVariantEditors::StringList::value() const {
QStringList l;
for (int i = 0; i < combo->count(); ++i)
l << combo->itemText(i);
return Q2PIStringList(l);
}
PIVariantMap PIVariantEditors::StringList::attributes() const {
return {
{Attribute::readOnly, !combo->isEditable()},
};
}
void PIVariantEditors::StringList::applyAttributes(const PIVariantMap & a) {
bool ro = a.value(Attribute::readOnly, !combo->isEditable()).toBool();
combo->setEditable(!ro);
butt_apply->setEnabled(!ro);
butt_add->setEnabled(!ro);
butt_del->setEnabled(!ro);
butt_clear->setEnabled(!ro);
}
void PIVariantEditors::StringList::retranslate() {
butt_apply->setToolTip(tr("Apply"));
butt_add->setToolTip(tr("Add"));
butt_del->setToolTip(tr("Remove"));
butt_clear->setToolTip(tr("Clear"));
}
// PIVariantEditors::Color
PIVariantMap PIVariantEditors::Color::attributes() const {

View File

@@ -31,6 +31,7 @@
#include <QTimeEdit>
#include <clineedit.h>
#include <colorbutton.h>
#include <ecombobox.h>
#include <piqt.h>
namespace PIVariantEditors {
@@ -126,6 +127,23 @@ private:
};
class QAD_PIQT_UTILS_EXPORT StringList: public PIVariantEditorBase {
Q_OBJECT
public:
StringList();
void setValue(const PIVariant & v) override;
PIVariant value() const override;
PIVariantMap attributes() const override;
private:
void applyAttributes(const PIVariantMap & a) override;
void retranslate() override;
EComboBox * combo;
QToolButton *butt_apply, *butt_add, *butt_del, *butt_clear;
};
class QAD_PIQT_UTILS_EXPORT Color: public PIVariantEditorBase {
Q_OBJECT

View File

@@ -3,6 +3,7 @@
<file>../../icons/configure.png</file>
<file>../../icons/border-line.png</file>
<file>../../icons/list-add.png</file>
<file>../../icons/list-remove.png</file>
<file>../../icons/code-variable.png</file>
<file>../../icons/code-struct.png</file>
<file>../../icons/code-union.png</file>

View File

@@ -40,7 +40,7 @@ QString ScrollSpinBoxPlugin::group() const {
QIcon ScrollSpinBoxPlugin::icon() const {
return QIcon();
return QIcon(":/icons/scroll_spin.png");
}