]> git.sesse.net Git - vlc/commitdiff
Last patch to close #1479 (add a column with the track id)
authorRémi Duraffort <ivoire@via.ecp.fr>
Tue, 4 Mar 2008 18:16:24 +0000 (19:16 +0100)
committerRémi Duraffort <ivoire@via.ecp.fr>
Tue, 4 Mar 2008 18:25:06 +0000 (19:25 +0100)
include/vlc_meta.h
modules/gui/qt4/components/playlist/playlist_item.cpp
modules/gui/qt4/components/playlist/playlist_model.cpp
modules/gui/qt4/components/playlist/standardpanel.cpp
src/playlist/sort.c

index 8a8ec797b098ed321d2c5fefc10f9cc4ae3b515d..5949aff081ce1a79b85ee95276f89496a3967899 100644 (file)
@@ -206,8 +206,9 @@ struct meta_export_t
 #define VLC_META_ENGINE_DATE            0x00000200
 #define VLC_META_ENGINE_URL             0x00000400
 #define VLC_META_ENGINE_LANGUAGE        0x00000800
+#define VLC_META_ENGINE_TRACKID         0x00001000
 
-#define VLC_META_ENGINE_ART_URL         0x00001000
+#define VLC_META_ENGINE_ART_URL         0x00002000
 
 #if 0 /* unused (yet?) */
 #define VLC_META_ENGINE_MB_ARTIST_ID    0x00002000
index 06c1a679c6d770e3fa35f9ac194f6922b22b12e1..32aa4a7e4b01299b6f65b7149f6e80cfb98537c1 100644 (file)
@@ -139,6 +139,9 @@ void PLItem::updateColumnHeaders()
             case VLC_META_ENGINE_RATING:
                 item_col_strings.append( qtr( VLC_META_RATING ) );
                 break;
+            case VLC_META_ENGINE_TRACKID:
+                item_col_strings.append( qtr( VLC_META_TRACKID ) );
+                break;
             default:
                 break;
             }
@@ -257,6 +260,10 @@ void PLItem::update( playlist_item_t *p_item, bool iscurrent )
                 break;
             case VLC_META_ENGINE_RATING:
                 ADD_META( p_item, Rating );
+                break;
+            case VLC_META_ENGINE_TRACKID:
+                item_col_strings.append( QString::number( p_item->i_id ) );
+                break;
             default:
                 break;
             }
index 53d73d21107ead8790dcd44012555fed5dda4ffe..d1ab172a9e8d4b032cc9677e31c34f3afb90a6ea 100644 (file)
@@ -736,6 +736,7 @@ void PLModel::sort( int column, Qt::SortOrder order )
     CHECK_COLUMN( SEQ_NUM );
     CHECK_COLUMN( DESCRIPTION );
     CHECK_COLUMN( RATING );
+    CHECK_COLUMN( TRACKID );
 
 #undef CHECK_COLUMN;
 
@@ -756,6 +757,7 @@ next:
         case VLC_META_ENGINE_SEQ_NUM:    i_mode = SORT_TRACK_NUMBER;     break;
         case VLC_META_ENGINE_DESCRIPTION:i_mode = SORT_DESCRIPTION;      break;
         case VLC_META_ENGINE_RATING:     i_mode = SORT_RATING;           break;
+        case VLC_META_ENGINE_TRACKID:    i_mode = SORT_ID;               break;
         default:                         i_mode = SORT_TITLE_NODES_FIRST;break;
         }
         if( p_root )
@@ -847,6 +849,10 @@ void PLModel::viewchanged( int meta )
             index=6; break;
         case VLC_META_ENGINE_DESCRIPTION:
             index=7; break;
+        case VLC_META_ENGINE_RATING:
+            index=8; break;
+        case VLC_META_ENGINE_TRACKID:
+            index=9; break;
         default:
             break;
         }
index aa57a9c920c13dd318148e5623f9489b5eeb1295..058a53381d917ed7fd2f75d51ed48f676bfc839e 100644 (file)
@@ -282,6 +282,7 @@ void StandardPLPanel::popupSelectColumn( QPoint pos )
     ADD_META_ACTION( SEQ_NUM );
     ADD_META_ACTION( DESCRIPTION );
     ADD_META_ACTION( RATING );
+    ADD_META_ACTION( TRACKID );
 
 #undef ADD_META_ACTION
 
index 620f3d6b1b00b3326a3c83b50bf508428be93a3a..7478f1eb7c952c42d6202c6745253ff04946685e 100644 (file)
@@ -199,6 +199,10 @@ static int playlist_ItemArraySort( playlist_t *p_playlist, int i_items,
             {
                 DO_META_SORT( Rating );
             }
+            else if( i_mode == SORT_ID )
+            {
+                i_test = pp_items[i]->i_id - pp_items[i_small]->i_id;
+            }
             else if( i_mode == SORT_TITLE_NODES_FIRST )
             {
                 /* Alphabetic sort, all nodes first */