Context::ToolbarView::ToolbarView( Plasma::Containment* containment, QGraphicsScene* scene, QWidget* parent ) : QGraphicsView( scene, parent ) , m_height( 36 ) , m_cont( containment ) { setObjectName( "ContextToolbarView" ); setFixedHeight( m_height ); setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Fixed ); setAutoFillBackground( true ); setContentsMargins( 0, 0, 0, 0 ); setFrameStyle( QFrame::NoFrame ); applyStyleSheet(); connect( The::paletteHandler(), SIGNAL(newPalette(QPalette)), SLOT(applyStyleSheet()) ); //Padding required to prevent view scrolling, probably caused by the 1px ridge setSceneRect( TOOLBAR_X_OFFSET, 0, size().width()-TOOLBAR_SCENE_PADDING, size().height()-TOOLBAR_SCENE_PADDING ); setInteractive( true ); setAcceptDrops( true ); setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); // now we create the toolbar 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 ); connect( m_toolbar.data(), SIGNAL(configModeToggled()), SLOT(toggleConfigMode()) ); connect( m_toolbar.data(), SIGNAL(hideAppletExplorer()), SIGNAL(hideAppletExplorer()) ); connect( m_toolbar.data(), SIGNAL(showAppletExplorer()), SIGNAL(showAppletExplorer()) ); Context::Containment* cont = dynamic_cast< Context::Containment* >( containment ); if( cont ) { connect( cont, SIGNAL(appletAdded(Plasma::Applet*,int)), m_toolbar.data(), SLOT(appletAdded(Plasma::Applet*,int)) ); connect( m_toolbar.data(), SIGNAL(appletAddedToToolbar(Plasma::Applet*,int)), this, SLOT(appletAdded(Plasma::Applet*,int)) ); connect( cont, SIGNAL(appletRemoved(Plasma::Applet*)), this, SLOT(appletRemoved(Plasma::Applet*)) ); connect( m_toolbar.data(), SIGNAL(showApplet(Plasma::Applet*)), cont, SLOT(showApplet(Plasma::Applet*)) ); connect( m_toolbar.data(), SIGNAL(moveApplet(Plasma::Applet*,int,int)), cont, SLOT(moveApplet(Plasma::Applet*,int,int)) ); } }
void Context::AppletToolbarAddItem::iconClicked() // SLOT { if( m_showingAppletExplorer ) { m_showingAppletExplorer = false; emit hideAppletExplorer(); } else { m_showingAppletExplorer = true; emit showAppletExplorer(); } }