Update to upstream 5.2.0.1 hotfix release

epel9
Dan Vrátil 10 years ago
parent f3390f3f0a
commit 117bf84738

1
.gitignore vendored

@ -1,3 +1,4 @@
/kwin-5.1.1.tar.xz
/kwin-5.1.95.tar.xz
/kwin-5.2.0.tar.xz
/kwin-5.2.0.1.tar.xz

@ -1,183 +0,0 @@
From: Marco Martin <notmart@gmail.com>
Date: Wed, 28 Jan 2015 08:58:47 +0000
Subject: use xembed for the qml view of window decorations modul
X-Git-Url: http://quickgit.kde.org/?p=kwin.git&a=commitdiff&h=63885cc5b3f2922441dac0af96ed001b737e78ea
---
use xembed for the qml view of window decorations modul
the only way to ensure the view won't randomly become black
(probably QQuickwidget won't be fixed in qt anytime soon or
ever in 5.x lifetime due to how architecturally is)
basically systemsettings has no control of what gets loaded in,
if one other kcm will call winId(), this one will break.
BUG:341971
---
--- a/kcmkwin/kwindecoration/kcm.cpp
+++ b/kcmkwin/kwindecoration/kcm.cpp
@@ -36,6 +36,7 @@
#include <QQmlContext>
#include <QQmlEngine>
#include <QQuickItem>
+#include <QQuickView>
#include <QSortFilterProxyModel>
#include <QStandardPaths>
#include <QVBoxLayout>
@@ -77,21 +78,26 @@ ConfigurationModule::ConfigurationModule(QWidget *parent, const QVariantList &ar
m_proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
connect(m_ui->filter, &QLineEdit::textChanged, m_proxyModel, &QSortFilterProxyModel::setFilterFixedString);
+ m_quickView = new QQuickView(0);
KDeclarative::KDeclarative kdeclarative;
- kdeclarative.setDeclarativeEngine(m_ui->view->engine());
+ kdeclarative.setDeclarativeEngine(m_quickView->engine());
kdeclarative.setTranslationDomain(QStringLiteral(TRANSLATION_DOMAIN));
kdeclarative.setupBindings();
qmlRegisterType<QAbstractItemModel>();
- m_ui->view->rootContext()->setContextProperty(QStringLiteral("decorationsModel"), m_proxyModel);
+ QWidget *widget = QWidget::createWindowContainer(m_quickView, this);
+ QVBoxLayout* layout = new QVBoxLayout(m_ui->view);
+ layout->addWidget(widget);
+
+ m_quickView->rootContext()->setContextProperty(QStringLiteral("decorationsModel"), m_proxyModel);
updateColors();
- m_ui->view->rootContext()->setContextProperty("_borderSizesIndex", 3); // 3 is normal
- m_ui->view->rootContext()->setContextProperty("configurationModule", this);
- m_ui->view->rootContext()->setContextProperty("titleFont", QFontDatabase::systemFont(QFontDatabase::TitleFont));
- m_ui->view->setResizeMode(QQuickWidget::SizeRootObjectToView);
- m_ui->view->setSource(QUrl::fromLocalFile(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin/kcm_kwindecoration/main.qml"))));
- if (m_ui->view->status() == QQuickWidget::Ready) {
- auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView");
+ m_quickView->rootContext()->setContextProperty("_borderSizesIndex", 3); // 3 is normal
+ m_quickView->rootContext()->setContextProperty("configurationModule", this);
+ m_quickView->rootContext()->setContextProperty("titleFont", QFontDatabase::systemFont(QFontDatabase::TitleFont));
+ m_quickView->setResizeMode(QQuickView::SizeRootObjectToView);
+ m_quickView->setSource(QUrl::fromLocalFile(QStandardPaths::locate(QStandardPaths::GenericDataLocation, QStringLiteral("kwin/kcm_kwindecoration/main.qml"))));
+ if (m_quickView->status() == QQuickView::Ready) {
+ auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView");
if (listView) {
connect(listView, SIGNAL(currentIndexChanged()), this, SLOT(changed()));
}
@@ -122,7 +128,7 @@ ConfigurationModule::ConfigurationModule(QWidget *parent, const QVariantList &ar
);
connect(m_ui->borderSizesCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, [this] (int index) {
- auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView");
+ auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView");
if (listView) {
listView->setProperty("borderSizesIndex", index);
}
@@ -265,7 +271,7 @@ void ConfigurationModule::load()
const QString plugin = config.readEntry("library", s_defaultPlugin);
const QString theme = config.readEntry("theme", QString());
const QModelIndex index = m_proxyModel->mapFromSource(m_model->findDecoration(plugin, theme));
- if (auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView")) {
+ if (auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView")) {
listView->setProperty("currentIndex", index.isValid() ? index.row() : -1);
}
m_ui->closeWindowsDoubleClick->setChecked(config.readEntry("CloseOnDoubleClickOnMenu", false));
@@ -305,7 +311,7 @@ void ConfigurationModule::save()
KConfigGroup config = KSharedConfig::openConfig("kwinrc")->group(s_pluginName);
config.writeEntry("CloseOnDoubleClickOnMenu", m_ui->closeWindowsDoubleClick->isChecked());
config.writeEntry("BorderSize", sizeToString(m_ui->borderSizesCombo->currentData().value<BorderSize>()));
- if (auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView")) {
+ if (auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView")) {
const int currentIndex = listView->property("currentIndex").toInt();
if (currentIndex != -1) {
const QModelIndex index = m_proxyModel->index(currentIndex, 0);
@@ -333,7 +339,7 @@ void ConfigurationModule::save()
void ConfigurationModule::defaults()
{
- if (auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView")) {
+ if (auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView")) {
const QModelIndex index = m_proxyModel->mapFromSource(m_model->findDecoration(s_defaultPlugin));
listView->setProperty("currentIndex", index.isValid() ? index.row() : -1);
}
@@ -346,7 +352,7 @@ void ConfigurationModule::showKNS(const QString &config)
{
QPointer<KNS3::DownloadDialog> downloadDialog = new KNS3::DownloadDialog(config, this);
if (downloadDialog->exec() == QDialog::Accepted && !downloadDialog->changedEntries().isEmpty()) {
- auto listView = m_ui->view->rootObject()->findChild<QQuickItem*>("listView");
+ auto listView = m_quickView->rootObject()->findChild<QQuickItem*>("listView");
QString selectedPluginName;
QString selectedThemeName;
if (listView) {
@@ -396,8 +402,8 @@ bool ConfigurationModule::eventFilter(QObject *watched, QEvent *e)
void ConfigurationModule::updateColors()
{
- m_ui->view->setClearColor(m_ui->view->palette().color(QPalette::Window));
- m_ui->view->rootContext()->setContextProperty("highlightColor", QPalette().color(QPalette::Highlight));
+ m_quickView->rootContext()->setContextProperty("backgroundColor", QPalette().color(QPalette::Window));
+ m_quickView->rootContext()->setContextProperty("highlightColor", QPalette().color(QPalette::Highlight));
}
}
--- a/kcmkwin/kwindecoration/kcm.h
+++ b/kcmkwin/kwindecoration/kcm.h
@@ -25,6 +25,7 @@
#include <QAbstractItemModel>
class QSortFilterProxyModel;
+class QQuickView;
namespace KDecoration2
{
@@ -73,6 +74,7 @@ private:
DecorationsModel *m_model;
QSortFilterProxyModel *m_proxyModel;
ConfigurationForm *m_ui;
+ QQuickView *m_quickView;
Preview::ButtonsModel *m_leftButtons;
Preview::ButtonsModel *m_rightButtons;
Preview::ButtonsModel *m_availableButtons;
--- a/kcmkwin/kwindecoration/kcm.ui
+++ b/kcmkwin/kwindecoration/kcm.ui
@@ -39,16 +39,13 @@
</layout>
</item>
<item>
- <widget class="QQuickWidget" name="view">
+ <widget class="QWidget" name="view">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
- <property name="resizeMode">
- <enum>QQuickWidget::SizeRootObjectToView</enum>
- </property>
</widget>
</item>
<item>
--- a/kcmkwin/kwindecoration/qml/main.qml
+++ b/kcmkwin/kwindecoration/qml/main.qml
@@ -21,12 +21,16 @@ import QtQuick 2.1
import QtQuick.Controls 1.2
import QtQuick.Layouts 1.1
-ColumnLayout {
- Previews {
- Layout.fillWidth: true
- Layout.fillHeight: true
- }
- Buttons {
- Layout.fillWidth: true
+Rectangle {
+ color: backgroundColor
+ ColumnLayout {
+ anchors.fill: parent
+ Previews {
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ }
+ Buttons {
+ Layout.fillWidth: true
+ }
}
}

@ -2,10 +2,11 @@
# NOTE: Does not build on F20 due to too old Wayland and requires kf5-kwayland,
# which is not available in Fedora yet
%global wayland 0
%global plasma_version 5.2.0
Name: kwin
Version: 5.2.0
Release: 3%{?dist}
Version: 5.2.0.1
Release: 1%{?dist}
Summary: KDE Window manager
# all sources are effectively GPLv2+, except for:
@ -20,10 +21,7 @@ URL: https://projects.kde.org/projects/kde/workspace/kwin
%else
%global stable stable
%endif
Source0: http://download.kde.org/%{stable}/plasma/%{version}/%{name}-%{version}.tar.xz
# Upstream patches
Patch0: kwin-kcm-kwindecoration-fix-blackqml-view.patch
Source0: http://download.kde.org/%{stable}/plasma/%{plasma_version}/%{name}-%{version}.tar.xz
# Base
BuildRequires: kf5-rpm-macros
@ -129,8 +127,6 @@ BuildArch: noarch
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1 -b .kcmkwindeco
%build
mkdir -p %{_target_platform}
@ -212,6 +208,9 @@ fi
%changelog
* Wed Jan 28 2015 Daniel Vrátil <dvratil@redhat.com> - 5.2.0.1-1
- Update to upstream hotfix release 5.2.0.1 (kwindeco KCM bugfix)
* Wed Jan 28 2015 Daniel Vrátil <dvratil@redhat.com> - 5.2.0-3
- add upstream patch for bug #341971 - fixes Window decorations KCM

@ -1 +1 @@
8cd36de677f1b550e927d3622da8396b kwin-5.2.0.tar.xz
47b6ce31b45450fa702098c9f3f5ac95 kwin-5.2.0.1.tar.xz

Loading…
Cancel
Save