diff --git a/src/tomahawk/sourcetree/items/QueueItem.cpp b/src/tomahawk/sourcetree/items/QueueItem.cpp new file mode 100644 index 000000000..e738bb502 --- /dev/null +++ b/src/tomahawk/sourcetree/items/QueueItem.cpp @@ -0,0 +1,85 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2014, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + + +#include "QueueItem.h" + +#include "utils/ImageRegistry.h" +#include "playlist/TrackView.h" +#include "playlist/PlayableProxyModel.h" +#include "ViewManager.h" +#include "ViewPage.h" + +#include +#include + + +QueueItem::QueueItem( SourcesModel* model, SourceTreeItem* parent ) + : SourceTreeItem( model, parent, SourcesModel::Queue ) + , m_sortValue( -150 ) +{ + m_text = tr( "Queue" ); + m_icon = ImageRegistry::instance()->icon( RESPATH "images/new-releases.svg" ); +} + + +QueueItem::~QueueItem() +{} + + +QString +QueueItem::text() const +{ + return m_text; +} + + +QIcon +QueueItem::icon() const +{ + return m_icon; +} + + +int +QueueItem::peerSortValue() const +{ + return m_sortValue; +} + + +void +QueueItem::setSortValue( int value ) +{ + m_sortValue = value; +} + + +int +QueueItem::unlistenedCount() const +{ + return ViewManager::instance()->queue()->trackView()->proxyModel()->rowCount(); +} + + +void +QueueItem::activate() +{ + Tomahawk::ViewPage* page = ViewManager::instance()->showQueuePage(); + model()->linkSourceItemToPage( this, page ); +} diff --git a/src/tomahawk/sourcetree/items/QueueItem.h b/src/tomahawk/sourcetree/items/QueueItem.h new file mode 100644 index 000000000..4b2b8a9cd --- /dev/null +++ b/src/tomahawk/sourcetree/items/QueueItem.h @@ -0,0 +1,48 @@ +/* === This file is part of Tomahawk Player - === + * + * Copyright 2014, Christian Muehlhaeuser + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see . + */ + + +#ifndef QUEUEITEM_H +#define QUEUEITEM_H + +#include "SourceTreeItem.h" + +class QueueItem : public SourceTreeItem +{ + Q_OBJECT +public: + explicit QueueItem( SourcesModel* model, SourceTreeItem* parent ); + virtual ~QueueItem(); + + virtual QString text() const; + virtual QIcon icon() const; + virtual int peerSortValue() const; + void setSortValue( int value ); + + int unlistenedCount() const; + +public slots: + virtual void activate(); + +private: + int m_sortValue; + QIcon m_icon; + QString m_text; +}; + +#endif // QUEUEITEM_H