mirror of
https://github.com/KDE/konsole.git
synced 2025-12-23 23:38:08 -05:00
WIP: Use KTextEditor for writing scripts
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
|
||||
ki18n_wrap_ui(EXTRA_QUICKCOMMANDSPLUGIN_SRCS qcwidget.ui)
|
||||
|
||||
find_package(KF5 ${KF5_MIN_VERSION} REQUIRED TextEditor)
|
||||
|
||||
kcoreaddons_add_plugin(konsole_quickcommandsplugin
|
||||
SOURCES
|
||||
quickcommandsplugin.cpp
|
||||
@@ -15,4 +17,5 @@ INSTALL_NAMESPACE
|
||||
target_link_libraries(konsole_quickcommandsplugin
|
||||
konsoleprivate
|
||||
konsoleapp
|
||||
KF5::TextEditor
|
||||
)
|
||||
|
||||
@@ -19,6 +19,11 @@
|
||||
#include <kmessagebox.h>
|
||||
#include <kstandardguiitem.h>
|
||||
|
||||
#include <KTextEditor/Document>
|
||||
#include <KTextEditor/Editor>
|
||||
#include <KTextEditor/View>
|
||||
#include <KTextEditor/ConfigInterface>
|
||||
|
||||
struct QuickCommandsWidget::Private {
|
||||
QuickCommandsModel *model = nullptr;
|
||||
FilterModel *filterModel = nullptr;
|
||||
@@ -54,6 +59,13 @@ QuickCommandsWidget::QuickCommandsWidget(QWidget *parent)
|
||||
priv->filterModel->invalidate();
|
||||
});
|
||||
|
||||
auto doc = KTextEditor::Editor::instance()->createDocument(this);
|
||||
auto view = doc->createView(this);
|
||||
auto ciface = qobject_cast<KTextEditor::ConfigInterface*>(view);
|
||||
ciface->setConfigValue(QStringLiteral("line-numbers"), true);
|
||||
ciface->setConfigValue(QStringLiteral("modification-markers"), true);
|
||||
ui->tabWidget->insertTab(0, view, i18n("Command"));
|
||||
|
||||
ui->commandsTreeView->setModel(priv->filterModel);
|
||||
ui->commandsTreeView->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(ui->commandsTreeView, &QTreeView::doubleClicked, this, &QuickCommandsWidget::invokeCommand);
|
||||
|
||||
Reference in New Issue
Block a user