mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-18 23:09:42 +01:00
[whatsnew] Once deleted, never list again in SourcesModel
This commit is contained in:
parent
dee164f34a
commit
71bc764d2d
@ -57,3 +57,10 @@ bool
|
||||
ViewPage::addPageItem() const {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ViewPage::onItemDeleted()
|
||||
{
|
||||
// no-op
|
||||
}
|
||||
|
@ -86,6 +86,12 @@ public:
|
||||
* page will not be listed in the search history.
|
||||
*/
|
||||
virtual bool isDeletable() const { return false; }
|
||||
|
||||
/**
|
||||
* The ViewPage item in the SourcesModel was deleted.
|
||||
*/
|
||||
virtual void onItemDeleted();
|
||||
|
||||
virtual bool isBeingPlayed() const { return false; }
|
||||
|
||||
virtual QList<PlaylistUpdaterInterface*> updaters() const { return QList<PlaylistUpdaterInterface*>(); }
|
||||
@ -108,4 +114,6 @@ private:
|
||||
|
||||
} // ns
|
||||
|
||||
Q_DECLARE_METATYPE( Tomahawk::ViewPage* )
|
||||
|
||||
#endif //VIEWPAGE_H
|
||||
|
@ -39,6 +39,7 @@
|
||||
#include "playlist/TreeView.h"
|
||||
#include "playlist/PlaylistView.h"
|
||||
#include "playlist/dynamic/widgets/DynamicWidget.h"
|
||||
#include "utils/Closure.h"
|
||||
#include "utils/ImageRegistry.h"
|
||||
#include "utils/Logger.h"
|
||||
#include "utils/PluginLoader.h"
|
||||
@ -574,6 +575,13 @@ SourcesModel::onScriptCollectionRemoved( const collection_ptr& collection )
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
SourcesModel::onViewPageRemoved( Tomahawk::ViewPage *p )
|
||||
{
|
||||
p->onItemDeleted();
|
||||
}
|
||||
|
||||
|
||||
ViewPage*
|
||||
SourcesModel::scriptCollectionClicked( const Tomahawk::collection_ptr& collection )
|
||||
{
|
||||
@ -665,6 +673,10 @@ SourcesModel::linkSourceItemToPage( SourceTreeItem* item, ViewPage* p )
|
||||
connect( obj, SIGNAL( destroyed( QWidget* ) ), SLOT( onWidgetDestroyed( QWidget* ) ), Qt::UniqueConnection );
|
||||
}
|
||||
m_viewPageDelayedCacheItem = 0;
|
||||
|
||||
if ( p->isDeletable() ) {
|
||||
NewClosure( item, SIGNAL( removed() ), this, SLOT( onViewPageRemoved( Tomahawk::ViewPage* ) ), p );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -24,6 +24,7 @@
|
||||
|
||||
#include "Typedefs.h"
|
||||
#include "Source.h"
|
||||
#include "ViewPage.h"
|
||||
|
||||
#include <QModelIndex>
|
||||
#include <QStringList>
|
||||
@ -38,7 +39,6 @@ class GroupItem;
|
||||
namespace Tomahawk {
|
||||
class Source;
|
||||
class Playlist;
|
||||
class ViewPage;
|
||||
}
|
||||
|
||||
class SourcesModel : public QAbstractItemModel
|
||||
@ -141,6 +141,8 @@ private slots:
|
||||
void onScriptCollectionAdded( const Tomahawk::collection_ptr& collection );
|
||||
void onScriptCollectionRemoved( const Tomahawk::collection_ptr& collection );
|
||||
|
||||
void onViewPageRemoved( Tomahawk::ViewPage* p );
|
||||
|
||||
Tomahawk::ViewPage* scriptCollectionClicked( const Tomahawk::collection_ptr& collection );
|
||||
Tomahawk::ViewPage* getScriptCollectionPage( const Tomahawk::collection_ptr& collection ) const;
|
||||
|
||||
|
@ -21,6 +21,7 @@
|
||||
|
||||
#include "utils/ImageRegistry.h"
|
||||
#include "utils/TomahawkStyle.h"
|
||||
#include "TomahawkSettings.h"
|
||||
|
||||
#include <QLayout>
|
||||
#include <QScrollArea>
|
||||
@ -60,6 +61,19 @@ WhatsNew_0_8::~WhatsNew_0_8()
|
||||
|
||||
}
|
||||
|
||||
bool
|
||||
WhatsNew_0_8::addPageItem() const
|
||||
{
|
||||
return !TomahawkSettings::instance()->value( "whatsnew/deleted-for-0.8", false ).toBool();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
WhatsNew_0_8::onItemDeleted()
|
||||
{
|
||||
TomahawkSettings::instance()->setValue( "whatsnew/deleted-for-0.8", true );
|
||||
}
|
||||
|
||||
|
||||
WhatsNewWidget_0_8::WhatsNewWidget_0_8( QWidget* parent )
|
||||
: QWidget( parent )
|
||||
|
@ -88,7 +88,10 @@ public:
|
||||
QString title() const { return tr( "What's new in 0.8?" ); }
|
||||
QString description() const { return tr( "An overview of the changes and additions since 0.7." ); }
|
||||
const QString pixmapPath() const { return ( RESPATH "images/whatsnew.png" ); }
|
||||
|
||||
bool addPageItem() const;
|
||||
bool isDeletable() const { return true; }
|
||||
void onItemDeleted();
|
||||
|
||||
int sortValue() { return 1; }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user