PIValueTreeEdit individual grouping feature

This commit is contained in:
2022-12-26 14:09:40 +03:00
parent fe2a8077a4
commit 08f253eb09
9 changed files with 200 additions and 71 deletions

View File

@@ -3,7 +3,9 @@
#include "piqt.h"
#include "qad_locations.h"
#include <QActionGroup>
#include <QFileInfo>
#include <QMetaEnum>
#include <pifile.h>
#include <pijson.h>
#include <pivaluetree.h>
@@ -15,7 +17,19 @@ MainWindow::MainWindow(QWidget * parent): EMainWindow(parent), Ui::MainWindow()
session.setFile(QAD::userPath(QAD::ltConfig, "session_valuetreeeditor"));
session.addEntry(this);
session.load();
widget->setGroupingEnabled(actionGrouping->isChecked());
auto * ag = new QActionGroup(this);
ag->setExclusive(true);
connect(ag, &QActionGroup::triggered, [this](QAction * a) { widget->setGrouping((PIValueTreeEdit::Grouping)a->data().toInt()); });
auto mo = PIValueTreeEdit::staticMetaObject;
auto me = mo.enumerator(mo.indexOfEnumerator("Grouping"));
for (int i = 0; i < me.keyCount(); ++i) {
if (me.value(i) == PIValueTreeEdit::Parent) continue;
auto * a = ag->addAction(me.key(i));
a->setCheckable(true);
a->setData(me.value(i));
if (me.value(i) == PIValueTreeEdit::Indent) a->setChecked(true);
}
menuView->addActions(ag->actions());
widget->setFullEditMode(actionFull_edit_mode->isChecked());
}
@@ -80,11 +94,6 @@ QString MainWindow::loadFilter() {
}
void MainWindow::on_actionGrouping_toggled(bool on) {
widget->setGroupingEnabled(on);
}
void MainWindow::on_actionFull_edit_mode_toggled(bool on) {
widget->setFullEditMode(on);
}