mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-29 08:21:12 +02:00
Fix paint VolumeBar on InfoViewer
This commit is contained in:
@@ -87,16 +87,8 @@ void CVolume::setVolume(const neutrino_msg_t key)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (volscale){
|
hideVolscale();
|
||||||
volscale->hide();
|
showVolscale();
|
||||||
delete volscale;
|
|
||||||
volscale = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (volscale == NULL){
|
|
||||||
volscale = new CVolumeBar();
|
|
||||||
volscale->paint();
|
|
||||||
}
|
|
||||||
|
|
||||||
neutrino_msg_data_t data;
|
neutrino_msg_data_t data;
|
||||||
uint64_t timeoutEnd;
|
uint64_t timeoutEnd;
|
||||||
@@ -111,12 +103,7 @@ void CVolume::setVolume(const neutrino_msg_t key)
|
|||||||
(sub_chan_keybind && (msg == CRCInput::RC_right || msg == CRCInput::RC_left))) {
|
(sub_chan_keybind && (msg == CRCInput::RC_right || msg == CRCInput::RC_left))) {
|
||||||
int dir = (msg == CRCInput::RC_plus || msg == CRCInput::RC_right) ? 1 : -1;
|
int dir = (msg == CRCInput::RC_plus || msg == CRCInput::RC_right) ? 1 : -1;
|
||||||
if (CNeutrinoApp::getInstance()->isMuted() && (dir > 0 || g_settings.current_volume > 0)) {
|
if (CNeutrinoApp::getInstance()->isMuted() && (dir > 0 || g_settings.current_volume > 0)) {
|
||||||
if (volscale){
|
hideVolscale();
|
||||||
if (volscale->isPainted())
|
|
||||||
volscale->hide();
|
|
||||||
delete volscale;
|
|
||||||
volscale = NULL;
|
|
||||||
}
|
|
||||||
CAudioMute::getInstance()->AudioMute(false, true);
|
CAudioMute::getInstance()->AudioMute(false, true);
|
||||||
if (mode == CNeutrinoApp::mode_audio) {
|
if (mode == CNeutrinoApp::mode_audio) {
|
||||||
CAudioPlayerGui *cap = CMediaPlayerMenu::getInstance()->getPlayerInstance();
|
CAudioPlayerGui *cap = CMediaPlayerMenu::getInstance()->getPlayerInstance();
|
||||||
@@ -137,12 +124,7 @@ void CVolume::setVolume(const neutrino_msg_t key)
|
|||||||
v = 0;
|
v = 0;
|
||||||
g_settings.current_volume = 0;
|
g_settings.current_volume = 0;
|
||||||
if (g_settings.show_mute_icon) {
|
if (g_settings.show_mute_icon) {
|
||||||
if (volscale) {
|
hideVolscale();
|
||||||
if (volscale->isPainted())
|
|
||||||
volscale->hide();
|
|
||||||
delete volscale;
|
|
||||||
volscale = NULL;
|
|
||||||
}
|
|
||||||
CAudioMute::getInstance()->AudioMute(true, true);
|
CAudioMute::getInstance()->AudioMute(true, true);
|
||||||
if (mode == CNeutrinoApp::mode_audio) {
|
if (mode == CNeutrinoApp::mode_audio) {
|
||||||
CAudioPlayerGui *cap = CMediaPlayerMenu::getInstance()->getPlayerInstance();
|
CAudioPlayerGui *cap = CMediaPlayerMenu::getInstance()->getPlayerInstance();
|
||||||
@@ -187,12 +169,29 @@ void CVolume::setVolume(const neutrino_msg_t key)
|
|||||||
}
|
}
|
||||||
} while (msg != CRCInput::RC_timeout);
|
} while (msg != CRCInput::RC_timeout);
|
||||||
|
|
||||||
|
hideVolscale();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CVolume::hideVolscale()
|
||||||
|
{
|
||||||
|
bool ret = false;
|
||||||
if (volscale) {
|
if (volscale) {
|
||||||
if (volscale->isPainted())
|
if (volscale->isPainted()) {
|
||||||
volscale->hide();
|
volscale->hide();
|
||||||
|
ret = true;
|
||||||
|
}
|
||||||
delete volscale;
|
delete volscale;
|
||||||
volscale = NULL;
|
volscale = NULL;
|
||||||
}
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CVolume::showVolscale()
|
||||||
|
{
|
||||||
|
if (volscale == NULL){
|
||||||
|
volscale = new CVolumeBar();
|
||||||
|
volscale->paint();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CVolume::changeNotify(const neutrino_locale_t OptionName, void * data)
|
bool CVolume::changeNotify(const neutrino_locale_t OptionName, void * data)
|
||||||
|
@@ -51,6 +51,8 @@ class CVolume : public CChangeObserver
|
|||||||
|
|
||||||
void SetCurrentPid(int pid) { apid = pid; }
|
void SetCurrentPid(int pid) { apid = pid; }
|
||||||
void SetCurrentChannel(t_channel_id id) { channel_id = id; }
|
void SetCurrentChannel(t_channel_id id) { channel_id = id; }
|
||||||
|
bool hideVolscale();
|
||||||
|
void showVolscale();
|
||||||
bool changeNotify(const neutrino_locale_t OptionName, void *);
|
bool changeNotify(const neutrino_locale_t OptionName, void *);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@@ -61,6 +61,7 @@
|
|||||||
|
|
||||||
#include <daemonc/remotecontrol.h>
|
#include <daemonc/remotecontrol.h>
|
||||||
#include <driver/record.h>
|
#include <driver/record.h>
|
||||||
|
#include <driver/volume.h>
|
||||||
|
|
||||||
#include <zapit/satconfig.h>
|
#include <zapit/satconfig.h>
|
||||||
#include <zapit/femanager.h>
|
#include <zapit/femanager.h>
|
||||||
@@ -115,6 +116,7 @@ CInfoViewer::CInfoViewer ()
|
|||||||
infoViewerBB->Init();
|
infoViewerBB->Init();
|
||||||
oldinfo.current_uniqueKey = 0;
|
oldinfo.current_uniqueKey = 0;
|
||||||
oldinfo.next_uniqueKey = 0;
|
oldinfo.next_uniqueKey = 0;
|
||||||
|
isVolscale = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
CInfoViewer::~CInfoViewer()
|
CInfoViewer::~CInfoViewer()
|
||||||
@@ -475,6 +477,14 @@ void CInfoViewer::showMovieTitle(const int playState, const std::string &Channel
|
|||||||
const std::string &g_file_epg, const std::string &g_file_epg1,
|
const std::string &g_file_epg, const std::string &g_file_epg1,
|
||||||
const int duration, const int curr_pos)
|
const int duration, const int curr_pos)
|
||||||
{
|
{
|
||||||
|
if (g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_BOTTOM_LEFT ||
|
||||||
|
g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_BOTTOM_RIGHT ||
|
||||||
|
g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_BOTTOM_CENTER ||
|
||||||
|
g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_HIGHER_CENTER)
|
||||||
|
isVolscale = CVolume::getInstance()->hideVolscale();
|
||||||
|
else
|
||||||
|
isVolscale = false;
|
||||||
|
|
||||||
check_channellogo_ca_SettingsChange();
|
check_channellogo_ca_SettingsChange();
|
||||||
aspectRatio = 0;
|
aspectRatio = 0;
|
||||||
last_curr_id = last_next_id = 0;
|
last_curr_id = last_next_id = 0;
|
||||||
@@ -615,6 +625,14 @@ void CInfoViewer::showTitle(t_channel_id chid, const bool calledFromNumZap, int
|
|||||||
|
|
||||||
void CInfoViewer::showTitle (const int ChanNum, const std::string & Channel, const t_satellite_position satellitePosition, const t_channel_id new_channel_id, const bool calledFromNumZap, int epgpos, char *pname)
|
void CInfoViewer::showTitle (const int ChanNum, const std::string & Channel, const t_satellite_position satellitePosition, const t_channel_id new_channel_id, const bool calledFromNumZap, int epgpos, char *pname)
|
||||||
{
|
{
|
||||||
|
if (g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_BOTTOM_LEFT ||
|
||||||
|
g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_BOTTOM_RIGHT ||
|
||||||
|
g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_BOTTOM_CENTER ||
|
||||||
|
g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_HIGHER_CENTER)
|
||||||
|
isVolscale = CVolume::getInstance()->hideVolscale();
|
||||||
|
else
|
||||||
|
isVolscale = false;
|
||||||
|
|
||||||
check_channellogo_ca_SettingsChange();
|
check_channellogo_ca_SettingsChange();
|
||||||
aspectRatio = 0;
|
aspectRatio = 0;
|
||||||
last_curr_id = last_next_id = 0;
|
last_curr_id = last_next_id = 0;
|
||||||
@@ -822,6 +840,9 @@ void CInfoViewer::loop(bool show_dot)
|
|||||||
neutrino_msg_t msg;
|
neutrino_msg_t msg;
|
||||||
neutrino_msg_data_t data;
|
neutrino_msg_data_t data;
|
||||||
|
|
||||||
|
if (isVolscale)
|
||||||
|
CVolume::getInstance()->showVolscale();
|
||||||
|
|
||||||
while (!(res & (messages_return::cancel_info | messages_return::cancel_all))) {
|
while (!(res & (messages_return::cancel_info | messages_return::cancel_all))) {
|
||||||
g_RCInput->getMsgAbsoluteTimeout (&msg, &data, &timeoutEnd);
|
g_RCInput->getMsgAbsoluteTimeout (&msg, &data, &timeoutEnd);
|
||||||
|
|
||||||
@@ -933,8 +954,10 @@ void CInfoViewer::loop(bool show_dot)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hideIt)
|
if (hideIt) {
|
||||||
|
CVolume::getInstance()->hideVolscale();
|
||||||
killTitle ();
|
killTitle ();
|
||||||
|
}
|
||||||
|
|
||||||
g_RCInput->killTimer (sec_timer_id);
|
g_RCInput->killTimer (sec_timer_id);
|
||||||
fader.Stop();
|
fader.Stop();
|
||||||
|
@@ -151,6 +151,7 @@ class CInfoViewer
|
|||||||
int BoxEndY;
|
int BoxEndY;
|
||||||
int ChanInfoX;
|
int ChanInfoX;
|
||||||
bool showButtonBar;
|
bool showButtonBar;
|
||||||
|
bool isVolscale;
|
||||||
|
|
||||||
CInfoViewer();
|
CInfoViewer();
|
||||||
~CInfoViewer();
|
~CInfoViewer();
|
||||||
|
@@ -52,6 +52,7 @@
|
|||||||
#include <gui/movieplayer.h>
|
#include <gui/movieplayer.h>
|
||||||
#include <system/helpers.h>
|
#include <system/helpers.h>
|
||||||
#include <daemonc/remotecontrol.h>
|
#include <daemonc/remotecontrol.h>
|
||||||
|
#include <driver/volume.h>
|
||||||
|
|
||||||
#include <zapit/femanager.h>
|
#include <zapit/femanager.h>
|
||||||
#include <zapit/zapit.h>
|
#include <zapit/zapit.h>
|
||||||
@@ -351,6 +352,14 @@ void CInfoViewerBB::showBBButtons(const int modus)
|
|||||||
int i;
|
int i;
|
||||||
bool paint = false;
|
bool paint = false;
|
||||||
|
|
||||||
|
if (g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_BOTTOM_LEFT ||
|
||||||
|
g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_BOTTOM_RIGHT ||
|
||||||
|
g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_BOTTOM_CENTER ||
|
||||||
|
g_settings.volume_pos == CVolumeBar::VOLUMEBAR_POS_HIGHER_CENTER)
|
||||||
|
g_InfoViewer->isVolscale = CVolume::getInstance()->hideVolscale();
|
||||||
|
else
|
||||||
|
g_InfoViewer->isVolscale = false;
|
||||||
|
|
||||||
getBBButtonInfo();
|
getBBButtonInfo();
|
||||||
for (i = 0; i < CInfoViewerBB::BUTTON_MAX; i++) {
|
for (i = 0; i < CInfoViewerBB::BUTTON_MAX; i++) {
|
||||||
if (tmp_bbButtonInfoText[i] != bbButtonInfo[i].text) {
|
if (tmp_bbButtonInfoText[i] != bbButtonInfo[i].text) {
|
||||||
@@ -389,6 +398,8 @@ void CInfoViewerBB::showBBButtons(const int modus)
|
|||||||
tmp_bbButtonInfoText[i] = bbButtonInfo[i].text;
|
tmp_bbButtonInfoText[i] = bbButtonInfo[i].text;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (g_InfoViewer->isVolscale)
|
||||||
|
CVolume::getInstance()->showVolscale();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CInfoViewerBB::showBBIcons(const int modus, const std::string & icon)
|
void CInfoViewerBB::showBBIcons(const int modus, const std::string & icon)
|
||||||
|
Reference in New Issue
Block a user