[meego-commits] 15393: Changes to Trunk/meegotouch-compositor
Peter Zhu
no_reply at build.meego.com
Tue Mar 29 03:20:06 UTC 2011
Hi,
I have made the following changes to meegotouch-compositor in project Trunk. Please review and accept ASAP.
Thank You,
Peter Zhu
[This message was auto-generated]
---
Request #15393:
submit: Trunk:Testing/meegotouch-compositor(r2) -> Trunk/meegotouch-compositor
Message:
Move to Trunk
State: new 2011-03-28T20:19:57 peter
Comment: None
changes files:
--------------
--- meegotouch-compositor.changes
+++ meegotouch-compositor.changes
@@ -0,0 +1,13 @@
+* Thu Mar 24 2011 Rusty Lynch <rusty.lynch at intel.com> - 0.8.5
+- added patches for the tablet vertical support (BMC#14913)
+ decorator_removal.patch
+ Fix-flashing-in-transition-starts.patch
+ Introduce-_MEEGOTOUCH_SKIP_ANIMATIONS-window-propert.patch
+ XSync-after-un-redirecting-windows-in-EGL-MTexturePi.patch
+ Use-QTransform-rather-than-the-deprecated-matrix-cla.patch
+ Add-transition-interface-to-be-used-in-MCompWindowAn.patch
+ Introduce-Rotate-in-transition.patch
+ Take-the-new-transition-interface-into-use-in-MCompW.patch
+- removed mdecorator.desktop file
+- updated files list: remove decorator related files and *.pyc/pyo files
+
old:
----
mdecorator.desktop
new:
----
Add-transition-interface-to-be-used-in-MCompWindowAn.patch
Fix-flashing-in-transition-starts.patch
Introduce-Rotate-in-transition.patch
Introduce-_MEEGOTOUCH_SKIP_ANIMATIONS-window-propert.patch
Take-the-new-transition-interface-into-use-in-MCompW.patch
Use-QTransform-rather-than-the-deprecated-matrix-cla.patch
XSync-after-un-redirecting-windows-in-EGL-MTexturePi.patch
decorator_removal.patch
spec files:
-----------
--- meegotouch-compositor.spec
+++ meegotouch-compositor.spec
@@ -13,7 +13,6 @@
License: LGPLv2.1
URL: http://meego.gitorious.org/meegotouch/meegotouch-compositor
Source0: %{name}-%{version}.tar.bz2
-Source1: mdecorator.desktop
Source100: meegotouch-compositor.yaml
Patch0: add_Xext_lib_to_windowctl.patch
Patch1: initialize_EGL_library.patch
@@ -22,6 +21,14 @@
Patch4: BMC_13622_statusbar_2.patch
Patch5: BMC_14207_double_xterm_thumbnail.patch
Patch6: no_mce.patch
+Patch7: decorator_removal.patch
+Patch8: Fix-flashing-in-transition-starts.patch
+Patch9: Introduce-_MEEGOTOUCH_SKIP_ANIMATIONS-window-propert.patch
+Patch10: XSync-after-un-redirecting-windows-in-EGL-MTexturePi.patch
+Patch11: Use-QTransform-rather-than-the-deprecated-matrix-cla.patch
+Patch12: Add-transition-interface-to-be-used-in-MCompWindowAn.patch
+Patch13: Introduce-Rotate-in-transition.patch
+Patch14: Take-the-new-transition-interface-into-use-in-MCompW.patch
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
BuildRequires: pkgconfig(QtDBus)
@@ -89,6 +96,22 @@
%patch5 -p1
# no_mce.patch
%patch6 -p1
+# decorator_removal.patch
+%patch7 -p1
+# Fix-flashing-in-transition-starts.patch
+%patch8 -p1
+# Introduce-_MEEGOTOUCH_SKIP_ANIMATIONS-window-propert.patch
+%patch9 -p1
+# XSync-after-un-redirecting-windows-in-EGL-MTexturePi.patch
+%patch10 -p1
+# Use-QTransform-rather-than-the-deprecated-matrix-cla.patch
+%patch11 -p1
+# Add-transition-interface-to-be-used-in-MCompWindowAn.patch
+%patch12 -p1
+# Introduce-Rotate-in-transition.patch
+%patch13 -p1
+# Take-the-new-transition-interface-into-use-in-MCompW.patch
+%patch14 -p1
# >> setup
# << setup
@@ -107,9 +130,6 @@
# >> install pre
# << install pre
%qmake_install
-mkdir -p %{buildroot}%{_sysconfdir}/xdg/autostart
-cp -a %{SOURCE1} %{buildroot}%{_sysconfdir}/xdg/autostart
-
# >> install post
# << install post
@@ -130,10 +150,7 @@
%files
%defattr(-,root,root,-)
# >> files
-%config %{_sysconfdir}/xdg/autostart/mdecorator.desktop
%{_bindir}/mcompositor
-%{_bindir}/mdecorator
-%{_libdir}/libdecorator.so.*
%{_libdir}/libmcompositor.so.*
# << files
@@ -144,13 +161,7 @@
%{_bindir}/focus-tracker
%{_bindir}/windowctl
%{_bindir}/windowstack
-%{_libdir}/libdecorator.so
%{_libdir}/libmcompositor.so
-%{_includedir}/meegotouch/libdecorator/mabstractdecorator.h
-%{_includedir}/meegotouch/libdecorator/mabstractappinterface.h
-%{_includedir}/meegotouch/libdecorator/mdecorator_dbus_interface.h
-%{_includedir}/meegotouch/libdecorator/mrmiclient.h
-%{_includedir}/meegotouch/libdecorator/mrmiserver.h
%{_includedir}/meegotouch/mcompositor/mcompatoms_p.h
%{_includedir}/meegotouch/mcompositor/mcompmgrextensionfactory.h
%{_includedir}/meegotouch/mcompositor/mcompositemanager.h
@@ -159,7 +170,6 @@
%{_includedir}/meegotouch/mcompositor/mcompositewindowgroup.h
%{_includedir}/meegotouch/mcompositor/mcompositewindowshadereffect.h
%{_includedir}/meegotouch/mcompositor/mwindowpropertycache.h
-%{_datadir}/l10n/meegotouch/recovery.qm
# << files devel
%files tests
@@ -168,74 +178,28 @@
%{_bindir}/mcompositor-test-init.py
%{_datadir}/mcompositor-functional-tests/tests.xml
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test00.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test0.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test0.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test01.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test1.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test1.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test10.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test10.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test10.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test11.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test11.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test11.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test12.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test12.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test12.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test13.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test13.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test13.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test14.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test14.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test14.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test15.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test15.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test15.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test16.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test16.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test16.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test17.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test17.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test17.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test18.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test18.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test18.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test19.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test19.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test19.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test02.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test2.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test2.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test20a.py
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test20b.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test20.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test20.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test21.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test21.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test21.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test22.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test22.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test22.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test03.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test3.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test3.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test04.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test4.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test4.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test05.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test5.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test5.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test06.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test6.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test6.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test07.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test7.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test7.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test08.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test8.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test8.pyo
%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test09.py
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test9.pyc
-#%{_datadir}/meegotouch/testscripts/mcompositor-functional-tests/test9.pyo
# << files tests
other changes:
--------------
++++++ Add-transition-interface-to-be-used-in-MCompWindowAn.patch (new)
--- Add-transition-interface-to-be-used-in-MCompWindowAn.patch
+++ Add-transition-interface-to-be-used-in-MCompWindowAn.patch
+From 07ed758cc3b91ea1efe719f6f42a0e91a5f2065e Mon Sep 17 00:00:00 2001
+From: Kalle Vahlman <kalle.vahlman at movial.com>
+Date: Tue, 28 Dec 2010 07:03:49 +0000
+Subject: [PATCH 2/4] Add transition interface to be used in MCompWindowAnimator
+
+---
+ src/manimatortransitioninterface.h | 64 ++++++++++++++++++++++++++++++++++++
+ src/mcompositescene.cpp | 3 +-
+ src/mcompositewindow.cpp | 5 +++
+ src/mcompositewindow.h | 2 +
+ src/mcompwindowanimator.cpp | 5 +++
+ src/mcompwindowanimator.h | 2 +
+ src/src.pro | 1 +
+ 7 files changed, 81 insertions(+), 1 deletions(-)
+ create mode 100644 src/manimatortransitioninterface.h
+
+--- /dev/null
++++ b/src/manimatortransitioninterface.h
+@@ -0,0 +1,64 @@
++/***************************************************************************
++** Interface for window transitions.
++** Copyright © 2010, Intel Corporation.
++**
++** This library is free software; you can redistribute it and/or
++** modify it under the terms of the GNU Lesser General Public
++** License version 2.1 as published by the Free Software Foundation
++** and appearing in the file LICENSE.LGPL included in the packaging
++** of this file.
++**
++****************************************************************************/
++
++#ifndef MANIMATORTRANSITIONINTERFACE_H
++#define MANIMATORTRANSITIONINTERFACE_H
++
++class MCompWindowAnimator;
++class MCompositeWindow;
++class QTransform;
++class QGraphicsItemAnimation;
++class QTimeLine;
++class QPointF;
++
++/*!
++ * Transition interface
++ */
++class MAnimatorTransitionInterface
++{
++
++public:
++
++ virtual ~MAnimatorTransitionInterface() {}
++
++ //! translates and scale the item to a new size and
++ // from its current position to new position with animation
++ //
++ // \param reverScale Set to true to reverse the scaling
++ virtual void translateScale(MCompositeWindow *item,
++ QTransform &matrix,
++ QGraphicsItemAnimation &anim,
++ QTimeLine &timer,
++ qreal fromSx, qreal fromSy,
++ qreal toSx, qreal toSy,
++ const QPointF &newPos,
++ bool reversed) = 0;
++
++ /*!
++ * Direct interface to timeline. MTexturePixmapItem doesn't support
++ * standard QGraphicsItem scale and rotation. So we call this for each
++ * item's frame for complete control of the transitions
++ */
++ virtual void advanceFrame(MCompositeWindow *item,
++ QTransform &matrix,
++ QGraphicsItemAnimation &anim,
++ QTimeLine &timer,
++ qreal step,
++ bool reversed) = 0;
++
++ /* Whether or not this transition needs the background to be cleared */
++ virtual bool needsClearBackground() = 0;
++};
++
++// TODO: Make this a plugin interface?
++//Q_DECLARE_INTERFACE(MAnimatorTransitionInterface, ...)
++#endif
+--- a/src/mcompositescene.cpp
++++ b/src/mcompositescene.cpp
+@@ -119,7 +119,8 @@ void MCompositeScene::drawItems(QPainter
+ if (size >= 9)
+ to_paint.resize(to_paint.size()+1);
+ to_paint[size++] = i;
+- if (cw->propertyCache()->windowTypeAtom()
++ if (!cw->needsClearBackground()
++ && cw->propertyCache()->windowTypeAtom()
+ == ATOM(_NET_WM_WINDOW_TYPE_DESKTOP))
+ desktop_painted = true;
+ }
+--- a/src/mcompositewindow.cpp
++++ b/src/mcompositewindow.cpp
+@@ -791,3 +791,8 @@ MCompositeWindowGroup* MCompositeWindow:
+ return 0;
+ #endif
+ }
++
++bool MCompositeWindow::needsClearBackground()
++{
++ return anim->needsClearBackground();
++}
+--- a/src/mcompositewindow.h
++++ b/src/mcompositewindow.h
+@@ -305,6 +305,8 @@ public:
+
+ bool dimmedEffect() const { return dimmed_effect; }
+
++ bool needsClearBackground();
++
+ public slots:
+
+ void updateIconGeometry();
+--- a/src/mcompwindowanimator.cpp
++++ b/src/mcompwindowanimator.cpp
+@@ -226,3 +226,8 @@ bool MCompWindowAnimator::pendingAnimati
+ {
+ return deferred_animation;
+ }
++
++bool MCompWindowAnimator::needsClearBackground()
++{
++ return trans->needsClearBackground();
++}
+--- a/src/mcompwindowanimator.h
++++ b/src/mcompwindowanimator.h
+@@ -79,6 +79,8 @@ public:
+ //! There is a pending animation to be executed soon
+ bool pendingAnimation() const;
+
++ bool needsClearBackground();
++
+ public slots:
+ /*!
+ * Direct interface to timeline. MTexturePixmapItem doesn't support
+--- a/src/src.pro
++++ b/src/src.pro
+@@ -34,6 +34,7 @@ HEADERS += \
+ mcompositewindow.h \
+ mwindowpropertycache.h \
+ mcompwindowanimator.h \
++ manimatortransitioninterface.h \
+ mcompositemanager.h \
+ mcompositemanager_p.h \
+ mdevicestate.h \
++++++ BMC_13622_statusbar.patch
--- BMC_13622_statusbar.patch
+++ BMC_13622_statusbar.patch
@@ -10,36 +10,32 @@
decorators/mdecorator/mdecoratorwindow.cpp | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
-diff --git a/decorators/mdecorator/mdecoratorwindow.cpp b/decorators/mdecorator/mdecoratorwindow.cpp
-index 8085aa0..7193ebe 100644
---- a/decorators/mdecorator/mdecoratorwindow.cpp
-+++ b/decorators/mdecorator/mdecoratorwindow.cpp
-@@ -292,8 +292,8 @@ MDecoratorWindow::MDecoratorWindow(QWidget *parent)
- }
- }
-
--
-- if (!homeButtonPanel || !navigationBar || !statusBar)
-+ // Check for presence of homeButtonPanel and navigationBar, statusBar can be NULL
-+ if (!homeButtonPanel || !navigationBar)
- qFatal("Meego elements not found");
-
- homeButtonPanel = new MHomeButtonPanel();
-@@ -528,9 +528,12 @@ void MDecoratorWindow::setInputRegion()
- region = fs;
- } else {
- // Decoration includes the status bar, and possibly other elements.
-- QRect sbrect = statusBar->geometry().toRect();
-- if (statusBarHeight)
-- sbrect.setHeight(statusBarHeight);
-+ QRect sbrect;
-+ if (statusBar) {
-+ sbrect = statusBar->geometry().toRect();
-+ if (statusBarHeight)
-+ sbrect.setHeight(statusBarHeight);
-+ }
- region = sbrect;
- if (!only_statusbar) {
- region += navigationBar->geometry().toRect();
---
-1.6.1
+--- a/decorators/mdecorator/mdecoratorwindow.cpp
++++ b/decorators/mdecorator/mdecoratorwindow.cpp
+@@ -292,8 +292,8 @@ MDecoratorWindow::MDecoratorWindow(QWidg
+ }
+ }
+
+-
+- if (!homeButtonPanel || !navigationBar || !statusBar)
++ // Check for presence of homeButtonPanel and navigationBar, statusBar can be NULL
++ if (!homeButtonPanel || !navigationBar)
+ qFatal("Meego elements not found");
+
+ homeButtonPanel = new MHomeButtonPanel();
+@@ -519,9 +519,12 @@ void MDecoratorWindow::setInputRegion()
+ region = fs;
+ } else {
+ // Decoration includes the status bar, and possibly other elements.
+- QRect sbrect = statusBar->geometry().toRect();
+- if (statusBarHeight)
+- sbrect.setHeight(statusBarHeight);
++ QRect sbrect;
++ if (statusBar) {
++ sbrect = statusBar->geometry().toRect();
++ if (statusBarHeight)
++ sbrect.setHeight(statusBarHeight);
++ }
+ region = sbrect;
+ if (!only_statusbar) {
+ region += navigationBar->geometry().toRect();
++++++ BMC_13622_statusbar_2.patch
--- BMC_13622_statusbar_2.patch
+++ BMC_13622_statusbar_2.patch
@@ -13,69 +13,62 @@
decorators/mdecorator/mdecoratorwindow.h | 1 -
2 files changed, 6 insertions(+), 17 deletions(-)
-diff --git a/decorators/mdecorator/mdecoratorwindow.cpp b/decorators/mdecorator/mdecoratorwindow.cpp
-index 7193ebe..917ba58 100644
---- a/decorators/mdecorator/mdecoratorwindow.cpp
-+++ b/decorators/mdecorator/mdecoratorwindow.cpp
-@@ -245,7 +245,6 @@ MDecoratorWindow::MDecoratorWindow(QWidget *parent)
- escapeButtonPanel(0),
- navigationBar(0),
- statusBar(0),
-- statusBarHeight(0),
- messageBox(0),
- managed_window(0),
- menuVisible(false)
-@@ -278,15 +277,6 @@ MDecoratorWindow::MDecoratorWindow(QWidget *parent)
- if (!statusBar) {
- statusBar = dynamic_cast<MStatusBar*>(item);
- if (statusBar) {
-- // We can't believe statusBar.geometry() because it
-- // includes some unwanted margins. Get straight the
-- // constant if available.
-- MDeviceProfile *dev = MDeviceProfile::instance();
-- QSettings ini("/usr/share/themes/base/meegotouch/constants.ini",
-- QSettings::IniFormat);
-- QString mm = ini.value("Sizes/HEIGHT_STATUSBAR").toString();
-- if (mm.endsWith("mm"))
-- statusBarHeight = dev->mmToPixels(atoi(mm.toLatin1().constData()));
- continue;
- }
- }
-@@ -530,16 +520,16 @@ void MDecoratorWindow::setInputRegion()
- // Decoration includes the status bar, and possibly other elements.
- QRect sbrect;
- if (statusBar) {
-- sbrect = statusBar->geometry().toRect();
-- if (statusBarHeight)
-- sbrect.setHeight(statusBarHeight);
-+ sbrect = statusBar->sceneBoundingRect().toRect();
-+ sbrect.setHeight(statusBar->property("sharedPixmapHeight").value<qreal>());
- }
- region = sbrect;
-+
- if (!only_statusbar) {
-- region += navigationBar->geometry().toRect();
-- region += homeButtonPanel->geometry().toRect();
-+ region += navigationBar->sceneBoundingRect().toRect();
-+ region += homeButtonPanel->sceneBoundingRect().toRect();
- if (escapeButtonPanel)
-- region += escapeButtonPanel->geometry().toRect();
-+ region += escapeButtonPanel->sceneBoundingRect().toRect();
- }
-
- // The coordinates we receive from libmeegotouch are rotated
-diff --git a/decorators/mdecorator/mdecoratorwindow.h b/decorators/mdecorator/mdecoratorwindow.h
-index e0c043d..ad919a7 100644
---- a/decorators/mdecorator/mdecoratorwindow.h
-+++ b/decorators/mdecorator/mdecoratorwindow.h
-@@ -90,7 +90,6 @@ private:
- MEscapeButtonPanel *escapeButtonPanel;
- MNavigationBar *navigationBar;
- MStatusBar *statusBar;
-- unsigned statusBarHeight;
- MMessageBox *messageBox;
- Window managed_window;
- QRect availableRect; // available area for the managed window
---
-1.6.1
-
+--- a/decorators/mdecorator/mdecoratorwindow.cpp
++++ b/decorators/mdecorator/mdecoratorwindow.cpp
+@@ -245,7 +245,6 @@ MDecoratorWindow::MDecoratorWindow(QWidg
+ escapeButtonPanel(0),
+ navigationBar(0),
+ statusBar(0),
+- statusBarHeight(0),
+ messageBox(0),
+ managed_window(0),
+ menuVisible(false)
+@@ -278,15 +277,6 @@ MDecoratorWindow::MDecoratorWindow(QWidg
+ if (!statusBar) {
+ statusBar = dynamic_cast<MStatusBar*>(item);
+ if (statusBar) {
+- // We can't believe statusBar.geometry() because it
+- // includes some unwanted margins. Get straight the
+- // constant if available.
+- MDeviceProfile *dev = MDeviceProfile::instance();
+- QSettings ini("/usr/share/themes/base/meegotouch/constants.ini",
+- QSettings::IniFormat);
+- QString mm = ini.value("Sizes/HEIGHT_STATUSBAR").toString();
+- if (mm.endsWith("mm"))
+- statusBarHeight = dev->mmToPixels(atoi(mm.toLatin1().constData()));
+ continue;
+ }
+ }
+@@ -521,16 +511,16 @@ void MDecoratorWindow::setInputRegion()
+ // Decoration includes the status bar, and possibly other elements.
+ QRect sbrect;
+ if (statusBar) {
+- sbrect = statusBar->geometry().toRect();
+- if (statusBarHeight)
+- sbrect.setHeight(statusBarHeight);
++ sbrect = statusBar->sceneBoundingRect().toRect();
++ sbrect.setHeight(statusBar->property("sharedPixmapHeight").value<qreal>());
+ }
+ region = sbrect;
++
+ if (!only_statusbar) {
+- region += navigationBar->geometry().toRect();
+- region += homeButtonPanel->geometry().toRect();
++ region += navigationBar->sceneBoundingRect().toRect();
++ region += homeButtonPanel->sceneBoundingRect().toRect();
+ if (escapeButtonPanel)
+- region += escapeButtonPanel->geometry().toRect();
++ region += escapeButtonPanel->sceneBoundingRect().toRect();
+ }
+
+ // The coordinates we receive from libmeegotouch are rotated
+--- a/decorators/mdecorator/mdecoratorwindow.h
++++ b/decorators/mdecorator/mdecoratorwindow.h
+@@ -90,7 +90,6 @@ private:
+ MEscapeButtonPanel *escapeButtonPanel;
+ MNavigationBar *navigationBar;
+ MStatusBar *statusBar;
+- unsigned statusBarHeight;
+ MMessageBox *messageBox;
+ Window managed_window;
+ QRect availableRect; // available area for the managed window
++++++ BMC_14207_double_xterm_thumbnail.patch
--- BMC_14207_double_xterm_thumbnail.patch
+++ BMC_14207_double_xterm_thumbnail.patch
@@ -10,11 +10,9 @@
decorators/mdecorator/mdecoratorwindow.cpp | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
-diff --git a/decorators/mdecorator/mdecoratorwindow.cpp b/decorators/mdecorator/mdecoratorwindow.cpp
-index 4e33845..4ec3854 100644
--- a/decorators/mdecorator/mdecoratorwindow.cpp
+++ b/decorators/mdecorator/mdecoratorwindow.cpp
-@@ -472,6 +472,7 @@ void MDecoratorWindow::setInputRegion()
+@@ -505,6 +505,7 @@ void MDecoratorWindow::setInputRegion()
const QRegion fs(QApplication::desktop()->screenGeometry());
// region := decoration region
if (messageBox || menuVisible) {
@@ -22,7 +20,7 @@
// Occupy all space.
region = fs;
} else {
-@@ -602,19 +603,24 @@ void MDecoratorWindow::menuAppearing()
+@@ -636,19 +637,24 @@ void MDecoratorWindow::menuAppearing()
{
if (menuVisible)
return;
@@ -51,6 +49,3 @@
}
void MDecoratorWindow::menuDisappeared()
---
-1.6.1
-
++++++ Fix-flashing-in-transition-starts.patch (new)
--- Fix-flashing-in-transition-starts.patch
+++ Fix-flashing-in-transition-starts.patch
+From 69c57b00fe05f9bab92d0de429aff5942b7c08f9 Mon Sep 17 00:00:00 2001
+From: Kalle Vahlman <kalle.vahlman at movial.com>
+Date: Tue, 15 Feb 2011 19:02:06 -0500
+Subject: [PATCH 1/2] Fix flashing in transition starts
+
+Make sure that in the case of a reverse transition, the window is not
+visible until the initial transformation has been set.
+
+We also need to make sure the QGraphicsItem representing the window is
+visible when transitioning in the first time. Calling setVisible for the
+MCompositeWindow doesn't work since it doesn't react if the transition
+is on...
+---
+ src/mcompwindowanimator.cpp | 5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+--- a/src/mcompwindowanimator.cpp
++++ b/src/mcompwindowanimator.cpp
+@@ -96,6 +96,8 @@ void MCompWindowAnimator::advanceFrame(q
+ behind->setOpacity(!reversed ? opac_rev : opac_norm);
+ }
+
++ qobject_cast<QGraphicsItem *>(item)->setVisible(true);
++
+ MCompositeManager *p = (MCompositeManager *) qApp;
+ p->d->glwidget->update();
+ }
+@@ -140,6 +142,9 @@ void MCompWindowAnimator::translateScale
+ anim.setPosAt(1.0, newPos);
+ }
+
++ if (reverse)
++ item->setVisible(false);
++
+ if (!deferred_animation)
+ if (timer.state() == QTimeLine::NotRunning) {
+ emit transitionStart();
++++++ Introduce-Rotate-in-transition.patch (new)
--- Introduce-Rotate-in-transition.patch
+++ Introduce-Rotate-in-transition.patch
+From 78696ab24720e72abae647c987ee239faf792f3e Mon Sep 17 00:00:00 2001
+From: Kalle Vahlman <kalle.vahlman at movial.com>
+Date: Wed, 23 Mar 2011 01:53:21 -0400
+Subject: [PATCH 3/4] Introduce Rotate in transition
+
+---
+ src/manimatortransitionrotatein.cpp | 137 +++++++++++++++++++++++++++++++++++
+ src/manimatortransitionrotatein.h | 64 ++++++++++++++++
+ src/src.pro | 2 +
+ 3 files changed, 203 insertions(+), 0 deletions(-)
+ create mode 100644 src/manimatortransitionrotatein.cpp
+ create mode 100644 src/manimatortransitionrotatein.h
+
+--- /dev/null
++++ b/src/manimatortransitionrotatein.cpp
+@@ -0,0 +1,137 @@
++/***************************************************************************
++** Horizontal scroll window transition.
++** Copyright © 2010, Intel Corporation.
++**
++** This library is free software; you can redistribute it and/or
++** modify it under the terms of the GNU Lesser General Public
++** License version 2.1 as published by the Free Software Foundation
++** and appearing in the file LICENSE.LGPL included in the packaging
++** of this file.
++**
++****************************************************************************/
++
++#include "mcompwindowanimator.h"
++#include "manimatortransitioninterface.h"
++#include "manimatortransitionrotatein.h"
++#include "mcompositewindow.h"
++
++MAnimatorTransitionRotateIn::MAnimatorTransitionRotateIn(MCompWindowAnimator *tor)
++ : QObject(),
++ m_tor(tor)
++{
++
++}
++
++// item transition
++void MAnimatorTransitionRotateIn::advanceFrame(MCompositeWindow *item,
++ QTransform &matrix,
++ QGraphicsItemAnimation &anim,
++ QTimeLine &timer,
++ qreal step,
++ bool reverse)
++{
++ Q_UNUSED(timer);
++
++ item->setVisible(true);
++
++ // We need the item to stay put
++ item->setPos(QPointF(0,0));
++
++ qreal deg = -90*(reverse ? 1.0-step : step);
++ qreal ox = item->boundingRect().width()/2.0;
++ qreal oy = item->boundingRect().height()/2.0;
++
++ QTransform t;
++ t.translate(ox, oy);
++ t.scale(anim.horizontalScaleAt(step), anim.verticalScaleAt(step));
++ t.rotate(deg, Qt::YAxis);
++ t.translate(-ox, -oy);
++ item->setTransform(t);
++
++ // FIXME: need to interpolate
++ item->setOpacity(reverse ? step : 1.0-step);
++
++ MCompositeWindow* behind = item->behind();
++ if (behind) {
++ // FIXME: need to interpolate
++ behind->setOpacity(reverse ? 1.0-step : step);
++ behind->setPos(QPointF(0,0));
++ QTransform bt;
++ bt.scale(behind_anim.horizontalScaleAt(step),
++ behind_anim.verticalScaleAt(step));
++ bt.translate(behind_anim.posAt(step).x(), behind_anim.posAt(step).y());
++ behind->setTransform(bt);
++ }
++}
++
++// translate item + scale
++void MAnimatorTransitionRotateIn::translateScale(MCompositeWindow *item,
++ QTransform &matrix,
++ QGraphicsItemAnimation &anim,
++ QTimeLine &timer,
++ qreal fromSx, qreal fromSy,
++ qreal toSx, qreal toSy,
++ const QPointF &newPos,
++ bool reverse)
++{
++ Q_UNUSED(matrix);
++ Q_UNUSED(fromSx);
++ Q_UNUSED(fromSy);
++ Q_UNUSED(toSx);
++ Q_UNUSED(toSy);
++
++ anim.clear();
++
++ item->resetTransform();
++
++ qreal height = item->boundingRect().height();
++ qreal width = item->boundingRect().width();
++ QPoint startPos(width/4.0, height/5.0);
++
++ MCompositeWindow* behind = item->behind();
++ if (behind)
++ {
++ behind->resetTransform();
++ behind_anim.clear();
++ }
++
++ if (!reverse) {
++ timer.setCurveShape(QTimeLine::EaseInCurve);
++
++ anim.setScaleAt(0, 1.0, 1.0);
++ anim.setScaleAt(1.0, 0.25, 0.25);
++ anim.setPosAt(0.0, QPoint(0, 0));
++ anim.setPosAt(1.0, startPos);
++
++ if (behind)
++ {
++ qreal h = behind->boundingRect().height();
++ qreal w = behind->boundingRect().width();
++ QPoint sPos(width/6.0, height/6.0);
++
++ behind_anim.setScaleAt(0.0, 0.75, 0.75);
++ behind_anim.setScaleAt(1.0, 1.0, 1.0);
++ behind_anim.setPosAt(0.0, sPos);
++ behind_anim.setPosAt(1.0, QPoint(0, 0));
++ }
++ } else {
++ timer.setCurveShape(QTimeLine::EaseInCurve);
++
++ anim.setScaleAt(0, 0.25, 0.25);
++ anim.setScaleAt(1.0, 1.0, 1.0);
++ anim.setPosAt(0.0, startPos);
++ anim.setPosAt(1.0, QPoint(0, 0));
++
++ if (behind)
++ {
++ qreal h = behind->boundingRect().height();
++ qreal w = behind->boundingRect().width();
++ QPoint sPos(width/10.0, height/10.0);
++
++ behind_anim.setScaleAt(0.0, 1.0, 1.0);
++ behind_anim.setScaleAt(1.0, 0.9, 0.9);
++ behind_anim.setPosAt(0.0, QPoint(0, 0));
++ behind_anim.setPosAt(1.0, sPos);
++ }
++ }
++}
+--- /dev/null
++++ b/src/manimatortransitionrotatein.h
+@@ -0,0 +1,64 @@
++/***************************************************************************
++** Drop down / Rocket up window transition.
++** Copyright © 2010, Intel Corporation.
++**
++** This library is free software; you can redistribute it and/or
++** modify it under the terms of the GNU Lesser General Public
++** License version 2.1 as published by the Free Software Foundation
++** and appearing in the file LICENSE.LGPL included in the packaging
++** of this file.
++**
++****************************************************************************/
++
++#ifndef MANIMATORTRANSITIONROTATEIN_H
++#define MANIMATORTRANSITIONROTATEIN_H
++
++#include <QObject>
++#include <QGraphicsItemAnimation>
++
++#include "manimatortransitioninterface.h"
++
++class MCompWindowAnimator;
++class MCompositeWindow;
++class QTransform;
++class QGraphicsItemAnimation;
++class QTimeLine;
++class QPointF;
++
++/*!
++ * Transition with drop in / rocket out effect
++ */
++class MAnimatorTransitionRotateIn: public QObject, public MAnimatorTransitionInterface
++{
++ Q_OBJECT
++// Q_INTERFACES(MAnimatorTransitionInterface)
++
++public:
++
++ MAnimatorTransitionRotateIn(MCompWindowAnimator *tor);
++
++ void translateScale(MCompositeWindow *item,
++ QTransform &matrix,
++ QGraphicsItemAnimation &anim,
(40 more lines skipped)
++++++ Introduce-_MEEGOTOUCH_SKIP_ANIMATIONS-window-propert.patch (new)
--- Introduce-_MEEGOTOUCH_SKIP_ANIMATIONS-window-propert.patch
+++ Introduce-_MEEGOTOUCH_SKIP_ANIMATIONS-window-propert.patch
+From e120355a7a24bd0a283fbad4a9d909557f1168f9 Mon Sep 17 00:00:00 2001
+From: Kalle Vahlman <kalle.vahlman at movial.com>
+Date: Fri, 11 Mar 2011 06:28:57 -0500
+Subject: [PATCH 2/2] Introduce _MEEGOTOUCH_SKIP_ANIMATIONS window property
+
+Setting this property for a window makes mcompositor skip the transition
+animations for the window in question.
+---
+ src/mcompatoms_p.h | 1 +
+ src/mcompositemanager.cpp | 1 +
+ src/mcompositewindow.cpp | 19 +++++++++++++++++++
+ src/mwindowpropertycache.cpp | 22 ++++++++++++++++++++++
+ src/mwindowpropertycache.h | 5 ++++-
+ 5 files changed, 47 insertions(+), 1 deletions(-)
+
+--- a/src/mcompatoms_p.h
++++ b/src/mcompatoms_p.h
+@@ -98,6 +98,7 @@ public:
+ _MEEGOTOUCH_MSTATUSBAR_GEOMETRY,
+ _MEEGOTOUCH_CUSTOM_REGION,
+ _MEEGOTOUCH_ORIENTATION_ANGLE,
++ _MEEGOTOUCH_SKIP_ANIMATIONS,
+
+ #ifdef WINDOW_DEBUG
+ _M_WM_INFO,
+--- a/src/mcompositemanager.cpp
++++ b/src/mcompositemanager.cpp
+@@ -197,6 +197,7 @@ MCompAtoms::MCompAtoms()
+ "_MEEGOTOUCH_MSTATUSBAR_GEOMETRY",
+ "_MEEGOTOUCH_CUSTOM_REGION",
+ "_MEEGOTOUCH_ORIENTATION_ANGLE",
++ "_MEEGOTOUCH_SKIP_ANIMATIONS",
+
+ #ifdef WINDOW_DEBUG
+ // custom properties for CITA
+--- a/src/mcompositewindow.cpp
++++ b/src/mcompositewindow.cpp
+@@ -172,6 +172,13 @@ void MCompositeWindow::iconify(const QRe
+ return;
+ }
+
++ if (pc->skipAnimations()) {
++ iconified = true;
++ beginAnimation();
++ finalizeState();
++ return;
++ }
++
+ if (window_status != MCompositeWindow::Closing)
+ window_status = MCompositeWindow::Minimizing;
+
+@@ -299,6 +306,13 @@ void MCompositeWindow::updateIconGeometr
+ // TODO: have an option of disabling the animation
+ void MCompositeWindow::restore(const QRectF &icongeometry, bool defer)
+ {
++ if (pc->skipAnimations()) {
++ iconified = false;
++ beginAnimation();
++ finalizeState();
++ return;
++ }
++
+ // Custom restore handler
+ MCompositeManager *p = (MCompositeManager *) qApp;
+ QList<MCompositeManagerExtension*> evlist = p->d->m_extensions.values(MapNotify);
+@@ -414,6 +428,11 @@ void MCompositeWindow::closeWindowAnimat
+ return;
+ }
+ window_status = Closing; // animating, do not disturb
++
++ if (pc->skipAnimations()) {
++ finalizeState();
++ return;
++ }
+
+ MCompositeManager *p = (MCompositeManager *) qApp;
+ bool defer = false;
+--- a/src/mwindowpropertycache.cpp
++++ b/src/mwindowpropertycache.cpp
+@@ -122,6 +122,7 @@ void MWindowPropertyCache::init()
+ parent_window = QX11Info::appRootWindow();
+ always_mapped = 0;
+ cannot_minimize = 0;
++ skip_animations = 0;
+ desktop_view = -1;
+ being_mapped = false;
+ dont_iconify = false;
+@@ -226,6 +227,9 @@ MWindowPropertyCache::MWindowPropertyCac
+ XCB_ATOM_CARDINAL));
+ addRequest(SLOT(wmName()),
+ requestProperty(MCompAtoms::WM_NAME, XCB_ATOM_STRING, 100));
++ addRequest(SLOT(skipAnimations()),
++ requestProperty(MCompAtoms::_MEEGOTOUCH_SKIP_ANIMATIONS,
++ XCB_ATOM_CARDINAL));
+
+ // add any transients to the transients list
+ MCompositeManager *m = (MCompositeManager*)qApp;
+@@ -496,6 +500,24 @@ void MWindowPropertyCache::desktopView(b
+ XCB_ATOM_CARDINAL));
+ }
+
++int MWindowPropertyCache::skipAnimations()
++{
++ QLatin1String me(SLOT(skipAnimations()));
++ if (is_valid && requests[me]) {
++ xcb_get_property_cookie_t c = { requests[me] };
++ xcb_get_property_reply_t *r;
++ r = xcb_get_property_reply(xcb_conn, c, 0);
++ replyCollected(me);
++ skip_animations = 0;
++ if (r) {
++ if (xcb_get_property_value_length(r) == sizeof(CARD32))
++ skip_animations = *((CARD32*)xcb_get_property_value(r));
++ free(r);
++ }
++ }
++ return skip_animations;
++}
++
+ unsigned int MWindowPropertyCache::meegoStackingLayer()
+ {
+ QLatin1String me(SLOT(meegoStackingLayer()));
+--- a/src/mwindowpropertycache.h
++++ b/src/mwindowpropertycache.h
+@@ -186,6 +186,9 @@ public slots:
+ // WM_NAME
+ const QString &wmName();
+
++ // Returns value of _MEEGOTOUCH_SKIP_ANIMATIONS.
++ int skipAnimations();
++
+ public:
+ /*!
+ * Called on PropertyNotify for this window.
+@@ -247,7 +250,7 @@ private:
+ MCompAtoms::Type window_type;
+ Window window, parent_window;
+ int always_mapped, cannot_minimize, desktop_view;
+- bool being_mapped, dont_iconify;
++ bool being_mapped, dont_iconify, skip_animations;
+ QRegion custom_region;
+ unsigned orientation_angle;
+ QRegion shape_region;
++++++ Take-the-new-transition-interface-into-use-in-MCompW.patch (new)
--- Take-the-new-transition-interface-into-use-in-MCompW.patch
+++ Take-the-new-transition-interface-into-use-in-MCompW.patch
+From 70179d0c783e315522889d69653521de7558be1d Mon Sep 17 00:00:00 2001
+From: Kalle Vahlman <kalle.vahlman at movial.com>
+Date: Tue, 28 Dec 2010 07:19:01 +0000
+Subject: [PATCH 4/4] Take the new transition interface into use in MCompWindowAnimator
+
+---
+ src/mcompositewindow.cpp | 3 +-
+ src/mcompwindowanimator.cpp | 56 +++++++------------------------------------
+ src/mcompwindowanimator.h | 6 ++++
+ 3 files changed, 16 insertions(+), 49 deletions(-)
+
+--- a/src/mcompositewindow.cpp
++++ b/src/mcompositewindow.cpp
+@@ -327,7 +327,7 @@ void MCompositeWindow::restore(const QRe
+ this->iconGeometry = fadeRect;
+ else
+ this->iconGeometry = icongeometry;
+- setPos(iconGeometry.topLeft());
++
+ // horizontal and vert. scaling factors
+ qreal sx = iconGeometry.width() / boundingRect().width();
+ qreal sy = iconGeometry.height() / boundingRect().height();
+@@ -398,7 +398,6 @@ void MCompositeWindow::q_fadeIn()
+ return;
+ }
+
+- setPos(fadeRect.topLeft());
+ restore(fadeRect, false);
+ }
+
+--- a/src/mcompwindowanimator.cpp
++++ b/src/mcompwindowanimator.cpp
+@@ -22,16 +22,13 @@
+ #include "mcompositemanager.h"
+ #include "mcompositemanager_p.h"
+
+-static int Fps = 60;
++#include "manimatortransitionrotatein.h"
+
+-static qreal interpolate(qreal step, qreal x1, qreal x2)
+-{
+- return ((x2 - x1) * step) + x1;
+-}
++static int Fps = 60;
+
+ MCompWindowAnimator::MCompWindowAnimator(MCompositeWindow *comp_win)
+ : QObject(comp_win),
+- timer(200),
++ timer(400),
+ reversed(false),
+ deferred_animation(false)
+ {
+@@ -46,6 +43,8 @@ MCompWindowAnimator::MCompWindowAnimator
+ connect(&timer, SIGNAL(valueChanged(qreal)), SLOT(advanceFrame(qreal)));
+ connect(&timer, SIGNAL(finished()), SIGNAL(transitionDone()));
+ connect(&timer, SIGNAL(finished()), SLOT(resetState()));
++
++ trans = (MAnimatorTransitionInterface*) new MAnimatorTransitionRotateIn(this);
+ }
+
+ // restore original global state w/ animation
+@@ -73,31 +72,10 @@ void MCompWindowAnimator::restore()
+ // item transition
+ void MCompWindowAnimator::advanceFrame(qreal step)
+ {
+-#define OPAQUE 1.0
+-#define DIMMED 0.1
+-
+- //item->setTransform(QTransform(anim.matrixAt(step)) );
+- item->setTransform(matrix);
+-
+- item->scale(anim.horizontalScaleAt(step),
+- anim.verticalScaleAt(step));
+- item->setPos(anim.posAt(step));
+-
+- qreal opac_norm = interpolate(step, OPAQUE, DIMMED);
+- qreal opac_rev = interpolate(step, DIMMED, OPAQUE);
+-
+- // TODO: move calculation to GPU to imrpove speed
+- // TODO: Use QPropertyAnimation instead
+- item->setDimmedEffect(false);
+- item->setOpacity(!reversed ? opac_norm : opac_rev);
+- MCompositeWindow* behind = item->behind();
+- if (behind) {
+- behind->setDimmedEffect(true);
+- behind->setOpacity(!reversed ? opac_rev : opac_norm);
+- }
+-
+ qobject_cast<QGraphicsItem *>(item)->setVisible(true);
+
++ trans->advanceFrame(item, matrix, anim, timer, step, reversed);
++
+ MCompositeManager *p = (MCompositeManager *) qApp;
+ p->d->glwidget->update();
+ }
+@@ -123,24 +101,8 @@ void MCompWindowAnimator::translateScale
+ {
+ reversed = reverse;
+
+- if (!reverse) {
+- timer.setCurveShape(QTimeLine::EaseInCurve);
+-
+- anim.setScaleAt(0, fromSx, fromSy);
+- anim.setScaleAt(1.0, toSx, toSy);
+- anim.setPosAt(0, item->pos());
+- anim.setPosAt(1.0, newPos);
+- } else {
+- timer.setCurveShape(QTimeLine::EaseOutCurve);
+-
+- if (item->transform().m22() == 1.0 && item->transform().m11() == 1.0)
+- item->scale(toSx, toSy);
+-
+- anim.setScaleAt(0, toSx, toSy);
+- anim.setScaleAt(1.0, fromSx, fromSy);
+- anim.setPosAt(0, item->pos());
+- anim.setPosAt(1.0, newPos);
+- }
++ trans->translateScale(item, matrix, anim, timer,
++ fromSx, fromSy, toSx, toSy, newPos, reverse);
+
+ if (reverse)
+ item->setVisible(false);
+--- a/src/mcompwindowanimator.h
++++ b/src/mcompwindowanimator.h
+@@ -27,6 +27,7 @@
+
+ class QGraphicsItem;
+ class MCompositeWindow;
++class MAnimatorTransitionInterface;
+
+ /*!
+ * This class is responsible for complete control of the animation of
+@@ -111,6 +112,11 @@ private:
+ // reverse animation
+ bool reversed;
+ bool deferred_animation;
++
++ // Current transition
++ MAnimatorTransitionInterface *trans;
++
++ friend class MAnimatorTransition;
+ };
+
+ #endif
++++++ Use-QTransform-rather-than-the-deprecated-matrix-cla.patch (new)
--- Use-QTransform-rather-than-the-deprecated-matrix-cla.patch
+++ Use-QTransform-rather-than-the-deprecated-matrix-cla.patch
+From de314cc7b7f10723c30a37f66ae06b788a36a047 Mon Sep 17 00:00:00 2001
+From: Kalle Vahlman <kalle.vahlman at movial.com>
+Date: Tue, 22 Mar 2011 03:40:51 -0400
+Subject: [PATCH 1/4] Use QTransform rather than the deprecated matrix class in MCompositeScene
+
+---
+ src/mcompositescene.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+--- a/src/mcompositescene.cpp
++++ b/src/mcompositescene.cpp
+@@ -147,7 +147,7 @@ void MCompositeScene::drawItems(QPainter
+ desktop_painted = true;
+ }
+ // TODO: paint only the intersected region (glScissor?)
+- painter->setMatrix(cw->sceneMatrix(), true);
++ painter->setTransform(cw->sceneTransform(), true);
+ cw->paint(painter, &options[item_i], widget);
+ painter->restore();
+ }
++++++ XSync-after-un-redirecting-windows-in-EGL-MTexturePi.patch (new)
--- XSync-after-un-redirecting-windows-in-EGL-MTexturePi.patch
+++ XSync-after-un-redirecting-windows-in-EGL-MTexturePi.patch
+From 91060dae8c42d6b49621d2cc2e29871bda9f4860 Mon Sep 17 00:00:00 2001
+From: Kalle Vahlman <kalle.vahlman at movial.com>
+Date: Fri, 18 Mar 2011 10:10:59 -0400
+Subject: [PATCH] XSync() after (un)redirecting windows in EGL MTexturePixmapItem, like GLX version does
+
+---
+ src/mtexturepixmapitem_egl.cpp | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+--- a/src/mtexturepixmapitem_egl.cpp
++++ b/src/mtexturepixmapitem_egl.cpp
+@@ -207,6 +207,7 @@ void MTexturePixmapItem::enableDirectFbR
+ }
+ XCompositeUnredirectWindow(QX11Info::display(), window(),
+ CompositeRedirectManual);
++ XSync(QX11Info::display(), FALSE);
+ }
+
+ void MTexturePixmapItem::enableRedirectedRendering()
+@@ -219,6 +220,7 @@ void MTexturePixmapItem::enableRedirecte
+ d->direct_fb_render = false;
+ XCompositeRedirectWindow(QX11Info::display(), window(),
+ CompositeRedirectManual);
++ XSync(QX11Info::display(), FALSE);
+ saveBackingStore();
+ updateWindowPixmap();
+ }
++++++ decorator_removal.patch (new)
--- decorator_removal.patch
+++ decorator_removal.patch
+From 09fdf5793e6da9a5325b51fce3a6e8dc723e2f24 Mon Sep 17 00:00:00 2001
+From: Mika Yrjola <mika.yrjola at movial.com>
+Date: Thu, 17 Mar 2011 13:30:54 +0200
+Subject: [PATCH] Decorator removal for 0.8.5-1
+
+---
+ decorators/decorators.pro | 16 -
+ decorators/libdecorator/interface.xml | 19 -
+ decorators/libdecorator/libdecorator.pro | 27 -
+ decorators/libdecorator/mabstractappinterface.cpp | 118 ----
+ decorators/libdecorator/mabstractappinterface.h | 97 ---
+ decorators/libdecorator/mabstractdecorator.cpp | 155 -----
+ decorators/libdecorator/mabstractdecorator.h | 160 -----
+ decorators/libdecorator/mdecorator_dbus.xml | 20 -
+ decorators/libdecorator/mrmiclient.cpp | 279 ---------
+ decorators/libdecorator/mrmiclient.h | 124 ----
+ decorators/libdecorator/mrmiclient_p.h | 74 ---
+ decorators/libdecorator/mrmiserver.cpp | 323 ----------
+ decorators/libdecorator/mrmiserver.h | 86 ---
+ decorators/libdecorator/mrmiserver_p.h | 73 ---
+ decorators/mdecorator/main.cpp | 49 --
+ decorators/mdecorator/mdecorator.pro | 17 -
+ decorators/mdecorator/mdecoratorwindow.cpp | 671 ---------------------
+ decorators/mdecorator/mdecoratorwindow.h | 107 ----
+ mcompositor.pro | 7 +-
+ mcompositor/mcompositor.pro | 2 +-
+ src/mcompatoms_p.h | 3 -
+ src/mcompositemanager.cpp | 597 ++----------------
+ src/mcompositemanager.h | 17 +-
+ src/mcompositemanager_p.h | 12 +-
+ src/mcompositescene.cpp | 15 +-
+ src/mcompositewindow.cpp | 19 +-
+ src/mcompositewindow.h | 10 -
+ src/mdecoratorframe.cpp | 190 ------
+ src/mdecoratorframe.h | 118 ----
+ src/mwindowpropertycache.cpp | 22 -
+ src/mwindowpropertycache.h | 2 -
+ src/src.pro | 8 +-
+ tests/appinterface/appinterface.pro | 14 -
+ tests/appinterface/main.cpp | 159 -----
+ tests/tests.pro | 3 +-
+ translations/recovery.ts | 27 -
+ translations/translations.pro | 4 +-
+ 38 files changed, 81 insertions(+), 3564 deletions(-)
+ delete mode 100644 decorators/decorators.pro
+ delete mode 100644 decorators/libdecorator/interface.xml
+ delete mode 100644 decorators/libdecorator/libdecorator.pro
+ delete mode 100644 decorators/libdecorator/mabstractappinterface.cpp
+ delete mode 100644 decorators/libdecorator/mabstractappinterface.h
+ delete mode 100644 decorators/libdecorator/mabstractdecorator.cpp
+ delete mode 100644 decorators/libdecorator/mabstractdecorator.h
+ delete mode 100644 decorators/libdecorator/mdecorator_dbus.xml
+ delete mode 100644 decorators/libdecorator/mrmiclient.cpp
+ delete mode 100644 decorators/libdecorator/mrmiclient.h
+ delete mode 100644 decorators/libdecorator/mrmiclient_p.h
+ delete mode 100644 decorators/libdecorator/mrmiserver.cpp
+ delete mode 100644 decorators/libdecorator/mrmiserver.h
+ delete mode 100644 decorators/libdecorator/mrmiserver_p.h
+ delete mode 100644 decorators/mdecorator/main.cpp
+ delete mode 100644 decorators/mdecorator/mdecorator.pro
+ delete mode 100644 decorators/mdecorator/mdecoratorwindow.cpp
+ delete mode 100644 decorators/mdecorator/mdecoratorwindow.h
+ delete mode 100644 src/mdecoratorframe.cpp
+ delete mode 100644 src/mdecoratorframe.h
+ delete mode 100644 tests/appinterface/appinterface.pro
+ delete mode 100644 tests/appinterface/main.cpp
+ delete mode 100644 translations/recovery.ts
+
+--- a/decorators/decorators.pro
++++ /dev/null
+@@ -1,16 +0,0 @@
+-TEMPLATE = subdirs
+-#temporary disable
+-CONFIG+=ordered
+-SUBDIRS += \
+- sub_lib \
+- sub_decorator \
+-
+-sub_lib.subdir=libdecorator
+-
+-sub_decorator.depends=sub_lib
+-sub_decorator.subdir=mdecorator
+-
+-
+-check.target = check
+-check.CONFIG = recursive
+-QMAKE_EXTRA_TARGETS += check
+--- a/decorators/libdecorator/interface.xml
++++ /dev/null
+@@ -1,19 +0,0 @@
+- <!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+- "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+- <node>
+- <interface name="com.nokia.MDecorator">
+- <method name="setActions">
+- <arg type="a(ssbbuay)" name="actions" direction="in" />
+- <annotation name="com.trolltech.QtDBus.QtTypeName.In0" value="IPCActionList"/>
+- <arg type="u" name="window" direction="in" />
+- </method>
+- <signal name="triggered">
+- <arg type="s" name="uuid" direction="out" />
+- <arg type="b" name="checked" direction="out" />
+- </signal>
+- <signal name="toggled">
+- <arg type="s" name="uuid" direction="out" />
+- <arg type="b" name="checked" direction="out" />
+- </signal>
+- </interface>
+- </node>
+--- a/decorators/libdecorator/libdecorator.pro
++++ /dev/null
+@@ -1,27 +0,0 @@
+-include(../../meegotouch_config.pri)
+-TEMPLATE = lib
+-DEPENDPATH += .
+-INCLUDEPATH += .
+-CONFIG += dll release
+-QT += opengl network dbus
+-TARGET = decorator
+-
+-DBUS_ADAPTORS = mdecorator_dbus.xml
+-DBUS_INTERFACES = mdecorator_dbus.xml
+-QMAKE_QDBUSXML2CPP = $$[QT_INSTALL_BINS]/qdbusxml2cpp -i mabstractappinterface.h \$(if $(filter mdecorator_dbus_interface.%,\$@),-c MDecoratorInterface)
+-
+-publicHeaders.files = mabstractdecorator.h mrmiclient.h mrmiserver.h \
+- mabstractappinterface.h mdecorator_dbus_interface.h
+-HEADERS += $${publicHeaders.files} mrmiclient_p.h mrmiserver_p.h
+-SOURCES += mabstractdecorator.cpp mrmiclient.cpp mrmiserver.cpp \
+- mabstractappinterface.cpp
+-PRE_TARGETDEPS += mdecorator_dbus_interface.h
+-
+-publicHeaders.path = $$M_INSTALL_HEADERS/libdecorator
+-publicHeaders.CONFIG += no_check_exist
+-INSTALLS += publicHeaders
+-target.path = /usr/lib
+-INSTALLS += target
+-QMAKE_EXTRA_TARGETS += check
+-check.depends = $$TARGET
+-check.commands = $$system(true)
+--- a/decorators/libdecorator/mabstractappinterface.cpp
++++ /dev/null
+@@ -1,118 +0,0 @@
+-/***************************************************************************
+-**
+-** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+-** All rights reserved.
+-** Contact: Nokia Corporation (directui at nokia.com)
+-**
+-** This file is part of duicompositor.
+-**
+-** If you have questions regarding the use of this file, please contact
+-** Nokia at directui at nokia.com.
+-**
+-** This library is free software; you can redistribute it and/or
+-** modify it under the terms of the GNU Lesser General Public
+-** License version 2.1 as published by the Free Software Foundation
+-** and appearing in the file LICENSE.LGPL included in the packaging
+-** of this file.
+-**
+-****************************************************************************/
+-
+-#include <QtDebug>
+-
+-#include "mabstractappinterface.h"
+-#include "mdecorator_dbus_adaptor.h"
+-#include "mabstractdecorator.h"
+-#include <mrmiserver.h>
+-#include <mrmiclient.h>
+-#include <QX11Info>
+-#include <QRect>
+-#include <QRegion>
+-#include <QDesktopWidget>
+-#include <QApplication>
+-#include <QMenu>
+-#include <QPixmap>
+-
+-
+-QDBusArgument &operator<<(QDBusArgument &argument, const MDecoratorIPCAction &action)
+-{
+- argument.beginStructure();
+- argument << action.m_key.toString();
+- argument << action.m_text;
+- argument << action.m_checkable;
+- argument << action.m_checked;
+- argument << (uint)action.m_type;
+-
+- if (action.m_icon.isNull()) {
+- argument << QByteArray();
+- } else {
+- if (action.m_icon.pixmap(48,48).isNull())
+- qCritical() << "MDecorator: Pixmap creation failed";
+-
+- QImage image = action.m_icon.pixmap(48,48).toImage();
+- if (image.isNull())
+- qCritical() << "MDecorator: Icon Conversion failed";
+- QByteArray data;
+- QBuffer buffer(&data);
+- buffer.open(QIODevice::WriteOnly);
(4246 more lines skipped)
++++++ do_not_use_TFP_when_EGL_KHR_image_pixmap_extension_is_missing_bmc11128.patch
--- do_not_use_TFP_when_EGL_KHR_image_pixmap_extension_is_missing_bmc11128.patch
+++ do_not_use_TFP_when_EGL_KHR_image_pixmap_extension_is_missing_bmc11128.patch
@@ -2,7 +2,7 @@
BMC: 11128
--- a/src/mtexturepixmapitem_egl.cpp
+++ b/src/mtexturepixmapitem_egl.cpp
-@@ -91,7 +91,7 @@ public:
+@@ -94,7 +94,7 @@ public:
QString exts = QLatin1String(eglQueryString(dpy, EGL_EXTENSIONS));
if ((exts.contains("EGL_KHR_image") &&
++++++ meegotouch-compositor.yaml
--- meegotouch-compositor.yaml
+++ meegotouch-compositor.yaml
@@ -15,6 +15,14 @@
- BMC_13622_statusbar_2.patch
- BMC_14207_double_xterm_thumbnail.patch
- no_mce.patch
+ - decorator_removal.patch
+ - Fix-flashing-in-transition-starts.patch
+ - Introduce-_MEEGOTOUCH_SKIP_ANIMATIONS-window-propert.patch
+ - XSync-after-un-redirecting-windows-in-EGL-MTexturePi.patch
+ - Use-QTransform-rather-than-the-deprecated-matrix-cla.patch
+ - Add-transition-interface-to-be-used-in-MCompWindowAn.patch
+ - Introduce-Rotate-in-transition.patch
+ - Take-the-new-transition-interface-into-use-in-MCompW.patch
Description: |
This package contains the Direct UI compositing window manager.
PkgConfigBR:
@@ -43,8 +51,6 @@
- mcompositor < 0.4.6
Configure: none
Builder: qmake
-ExtraSources:
- - mdecorator.desktop;%{_sysconfdir}/xdg/autostart
SubPackages:
- Name: devel
Summary: Development files for building mcompositor decorators
++++++ deleted files:
--- mdecorator.desktop
More information about the MeeGo-commits
mailing list