diff options
| author | wr61 <wr61@e10066b5-e1e2-0310-b819-94efdf66514b> | 2006-01-23 19:18:56 +0000 |
|---|---|---|
| committer | wr61 <wr61@e10066b5-e1e2-0310-b819-94efdf66514b> | 2006-01-23 19:18:56 +0000 |
| commit | cc68bd26aba482be1493c8bae85be2853895bc6e (patch) | |
| tree | 1190f466f5b0b8f3a2b4376a4651b16f8d4fb902 | |
| parent | 216ee89fd860fef766a2037fec003545b575bf91 (diff) | |
| download | vdr-plugin-muggle-cc68bd26aba482be1493c8bae85be2853895bc6e.tar.gz vdr-plugin-muggle-cc68bd26aba482be1493c8bae85be2853895bc6e.tar.bz2 | |
use the unique key (tracks.id for GD) from the listitem when retrieving an item
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@916 e10066b5-e1e2-0310-b819-94efdf66514b
| -rw-r--r-- | mg_selection.c | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/mg_selection.c b/mg_selection.c index 8e30945..b9798f8 100644 --- a/mg_selection.c +++ b/mg_selection.c @@ -647,6 +647,13 @@ mgParts mgSelection::SelParts(bool distinct, bool deepsort) const { assert(m_level<ordersize()); + mgParts result; + if (inItem()) + { + // only use tracks.id + result += Keys[ordersize()-1]->Parts(m_db,distinct); + return result; + } mgKey *high = Keys[m_level]; mgListItem* highitem = 0; if (high->Type()!=keyGdUnique) @@ -654,7 +661,6 @@ mgSelection::SelParts(bool distinct, bool deepsort) const highitem = high->get(); high->set(0); } - mgParts result; result.orderByCount = m_orderByCount; for (unsigned int i=0;i<ordersize();i++) { @@ -960,10 +966,16 @@ bool mgSelection::enter (unsigned int position) { setPosition(position); position = gotoPosition(); // reload adjusted position - Key(m_level)->set (listitems[position]); - mgDebug(5,"enter:level=%d,set to %s",m_level,getCurrentValue().c_str()); - IncLevel(); - refreshValues(); + if (inItems()) + { + mgListItem *item=Key(m_level)->get(); + IncLevel(); + Key(m_level)->set(item); + mgListItem *i2=Key(m_level)->get(); + i2->set(item->value(),item->unique_id(),1); + } + else + IncLevel(); position = 0; if (empty()) break; |
