Changeset 15567


Ignore:
Timestamp:
05/08/12 23:28:34 (12 years ago)
Author:
nit
Message:

[titan] channellist -> hold channelpos on menu press

File:
1 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/channellist.h

    r15558 r15567  
    22#define CHANNELLIST_H
    33
    4 int selectchannel(struct skin* listbox)
     4int selectchannel(struct skin* listbox, int sid, unsigned long tid)
    55{
    66        struct skin* node = listbox;
     
    1212
    1313        if(status.servicetype == 0)
    14                 chnode = getchannel(getconfigint("serviceid", NULL), getconfiglu("transponderid", NULL));
     14        {
     15                if(sid != 0 && tid != 0)
     16                        chnode = getchannel(sid, tid);
     17                else
     18                        chnode = getchannel(getconfigint("serviceid", NULL), getconfiglu("transponderid", NULL));
     19        }
    1520        else
    16                 chnode = getchannel(getconfigint("rserviceid", NULL), getconfiglu("rtransponderid", NULL));
     21        {
     22                if(sid != 0 && tid != 0)
     23                        chnode = getchannel(sid, tid);
     24                else
     25                        chnode = getchannel(getconfigint("rserviceid", NULL), getconfiglu("rtransponderid", NULL));
     26        }
    1727
    1828        if(chnode == NULL)
     
    517527                        aktlist = (void*)mainbouquetnode;
    518528                        showbouquetchannel(channellist, listbox, channeltimeline, mainbouquetnode->bouquet, flag);
    519                         selectchannel(listbox);
     529                        selectchannel(listbox, 0, 0);
    520530                }
    521531        }
     
    530540                aktlist = (void*)(int)tmpstr[6];
    531541                showazchannel(channellist, listbox, (int)tmpstr[6], flag);
    532                 selectchannel(listbox);
     542                selectchannel(listbox, 0, 0);
    533543        }
    534544        else if(ostrncmp("(SAT)-", tmpstr, 6) == 0 && strlen(tmpstr) > 6)
     
    543553                aktlist = (void*)satnode;
    544554                showsatchannel(channellist, listbox, satnode, flag);
    545                 selectchannel(listbox);
     555                selectchannel(listbox, 0, 0);
    546556        }
    547557        else if(ostrncmp("(PROVIDER)-", tmpstr, 11) == 0 && strlen(tmpstr) > 6)
     
    556566                aktlist = (void*)providernode;
    557567                showproviderchannel(channellist, listbox, providernode, flag);
    558                 selectchannel(listbox);
     568                selectchannel(listbox, 0, 0);
    559569        }
    560570        else
     
    563573                list = ALLCHANNEL;
    564574                showallchannel(channellist, listbox, flag);
    565                 selectchannel(listbox);
     575                selectchannel(listbox, 0, 0);
    566576        }
    567577
     
    648658                        if(rcret == getrcconfigint("rcmenu", NULL))
    649659                        {
     660                                int sid = 0;
     661                                unsigned long tid = 0;
     662                                if((list == ALLCHANNEL || list == SATCHANNEL || list == PROVIDERCHANNEL || list == AZCHANNEL || list == BOUQUETCHANNEL) && listbox->select->handle != NULL)
     663                                {
     664                                        sid = ((struct channel*)listbox->select->handle)->serviceid;
     665                                        tid = ((struct channel*)listbox->select->handle)->transponderid;
     666                                }
     667
    650668                                status.markmodus = 0;
    651669                                movesel = NULL;
     
    660678                                        addscreenrc(channellist, listbox);
    661679                                if(listmode == NOMODE && flag == 3) flag = 0;
     680
    662681                                if(nochanneltitle == 0) changechanneltitle(channellist, listmode, &oldtitle);
    663682
     
    665684                                delmarkedscreennodes(channellist, 2);
    666685                                recalclist(list, aktlist, listmode, channellist, listbox, channeltimeline);
    667                                 selectchannel(listbox);
     686                                selectchannel(listbox, sid, tid);
    668687                                changebutton(listmode, b1, b2, b3, b4, b5, b6, b7, b8, b9);
    669688                                drawscreen(channellist, 0);
     
    895914                        delmarkedscreennodes(channellist, 2);
    896915                        showallchannel(channellist, listbox, flag);
    897                         selectchannel(listbox);
     916                        selectchannel(listbox, 0, 0);
    898917                        changebutton(listmode, b1, b2, b3, b4, b5, b6, b7, b8, b9);
    899918                        drawchannellist(channellist, list, listbox);
     
    11191138                                showbouquetchannel(channellist, listbox, channeltimeline, (struct bouquet*)listbox->select->handle, flag);
    11201139                                delmarkedscreennodes(channellist, 2);
    1121                                 selectchannel(listbox);
     1140                                selectchannel(listbox, 0, 0);
    11221141                                changebutton(listmode, b1, b2, b3, b4, b5, b6, b7, b8, b9);
    11231142                                drawchannellist(channellist, list, listbox);
     
    11911210                                showsatchannel(channellist, listbox, (struct sat*)listbox->select->handle, flag);
    11921211                                delmarkedscreennodes(channellist, 2);
    1193                                 selectchannel(listbox);
     1212                                selectchannel(listbox, 0, 0);
    11941213                                changebutton(listmode, b1, b2, b3, b4, b5, b6, b7, b8, b9);
    11951214                                drawchannellist(channellist, list, listbox);
     
    12551274                                showazchannel(channellist, listbox, (int)listbox->select->handle, flag);
    12561275                                delmarkedscreennodes(channellist, 2);
    1257                                 selectchannel(listbox);
     1276                                selectchannel(listbox, 0, 0);
    12581277                                changebutton(listmode, b1, b2, b3, b4, b5, b6, b7, b8, b9);
    12591278                                drawchannellist(channellist, list, listbox);
     
    13271346                                showproviderchannel(channellist, listbox, (struct provider*) listbox->select->handle, flag);
    13281347                                delmarkedscreennodes(channellist, 2);
    1329                                 selectchannel(listbox);
     1348                                selectchannel(listbox, 0, 0);
    13301349                                changebutton(listmode, b1, b2, b3, b4, b5, b6, b7, b8, b9);
    13311350                                drawchannellist(channellist, list, listbox);
     
    13361355                {
    13371356                        if(list == AZLIST) continue;
     1357
     1358                        int sid = 0;
     1359                        unsigned long tid = 0;
     1360                        if((list == ALLCHANNEL || list == SATCHANNEL || list == PROVIDERCHANNEL || list == AZCHANNEL || list == BOUQUETCHANNEL) && listbox->select->handle != NULL)
     1361                        {
     1362                                sid = ((struct channel*)listbox->select->handle)->serviceid;
     1363                                tid = ((struct channel*)listbox->select->handle)->transponderid;
     1364                        }
     1365
    13381366                        clearscreen(channellist);
    13391367                        if(listbox->select != NULL)
     
    13561384                        delmarkedscreennodes(channellist, 2);
    13571385                        recalclist(list, aktlist, listmode, channellist, listbox, channeltimeline);
    1358                         selectchannel(listbox);
     1386                        selectchannel(listbox, sid, tid);
    13591387                        changebutton(listmode, b1, b2, b3, b4, b5, b6, b7, b8, b9);
    13601388                        drawscreen(channellist, 0);
Note: See TracChangeset for help on using the changeset viewer.