kate rebuild
This commit is contained in:
@@ -0,0 +1,153 @@
|
||||
From 36ede44fc7bef479e94f76121309a900bee2b29f Mon Sep 17 00:00:00 2001
|
||||
From: Christoph Cullmann <cullmann@kde.org>
|
||||
Date: Mon, 16 May 2022 19:49:02 +0200
|
||||
Subject: [PATCH] Revert "Create filebrowser on demand"
|
||||
|
||||
This reverts commit 7caed2681d18d9ea08c35f160e88fb44a2e52769.
|
||||
|
||||
BUG: 453795
|
||||
|
||||
revert full lazy loading, doesn't work this way
|
||||
---
|
||||
addons/filebrowser/katefilebrowser.cpp | 2 -
|
||||
addons/filebrowser/katefilebrowserplugin.cpp | 41 ++++++--------------
|
||||
addons/filebrowser/katefilebrowserplugin.h | 14 +++----
|
||||
3 files changed, 18 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/addons/filebrowser/katefilebrowser.cpp b/addons/filebrowser/katefilebrowser.cpp
|
||||
index 54c1fa1fb..a1e5e4eba 100644
|
||||
--- a/addons/filebrowser/katefilebrowser.cpp
|
||||
+++ b/addons/filebrowser/katefilebrowser.cpp
|
||||
@@ -115,8 +115,6 @@ KateFileBrowser::KateFileBrowser(KTextEditor::MainWindow *mainWindow, QWidget *p
|
||||
connect(m_mainWindow, &KTextEditor::MainWindow::viewChanged, this, &KateFileBrowser::autoSyncFolder);
|
||||
|
||||
connect(m_dirOperator, &KDirOperator::contextMenuAboutToShow, this, &KateFileBrowser::contextMenuAboutToShow);
|
||||
-
|
||||
- autoSyncFolder();
|
||||
}
|
||||
|
||||
KateFileBrowser::~KateFileBrowser()
|
||||
diff --git a/addons/filebrowser/katefilebrowserplugin.cpp b/addons/filebrowser/katefilebrowserplugin.cpp
|
||||
index f03c78698..3e415b025 100644
|
||||
--- a/addons/filebrowser/katefilebrowserplugin.cpp
|
||||
+++ b/addons/filebrowser/katefilebrowserplugin.cpp
|
||||
@@ -52,10 +52,7 @@ KTextEditor::ConfigPage *KateFileBrowserPlugin::configPage(int number, QWidget *
|
||||
if (number != 0) {
|
||||
return nullptr;
|
||||
}
|
||||
- if (!m_views[0]->m_fileBrowser) {
|
||||
- m_views[0]->createFileBrowser(true);
|
||||
- }
|
||||
- return new KateFileBrowserConfigPage(parent, m_views[0]->m_fileBrowser.get());
|
||||
+ return new KateFileBrowserConfigPage(parent, m_views[0]->m_fileBrowser);
|
||||
}
|
||||
// END KateFileBrowserPlugin
|
||||
|
||||
@@ -67,50 +64,34 @@ KateFileBrowserPluginView::KateFileBrowserPluginView(KTextEditor::Plugin *plugin
|
||||
KTextEditor::MainWindow::Left,
|
||||
QIcon::fromTheme(QStringLiteral("document-open")),
|
||||
i18n("Filesystem")))
|
||||
+ , m_fileBrowser(new KateFileBrowser(mainWindow, m_toolView))
|
||||
, m_mainWindow(mainWindow)
|
||||
{
|
||||
m_toolView->installEventFilter(this);
|
||||
- connect(m_toolView.get(), SIGNAL(toolVisibleChanged(bool)), this, SLOT(createFileBrowser(bool)));
|
||||
}
|
||||
|
||||
-void KateFileBrowserPluginView::readSessionConfig(const KConfigGroup &config)
|
||||
+KateFileBrowserPluginView::~KateFileBrowserPluginView()
|
||||
{
|
||||
- if (m_fileBrowser) {
|
||||
- m_fileBrowser->readSessionConfig(config);
|
||||
- } else {
|
||||
- cg.reset(new KConfigGroup(config));
|
||||
- }
|
||||
+ // cleanup, kill toolview + console
|
||||
+ delete m_fileBrowser->parentWidget();
|
||||
}
|
||||
|
||||
-void KateFileBrowserPluginView::writeSessionConfig(KConfigGroup &config)
|
||||
+void KateFileBrowserPluginView::readSessionConfig(const KConfigGroup &config)
|
||||
{
|
||||
- if (m_fileBrowser) {
|
||||
- m_fileBrowser->writeSessionConfig(config);
|
||||
- }
|
||||
+ m_fileBrowser->readSessionConfig(config);
|
||||
}
|
||||
|
||||
-void KateFileBrowserPluginView::createFileBrowser(bool visible)
|
||||
+void KateFileBrowserPluginView::writeSessionConfig(KConfigGroup &config)
|
||||
{
|
||||
- if (!visible) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- // we must not have a filebrowser
|
||||
- Q_ASSERT(!m_fileBrowser);
|
||||
-
|
||||
- disconnect(m_toolView.get(), SIGNAL(toolVisibleChanged(bool)), this, SLOT(createFileBrowser(bool)));
|
||||
- m_fileBrowser = std::make_unique<KateFileBrowser>(m_mainWindow, m_toolView.get());
|
||||
- m_fileBrowser->readSessionConfig(*cg);
|
||||
- // delete the config now
|
||||
- cg.reset();
|
||||
+ m_fileBrowser->writeSessionConfig(config);
|
||||
}
|
||||
|
||||
bool KateFileBrowserPluginView::eventFilter(QObject *obj, QEvent *event)
|
||||
{
|
||||
if (event->type() == QEvent::KeyPress) {
|
||||
QKeyEvent *ke = static_cast<QKeyEvent *>(event);
|
||||
- if ((obj == m_toolView.get()) && (ke->key() == Qt::Key_Escape)) {
|
||||
- m_mainWindow->hideToolView(m_toolView.get());
|
||||
+ if ((obj == m_toolView) && (ke->key() == Qt::Key_Escape)) {
|
||||
+ m_mainWindow->hideToolView(m_toolView);
|
||||
event->accept();
|
||||
return true;
|
||||
}
|
||||
diff --git a/addons/filebrowser/katefilebrowserplugin.h b/addons/filebrowser/katefilebrowserplugin.h
|
||||
index 2517d3453..9fb6610c4 100644
|
||||
--- a/addons/filebrowser/katefilebrowserplugin.h
|
||||
+++ b/addons/filebrowser/katefilebrowserplugin.h
|
||||
@@ -11,15 +11,12 @@
|
||||
#ifndef KATE_FILEBROWSER_PLUGIN_H
|
||||
#define KATE_FILEBROWSER_PLUGIN_H
|
||||
|
||||
-#include <KConfigGroup>
|
||||
#include <KTextEditor/SessionConfigInterface>
|
||||
#include <ktexteditor/configpage.h>
|
||||
#include <ktexteditor/document.h>
|
||||
#include <ktexteditor/mainwindow.h>
|
||||
#include <ktexteditor/plugin.h>
|
||||
|
||||
-#include <memory>
|
||||
-
|
||||
class KateFileBrowser;
|
||||
class KateFileBrowserPluginView;
|
||||
|
||||
@@ -56,16 +53,19 @@ public:
|
||||
*/
|
||||
KateFileBrowserPluginView(KTextEditor::Plugin *plugin, KTextEditor::MainWindow *mainWindow);
|
||||
|
||||
+ /**
|
||||
+ * Virtual destructor.
|
||||
+ */
|
||||
+ ~KateFileBrowserPluginView() override;
|
||||
+
|
||||
void readSessionConfig(const KConfigGroup &config) override;
|
||||
void writeSessionConfig(KConfigGroup &config) override;
|
||||
|
||||
private:
|
||||
bool eventFilter(QObject *, QEvent *) override;
|
||||
- Q_SLOT void createFileBrowser(bool visible);
|
||||
|
||||
- std::unique_ptr<QWidget> m_toolView;
|
||||
- std::unique_ptr<KateFileBrowser> m_fileBrowser = nullptr;
|
||||
- std::unique_ptr<KConfigGroup> cg;
|
||||
+ QWidget *m_toolView;
|
||||
+ KateFileBrowser *m_fileBrowser;
|
||||
KTextEditor::MainWindow *m_mainWindow;
|
||||
friend class KateFileBrowserPlugin;
|
||||
};
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From e002696b0673dff7ec9584e00b1546d2f850121c Mon Sep 17 00:00:00 2001
|
||||
From: Christoph Cullmann <cullmann@kde.org>
|
||||
Date: Mon, 16 May 2022 19:47:04 +0200
|
||||
Subject: [PATCH] Revert "fix crash on file browser activation"
|
||||
|
||||
This reverts commit a28624c877cfe6db6ae6ab257f95af36213b25e0.
|
||||
|
||||
=> this fix is not enough, the KConfigGroup is just not valid anymore here
|
||||
in some cases
|
||||
|
||||
BUG: 453795
|
||||
---
|
||||
addons/filebrowser/katefilebrowserplugin.cpp | 9 +++------
|
||||
1 file changed, 3 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/addons/filebrowser/katefilebrowserplugin.cpp b/addons/filebrowser/katefilebrowserplugin.cpp
|
||||
index 6df25239a..f03c78698 100644
|
||||
--- a/addons/filebrowser/katefilebrowserplugin.cpp
|
||||
+++ b/addons/filebrowser/katefilebrowserplugin.cpp
|
||||
@@ -100,12 +100,9 @@ void KateFileBrowserPluginView::createFileBrowser(bool visible)
|
||||
|
||||
disconnect(m_toolView.get(), SIGNAL(toolVisibleChanged(bool)), this, SLOT(createFileBrowser(bool)));
|
||||
m_fileBrowser = std::make_unique<KateFileBrowser>(m_mainWindow, m_toolView.get());
|
||||
-
|
||||
- // read config only if there yet, see bug 453234
|
||||
- if (cg) {
|
||||
- m_fileBrowser->readSessionConfig(*cg);
|
||||
- cg.reset();
|
||||
- }
|
||||
+ m_fileBrowser->readSessionConfig(*cg);
|
||||
+ // delete the config now
|
||||
+ cg.reset();
|
||||
}
|
||||
|
||||
bool KateFileBrowserPluginView::eventFilter(QObject *obj, QEvent *event)
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -45,6 +45,8 @@
|
||||
<Patches>
|
||||
<Patch level="1">kate-17.04.0-allow-root.patch</Patch>
|
||||
<Patch level="1">kwrite-17.04.0-allow-root.patch</Patch>
|
||||
<Patch level="1">e002696b.patch</Patch>
|
||||
<Patch level="1">36ede44f.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
@@ -99,6 +101,13 @@
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="44">
|
||||
<Date>2022-05-25</Date>
|
||||
<Version>22.04.1</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnsl@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="43">
|
||||
<Date>2022-05-17</Date>
|
||||
<Version>22.04.1</Version>
|
||||
|
||||
Reference in New Issue
Block a user