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>
|
<Patches>
|
||||||
<Patch level="1">kate-17.04.0-allow-root.patch</Patch>
|
<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">kwrite-17.04.0-allow-root.patch</Patch>
|
||||||
|
<Patch level="1">e002696b.patch</Patch>
|
||||||
|
<Patch level="1">36ede44f.patch</Patch>
|
||||||
</Patches>
|
</Patches>
|
||||||
</Source>
|
</Source>
|
||||||
|
|
||||||
@@ -99,6 +101,13 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<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">
|
<Update release="43">
|
||||||
<Date>2022-05-17</Date>
|
<Date>2022-05-17</Date>
|
||||||
<Version>22.04.1</Version>
|
<Version>22.04.1</Version>
|
||||||
|
|||||||
Reference in New Issue
Block a user