[Commits] : Tuxbox-GIT: apps branch master updated. CVS-Final-286-geab429d
Tuxbox Sources
Brought to you by:
dbt1
|
From: Thilo G. <tux...@ne...> - 2013-11-28 08:50:02
|
Project "Tuxbox-GIT: apps":
The branch, master has been updated
via eab429d4a91136d658e1e7dbc02c843644078f71 (commit)
via 2d4c0588534006dc9b2d82065884b1a49228d7b6 (commit)
via 4d8ddc9c0e1944afe28ff491af1549125eb52bae (commit)
via fc1448d474ae1336fc006ad6e7c216743c57ca60 (commit)
via a85f03f84b71c63dc0cd097d87950585a54d0a53 (commit)
via cd85f180be5169b67932c7bed28ebf3c2740b0f7 (commit)
via c934dfac1c77cd5e9dc8ba3d5fb9eacf935fcbb2 (commit)
via 101a29e13e4c1b150e63bc134390cce15e04528b (commit)
via cffa2be562c641fc8fb53a9c764167e273d1fd08 (commit)
via 58ee586e3feec9f2964e8bf6756c80baa03b6199 (commit)
via 9d0db55a47c86b50b25a02ff6bbe441bbcca7f67 (commit)
via da1f5ec250e57b0bda6440b7bd915d98adaf4c40 (commit)
via 89a1b556d44bb70d7f7a2c2a5430e09c6d951cda (commit)
via 93512b78e8b6b07afc9f1502d63aabd6ebcb6d7c (commit)
via 634835349a378951137f0c4c0781b650d74e5fd6 (commit)
via 465f70fd399675ef68c1aa6df12d613c28f3fba2 (commit)
via d6e3be234df5a7000f73c51b60009df1906d43e6 (commit)
via 15ed627ba11e2409a29df510671de3ef93b9e209 (commit)
via 091a86dc9533a83d2c37db213fafdea2f058cf03 (commit)
via aa6175dd19654837b31e830872ea5f2eb643b1e0 (commit)
via fb77773d8712040a98098fade59a004fa5d63c87 (commit)
via 8fffa3f8c4fc80d2fef73bacbb123c5fbb0418e2 (commit)
via 92d0c2a25cdcf1860eab634404f62639741fbd33 (commit)
via 2763e238cf350f64b4955f7249ddbc245d4fc6d0 (commit)
via 7b81882eb1663999ce5b12442dd4db3e7da9259b (commit)
via 85aacb3b3758beb9c02b2abc6d0b66e38ed28000 (commit)
from cda11023b20bf911fe2157dca2ac0b7ab3c584bb (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit eab429d4a91136d658e1e7dbc02c843644078f71
Author: Christian Schuett <Gau...@ho...>
Date: Sun Nov 17 19:59:05 2013 +0100
Neutrino LCDD: update 'percentOver' also while in menus
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/driver/lcdd.cpp b/tuxbox/neutrino/src/driver/lcdd.cpp
index d838dd3..42ac881 100644
--- a/tuxbox/neutrino/src/driver/lcdd.cpp
+++ b/tuxbox/neutrino/src/driver/lcdd.cpp
@@ -698,14 +698,16 @@ void CLCD::showVolume(const char vol, const bool perform_update)
void CLCD::showPercentOver(const unsigned char perc, const bool perform_update, const MODES m)
{
- if (mode != m)
+ bool tsmode = (CNeutrinoApp::getInstance()->getMode() == NeutrinoMessages::mode_ts);
+ if (m == MODE_TVRADIO && tsmode || m == MODE_MOVIE && !tsmode)
return;
- int left, top, width, height = 5;
- bool draw = true;
percentOver = perc;
if (mode == MODE_TVRADIO || mode == MODE_MOVIE)
{
+ int left, top, width, height = 5;
+ bool draw = true;
+
if (g_settings.lcd_setting[SNeutrinoSettings::LCD_SHOW_VOLUME] == STATUSLINE_PLAYTIME)
{
left = 12; top = 55; width = 60;
commit 2d4c0588534006dc9b2d82065884b1a49228d7b6
Author: GetAway <get...@t-...>
Date: Fri Nov 15 08:56:58 2013 +0100
fix error with newer compiler
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/dvb/zapit/src/pzapit.cpp b/dvb/zapit/src/pzapit.cpp
index 5da11c0..f9610c7 100644
--- a/dvb/zapit/src/pzapit.cpp
+++ b/dvb/zapit/src/pzapit.cpp
@@ -23,6 +23,7 @@
*/
#include <cstdio>
+#include <cstdlib>
#include <cstring>
#include <iostream>
#include <unistd.h> /* sleep */
diff --git a/misc/libs/libconfigfile/configfile.cpp b/misc/libs/libconfigfile/configfile.cpp
index 2291f95..b8e154b 100644
--- a/misc/libs/libconfigfile/configfile.cpp
+++ b/misc/libs/libconfigfile/configfile.cpp
@@ -33,6 +33,7 @@
#include <cstring>
#include <sys/stat.h>
+#include <unistd.h>
CConfigFile::CConfigFile(const char p_delimiter, const bool p_saveDefaults)
{
diff --git a/tuxbox/neutrino/src/gui/channellist.cpp b/tuxbox/neutrino/src/gui/channellist.cpp
index 47e5d26..eb68fab 100644
--- a/tuxbox/neutrino/src/gui/channellist.cpp
+++ b/tuxbox/neutrino/src/gui/channellist.cpp
@@ -64,6 +64,8 @@
#include <daemonc/remotecontrol.h>
#include <zapit/client/zapittools.h>
+#include <algorithm>
+
extern CBouquetList * bouquetList; /* neutrino.cpp */
extern CRemoteControl * g_RemoteControl; /* neutrino.cpp */
extern CZapitClient::SatelliteList satList;
commit 4d8ddc9c0e1944afe28ff491af1549125eb52bae
Author: Stefan Seyfried <se...@tu...>
Date: Sat Nov 9 20:52:08 2013 +0100
Neutrino: remove unneeded CConfigFile from lcdd and shutdown_count
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/driver/lcdd.cpp b/tuxbox/neutrino/src/driver/lcdd.cpp
index 697919b..d838dd3 100644
--- a/tuxbox/neutrino/src/driver/lcdd.cpp
+++ b/tuxbox/neutrino/src/driver/lcdd.cpp
@@ -7,7 +7,7 @@
Homepage: http://dbox.cyberphoria.org/
Copyright (C) 2008 Novell, Inc. Author: Stefan Seyfried
- (C) 2009 Stefan Seyfried
+ (C) 2009-2013 Stefan Seyfried
License: GPL
@@ -53,7 +53,6 @@
extern CRemoteControl * g_RemoteControl; /* neutrino.cpp */
CLCD::CLCD()
- : configfile('\t')
{
#ifdef LCD_UPDATE
m_fileList = NULL;
diff --git a/tuxbox/neutrino/src/driver/lcdd.h b/tuxbox/neutrino/src/driver/lcdd.h
index 6e32fc2..4228809 100644
--- a/tuxbox/neutrino/src/driver/lcdd.h
+++ b/tuxbox/neutrino/src/driver/lcdd.h
@@ -43,8 +43,8 @@
#include "driver/file.h"
#endif // LCD_UPDATE
-#include <configfile.h>
#include <pthread.h>
+#include <string>
#include <lcddisplay/fontrenderer.h>
@@ -131,7 +131,6 @@ class CLCD
bool muted;
bool showclock;
bool movie_is_ac3;
- CConfigFile configfile;
pthread_t thrTime;
int last_toggle_state_power;
int clearClock;
diff --git a/tuxbox/neutrino/src/driver/shutdown_count.cpp b/tuxbox/neutrino/src/driver/shutdown_count.cpp
index 08b1bcb..688bd85 100644
--- a/tuxbox/neutrino/src/driver/shutdown_count.cpp
+++ b/tuxbox/neutrino/src/driver/shutdown_count.cpp
@@ -37,7 +37,6 @@
SHTDCNT::SHTDCNT()
- : configfile('\t')
{
}
diff --git a/tuxbox/neutrino/src/driver/shutdown_count.h b/tuxbox/neutrino/src/driver/shutdown_count.h
index 2bf7efe..81a68a2 100644
--- a/tuxbox/neutrino/src/driver/shutdown_count.h
+++ b/tuxbox/neutrino/src/driver/shutdown_count.h
@@ -26,7 +26,6 @@
#ifndef __shutdown_count__
#define __shutdown_count__
-#include <configfile.h>
#include <pthread.h>
class SHTDCNT
@@ -35,7 +34,6 @@ class SHTDCNT
pthread_t thrTime;
unsigned int shutdown_cnt;
- CConfigFile configfile;
void shutdown_counter();
SHTDCNT();
commit fc1448d474ae1336fc006ad6e7c216743c57ca60
Author: Christian Schuett <Gau...@ho...>
Date: Fri Nov 8 18:28:05 2013 +0100
Neutrino moviebrowser: don't save selection if cancelled while playing
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/moviebrowser.cpp b/tuxbox/neutrino/src/gui/moviebrowser.cpp
index 8dbd284..6c9e6c9 100644
--- a/tuxbox/neutrino/src/gui/moviebrowser.cpp
+++ b/tuxbox/neutrino/src/gui/moviebrowser.cpp
@@ -1104,9 +1104,13 @@ int CMovieBrowser::exec(const char* path, const int playstate)
hide();
//TRACE(" return %d\r\n",res);
- m_prevBrowserSelection = m_currentBrowserSelection;
- m_prevRecordSelection = m_currentRecordSelection;
- m_prevPlaySelection = m_currentPlaySelection;
+ // save current selection if movie has to be played or is not playing
+ if (res == true || m_playstate == CMoviePlayerGui::STOPPED)
+ {
+ m_prevBrowserSelection = m_currentBrowserSelection;
+ m_prevRecordSelection = m_currentRecordSelection;
+ m_prevPlaySelection = m_currentPlaySelection;
+ }
saveSettings(&m_settings); // might be better done in ~CMovieBrowser, but for any reason this does not work if MB is killed by neutrino shutdown
commit a85f03f84b71c63dc0cd097d87950585a54d0a53
Author: Christian Schuett <Gau...@ho...>
Date: Thu Nov 7 19:48:52 2013 +0100
Neutrino moviebrowser: prevent reload while playing to avoid a segfault
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/moviebrowser.cpp b/tuxbox/neutrino/src/gui/moviebrowser.cpp
index 2eaf4f4..8dbd284 100644
--- a/tuxbox/neutrino/src/gui/moviebrowser.cpp
+++ b/tuxbox/neutrino/src/gui/moviebrowser.cpp
@@ -444,6 +444,7 @@ void CMovieBrowser::init(void)
m_textTitle = g_Locale->getText(LOCALE_MOVIEBROWSER_HEAD);
m_currentStartPos = 0;
+ m_playstate = CMoviePlayerGui::STOPPED;
m_movieSelectionHandler = NULL;
m_currentBrowserSelection = 0;
@@ -899,7 +900,7 @@ int CMovieBrowser::exec(CMenuTarget* parent, const std::string & actionKey)
else if(actionKey == "run")
{
if(parent) parent->hide ();
- exec(NULL);
+ exec(NULL, CMoviePlayerGui::STOPPED);
}
else if(actionKey == "book_clear_all")
{
@@ -919,7 +920,7 @@ int CMovieBrowser::exec(CMenuTarget* parent, const std::string & actionKey)
return returnval;
}
-int CMovieBrowser::exec(const char* path)
+int CMovieBrowser::exec(const char* path, const int playstate)
{
bool res = false;
@@ -951,6 +952,8 @@ int CMovieBrowser::exec(const char* path)
else
m_selectedDir = "/";
+ m_playstate = playstate;
+
if(paint() == false)
return res;// paint failed due to less memory , exit
@@ -1107,8 +1110,8 @@ int CMovieBrowser::exec(const char* path)
saveSettings(&m_settings); // might be better done in ~CMovieBrowser, but for any reason this does not work if MB is killed by neutrino shutdown
- // make stale if we should reload the next time, but not if movie has to be played
- if(m_vMovieInfo.empty() || (m_settings.reload == true && res == false))
+ // make stale if we should reload the next time, but not if movie has to be played or is playing
+ if(m_vMovieInfo.empty() || (m_settings.reload == true && res == false && m_playstate == CMoviePlayerGui::STOPPED))
{
TRACE("[mb] force reload next time\r\n");
fileInfoStale();
@@ -1646,11 +1649,14 @@ void CMovieBrowser::refreshTitle(void)
0,
true); // UTF-8
- int iconw, iconh;
- CFrameBuffer::getInstance()->getIconSize(NEUTRINO_ICON_BUTTON_DBOX, &iconw, &iconh);
- m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_DBOX,
- m_cBoxFrameTitleRel.iX + m_cBoxFrameTitleRel.iWidth - iconw - 12,
- m_cBoxFrameTitleRel.iY + m_cBoxFrameTitleRel.iHeight / 2 - iconh / 2);
+ if(m_playstate == CMoviePlayerGui::STOPPED)
+ {
+ int iconw, iconh;
+ CFrameBuffer::getInstance()->getIconSize(NEUTRINO_ICON_BUTTON_DBOX, &iconw, &iconh);
+ m_pcWindow->paintIcon(NEUTRINO_ICON_BUTTON_DBOX,
+ m_cBoxFrameTitleRel.iX + m_cBoxFrameTitleRel.iWidth - iconw - 12,
+ m_cBoxFrameTitleRel.iY + m_cBoxFrameTitleRel.iHeight / 2 - iconh / 2);
+ }
}
/************************************************************************
@@ -1817,8 +1823,11 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg)
}
else if (msg == CRCInput::RC_blue)
{
- loadMovies();
- refresh();
+ if(m_playstate == CMoviePlayerGui::STOPPED)
+ {
+ loadMovies();
+ refresh();
+ }
}
else if (msg == CRCInput::RC_red )
{
@@ -1858,7 +1867,7 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg)
}
else if (msg == CRCInput::RC_setup)
{
- if(m_movieSelectionHandler != NULL)
+ if(m_playstate == CMoviePlayerGui::STOPPED && m_movieSelectionHandler != NULL)
showMenu(m_movieSelectionHandler);
}
#ifdef MOVEMANAGER
@@ -3179,7 +3188,7 @@ bool CMovieBrowser::showMenu(MI_MOVIE_INFO* /*movie_info*/)
/** main menu ******************************************************/
CMovieHelp* movieHelp = new CMovieHelp();
#ifdef ENABLE_GUI_MOUNT
- CNFSSmallMenu* nfs = new CNFSSmallMenu();
+ //CNFSSmallMenu* nfs = new CNFSSmallMenu();
#endif
CMenuWidget mainMenu(LOCALE_MOVIEBROWSER_MENU_MAIN_HEAD, NEUTRINO_ICON_STREAMING);
@@ -3240,7 +3249,7 @@ bool CMovieBrowser::showMenu(MI_MOVIE_INFO* /*movie_info*/)
delete movieHelp;
#ifdef ENABLE_GUI_MOUNT
- delete nfs;
+ //delete nfs;
#endif
//restart_mb_timeout = 1;
diff --git a/tuxbox/neutrino/src/gui/moviebrowser.h b/tuxbox/neutrino/src/gui/moviebrowser.h
index 658622f..029b8e1 100644
--- a/tuxbox/neutrino/src/gui/moviebrowser.h
+++ b/tuxbox/neutrino/src/gui/moviebrowser.h
@@ -252,6 +252,7 @@ class CMovieBrowser : public CMenuTarget
MI_MOVIE_INFO* m_movieSelectionHandler;
int m_currentStartPos;
+ int m_playstate;
std::string m_selectedDir;
MB_FOCUS m_windowFocus;
@@ -283,7 +284,7 @@ class CMovieBrowser : public CMenuTarget
CMovieBrowser(const char* path); //P1
CMovieBrowser(); //P1
~CMovieBrowser(); //P1
- int exec(const char* path); //P1
+ int exec(const char* path, const int playstate); //P1
int exec(CMenuTarget* parent, const std::string & actionKey);
std::string getCurrentDir(void); //P1 for FileBrowser compatibility
CFile* getSelectedFile(void); //P1 for FileBrowser compatibility
diff --git a/tuxbox/neutrino/src/gui/movieplayer.cpp b/tuxbox/neutrino/src/gui/movieplayer.cpp
index 4a621a8..c5a30de 100644
--- a/tuxbox/neutrino/src/gui/movieplayer.cpp
+++ b/tuxbox/neutrino/src/gui/movieplayer.cpp
@@ -3404,7 +3404,7 @@ void CMoviePlayerGui::PlayFile (int parental)
if(isMovieBrowser == true)
{
// start the moviebrowser instead of the filebrowser
- if(CMovieBrowser::getInstance()->exec(Path_local.c_str()))
+ if(CMovieBrowser::getInstance()->exec(Path_local.c_str(), g_playstate))
{
// get the current path and file name
Path_local = CMovieBrowser::getInstance()->getCurrentDir();
commit cd85f180be5169b67932c7bed28ebf3c2740b0f7
Author: Christian Schuett <Gau...@ho...>
Date: Wed Nov 6 19:15:14 2013 +0100
nhttpd controlapi: rename XML tag for conformity with Neutrino-HD
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
index 269ed2b..0148c55 100644
--- a/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
+++ b/tuxbox/neutrino/daemons/nhttpd/tuxboxapi/controlapi.cpp
@@ -1063,7 +1063,7 @@ void CControlAPI::GetBouquetCGI(CyhookHandler *hh)
100 * (now - currentNextInfo.current_zeit.startzeit) / currentNextInfo.current_zeit.dauer :
0;
hh->WriteLn("\t<firstEPG>");
- hh->printf("\t\t<id>%llu</id>\n"
+ hh->printf("\t\t<eventid>%llu</eventid>\n"
"\t\t<startTime>%s</startTime>\n"
"\t\t<description><![CDATA[%s]]></description>\n"
"\t\t<timeElapsed>%d</timeElapsed>\n"
@@ -1081,7 +1081,7 @@ void CControlAPI::GetBouquetCGI(CyhookHandler *hh)
{
timestr = timeString(currentNextInfo.next_zeit.startzeit);
hh->WriteLn("\t<secondEPG>");
- hh->printf("\t\t<id>%llu</id>\n"
+ hh->printf("\t\t<eventid>%llu</eventid>\n"
"\t\t<startTime>%s</startTime>\n"
"\t\t<description><![CDATA[%s]]></description>\n"
"\t\t<timeTotal>%d</timeTotal>\n",
commit c934dfac1c77cd5e9dc8ba3d5fb9eacf935fcbb2
Author: Christian Schuett <Gau...@ho...>
Date: Mon Nov 4 19:42:26 2013 +0100
Neutrino: also restore bouquet of current channel if EXIT_ALL requested
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/neutrino.cpp b/tuxbox/neutrino/src/neutrino.cpp
index c1d0bb0..30bbc81 100644
--- a/tuxbox/neutrino/src/neutrino.cpp
+++ b/tuxbox/neutrino/src/neutrino.cpp
@@ -2477,7 +2477,7 @@ void CNeutrinoApp::RealRun(CMenuWidget &menu)
{
channelList->zapTo(bouquetList->Bouquets[bouquetList->getActiveBouquetNumber()]->channelList->getKey(nNewChannel)-1);
}
- else if(nNewChannel == -1)
+ else
{
bouquetList->adjustToChannel(channelList->getActiveChannelNumber());
}
commit 101a29e13e4c1b150e63bc134390cce15e04528b
Author: Christian Schuett <Gau...@ho...>
Date: Sat Nov 2 19:27:37 2013 +0100
Neutrino deutsch.locale: use some more suitable locales
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/data/locale/deutsch.locale b/tuxbox/neutrino/data/locale/deutsch.locale
index 0c4d7ab..46a4f41 100644
--- a/tuxbox/neutrino/data/locale/deutsch.locale
+++ b/tuxbox/neutrino/data/locale/deutsch.locale
@@ -1019,9 +1019,9 @@ networkmenu.ntptitle Zeitsynchronisation
networkmenu.reset_settings_now Sollen die vorherigen Einstellungen \nwieder hergestellt werden?
networkmenu.samba Sambaserver
networkmenu.setupnow Netzwerkeinstellungen jetzt zuweisen
-networkmenu.setuponstartup Beim Starten Netzwerk setzen
+networkmenu.setuponstartup Netzwerk beim Start aktivieren
networkmenu.setupsaved Ãnderungen wurden gespeichert, aber noch \nnicht zugewiesen. Diese werden erst \nnach einem Neustart wirksam!
-networkmenu.show aktive Netzwerkeinstellungen zeigen
+networkmenu.show Aktive Netzwerkeinstellungen anzeigen
networkmenu.test Netzwerk testen
nfs.alreadymounted Verzeichnis bereits gemountet.
nfs.automount Beim Start mounten
@@ -1340,7 +1340,7 @@ servicemenu.reload_hint Kanallisten werden neu geladen,\nbitte warten...
servicemenu.restart Neutrino neu starten
servicemenu.restart_failed Neustart von Neutrino schlug fehl.
servicemenu.restart_hint Neutrino wird neu gestartet...
-servicemenu.restart_refused_recording Aufnahme läuft. Restart nicht möglich.
+servicemenu.restart_refused_recording Aufnahme läuft. Neustart nicht möglich.
servicemenu.scanmodes Scan-Modi
servicemenu.scants Kanalsuche
servicemenu.ucodecheck UCodes überprüfen
commit cffa2be562c641fc8fb53a9c764167e273d1fd08
Author: Christian Schuett <Gau...@ho...>
Date: Sat Nov 2 16:36:48 2013 +0100
Neutrino: calculate width of character input fields
this prevents characters from overflowing its input fields with bigger
horizontal font scale
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/widget/stringinput.cpp b/tuxbox/neutrino/src/gui/widget/stringinput.cpp
index bb242f9..9476706 100644
--- a/tuxbox/neutrino/src/gui/widget/stringinput.cpp
+++ b/tuxbox/neutrino/src/gui/widget/stringinput.cpp
@@ -104,7 +104,8 @@ CStringInput::~CStringInput()
void CStringInput::init()
{
- width = (size*20)+40;
+ cwidth = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth("M") + 1;
+ width = (size * cwidth) + 40;
if (width<420)
width = 420;
@@ -496,7 +497,7 @@ void CStringInput::paint()
void CStringInput::paintChar(int pos, const char c)
{
- const int xs = 20;
+ int xs = cwidth;
int ys = mheight;
int xpos = x+ 20+ pos* xs;
int ypos = y+ hheight+ 25;
diff --git a/tuxbox/neutrino/src/gui/widget/stringinput.h b/tuxbox/neutrino/src/gui/widget/stringinput.h
index 16c5665..40b6ae4 100644
--- a/tuxbox/neutrino/src/gui/widget/stringinput.h
+++ b/tuxbox/neutrino/src/gui/widget/stringinput.h
@@ -48,6 +48,7 @@ class CStringInput : public CMenuTarget
int x;
int y;
int width;
+ int cwidth;
int height;
int hheight; // head font height
int hiconheight;
diff --git a/tuxbox/neutrino/src/gui/widget/stringinput_ext.cpp b/tuxbox/neutrino/src/gui/widget/stringinput_ext.cpp
index 7e659da..868bd5c 100644
--- a/tuxbox/neutrino/src/gui/widget/stringinput_ext.cpp
+++ b/tuxbox/neutrino/src/gui/widget/stringinput_ext.cpp
@@ -294,7 +294,7 @@ void CExtendedInput::paint()
CExtendedInput_Item_Char::CExtendedInput_Item_Char(const std::string & Chars, bool Selectable )
{
frameBuffer = CFrameBuffer::getInstance();
- idx = 20;
+ idx = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getRenderWidth("M") + 1;
idy = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getHeight();
allowedChars = Chars;
selectable = Selectable;
commit 58ee586e3feec9f2964e8bf6756c80baa03b6199
Author: Christian Schuett <Gau...@ho...>
Date: Fri Nov 1 22:18:19 2013 +0100
Neutrino string input: copy valueString to value in ::exec
to follow external valueString updates
based on patch by [CST] Focus <foc...@gm...> in Coolstream Git
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/widget/stringinput.cpp b/tuxbox/neutrino/src/gui/widget/stringinput.cpp
index 73f77e7..bb242f9 100644
--- a/tuxbox/neutrino/src/gui/widget/stringinput.cpp
+++ b/tuxbox/neutrino/src/gui/widget/stringinput.cpp
@@ -78,10 +78,6 @@ CStringInput::CStringInput(const neutrino_locale_t Name, std::string* Value, int
name = Name;
value = new char[Size+1];
value[Size] = '\0';
- if (ValueIsUtf8)
- strncpy(value, ZapitTools::UTF8_to_Latin1(Value->c_str()).c_str(), Size);
- else
- strncpy(value, Value->c_str(), Size);
valueString = Value;
valueStringIsUtf8 = ValueIsUtf8;
size = Size;
@@ -306,6 +302,14 @@ int CStringInput::exec( CMenuTarget* parent, const std::string & )
if (parent)
parent->hide();
+ if (valueString != NULL)
+ {
+ if (valueStringIsUtf8)
+ strncpy(value, ZapitTools::UTF8_to_Latin1(valueString->c_str()).c_str(), size);
+ else
+ strncpy(value, valueString->c_str(), size);
+ }
+
for(int count=strlen(value)-1;count<size-1;count++)
strcat(value, " ");
strncpy(oldval, value, size);
commit 9d0db55a47c86b50b25a02ff6bbe441bbcca7f67
Author: Christian Schuett <Gau...@ho...>
Date: Wed Oct 30 21:14:21 2013 +0100
Neutrino timer list: fix overlapping texts with new standard font
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/timerlist.cpp b/tuxbox/neutrino/src/gui/timerlist.cpp
index 62938a3..805e9d8 100644
--- a/tuxbox/neutrino/src/gui/timerlist.cpp
+++ b/tuxbox/neutrino/src/gui/timerlist.cpp
@@ -635,7 +635,7 @@ void CTimerList::paintItem(int pos)
sprintf(srepeatcount,"00");
else
sprintf(srepeatcount,"%ux",timer.repeatCount);
- g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10+time_width+(real_width-10-time_width-140)/2, ypos+fheight, (real_width-10-time_width)/2-5, srepeatcount, color, fheight, true); // UTF-8
+ g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10+time_width+(real_width-10-time_width-110)/2, ypos+fheight, (real_width-10-time_width)/2-5, srepeatcount, color, fheight, true); // UTF-8
}
g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->RenderString(x+10+time_width+(real_width-10-time_width)/2, ypos+fheight, (real_width-10-time_width)/2-5, convertTimerType2String(timer.eventType), color, fheight, true); // UTF-8
std::string zAddData("");
commit da1f5ec250e57b0bda6440b7bd915d98adaf4c40
Author: GetAway <get...@t-...>
Date: Mon Oct 28 15:34:20 2013 +0100
neutrino: improve timeset event output
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/driver/rcinput.cpp b/tuxbox/neutrino/src/driver/rcinput.cpp
index a62443c..a2a6fcd 100644
--- a/tuxbox/neutrino/src/driver/rcinput.cpp
+++ b/tuxbox/neutrino/src/driver/rcinput.cpp
@@ -1308,29 +1308,31 @@ void CRCInput::getMsg_us(neutrino_msg_t *msg, neutrino_msg_data_t *data, unsigne
{
gettimeofday(&tv, NULL);
long long timeOld = tv.tv_usec + tv.tv_sec * 1000000LL;
+ long long timediff;
time_t dvbtime = *((time_t*)p);
if (dvbtime) {
+ timediff = (long long)dvbtime * 1000000LL - timeOld;
printf("[neutrino] timeset event. ");
- time_t difftime = dvbtime - tv.tv_sec;
- if (abs(difftime) > 120)
+ time_t diff_time = dvbtime - tv.tv_sec;
+ if (abs(diff_time) > 120)
{
- printf("difference is %ld s, stepping...\n", difftime);
+ printf("difference is %ld s, stepping...\n", diff_time);
tv.tv_sec = dvbtime;
tv.tv_usec = 0;
if (settimeofday(&tv, NULL) < 0)
perror("[neutrino] settimeofday");
}
- else if (difftime != 0)
+ else if (diff_time != 0)
{
struct timeval oldd;
- tv.tv_sec = difftime;
- tv.tv_usec = 0;
+ tv.tv_sec = timediff / 1000000LL;
+ tv.tv_usec = timediff % 1000000LL;
if (adjtime(&tv, &oldd))
perror("adjtime");
- long long t = oldd.tv_sec * 1000000LL + oldd.tv_usec;
- printf("difference is %ld s, using adjtime(). oldd: %lld us\n", difftime, t);
+ printf("difference is %ld s (< 120s), using adjtime(%d, %d). oldd(%d, %d)\n", diff_time,
+ (int)tv.tv_sec, (int)tv.tv_usec, (int)oldd.tv_sec, (int)oldd.tv_usec);
}
else
printf("difference is 0 s, nothing to do...\n");
commit 89a1b556d44bb70d7f7a2c2a5430e09c6d951cda
Author: Christian Schuett <Gau...@ho...>
Date: Mon Oct 28 18:11:31 2013 +0100
Neutrino SMS string input: update cursor on LCD after pressing up or down
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/widget/stringinput.cpp b/tuxbox/neutrino/src/gui/widget/stringinput.cpp
index 9c97947..73f77e7 100644
--- a/tuxbox/neutrino/src/gui/widget/stringinput.cpp
+++ b/tuxbox/neutrino/src/gui/widget/stringinput.cpp
@@ -629,6 +629,7 @@ void CStringInputSMS::keyUpPressed()
selected = 0;
paintChar(lastselected);
paintChar(selected);
+ CLCD::getInstance()->showMenuText(1, value, selected+1);
}
}
@@ -652,6 +653,7 @@ void CStringInputSMS::keyDownPressed()
paintChar(lastselected);
paintChar(selected);
+ CLCD::getInstance()->showMenuText(1, value, selected+1);
}
void CStringInputSMS::keyLeftPressed()
commit 93512b78e8b6b07afc9f1502d63aabd6ebcb6d7c
Author: Christian Schuett <Gau...@ho...>
Date: Sun Oct 27 15:10:26 2013 +0100
Neutrino: close all windows on dbox key in event list and EPG viewer
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/epgview.cpp b/tuxbox/neutrino/src/gui/epgview.cpp
index 8600269..ee3ddb7 100644
--- a/tuxbox/neutrino/src/gui/epgview.cpp
+++ b/tuxbox/neutrino/src/gui/epgview.cpp
@@ -844,6 +844,11 @@ int CEpgData::show(const t_channel_id channel_id, unsigned long long a_id, time_
loop = false;
break;
+ case CRCInput::RC_setup:
+ loop = false;
+ res = menu_return::RETURN_EXIT_ALL;
+ break;
+
default:
// konfigurierbare Keys handlen...
if (msg == g_settings.key_channelList_cancel)
diff --git a/tuxbox/neutrino/src/gui/eventlist.cpp b/tuxbox/neutrino/src/gui/eventlist.cpp
index 16c0864..a276c66 100644
--- a/tuxbox/neutrino/src/gui/eventlist.cpp
+++ b/tuxbox/neutrino/src/gui/eventlist.cpp
@@ -618,6 +618,11 @@ int EventList::exec(const t_channel_id channel_id, const std::string& channelnam
timeoutEnd = CRCInput::calcTimeoutEnd(g_settings.timing[SNeutrinoSettings::TIMING_CHANLIST]);
}
}
+ else if (msg == CRCInput::RC_setup)
+ {
+ loop = false;
+ res = menu_return::RETURN_EXIT_ALL;
+ }
else
{
if ( CNeutrinoApp::getInstance()->handleMsg( msg, data ) & messages_return::cancel_all )
commit 634835349a378951137f0c4c0781b650d74e5fd6
Author: Christian Schuett <Gau...@ho...>
Date: Sun Oct 27 14:54:11 2013 +0100
Neutrino string input: update cursor on LCD after pressing left or right
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/widget/stringinput.cpp b/tuxbox/neutrino/src/gui/widget/stringinput.cpp
index a2fd32f..9c97947 100644
--- a/tuxbox/neutrino/src/gui/widget/stringinput.cpp
+++ b/tuxbox/neutrino/src/gui/widget/stringinput.cpp
@@ -249,6 +249,7 @@ void CStringInput::keyLeftPressed()
selected=size-1;
paintChar(osel);
paintChar(selected);
+ CLCD::getInstance()->showMenuText(1, value, selected+1);
}
}
@@ -262,6 +263,7 @@ void CStringInput::keyRightPressed()
selected=0;
paintChar(osel);
paintChar(selected);
+ CLCD::getInstance()->showMenuText(1, value, selected+1);
}
}
commit 465f70fd399675ef68c1aa6df12d613c28f3fba2
Author: Christian Schuett <Gau...@ho...>
Date: Sat Oct 26 23:01:25 2013 +0200
Neutrino eventlist: allow number buttons in button bar
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/eventlist.cpp b/tuxbox/neutrino/src/gui/eventlist.cpp
index 5b9bf50..16c0864 100644
--- a/tuxbox/neutrino/src/gui/eventlist.cpp
+++ b/tuxbox/neutrino/src/gui/eventlist.cpp
@@ -831,6 +831,7 @@ void EventList::showFunctionBar (bool show)
CKeyHelper keyhelper;
neutrino_msg_t dummy = CRCInput::RC_nokey;
const char * icon = NULL;
+ std::string number_icons[5];
std::string btncaption;
bx = x + 5;
@@ -853,7 +854,14 @@ void EventList::showFunctionBar (bool show)
if ((g_settings.recording_type != CNeutrinoApp::RECORDING_OFF) &&
(g_settings.key_channelList_addrecord != CRCInput::RC_nokey))
{
- keyhelper.get(&dummy, &icon, g_settings.key_channelList_addrecord);
+ if (CRCInput::isNumeric(g_settings.key_channelList_addrecord))
+ {
+ number_icons[0] = CRCInput::getKeyName(g_settings.key_channelList_addrecord);
+ number_icons[0] += ".raw";
+ icon = number_icons[0].c_str();
+ }
+ else
+ keyhelper.get(&dummy, &icon, g_settings.key_channelList_addrecord);
EventListButtons[0].button = icon;
if(is_timer & EventList::TIMER_RECORD )
@@ -878,7 +886,14 @@ void EventList::showFunctionBar (bool show)
// Button: Event Search
if (!showfollow && g_settings.key_channelList_search != CRCInput::RC_nokey)
{
- keyhelper.get(&dummy, &icon, g_settings.key_channelList_search);
+ if (CRCInput::isNumeric(g_settings.key_channelList_search))
+ {
+ number_icons[1] = CRCInput::getKeyName(g_settings.key_channelList_search);
+ number_icons[1] += ".raw";
+ icon = number_icons[1].c_str();
+ }
+ else
+ keyhelper.get(&dummy, &icon, g_settings.key_channelList_search);
EventListButtons[1].button = icon;
btncaption = g_Locale->getText(LOCALE_EVENTFINDER_SEARCH);
@@ -894,7 +909,14 @@ void EventList::showFunctionBar (bool show)
// Button: Timer Channelswitch
if (g_settings.key_channelList_addremind != CRCInput::RC_nokey)
{
- keyhelper.get(&dummy, &icon, g_settings.key_channelList_addremind);
+ if (CRCInput::isNumeric(g_settings.key_channelList_addremind))
+ {
+ number_icons[2] = CRCInput::getKeyName(g_settings.key_channelList_addremind);
+ number_icons[2] += ".raw";
+ icon = number_icons[2].c_str();
+ }
+ else
+ keyhelper.get(&dummy, &icon, g_settings.key_channelList_addremind);
EventListButtons[2].button = icon;
if(is_timer & EventList::TIMER_ZAPTO)
@@ -919,7 +941,14 @@ void EventList::showFunctionBar (bool show)
// Button: Event Re-Sort
if (!showfollow && g_settings.key_channelList_sort != CRCInput::RC_nokey)
{
- keyhelper.get(&dummy, &icon, g_settings.key_channelList_sort);
+ if (CRCInput::isNumeric(g_settings.key_channelList_sort))
+ {
+ number_icons[3] = CRCInput::getKeyName(g_settings.key_channelList_sort);
+ number_icons[3] += ".raw";
+ icon = number_icons[3].c_str();
+ }
+ else
+ keyhelper.get(&dummy, &icon, g_settings.key_channelList_sort);
EventListButtons[3].button = icon;
btncaption = g_Locale->getText(LOCALE_EVENTLISTBAR_EVENTSORT);
@@ -935,7 +964,14 @@ void EventList::showFunctionBar (bool show)
// Button: Event Reload/Refresh
if (!showfollow && !m_showSearchResults && g_settings.key_channelList_reload != CRCInput::RC_nokey)
{
- keyhelper.get(&dummy, &icon, g_settings.key_channelList_reload);
+ if (CRCInput::isNumeric(g_settings.key_channelList_reload))
+ {
+ number_icons[4] = CRCInput::getKeyName(g_settings.key_channelList_reload);
+ number_icons[4] += ".raw";
+ icon = number_icons[4].c_str();
+ }
+ else
+ keyhelper.get(&dummy, &icon, g_settings.key_channelList_reload);
EventListButtons[4].button = icon;
// paint 5th button
diff --git a/tuxbox/neutrino/src/gui/keyhelper.h b/tuxbox/neutrino/src/gui/keyhelper.h
index bad1b4f..580d746 100644
--- a/tuxbox/neutrino/src/gui/keyhelper.h
+++ b/tuxbox/neutrino/src/gui/keyhelper.h
@@ -86,23 +86,23 @@ class CKeyHelper
int button = -1;
if(prefered_key == CRCInput::RC_red)
button = 0;
- if(prefered_key == CRCInput::RC_green)
+ else if(prefered_key == CRCInput::RC_green)
button = 1;
- if(prefered_key == CRCInput::RC_yellow)
+ else if(prefered_key == CRCInput::RC_yellow)
button = 2;
- if(prefered_key == CRCInput::RC_blue)
+ else if(prefered_key == CRCInput::RC_blue)
button = 3;
- if(prefered_key == CRCInput::RC_setup)
+ else if(prefered_key == CRCInput::RC_setup)
button = 4;
- if(prefered_key == CRCInput::RC_help)
+ else if(prefered_key == CRCInput::RC_help)
button = 5;
- if(prefered_key == CRCInput::RC_plus)
+ else if(prefered_key == CRCInput::RC_plus)
button = 6;
- if(prefered_key == CRCInput::RC_minus)
+ else if(prefered_key == CRCInput::RC_minus)
button = 7;
- if(prefered_key == CRCInput::RC_left)
+ else if(prefered_key == CRCInput::RC_left)
button = 8;
- if(prefered_key == CRCInput::RC_right)
+ else if(prefered_key == CRCInput::RC_right)
button = 9;
if((button >= 0) && (button < BUTTONMAX) && (color_key_used[button] == true)) {
commit d6e3be234df5a7000f73c51b60009df1906d43e6
Author: GetAway <get...@t-...>
Date: Sat Oct 26 22:24:31 2013 +0200
sectionsd: use thread-safe functions
localtime_r(), ctime_r() ...
add some macros for future
small improvement for debug output
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/daemons/sectionsd/SIevents.cpp b/tuxbox/neutrino/daemons/sectionsd/SIevents.cpp
index 3f48894..15cc153 100644
--- a/tuxbox/neutrino/daemons/sectionsd/SIevents.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/SIevents.cpp
@@ -23,6 +23,8 @@
//
//
+#include <dmxapi.h>
+#include "global.h"
#include <assert.h>
#include <stdio.h>
#include <time.h>
@@ -43,7 +45,7 @@
#include "SIbouquets.hpp"
#include "SInetworks.hpp"
#include "SIsections.hpp"
-#include <dmxapi.h>
+
const std::string languangeOFF = "OFF";
diff --git a/tuxbox/neutrino/daemons/sectionsd/SIevents.hpp b/tuxbox/neutrino/daemons/sectionsd/SIevents.hpp
index f1d16d1..6d046ff 100644
--- a/tuxbox/neutrino/daemons/sectionsd/SIevents.hpp
+++ b/tuxbox/neutrino/daemons/sectionsd/SIevents.hpp
@@ -349,7 +349,8 @@ class SItime {
(startzeit != t.startzeit);
}
void dump(void) const {
- printf("Startzeit: %s", ctime(&startzeit));
+ char tbuf[26];
+ printf("Startzeit: %s", ctime_r(&startzeit, tbuf));
printf("Dauer: %02u:%02u:%02u (%umin, %us)\n", dauer/3600, (dauer%3600)/60, dauer%60, dauer/60, dauer);
}
int saveXML(FILE *file) const { // saves the time
@@ -362,7 +363,7 @@ class SItime {
fprintf(file, "\t\t\t\t\t<date>%02d.%02d.%04d</date>\n", zeit->tm_mday, zeit->tm_mon+1, zeit->tm_year+1900);
fprintf(file, "\t\t\t\t\t<duration>%u</duration>\n", dauer);
*/
- fprintf(file, "\t\t\t<time start_time=\"%u\" duration=\"%u\"/>\n", startzeit, dauer);
+ fprintf(file, "\t\t\t<time start_time=\"%u\" duration=\"%u\"/>\n", (unsigned int)startzeit, dauer);
return 0;
}
time_t startzeit; // lokale Zeit, 0 -> time shifted (cinedoms)
diff --git a/tuxbox/neutrino/daemons/sectionsd/SIlanguage.cpp b/tuxbox/neutrino/daemons/sectionsd/SIlanguage.cpp
index dc30e90..6781469 100644
--- a/tuxbox/neutrino/daemons/sectionsd/SIlanguage.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/SIlanguage.cpp
@@ -21,6 +21,7 @@
//
#include "SIlanguage.hpp"
+#include "global.h"
#include <string>
#include <vector>
diff --git a/tuxbox/neutrino/daemons/sectionsd/SIsections.cpp b/tuxbox/neutrino/daemons/sectionsd/SIsections.cpp
index 2b6edb7..0b467ce 100644
--- a/tuxbox/neutrino/daemons/sectionsd/SIsections.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/SIsections.cpp
@@ -23,6 +23,8 @@
//
//
+#include <dmxapi.h>
+#include "global.h"
#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
@@ -39,7 +41,7 @@
#include "SIbouquets.hpp"
#include "SInetworks.hpp"
#include "SIsections.hpp"
-#include <dmxapi.h>
+
#include <zapit/dvbstring.h>
#ifdef ENABLE_FREESATEPG
#include "FreesatTables.hpp"
diff --git a/tuxbox/neutrino/daemons/sectionsd/SIutils.cpp b/tuxbox/neutrino/daemons/sectionsd/SIutils.cpp
index 6e191e1..a47ec0d 100644
--- a/tuxbox/neutrino/daemons/sectionsd/SIutils.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/SIutils.cpp
@@ -22,6 +22,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
+#include "global.h"
#include <stdio.h>
#include <time.h>
diff --git a/tuxbox/neutrino/daemons/sectionsd/bat.cpp b/tuxbox/neutrino/daemons/sectionsd/bat.cpp
index c80a467..95f06d4 100644
--- a/tuxbox/neutrino/daemons/sectionsd/bat.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/bat.cpp
@@ -22,6 +22,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
+#include "global.h"
#include <stdio.h>
#include <time.h>
diff --git a/tuxbox/neutrino/daemons/sectionsd/debug.cpp b/tuxbox/neutrino/daemons/sectionsd/debug.cpp
index 9f198d0..3822028 100644
--- a/tuxbox/neutrino/daemons/sectionsd/debug.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/debug.cpp
@@ -20,16 +20,20 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
+
+#include "global.h"
#include <stdio.h>
#include <time.h>
#include <sys/time.h>
+
bool debug = false;
void printdate_ms(FILE *f) {
timeval now;
gettimeofday(&now, NULL);
- struct tm *tm = localtime(&now.tv_sec);
+ struct tm lt;
+ localtime_r(&now.tv_sec, <);
/* use strftime for that? */
- fprintf(f, "%02d:%02d:%02d.%03ld ", tm->tm_hour, tm->tm_min, tm->tm_sec, now.tv_usec/1000);
+ fprintf(f, "%02d:%02d:%02d.%03ld ", lt.tm_hour, lt.tm_min, lt.tm_sec, now.tv_usec/1000);
}
diff --git a/tuxbox/neutrino/daemons/sectionsd/debug.h b/tuxbox/neutrino/daemons/sectionsd/debug.h
index 928118b..f29250d 100644
--- a/tuxbox/neutrino/daemons/sectionsd/debug.h
+++ b/tuxbox/neutrino/daemons/sectionsd/debug.h
@@ -34,6 +34,14 @@ extern bool debug;
#define dputs(str) do { if (debug) { printdate_ms(stdout); puts(str); fflush(stdout); }} while (0)
#define xprintf(fmt, args...) do { printdate_ms(stderr); fprintf(stderr, fmt, ## args); } while (0)
+/* dont add \n when using this */
+#define xcprintf(fmt, args...) do { \
+ fprintf(stderr, "%c[%d;%d;%dm", 0x1B, 1, 31, 40);\
+ printdate_ms(stderr); \
+ fprintf(stderr, fmt, ## args); \
+ fprintf(stderr, "%c[%dm\n", 0x1B, 0); \
+} while (0)
+
void printdate_ms(FILE* f);
#endif /* __sectionsd__debug_h__ */
diff --git a/tuxbox/neutrino/daemons/sectionsd/dmx.cpp b/tuxbox/neutrino/daemons/sectionsd/dmx.cpp
index 25622be..7b48fc6 100644
--- a/tuxbox/neutrino/daemons/sectionsd/dmx.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/dmx.cpp
@@ -26,6 +26,7 @@
#include <dmx.h>
#include <dmxapi.h>
#include <debug.h>
+#include "global.h"
#include <endian.h>
#include <errno.h>
@@ -38,6 +39,7 @@
#include <cstring>
#include <map>
+
/*
#define DEBUG_MUTEX 1
#define DEBUG_CACHED_SECTIONS 1
diff --git a/tuxbox/neutrino/daemons/sectionsd/dmxapi.cpp b/tuxbox/neutrino/daemons/sectionsd/dmxapi.cpp
index 80ea313..0fd9bb8 100644
--- a/tuxbox/neutrino/daemons/sectionsd/dmxapi.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/dmxapi.cpp
@@ -21,7 +21,7 @@
*
*/
-
+#include "global.h"
#include <dmxapi.h>
#include <stdio.h> /* perror */
@@ -184,11 +184,13 @@ bool getUTC(UTC_t * const UTC, const bool TDT)
cc[3] = 0;
memcpy(cc, to->country_code, 3);
time_t t = changeUTCtoCtime(&b2[2+6],0);
+ char tbuf[26];
+
xprintf("getUTC(TOT): len=%d cc=%s reg_id=%d "
"pol=%d offs=%04x new=%04x when=%s",
b2[1], cc, to->country_region_id,
to->local_time_offset_polarity, htons(to->local_time_offset),
- htons(to->next_time_offset), ctime(&t));
+ htons(to->next_time_offset), ctime_r(&t, tbuf));
} else {
xprintf("getUTC(TOT): descriptor != 0x58: 0x%02x\n", b2[0]);
}
diff --git a/tuxbox/neutrino/daemons/sectionsd/epg.cpp b/tuxbox/neutrino/daemons/sectionsd/epg.cpp
index c78f85f..8dad473 100644
--- a/tuxbox/neutrino/daemons/sectionsd/epg.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/epg.cpp
@@ -24,6 +24,7 @@
//#define READ_PRESENT_INFOS
+#include "global.h"
#include <stdio.h>
#include <time.h>
diff --git a/tuxbox/neutrino/daemons/sectionsd/epgMini.cpp b/tuxbox/neutrino/daemons/sectionsd/epgMini.cpp
index d247def..55bb9c6 100644
--- a/tuxbox/neutrino/daemons/sectionsd/epgMini.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/epgMini.cpp
@@ -22,6 +22,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
+#include "global.h"
#include <stdio.h>
#include <time.h>
diff --git a/tuxbox/neutrino/daemons/sectionsd/global.h b/tuxbox/neutrino/daemons/sectionsd/global.h
new file mode 100644
index 0000000..d798b1b
--- /dev/null
+++ b/tuxbox/neutrino/daemons/sectionsd/global.h
@@ -0,0 +1,17 @@
+#ifndef GLOBAL_H_
+#define GLOBAL_H_
+
+/* ===========================
+ * sectionsd macros
+ * =========================== */
+// prevent use of unsafe or not thread-safe functions - u can add more
+#define localtime(a) UNSAFE_LOCALTIME_NOT_THREADSAFE_USE_LOCALTIME_R()
+#define ctime(a) UNSAFE_CTIME_NOT_THREADSAFE_USE_CS_CTIME_R()
+#define gmtime(a) UNSAFE_GMTIME_NOT_THREADSAFE_USE_CS_GMTIME_R()
+#define asctime(a) UNSAFE_ASCTIME_NOT_THREADSAFE_USE_ASCTIME_R()
+
+//#define strcpy(a,b) UNSAFE_STRCPY_USE_CS_STRNCPY_INSTEAD()
+//#define sprintf(a,...) UNSAFE_SPRINTF_USE_SNPRINTF_INSTEAD()
+//#define strtok(a,b) UNSAFE_STRTOK_USE_STRTOK_R_INSTEAD()
+
+#endif
diff --git a/tuxbox/neutrino/daemons/sectionsd/nit.cpp b/tuxbox/neutrino/daemons/sectionsd/nit.cpp
index d73a627..ed45d9d 100644
--- a/tuxbox/neutrino/daemons/sectionsd/nit.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/nit.cpp
@@ -22,6 +22,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
+#include "global.h"
#include <stdio.h>
#include <time.h>
diff --git a/tuxbox/neutrino/daemons/sectionsd/sdt.cpp b/tuxbox/neutrino/daemons/sectionsd/sdt.cpp
index 248b164..f2a0bfd 100644
--- a/tuxbox/neutrino/daemons/sectionsd/sdt.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/sdt.cpp
@@ -22,6 +22,7 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
+#include "global.h"
#include <stdio.h>
#include <time.h>
diff --git a/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp b/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp
index 03a7886..dc387b0 100644
--- a/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp
+++ b/tuxbox/neutrino/daemons/sectionsd/sectionsd.cpp
@@ -30,6 +30,7 @@
#include <malloc.h>
#include <dmx.h>
#include <dmxapi.h>
+#include "global.h"
#include <debug.h>
#include <sys/socket.h>
@@ -2443,12 +2444,12 @@ static void sendAllEvents(int connfd, t_channel_id serviceUniqueKey, bool oldFor
#define MAX_SIZE_STRTIME 50
char strZeit[MAX_SIZE_STRTIME];
char strZeit2[MAX_SIZE_STRTIME];
- struct tm *tmZeit;
-
- tmZeit = localtime(&(t->startzeit));
+ struct tm tmZeit;
+
+ localtime_r(&t->startzeit, &tmZeit);
count += snprintf(strZeit, MAX_SIZE_STRTIME, "%012llx ", (*e)->uniqueKey());
count += snprintf(strZeit2, MAX_SIZE_STRTIME, "%02d.%02d %02d:%02d %u ",
- tmZeit->tm_mday, tmZeit->tm_mon + 1, tmZeit->tm_hour, tmZeit->tm_min, (*e)->times.begin()->dauer / 60);
+ tmZeit.tm_mday, tmZeit.tm_mon + 1, tmZeit.tm_hour, tmZeit.tm_min, (*e)->times.begin()->dauer / 60);
count += (*e)->getName().length() + 1;
if (count < MAX_SIZE_EVENTLIST) {
@@ -2594,6 +2595,7 @@ static void commandDumpStatusInformation(int connfd, char* /*data*/, const unsig
#define MAX_SIZE_STATI 2024
char stati[MAX_SIZE_STATI];
+ char tbuf[26];
snprintf(stati, MAX_SIZE_STATI,
"$Id: sectionsd.cpp,v 1.346 2013/03/20 22:40:00 GetAway Exp $\n"
@@ -2617,7 +2619,7 @@ static void commandDumpStatusInformation(int connfd, char* /*data*/, const unsig
""
#endif
,
- ctime(&zeit),
+ ctime_r(&zeit, tbuf),
secondsToCache / (60*60L), secondsExtendedTextCache / (60*60L), oldEventsAre / 60, anzServices, anzNVODservices, anzEvents, anzNVODevents, anzMetaServices,
// resourceUsage.ru_maxrss, resourceUsage.ru_ixrss, resourceUsage.ru_idrss, resourceUsage.ru_isrss,
speicherinfo.uordblks, speicherinfo.uordblks / 1024,
@@ -3464,7 +3466,8 @@ static void commandGetNextEPG(int connfd, char *data, const unsigned dataLength)
time_t *starttime = (time_t *)(data + 8);
- dprintf("Request of next epg for 0x%llx %s", *uniqueEventKey, ctime(starttime));
+ char tbuf[26];
+ dprintf("Request of next epg for 0x%llx %s", *uniqueEventKey, ctime_r(starttime, tbuf));
readLockEvents();
@@ -3562,8 +3565,9 @@ static void commandGetEPGPrevNext(int connfd, char *data, const unsigned dataLen
SItime next_zeit(0, 0);
SIevent prev_evt;
SIevent next_evt;
+ char tbuf[26];
- dprintf("Request of Prev/Next EPG for 0x%llx %s", *uniqueEventKey, ctime(starttime));
+ dprintf("Request of Prev/Next EPG for 0x%llx %s", *uniqueEventKey, ctime_r(starttime, tbuf));
readLockEvents();
@@ -3933,8 +3937,9 @@ static void commandGetNextShort(int connfd, char *data, const unsigned dataLengt
time_t *starttime = (time_t *)(data + 8);
SItime zeit(*starttime, 0);
+ char tbuf[26];
- dprintf("Request of next short for 0x%llx %s", *uniqueEventKey, ctime(starttime));
+ dprintf("Request of next short for 0x%llx %s", *uniqueEventKey, ctime_r(starttime, tbuf));
readLockEvents();
@@ -6775,6 +6780,7 @@ static void *timeThread(void *)
struct timeval now;
bool time_ntp = false;
bool success = true;
+ long long timediff;
try
{
@@ -6785,6 +6791,7 @@ static void *timeThread(void *)
while(1)
{
+ timediff = 0;
if (bTimeCorrect == true){ // sectionsd started with parameter "-tc"
if (first_time == true) { // only do this once!
time_t actTime;
@@ -6813,6 +6820,7 @@ static void *timeThread(void *)
}
else if (scanning && dvb_time_update)
{
+ xcprintf("[%sThread] getting DVB time ...", "time");
success = getUTC(&UTC, first_time); // for first time, get TDT, then TOT
if (success)
{
@@ -6830,11 +6838,14 @@ static void *timeThread(void *)
}
}
- time_t actTime;
- struct tm *tmTime;
- actTime=time(NULL);
- tmTime = localtime(&actTime);
- xprintf("[%sThread] - %02d.%02d.%04d %02d:%02d:%02d, tim: %s", "time", tmTime->tm_mday, tmTime->tm_mon+1, tmTime->tm_year+1900, tmTime->tm_hour, tmTime->tm_min, tmTime->tm_sec, ctime(&tim));
+ struct tm tmTime;
+ time_t actTime = time(NULL);
+ localtime_r(&actTime, &tmTime);
+ struct timeval lt;
+ gettimeofday(<, NULL);
+ timediff = (long long)tim * 1000000LL - (lt.tv_usec + lt.tv_sec * 1000000LL);
+ char tbuf[26];
+ xprintf("[%sThread] timediff %lld, current: %02d.%02d.%04d %02d:%02d:%02d, dvb: %s", "time", timediff, tmTime.tm_mday, tmTime.tm_mon+1, tmTime.tm_year+1900, tmTime.tm_hour, tmTime.tm_min, tmTime.tm_sec, ctime_r(&tim, tbuf));
pthread_mutex_lock(&timeIsSetMutex);
timeset = true;
time_ntp= false;
commit 15ed627ba11e2409a29df510671de3ef93b9e209
Author: Christian Schuett <Gau...@ho...>
Date: Thu Oct 24 19:56:28 2013 +0200
Neutrino eventlist: change hotkeys in searchmenu for a smoother handling
based on patch by svenhoefer <sve...@sv...> in Coolstream Git
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/eventlist.cpp b/tuxbox/neutrino/src/gui/eventlist.cpp
index 93da0d2..5b9bf50 100644
--- a/tuxbox/neutrino/src/gui/eventlist.cpp
+++ b/tuxbox/neutrino/src/gui/eventlist.cpp
@@ -1136,11 +1136,11 @@ int CEventFinderMenu::exec(CMenuTarget* parent, const std::string &actionkey)
if(parent != NULL)
parent->hide();
- if(actionkey =="")
+ if(actionkey == "")
{
res = showMenu();
}
- else if(actionkey =="3")
+ else if(actionkey == "select_channel")
{
// get channel id / bouquet id
if(*m_search_list == EventList::SEARCH_LIST_CHANNEL)
@@ -1170,7 +1170,7 @@ int CEventFinderMenu::exec(CMenuTarget* parent, const std::string &actionkey)
}
}
}
- else if(actionkey =="5")
+ else if(actionkey == "start_search")
{
*m_event = true;
res = menu_return::RETURN_EXIT;
@@ -1206,11 +1206,11 @@ int CEventFinderMenu::showMenu(void)
CStringInputSMS stringInput(LOCALE_EVENTFINDER_KEYWORD, m_search_keyword, 20, false, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, "abcdefghijklmnopqrstuvwxyz\xE4\xF6\xFC\xDF""0123456789-_/()<>=.,:!?\\'\"& ");
- CMenuForwarder* mf0 = new CMenuForwarder(LOCALE_EVENTFINDER_KEYWORD, true, *m_search_keyword, &stringInput, NULL, CRCInput::RC_1, NEUTRINO_ICON_BUTTON_1);
- CMenuOptionChooser* mo0 = new CMenuOptionChooser(LOCALE_EVENTFINDER_SEARCH_WITHIN_LIST, m_search_list, SEARCH_LIST_OPTIONS, SEARCH_LIST_OPTION_COUNT, true, this, CRCInput::RC_2, NEUTRINO_ICON_BUTTON_2);
- m_search_channelname_mf = new CMenuForwarder("", *m_search_list != EventList::SEARCH_LIST_ALL, m_search_channelname, this, "3", CRCInput::RC_3, NEUTRINO_ICON_BUTTON_3);
- CMenuOptionChooser* mo1 = new CMenuOptionChooser(LOCALE_EVENTFINDER_SEARCH_WITHIN_EPG, m_search_epg_item, SEARCH_EPG_OPTIONS, SEARCH_EPG_OPTION_COUNT, true, NULL, CRCInput::RC_4, NEUTRINO_ICON_BUTTON_4);
- CMenuForwarder* mf1 = new CMenuForwarder(LOCALE_EVENTFINDER_START_SEARCH, true, NULL, this, "5", CRCInput::RC_5, NEUTRINO_ICON_BUTTON_5);
+ CMenuForwarder* mf0 = new CMenuForwarder(LOCALE_EVENTFINDER_KEYWORD, true, *m_search_keyword, &stringInput, NULL, CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED);
+ CMenuOptionChooser* mo0 = new CMenuOptionChooser(LOCALE_EVENTFINDER_SEARCH_WITHIN_LIST, m_search_list, SEARCH_LIST_OPTIONS, SEARCH_LIST_OPTION_COUNT, true, this, CRCInput::RC_1, NEUTRINO_ICON_BUTTON_1);
+ m_search_channelname_mf = new CMenuForwarder("", *m_search_list != EventList::SEARCH_LIST_ALL, m_search_channelname, this, "select_channel", CRCInput::RC_2, NEUTRINO_ICON_BUTTON_2);
+ CMenuOptionChooser* mo1 = new CMenuOptionChooser(LOCALE_EVENTFINDER_SEARCH_WITHIN_EPG, m_search_epg_item, SEARCH_EPG_OPTIONS, SEARCH_EPG_OPTION_COUNT, true, NULL, CRCInput::RC_3, NEUTRINO_ICON_BUTTON_3);
+ CMenuForwarder* mf1 = new CMenuForwarder(LOCALE_EVENTFINDER_START_SEARCH, true, NULL, this, "start_search", CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN);
CMenuWidget searchMenu(LOCALE_EVENTFINDER_HEAD, NEUTRINO_ICON_FEATURES, 450);
commit 091a86dc9533a83d2c37db213fafdea2f058cf03
Author: Christian Schuett <Gau...@ho...>
Date: Wed Oct 23 21:07:33 2013 +0200
yWeb: add 'maxlength' to some inputs to prevent possible buffer overflows
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/daemons/nhttpd/web/Y_Settings_mount.yhtm b/tuxbox/neutrino/daemons/nhttpd/web/Y_Settings_mount.yhtm
index dcc1965..8ca8d92 100644
--- a/tuxbox/neutrino/daemons/nhttpd/web/Y_Settings_mount.yhtm
+++ b/tuxbox/neutrino/daemons/nhttpd/web/Y_Settings_mount.yhtm
@@ -41,23 +41,23 @@ function do_submit()
</tr>
<tr>
<td>Verzeichnis</td>
- <td><input type="text" name="dir" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_dir_{=R1=}=}" title="remote directory. For CIFS do not use a leading slash."/></td>
+ <td><input type="text" name="dir" size="30" maxlength="99" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_dir_{=R1=}=}" title="remote directory. For CIFS do not use a leading slash."/></td>
</tr>
<tr>
<td>Lokales Verzeichnis</td>
- <td><input type="text" name="localdir" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_local_dir_{=R1=}=}" title="local directory to by mounted"/></td>
+ <td><input type="text" name="localdir" size="30" maxlength="99" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_local_dir_{=R1=}=}" title="local directory to by mounted"/></td>
</tr>
<tr>
<td>MAC</td>
- <td><input type="text" name="mac" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mac_{=R1=}=}"/></td>
+ <td><input type="text" name="mac" size="30" maxlength="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mac_{=R1=}=}"/></td>
</tr>
<tr>
<td>Optionen 1</td>
- <td><input type="text" name="opt1" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mount_options1_{=R1=}=}" title="mount options 1"/></td>
+ <td><input type="text" name="opt1" size="30" maxlength="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mount_options1_{=R1=}=}" title="mount options 1"/></td>
</tr>
<tr>
<td>Optionen 2</td>
- <td><input type="text" name="opt2" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mount_options2_{=R1=}=}" title="mount options 2"/></td>
+ <td><input type="text" name="opt2" size="30" maxlength="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_mount_options2_{=R1=}=}" title="mount options 2"/></td>
</tr>
<tr>
<td>Automount</td>
@@ -68,11 +68,11 @@ function do_submit()
</tr>
<tr>
<td>Benutzername</td>
- <td><input type="text" name="username" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_username_{=R1=}=}" title="username"/></td>
+ <td><input type="text" name="username" size="30" maxlength="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_username_{=R1=}=}" title="username"/></td>
</tr>
<tr>
<td>Passwort</td>
- <td><input type="password" name="password" size="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_password_{=R1=}=}" title="password"/></td>
+ <td><input type="password" name="password" size="30" maxlength="30" value="{=ini-get:/var/tuxbox/config/neutrino.conf;network_nfs_password_{=R1=}=}" title="password"/></td>
</tr>
</table>
<br/>
@@ -84,4 +84,4 @@ function do_submit()
</div>
</div>
</body>
-</html>
\ No newline at end of file
+</html>
diff --git a/tuxbox/neutrino/daemons/nhttpd/web/Y_Version.txt b/tuxbox/neutrino/daemons/nhttpd/web/Y_Version.txt
index c6df64b..a8e3b95 100644
--- a/tuxbox/neutrino/daemons/nhttpd/web/Y_Version.txt
+++ b/tuxbox/neutrino/daemons/nhttpd/web/Y_Version.txt
@@ -1,5 +1,5 @@
-version=2.7.0.29
-date=20.10.2013
+version=2.7.0.30
+date=23.10.2013
type=Release
info=
diff --git a/tuxbox/neutrino/daemons/nhttpd/web/Y_neutrino_Blocks.txt b/tuxbox/neutrino/daemons/nhttpd/web/Y_neutrino_Blocks.txt
index 61c3e6a..61f9506 100644
--- a/tuxbox/neutrino/daemons/nhttpd/web/Y_neutrino_Blocks.txt
+++ b/tuxbox/neutrino/daemons/nhttpd/web/Y_neutrino_Blocks.txt
@@ -68,7 +68,7 @@ start-block~neutrino_form-data_record
<tr>
<td>Aufnahmeserver Port</td>
<td>
- <input type="text" id="port" name="port" size="6" title="port"/>
+ <input type="text" id="port" name="port" size="6" maxlength="6" title="port"/>
<input type="hidden" name="h_port"/>
</td>
</tr>
@@ -83,7 +83,7 @@ start-block~neutrino_form-data_record
<tr>
<td>MAC Adresse</td>
<td>
- <input type="text" id="mac" name="mac" size="20" title="MAC"/>
+ <input type="text" id="mac" name="mac" size="20" maxlength="20" title="MAC"/>
<input type="hidden" name="h_mac"/>
</td>
</tr>
@@ -319,14 +319,14 @@ start-block~neutrino_form-data_movieplayer
<tr>
<td>DVD Laufwerk</td>
<td>
- <input type="text" name="streaming_server_cddrive" size="10" title="DVD drive on server"/>
+ <input type="text" name="streaming_server_cddrive" size="10" maxlength="20" title="DVD drive on server"/>
<input type="hidden" name="h_streaming_server_cddrive"/>
</td>
</tr>
<tr>
<td>Verzeichnis (VLC)</td>
<td>
- <input type="text" name="streaming_server_startdir" size="40" title="VLC directory on server"/>
+ <input type="text" name="streaming_server_startdir" size="39" maxlength="39" title="VLC directory on server"/>
<input type="hidden" name="h_streaming_server_startdir"/>
</td>
</tr>
@@ -334,7 +334,7 @@ start-block~neutrino_form-data_movieplayer
<tr>
<td>Datenrate Video</td>
<td>
- <input type="text" name="streaming_videorate" size="6" title="video data rate"/>
+ <input type="text" name="streaming_videorate" size="5" maxlength="5" title="video data rate"/>
<input type="hidden" name="h_streaming_videorate"/>
</td>
</tr>
@@ -380,7 +380,7 @@ start-block~neutrino_form-data_movieplayer
<tr>
<td>Datenrate Audio</td>
<td>
- <input type="text" name="streaming_audiorate" size="6" title="audio data rate"/>
+ <input type="text" name="streaming_audiorate" size="5" maxlength="5" title="audio data rate"/>
<input type="hidden" name="h_streaming_audiorate"/>
</td>
</tr>
@@ -681,7 +681,7 @@ start-block~neutrino_form-data_diverse
</tr>
<tr>
<td>Komplett ausschalten nach</td>
- <td><input type="text" name="shutdown_count" size="3" value="{=ini-get:/var/tuxbox/config/neutrino.conf;shutdown_count;0~open=}" title="shutdown after x sec"/> Min.</td>
+ <td><input type="text" name="shutdown_count" size="3" maxlength="3" value="{=ini-get:/var/tuxbox/config/neutrino.conf;shutdown_count;0~open=}" title="shutdown after x min"/> Min.</td>
</tr>
<tr title="shutdown delay: off/on">
<td>Verzögerter Shutdown</td>
@@ -1178,7 +1178,7 @@ start-block~neutrino_form-data_pictureviewer
</tr>
<tr>
<td>Start-Verz.</td>
- <td><input type="text" name="picviewer_picturedir" size="20" value="{=ini-get:/var/tuxbox/config/neutrino.conf;picviewer_picturedir~cache=}" title="directory to begin"/></td>
+ <td><input type="text" name="picviewer_picturedir" size="20" maxlength="99" value="{=ini-get:/var/tuxbox/config/neutrino.conf;picviewer_picturedir~cache=}" title="directory to begin"/></td>
</tr>
<tr>
<td>Decoding-Server IP</td>
@@ -1286,7 +1286,7 @@ start-block~neutrino_form-data_audioplayer
</tr>
<tr>
<td>Start-Verz.</td>
- <td><input type="text" name="audioplayer_audioplayerdir" size="20" value="{=ini-get:/var/tuxbox/config/neutrino.conf;audioplayer_audioplayerdir~cache=}" title="directory to begin"/></td>
+ <td><input type="text" name="audioplayer_audioplayerdir" size="20" maxlength="99" value="{=ini-get:/var/tuxbox/config/neutrino.conf;audioplayer_audioplayerdir~cache=}" title="directory to begin"/></td>
</tr>
<tr title="parse Shoutcast Meta-Data: off/on">
<td>Shoutcast Meta-Daten</td>
commit aa6175dd19654837b31e830872ea5f2eb643b1e0
Author: Christian Schuett <Gau...@ho...>
Date: Wed Oct 23 19:42:19 2013 +0200
Neutrino: clean up settings
remove unused setting 'network_nfs_recordingdir' and move settings that
don't need to be global into setup classes
Signed-off-by: Christian Schuett <Gau...@ho...>
Signed-off-by: Thilo Graf <db...@no...>
diff --git a/tuxbox/neutrino/src/gui/driver_boot_setup.cpp b/tuxbox/neutrino/src/gui/driver_boot_setup.cpp
index 9e325c9..6114f6a 100644
--- a/tuxbox/neutrino/src/gui/driver_boot_setup.cpp
+++ b/tuxbox/neutrino/src/gui/driver_boot_setup.cpp
@@ -128,6 +128,7 @@ int CDriverBootSetup::showSetup()
CMenuWidget * dbs = new CMenuWidget(menue_title, menue_icon, width);
dbs->setPreselected(selected);
+ int misc_option[DRIVER_SETTING_FILES_COUNT];
bool item_enabled[DRIVER_SETTING_FILES_COUNT];
#ifdef HAVE_DBOX_HARDWARE
@@ -142,10 +143,10 @@ int CDriverBootSetup::showSetup()
if (fd)
{
fclose(fd);
- g_settings.misc_option[i] = 1;
+ misc...
[truncated message content] |