summaryrefslogtreecommitdiff
path: root/utils/themeeditor/gui/editorwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor/gui/editorwindow.cpp')
-rw-r--r--utils/themeeditor/gui/editorwindow.cpp29
1 files changed, 22 insertions, 7 deletions
diff --git a/utils/themeeditor/gui/editorwindow.cpp b/utils/themeeditor/gui/editorwindow.cpp
index 171e7b7..169dc3f 100644
--- a/utils/themeeditor/gui/editorwindow.cpp
+++ b/utils/themeeditor/gui/editorwindow.cpp
@@ -506,13 +506,22 @@ void EditorWindow::updateCurrent()
void EditorWindow::lineChanged(int line)
{
+ QSettings settings;
+ settings.beginGroup("EditorWindow");
+
+ if(settings.value("autoExpandTree", false).toBool())
+ {
ui->parseTree->collapseAll();
ParseTreeModel* model = dynamic_cast<ParseTreeModel*>
(ui->parseTree->model());
parseTreeSelection = new QItemSelectionModel(model);
- expandLine(model, QModelIndex(), line);
+ expandLine(model, QModelIndex(), line,
+ settings.value("autoHighlightTree", false).toBool());
sizeColumns();
ui->parseTree->setSelectionModel(parseTreeSelection);
+ }
+
+ settings.endGroup();
}
void EditorWindow::undo()
@@ -566,7 +575,7 @@ void EditorWindow::findReplace()
void EditorWindow::expandLine(ParseTreeModel* model, QModelIndex parent,
- int line)
+ int line, bool highlight)
{
for(int i = 0; i < model->rowCount(parent); i++)
{
@@ -577,7 +586,7 @@ void EditorWindow::expandLine(ParseTreeModel* model, QModelIndex parent,
QModelIndex data = model->index(i, ParseTreeModel::lineColumn, parent);
QModelIndex recurse = model->index(i, 0, parent);
- expandLine(model, recurse, line);
+ expandLine(model, recurse, line, highlight);
if(model->data(data, Qt::DisplayRole) == line)
{
@@ -585,12 +594,18 @@ void EditorWindow::expandLine(ParseTreeModel* model, QModelIndex parent,
ui->parseTree->expand(data);
ui->parseTree->scrollTo(parent, QAbstractItemView::PositionAtTop);
- parseTreeSelection->select(data, QItemSelectionModel::Select);
- parseTreeSelection->select(dataType, QItemSelectionModel::Select);
- parseTreeSelection->select(dataVal, QItemSelectionModel::Select);
+ if(highlight)
+ {
+ parseTreeSelection->select(data,
+ QItemSelectionModel::Select);
+ parseTreeSelection->select(dataType,
+ QItemSelectionModel::Select);
+ parseTreeSelection->select(dataVal,
+ QItemSelectionModel::Select);
+ }
}
-
}
+
}
void EditorWindow::sizeColumns()