From c16bbf7422f37108580e559ca849e5aafbdac672 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 25 Sep 2005 18:00:00 +0200 Subject: =?UTF-8?q?Version=201.3.33=20-=20Fixed=20two=20errors=20in=20'new?= =?UTF-8?q?plugin'=20(thanks=20to=20Alexander=20Rieger).=20-=20Fixed=20con?= =?UTF-8?q?verting=20arbitrarily=20formatted=20summary.vdr=20files=20(than?= =?UTF-8?q?ks=20to=20Thomas=20G=C3=BCnther).=20-=20Fixed=20handling=20colo?= =?UTF-8?q?r=20buttons=20in=20cMenuEditStrItem=20(thanks=20to=20Alexander?= =?UTF-8?q?=20Rieger).=20-=20Added=20cChannel::LinkChannels()=20and=20cCha?= =?UTF-8?q?nnel::RefChannel()=20(suggested=20by=20Helmut=20Auer).=20=20=20?= =?UTF-8?q?Note=20that=20VDR=20itself=20doesn't=20actually=20use=20the=20l?= =?UTF-8?q?inked=20channels,=20yet,=20so=20there=20is=20=20=20no=20guarant?= =?UTF-8?q?ee=20that=20this=20really=20works=20under=20all=20circumstances?= =?UTF-8?q?.=20-=20Added=20a=20missing=20include=20statement=20to=20the=20?= =?UTF-8?q?'sky'=20plugin=20(thanks=20to=20Alfred=20Zastrow=20=20=20for=20?= =?UTF-8?q?reporting=20this=20one).=20-=20Fixed=20handling=20key=20macros?= =?UTF-8?q?=20with=20keys=20after=20@plugin=20(thanks=20to=20Rolf=20Ahrenb?= =?UTF-8?q?erg=20for=20=20=20reporting=20this=20one).=20-=20Fixed=20error?= =?UTF-8?q?=20handling=20in=20cCiTransportConnection::RecvTPDU()=20(thanks?= =?UTF-8?q?=20to=20Georg=20Acher=20=20=20for=20reporting=20this=20one).=20?= =?UTF-8?q?-=20Removed=20obsolete=20'shift'=20code=20in=20device.[hc].=20-?= =?UTF-8?q?=20The=20SVDRP=20command=20DELR=20no=20longer=20triggers=20a=20?= =?UTF-8?q?complete=20reload=20of=20the=20global=20Recordings=20=20=20list?= =?UTF-8?q?,=20but=20rather=20deletes=20that=20particular=20entry.=20-=20T?= =?UTF-8?q?he=20list=20of=20recordings=20is=20now=20read=20in=20a=20separa?= =?UTF-8?q?te=20thread,=20resulting=20in=20a=20faster=20=20=20startup=20if?= =?UTF-8?q?=20there=20are=20a=20great=20many=20of=20recordings,=20or=20the?= =?UTF-8?q?=20disk(s)=20have=20to=20spin=20up.=20=20=20If=20the=20Recordin?= =?UTF-8?q?gs=20menu=20is=20opened=20while=20the=20list=20of=20recordings?= =?UTF-8?q?=20is=20still=20being=20read,=20=20=20the=20menu=20will=20be=20?= =?UTF-8?q?updated=20accordingly.=20=20=20Plugins=20that=20access=20the=20?= =?UTF-8?q?global=20Recordings=20variable=20should=20lock=20the=20thread?= =?UTF-8?q?=20=20=20by=20putting=20something=20like?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit cThreadLock RecordingsLock(&Recordings); into the respective code block. Thanks to Carsten Koch for his help in testing and debugging this. - The 'new' indicator in the Recordings menu is now kept up-to-date (thanks to Thomas Günther). - Updated the Romanian OSD texts (thanks to Lucian Muresan). - Updated the Russian OSD texts (thanks to Oleg Roitburd). - The '.update' file in the video directory is now touched when a recording is added or deleted, so that other VDR instances can update their lists (thanks to Alexander Rieger). - Made the function ExchangeChars() public (suggested by Lucian Muresan). --- menuitems.c | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'menuitems.c') diff --git a/menuitems.c b/menuitems.c index 18b001e..1f2cc14 100644 --- a/menuitems.c +++ b/menuitems.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menuitems.c 1.22 2005/03/19 15:33:34 kls Exp $ + * $Id: menuitems.c 1.23 2005/09/17 09:36:31 kls Exp $ */ #include "menuitems.h" @@ -322,10 +322,14 @@ eOSState cMenuEditStrItem::ProcessKey(eKeys Key) { switch (Key) { case kRed: // Switch between upper- and lowercase characters - if (pos >= 0 && (!insert || !newchar)) { - uppercase = !uppercase; - value[pos] = uppercase ? toupper(value[pos]) : tolower(value[pos]); + if (pos >= 0) { + if (!insert || !newchar) { + uppercase = !uppercase; + value[pos] = uppercase ? toupper(value[pos]) : tolower(value[pos]); + } } + else + return osUnknown; break; case kGreen: // Toggle insert/overwrite modes if (pos >= 0) { @@ -333,6 +337,8 @@ eOSState cMenuEditStrItem::ProcessKey(eKeys Key) newchar = true; SetHelpKeys(); } + else + return osUnknown; break; case kYellow|k_Repeat: case kYellow: // Remove the character at current position; in insert mode it is the character to the right of cursor @@ -350,6 +356,15 @@ eOSState cMenuEditStrItem::ProcessKey(eKeys Key) uppercase = isupper(value[pos]); newchar = true; } + else + return osUnknown; + break; + case kBlue|k_Repeat: + case kBlue: // consume the key only if in edit-mode + if (pos >= 0) + ; + else + return osUnknown; break; case kLeft|k_Repeat: case kLeft: if (pos > 0) { -- cgit v1.2.3