mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-31 17:31:11 +02:00
Merge branch 'master' of https://github.com/tuxbox-neutrino/gui-neutrino into ni/tuxbox
Conflicts:
src/gui/osd_setup.cpp
Origin commit data
------------------
Commit: c2506804b6
Author: vanhofen <vanhofen@gmx.de>
Date: 2016-12-30 (Fri, 30 Dec 2016)
This commit is contained in:
@@ -753,6 +753,7 @@ fontmenu.scaling_x_hint2 Horizontal (in %) min 50 / max 200
|
||||
fontmenu.scaling_y Vertikal (in %)
|
||||
fontmenu.scaling_y_hint2 Vertikal (in %) min 50 / max 200
|
||||
fontmenu.sizes Schriftgrößen
|
||||
fontsize.button_text Schaltflächen-Text
|
||||
fontsize.channel_num_zap Direktauswahl
|
||||
fontsize.channellist Kanalliste
|
||||
fontsize.channellist_descr Beschreibung
|
||||
|
@@ -753,6 +753,7 @@ fontmenu.scaling_x_hint2 Horizontal (in %) min 50 / max 200
|
||||
fontmenu.scaling_y Vertical (in %)
|
||||
fontmenu.scaling_y_hint2 Vertical (in %) min 50 / max 200
|
||||
fontmenu.sizes Font sizes
|
||||
fontsize.button_text Button text
|
||||
fontsize.channel_num_zap direct selection
|
||||
fontsize.channellist Channellist
|
||||
fontsize.channellist_descr Description
|
||||
|
@@ -665,6 +665,7 @@ fontmenu.scaling_x_hint2 Horizontaal (in %) min 50 / max 200
|
||||
fontmenu.scaling_y Verticaal (in %)
|
||||
fontmenu.scaling_y_hint2 Verticaal (in %) min 50 / max 200
|
||||
fontmenu.sizes Lettertype grootte
|
||||
fontsize.button_text Button text
|
||||
fontsize.channel_num_zap directe selectie
|
||||
fontsize.channellist Kanalenlijst
|
||||
fontsize.channellist_descr Omschrijving
|
||||
|
@@ -712,6 +712,7 @@ fontmenu.scaling_x_hint2 Vodorovne (v %) min 50 / max 200
|
||||
fontmenu.scaling_y Zvislo (v %)
|
||||
fontmenu.scaling_y_hint2 Zvislo (v %) min 50 / max 200
|
||||
fontmenu.sizes Veľkosti písma
|
||||
fontsize.button_text Button text
|
||||
fontsize.channel_num_zap Priamy výber
|
||||
fontsize.channellist Zoznam kanálov
|
||||
fontsize.channellist_descr Popis
|
||||
|
@@ -33,7 +33,6 @@
|
||||
#include <system/debug.h>
|
||||
#include "cc_frm_button.h"
|
||||
|
||||
|
||||
using namespace std;
|
||||
|
||||
CComponentsButton::CComponentsButton( const int& x_pos, const int& y_pos, const int& w, const int& h,
|
||||
@@ -44,7 +43,7 @@ CComponentsButton::CComponentsButton( const int& x_pos, const int& y_pos, const
|
||||
int shadow_mode,
|
||||
fb_pixel_t color_frame, fb_pixel_t color_body, fb_pixel_t color_shadow)
|
||||
{
|
||||
cc_btn_capt_locale = NONEXISTANT_LOCALE;
|
||||
cc_btn_text_locale = NONEXISTANT_LOCALE;
|
||||
initVarButton(x_pos, y_pos, w, h, caption, icon_name, parent, selected, enabled, shadow_mode, color_frame, color_body, color_shadow);
|
||||
}
|
||||
|
||||
@@ -56,8 +55,8 @@ CComponentsButton::CComponentsButton( const int& x_pos, const int& y_pos, const
|
||||
int shadow_mode,
|
||||
fb_pixel_t color_frame, fb_pixel_t color_body, fb_pixel_t color_shadow)
|
||||
{
|
||||
cc_btn_capt_locale = caption_locale;
|
||||
initVarButton(x_pos, y_pos, w, h, g_Locale->getText(cc_btn_capt_locale), icon_name, parent, selected, enabled, shadow_mode, color_frame, color_body, color_shadow);
|
||||
cc_btn_text_locale = caption_locale;
|
||||
initVarButton(x_pos, y_pos, w, h, g_Locale->getText(cc_btn_text_locale), icon_name, parent, selected, enabled, shadow_mode, color_frame, color_body, color_shadow);
|
||||
}
|
||||
|
||||
CComponentsButton::CComponentsButton( const int& x_pos, const int& y_pos, const int& w, const int& h,
|
||||
@@ -81,8 +80,8 @@ CComponentsButton::CComponentsButton( const int& x_pos, const int& y_pos, const
|
||||
fb_pixel_t color_frame, fb_pixel_t color_body, fb_pixel_t color_shadow)
|
||||
{
|
||||
string _icon_name = icon_name == NULL ? "" : string(icon_name);
|
||||
cc_btn_capt_locale = caption_locale;
|
||||
initVarButton(x_pos, y_pos, w, h, g_Locale->getText(cc_btn_capt_locale), _icon_name, parent, selected, enabled, shadow_mode, color_frame, color_body, color_shadow);
|
||||
cc_btn_text_locale = caption_locale;
|
||||
initVarButton(x_pos, y_pos, w, h, g_Locale->getText(cc_btn_text_locale), _icon_name, parent, selected, enabled, shadow_mode, color_frame, color_body, color_shadow);
|
||||
}
|
||||
|
||||
void CComponentsButton::initVarButton( const int& x_pos, const int& y_pos, const int& w, const int& h,
|
||||
@@ -116,14 +115,14 @@ void CComponentsButton::initVarButton( const int& x_pos, const int& y_pos, const
|
||||
append_y_offset = 0;
|
||||
corner_rad = RADIUS_SMALL;
|
||||
|
||||
cc_btn_capt_col = cc_body_gradient_enable ? COL_BUTTON_TEXT_ENABLED : COL_MENUFOOT_TEXT;
|
||||
cc_btn_capt_disable_col = cc_body_gradient_enable ? COL_BUTTON_TEXT_DISABLED : COL_MENUCONTENTINACTIVE_TEXT;
|
||||
cc_btn_text_col = cc_body_gradient_enable ? COL_BUTTON_TEXT_ENABLED : COL_MENUFOOT_TEXT;
|
||||
cc_btn_text_disable_col = cc_body_gradient_enable ? COL_BUTTON_TEXT_DISABLED : COL_MENUCONTENTINACTIVE_TEXT;
|
||||
cc_btn_icon_obj = NULL;
|
||||
cc_btn_capt_obj = NULL;
|
||||
cc_btn_text_obj = NULL;
|
||||
cc_btn_dy_font = CNeutrinoFonts::getInstance();
|
||||
cc_btn_font = NULL;
|
||||
cc_btn_font = g_Font[SNeutrinoSettings::FONT_TYPE_BUTTON_TEXT];
|
||||
cc_btn_icon = icon_name;
|
||||
cc_btn_capt = caption;
|
||||
cc_btn_text = caption;
|
||||
cc_directKey = CRCInput::RC_nokey;
|
||||
cc_directKeyAlt = cc_directKey;
|
||||
cc_btn_result = -1;
|
||||
@@ -172,30 +171,34 @@ void CComponentsButton::initIcon()
|
||||
void CComponentsButton::initCaption()
|
||||
{
|
||||
//init label as caption object and add to container
|
||||
if (!cc_btn_capt.empty()){
|
||||
if (cc_btn_capt_obj == NULL){
|
||||
cc_btn_capt_obj = new CComponentsLabel();
|
||||
cc_btn_capt_obj->doPaintBg(false);
|
||||
cc_btn_capt_obj->doPaintTextBoxBg(false);
|
||||
cc_btn_capt_obj->enableTboxSaveScreen(cc_txt_save_screen);
|
||||
addCCItem(cc_btn_capt_obj);
|
||||
if (!cc_btn_text.empty()){
|
||||
if (cc_btn_text_obj == NULL){
|
||||
cc_btn_text_obj = new CComponentsLabel();
|
||||
cc_btn_text_obj->doPaintBg(false);
|
||||
cc_btn_text_obj->doPaintTextBoxBg(false);
|
||||
cc_btn_text_obj->enableTboxSaveScreen(cc_txt_save_screen);
|
||||
addCCItem(cc_btn_text_obj);
|
||||
}
|
||||
}else{
|
||||
if (cc_btn_capt_obj){
|
||||
delete cc_btn_capt_obj;
|
||||
cc_btn_capt_obj = NULL;
|
||||
if (cc_btn_text_obj){
|
||||
delete cc_btn_text_obj;
|
||||
cc_btn_text_obj = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
//set basic properties
|
||||
int w_frame = fr_thickness;
|
||||
if (cc_btn_capt_obj){
|
||||
if (cc_btn_text_obj){
|
||||
//position and size
|
||||
int x_cap = w_frame;
|
||||
x_cap += cc_btn_icon_obj ? cc_btn_icon_obj->getWidth() : 0;
|
||||
|
||||
/* use system defined font as default if not defined */
|
||||
if (cc_btn_font == NULL)
|
||||
cc_btn_font = g_Font[SNeutrinoSettings::FONT_TYPE_BUTTON_TEXT];
|
||||
|
||||
int w_cap = width - w_frame - append_x_offset - x_cap - w_frame;
|
||||
int h_cap = (height*85/100) - 2*w_frame;
|
||||
int h_cap = min(height - 2*w_frame, cc_btn_font->getHeight());
|
||||
/*NOTE:
|
||||
paint of centered text in y direction without y_offset
|
||||
looks unlovely displaced in y direction especially besides small icons and inside small areas,
|
||||
@@ -204,42 +207,37 @@ void CComponentsButton::initCaption()
|
||||
*/
|
||||
int y_cap = height/2 - h_cap/2;
|
||||
|
||||
cc_btn_capt_obj->setDimensionsAll(x_cap, y_cap, w_cap, h_cap);
|
||||
cc_btn_text_obj->setDimensionsAll(x_cap, y_cap, w_cap, h_cap);
|
||||
|
||||
//text and font
|
||||
Font* def_font = *cc_btn_dy_font->getDynFont(w_cap, h_cap, cc_btn_capt);
|
||||
if (cc_btn_font == NULL){
|
||||
/* use dynamic font as default font if no font defined */
|
||||
cc_btn_font = def_font;
|
||||
}else{
|
||||
/* if button dimension too small, use dynamic font as default font size, this ignores possible defined font
|
||||
* Otherwise definied font will be used.
|
||||
Font* def_font = *cc_btn_dy_font->getDynFont(w_cap, h_cap, cc_btn_text);
|
||||
/* If button dimension too small, use dynamic font, this ignores possible defined font
|
||||
* Otherwise definied font will be used. Button dimensions are calculated from parent container (e.g. footer...).
|
||||
* These dimensions must be enough to display complete content like possible icon and without truncated text.
|
||||
*/
|
||||
if (cc_btn_font->getHeight() > h_cap){
|
||||
if ((cc_btn_font->getHeight()- 2*w_frame) > h_cap && (cc_btn_font->getRenderWidth(cc_btn_text)- 2*w_frame) > w_cap)
|
||||
cc_btn_font = def_font;
|
||||
}
|
||||
}
|
||||
|
||||
cc_btn_capt_obj->setText(cc_btn_capt, CTextBox::NO_AUTO_LINEBREAK, cc_btn_font);
|
||||
cc_btn_capt_obj->forceTextPaint(); //here required;
|
||||
cc_btn_capt_obj->getCTextBoxObject()->setTextBorderWidth(0,0);
|
||||
cc_btn_text_obj->setText(cc_btn_text, CTextBox::NO_AUTO_LINEBREAK, cc_btn_font);
|
||||
cc_btn_text_obj->forceTextPaint(); //here required;
|
||||
cc_btn_text_obj->getCTextBoxObject()->setTextBorderWidth(0,0);
|
||||
|
||||
//set color
|
||||
cc_btn_capt_obj->setTextColor(this->cc_item_enabled ? cc_btn_capt_col : cc_btn_capt_disable_col);
|
||||
cc_btn_text_obj->setTextColor(this->cc_item_enabled ? cc_btn_text_col : cc_btn_text_disable_col);
|
||||
|
||||
//corner of text item
|
||||
cc_btn_capt_obj->setCorner(corner_rad-w_frame, corner_type);
|
||||
cc_btn_text_obj->setCorner(corner_rad-w_frame, corner_type);
|
||||
}
|
||||
|
||||
//handle common position of icon and text inside container required for alignment
|
||||
int w_required = w_frame + append_x_offset;
|
||||
w_required += cc_btn_icon_obj ? cc_btn_icon_obj->getWidth() + append_x_offset : 0;
|
||||
w_required += cc_btn_font ? cc_btn_font->getRenderWidth(cc_btn_capt) : 0;
|
||||
w_required += cc_btn_font ? cc_btn_font->getRenderWidth(cc_btn_text) : 0;
|
||||
w_required += append_x_offset + w_frame;
|
||||
|
||||
//dynamic width
|
||||
if (w_required > width){
|
||||
dprintf(DEBUG_INFO, "[CComponentsButton] [%s - %d] width of button (%s) will be changed: defined width=%d, required width=%d\n", __func__, __LINE__, cc_btn_capt.c_str(), width, w_required);
|
||||
dprintf(DEBUG_INFO, "[CComponentsButton] [%s - %d] width of button (%s) will be changed: defined width=%d, required width=%d\n", __func__, __LINE__, cc_btn_text.c_str(), width, w_required);
|
||||
width = max(w_required, width);
|
||||
}
|
||||
|
||||
@@ -256,22 +254,22 @@ void CComponentsButton::initCaption()
|
||||
int y_icon = height/2 - cc_btn_icon_obj->getHeight()/2;
|
||||
cc_btn_icon_obj->setYPos(y_icon);
|
||||
}
|
||||
if (cc_btn_capt_obj){
|
||||
cc_btn_capt_obj->setXPos(x_icon + w_icon + append_x_offset);
|
||||
cc_btn_capt_obj->setWidth(width - cc_btn_capt_obj->getXPos());
|
||||
if (cc_btn_text_obj){
|
||||
cc_btn_text_obj->setXPos(x_icon + w_icon + append_x_offset);
|
||||
cc_btn_text_obj->setWidth(width - cc_btn_text_obj->getXPos());
|
||||
}
|
||||
}
|
||||
|
||||
void CComponentsButton::setCaption(const std::string& text)
|
||||
{
|
||||
cc_btn_capt = text;
|
||||
cc_btn_text = text;
|
||||
initCCBtnItems();
|
||||
}
|
||||
|
||||
void CComponentsButton::setCaption(const neutrino_locale_t locale_text)
|
||||
{
|
||||
cc_btn_capt_locale = locale_text;
|
||||
setCaption(g_Locale->getText(cc_btn_capt_locale));
|
||||
cc_btn_text_locale = locale_text;
|
||||
setCaption(g_Locale->getText(cc_btn_text_locale));
|
||||
}
|
||||
|
||||
void CComponentsButton::initCCBtnItems()
|
||||
|
@@ -50,7 +50,7 @@ class CComponentsButton : public CComponentsFrmChain, public CCTextScreen
|
||||
///object: picture object
|
||||
CComponentsPictureScalable *cc_btn_icon_obj;
|
||||
///object: label object
|
||||
CComponentsLabel *cc_btn_capt_obj;
|
||||
CComponentsLabel *cc_btn_text_obj;
|
||||
|
||||
///initialize all required attributes and objects
|
||||
void initVarButton( const int& x_pos, const int& y_pos, const int& w, const int& h,
|
||||
@@ -63,9 +63,9 @@ class CComponentsButton : public CComponentsFrmChain, public CCTextScreen
|
||||
fb_pixel_t color_frame, fb_pixel_t color_body, fb_pixel_t color_shadow);
|
||||
|
||||
///property: button text as string, see also setCaption() and getCaptionString()
|
||||
std::string cc_btn_capt;
|
||||
std::string cc_btn_text;
|
||||
///property: button text as locale, see also setCaption() and getCaptionLocale()
|
||||
neutrino_locale_t cc_btn_capt_locale;
|
||||
neutrino_locale_t cc_btn_text_locale;
|
||||
|
||||
///property: icon name, only icons supported, to find in gui/widget/icons.h
|
||||
std::string cc_btn_icon;
|
||||
@@ -80,9 +80,9 @@ class CComponentsButton : public CComponentsFrmChain, public CCTextScreen
|
||||
int cc_btn_alias;
|
||||
|
||||
///property: text color
|
||||
fb_pixel_t cc_btn_capt_col;
|
||||
fb_pixel_t cc_btn_text_col;
|
||||
///property: text color for disabled button
|
||||
fb_pixel_t cc_btn_capt_disable_col;
|
||||
fb_pixel_t cc_btn_text_disable_col;
|
||||
///object: text font
|
||||
Font* cc_btn_font;
|
||||
///object: dynamic font object handler
|
||||
@@ -135,7 +135,7 @@ class CComponentsButton : public CComponentsFrmChain, public CCTextScreen
|
||||
fb_pixel_t color_frame = COL_SHADOW_PLUS_0, fb_pixel_t color_body = COL_BUTTON_BODY, fb_pixel_t color_shadow = COL_SHADOW_PLUS_0);
|
||||
|
||||
///set text color
|
||||
inline virtual void setButtonTextColor(fb_pixel_t caption_color){cc_btn_capt_col = caption_color;};
|
||||
inline virtual void setButtonTextColor(fb_pixel_t caption_color){cc_btn_text_col = caption_color;};
|
||||
|
||||
/**Member to modify background behavior of embeded caption object.
|
||||
* @param[in] mode
|
||||
@@ -164,9 +164,9 @@ class CComponentsButton : public CComponentsFrmChain, public CCTextScreen
|
||||
virtual void setCaption(const neutrino_locale_t locale_text);
|
||||
|
||||
///get caption, type as std::string
|
||||
inline virtual std::string getCaptionString(){return cc_btn_capt;};
|
||||
inline virtual std::string getCaptionString(){return cc_btn_text;};
|
||||
///get loacalized caption id, type = neutrino_locale_t
|
||||
inline virtual neutrino_locale_t getCaptionLocale(){return cc_btn_capt_locale;};
|
||||
inline virtual neutrino_locale_t getCaptionLocale(){return cc_btn_text_locale;};
|
||||
|
||||
///property: set font for label caption, parameter as font object, value NULL causes usaage of dynamic font
|
||||
virtual void setButtonFont(Font* font){cc_btn_font = font; initCCBtnItems();};
|
||||
|
@@ -68,6 +68,12 @@ void CComponentsFooter::initVarFooter( const int& x_pos, const int& y_pos, const
|
||||
//init footer width
|
||||
width = w == 0 ? frameBuffer->getScreenWidth(true) : w;
|
||||
|
||||
//init default fonts
|
||||
initDefaultFonts();
|
||||
|
||||
//init default button text font
|
||||
ccf_btn_font = g_Font[SNeutrinoSettings::FONT_TYPE_BUTTON_TEXT];
|
||||
|
||||
//init footer height
|
||||
initCaptionFont();
|
||||
height = max(h, cch_font->getHeight());
|
||||
@@ -88,7 +94,6 @@ void CComponentsFooter::initVarFooter( const int& x_pos, const int& y_pos, const
|
||||
corner_type = CORNER_BOTTOM;
|
||||
|
||||
ccf_enable_button_bg = false /*g_settings.theme.Button_gradient*/; //TODO: not implemented at the moment
|
||||
ccf_btn_font = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_FOOT];
|
||||
chain = NULL;
|
||||
|
||||
addContextButton(buttons);
|
||||
@@ -426,3 +431,9 @@ void CComponentsFooter::enableButtonShadow(int mode, const int& shadow_width, bo
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CComponentsFooter::initDefaultFonts()
|
||||
{
|
||||
l_font = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE];
|
||||
s_font = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_FOOT];
|
||||
}
|
||||
|
@@ -84,6 +84,9 @@ class CComponentsFooter : public CComponentsHeader
|
||||
///property: set font for label caption, see also setButtonFont()
|
||||
Font* ccf_btn_font;
|
||||
|
||||
///init default fonts for size modes
|
||||
virtual void initDefaultFonts();
|
||||
|
||||
///container for button objects
|
||||
CComponentsFrmChain *chain;
|
||||
|
||||
|
@@ -96,6 +96,7 @@ void CComponentsHeader::initVarHeader( const int& x_pos, const int& y_pos, const
|
||||
height = height_old = h;
|
||||
|
||||
cch_font = NULL;
|
||||
initDefaultFonts();
|
||||
cch_size_mode = CC_HEADER_SIZE_LARGE;
|
||||
CNeutrinoApp::getInstance()->OnAfterSetupFonts.connect(sigc::mem_fun(this, &CComponentsHeader::resetFont));
|
||||
|
||||
@@ -165,16 +166,20 @@ void CComponentsHeader::setCaptionFont(Font* font)
|
||||
void CComponentsHeader::resetFont()
|
||||
{
|
||||
if (cch_font){
|
||||
cch_font = NULL;
|
||||
dprintf(DEBUG_DEBUG, "\033[33m[CComponentsHeader][%s - %d] reset header font \033[0m\n", __func__, __LINE__);
|
||||
cch_font = NULL;
|
||||
}
|
||||
initDefaultFonts();
|
||||
}
|
||||
|
||||
void CComponentsHeader::initDefaultFonts()
|
||||
{
|
||||
l_font = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE];
|
||||
s_font = g_Font[SNeutrinoSettings::FONT_TYPE_MENU];
|
||||
}
|
||||
|
||||
void CComponentsHeader::initCaptionFont()
|
||||
{
|
||||
Font *l_font = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE];
|
||||
Font *s_font = g_Font[SNeutrinoSettings::FONT_TYPE_MENU];
|
||||
|
||||
if (cch_font == NULL){
|
||||
cch_font = (cch_size_mode == CC_HEADER_SIZE_LARGE? l_font : s_font);
|
||||
//select matching height
|
||||
|
@@ -67,7 +67,7 @@ class CComponentsHeader : public CComponentsForm, public CCTextScreen
|
||||
///property: caption text color, see also setCaptionColor()
|
||||
fb_pixel_t cch_col_text;
|
||||
///property: caption font, see also setCaptionFont()
|
||||
Font* cch_font;
|
||||
Font* cch_font, *l_font, *s_font;
|
||||
///reset font
|
||||
void resetFont();
|
||||
|
||||
@@ -102,6 +102,8 @@ class CComponentsHeader : public CComponentsForm, public CCTextScreen
|
||||
|
||||
///init font object and recalculates height if required
|
||||
void initCaptionFont();
|
||||
///init default fonts for size modes
|
||||
virtual void initDefaultFonts();
|
||||
///sub: init icon object
|
||||
void initIcon();
|
||||
///sub: init caption object
|
||||
|
@@ -145,7 +145,7 @@ void CComponentsWindow::initVarWindow( const int& x_pos, const int& y_pos, const
|
||||
ccw_right_sidebar= NULL;
|
||||
ccw_body = NULL;
|
||||
ccw_footer = NULL;
|
||||
ccw_button_font = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_FOOT];
|
||||
ccw_button_font = g_Font[SNeutrinoSettings::FONT_TYPE_BUTTON_TEXT];
|
||||
|
||||
ccw_buttons = 0; //no header buttons
|
||||
ccw_show_footer = true;
|
||||
|
@@ -98,7 +98,8 @@ void CComponentsTimer::initThread()
|
||||
if (res != 0){
|
||||
dprintf(DEBUG_NORMAL,"\033[33m[CComponentsTimer] [%s - %d] ERROR! pthread_create\033[0m\n", __func__, __LINE__);
|
||||
return;
|
||||
}
|
||||
}else
|
||||
dprintf(DEBUG_DEBUG,"\033[33m[CComponentsTimer] [%s - %d] started thread ID:%ld \033[0m\n", __func__, __LINE__, pthread_self());
|
||||
|
||||
if (res == 0)
|
||||
CNeutrinoApp::getInstance()->OnBeforeRestart.connect(sl_stop_timer);
|
||||
@@ -111,17 +112,17 @@ void CComponentsTimer::stopThread()
|
||||
while (!sl_stop_timer.empty())
|
||||
sl_stop_timer.disconnect();
|
||||
|
||||
if(tm_thread) {
|
||||
while(tm_thread) {
|
||||
int thres = pthread_cancel(tm_thread);
|
||||
if (thres != 0)
|
||||
dprintf(DEBUG_NORMAL,"\033[33m[CComponentsTimer] [%s - %d] ERROR! pthread_cancel, [%d]\033[0m\n", __func__, __LINE__, thres);
|
||||
dprintf(DEBUG_NORMAL,"\033[33m[CComponentsTimer] [%s - %d] ERROR! pthread_cancel, error [%d] %s\033[0m\n", __func__, __LINE__, thres, strerror(thres));
|
||||
|
||||
thres = pthread_join(tm_thread, NULL);
|
||||
void* res;
|
||||
thres = pthread_join(tm_thread, &res);
|
||||
|
||||
if (thres != 0)
|
||||
dprintf(DEBUG_NORMAL, "\033[33m[CComponentsTimer] [%s - %d] ERROR! pthread_join, [%d]\033[0m\n", __func__, __LINE__, thres);
|
||||
|
||||
if (thres == 0)
|
||||
if (res != PTHREAD_CANCELED)
|
||||
dprintf(DEBUG_NORMAL, "\033[33m[CComponentsTimer] [%s - %d] ERROR! pthread_join, thread ID:%ld, error [%d] %s\033[0m\n", __func__, __LINE__, pthread_self(), thres, strerror(thres));
|
||||
else
|
||||
tm_thread = 0;
|
||||
}
|
||||
}
|
||||
|
@@ -168,7 +168,8 @@ size_t moviebrowser_font_items = sizeof(moviebrowser_font_sizes)/sizeof(moviebro
|
||||
const SNeutrinoSettings::FONT_TYPES other_font_sizes[] =
|
||||
{
|
||||
SNeutrinoSettings::FONT_TYPE_SUBTITLES,
|
||||
SNeutrinoSettings::FONT_TYPE_FILEBROWSER_ITEM
|
||||
SNeutrinoSettings::FONT_TYPE_FILEBROWSER_ITEM,
|
||||
SNeutrinoSettings::FONT_TYPE_BUTTON_TEXT
|
||||
};
|
||||
size_t other_font_items = sizeof(other_font_sizes)/sizeof(other_font_sizes[0]);
|
||||
|
||||
@@ -223,7 +224,8 @@ font_sizes_struct neutrino_font[SNeutrinoSettings::FONT_TYPE_COUNT] =
|
||||
{LOCALE_FONTSIZE_MOVIEBROWSER_LIST , 20, CNeutrinoFonts::FONT_STYLE_REGULAR, 0}, //NI
|
||||
{LOCALE_FONTSIZE_MOVIEBROWSER_INFO , 16, CNeutrinoFonts::FONT_STYLE_REGULAR, 0}, //NI
|
||||
{LOCALE_FONTSIZE_SUBTITLES , 25, CNeutrinoFonts::FONT_STYLE_BOLD , 0},
|
||||
{LOCALE_FONTSIZE_MESSAGE_TEXT , 20, CNeutrinoFonts::FONT_STYLE_BOLD , 0} //NI
|
||||
{LOCALE_FONTSIZE_MESSAGE_TEXT , 20, CNeutrinoFonts::FONT_STYLE_BOLD , 0}, //NI
|
||||
{LOCALE_FONTSIZE_BUTTON_TEXT , 14, CNeutrinoFonts::FONT_STYLE_REGULAR, 0}
|
||||
};
|
||||
|
||||
int COsdSetup::exec(CMenuTarget* parent, const std::string &actionKey)
|
||||
|
@@ -780,6 +780,7 @@ typedef enum
|
||||
LOCALE_FONTMENU_SCALING_Y,
|
||||
LOCALE_FONTMENU_SCALING_Y_HINT2,
|
||||
LOCALE_FONTMENU_SIZES,
|
||||
LOCALE_FONTSIZE_BUTTON_TEXT,
|
||||
LOCALE_FONTSIZE_CHANNEL_NUM_ZAP,
|
||||
LOCALE_FONTSIZE_CHANNELLIST,
|
||||
LOCALE_FONTSIZE_CHANNELLIST_DESCR,
|
||||
|
@@ -780,6 +780,7 @@ const char * locale_real_names[] =
|
||||
"fontmenu.scaling_y",
|
||||
"fontmenu.scaling_y_hint2",
|
||||
"fontmenu.sizes",
|
||||
"fontsize.button_text",
|
||||
"fontsize.channel_num_zap",
|
||||
"fontsize.channellist",
|
||||
"fontsize.channellist_descr",
|
||||
|
@@ -706,6 +706,7 @@ struct SNeutrinoSettings
|
||||
FONT_TYPE_MOVIEBROWSER_INFO,
|
||||
FONT_TYPE_SUBTITLES,
|
||||
FONT_TYPE_MESSAGE_TEXT,
|
||||
FONT_TYPE_BUTTON_TEXT,
|
||||
FONT_TYPE_COUNT
|
||||
};
|
||||
|
||||
|
@@ -77,7 +77,7 @@ diseq_test_param_t diseqc_test[] = {
|
||||
|
||||
bool CServiceScan::TestDiseqcConfig(int num)
|
||||
{
|
||||
if(num >= OPERATOR_MAX) {
|
||||
if(num >= OPERATOR_MAX || num < 0) {
|
||||
INFO("[fast scan] invalid operator %d", num);
|
||||
return false;
|
||||
}
|
||||
@@ -218,7 +218,7 @@ bool CServiceScan::ScanFast()
|
||||
{
|
||||
fast_scan_type_t * fast_type = (fast_scan_type_t *) scan_arg;
|
||||
fs_operator_t num = fast_type->op;
|
||||
if(num >= OPERATOR_MAX) {
|
||||
if(num >= OPERATOR_MAX || num < 0) {
|
||||
INFO("[fast scan] invalid operator %d", num);
|
||||
return false;
|
||||
}
|
||||
@@ -231,7 +231,7 @@ bool CServiceScan::ScanFast()
|
||||
bool CServiceScan::ScanFast(int num, bool reload)
|
||||
{
|
||||
fast_scan_operator_t *op;
|
||||
if(num >= OPERATOR_MAX) {
|
||||
if(num >= OPERATOR_MAX || num < 0) {
|
||||
INFO("[fast scan] invalid operator %d", num);
|
||||
goto _err;
|
||||
}
|
||||
|
Reference in New Issue
Block a user