Bug 198650 - [PATCH] Make Queue Track first item in right-click menu
Summary: [PATCH] Make Queue Track first item in right-click menu
Status: RESOLVED FIXED
Alias: None
Product: amarok
Classification: Applications
Component: Playlist (show other bugs)
Version: 2.3-GIT
Platform: Ubuntu Linux
: NOR wishlist
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-02 14:03 UTC by Dread Knight
Modified: 2010-05-28 17:04 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.3.2


Attachments
Reorders the right click menu items according to the wish. (1.79 KB, patch)
2009-09-14 05:43 UTC, Tycho Andersen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dread Knight 2009-07-02 14:03:43 UTC
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.
Comment 1 Pau 2009-07-03 17:14:42 UTC
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.
Comment 2 Dread Knight 2009-07-03 17:58:07 UTC
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.
Comment 3 Pau 2009-07-03 18:13:05 UTC
Dread, I like your idea too.
Comment 4 Myriam Schweingruber 2009-07-08 13:26:17 UTC
Changed to wishlist.
Comment 5 Tycho Andersen 2009-09-14 05:43:35 UTC
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.
Comment 6 Myriam Schweingruber 2010-01-07 11:11:48 UTC
Nikolaj, any comments on that?
Comment 7 Kevin Funk 2010-05-28 16:48:53 UTC
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 );