mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Date and time in the title of an event info page are now always right adjusted
This commit is contained in:
parent
88253cfba7
commit
ea0bd668c8
4
HISTORY
4
HISTORY
@ -265,3 +265,7 @@ Video Disk Recorder Revision History
|
||||
- Problematic characters in recording names (which can come from timers that
|
||||
are programmed via the "Schedules" menu) are now replaced by suitable
|
||||
substitutes.
|
||||
|
||||
2000-11-05: Version 0.68
|
||||
|
||||
- Date and time in the title of an event info page are now always right adjusted.
|
||||
|
11
dvbapi.c
11
dvbapi.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: dvbapi.c 1.34 2000/11/01 09:19:27 kls Exp $
|
||||
* $Id: dvbapi.c 1.35 2000/11/05 13:04:23 kls Exp $
|
||||
*/
|
||||
|
||||
#include "dvbapi.h"
|
||||
@ -1616,6 +1616,15 @@ int cDvbApi::Width(unsigned char c)
|
||||
#endif
|
||||
}
|
||||
|
||||
int cDvbApi::WidthInCells(const char *s)
|
||||
{
|
||||
#ifdef DEBUG_OSD
|
||||
return strlen(s);
|
||||
#else
|
||||
return (osd->Width(s) + charWidth - 1) / charWidth;
|
||||
#endif
|
||||
}
|
||||
|
||||
void cDvbApi::Text(int x, int y, const char *s, eDvbColor colorFg, eDvbColor colorBg)
|
||||
{
|
||||
if (x < 0) x = cols + x;
|
||||
|
3
dvbapi.h
3
dvbapi.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: dvbapi.h 1.20 2000/11/01 09:18:50 kls Exp $
|
||||
* $Id: dvbapi.h 1.21 2000/11/05 12:40:07 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __DVBAPI_H
|
||||
@ -124,6 +124,7 @@ public:
|
||||
void ClrEol(int x, int y, eDvbColor color = clrBackground);
|
||||
int CellWidth(void);
|
||||
int Width(unsigned char c);
|
||||
int WidthInCells(const char *s);
|
||||
void Text(int x, int y, const char *s, eDvbColor colorFg = clrWhite, eDvbColor colorBg = clrBackground);
|
||||
void Flush(void);
|
||||
|
||||
|
7
dvbosd.c
7
dvbosd.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: dvbosd.c 1.4 2000/11/01 09:13:32 kls Exp $
|
||||
* $Id: dvbosd.c 1.5 2000/11/05 12:53:09 kls Exp $
|
||||
*/
|
||||
|
||||
#include "dvbosd.h"
|
||||
@ -81,6 +81,11 @@ int cBitmap::Width(unsigned char c)
|
||||
return font ? font->Width(c) : -1;
|
||||
}
|
||||
|
||||
int cBitmap::Width(const char *s)
|
||||
{
|
||||
return font ? font->Width(s) : -1;
|
||||
}
|
||||
|
||||
void cBitmap::Text(int x, int y, const char *s, eDvbColor ColorFg, eDvbColor ColorBg)
|
||||
{
|
||||
if (bitmap) {
|
||||
|
3
dvbosd.h
3
dvbosd.h
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: dvbosd.h 1.2 2000/11/01 09:13:44 kls Exp $
|
||||
* $Id: dvbosd.h 1.3 2000/11/05 12:53:31 kls Exp $
|
||||
*/
|
||||
|
||||
#ifndef __DVBOSD_H
|
||||
@ -57,6 +57,7 @@ public:
|
||||
bool Dirty(void);
|
||||
void SetPixel(int x, int y, eDvbColor Color);
|
||||
int Width(unsigned char c);
|
||||
int Width(const char *s);
|
||||
void Text(int x, int y, const char *s, eDvbColor ColorFg = clrWhite, eDvbColor ColorBg = clrBackground);
|
||||
void Fill(int x1, int y1, int x2, int y2, eDvbColor Color);
|
||||
void Clear(void);
|
||||
|
17
interface.c
17
interface.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: interface.c 1.28 2000/11/01 15:27:52 kls Exp $
|
||||
* $Id: interface.c 1.29 2000/11/05 12:50:44 kls Exp $
|
||||
*/
|
||||
|
||||
#include "interface.h"
|
||||
@ -238,11 +238,24 @@ void cInterface::WriteText(int x, int y, const char *s, eDvbColor FgColor, eDvbC
|
||||
|
||||
void cInterface::Title(const char *s)
|
||||
{
|
||||
ClearEol(0, 0, clrCyan);
|
||||
const char *t = strchr(s, '\t');
|
||||
if (t) {
|
||||
char buffer[Width() + 1];
|
||||
unsigned int n = t - s;
|
||||
if (n >= sizeof(buffer))
|
||||
n = sizeof(buffer) - 1;
|
||||
strn0cpy(buffer, s, n);
|
||||
Write(1, 0, buffer, clrBlack, clrCyan);
|
||||
t++;
|
||||
Write(-(cDvbApi::PrimaryDvbApi->WidthInCells(t) + 1), 0, t, clrBlack, clrCyan);
|
||||
}
|
||||
else {
|
||||
int x = (Width() - strlen(s)) / 2;
|
||||
if (x < 0)
|
||||
x = 0;
|
||||
ClearEol(0, 0, clrCyan);
|
||||
Write(x, 0, s, clrBlack, clrCyan);
|
||||
}
|
||||
}
|
||||
|
||||
void cInterface::Status(const char *s, eDvbColor FgColor, eDvbColor BgColor)
|
||||
|
4
menu.c
4
menu.c
@ -4,7 +4,7 @@
|
||||
* See the main source file 'vdr.c' for copyright information and
|
||||
* how to reach the author.
|
||||
*
|
||||
* $Id: menu.c 1.40 2000/11/01 15:50:00 kls Exp $
|
||||
* $Id: menu.c 1.41 2000/11/05 12:47:44 kls Exp $
|
||||
*/
|
||||
|
||||
#include "menu.h"
|
||||
@ -1072,7 +1072,7 @@ cMenuEvent::cMenuEvent(const cEventInfo *EventInfo, bool CanSwitch)
|
||||
if (channel) {
|
||||
const char *p;
|
||||
char *buffer;
|
||||
asprintf(&buffer, "%-17.*s %.*s %s - %s", 17, channel->name, 5, eventInfo->GetDate(), eventInfo->GetTimeString(), eventInfo->GetEndTimeString());
|
||||
asprintf(&buffer, "%-17.*s\t%.*s %s - %s", 17, channel->name, 5, eventInfo->GetDate(), eventInfo->GetTimeString(), eventInfo->GetEndTimeString());
|
||||
SetTitle(buffer, false);
|
||||
int Line = 2;
|
||||
cMenuTextItem *item;
|
||||
|
Loading…
Reference in New Issue
Block a user