From 771629c6828fe024d7452ce81d901b96d28b48c8 Mon Sep 17 00:00:00 2001
From: Gavin Hurlbut <gjhurlbu@gmail.com>
Date: Sun, 15 Aug 2010 23:22:24 -0700
Subject: [PATCH] Reworked patch from #4517 - sort items in UPnP video
diff --git a/mythtv/libs/libmythupnp/upnpcds.cpp b/mythtv/libs/libmythupnp/upnpcds.cpp
index 9f55c5b..df06eb9 100644
a
|
b
|
void UPnpCDSExtension::CreateItems( UPnpCDSRequest *pRequest, |
1209 | 1209 | if (query.isConnected()) |
1210 | 1210 | { |
1211 | 1211 | QString sWhere( "" ); |
| 1212 | QString sOrder( "" ); |
1212 | 1213 | |
1213 | 1214 | if ( sKey.length() > 0) |
1214 | 1215 | { |
… |
… |
void UPnpCDSExtension::CreateItems( UPnpCDSRequest *pRequest, |
1216 | 1217 | .arg( pInfo->column ); |
1217 | 1218 | } |
1218 | 1219 | |
| 1220 | QString orderColumn( pInfo->orderColumn ); |
| 1221 | if (orderColumn.length() != 0) { |
| 1222 | sOrder = QString( "ORDER BY %1 " ) |
| 1223 | .arg( orderColumn ); |
| 1224 | } |
| 1225 | |
1219 | 1226 | QString sSQL = QString( "%1 %2 LIMIT %3, %4" ) |
1220 | 1227 | .arg( GetItemListSQL( pInfo->column ) ) |
1221 | | .arg( sWhere ) |
| 1228 | .arg( sWhere + sOrder ) |
1222 | 1229 | .arg( pRequest->m_nStartingIndex ) |
1223 | 1230 | .arg( pRequest->m_nRequestedCount ); |
1224 | 1231 | |
diff --git a/mythtv/libs/libmythupnp/upnpcds.h b/mythtv/libs/libmythupnp/upnpcds.h
index b645ef9..6d6a358 100644
a
|
b
|
typedef struct |
129 | 129 | const char *column; |
130 | 130 | const char *sql; |
131 | 131 | const char *where; |
| 132 | const char *orderColumn; |
132 | 133 | |
133 | 134 | } UPnpCDSRootInfo; |
134 | 135 | |
diff --git a/mythtv/programs/mythbackend/upnpcdsmusic.cpp b/mythtv/programs/mythbackend/upnpcdsmusic.cpp
index 43fbe6a..3db3138 100644
a
|
b
|
UPnpCDSRootInfo UPnpCDSMusic::g_RootNodes[] = |
53 | 53 | "FROM music_songs song " |
54 | 54 | "%1 " |
55 | 55 | "ORDER BY name", |
56 | | "" }, |
| 56 | "", "" }, |
57 | 57 | |
58 | 58 | /* |
59 | 59 | This is currently broken... need to handle list of items with single parent (like 'All Music') |
diff --git a/mythtv/programs/mythbackend/upnpcdstv.cpp b/mythtv/programs/mythbackend/upnpcdstv.cpp
index 2fbd5f3..9efd637 100644
a
|
b
|
UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = |
47 | 47 | "FROM recorded " |
48 | 48 | "%1 " |
49 | 49 | "ORDER BY starttime DESC", |
50 | | "" }, |
| 50 | "", "" }, |
51 | 51 | |
52 | 52 | { "By Title", |
53 | 53 | "title", |
… |
… |
UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = |
58 | 58 | "%1 " |
59 | 59 | "GROUP BY title " |
60 | 60 | "ORDER BY title", |
61 | | "WHERE title=:KEY" }, |
| 61 | "WHERE title=:KEY", "" }, |
62 | 62 | |
63 | 63 | { "By Genre", |
64 | 64 | "category", |
… |
… |
UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = |
69 | 69 | "%1 " |
70 | 70 | "GROUP BY category " |
71 | 71 | "ORDER BY category", |
72 | | "WHERE category=:KEY" }, |
| 72 | "WHERE category=:KEY", "" }, |
73 | 73 | |
74 | 74 | { "By Date", |
75 | 75 | "DATE_FORMAT(starttime, '%Y-%m-%d')", |
… |
… |
UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = |
80 | 80 | "%1 " |
81 | 81 | "GROUP BY name " |
82 | 82 | "ORDER BY starttime DESC", |
83 | | "WHERE DATE_FORMAT(starttime, '%Y-%m-%d') =:KEY" }, |
| 83 | "WHERE DATE_FORMAT(starttime, '%Y-%m-%d') =:KEY", "" }, |
84 | 84 | |
85 | 85 | { "By Channel", |
86 | 86 | "chanid", |
… |
… |
UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = |
92 | 92 | "%1 " |
93 | 93 | "GROUP BY name " |
94 | 94 | "ORDER BY channel.chanid", |
95 | | "WHERE channel.chanid=:KEY" }, |
| 95 | "WHERE channel.chanid=:KEY", "" }, |
96 | 96 | |
97 | 97 | |
98 | 98 | { "By Group", |
… |
… |
UPnpCDSRootInfo UPnpCDSTv::g_RootNodes[] = |
103 | 103 | "%1 " |
104 | 104 | "GROUP BY recgroup " |
105 | 105 | "ORDER BY recgroup", |
106 | | "WHERE recgroup=:KEY" } |
| 106 | "WHERE recgroup=:KEY", "" } |
107 | 107 | }; |
108 | 108 | |
109 | 109 | int UPnpCDSTv::g_nRootCount = sizeof( g_RootNodes ) / sizeof( UPnpCDSRootInfo ); |
diff --git a/mythtv/programs/mythbackend/upnpcdsvideo.cpp b/mythtv/programs/mythbackend/upnpcdsvideo.cpp
index 859e6ea..bfd91dc 100644
a
|
b
|
UPnpCDSRootInfo UPnpCDSVideo::g_RootNodes[] = |
31 | 31 | "FROM upnpmedia " |
32 | 32 | "%1 " |
33 | 33 | "ORDER BY title", |
34 | | "" } |
| 34 | "", "title" } |
35 | 35 | |
36 | 36 | }; |
37 | 37 | |