Version: 2.1.1 (using KDE 4.2.90) OS: Linux Installed from: Ubuntu Packages This is an usability issue: Make "Queue Track" first item in the contextual right-click menu (when clicking on a track in your playlist), because it's way more likely to be used and make the "Stop after this track" second, because people use it way less.
What if the both buttons appeared just next to the song, so that the user doesn't need to right-click? These buttons are used pretty often, and this would improve usability.
I think it's a good idea for the queue thing. Would be cool if amarok had an alternate view to the play list, a queue manager, where you can only see the queued tracks and even drag them around to change priority/order of play, and be able to remove from queue without right click as well.
Dread, I like your idea too.
Changed to wishlist.
Created attachment 36936 [details] Reorders the right click menu items according to the wish. Here's a patch which just re-orders how the actions are inserted into the list.
Nikolaj, any comments on that?
commit ca10cafb1b586e0bace00f8bc1b21cabd93e5d19 Author: Kevin Funk <krf@electrostorm.net> Date: Fri May 28 16:45:36 2010 +0200 Fix usability issue with regards to context menu item order when right clicking in the playlist widget. BUG: 198650 diff --git a/ChangeLog b/ChangeLog index b80d003..bbcba4f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,16 @@ Amarok ChangeLog (C) 2002-2010 the Amarok authors. +VERSION 2.3.2-Beta 1 + FEATURES: + + CHANGES: + + BUGFIXES: + * Fixed usability issue with regards to context menu item order when right + clicking in the playlist widget. (BR 198650) + + VERSION 2.3.1 CHANGES: * Improved responsiveness when expanding/collapsing items in the diff --git a/src/playlist/view/PlaylistViewCommon.cpp b/src/playlist/view/PlaylistViewCommon.cpp index e7804e6..304cbeb 100644 --- a/src/playlist/view/PlaylistViewCommon.cpp +++ b/src/playlist/view/PlaylistViewCommon.cpp @@ -113,17 +113,6 @@ Playlist::ViewCommon::trackActionsFor( QWidget *parent, const QModelIndex *index QAction *separator = new QAction( parent ); separator->setSeparator( true ); - const bool isCurrentTrack = index->data( Playlist::ActiveTrackRole ).toBool(); - - if( m_stopAfterTrackAction == 0 ) - { - m_stopAfterTrackAction = new QAction( KIcon( "media-playback-stop-amarok" ), i18n( "Stop Playing After This Track" ), parent ); - QObject::connect( m_stopAfterTrackAction, SIGNAL( triggered() ), parent, SLOT( stopAfterTrack() ) ); - } - actions << m_stopAfterTrackAction; - - //actions << separator; - const bool isQueued = index->data( Playlist::StateRole ).toInt() & Item::Queued; const QString queueText = !isQueued ? i18n( "Queue Track" ) : i18n( "Dequeue Track" ); @@ -146,6 +135,17 @@ Playlist::ViewCommon::trackActionsFor( QWidget *parent, const QModelIndex *index //actions << separator; + const bool isCurrentTrack = index->data( Playlist::ActiveTrackRole ).toBool(); + + if( m_stopAfterTrackAction == 0 ) + { + m_stopAfterTrackAction = new QAction( KIcon( "media-playback-stop-amarok" ), i18n( "Stop Playing After This Track" ), parent ); + QObject::connect( m_stopAfterTrackAction, SIGNAL( triggered() ), parent, SLOT( stopAfterTrack() ) ); + } + actions << m_stopAfterTrackAction; + + //actions << separator; + if( m_removeTracTrackAction == 0 ) { m_removeTracTrackAction = new QAction( KIcon( "media-track-remove-amarok" ), i18n( "Remove From Playlist" ), parent );