[arch-commits] Commit in kwin/repos (10 files)

Andreas Radke andyrtr at archlinux.org
Sat Feb 14 21:13:17 UTC 2015


    Date: Saturday, February 14, 2015 @ 22:13:17
  Author: andyrtr
Revision: 231397

archrelease: copy trunk to staging-i686, staging-x86_64

Added:
  kwin/repos/staging-i686/
  kwin/repos/staging-i686/PKGBUILD
    (from rev 231396, kwin/trunk/PKGBUILD)
  kwin/repos/staging-i686/kdebug-341971.patch
    (from rev 231396, kwin/trunk/kdebug-341971.patch)
  kwin/repos/staging-i686/kwin.install
    (from rev 231396, kwin/trunk/kwin.install)
  kwin/repos/staging-i686/libinput.0.8.0.patch
    (from rev 231396, kwin/trunk/libinput.0.8.0.patch)
  kwin/repos/staging-x86_64/
  kwin/repos/staging-x86_64/PKGBUILD
    (from rev 231396, kwin/trunk/PKGBUILD)
  kwin/repos/staging-x86_64/kdebug-341971.patch
    (from rev 231396, kwin/trunk/kdebug-341971.patch)
  kwin/repos/staging-x86_64/kwin.install
    (from rev 231396, kwin/trunk/kwin.install)
  kwin/repos/staging-x86_64/libinput.0.8.0.patch
    (from rev 231396, kwin/trunk/libinput.0.8.0.patch)

-------------------------------------+
 staging-i686/PKGBUILD               |   50 ++++++++
 staging-i686/kdebug-341971.patch    |  190 ++++++++++++++++++++++++++++++++++
 staging-i686/kwin.install           |   11 +
 staging-i686/libinput.0.8.0.patch   |   25 ++++
 staging-x86_64/PKGBUILD             |   50 ++++++++
 staging-x86_64/kdebug-341971.patch  |  190 ++++++++++++++++++++++++++++++++++
 staging-x86_64/kwin.install         |   11 +
 staging-x86_64/libinput.0.8.0.patch |   25 ++++
 8 files changed, 552 insertions(+)

Copied: kwin/repos/staging-i686/PKGBUILD (from rev 231396, kwin/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD	                        (rev 0)
+++ staging-i686/PKGBUILD	2015-02-14 21:13:17 UTC (rev 231397)
@@ -0,0 +1,50 @@
+# $Id$
+# Maintainer: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=kwin
+pkgver=5.2.0.1
+_dir=5.2.0
+pkgrel=3
+pkgdesc='KDE Window manager'
+arch=('i686' 'x86_64')
+url='https://projects.kde.org/projects/kde/workspace/kwin'
+license=('LGPL')
+depends=('qt5-multimedia' 'plasma-framework' 'knewstuff' 'libxcursor' 'kinit'
+         'hicolor-icon-theme' 'libepoxy' 'kwayland' 'libinput' 'kdecoration')
+makedepends=('extra-cmake-modules' 'qt5-tools' 'kdoctools')
+groups=('plasma')
+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')
+md5sums=('47b6ce31b45450fa702098c9f3f5ac95'
+         '037db2eab5f9e07c74122f1a5fd4fe31'
+         '0ccc6b0113e37bd994c65ffb6a4518ff')
+
+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
+}
+
+build() {
+  cd build
+  cmake ../${pkgname}-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DLIB_INSTALL_DIR=lib \
+    -DLIBEXEC_INSTALL_DIR=lib \
+    -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+    -DBUILD_TESTING=OFF
+  make
+}
+
+package() {
+  cd build
+  make DESTDIR="${pkgdir}" install
+}

Copied: kwin/repos/staging-i686/kdebug-341971.patch (from rev 231396, kwin/trunk/kdebug-341971.patch)
===================================================================
--- staging-i686/kdebug-341971.patch	                        (rev 0)
+++ staging-i686/kdebug-341971.patch	2015-02-14 21:13:17 UTC (rev 231397)
@@ -0,0 +1,190 @@
+From: Marco Martin <notmart at 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
++        }
+     }
+ }
+ 
+

Copied: kwin/repos/staging-i686/kwin.install (from rev 231396, kwin/trunk/kwin.install)
===================================================================
--- staging-i686/kwin.install	                        (rev 0)
+++ staging-i686/kwin.install	2015-02-14 21:13:17 UTC (rev 231397)
@@ -0,0 +1,11 @@
+post_install() {
+  xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}

Copied: kwin/repos/staging-i686/libinput.0.8.0.patch (from rev 231396, kwin/trunk/libinput.0.8.0.patch)
===================================================================
--- staging-i686/libinput.0.8.0.patch	                        (rev 0)
+++ staging-i686/libinput.0.8.0.patch	2015-02-14 21:13:17 UTC (rev 231397)
@@ -0,0 +1,25 @@
+commit a93a2ab1918630c6d571b5a24379c15a0458d1fa
+Author: Martin Gräßlin <mgraesslin at 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()
+ 

Copied: kwin/repos/staging-x86_64/PKGBUILD (from rev 231396, kwin/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2015-02-14 21:13:17 UTC (rev 231397)
@@ -0,0 +1,50 @@
+# $Id$
+# Maintainer: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=kwin
+pkgver=5.2.0.1
+_dir=5.2.0
+pkgrel=3
+pkgdesc='KDE Window manager'
+arch=('i686' 'x86_64')
+url='https://projects.kde.org/projects/kde/workspace/kwin'
+license=('LGPL')
+depends=('qt5-multimedia' 'plasma-framework' 'knewstuff' 'libxcursor' 'kinit'
+         'hicolor-icon-theme' 'libepoxy' 'kwayland' 'libinput' 'kdecoration')
+makedepends=('extra-cmake-modules' 'qt5-tools' 'kdoctools')
+groups=('plasma')
+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')
+md5sums=('47b6ce31b45450fa702098c9f3f5ac95'
+         '037db2eab5f9e07c74122f1a5fd4fe31'
+         '0ccc6b0113e37bd994c65ffb6a4518ff')
+
+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
+}
+
+build() {
+  cd build
+  cmake ../${pkgname}-${pkgver} \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DLIB_INSTALL_DIR=lib \
+    -DLIBEXEC_INSTALL_DIR=lib \
+    -DKDE_INSTALL_USE_QT_SYS_PATHS=ON \
+    -DBUILD_TESTING=OFF
+  make
+}
+
+package() {
+  cd build
+  make DESTDIR="${pkgdir}" install
+}

Copied: kwin/repos/staging-x86_64/kdebug-341971.patch (from rev 231396, kwin/trunk/kdebug-341971.patch)
===================================================================
--- staging-x86_64/kdebug-341971.patch	                        (rev 0)
+++ staging-x86_64/kdebug-341971.patch	2015-02-14 21:13:17 UTC (rev 231397)
@@ -0,0 +1,190 @@
+From: Marco Martin <notmart at 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
++        }
+     }
+ }
+ 
+

Copied: kwin/repos/staging-x86_64/kwin.install (from rev 231396, kwin/trunk/kwin.install)
===================================================================
--- staging-x86_64/kwin.install	                        (rev 0)
+++ staging-x86_64/kwin.install	2015-02-14 21:13:17 UTC (rev 231397)
@@ -0,0 +1,11 @@
+post_install() {
+  xdg-icon-resource forceupdate --theme hicolor &> /dev/null
+}
+
+post_upgrade() {
+  post_install
+}
+
+post_remove() {
+  post_install
+}

Copied: kwin/repos/staging-x86_64/libinput.0.8.0.patch (from rev 231396, kwin/trunk/libinput.0.8.0.patch)
===================================================================
--- staging-x86_64/libinput.0.8.0.patch	                        (rev 0)
+++ staging-x86_64/libinput.0.8.0.patch	2015-02-14 21:13:17 UTC (rev 231397)
@@ -0,0 +1,25 @@
+commit a93a2ab1918630c6d571b5a24379c15a0458d1fa
+Author: Martin Gräßlin <mgraesslin at 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()
+ 



More information about the arch-commits mailing list