[kde-doc-english] [amarok] /: Remove the add button from the applet toolbar.
Bart Cerneels
bart.cerneels at kde.org
Fri Jun 3 14:44:36 CEST 2011
Git commit a5628ac3399cb731eadb9d9c9bf84af1112ba9ae by Bart Cerneels.
Committed on 03/06/2011 at 12:43.
Pushed by shanachie into branch 'master'.
Remove the add button from the applet toolbar.
Artyness++ live from the Randa sprint.
GUI: The applet explorer opens when config is clicked.
DIGEST:Amarok Artyness++ @ Randa
M +1 -0 ChangeLog
M +0 -1 src/context/ToolbarView.cpp
M +9 -81 src/context/toolbar/AppletToolbar.cpp
M +1 -3 src/context/toolbar/AppletToolbar.h
http://commits.kde.org/amarok/a5628ac3399cb731eadb9d9c9bf84af1112ba9ae
diff --git a/ChangeLog b/ChangeLog
index 372d098..662c6e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -11,6 +11,7 @@ VERSION 2.4.2-Beta 1
* Option to scrobble composer as artist to Last.fm (Thanks to Nicholas Wilson)
CHANGES:
+ * Removed the add button in the context toolbar. Applet explorer is opened on config.
* Easier to understand Dynamic playlists
* Now Amarok requires ffmpeg-0.6 or newer.
* Use KImageCache if possible (kdelibs 4.5.0 and later), which should
diff --git a/src/context/ToolbarView.cpp b/src/context/ToolbarView.cpp
index b676ead..110806f 100644
--- a/src/context/ToolbarView.cpp
+++ b/src/context/ToolbarView.cpp
@@ -215,7 +215,6 @@ Context::ToolbarView::appletAdded( Plasma::Applet* applet, int loc )
void
Context::ToolbarView::refreshOverlays()
{
- m_toolbar.data()->refreshAddIcons();
}
void
diff --git a/src/context/toolbar/AppletToolbar.cpp b/src/context/toolbar/AppletToolbar.cpp
index 018dfb2..712e6a0 100644
--- a/src/context/toolbar/AppletToolbar.cpp
+++ b/src/context/toolbar/AppletToolbar.cpp
@@ -39,7 +39,6 @@ Context::AppletToolbar::AppletToolbar( QGraphicsItem* parent )
, m_configMode( false )
, m_appletLayout( 0 )
, m_cont( 0 )
- , m_addItem( 0 )
, m_configItem( 0 )
{
Context::Containment* cont = dynamic_cast<Context::Containment*>( parent );
@@ -53,13 +52,6 @@ Context::AppletToolbar::AppletToolbar( QGraphicsItem* parent )
m_appletLayout = new QGraphicsLinearLayout( Qt::Horizontal, this );
- m_addItem = new AppletToolbarAddItem( this, m_cont, true );
- connect( m_addItem, SIGNAL( hideAppletExplorer() ), this, SIGNAL( hideAppletExplorer() ) );
- connect( m_addItem, SIGNAL( showAppletExplorer() ), this, SIGNAL( showAppletExplorer() ) );
-
-
- m_appletLayout->addItem( m_addItem );
- m_appletLayout->setAlignment( m_addItem, Qt::AlignRight );
m_appletLayout->setContentsMargins( 3, 3, 3, 3 );
m_appletLayout->setSpacing( 4 );
@@ -128,16 +120,6 @@ Context::AppletToolbar::appletRemoved( Plasma::Applet* applet )
app->deleteLater();
}
}
- // if all applets are removed, re-add the add item
- if( m_appletLayout->count() == 2 && m_configMode )
- {
- toggleConfigMode();
- m_appletLayout->removeItem( m_configItem );
- delete m_configItem;
- m_configItem = 0;
- m_appletLayout->insertItem( 0, m_addItem );
- m_addItem->show();
- }
}
QSizeF
@@ -159,7 +141,7 @@ void
Context::AppletToolbar::appletAdded( Plasma::Applet* applet, int loc ) // SLOT
{
DEBUG_BLOCK
-
+
debug() << "inserting applet icon in position" << loc;
if( !m_configItem )
{
@@ -168,28 +150,25 @@ Context::AppletToolbar::appletAdded( Plasma::Applet* applet, int loc ) // SLOT
m_appletLayout->addItem( m_configItem );
m_appletLayout->setAlignment( m_configItem, Qt::AlignRight );
}
-
+
if( m_configMode )
{
- // loc doesn't take into account additional + icons, also we need to add 1 more + icon
Context::AppletToolbarAppletItem* item = new Context::AppletToolbarAppletItem( this, applet );
item->setConfigEnabled( true );
- connect( item, SIGNAL( appletChosen( Plasma::Applet* ) ), this, SIGNAL( showApplet( Plasma::Applet* ) ) );
-
+ connect( item, SIGNAL( appletChosen( Plasma::Applet* ) ),
+ this, SIGNAL( showApplet( Plasma::Applet* ) ) );
+
// add the item
m_appletLayout->insertItem( loc, item );
}
else
{
Context::AppletToolbarAppletItem* item = new Context::AppletToolbarAppletItem( this, applet );
- connect( item, SIGNAL( appletChosen( Plasma::Applet* ) ), this, SIGNAL( showApplet( Plasma::Applet* ) ) );
+ connect( item, SIGNAL( appletChosen( Plasma::Applet* ) ),
+ this, SIGNAL( showApplet( Plasma::Applet* ) ) );
m_appletLayout->insertItem( loc, item );
- // since we have an applet, we remove the add applet button
- // would be better to check if it is in there (otherwise we try to erase it on each add)
- // but there is no QGraphicsLinearLayout->contains() or ->indexOf()
- m_addItem->hide();
- m_appletLayout->removeItem( m_addItem );
}
+
// notifications for others who need to know when the layout is done adding the applet
emit appletAddedToToolbar( applet, loc );
}
@@ -203,24 +182,7 @@ Context::AppletToolbar::toggleConfigMode() // SLOT
// place add icons in all possible places that the user can add an icon
m_configMode = true;
-
- int loc = -1; // location of the configure icon
- int count = m_appletLayout->count(); // save now so we don't check count after adding :)
- for( int i = 0; i < count; i++ ) // tell each applet we are configuring
- {
- QGraphicsLayoutItem *item = m_appletLayout->itemAt( i );
-
- Context::AppletToolbarAppletItem* appletItem = dynamic_cast< Context::AppletToolbarAppletItem* >( item );
- if( appletItem )
- appletItem->setConfigEnabled( true );
-
- Context::AppletToolbarConfigItem* configItem = dynamic_cast< Context::AppletToolbarConfigItem* >( item );
- if( configItem )
- loc = i;
- }
-
- if( loc >= 0 )
- newAddItem( loc );
+ emit showAppletExplorer();
}
else
{
@@ -246,38 +208,4 @@ Context::AppletToolbar::toggleConfigMode() // SLOT
emit configModeToggled();
}
-void
-Context::AppletToolbar::refreshAddIcons() // SLOT
-{
- foreach( AppletToolbarAddItem* item, m_configAddIcons )
- {
- m_appletLayout->removeItem( item );
- item->deleteLater();
- }
- m_configAddIcons.clear();
-
- int loc = -1;
- for( int i = 0; i < m_appletLayout->count(); ++i )
- {
- QGraphicsLayoutItem *item = m_appletLayout->itemAt( i );
- Context::AppletToolbarConfigItem* configItem = dynamic_cast< Context::AppletToolbarConfigItem* >( item );
- if( configItem )
- loc = i;
- }
-
- if( loc >=0 )
- newAddItem( loc );
-}
-
-void
-Context::AppletToolbar::newAddItem( int loc )
-{
- DEBUG_BLOCK
- Context::AppletToolbarAddItem* additem = new Context::AppletToolbarAddItem( this, m_cont, false );
- connect( additem, SIGNAL( hideAppletExplorer() ), this, SIGNAL( hideAppletExplorer() ) );
- connect( additem, SIGNAL( showAppletExplorer() ), this, SIGNAL( showAppletExplorer() ) );
- m_appletLayout->insertItem( loc, additem );
- m_configAddIcons << additem;
-}
-
#include "AppletToolbar.moc"
diff --git a/src/context/toolbar/AppletToolbar.h b/src/context/toolbar/AppletToolbar.h
index 68f9de7..2be003c 100644
--- a/src/context/toolbar/AppletToolbar.h
+++ b/src/context/toolbar/AppletToolbar.h
@@ -56,8 +56,7 @@ class AppletToolbar : public QGraphicsWidget
bool configEnabled() const;
void appletRemoved( Plasma::Applet* applet );
-
- void refreshAddIcons();
+
signals:
void showApplet( Plasma::Applet* );
void addAppletToContainment( const QString& pluginName, int loc );
@@ -94,7 +93,6 @@ class AppletToolbar : public QGraphicsWidget
QGraphicsLinearLayout* m_appletLayout;
Containment* m_cont;
- AppletToolbarAddItem* m_addItem;
AppletToolbarConfigItem* m_configItem;
};
More information about the kde-doc-english
mailing list