77 lines
2.7 KiB
Diff
77 lines
2.7 KiB
Diff
|
From 291b68994d7c6176dbc1983c956e2bb7135559e0 Mon Sep 17 00:00:00 2001
|
||
|
From: Sven Brauch <mail@svenbrauch.de>
|
||
|
Date: Wed, 13 Jun 2018 17:25:20 +0200
|
||
|
Subject: Fix QuickOpen with Qt 5.11
|
||
|
|
||
|
It remains to be investigated whether this is a regression in Qt
|
||
|
itself, or misuse of the API on our side. There is at least one
|
||
|
misuse (the call to mapFromSource) which is wrong in the old version,
|
||
|
so this patch improves the situation in either case.
|
||
|
|
||
|
Differential Revision: https://phabricator.kde.org/D13517
|
||
|
BUG:395039
|
||
|
---
|
||
|
kate/katequickopen.cpp | 21 +++++++--------------
|
||
|
1 file changed, 7 insertions(+), 14 deletions(-)
|
||
|
|
||
|
diff --git a/kate/katequickopen.cpp b/kate/katequickopen.cpp
|
||
|
index 9e2536a..48452d1 100644
|
||
|
--- a/kate/katequickopen.cpp
|
||
|
+++ b/kate/katequickopen.cpp
|
||
|
@@ -147,7 +147,7 @@ void KateQuickOpen::update()
|
||
|
/**
|
||
|
* new base mode creation
|
||
|
*/
|
||
|
- QStandardItemModel *base_model = new QStandardItemModel(0, 2, this);
|
||
|
+ m_base_model->clear();
|
||
|
|
||
|
/**
|
||
|
* remember local file names to avoid dupes with project files
|
||
|
@@ -186,8 +186,8 @@ void KateQuickOpen::update()
|
||
|
|
||
|
QStandardItem *itemUrl = new QStandardItem(doc->url().toString());
|
||
|
itemUrl->setEditable(false);
|
||
|
- base_model->setItem(linecount, 0, itemName);
|
||
|
- base_model->setItem(linecount, 1, itemUrl);
|
||
|
+ m_base_model->setItem(linecount, 0, itemName);
|
||
|
+ m_base_model->setItem(linecount, 1, itemUrl);
|
||
|
linecount++;
|
||
|
|
||
|
if (!doc->url().isEmpty() && doc->url().isLocalFile()) {
|
||
|
@@ -224,8 +224,8 @@ void KateQuickOpen::update()
|
||
|
|
||
|
QStandardItem *itemUrl = new QStandardItem(doc->url().toString());
|
||
|
itemUrl->setEditable(false);
|
||
|
- base_model->setItem(linecount, 0, itemName);
|
||
|
- base_model->setItem(linecount, 1, itemUrl);
|
||
|
+ m_base_model->setItem(linecount, 0, itemName);
|
||
|
+ m_base_model->setItem(linecount, 1, itemUrl);
|
||
|
linecount++;
|
||
|
|
||
|
if (!doc->url().isEmpty() && doc->url().isLocalFile()) {
|
||
|
@@ -255,19 +255,12 @@ void KateQuickOpen::update()
|
||
|
|
||
|
QStandardItem *itemUrl = new QStandardItem(file);
|
||
|
itemUrl->setEditable(false);
|
||
|
- base_model->setItem(linecount, 0, itemName);
|
||
|
- base_model->setItem(linecount, 1, itemUrl);
|
||
|
+ m_base_model->setItem(linecount, 0, itemName);
|
||
|
+ m_base_model->setItem(linecount, 1, itemUrl);
|
||
|
linecount++;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
- /**
|
||
|
- * swap models and kill old one
|
||
|
- */
|
||
|
- m_model->setSourceModel(base_model);
|
||
|
- delete m_base_model;
|
||
|
- m_base_model = base_model;
|
||
|
-
|
||
|
if (idxToSelect.isValid()) {
|
||
|
m_listView->setCurrentIndex(m_model->mapFromSource(idxToSelect));
|
||
|
} else {
|
||
|
--
|
||
|
cgit v0.11.2
|
||
|
|