From ef1cb498666e2b741b902e5160d6cc83af6fc481 Mon Sep 17 00:00:00 2001 From: Michael Liebmann Date: Fri, 17 May 2013 19:37:16 +0200 Subject: [PATCH] Mute icon: Fix minor bugs - Fix display the mute icon when leaving the audio player - Disable mute icon in channellist when 'Quickzap in list' active or allow - Fix hide the mute icon in movie browser, picture viewer, file browser and upnp browser - Font::RenderString(): Use correct value of y for CFrameBuffer::checkFbArea() Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/5eb7f4aea8a7dfc379d953cf17cc6688fcd09af3 Author: Michael Liebmann Date: 2013-05-17 (Fri, 17 May 2013) Origin message was: ------------------ * Mute icon: Fix minor bugs - Fix display the mute icon when leaving the audio player - Disable mute icon in channellist when 'Quickzap in list' active or allow - Fix hide the mute icon in movie browser, picture viewer, file browser and upnp browser - Font::RenderString(): Use correct value of y for CFrameBuffer::checkFbArea() --- src/driver/fontrenderer.cpp | 4 ++-- src/gui/audiomute.cpp | 8 ++++++++ src/gui/movieplayer.cpp | 2 ++ src/neutrino.cpp | 4 ++++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/driver/fontrenderer.cpp b/src/driver/fontrenderer.cpp index b92accfa7..28e62a17b 100644 --- a/src/driver/fontrenderer.cpp +++ b/src/driver/fontrenderer.cpp @@ -372,7 +372,7 @@ void Font::RenderString(int x, int y, const int width, const char *text, const u if (!frameBuffer->getActive()) return; - frameBuffer->checkFbArea(x, y, width, height, true); + frameBuffer->checkFbArea(x, y-height, width, height, true); pthread_mutex_lock( &renderer->render_mutex ); @@ -622,7 +622,7 @@ void Font::RenderString(int x, int y, const int width, const char *text, const u } //printf("RenderStat: %d %d %d \n", renderer->cacheManager->num_nodes, renderer->cacheManager->num_bytes, renderer->cacheManager->max_bytes); pthread_mutex_unlock( &renderer->render_mutex ); - frameBuffer->checkFbArea(x, y, width, height, false); + frameBuffer->checkFbArea(x, y-height, width, height, false); } void Font::RenderString(int x, int y, const int width, const std::string & text, const unsigned char color, const int boxheight, const bool utf8_encoded) diff --git a/src/gui/audiomute.cpp b/src/gui/audiomute.cpp index 97a383bd2..f5309230e 100644 --- a/src/gui/audiomute.cpp +++ b/src/gui/audiomute.cpp @@ -92,11 +92,18 @@ void CAudioMute::AudioMute(int newValue, bool isEvent) if (doInit) CVolumeHelper::getInstance()->refresh(); } + else if (neutrino->getMode() == CNeutrinoApp::mode_audio) { + if (newValue) + frameBuffer->setFbArea(CFrameBuffer::FB_PAINTAREA_MUTEICON1, x, y, width, height); + else + frameBuffer->setFbArea(CFrameBuffer::FB_PAINTAREA_MUTEICON1); + } } void CAudioMute::enableMuteIcon(bool enable) { CNeutrinoApp *neutrino = CNeutrinoApp::getInstance(); + frameBuffer->fbNoCheck(true); if (enable) { frameBuffer->doPaintMuteIcon(true); do_paint_mute_icon = true; @@ -109,4 +116,5 @@ void CAudioMute::enableMuteIcon(bool enable) frameBuffer->doPaintMuteIcon(false); do_paint_mute_icon = false; } + frameBuffer->fbNoCheck(false); } diff --git a/src/gui/movieplayer.cpp b/src/gui/movieplayer.cpp index b9d04a81c..2a78bc7a4 100644 --- a/src/gui/movieplayer.cpp +++ b/src/gui/movieplayer.cpp @@ -359,6 +359,7 @@ bool CMoviePlayerGui::SelectFile() menu_ret = moviebrowser->getMenuRet(); } else { // filebrowser + CAudioMute::getInstance()->enableMuteIcon(false); if (filebrowser->exec(Path_local.c_str()) == true) { Path_local = filebrowser->getCurrentDir(); CFile *file; @@ -394,6 +395,7 @@ bool CMoviePlayerGui::SelectFile() } } else menu_ret = filebrowser->getMenuRet(); + CAudioMute::getInstance()->enableMuteIcon(true); } if(ret && file_name.empty()) { std::string::size_type pos = full_name.find_last_of('/'); diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 20bfdebd6..acecfe9bc 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -2371,10 +2371,14 @@ _show: //_show: if(msg == CRCInput::RC_ok) { + if (g_settings.channellist_new_zap_mode > 0) /* allow or active */ + g_audioMute->enableMuteIcon(false); if( !bouquetList->Bouquets.empty() && bouquetList->Bouquets[old_b]->channelList->getSize() > 0) nNewChannel = bouquetList->Bouquets[old_b]->channelList->exec();//with ZAP! else nNewChannel = bouquetList->exec(true); + if (g_settings.channellist_new_zap_mode > 0) /* allow or active */ + g_audioMute->enableMuteIcon(true); } else if(msg == CRCInput::RC_sat) { SetChannelMode(LIST_MODE_SAT); nNewChannel = bouquetList->exec(true);