diff --git a/tabbox/declarative.cpp b/tabbox/declarative.cpp index fc7f824a24..b3bb21b86b 100644 --- a/tabbox/declarative.cpp +++ b/tabbox/declarative.cpp @@ -23,12 +23,12 @@ along with this program. If not, see . #include "clientmodel.h" // Qt #include -#include -#include -#include +#include +#include #include -#include +#include #include +#include #include // include KDE @@ -55,7 +55,7 @@ namespace TabBox { ImageProvider::ImageProvider(QAbstractItemModel *model) - : QDeclarativeImageProvider(QDeclarativeImageProvider::Pixmap) + : QQuickImageProvider(QQuickImageProvider::Pixmap) , m_model(model) { } @@ -114,8 +114,8 @@ QPixmap ImageProvider::requestPixmap(const QString &id, QSize *size, const QSize } -DeclarativeView::DeclarativeView(QAbstractItemModel *model, TabBoxConfig::TabBoxMode mode, QWidget *parent) - : QDeclarativeView(parent) +DeclarativeView::DeclarativeView(QAbstractItemModel *model, TabBoxConfig::TabBoxMode mode, QQuickWindow *parent) + : QQuickView(parent) , m_model(model) , m_mode(mode) , m_currentScreenGeometry() @@ -124,16 +124,13 @@ DeclarativeView::DeclarativeView(QAbstractItemModel *model, TabBoxConfig::TabBox , m_cachedWidth(0) , m_cachedHeight(0) { - setAttribute(Qt::WA_TranslucentBackground); - setWindowFlags(Qt::X11BypassWindowManagerHint); + setColor(Qt::transparent); + setFlags(Qt::X11BypassWindowManagerHint); if (tabBox->embedded()) { - setResizeMode(QDeclarativeView::SizeRootObjectToView); + setResizeMode(QQuickView::SizeRootObjectToView); } else { - setResizeMode(QDeclarativeView::SizeViewToRootObject); + setResizeMode(QQuickView::SizeViewToRootObject); } - QPalette pal = palette(); - pal.setColor(backgroundRole(), Qt::transparent); - setPalette(pal); engine()->addImageProvider(QLatin1String("client"), new ImageProvider(model)); #warning TabBox needs porting of KDeclarative #if KWIN_QT5_PORTING @@ -192,7 +189,7 @@ void DeclarativeView::showEvent(QShowEvent *event) slotUpdateGeometry(); QResizeEvent re(size(), size()); // to set mask and blurring. resizeEvent(&re); - QGraphicsView::showEvent(event); + QQuickView::showEvent(event); } void DeclarativeView::resizeEvent(QResizeEvent *event) @@ -202,7 +199,6 @@ void DeclarativeView::resizeEvent(QResizeEvent *event) } else { const QString maskImagePath = rootObject()->property("maskImagePath").toString(); if (maskImagePath.isEmpty()) { - clearMask(); KWindowEffects::enableBlurBehind(winId(), false); } else { const double maskWidth = rootObject()->property("maskWidth").toDouble(); @@ -217,7 +213,6 @@ void DeclarativeView::resizeEvent(QResizeEvent *event) if (Workspace::self()->compositing() && effects) { // blur background?! KWindowEffects::enableBlurBehind(winId(), static_cast(effects)->provides(Effect::Blur), mask); - clearMask(); } else #endif { @@ -226,12 +221,12 @@ void DeclarativeView::resizeEvent(QResizeEvent *event) } } } - QDeclarativeView::resizeEvent(event); + QQuickView::resizeEvent(event); } void DeclarativeView::hideEvent(QHideEvent *event) { - QWidget::hideEvent(event); + QQuickView::hideEvent(event); #ifndef TABBOX_KCM if (tabBox->embedded()) { Client *c = Workspace::self()->findClient(WindowMatchPredicate(tabBox->embedded())); @@ -304,7 +299,7 @@ void DeclarativeView::slotUpdateGeometry() setGeometry(m_currentScreenGeometry.x() + static_cast(m_currentScreenGeometry.width()) * 0.5 - static_cast(width) * 0.5, m_currentScreenGeometry.y() + static_cast(m_currentScreenGeometry.height()) * 0.5 - static_cast(height) * 0.5, width, height); - m_relativePos = pos(); + m_relativePos = position(); } } @@ -410,11 +405,11 @@ void DeclarativeView::slotEmbeddedChanged(bool enabled) { if (enabled) { // cache the width - setResizeMode(QDeclarativeView::SizeRootObjectToView); + setResizeMode(QQuickView::SizeRootObjectToView); m_cachedWidth = rootObject()->property("width").toInt(); m_cachedHeight = rootObject()->property("height").toInt(); } else { - setResizeMode(QDeclarativeView::SizeViewToRootObject); + setResizeMode(QQuickView::SizeViewToRootObject); if (m_cachedWidth != 0 && m_cachedHeight != 0) { rootObject()->setProperty("width", m_cachedWidth); rootObject()->setProperty("height", m_cachedHeight); diff --git a/tabbox/declarative.h b/tabbox/declarative.h index 99b83601ff..bfcdd18588 100644 --- a/tabbox/declarative.h +++ b/tabbox/declarative.h @@ -20,8 +20,8 @@ along with this program. If not, see . #ifndef KWIN_TABBOX_DECLARATIVE_H #define KWIN_TABBOX_DECLARATIVE_H // includes -#include -#include +#include +#include #include #include "tabboxconfig.h" @@ -40,7 +40,7 @@ namespace KWin namespace TabBox { -class ImageProvider : public QDeclarativeImageProvider +class ImageProvider : public QQuickImageProvider { public: explicit ImageProvider(QAbstractItemModel *model); @@ -50,11 +50,11 @@ private: QAbstractItemModel *m_model; }; -class DeclarativeView : public QDeclarativeView +class DeclarativeView : public QQuickView { Q_OBJECT public: - DeclarativeView(QAbstractItemModel *model, TabBoxConfig::TabBoxMode mode, QWidget *parent = NULL); + DeclarativeView(QAbstractItemModel *model, TabBoxConfig::TabBoxMode mode, QQuickWindow *parent = NULL); virtual void showEvent(QShowEvent *event); virtual void resizeEvent(QResizeEvent *event); void setCurrentIndex(const QModelIndex &index, bool disableAnimation = false); diff --git a/tabbox/qml/IconTabBox.qml b/tabbox/qml/IconTabBox.qml index c59526183c..090fc1292f 100644 --- a/tabbox/qml/IconTabBox.qml +++ b/tabbox/qml/IconTabBox.qml @@ -17,9 +17,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.qtextracomponents 0.1 +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.qtextracomponents 2.0 Item { id: iconsTabBox diff --git a/tabbox/qml/ShadowedSvgItem.qml b/tabbox/qml/ShadowedSvgItem.qml index 76d59221e6..dd39ac20c7 100644 --- a/tabbox/qml/ShadowedSvgItem.qml +++ b/tabbox/qml/ShadowedSvgItem.qml @@ -18,8 +18,8 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore Item { property double leftMargin: shadow.margins.left + background.margins.left diff --git a/tabbox/qml/clients/big_icons/contents/ui/main.qml b/tabbox/qml/clients/big_icons/contents/ui/main.qml index 30e3b20bf8..fe3cb8ca92 100644 --- a/tabbox/qml/clients/big_icons/contents/ui/main.qml +++ b/tabbox/qml/clients/big_icons/contents/ui/main.qml @@ -17,9 +17,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.qtextracomponents 0.1 +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.qtextracomponents 2.0 Item { id: bigIconsTabBox diff --git a/tabbox/qml/clients/compact/contents/ui/main.qml b/tabbox/qml/clients/compact/contents/ui/main.qml index 19cf79f6ed..6dddfa6614 100644 --- a/tabbox/qml/clients/compact/contents/ui/main.qml +++ b/tabbox/qml/clients/compact/contents/ui/main.qml @@ -17,9 +17,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.qtextracomponents 0.1 +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.qtextracomponents 2.0 Item { id: compactTabBox @@ -142,7 +142,7 @@ Item { function calculateMaxRowWidth() { var width = 0; var textElement = Qt.createQmlObject( - 'import QtQuick 1.0;' + 'import QtQuick 2.0;' + 'Text {\n' + ' text: "' + itemCaption(compactTabBox.longestCaption, true) + '"\n' + ' font.bold: true\n' @@ -159,7 +159,7 @@ Item { **/ function calcRowHeight() { var textElement = Qt.createQmlObject( - 'import QtQuick 1.0;' + 'import QtQuick 2.0;' + 'Text {\n' + ' text: "Some Text"\n' + ' font.bold: true\n' diff --git a/tabbox/qml/clients/informative/contents/ui/main.qml b/tabbox/qml/clients/informative/contents/ui/main.qml index c52186950a..94bf50f025 100644 --- a/tabbox/qml/clients/informative/contents/ui/main.qml +++ b/tabbox/qml/clients/informative/contents/ui/main.qml @@ -17,9 +17,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.qtextracomponents 0.1 +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.qtextracomponents 2.0 Item { id: informativeTabBox @@ -158,7 +158,7 @@ Item { function calculateMaxRowWidth() { var width = 0; var textElement = Qt.createQmlObject( - 'import QtQuick 1.0;' + 'import QtQuick 2.0;' + 'Text {\n' + ' text: "' + itemCaption(informativeTabBox.longestCaption, true) + '"\n' + ' font.bold: true\n' @@ -175,7 +175,7 @@ Item { **/ function calcRowHeight() { var textElement = Qt.createQmlObject( - 'import QtQuick 1.0;' + 'import QtQuick 2.0;' + 'Text {\n' + ' text: "Some Text"\n' + ' font.bold: true\n' diff --git a/tabbox/qml/clients/present_windows/contents/ui/main.qml b/tabbox/qml/clients/present_windows/contents/ui/main.qml index 17531d8c43..ae54594685 100644 --- a/tabbox/qml/clients/present_windows/contents/ui/main.qml +++ b/tabbox/qml/clients/present_windows/contents/ui/main.qml @@ -17,9 +17,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.1 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.qtextracomponents 0.1 +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.qtextracomponents 2.0 import org.kde.kwin 0.1 as KWin Item { diff --git a/tabbox/qml/clients/small_icons/contents/ui/main.qml b/tabbox/qml/clients/small_icons/contents/ui/main.qml index a3e862fbe5..f0b055d1d6 100644 --- a/tabbox/qml/clients/small_icons/contents/ui/main.qml +++ b/tabbox/qml/clients/small_icons/contents/ui/main.qml @@ -17,9 +17,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.qtextracomponents 0.1 +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.qtextracomponents 2.0 Item { id: smallIconsTabBox diff --git a/tabbox/qml/clients/text/contents/ui/main.qml b/tabbox/qml/clients/text/contents/ui/main.qml index aac7387c72..8bb7fce6fb 100644 --- a/tabbox/qml/clients/text/contents/ui/main.qml +++ b/tabbox/qml/clients/text/contents/ui/main.qml @@ -17,9 +17,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.qtextracomponents 0.1 +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.qtextracomponents 2.0 Item { id: textTabBox @@ -109,7 +109,7 @@ Item { function calculateMaxRowWidth() { var width = 0; var textElement = Qt.createQmlObject( - 'import QtQuick 1.0;' + 'import QtQuick 2.0;' + 'Text {\n' + ' text: "' + textTabBox.longestCaption + '"\n' + ' visible: false\n' @@ -125,7 +125,7 @@ Item { **/ function calcRowHeight() { var textElement = Qt.createQmlObject( - 'import QtQuick 1.0;' + 'import QtQuick 2.0;' + 'Text {\n' + ' text: "Some Text"\n' + ' visible: false\n' diff --git a/tabbox/qml/clients/thumbnails/contents/ui/main.qml b/tabbox/qml/clients/thumbnails/contents/ui/main.qml index dda3b00009..b24fd1c877 100644 --- a/tabbox/qml/clients/thumbnails/contents/ui/main.qml +++ b/tabbox/qml/clients/thumbnails/contents/ui/main.qml @@ -17,9 +17,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.qtextracomponents 0.1 +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.qtextracomponents 2.0 import org.kde.kwin 0.1 as KWin Item { diff --git a/tabbox/qml/clients/window_strip/contents/ui/main.qml b/tabbox/qml/clients/window_strip/contents/ui/main.qml index d242f68a7e..bd2d40eee1 100644 --- a/tabbox/qml/clients/window_strip/contents/ui/main.qml +++ b/tabbox/qml/clients/window_strip/contents/ui/main.qml @@ -18,11 +18,11 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.plasma.components 0.1 as PlasmaComponents +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.plasma.components 2.0 as PlasmaComponents import org.kde.plasma.mobilecomponents 0.1 as MobileComponents -import org.kde.qtextracomponents 0.1 +import org.kde.qtextracomponents 2.0 import org.kde.kwin 0.1 as KWin Item { diff --git a/tabbox/qml/desktops/informative/contents/ui/main.qml b/tabbox/qml/desktops/informative/contents/ui/main.qml index 0f43e37e23..35547a8a26 100644 --- a/tabbox/qml/desktops/informative/contents/ui/main.qml +++ b/tabbox/qml/desktops/informative/contents/ui/main.qml @@ -17,9 +17,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.qtextracomponents 0.1 +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.qtextracomponents 2.0 Item { id: desktopTabBox @@ -122,7 +122,7 @@ Item { function calculateMaxRowWidth() { var width = 0; var textElement = Qt.createQmlObject( - 'import QtQuick 1.0;' + 'import QtQuick 2.0;' + 'Text {\n' + ' text: "' + desktopTabBox.longestCaption + '"\n' + ' font.bold: true\n' @@ -139,7 +139,7 @@ Item { **/ function calcRowHeight() { var textElement = Qt.createQmlObject( - 'import QtQuick 1.0;' + 'import QtQuick 2.0;' + 'Text {\n' + ' text: "Some Text"\n' + ' font.bold: true\n' diff --git a/tabbox/qml/desktops/previews/contents/ui/main.qml b/tabbox/qml/desktops/previews/contents/ui/main.qml index 38a02dd1e8..3442a76cb9 100644 --- a/tabbox/qml/desktops/previews/contents/ui/main.qml +++ b/tabbox/qml/desktops/previews/contents/ui/main.qml @@ -17,9 +17,9 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 -import org.kde.plasma.core 0.1 as PlasmaCore -import org.kde.qtextracomponents 0.1 +import QtQuick 2.0 +import org.kde.plasma.core 2.0 as PlasmaCore +import org.kde.qtextracomponents 2.0 import org.kde.kwin 0.1 as KWin Item { diff --git a/tabbox/qml/tabbox.qml b/tabbox/qml/tabbox.qml index 9fccc0bdff..d81e691030 100644 --- a/tabbox/qml/tabbox.qml +++ b/tabbox/qml/tabbox.qml @@ -17,7 +17,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . *********************************************************************/ -import QtQuick 1.0 +import QtQuick 2.0 Loader { id: loader diff --git a/tabbox/tabboxhandler.cpp b/tabbox/tabboxhandler.cpp index f99bd27e1e..80ab5349a3 100644 --- a/tabbox/tabboxhandler.cpp +++ b/tabbox/tabboxhandler.cpp @@ -118,7 +118,7 @@ void TabBoxHandlerPrivate::updateHighlightWindows() Display *dpy = QX11Info::display(); TabBoxClient *currentClient = q->client(index); - QWidget *w = NULL; + QWindow *w = NULL; if (m_declarativeView && m_declarativeView->isVisible()) { w = m_declarativeView; } @@ -230,7 +230,7 @@ void TabBoxHandler::show() } dv = d->m_declarativeDesktopView; } - if (dv->status() == QDeclarativeView::Ready && dv->rootObject()) { + if (dv->status() == QQuickView::Ready && dv->rootObject()) { dv->show(); dv->setCurrentIndex(d->index, d->config.tabBoxMode() == TabBoxConfig::ClientTabBox); } else { @@ -386,7 +386,7 @@ void TabBoxHandler::grabbedKeyEvent(QKeyEvent* event) const bool TabBoxHandler::containsPos(const QPoint& pos) const { - QWidget *w = NULL; + QWindow *w = NULL; if (d->m_declarativeView && d->m_declarativeView->isVisible()) { w = d->m_declarativeView; } else if (d->m_declarativeDesktopView && d->m_declarativeDesktopView->isVisible()) { diff --git a/tabbox/tests/mock_declarative.cpp b/tabbox/tests/mock_declarative.cpp index 67ac56a9be..4065acb6d9 100644 --- a/tabbox/tests/mock_declarative.cpp +++ b/tabbox/tests/mock_declarative.cpp @@ -24,7 +24,7 @@ namespace KWin namespace TabBox { DeclarativeView::DeclarativeView(QAbstractItemModel *model, TabBoxConfig::TabBoxMode mode, QWidget *parent) - : QDeclarativeView(parent) + : QQuickView(parent) { Q_UNUSED(model) Q_UNUSED(mode)