dynamic lexer list
This commit is contained in:
@@ -114,11 +114,16 @@ void MainWindow::setupActions()
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
for (const QChar & group : LexerGroupActionMenu::groups()) {
|
QMetaObject::invokeMethod(this, [this](){
|
||||||
LexerGroupActionMenu *lexerGroupMenu = new LexerGroupActionMenu(group.toUpper(), group, this);
|
auto lexerGroupListActions = QList<QAction*>();
|
||||||
actionCollection()->addAction(QStringLiteral("lexer_group_") % group, lexerGroupMenu);
|
for (const QChar &group : LexerGroupActionMenu::groups()) {
|
||||||
connect(lexerGroupMenu, &LexerGroupActionMenu::lexerSelected, this, &MainWindow::applyLexer);
|
auto *lexerGroupMenu = new LexerGroupActionMenu(group.toUpper(), group, this);
|
||||||
}
|
connect(lexerGroupMenu, &LexerGroupActionMenu::lexerSelected, this, &MainWindow::applyLexer);
|
||||||
|
lexerGroupListActions.append(lexerGroupMenu);
|
||||||
|
}
|
||||||
|
unplugActionList("lexer_group_list");
|
||||||
|
plugActionList(QStringLiteral("lexer_group_list"), lexerGroupListActions);
|
||||||
|
}, Qt::QueuedConnection);
|
||||||
|
|
||||||
// Toolbar actions
|
// Toolbar actions
|
||||||
KStandardAction::zoomIn(this, [this](){
|
KStandardAction::zoomIn(this, [this](){
|
||||||
|
|||||||
@@ -33,29 +33,7 @@ Template: https://github.com/KDE/kxmlgui/blob/master/src/ui_standards.rc
|
|||||||
<Menu name="language"><text>&Language</text>
|
<Menu name="language"><text>&Language</text>
|
||||||
<Action name="lexer_none" />
|
<Action name="lexer_none" />
|
||||||
<Separator/>
|
<Separator/>
|
||||||
<!-- FIXME: those lexer_group_ actions should be exclude from Edit ToolBar dialog -->
|
<ActionList name="lexer_group_list" />
|
||||||
<Action name="lexer_group_a" />
|
|
||||||
<Action name="lexer_group_b" />
|
|
||||||
<Action name="lexer_group_c" />
|
|
||||||
<Action name="lexer_group_d" />
|
|
||||||
<Action name="lexer_group_e" />
|
|
||||||
<Action name="lexer_group_f" />
|
|
||||||
<Action name="lexer_group_g" />
|
|
||||||
<Action name="lexer_group_h" />
|
|
||||||
<Action name="lexer_group_i" />
|
|
||||||
<Action name="lexer_group_j" />
|
|
||||||
<Action name="lexer_group_k" />
|
|
||||||
<Action name="lexer_group_l" />
|
|
||||||
<Action name="lexer_group_m" />
|
|
||||||
<Action name="lexer_group_n" />
|
|
||||||
<Action name="lexer_group_o" />
|
|
||||||
<Action name="lexer_group_p" />
|
|
||||||
<Action name="lexer_group_r" />
|
|
||||||
<Action name="lexer_group_s" />
|
|
||||||
<Action name="lexer_group_t" />
|
|
||||||
<Action name="lexer_group_v" />
|
|
||||||
<Action name="lexer_group_x" />
|
|
||||||
<Action name="lexer_group_y" />
|
|
||||||
</Menu>
|
</Menu>
|
||||||
<Menu name="settings">
|
<Menu name="settings">
|
||||||
<Action name="colorscheme_menu"/>
|
<Action name="colorscheme_menu"/>
|
||||||
|
|||||||
Reference in New Issue
Block a user