Hi list,
as Myriam repeatedly mentioned, we need to push a patch to packagers so that 
Amarok can be used with KDE 4.8. Some known Amarok developer (Bart, Ralf, 
Mark?) should probably send (a variant of) following message to kde-packager 
list. I've tested the 2.5.0 + attached patch personally with kdelibs 4.7.4 and 
4.8.0. (on Qt 4.8.0, that shouldn't matter)

                                                Matěj
---------------
Hi Amarok packagers,
there is a bug in Amarok 2.5.0 [1] when run on kdelibs >= 4.8.0 (no matter 
what kdelibs version Amarok was compiled against) which significantly degrades 
user experience. If you ship kdelibs 4.8.0 or plan to do so, please consider 
applying following patch to your Amarok 2.5.0 package which fixes the problem. 
The patch was also successfully tested to work with kdelibs 4.7.4.

[1] https://bugs.kde.org/show_bug.cgi?id=290123
>From 7d1fcf5139b488136871fb32e361e90311db6024 Mon Sep 17 00:00:00 2001
From: Marco Martin <notm...@gmail.com>
Date: Thu, 5 Jan 2012 16:59:05 +0100
Subject: [PATCH] contextview taskbar not child of containment

the containment being parent can control its appearance, such as
clipping. This fixes a critical bug where Context view cannot be
manipulated because the bottom line with applet list and wrench is not
visible if Amarok is used with KDE 4.8 (including betas).

This is the squashed version of the patch intended to apply directly to
Amarok v2.5.0. This patch is already in master as commits 1b2e221a98
and b3d81df5d713.

BUG:290123
---
 src/context/ToolbarView.cpp           |    6 ++++--
 src/context/toolbar/AppletToolbar.cpp |   13 +++++++++++++
 src/context/toolbar/AppletToolbar.h   |    3 +++
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/context/ToolbarView.cpp b/src/context/ToolbarView.cpp
index f3b4916..840b99b 100644
--- a/src/context/ToolbarView.cpp
+++ b/src/context/ToolbarView.cpp
@@ -74,7 +74,9 @@ Context::ToolbarView::ToolbarView( Plasma::Containment* containment, QGraphicsSc
     setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
 
     // now we create the toolbar
-    m_toolbar = new AppletToolbar( containment );
+    m_toolbar = new AppletToolbar(0);
+    scene->addItem(m_toolbar.data());
+    m_toolbar.data()->setContainment( qobject_cast<Context::Containment *>(containment) );
     m_toolbar.data()->setZValue( m_toolbar.data()->zValue() + 1000 );
     m_toolbar.data()->setPos( TOOLBAR_X_OFFSET, 0 );
 
@@ -96,7 +98,7 @@ Context::ToolbarView::ToolbarView( Plasma::Containment* containment, QGraphicsSc
 
 Context::ToolbarView::~ToolbarView()
 {
-
+    delete m_toolbar.data();
 }
 
 void
diff --git a/src/context/toolbar/AppletToolbar.cpp b/src/context/toolbar/AppletToolbar.cpp
index 0e0deb5..c51762c 100644
--- a/src/context/toolbar/AppletToolbar.cpp
+++ b/src/context/toolbar/AppletToolbar.cpp
@@ -67,6 +67,19 @@ Context::AppletToolbar::~AppletToolbar()
 }
 
 void
+
+Context::AppletToolbar::setContainment( Containment * containment )
+{
+    m_cont = containment;
+}
+
+Context::Containment *
+Context::AppletToolbar::containment() const
+{
+    return m_cont;
+}
+
+void
 Context::AppletToolbar::resizeEvent( QGraphicsSceneResizeEvent * event )
 {
     debug() << "setting layout to" << QRectF( QPointF( 0, 0 ), event->newSize() );
diff --git a/src/context/toolbar/AppletToolbar.h b/src/context/toolbar/AppletToolbar.h
index ee8a208..058baae 100644
--- a/src/context/toolbar/AppletToolbar.h
+++ b/src/context/toolbar/AppletToolbar.h
@@ -55,6 +55,9 @@ class AppletToolbar : public QGraphicsWidget
         
         void appletRemoved( Plasma::Applet* applet );
 
+        void setContainment( Containment * containment );
+        Containment* containment() const;
+
     signals:
         void showApplet( Plasma::Applet* );
         void appletAddedToToolbar( Plasma::Applet* applet, int loc );
-- 
1.7.4.5

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Amarok-devel mailing list
Amarok-devel@kde.org
https://mail.kde.org/mailman/listinfo/amarok-devel

Reply via email to