Summary: | Add the ability to mark podcasts as unlistened | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Everett Attebury <everettattebury> |
Component: | general | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | wishlist | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Everett Attebury
2007-01-07 05:00:31 UTC
SVN commit 621476 by aoliveira: Let users set podcasts as new BUG: 139711 M +17 -3 playlistbrowseritem.cpp --- trunk/extragear/multimedia/amarok/src/playlistbrowseritem.cpp #621475:621476 @@ -2275,7 +2275,7 @@ { KPopupMenu menu( listView() ); - enum Actions { LOAD, APPEND, QUEUE, DELETE, RESCAN, LISTENED, CONFIG }; + enum Actions { LOAD, APPEND, QUEUE, DELETE, RESCAN, LISTENED, NEW, CONFIG }; menu.insertItem( SmallIconSet( Amarok::icon( "files" ) ), i18n( "&Load" ), LOAD ); menu.insertItem( SmallIconSet( Amarok::icon( "add_playlist" ) ), i18n( "&Append to Playlist" ), APPEND ); @@ -2284,6 +2284,7 @@ menu.insertItem( SmallIconSet( Amarok::icon( "remove" ) ), i18n( "&Delete" ), DELETE ); menu.insertItem( SmallIconSet( Amarok::icon( "refresh" ) ), i18n( "&Check for Updates" ), RESCAN ); menu.insertItem( SmallIconSet( Amarok::icon( "artist" ) ), i18n( "Mark as &Listened" ), LISTENED ); + menu.insertItem( SmallIconSet( Amarok::icon( "artist" ) ), i18n( "Mark as &New" ), NEW ); menu.insertItem( SmallIconSet( Amarok::icon( "configure" ) ), i18n( "&Configure..." ), CONFIG ); menu.setItemEnabled( LISTENED, hasNew() ); menu.setItemEnabled( CONFIG, m_settingsValid ); @@ -2310,6 +2311,9 @@ setListened(); break; + case NEW: + setListened(false); + break; case DELETE: PlaylistBrowser::instance()->removeSelectedItems(); break; @@ -2793,7 +2797,7 @@ { KPopupMenu menu( listView() ); - enum Actions { LOAD, APPEND, QUEUE, GET, ASSOCIATE, DELETE, MEDIA_DEVICE, LISTENED, OPEN_WITH /* has to be last */ }; + enum Actions { LOAD, APPEND, QUEUE, GET, ASSOCIATE, DELETE, MEDIA_DEVICE, LISTENED, NEW, OPEN_WITH /* has to be last */ }; menu.insertItem( SmallIconSet( Amarok::icon( "files" ) ), i18n( "&Load" ), LOAD ); menu.insertItem( SmallIconSet( Amarok::icon( "add_playlist" ) ), i18n( "&Append to Playlist" ), APPEND ); menu.insertItem( SmallIconSet( Amarok::icon( "queue_track" ) ), i18n( "&Queue Track" ), QUEUE ); @@ -2838,12 +2842,14 @@ menu.insertItem( SmallIconSet( Amarok::icon( "download" ) ), i18n( "&Download Media" ), GET ); menu.insertItem( SmallIconSet( Amarok::icon( "attach" ) ), i18n( "&Associate with Local File" ), ASSOCIATE ); menu.insertItem( SmallIconSet( Amarok::icon( "artist" ) ), i18n( "Mark as &Listened" ), LISTENED ); + menu.insertItem( SmallIconSet( Amarok::icon( "artist" ) ), i18n( "Mark as &New" ), NEW ); menu.insertItem( SmallIconSet( Amarok::icon("remove") ), i18n( "De&lete Downloaded Podcast" ), DELETE ); menu.setItemEnabled( GET, !isOnDisk() ); menu.setItemEnabled( ASSOCIATE, !isOnDisk() ); menu.setItemEnabled( DELETE, isOnDisk() ); - menu.setItemEnabled( LISTENED, isNew() ); + menu.setItemVisible( LISTENED, isNew() ); + menu.setItemVisible( NEW, !isNew() ); uint id = menu.exec( position ); switch( id ) @@ -2880,6 +2886,14 @@ } break; + case NEW: + for ( QListViewItemIterator it( listView(), QListViewItemIterator::Selected); *it; ++it ) + { + if ( isPodcastEpisode( *it ) ) + static_cast<PodcastEpisode*>(*it)->setListened(false); + } + break; + case MEDIA_DEVICE: // tags on podcasts are sometimes bad, thus use other meta information if available if( isSelected() ) |