From d7146c222c20257c9878791d7c9906d1c609ba7c Mon Sep 17 00:00:00 2001 From: Weng Xuetian Date: Wed, 15 Apr 2015 06:46:34 +0000 Subject: [PATCH] add xcb-util-cursor for kwin --- kwin/PKGBUILD | 4 +- kwin/kdebug-341971.patch | 189 --------------------------------------- 2 files changed, 2 insertions(+), 191 deletions(-) delete mode 100644 kwin/kdebug-341971.patch diff --git a/kwin/PKGBUILD b/kwin/PKGBUILD index bf6c57b16..a117eafba 100644 --- a/kwin/PKGBUILD +++ b/kwin/PKGBUILD @@ -3,13 +3,13 @@ source ../plasma.conf pkgname=kwin pkgver=${PSubVersion} -pkgrel=4 +pkgrel=5 pkgdesc='KDE Window manager' arch=('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' 'kdecoration' 'libinput' 'python3') + 'hicolor-icon-theme' 'libepoxy' 'kwayland' 'kdecoration' 'libinput' 'python3' 'xcb-util-cursor') makedepends=('extra-cmake-modules' 'qt5-tools' 'kdoctools') groups=('plasma') install=${pkgname}.install diff --git a/kwin/kdebug-341971.patch b/kwin/kdebug-341971.patch deleted file mode 100644 index 29c7e1641..000000000 --- a/kwin/kdebug-341971.patch +++ /dev/null @@ -1,189 +0,0 @@ -From: Marco Martin -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 - #include - #include -+#include - #include - #include - #include -@@ -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(); -- 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("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("listView"); - if (listView) { - connect(listView, SIGNAL(currentIndexChanged()), this, SLOT(changed())); - } -@@ -122,7 +128,7 @@ - ); - connect(m_ui->borderSizesCombo, static_cast(&QComboBox::currentIndexChanged), - this, [this] (int index) { -- auto listView = m_ui->view->rootObject()->findChild("listView"); -+ auto listView = m_quickView->rootObject()->findChild("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("listView")) { -+ if (auto listView = m_quickView->rootObject()->findChild("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())); -- if (auto listView = m_ui->view->rootObject()->findChild("listView")) { -+ if (auto listView = m_quickView->rootObject()->findChild("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("listView")) { -+ if (auto listView = m_quickView->rootObject()->findChild("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 downloadDialog = new KNS3::DownloadDialog(config, this); - if (downloadDialog->exec() == QDialog::Accepted && !downloadDialog->changedEntries().isEmpty()) { -- auto listView = m_ui->view->rootObject()->findChild("listView"); -+ auto listView = m_quickView->rootObject()->findChild("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 - - 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 @@ - - - -- -+ - - - 0 - 0 - -- -- -- QQuickWidget::SizeRootObjectToView - - - - ---- 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 -+ } - } - } -