Small patch to prefermenu and ideas for next generation prefermenu.

Message ID 20050214202139.1d75062d.angelus.dei@tiscalinet.it
State New
Headers

Commit Message

DOm Feb. 14, 2005, 7:21 p.m. UTC
  Hi,

firstly i attach a small patch to fix drawing of the new yellow
and blue "buttons" of prefermenu plugin.

Thinking to a better prefermenu i would like to ask something to someone
more inside the vdr code: Can i use something like the small menu for
Audio track selection to show preferred channels? Doing so i can have a
channel menu not too big and looking consistent with the current skin.

Does this sound reasonable to you?

And more important: Did you understand me? really :)

Thanks for your effort,
   ANgelus.
  

Comments

DOm Feb. 15, 2005, 7:35 p.m. UTC | #1
On Mon, 14 Feb 2005 20:21:39 +0100
DOm <angelus.dei@tiscalinet.it> wrote:

> Hi,
> 
> firstly i attach a small patch to fix drawing of the new yellow
> and blue "buttons" of prefermenu plugin.
> 
> Thinking to a better prefermenu i would like to ask something to
> someone more inside the vdr code: Can i use something like the small
> menu for Audio track selection to show preferred channels? Doing so i
> can have a channel menu not too big and looking consistent with the
> current skin.
> 
> Does this sound reasonable to you?

Well, looking at the code i have a more precise question.
Is it, ot it will be, possible to use something like the cDisplayTrack
menu for something else that a Track list? Such a compact menu could be
really useful to display channel lists, too.

What Kalus thinks about that?

Have a good time,
   ANgelus.
  
Klaus Schmidinger Feb. 15, 2005, 10:19 p.m. UTC | #2
DOm wrote:
> On Mon, 14 Feb 2005 20:21:39 +0100
> DOm <angelus.dei@tiscalinet.it> wrote:
> 
> 
>>Hi,
>>
>>firstly i attach a small patch to fix drawing of the new yellow
>>and blue "buttons" of prefermenu plugin.
>>
>>Thinking to a better prefermenu i would like to ask something to
>>someone more inside the vdr code: Can i use something like the small
>>menu for Audio track selection to show preferred channels? Doing so i
>>can have a channel menu not too big and looking consistent with the
>>current skin.
>>
>>Does this sound reasonable to you?
> 
> 
> Well, looking at the code i have a more precise question.
> Is it, ot it will be, possible to use something like the cDisplayTrack
> menu for something else that a Track list? Such a compact menu could be
> really useful to display channel lists, too.
> 
> What Kalus thinks about that?

Well, the cSkinDisplayTracks menu should be generic enough to
be used to implement something along that road. Just note that
at least the version in VDR itself currently doesn't support
more entries than actually fit on the screen (no scrolling of
any kind). This menu was originally intended for a "small number"
of entries ;-)

Klaus
  
Sascha Volkenandt Feb. 17, 2005, 3:18 p.m. UTC | #3
Am Dienstag, 15. Februar 2005 23:19 schrieb Klaus Schmidinger:
> Well, the cSkinDisplayTracks menu should be generic enough to
> be used to implement something along that road. Just note that
> at least the version in VDR itself currently doesn't support
> more entries than actually fit on the screen (no scrolling of
> any kind). This menu was originally intended for a "small number"
> of entries ;-)

Which is the reason why text2skin uses a fixed height and some proprietary 
scrolling in this display (since there ARE channels with 32 audio-pids *g*).

Wouldn't it be a good idea to handle the tracks menu like the main menu, i.e. 
VDR implements the scrolling and only sets new item positions and states?

Greetings,
Sascha
  
DOm Feb. 17, 2005, 3:30 p.m. UTC | #4
On Thu, 17 Feb 2005 16:18:39 +0100
Sascha Volkenandt <lists@magoa.net> wrote:

> Am Dienstag, 15. Februar 2005 23:19 schrieb Klaus Schmidinger:
> > Well, the cSkinDisplayTracks menu should be generic enough to
> > be used to implement something along that road. Just note that
> > at least the version in VDR itself currently doesn't support
> > more entries than actually fit on the screen (no scrolling of
> > any kind). This menu was originally intended for a "small number"
> > of entries ;-)
> 
> Which is the reason why text2skin uses a fixed height and some
> proprietary  scrolling in this display (since there ARE channels with
> 32 audio-pids *g*).
> 
> Wouldn't it be a good idea to handle the tracks menu like the main
> menu, i.e.  VDR implements the scrolling and only sets new item
> positions and states?
>

If Klaus will decide to implement the scrolling of cDisplayTrack in VDR,
can i ask to make the track menu implemented in terms of some more
general "compact menu" object?
Having such a "compact menu" will make implementing a preferred channels
list trivial, and can be useful for something else,too: a preferred
commands list, or a preferred plugins list, for example.

Goodbye,
   ANgelus.
  

Patch

diff -pruN prefermenu-0.6.4_orig/preferosd.c prefermenu-0.6.4/preferosd.c
--- prefermenu-0.6.4_orig/preferosd.c	2005-02-14 19:55:40.000000000 +0100
+++ prefermenu-0.6.4/preferosd.c	2005-02-14 20:13:21.000000000 +0100
@@ -383,13 +383,13 @@  osd->DrawText(5, middle-int(LINEHEIGHT/2
   // Help Colors
 #if VDRVERSNUM >= 10307
   osd->DrawRectangle(config.width+BORDERSIZE, BORDERSIZE,\
-      config.width+LINEHEIGHT-BORDERSIZE, LINEHEIGHT+(2*BORDERSIZE), clrRed);
+      config.width+LINEHEIGHT-BORDERSIZE, LINEHEIGHT+BORDERSIZE, clrRed);
   osd->DrawRectangle(config.width+BORDERSIZE, LINEHEIGHT+(2*BORDERSIZE),\
-      config.width+LINEHEIGHT-BORDERSIZE, (2*LINEHEIGHT)+(3*BORDERSIZE), clrGreen);
-  osd->DrawRectangle(config.width+BORDERSIZE, (2*LINEHEIGHT)+(2*BORDERSIZE),\
-      config.width+LINEHEIGHT-BORDERSIZE, (3*LINEHEIGHT)+(4*BORDERSIZE), clrYellow);
-  osd->DrawRectangle(config.width+BORDERSIZE, (3*LINEHEIGHT)+(2*BORDERSIZE),\
-      config.width+LINEHEIGHT-BORDERSIZE, (4*LINEHEIGHT)+(5*BORDERSIZE), clrBlue);
+      config.width+LINEHEIGHT-BORDERSIZE, (2*LINEHEIGHT)+(2*BORDERSIZE), clrGreen);
+  osd->DrawRectangle(config.width+BORDERSIZE, (2*LINEHEIGHT)+(3*BORDERSIZE),\
+      config.width+LINEHEIGHT-BORDERSIZE, (3*LINEHEIGHT)+(3*BORDERSIZE), clrYellow);
+  osd->DrawRectangle(config.width+BORDERSIZE, (3*LINEHEIGHT)+(4*BORDERSIZE),\
+      config.width+LINEHEIGHT-BORDERSIZE, (4*LINEHEIGHT)+(4*BORDERSIZE), clrBlue);
 #else
   bitmap->Fill(config.width+BORDERSIZE, BORDERSIZE,\
       config.width+LINEHEIGHT-BORDERSIZE, LINEHEIGHT+(2*BORDERSIZE), clrRed);