void PhotosApplet::init() { DEBUG_BLOCK // Call the base implementation. Context::Applet::init(); // Create label enableHeader( true ); setHeaderText( i18n( "Photos" ) ); // Set the collapse size setCollapseHeight( m_header->height() ); setCollapseOffHeight( 220 ); setMaximumHeight( 220 ); setMinimumHeight( collapseHeight() ); setPreferredHeight( collapseHeight() ); // Icon QAction* settingsAction = new QAction( this ); settingsAction->setIcon( KIcon( "preferences-system" ) ); settingsAction->setVisible( true ); settingsAction->setEnabled( true ); settingsAction->setText( i18n( "Settings" ) ); m_settingsIcon = addRightHeaderAction( settingsAction ); connect( m_settingsIcon, SIGNAL( clicked() ), this, SLOT( showConfigurationInterface() ) ); m_widget = new PhotosScrollWidget( this ); m_widget->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); m_widget->setContentsMargins( 0, 0, 0, 0 ); connect( m_widget, SIGNAL(photoAdded()), SLOT(photoAdded()) ); QGraphicsLinearLayout *layout = new QGraphicsLinearLayout( Qt::Vertical, this ); layout->addItem( m_header ); layout->addItem( m_widget ); // Read config and inform the engine. KConfigGroup config = Amarok::config("Photos Applet"); m_nbPhotos = config.readEntry( "NbPhotos", "10" ).toInt(); m_Animation = config.readEntry( "Animation", "Fading" ); m_KeyWords = config.readEntry( "KeyWords", QStringList() ); if( m_Animation == i18nc( "animation type", "Automatic" ) ) m_widget->setMode( 0 ); else if( m_Animation == i18n( "Interactive" ) ) m_widget->setMode( 1 ); else // fading m_widget->setMode( 2 ); Plasma::DataEngine *engine = dataEngine( "amarok-photos" ); engine->setProperty( "fetchSize", m_nbPhotos ); engine->setProperty( "keywords", m_KeyWords ); engine->connectSource( "photos", this ); }
/** * \brief Initialization * * Initializes the TabsApplet with default parameters */ void TabsApplet::init() { // applet base initialization Context::Applet::init(); // create the header label enableHeader( true ); setHeaderText( i18nc( "Guitar tablature", "Tabs" ) ); // creates the tab view m_tabsView = new TabsView( this ); // Set the collapse size setCollapseOffHeight( -1 ); setCollapseHeight( m_header->height() ); setMinimumHeight( collapseHeight() ); setPreferredHeight( collapseHeight() ); // create the reload icon QAction* reloadAction = new QAction( this ); reloadAction->setIcon( KIcon( "view-refresh" ) ); reloadAction->setVisible( true ); reloadAction->setEnabled( true ); reloadAction->setText( i18nc( "Guitar tablature", "Reload tabs" ) ); m_reloadIcon = addLeftHeaderAction( reloadAction ); m_reloadIcon.data()->setEnabled( false ); connect( m_reloadIcon.data(), SIGNAL(clicked()), this, SLOT(reloadTabs()) ); // create the settings icon QAction* settingsAction = new QAction( this ); settingsAction->setIcon( KIcon( "preferences-system" ) ); settingsAction->setEnabled( true ); settingsAction->setText( i18n( "Settings" ) ); QWeakPointer<Plasma::IconWidget> settingsIcon = addRightHeaderAction( settingsAction ); connect( settingsIcon.data(), SIGNAL(clicked()), this, SLOT(showConfigurationInterface()) ); m_layout = new QGraphicsLinearLayout( Qt::Vertical ); m_layout->addItem( m_header ); m_layout->addItem( m_tabsView ); setLayout( m_layout ); // read configuration data and update the engine. KConfigGroup config = Amarok::config("Tabs Applet"); m_fetchGuitar = config.readEntry( "FetchGuitar", true ); m_fetchBass = config.readEntry( "FetchBass", true ); Plasma::DataEngine *engine = dataEngine( "amarok-tabs" ); engine->setProperty( "fetchGuitarTabs", m_fetchGuitar ); engine->setProperty( "fetchBassTabs", m_fetchBass ); engine->connectSource( "tabs", this ); updateInterface( InitState ); }
void Albums::init() { DEBUG_BLOCK // Call the base implementation. Context::Applet::init(); enableHeader( true ); setHeaderText( i18n( "Recently Added Albums" ) ); setCollapseOffHeight( -1 ); setCollapseHeight( m_header->height() ); setMinimumHeight( collapseHeight() ); QAction *settingsAction = new QAction( this ); settingsAction->setIcon( KIcon( "preferences-system" ) ); settingsAction->setEnabled( true ); settingsAction->setToolTip( i18n( "Settings" ) ); addRightHeaderAction( settingsAction ); connect( settingsAction, SIGNAL(triggered()), this, SLOT(showConfigurationInterface()) ); QAction *filterAction = new QAction( this ); filterAction->setIcon( KIcon( "view-filter" ) ); filterAction->setEnabled( true ); filterAction->setToolTip( i18n( "Filter Albums" ) ); m_filterIcon = addLeftHeaderAction( filterAction ); connect( filterAction, SIGNAL(triggered()), this, SLOT(showFilterBar()) ); m_albumsView = new AlbumsView( this ); m_albumsView->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); if( m_rightAlignLength ) m_albumsView->setLengthAlignment( Qt::AlignRight ); QGraphicsLinearLayout *layout = new QGraphicsLinearLayout( Qt::Vertical ); layout->addItem( m_header ); layout->addItem( m_albumsView ); setLayout( layout ); dataEngine( "amarok-current" )->connectSource( "albums", this ); connect( CollectionManager::instance(), SIGNAL(collectionDataChanged(Collections::Collection*)), this, SLOT(collectionDataChanged(Collections::Collection*)) ); updateConstraints(); }
void LabelsApplet::init() { DEBUG_BLOCK // Call the base implementation. Context::Applet::init(); setBackgroundHints( Plasma::Applet::NoBackground ); // properly set the size, asking for the whole cv size. resize( 500, -1 ); // this applet has to be on top of the applet below, otherwise the completion list of the combobox will shine through the other applet setZValue( zValue() + 100 ); // Create the title label enableHeader( true ); setHeaderText( i18n( "Labels" ) ); setCollapseHeight( m_header->height() ); setMinimumHeight( collapseHeight() ); // reload icon QAction *reloadAction = new QAction( this ); reloadAction->setIcon( KIcon( "view-refresh" ) ); reloadAction->setVisible( true ); reloadAction->setEnabled( true ); reloadAction->setText( i18n( "Reload" ) ); m_reloadIcon = addLeftHeaderAction( reloadAction ); m_reloadIcon.data()->setEnabled( false ); connect( m_reloadIcon.data(), SIGNAL( clicked() ), this, SLOT( reload() ) ); // settings icon QAction *settingsAction = new QAction( this ); settingsAction->setIcon( KIcon( "preferences-system" ) ); settingsAction->setVisible( true ); settingsAction->setEnabled( true ); settingsAction->setText( i18n( "Settings" ) ); m_settingsIcon = addRightHeaderAction( settingsAction ); connect( m_settingsIcon.data(), SIGNAL( clicked() ), this, SLOT( showConfigurationInterface() ) ); QGraphicsLinearLayout *layout = new QGraphicsLinearLayout( Qt::Vertical, this ); layout->addItem( m_header ); m_addLabelProxy = new QGraphicsProxyWidget( this ); m_addLabelProxy.data()->setAttribute( Qt::WA_NoSystemBackground ); m_addLabel = new KComboBox( this ); m_addLabel.data()->setAttribute( Qt::WA_NoSystemBackground ); m_addLabel.data()->setAutoFillBackground( false ); QPalette p = m_addLabel.data()->palette(); QColor c = p.color( QPalette::Base ); c.setAlphaF( 0.4 ); p.setColor( QPalette::Base, c ); m_addLabel.data()->setPalette( p ); m_addLabel.data()->completionObject()->setIgnoreCase( true ); m_addLabel.data()->setCompletionMode( KGlobalSettings::CompletionPopup ); connect( m_addLabel.data(), SIGNAL( returnPressed() ), this, SLOT( addLabelPressed() ) ); m_addLabelProxy.data()->setWidget( m_addLabel.data() ); // Read config KConfigGroup config = Amarok::config("Labels Applet"); m_minCount = config.readEntry( "MinCount", 30 ); m_numLabels = config.readEntry( "NumLabels", 10 ); m_personalCount = config.readEntry( "PersonalCount", 70 ); m_autoAdd = config.readEntry( "AutoAdd", false ); m_minAutoAddCount = config.readEntry( "MinAutoAddCount", 60 ); m_selectedColor = config.readEntry( "SelectedColor", PaletteHandler::highlightColor( 2.0, 0.7 ) ); const QPalette pal; m_backgroundColor = config.readEntry( "BackgroundColor", pal.color( QPalette::Base ) ); m_matchArtist = config.readEntry( "MatchArtist", true ); m_matchTitle = config.readEntry( "MatchTitle", true ); m_matchAlbum = config.readEntry( "MatchAlbum", true ); m_blacklist = config.readEntry( "Blacklist", QStringList() ); const QStringList replacementList = config.readEntry( "ReplacementList", QStringList() ); foreach( const QString replacement, replacementList ) { const QStringList parts = replacement.split( "|" ); QString label = parts.at(0); label = label.replace( "%s", "|" ); label = label.replace( "%p", "%" ); QString replacementValue = parts.at(1); replacementValue = replacementValue.replace( "%s", "|" ); replacementValue = replacementValue.replace( "%p", "%" ); m_replacementMap.insert( label, replacementValue ); } m_stoppedstate = false; // force an update setStoppedState( true ); connectSource( "labels" ); connect( dataEngine( "amarok-labels" ), SIGNAL( sourceAdded( const QString & ) ), this, SLOT( connectSource( const QString & ) ) ); }
void SimilarArtistsApplet::init() { DEBUG_BLOCK // Call the base implementation. Context::Applet::init(); enableHeader( true ); setHeaderText( i18n( "Similar Artists" ) ); QAction* backwardAction = new QAction( this ); backwardAction->setIcon( KIcon( "go-previous" ) ); backwardAction->setEnabled( false ); backwardAction->setText( i18n( "Back" ) ); m_backwardIcon = addLeftHeaderAction( backwardAction ); connect( m_backwardIcon, SIGNAL(clicked()), this, SLOT(goBackward()) ); QAction* forwardAction = new QAction( this ); forwardAction->setIcon( KIcon( "go-next" ) ); forwardAction->setEnabled( false ); forwardAction->setText( i18n( "Forward" ) ); m_forwardIcon = addLeftHeaderAction( forwardAction ); connect( m_forwardIcon, SIGNAL(clicked()), this, SLOT(goForward()) ); QAction *currentAction = new QAction( this ); currentAction->setIcon( KIcon( "filename-artist-amarok" ) ); currentAction->setEnabled( true ); currentAction->setText( i18n( "Show Similar Artists for Currently Playing Track" ) ); m_currentArtistIcon = addRightHeaderAction( currentAction ); connect( m_currentArtistIcon, SIGNAL(clicked()), this, SLOT(queryForCurrentTrack()) ); QAction* settingsAction = new QAction( this ); settingsAction->setIcon( KIcon( "preferences-system" ) ); settingsAction->setEnabled( true ); settingsAction->setText( i18n( "Settings" ) ); m_settingsIcon = addRightHeaderAction( settingsAction ); connect( m_settingsIcon, SIGNAL(clicked()), this, SLOT(configure()) ); setCollapseOffHeight( -1 ); setCollapseHeight( m_header->height() ); setMinimumHeight( collapseHeight() ); setPreferredHeight( collapseHeight() ); // create a scrollarea m_scroll = new ArtistsListWidget( this ); m_scroll->hide(); connect( m_scroll, SIGNAL(showSimilarArtists(QString)), SLOT(showSimilarArtists(QString)) ); connect( m_scroll, SIGNAL(showBio(QString)), SLOT(showArtistBio(QString)) ); m_layout = new QGraphicsLinearLayout( Qt::Vertical, this ); m_layout->addItem( m_header ); m_layout->addItem( m_scroll ); setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); // Read config and inform the engine. KConfigGroup config = Amarok::config( "SimilarArtists Applet" ); m_maxArtists = config.readEntry( "maxArtists", "5" ).toInt(); Plasma::DataEngine *engine = dataEngine( "amarok-similarArtists" ); connect( engine, SIGNAL(sourceAdded(QString)), SLOT(connectSource(QString)) ); engine->setProperty( "maximumArtists", m_maxArtists ); engine->query( "similarArtists" ); }