dynamic lexer list
This commit is contained in:
@@ -114,11 +114,16 @@ void MainWindow::setupActions()
|
||||
}
|
||||
});
|
||||
|
||||
for (const QChar & group : LexerGroupActionMenu::groups()) {
|
||||
LexerGroupActionMenu *lexerGroupMenu = new LexerGroupActionMenu(group.toUpper(), group, this);
|
||||
actionCollection()->addAction(QStringLiteral("lexer_group_") % group, lexerGroupMenu);
|
||||
connect(lexerGroupMenu, &LexerGroupActionMenu::lexerSelected, this, &MainWindow::applyLexer);
|
||||
}
|
||||
QMetaObject::invokeMethod(this, [this](){
|
||||
auto lexerGroupListActions = QList<QAction*>();
|
||||
for (const QChar &group : LexerGroupActionMenu::groups()) {
|
||||
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
|
||||
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>
|
||||
<Action name="lexer_none" />
|
||||
<Separator/>
|
||||
<!-- FIXME: those lexer_group_ actions should be exclude from Edit ToolBar dialog -->
|
||||
<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" />
|
||||
<ActionList name="lexer_group_list" />
|
||||
</Menu>
|
||||
<Menu name="settings">
|
||||
<Action name="colorscheme_menu"/>
|
||||
|
||||
Reference in New Issue
Block a user