mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-28 16:01:20 +02:00
Merge branch 'master' into multituner
This commit is contained in:
@@ -594,7 +594,7 @@ keybindingmenu.poweroff Umschalter
|
||||
keybindingmenu.quickzap Schnellumschaltung
|
||||
keybindingmenu.remotecontrol_hardware Hardware
|
||||
keybindingmenu.remotecontrol_hardware_coolstream Coolstream
|
||||
keybindingmenu.remotecontrol_hardware_dbox dbox
|
||||
keybindingmenu.remotecontrol_hardware_dbox d-box Nokia (alt)
|
||||
keybindingmenu.remotecontrol_hardware_msg_part1 Die Fernbedienung wurde von '
|
||||
keybindingmenu.remotecontrol_hardware_msg_part2 ' auf '
|
||||
keybindingmenu.remotecontrol_hardware_msg_part3 ' geändert.\nIst dies korrekt?\nBitte die Auswahl innerhalb 15 Sekunden mit der neuen Fernbedienung\nbestätigen. Ansonsten wird die Auswahl zurückgesetzt.
|
||||
|
@@ -595,7 +595,7 @@ keybindingmenu.poweroff Power toggle
|
||||
keybindingmenu.quickzap Quickzap
|
||||
keybindingmenu.remotecontrol_hardware Hardware
|
||||
keybindingmenu.remotecontrol_hardware_coolstream Coolstream
|
||||
keybindingmenu.remotecontrol_hardware_dbox dbox
|
||||
keybindingmenu.remotecontrol_hardware_dbox d-box Nokia (old)
|
||||
keybindingmenu.remotecontrol_hardware_msg_part1 The remote control has been changed from '
|
||||
keybindingmenu.remotecontrol_hardware_msg_part2 ' to '
|
||||
keybindingmenu.remotecontrol_hardware_msg_part3 ' \nIs this correct?\nPlease confirm the selection within 15 seconds by using the new remote control.\nOtherwise the selection will be reverted.
|
||||
|
@@ -1368,7 +1368,7 @@
|
||||
<transponder frequency="10719000" symbol_rate="27500000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="10723000" symbol_rate="29900000" polarization="0" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="10758000" symbol_rate="27500000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="10775000" symbol_rate="28000000" polarization="0" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="10775000" symbol_rate="29900000" polarization="0" fec_inner="3" system="1" modulation="2"/>
|
||||
<transponder frequency="10796000" symbol_rate="27500000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="10815000" symbol_rate="27500000" polarization="0" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="10834000" symbol_rate="27500000" polarization="1" fec_inner="3" system="1" modulation="2"/>
|
||||
@@ -1384,7 +1384,7 @@
|
||||
<transponder frequency="11034000" symbol_rate="27500000" polarization="1" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11054000" symbol_rate="27500000" polarization="0" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11075000" symbol_rate="27500000" polarization="1" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11096000" symbol_rate="28000000" polarization="0" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11096000" symbol_rate="29900000" polarization="0" fec_inner="2" system="1" modulation="2"/>
|
||||
<transponder frequency="11117000" symbol_rate="27500000" polarization="1" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11137000" symbol_rate="27500000" polarization="0" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11158000" symbol_rate="27500000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
@@ -1400,7 +1400,7 @@
|
||||
<transponder frequency="11355000" symbol_rate="29900000" polarization="1" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11373000" symbol_rate="27500000" polarization="0" fec_inner="2" system="1" modulation="1"/>
|
||||
<transponder frequency="11393000" symbol_rate="27500000" polarization="1" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11411000" symbol_rate="27500000" polarization="0" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11411000" symbol_rate="27500000" polarization="0" fec_inner="4" system="1" modulation="2"/>
|
||||
<transponder frequency="11432000" symbol_rate="27500000" polarization="1" fec_inner="2" system="1" modulation="1"/>
|
||||
<transponder frequency="11449000" symbol_rate="27500000" polarization="0" fec_inner="3" system="1" modulation="2"/>
|
||||
<transponder frequency="11471000" symbol_rate="27500000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
@@ -1571,11 +1571,15 @@
|
||||
<transponder frequency="11023000" symbol_rate="22000000" polarization="0" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11038000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11097000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11126000" symbol_rate="22000000" polarization="1" fec_inner="2" system="1" modulation="2"/>
|
||||
<transponder frequency="11156000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11171000" symbol_rate="22000000" polarization="0" fec_inner="2" system="1" modulation="2"/>
|
||||
<transponder frequency="11243000" symbol_rate="22000000" polarization="0" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11303000" symbol_rate="22000000" polarization="0" fec_inner="2" system="1" modulation="2"/>
|
||||
<transponder frequency="11318000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11362000" symbol_rate="22000000" polarization="0" fec_inner="2" system="1" modulation="2"/>
|
||||
<transponder frequency="11376000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11420000" symbol_rate="22000000" polarization="0" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11436000" symbol_rate="22000000" polarization="1" fec_inner="2" system="1" modulation="2"/>
|
||||
<transponder frequency="11464000" symbol_rate="22000000" polarization="0" fec_inner="2" system="1" modulation="2"/>
|
||||
<transponder frequency="11479000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
@@ -1583,7 +1587,8 @@
|
||||
<transponder frequency="11538000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11568000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11597000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11627000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11611000" symbol_rate="22000000" polarization="0" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11626000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11671000" symbol_rate="22000000" polarization="0" fec_inner="2" system="1" modulation="2"/>
|
||||
<transponder frequency="11686000" symbol_rate="22000000" polarization="1" fec_inner="4" system="0" modulation="1"/>
|
||||
<transponder frequency="11720000" symbol_rate="27500000" polarization="0" fec_inner="3" system="0" modulation="1"/>
|
||||
@@ -1595,7 +1600,6 @@
|
||||
<transponder frequency="11836000" symbol_rate="27500000" polarization="0" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11856000" symbol_rate="27500000" polarization="1" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11875000" symbol_rate="27500000" polarization="0" fec_inner="9" system="1" modulation="1"/>
|
||||
<transponder frequency="11876000" symbol_rate="27500000" polarization="0" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11895000" symbol_rate="27500000" polarization="1" fec_inner="3" system="0" modulation="1"/>
|
||||
<transponder frequency="11914000" symbol_rate="27500000" polarization="0" fec_inner="9" system="1" modulation="1"/>
|
||||
<transponder frequency="11934000" symbol_rate="27500000" polarization="1" fec_inner="3" system="0" modulation="1"/>
|
||||
|
@@ -505,9 +505,11 @@ void CRemoteControl::processAPIDnames()
|
||||
if(!strstr(current_PIDs.APIDs[count].desc, " (AC3)"))
|
||||
strncat(current_PIDs.APIDs[count].desc, " (AC3)", DESC_MAX_LEN - strlen(current_PIDs.APIDs[count].desc));
|
||||
has_ac3 = true;
|
||||
if((strlen( current_PIDs.APIDs[count].desc ) == 3) && g_settings.audio_DolbyDigital && (ac3_found < 0))
|
||||
if(g_settings.audio_DolbyDigital && (ac3_found < 0))
|
||||
ac3_found = count;
|
||||
}
|
||||
else if (current_PIDs.APIDs[count].is_aac && !strstr(current_PIDs.APIDs[count].desc, " (AAC)"))
|
||||
strncat(current_PIDs.APIDs[count].desc, " (AAC)", DESC_MAX_LEN - strlen(current_PIDs.APIDs[count].desc));
|
||||
}
|
||||
|
||||
if ( has_unresolved_ctags )
|
||||
|
@@ -197,6 +197,7 @@ bool CScreenShot::SavePng()
|
||||
{
|
||||
printf("CScreenShot::SavePng: %s save error\n", filename.c_str());
|
||||
png_destroy_write_struct(&png_ptr, &info_ptr);
|
||||
free(row_pointers);
|
||||
fclose(fd);
|
||||
return false;
|
||||
}
|
||||
|
@@ -57,7 +57,6 @@
|
||||
#include <neutrino.h>
|
||||
|
||||
extern CBouquetManager *g_bouquetManager;
|
||||
extern int g_channel_list_changed;
|
||||
|
||||
CBouquetList::CBouquetList(const char * const Name)
|
||||
{
|
||||
@@ -381,7 +380,7 @@ int CBouquetList::show(bool bShowChannelList)
|
||||
else if ( msg == CRCInput::RC_setup) {
|
||||
int ret = doMenu();
|
||||
if(ret > 0) {
|
||||
g_channel_list_changed = true;
|
||||
CNeutrinoApp::getInstance ()->g_channel_list_changed = true;
|
||||
res = -4;
|
||||
loop = false;
|
||||
} else if(ret < 0)
|
||||
|
@@ -85,7 +85,6 @@ extern CBouquetList * RADIOallList;
|
||||
|
||||
//extern t_channel_id rec_channel_id;
|
||||
extern bool autoshift;
|
||||
extern int g_channel_list_changed;
|
||||
|
||||
extern CBouquetManager *g_bouquetManager;
|
||||
void sectionsd_getChannelEvents(CChannelEventList &eList, const bool tv_mode, t_channel_id *chidlist, int clen);
|
||||
@@ -663,8 +662,8 @@ int CChannelList::show()
|
||||
else if ( msg == CRCInput::RC_setup) {
|
||||
old_b_id = bouquetList->getActiveBouquetNumber();
|
||||
fader.Stop();
|
||||
g_channel_list_changed = doChannelMenu();
|
||||
if(g_channel_list_changed) {
|
||||
CNeutrinoApp::getInstance ()->g_channel_list_changed = doChannelMenu();
|
||||
if(CNeutrinoApp::getInstance ()->g_channel_list_changed) {
|
||||
res = -4;
|
||||
loop = false;
|
||||
} else {
|
||||
|
@@ -33,6 +33,19 @@
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_COOLSTREAM_NEVIS_IR_H
|
||||
/* define constants instead of #ifdef'ing the corresponding code.
|
||||
* the compiler will optimize it away anyway, but the syntax is
|
||||
* still checked */
|
||||
#define RC_HW_SELECT true
|
||||
#else
|
||||
#define RC_HW_SELECT false
|
||||
#ifdef HAVE_COOL_HARDWARE
|
||||
#warning header coolstream/nevis_ir.h not found
|
||||
#warning you probably have an old driver installation
|
||||
#warning you´ll be missing the remotecontrol selection feature!
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#include "gui/keybind_setup.h"
|
||||
|
||||
@@ -218,7 +231,8 @@ int CKeybindSetup::showKeySetup()
|
||||
keySetupNotifier->changeNotify(NONEXISTANT_LOCALE, NULL);
|
||||
|
||||
keySettings->addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_KEYBINDINGMENU_RC));
|
||||
keySettings->addItem(new CMenuOptionChooser(LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE, &g_settings.remote_control_hardware, KEYBINDINGMENU_REMOTECONTROL_HARDWARE_OPTIONS, KEYBINDINGMENU_REMOTECONTROL_HARDWARE_OPTION_COUNT, true));
|
||||
if (RC_HW_SELECT)
|
||||
keySettings->addItem(new CMenuOptionChooser(LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE, &g_settings.remote_control_hardware, KEYBINDINGMENU_REMOTECONTROL_HARDWARE_OPTIONS, KEYBINDINGMENU_REMOTECONTROL_HARDWARE_OPTION_COUNT, true));
|
||||
keySettings->addItem(new CMenuForwarder(LOCALE_KEYBINDINGMENU_REPEATBLOCK, true, g_settings.repeat_blocker, keySettings_repeatBlocker));
|
||||
keySettings->addItem(new CMenuForwarder(LOCALE_KEYBINDINGMENU_REPEATBLOCKGENERIC, true, g_settings.repeat_genericblocker, keySettings_repeat_genericblocker));
|
||||
|
||||
|
@@ -36,6 +36,7 @@
|
||||
#include <global.h>
|
||||
#include <neutrino.h>
|
||||
#include <neutrino_menue.h>
|
||||
#include <neutrinoMessages.h>
|
||||
|
||||
#include "gui/movieplayer.h"
|
||||
#include "gui/pictureviewer.h"
|
||||
@@ -48,7 +49,8 @@
|
||||
#include <driver/screen_max.h>
|
||||
|
||||
#include <system/debug.h>
|
||||
|
||||
#include <video.h>
|
||||
extern cVideo * videoDecoder;
|
||||
|
||||
CMediaPlayerMenu::CMediaPlayerMenu()
|
||||
{
|
||||
@@ -101,6 +103,28 @@ int CMediaPlayerMenu::exec(CMenuTarget* parent, const std::string &actionKey)
|
||||
|
||||
return menu_return::RETURN_REPAINT;
|
||||
}
|
||||
else if (actionKey == "movieplayer")
|
||||
{
|
||||
#if 0 //Is it really necessary to lock here? Moviebrowser got its own configurable parental lock.
|
||||
bool show = true;
|
||||
if ((g_settings.parentallock_prompt == PARENTALLOCK_PROMPT_ONSIGNAL) || (g_settings.parentallock_prompt == PARENTALLOCK_PROMPT_CHANGETOLOCKED)) {
|
||||
CZapProtection zapProtection( g_settings.parentallock_pincode, 0x100 );
|
||||
show = zapProtection.check();
|
||||
}
|
||||
|
||||
if(show){
|
||||
#endif
|
||||
int mode = CNeutrinoApp::getInstance()->getMode();
|
||||
if( mode == NeutrinoMessages::mode_radio )
|
||||
videoDecoder->StopPicture();
|
||||
CMoviePlayerGui::getInstance().exec(NULL, "tsmoviebrowser");
|
||||
if( mode == NeutrinoMessages::mode_radio )
|
||||
videoDecoder->ShowPicture(DATADIR "/neutrino/icons/radiomode.jpg");
|
||||
#if 0
|
||||
}
|
||||
#endif
|
||||
return menu_return::RETURN_REPAINT;;
|
||||
}
|
||||
|
||||
int res = initMenuMedia();
|
||||
|
||||
@@ -216,9 +240,8 @@ int CMediaPlayerMenu::initMenuMedia(CMenuWidget *m, CPersonalizeGui *p)
|
||||
//show movieplayer submenu with selectable items for moviebrowser or filebrowser
|
||||
void CMediaPlayerMenu::showMoviePlayer(CMenuWidget *moviePlayer, CPersonalizeGui *p)
|
||||
{
|
||||
CMoviePlayerGui *movieplayer_gui = &CMoviePlayerGui::getInstance();
|
||||
CMenuForwarder *fw_mbrowser = new CMenuForwarder(LOCALE_MOVIEBROWSER_HEAD, true, NULL, movieplayer_gui, "tsmoviebrowser", CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED);
|
||||
CMenuForwarder *fw_file = new CMenuForwarder(LOCALE_MOVIEPLAYER_FILEPLAYBACK, true, NULL, movieplayer_gui, "fileplayback", CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN);
|
||||
CMenuForwarder *fw_mbrowser = new CMenuForwarder(LOCALE_MOVIEBROWSER_HEAD, true, NULL, this, "movieplayer", CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED);
|
||||
CMenuForwarder *fw_file = new CMenuForwarder(LOCALE_MOVIEPLAYER_FILEPLAYBACK, true, NULL, &CMoviePlayerGui::getInstance(), "fileplayback", CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN);
|
||||
|
||||
p->addIntroItems(moviePlayer);
|
||||
|
||||
|
@@ -248,6 +248,7 @@ int CScanSetup::exec(CMenuTarget* parent, const std::string &actionKey)
|
||||
g_Zapit->reinitChannels();
|
||||
if (reloadhintBox)
|
||||
reloadhintBox->hide();
|
||||
CNeutrinoApp::getInstance ()->SDTreloadChannels = false;
|
||||
return res;
|
||||
}
|
||||
else if(actionKey=="satsetup")
|
||||
|
@@ -42,49 +42,69 @@
|
||||
|
||||
CMessageBox::CMessageBox(const neutrino_locale_t Caption, const char * const Text, const int Width, const char * const Icon, const CMessageBox::result_ Default, const uint32_t ShowButtons) : CHintBoxExt(Caption, Text, Width, Icon)
|
||||
{
|
||||
returnDefaultOnTimeout = false;
|
||||
|
||||
m_height += (m_fheight << 1);
|
||||
|
||||
result = Default;
|
||||
|
||||
showbuttons = ShowButtons;
|
||||
|
||||
int MaxButtonTextWidth = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getRenderWidth(g_Locale->getText(LOCALE_MESSAGEBOX_CANCEL), true); // UTF-8
|
||||
int ButtonWidth = 20 + 33 + MaxButtonTextWidth + 5;
|
||||
int num = 0;
|
||||
if (showbuttons & mbYes)
|
||||
num++;
|
||||
if (showbuttons & mbNo)
|
||||
num++;
|
||||
if (showbuttons & (mbCancel | mbBack | mbOk))
|
||||
num++;
|
||||
int new_width = 15 + num*ButtonWidth;
|
||||
if(new_width > m_width)
|
||||
m_width = new_width;
|
||||
Init(Default, ShowButtons);
|
||||
}
|
||||
|
||||
CMessageBox::CMessageBox(const neutrino_locale_t Caption, ContentLines& Lines, const int Width, const char * const Icon, const CMessageBox::result_ Default, const uint32_t ShowButtons) : CHintBoxExt(Caption, Lines, Width, Icon)
|
||||
{
|
||||
Init(Default, ShowButtons);
|
||||
}
|
||||
|
||||
void CMessageBox::Init(const CMessageBox::result_ Default, const uint32_t ShowButtons)
|
||||
{
|
||||
#define BtnCount 3
|
||||
returnDefaultOnTimeout = false;
|
||||
ButtonSpacing = 15;
|
||||
int w = 0, h = 0, ih = 0;
|
||||
i_maxw = 0;
|
||||
std::string Btns[BtnCount] = {NEUTRINO_ICON_BUTTON_RED, NEUTRINO_ICON_BUTTON_GREEN, NEUTRINO_ICON_BUTTON_HOME};
|
||||
for (int i = 0; i < BtnCount; i++) {
|
||||
CFrameBuffer::getInstance()->getIconSize(Btns[i].c_str(), &w, &h);
|
||||
ih = std::max(h, ih);
|
||||
i_maxw = std::max(w, i_maxw);
|
||||
}
|
||||
fh = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getHeight();
|
||||
b_height = std::max(fh, ih) + 8 + (RADIUS_LARGE / 2);
|
||||
bb_height = b_height + fh/2 + ButtonSpacing;
|
||||
m_height += bb_height;
|
||||
result = Default;
|
||||
b_width = getButtonWidth();
|
||||
if (ShowButtons & CMessageBox::mbBtnAlignCenter1)
|
||||
mbBtnAlign = CMessageBox::mbBtnAlignCenter1; // centered, large distances
|
||||
else if (ShowButtons & CMessageBox::mbBtnAlignCenter2)
|
||||
mbBtnAlign = CMessageBox::mbBtnAlignCenter2; // centered, small distances
|
||||
else if (ShowButtons & CMessageBox::mbBtnAlignLeft)
|
||||
mbBtnAlign = CMessageBox::mbBtnAlignLeft;
|
||||
else if (ShowButtons & CMessageBox::mbBtnAlignRight)
|
||||
mbBtnAlign = CMessageBox::mbBtnAlignRight;
|
||||
else
|
||||
mbBtnAlign = CMessageBox::mbBtnAlignCenter1; // or g_settings.mbBtnAlign? ;-)
|
||||
showbuttons = ShowButtons & 0xFF;
|
||||
|
||||
m_height += (m_fheight << 1);
|
||||
ButtonCount = 0;
|
||||
if (showbuttons & mbYes) {
|
||||
Buttons[ButtonCount].icon = NEUTRINO_ICON_BUTTON_RED;
|
||||
Buttons[ButtonCount].text = g_Locale->getText(LOCALE_MESSAGEBOX_YES);
|
||||
ButtonCount++;
|
||||
}
|
||||
if (showbuttons & mbNo) {
|
||||
Buttons[ButtonCount].icon = NEUTRINO_ICON_BUTTON_GREEN;
|
||||
Buttons[ButtonCount].text = g_Locale->getText(LOCALE_MESSAGEBOX_NO);
|
||||
ButtonCount++;
|
||||
}
|
||||
if (showbuttons & (mbCancel | mbBack | mbOk)) {
|
||||
Buttons[ButtonCount].icon = NEUTRINO_ICON_BUTTON_HOME;
|
||||
Buttons[ButtonCount].text = g_Locale->getText((showbuttons & mbCancel) ? LOCALE_MESSAGEBOX_CANCEL : (showbuttons & mbOk) ? LOCALE_MESSAGEBOX_OK : LOCALE_MESSAGEBOX_BACK);
|
||||
ButtonCount++;
|
||||
}
|
||||
|
||||
result = Default;
|
||||
|
||||
showbuttons = ShowButtons;
|
||||
int MaxButtonTextWidth = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getRenderWidth(g_Locale->getText(LOCALE_MESSAGEBOX_CANCEL), true); // UTF-8
|
||||
int ButtonWidth = 20 + 33 + MaxButtonTextWidth + 5;
|
||||
int num = 0;
|
||||
if (showbuttons & mbYes)
|
||||
num++;
|
||||
if (showbuttons & mbNo)
|
||||
num++;
|
||||
if (showbuttons & (mbCancel | mbBack | mbOk))
|
||||
num++;
|
||||
int new_width = 15 + num*ButtonWidth;
|
||||
if(new_width > m_width)
|
||||
m_width = new_width;
|
||||
ButtonDistance = ButtonSpacing;
|
||||
bb_width = b_width * ButtonCount + ButtonDistance * (ButtonCount - 1);
|
||||
if(bb_width > m_width)
|
||||
m_width = bb_width;
|
||||
else
|
||||
if (mbBtnAlign == CMessageBox::mbBtnAlignCenter1)
|
||||
ButtonDistance = (m_width - b_width * ButtonCount) / (ButtonCount + 1);
|
||||
}
|
||||
|
||||
void CMessageBox::returnDefaultValueOnTimeout(bool returnDefault)
|
||||
@@ -92,86 +112,62 @@ void CMessageBox::returnDefaultValueOnTimeout(bool returnDefault)
|
||||
returnDefaultOnTimeout = returnDefault;
|
||||
}
|
||||
|
||||
int CMessageBox::getButtonWidth()
|
||||
{
|
||||
#define localeMsgCount 5
|
||||
neutrino_locale_t localeMsg[localeMsgCount] = {LOCALE_MESSAGEBOX_YES, LOCALE_MESSAGEBOX_NO, LOCALE_MESSAGEBOX_CANCEL, LOCALE_MESSAGEBOX_OK, LOCALE_MESSAGEBOX_BACK};
|
||||
int MaxButtonTextWidth = 0;
|
||||
for (int i = 0; i < localeMsgCount; i++)
|
||||
MaxButtonTextWidth = std::max(g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getRenderWidth(g_Locale->getText(localeMsg[i]), true), MaxButtonTextWidth);
|
||||
return MaxButtonTextWidth + i_maxw + 36 + (RADIUS_LARGE / 2);
|
||||
}
|
||||
|
||||
void CMessageBox::paintButtons()
|
||||
{
|
||||
uint8_t color;
|
||||
fb_pixel_t color;
|
||||
fb_pixel_t bgcolor;
|
||||
int iw, ih, i;
|
||||
|
||||
m_window->paintBoxRel(0, m_height - (m_fheight << 1) - RADIUS_LARGE, m_width, (m_fheight << 1) + RADIUS_LARGE, (CFBWindow::color_t)COL_MENUCONTENT_PLUS_0, RADIUS_LARGE, CORNER_BOTTOM);
|
||||
int xpos = (m_width - bb_width) / 2;
|
||||
if (mbBtnAlign == CMessageBox::mbBtnAlignCenter1)
|
||||
xpos = ButtonDistance;
|
||||
else if (mbBtnAlign == CMessageBox::mbBtnAlignCenter2)
|
||||
xpos = (m_width - bb_width) / 2;
|
||||
else if (mbBtnAlign == CMessageBox::mbBtnAlignLeft)
|
||||
xpos = ButtonSpacing;
|
||||
else if (mbBtnAlign == CMessageBox::mbBtnAlignRight)
|
||||
xpos = m_width - bb_width - ButtonSpacing;
|
||||
|
||||
//irgendwann alle vergleichen - aber cancel ist sicher der l<>ngste
|
||||
int MaxButtonTextWidth = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getRenderWidth(g_Locale->getText(LOCALE_MESSAGEBOX_CANCEL), true); // UTF-8
|
||||
int ypos = (m_height - bb_height) + fh/2;
|
||||
|
||||
int ButtonWidth = 20 + 33 + MaxButtonTextWidth;
|
||||
m_window->paintBoxRel(0, m_height - bb_height, m_width, bb_height, COL_MENUCONTENT_PLUS_0, RADIUS_LARGE, CORNER_BOTTOM);
|
||||
|
||||
int ButtonSpacing = (m_width - 20 - (ButtonWidth * 3)) / 2;
|
||||
if(ButtonSpacing <= 5) ButtonSpacing = 5;
|
||||
|
||||
int xpos = 10;
|
||||
int iw, ih;
|
||||
int fh = g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL]->getHeight();
|
||||
const int noname = 20;
|
||||
if (showbuttons & mbYes)
|
||||
{
|
||||
if (result == mbrYes)
|
||||
{
|
||||
color = COL_MENUCONTENTSELECTED;
|
||||
bgcolor = COL_MENUCONTENTSELECTED_PLUS_0;
|
||||
}
|
||||
else
|
||||
{
|
||||
color = COL_INFOBAR_SHADOW;
|
||||
bgcolor = COL_INFOBAR_SHADOW_PLUS_0;
|
||||
}
|
||||
CFrameBuffer::getInstance()->getIconSize(NEUTRINO_ICON_BUTTON_RED, &iw, &ih);
|
||||
m_window->paintBoxRel(xpos, m_height - m_fheight - noname, ButtonWidth, m_fheight, (CFBWindow::color_t)bgcolor, RADIUS_LARGE);//round
|
||||
//m_window->paintIcon(NEUTRINO_ICON_BUTTON_RED, xpos + 14, m_height - m_fheight - 15);
|
||||
//m_window->RenderString(g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], xpos + 43, m_height-m_fheight+4, ButtonWidth- 53, g_Locale->getText(LOCALE_MESSAGEBOX_YES), (CFBWindow::color_t)color, 0, true); // UTF-8
|
||||
m_window->paintIcon(NEUTRINO_ICON_BUTTON_RED, xpos + 14, m_height - m_fheight - noname, m_fheight);
|
||||
m_window->RenderString(g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], xpos + 43, (m_height - noname)-(m_fheight-fh)/2, ButtonWidth- 53, g_Locale->getText(LOCALE_MESSAGEBOX_YES), (CFBWindow::color_t)color, 0, true); // UTF-8
|
||||
xpos += ButtonWidth + ButtonSpacing;
|
||||
i = 0;
|
||||
if (showbuttons & mbYes) {
|
||||
Buttons[i].def = (result == mbrYes) ? true : false;
|
||||
i++;
|
||||
}
|
||||
|
||||
if (showbuttons & mbNo)
|
||||
{
|
||||
if (result == mbrNo)
|
||||
{
|
||||
color = COL_MENUCONTENTSELECTED;
|
||||
bgcolor = COL_MENUCONTENTSELECTED_PLUS_0;
|
||||
}
|
||||
else
|
||||
{
|
||||
color = COL_INFOBAR_SHADOW;
|
||||
bgcolor = COL_INFOBAR_SHADOW_PLUS_0;
|
||||
}
|
||||
|
||||
m_window->paintBoxRel(xpos, m_height-m_fheight-noname, ButtonWidth, m_fheight, (CFBWindow::color_t)bgcolor, RADIUS_LARGE);//round
|
||||
//m_window->paintIcon(NEUTRINO_ICON_BUTTON_GREEN, xpos+14, m_height-m_fheight-15);
|
||||
m_window->paintIcon(NEUTRINO_ICON_BUTTON_GREEN, xpos+14, m_height-m_fheight - noname, m_fheight);
|
||||
m_window->RenderString(g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], xpos + 43, (m_height - noname)-(m_fheight-fh)/2, ButtonWidth- 53, g_Locale->getText(LOCALE_MESSAGEBOX_NO), (CFBWindow::color_t)color, 0, true); // UTF-8
|
||||
xpos += ButtonWidth + ButtonSpacing;
|
||||
if (showbuttons & mbNo) {
|
||||
Buttons[i].def = (result == mbrNo) ? true : false;
|
||||
i++;
|
||||
}
|
||||
|
||||
|
||||
if (showbuttons & (mbCancel | mbBack | mbOk))
|
||||
{
|
||||
if (result >= mbrCancel)
|
||||
{
|
||||
Buttons[i].def = (result >= mbrCancel) ? true : false;
|
||||
|
||||
for (i = 0; i < ButtonCount; i++) {
|
||||
if (Buttons[i].def) {
|
||||
color = COL_MENUCONTENTSELECTED;
|
||||
bgcolor = COL_MENUCONTENTSELECTED_PLUS_0;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
color = COL_INFOBAR_SHADOW;
|
||||
bgcolor = COL_INFOBAR_SHADOW_PLUS_0;
|
||||
}
|
||||
|
||||
m_window->paintBoxRel(xpos, m_height-m_fheight-noname, ButtonWidth, m_fheight, (CFBWindow::color_t)bgcolor, RADIUS_LARGE);//round
|
||||
//m_window->paintIcon(NEUTRINO_ICON_BUTTON_HOME, xpos+10, m_height-m_fheight-19);
|
||||
m_window->paintIcon(NEUTRINO_ICON_BUTTON_HOME, xpos+14, m_height-m_fheight - noname, m_fheight);
|
||||
m_window->RenderString(g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], xpos + 43, (m_height - noname)-(m_fheight-fh)/2, ButtonWidth- 53,
|
||||
g_Locale->getText((showbuttons & mbCancel) ? LOCALE_MESSAGEBOX_CANCEL : (showbuttons & mbOk) ? LOCALE_MESSAGEBOX_OK : LOCALE_MESSAGEBOX_BACK),
|
||||
(CFBWindow::color_t)color, 0, true); // UTF-8
|
||||
CFrameBuffer::getInstance()->getIconSize(Buttons[i].icon, &iw, &ih);
|
||||
m_window->paintBoxRel(xpos, ypos, b_width, b_height, (CFBWindow::color_t)bgcolor, RADIUS_LARGE);
|
||||
m_window->paintIcon(Buttons[i].icon, xpos + ((b_height - ih) / 2), ypos + ((b_height - ih) / 2), ih);
|
||||
m_window->RenderString(g_Font[SNeutrinoSettings::FONT_TYPE_INFOBAR_SMALL], xpos + iw + 17, ypos + fh + ((b_height - fh) / 2),
|
||||
b_width - (iw + 21), Buttons[i].text, (CFBWindow::color_t)color, 0, true);
|
||||
xpos += b_width + ButtonDistance;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -38,15 +38,29 @@
|
||||
#include <stdint.h>
|
||||
#include <string>
|
||||
|
||||
#define MaxButtons 3
|
||||
|
||||
class CMessageBox : public CHintBoxExt
|
||||
{
|
||||
private:
|
||||
struct mbButtons
|
||||
{
|
||||
bool def;
|
||||
const char* icon;
|
||||
const char* text;
|
||||
};
|
||||
struct mbButtons Buttons[MaxButtons];
|
||||
|
||||
int showbuttons;
|
||||
bool returnDefaultOnTimeout;
|
||||
int mbBtnAlign;
|
||||
int ButtonSpacing, ButtonDistance;
|
||||
int fh, i_maxw;
|
||||
int b_height, b_width, bb_height, bb_width;
|
||||
int ButtonCount;
|
||||
|
||||
void paintButtons();
|
||||
int getButtonWidth();
|
||||
|
||||
public:
|
||||
enum result_
|
||||
@@ -60,12 +74,16 @@ class CMessageBox : public CHintBoxExt
|
||||
|
||||
enum buttons_
|
||||
{
|
||||
mbYes= 0x01,
|
||||
mbNo = 0x02,
|
||||
mbCancel = 0x04,
|
||||
mbAll = 0x07,
|
||||
mbBack = 0x08,
|
||||
mbOk = 0x10
|
||||
mbYes = 0x01,
|
||||
mbNo = 0x02,
|
||||
mbCancel = 0x04,
|
||||
mbAll = 0x07,
|
||||
mbBack = 0x08,
|
||||
mbOk = 0x10,
|
||||
mbBtnAlignCenter1 = 0x0100, /* centered, large distances */
|
||||
mbBtnAlignCenter2 = 0x0200, /* centered, small distances */
|
||||
mbBtnAlignLeft = 0x0400,
|
||||
mbBtnAlignRight = 0x0800
|
||||
} buttons;
|
||||
|
||||
// Text & Caption are always UTF-8 encoded
|
||||
@@ -75,6 +93,9 @@ class CMessageBox : public CHintBoxExt
|
||||
|
||||
int exec(int timeout = -1);
|
||||
void returnDefaultValueOnTimeout(bool returnDefault);
|
||||
|
||||
private:
|
||||
void Init(const CMessageBox::result_ Default, const uint32_t ShowButtons);
|
||||
};
|
||||
|
||||
// Text is always UTF-8 encoded
|
||||
|
@@ -150,8 +150,6 @@ extern cAudio * audioDecoder;
|
||||
cPowerManager *powerManager;
|
||||
cCpuFreqManager * cpuFreq;
|
||||
|
||||
int g_channel_list_changed;
|
||||
|
||||
void stop_daemons(bool stopall = true);
|
||||
// uncomment if you want to have a "test" menue entry (rasc)
|
||||
|
||||
@@ -2148,21 +2146,8 @@ INFO("cCA::GetInstance()->Ready\n");
|
||||
media->exec(NULL, "");
|
||||
}
|
||||
else if( msg == CRCInput::RC_video || msg == CRCInput::RC_play ) {
|
||||
bool show = true;
|
||||
if ((g_settings.parentallock_prompt == PARENTALLOCK_PROMPT_ONSIGNAL) || (g_settings.parentallock_prompt == PARENTALLOCK_PROMPT_CHANGETOLOCKED)) {
|
||||
CZapProtection* zapProtection = new CZapProtection( g_settings.parentallock_pincode, 0x100 );
|
||||
show = zapProtection->check();
|
||||
delete zapProtection;
|
||||
}
|
||||
if(show) {
|
||||
//StopSubtitles();
|
||||
if( mode == mode_radio )
|
||||
videoDecoder->StopPicture();
|
||||
CMoviePlayerGui::getInstance().exec(NULL, "tsmoviebrowser");
|
||||
if( mode == mode_radio )
|
||||
videoDecoder->ShowPicture(DATADIR "/neutrino/icons/radiomode.jpg");
|
||||
//StartSubtitles();
|
||||
}
|
||||
//open moviebrowser via media player menu object
|
||||
CMediaPlayerMenu::getInstance()->exec(NULL,"movieplayer");
|
||||
}
|
||||
else if (CRCInput::isNumeric(msg) && g_RemoteControl->director_mode ) {
|
||||
g_RemoteControl->setSubChannel(CRCInput::getNumericValue(msg));
|
||||
|
@@ -130,7 +130,6 @@ private:
|
||||
// bool fromflash;
|
||||
bool init_cec_setting;
|
||||
int lastChannelMode;
|
||||
bool SDTreloadChannels;
|
||||
struct timeval standby_pressed_at;
|
||||
|
||||
CZapitClient::responseGetLastChannel firstchannel;
|
||||
@@ -229,6 +228,8 @@ public:
|
||||
void SelectSubtitles();
|
||||
void showInfo(void);
|
||||
CConfigFile* getConfigFile() {return &configfile;};
|
||||
bool SDTreloadChannels;
|
||||
bool g_channel_list_changed;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user