extra/kwin to 5.2.1-1

This commit is contained in:
Kevin Mihelich 2015-03-01 16:08:18 +00:00
parent 35f1b187b9
commit a07376b82c
3 changed files with 5 additions and 229 deletions

View file

@ -1,5 +1,6 @@
# $Id: PKGBUILD 224438 2014-10-15 16:56:29Z andrea $
# Maintainer: Andrea Scarpino <andrea@archlinux.org>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# ALARM on armv6h: Arno Rehn <arno@arnorehn.de>
# - Find Broadcom's VideoCore GLES and EGL libraries instead of mesa's libs.
@ -8,9 +9,9 @@
# - Proper upstream patches for the above are pending.
pkgname=kwin
pkgver=5.2.0.1
_dir=5.2.0
pkgrel=3
pkgver=5.2.1
_dir=5.2.1
pkgrel=1
pkgdesc='KDE Window manager'
arch=('i686' 'x86_64')
url='https://projects.kde.org/projects/kde/workspace/kwin'
@ -22,25 +23,15 @@ groups=('plasma-next')
install=${pkgname}.install
conflicts=('kdebase-workspace')
source=("http://download.kde.org/stable/plasma/${_dir}/${pkgname}-${pkgver}.tar.xz"
'kdebug-341971.patch'
'libinput.0.8.0.patch'
"rpi_fix_build.patch"
"kwin_remove_eglonxbackend.patch")
md5sums=('47b6ce31b45450fa702098c9f3f5ac95'
'037db2eab5f9e07c74122f1a5fd4fe31'
'0ccc6b0113e37bd994c65ffb6a4518ff'
'3e11a42013f03d55b4b730463bdd6fe0'
'28a1e8bd701a8fd1421e6ec238b4c522')
prepare() {
mkdir build
cd "${pkgname}-${pkgver}"
patch -p1 -i "${srcdir}"/kdebug-341971.patch
#https://bugs.kde.org/show_bug.cgi?id=342893
patch -Np1 -i "${srcdir}"/libinput.0.8.0.patch
# Raspberry Pi
if [ "$CARCH" == 'armv6h' ]; then
patch -p1 -i "${srcdir}/rpi_fix_build.patch"

View file

@ -1,190 +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 @@
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 @@
);
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 @@
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 @@
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::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 @@
{
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,10 +402,8 @@
void ConfigurationModule::updateColors()
{
-#if (QT_VERSION >= QT_VERSION_CHECK(5, 4, 0))
- m_ui->view->setClearColor(m_ui->view->palette().color(QPalette::Window));
-#endif
- 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 @@
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,15 +39,12 @@
</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>
--- a/kcmkwin/kwindecoration/qml/main.qml
+++ b/kcmkwin/kwindecoration/qml/main.qml
@@ -21,13 +21,17 @@
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
+ }
}
}

View file

@ -1,25 +0,0 @@
commit a93a2ab1918630c6d571b5a24379c15a0458d1fa
Author: Martin Gräßlin <mgraesslin@kde.org>
Date: Wed Jan 28 16:20:57 2015 +0100
Disable libinput integration if >= 0.8 is found
libinput 0.8 is incompatible causing the build to fail. As we are in
dependency freeze the only option is to disable the build.
BUG: 342893
FIXED-IN: 5.2.1
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 550ef57..8d9c593 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -145,7 +145,7 @@ set_package_properties(UDev PROPERTIES URL "http://www.freedesktop.org/software
PURPOSE "Required for input handling on Wayland."
)
set(HAVE_INPUT FALSE)
-if (Libinput_FOUND AND UDEV_FOUND)
+if (Libinput_FOUND AND UDEV_FOUND AND Libinput_VERSION VERSION_LESS 0.8)
set(HAVE_INPUT TRUE)
endif()