From faa780b9bcd0ac17bb5792c773e0c5db9586de3f Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Wed, 26 Oct 2016 10:24:24 +0200 Subject: [PATCH] Clean up: remove unused files Origin commit data ------------------ Commit: https://github.com/neutrino-images/ni-neutrino/commit/d2038a499e1380834d5d3b15c34394a557bd5064 Author: Thilo Graf Date: 2016-10-26 (Wed, 26 Oct 2016) --- src/gui/widget/hintboxext.cpp | 378 ---------------------------------- src/gui/widget/hintboxext.h | 90 -------- src/gui/widget/messagebox.cpp | 349 ------------------------------- src/gui/widget/messagebox.h | 119 ----------- 4 files changed, 936 deletions(-) delete mode 100644 src/gui/widget/hintboxext.cpp delete mode 100644 src/gui/widget/hintboxext.h delete mode 100644 src/gui/widget/messagebox.cpp delete mode 100644 src/gui/widget/messagebox.h diff --git a/src/gui/widget/hintboxext.cpp b/src/gui/widget/hintboxext.cpp deleted file mode 100644 index ea89a0f1b..000000000 --- a/src/gui/widget/hintboxext.cpp +++ /dev/null @@ -1,378 +0,0 @@ -/* - Neutrino-GUI - DBoxII-Project - - Copyright (C) 2001 Steffen Hehn 'McClean' - Homepage: http://dbox.cyberphoria.org/ - - Kommentar: - - Diese GUI wurde von Grund auf neu programmiert und sollte nun vom - Aufbau und auch den Ausbaumoeglichkeiten gut aussehen. Neutrino basiert - auf der Client-Server Idee, diese GUI ist also von der direkten DBox- - Steuerung getrennt. Diese wird dann von Daemons uebernommen. - - - License: GPL - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include -#include -#include - -#include - -CHintBoxExt::CHintBoxExt(const neutrino_locale_t Caption, const char * const Text, const int Width, const char * const Icon) -{ - m_message = strdup(Text); - - char *begin = strtok(m_message, "\n"); - while (begin != NULL) - { - std::vector oneLine; - std::string s(begin); - DText *d = new DText(s); - oneLine.push_back(d); - m_lines.push_back(oneLine); - begin = strtok(NULL, "\n"); - } - m_bbheight = 0; - init(Caption, "", Width, Icon); -} - -CHintBoxExt::CHintBoxExt(const std::string &CaptionString, const char * const Text, const int Width, const char * const Icon) -{ - m_message = strdup(Text); - - char *begin = strtok(m_message, "\n"); - while (begin != NULL) - { - std::vector oneLine; - std::string s(begin); - DText *d = new DText(s); - oneLine.push_back(d); - m_lines.push_back(oneLine); - begin = strtok(NULL, "\n"); - } - m_bbheight = 0; - init(NONEXISTANT_LOCALE, CaptionString, Width, Icon); -} - -CHintBoxExt::CHintBoxExt(const neutrino_locale_t Caption, ContentLines& lines, const int Width, const char * const Icon) -{ - m_message = NULL; - m_lines = lines; - m_bbheight = 0; - init(Caption, "", Width, Icon); -} - -CHintBoxExt::CHintBoxExt(const std::string &CaptionString, ContentLines& lines, const int Width, const char * const Icon) -{ - m_message = NULL; - m_lines = lines; - m_bbheight = 0; - init(NONEXISTANT_LOCALE, CaptionString, Width, Icon); -} - -CHintBoxExt::~CHintBoxExt(void) -{ - if (m_window != NULL) - { - delete m_window; - m_window = NULL; - } - if (m_message != NULL) { - free(m_message); - - // content has been set using "m_message" so we are responsible to - // delete it - for (ContentLines::iterator it = m_lines.begin(); - it != m_lines.end(); ++it) - { - for (std::vector::iterator it2 = it->begin(); - it2 != it->end(); ++it2) - { - //(*it2)->print(); - delete *it2; - } - } - } -} - -void CHintBoxExt::init(const neutrino_locale_t Caption, const std::string &CaptionString, const int Width, const char * const Icon) -{ - m_width = Width; - int nw = 0; - m_theight = g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->getHeight(); - m_fheight = g_Font[SNeutrinoSettings::FONT_TYPE_MENU]->getHeight(); - m_height = m_theight + m_fheight; - m_maxEntriesPerPage = 0; - int maxLineWidth = 0; - int scrollWidth = 0; - textStartX = 0; - bgPainted = false; - - m_caption = Caption; - m_captionString = CaptionString; - - int page = 0; - int line = 0; - int maxWidth = m_width > 0 ? m_width : 0; - int maxOverallHeight = 0; - int screenheight = CFrameBuffer::getInstance()->getScreenHeight() * 9 / 10 - m_bbheight; - m_startEntryOfPage.clear(); - m_startEntryOfPage.push_back(0); - for (ContentLines::iterator it = m_lines.begin(); it!=m_lines.end(); ++it) - { - bool pagebreak = false; - int maxHeight = 0; - int lineWidth = 0; - for (std::vector::iterator item = it->begin(); - item != it->end(); ++item) { - if ((*item)->getHeight() > maxHeight) - maxHeight = (*item)->getHeight(); - lineWidth += (*item)->getWidth(); - if ((*item)->getType() == Drawable::DTYPE_PAGEBREAK) - pagebreak = true; - } - maxLineWidth = std::max(maxLineWidth, lineWidth); - if (lineWidth > maxWidth) - maxWidth = lineWidth; - m_height += maxHeight; - if (m_height > screenheight || pagebreak) { - if (m_height-maxHeight > maxOverallHeight) - maxOverallHeight = m_height - maxHeight; - m_height = m_theight + m_fheight + maxHeight; - if (pagebreak) - m_startEntryOfPage.push_back(line+1); - else - m_startEntryOfPage.push_back(line); - page++; - if (m_maxEntriesPerPage < (m_startEntryOfPage[page] - m_startEntryOfPage[page-1])) - { - m_maxEntriesPerPage = m_startEntryOfPage[page] - m_startEntryOfPage[page-1]; - } - } - else { - if (m_height > maxOverallHeight) - maxOverallHeight = m_height; - m_maxEntriesPerPage = maxOverallHeight / m_fheight; - } - line++; - } - - // if there is only one page m_height is already correct - // but m_maxEntries has not been set - if (m_startEntryOfPage.size() > 1) - { - m_height = maxOverallHeight; - } else { - m_maxEntriesPerPage = line; - } - - m_startEntryOfPage.push_back(line+1); // needed to calculate amount of items on last page - -// for (std::vector::iterator it=m_startEntryOfPage.begin(); -// it!=m_startEntryOfPage.end();it++) -// printf("startentryofpage: %d\n",*it); -// printf("pages: %d, startEntryVec: %d\n",page+1,m_startEntryOfPage.size()-1); -// printf("maxEntries: %d\n", m_maxEntriesPerPage); - - m_width = w_max(maxWidth,OFFSET_SHADOW); - m_currentPage = 0; - m_pages = page + 1; - unsigned int additional_width; - - if (has_scrollbar()) - scrollWidth = 15; - else - scrollWidth = 0; - additional_width = 30 + scrollWidth; - m_width += additional_width; - - if (Icon != NULL) - { - m_iconfile = Icon; - additional_width += 30; - } - else - m_iconfile = ""; - - const char *l_caption = (m_caption == NONEXISTANT_LOCALE) ? m_captionString.c_str() : g_Locale->getText(m_caption); - nw = additional_width + g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->getRenderWidth(l_caption); - - if (nw > m_width) - m_width = nw; - - /* if the output does not fit, make sure we at least - * stay inside the screen... */ - m_width = w_max(m_width ,OFFSET_SHADOW); - if (maxLineWidth + scrollWidth > m_width) - maxLineWidth = m_width - scrollWidth; - - textStartX = (m_width - scrollWidth - maxLineWidth) / 2; - - m_window = NULL; -} - -void CHintBoxExt::paint(bool toround) -{ - if (m_window != NULL) - { - /* - * do not paint stuff twice: - * => thread safety needed by movieplayer.cpp: - * one thread calls our paint method, the other one our hide method - * => no memory leaks - */ - return; - } - - bgPainted = false; - m_window = new CFBWindow(getScreenStartX(m_width + OFFSET_SHADOW), - getScreenStartY(m_height + OFFSET_SHADOW), - m_width + OFFSET_SHADOW, - m_height + OFFSET_SHADOW); - - refresh(toround); -} - -void CHintBoxExt::refresh(bool toround) -{ - if (m_window == NULL) - { - return; - } - - if (!bgPainted) { - // bottom, right shadow - m_window->paintBoxRel(OFFSET_SHADOW, OFFSET_SHADOW, m_width, m_height, COL_SHADOW_PLUS_0, RADIUS_LARGE, toround ? CORNER_ALL : CORNER_BOTTOM | CORNER_TOP_RIGHT); - bgPainted = true; - } - - std::string title_text = (m_caption == NONEXISTANT_LOCALE) ? m_captionString : g_Locale->getText(m_caption); - CComponentsHeader header(m_window->x, m_window->y, m_width, m_theight, title_text, m_iconfile); - header.paint(CC_SAVE_SCREEN_NO); -#if 0 - // title bar - m_window->paintBoxRel(0, 0, m_width, m_theight, (CFBWindow::color_t)COL_MENUHEAD_PLUS_0, RADIUS_LARGE, CORNER_TOP);//round - - // icon - int x_offset = 6, icon_space = x_offset, x_text; - const char *title_text = (m_caption == NONEXISTANT_LOCALE) ? m_captionString.c_str() : g_Locale->getText(m_caption); - - if (!m_iconfile.empty()) - { - int w, h; - CFrameBuffer::getInstance()->getIconSize(m_iconfile.c_str(), &w, &h); - icon_space = w + 2*x_offset; - int y_icon = 0+ (m_theight >> 1) - (h >> 1); - m_window->paintIcon(m_iconfile.c_str(), x_offset, y_icon); - x_text = icon_space; - } - else - x_text = x_offset; - - // title text - m_window->RenderString(g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE], x_text, m_theight, m_width, title_text, COL_MENUHEAD_TEXT); -#endif - // background of text panel - m_window->paintBoxRel(0, m_theight, m_width, (m_maxEntriesPerPage + 1) * m_fheight, (CFBWindow::color_t)COL_MENUCONTENT_PLUS_0, toround ? RADIUS_LARGE : 0, CORNER_BOTTOM);//round - - int yPos = m_theight + (m_fheight >> 1); - -// for(std::vector::iterator it = m_startEntryOfPage.begin(); -// it != m_startEntryOfPage.end();it++) { -// printf(" %d",*it); -// } -// printf("\n current page: %d lines %d ",m_currentPage, m_lines.size()); -// printf("start %d bis %d\n",m_startEntryOfPage[m_currentPage],m_startEntryOfPage[m_currentPage+1]-1); - -#if 0 - for (ContentLines::iterator it = m_lines.begin() + m_startEntryOfPage[m_currentPage]; - it != m_lines.begin() + m_startEntryOfPage[m_currentPage+1] - && it != m_lines.end(); ++it) -#endif - for (int count = 0; count < (int) m_lines.size(); count++) - { - if ((count >= m_startEntryOfPage[m_currentPage]) && - (count < m_startEntryOfPage[m_currentPage+1])) - { - int xPos = textStartX; - int maxHeight = 0; - for (std::vector::iterator d = m_lines[count].begin(); d != m_lines[count].end(); ++d) - { - // (*d)->print(); - // printf("\n"); - //(*d)->draw(m_window,xPos,yPos,m_width); - (*d)->draw(m_window,xPos,yPos,m_width-20); - xPos += (*d)->getWidth() + 20; - if ((*d)->getHeight() > maxHeight) - maxHeight = (*d)->getHeight(); - } - yPos += maxHeight; - } - } - - if (has_scrollbar()) - { -// yPos = m_theight + (m_fheight >> 1); - yPos = m_theight; - m_window->paintBoxRel(m_width - 15, yPos, 15, m_maxEntriesPerPage * m_fheight, COL_SCROLLBAR_PASSIVE_PLUS_0); - unsigned int marker_size = (m_maxEntriesPerPage * m_fheight) / m_pages; - m_window->paintBoxRel(m_width - 13, yPos + m_currentPage * marker_size, 11, marker_size, COL_SCROLLBAR_ACTIVE_PLUS_0); - } -} - -bool CHintBoxExt::has_scrollbar(void) -{ - return (m_startEntryOfPage.size() > 2); -} - -void CHintBoxExt::scroll_up(void) -{ - if (m_currentPage > 0) - { - m_currentPage--; - refresh(); - } -} - -void CHintBoxExt::scroll_down(void) -{ - if (m_currentPage +1 < m_startEntryOfPage.size()-1) - { - m_currentPage++; - refresh(); - } -} - -void CHintBoxExt::hide(void) -{ - if (m_window != NULL) - { - delete m_window; - m_window = NULL; - } -} diff --git a/src/gui/widget/hintboxext.h b/src/gui/widget/hintboxext.h deleted file mode 100644 index 445c2aaeb..000000000 --- a/src/gui/widget/hintboxext.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - Neutrino-GUI - DBoxII-Project - - Copyright (C) 2001 Steffen Hehn 'McClean' - Homepage: http://dbox.cyberphoria.org/ - - Kommentar: - - Diese GUI wurde von Grund auf neu programmiert und sollte nun vom - Aufbau und auch den Ausbaumoeglichkeiten gut aussehen. Neutrino basiert - auf der Client-Server Idee, diese GUI ist also von der direkten DBox- - Steuerung getrennt. Diese wird dann von Daemons uebernommen. - - - License: GPL - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - - -#ifndef __hintboxext__ -#define __hintboxext__ - -#include -#include - -#include -#include - -#include -#include - -class CHintBoxExt -{ - protected: - - CFBWindow * m_window; - - unsigned int m_currentPage; - std::vector m_startEntryOfPage; - int m_maxEntriesPerPage; - int m_pages; - - int m_width; - int m_height; - int m_bbheight; /* a button bar at the bottom? */ - int textStartX; - - int m_fheight; - int m_theight; - neutrino_locale_t m_caption; - std::string m_captionString; - char * m_message; - ContentLines m_lines; - std::string m_iconfile; - bool bgPainted; - - void refresh(bool toround = 1); - - public: - CHintBoxExt(const neutrino_locale_t Caption, const char * const Text, const int Width, const char * const Icon); - CHintBoxExt(const neutrino_locale_t Caption, ContentLines& lines, const int Width = 450, const char * const Icon = NEUTRINO_ICON_INFO); - CHintBoxExt(const std::string &Caption, const char * const Text, const int Width, const char * const Icon); - CHintBoxExt(const std::string &Caption, ContentLines& lines, const int Width = 450, const char * const Icon = NEUTRINO_ICON_INFO); - - ~CHintBoxExt(void); - - void init(const neutrino_locale_t Caption, const std::string &CaptionString, const int Width, const char * const Icon); - - bool has_scrollbar(void); - void scroll_up(void); - void scroll_down(void); - - void paint(bool toround = 1); - void hide(void); -}; - -#endif diff --git a/src/gui/widget/messagebox.cpp b/src/gui/widget/messagebox.cpp deleted file mode 100644 index ea416384c..000000000 --- a/src/gui/widget/messagebox.cpp +++ /dev/null @@ -1,349 +0,0 @@ -/* - Neutrino-GUI - DBoxII-Project - - Copyright (C) 2001 Steffen Hehn 'McClean' - Homepage: http://dbox.cyberphoria.org/ - - Kommentar: - - Diese GUI wurde von Grund auf neu programmiert und sollte nun vom - Aufbau und auch den Ausbaumoeglichkeiten gut aussehen. Neutrino basiert - auf der Client-Server Idee, diese GUI ist also von der direkten DBox- - Steuerung getrennt. Diese wird dann von Daemons uebernommen. - - - License: GPL - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include - -#include -#include -#include -#include - -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) -{ - 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); -} - -CMessageBox::CMessageBox(const std::string &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) -{ - Init(Default, ShowButtons); -} - -CMessageBox::CMessageBox(const std::string &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_MENU_FOOT]->getHeight(); - b_height = std::max(fh, ih) + 8 + (RADIUS_MID / 2); - m_bbheight = b_height + fh/2 + ButtonSpacing + OFFSET_SHADOW; - 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; - - 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++; - } - - ButtonDistance = ButtonSpacing; - bb_width = b_width * ButtonCount + ButtonDistance * (ButtonCount - 1); - if(bb_width > m_width) - m_width = bb_width; /* FIXME: what if bigger than screen area? */ - else - if (mbBtnAlign == CMessageBox::mbBtnAlignCenter1) - ButtonDistance = (m_width - b_width * ButtonCount) / (ButtonCount + 1); - - /* this is ugly: re-init (CHintBoxExt) to recalculate the number of lines and pages */ - init(m_caption, m_captionString, m_width, m_iconfile.empty() ? NULL : m_iconfile.c_str()); - m_height += m_bbheight; -} - -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_MENU_FOOT]->getRenderWidth(g_Locale->getText(localeMsg[i])), MaxButtonTextWidth); - return MaxButtonTextWidth + i_maxw + 36 + (RADIUS_LARGE / 2); -} - -void CMessageBox::paintButtons() -{ - fb_pixel_t color; - fb_pixel_t bgcolor; - int iw, ih, i; - - 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; - - int ypos = (m_height - m_bbheight) + fh/2; - - m_window->paintBoxRel(0, m_height - m_bbheight, m_width, m_bbheight, COL_MENUCONTENT_PLUS_0, RADIUS_LARGE, CORNER_BOTTOM); - - i = 0; - if (showbuttons & mbYes) { - Buttons[i].def = (result == mbrYes) ? true : false; - i++; - } - if (showbuttons & mbNo) { - Buttons[i].def = (result == mbrNo) ? true : false; - i++; - } - if (showbuttons & (mbCancel | mbBack | mbOk)) - Buttons[i].def = (result >= mbrCancel) ? true : false; - - for (i = 0; i < ButtonCount; i++) { - if (Buttons[i].def) { - color = COL_MENUCONTENTSELECTED_TEXT; - bgcolor = COL_MENUCONTENTSELECTED_PLUS_0; - } else { - color = COL_MENUCONTENTINACTIVE_TEXT; - bgcolor = COL_MENUCONTENTINACTIVE_PLUS_0; - } - CFrameBuffer::getInstance()->getIconSize(Buttons[i].icon, &iw, &ih); - m_window->paintBoxRel(xpos + OFFSET_SHADOW, ypos + OFFSET_SHADOW, b_width, b_height, COL_SHADOW_PLUS_0, RADIUS_MID); - m_window->paintBoxRel(xpos, ypos, b_width, b_height, (CFBWindow::color_t)bgcolor, RADIUS_MID); - m_window->paintBoxFrame(xpos, ypos, b_width, b_height, 1, COL_SHADOW_PLUS_0, RADIUS_MID); - 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_MENU_FOOT], xpos + iw + 17, ypos + fh + ((b_height - fh) / 2), - b_width - (iw + 21), Buttons[i].text, (CFBWindow::color_t)color); - xpos += b_width + ButtonDistance; - } -} - -int CMessageBox::exec(int timeout) -{ - neutrino_msg_t msg; - neutrino_msg_data_t data; - - int res = menu_return::RETURN_REPAINT; - - CHintBoxExt::paint(0); - - if (m_window == NULL) - { - return res; /* out of memory */ - } - - paintButtons(); - - if ( timeout == -1 ) - timeout = g_settings.timing[SNeutrinoSettings::TIMING_EPG]; - - uint64_t timeoutEnd = CRCInput::calcTimeoutEnd( timeout ); - - bool loop=true; - while (loop) - { - g_RCInput->getMsgAbsoluteTimeout( &msg, &data, &timeoutEnd ); - if (msg == CRCInput::RC_timeout && returnDefaultOnTimeout) - { - // return default - loop = false; - } - else if (((msg == CRCInput::RC_timeout) || - (msg == (neutrino_msg_t)g_settings.key_channelList_cancel)) && - (showbuttons & (mbCancel | mbBack | mbOk))) - { - result = (showbuttons & mbCancel) ? mbrCancel : (showbuttons & mbOk) ? mbrOk: mbrBack; - loop = false; - } - else if ((msg == CRCInput::RC_green) && (showbuttons & mbNo)) - { - result = mbrNo; - loop = false; - } - else if ((msg == CRCInput::RC_red) && (showbuttons & mbYes)) - { - result = mbrYes; - loop = false; - } - else if(msg==CRCInput::RC_right && ButtonCount > 1) - { - bool ok = false; - while (!ok) - { - result = (CMessageBox::result_)((result + 1) & 3); - ok = showbuttons & (1 << result); - } - - paintButtons(); - } - else if (has_scrollbar() && ((msg == CRCInput::RC_up) || (msg == CRCInput::RC_down))) - { - if (msg == CRCInput::RC_up) - { - scroll_up(); - paintButtons(); - } - else - { - scroll_down(); - paintButtons(); - } - } - else if(msg==CRCInput::RC_left && ButtonCount > 1) - { - bool ok = false; - while (!ok) - { - result = (CMessageBox::result_)((result - 1) & 3); - ok = showbuttons & (1 << result); - } - - paintButtons(); - - } - else if(msg == CRCInput::RC_ok) - { - loop = false; - } - else if (CNeutrinoApp::getInstance()->listModeKey(msg) || (msg == CRCInput::RC_spkr)) - { - // do nothing - } - else if (CNeutrinoApp::getInstance()->handleMsg(msg, data) & messages_return::cancel_all) - { - res = menu_return::RETURN_EXIT_ALL; - loop = false; - } - - } - - hide(); - - return res; -} - -int ShowMsg(const neutrino_locale_t Caption, const char * const Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) -{ - std::string tmpText = "msg error"; - if(Text) - tmpText = Text; - CMessageBox* messageBox = new CMessageBox(Caption, tmpText.c_str(), Width, Icon, Default, ShowButtons); - messageBox->returnDefaultValueOnTimeout(returnDefaultOnTimeout); - messageBox->exec(timeout); - int res = messageBox->result; - delete messageBox; - - return res; -} - -int ShowMsg(const std::string &Caption, const char * const Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) -{ - std::string tmpText = "msg error"; - if(Text) - tmpText = Text; - CMessageBox* messageBox = new CMessageBox(Caption, tmpText.c_str(), Width, Icon, Default, ShowButtons); - messageBox->returnDefaultValueOnTimeout(returnDefaultOnTimeout); - messageBox->exec(timeout); - int res = messageBox->result; - delete messageBox; - - return res; -} - -int ShowMsg(const neutrino_locale_t Caption, const neutrino_locale_t Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) -{ - return ShowMsg(Caption, g_Locale->getText(Text), Default, ShowButtons, Icon, Width, timeout, returnDefaultOnTimeout); -} - -int ShowMsg(const std::string &Caption, const neutrino_locale_t Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) -{ - return ShowMsg(Caption, g_Locale->getText(Text), Default, ShowButtons, Icon, Width, timeout, returnDefaultOnTimeout); -} - -int ShowMsg(const neutrino_locale_t Caption, const std::string & Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) -{ - return ShowMsg(Caption, Text.c_str(), Default, ShowButtons, Icon, Width, timeout,returnDefaultOnTimeout); -} - -int ShowMsg(const std::string &Caption, const std::string & Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon, const int Width, const int timeout, bool returnDefaultOnTimeout) -{ - return ShowMsg(Caption, Text.c_str(), Default, ShowButtons, Icon, Width, timeout,returnDefaultOnTimeout); -} - -// void DisplayErrorMessage(const char * const ErrorMsg) -// { -// ShowMsg(LOCALE_MESSAGEBOX_ERROR, ErrorMsg, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); -// } -// -// void DisplayInfoMessage(const char * const ErrorMsg) -// { -// ShowMsg(LOCALE_MESSAGEBOX_INFO, ErrorMsg, CMessageBox::mbrBack, CMessageBox::mbBack, NEUTRINO_ICON_INFO); -// } diff --git a/src/gui/widget/messagebox.h b/src/gui/widget/messagebox.h deleted file mode 100644 index 8604efe76..000000000 --- a/src/gui/widget/messagebox.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - Neutrino-GUI - DBoxII-Project - - Copyright (C) 2001 Steffen Hehn 'McClean' - Homepage: http://dbox.cyberphoria.org/ - - Kommentar: - - Diese GUI wurde von Grund auf neu programmiert und sollte nun vom - Aufbau und auch den Ausbaumoeglichkeiten gut aussehen. Neutrino basiert - auf der Client-Server Idee, diese GUI ist also von der direkten DBox- - Steuerung getrennt. Diese wird dann von Daemons uebernommen. - - - License: GPL - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - - -#ifndef __messagebox__ -#define __messagebox__ - -#include - -#include -#include - -#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_width; - int ButtonCount; - - void paintButtons(); - int getButtonWidth(); - - public: - enum result_ - { - mbrYes = 0, - mbrNo = 1, - mbrCancel = 2, - mbrBack = 3, - mbrOk = 4 - } result; - - enum buttons_ - { - 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 - CMessageBox(const neutrino_locale_t Caption, const char * const Text, const int Width = 500, const char * const Icon = NULL, const CMessageBox::result_ &Default = mbrYes, const uint32_t ShowButtons = mbAll); - CMessageBox(const std::string &Caption, const char * const Text, const int Width = 500, const char * const Icon = NULL, const CMessageBox::result_ &Default = mbrYes, const uint32_t ShowButtons = mbAll); - CMessageBox(const neutrino_locale_t Caption, ContentLines& Lines, const int Width = 500, const char * const Icon = NULL, const CMessageBox::result_ &Default = mbrYes, const uint32_t ShowButtons = mbAll); - CMessageBox(const std::string &Caption, ContentLines& Lines, const int Width = 500, const char * const Icon = NULL, const CMessageBox::result_ &Default = mbrYes, const uint32_t ShowButtons = mbAll); - - 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 -int ShowMsg(const neutrino_locale_t Caption, const char * const Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); // UTF-8 -int ShowMsg(const neutrino_locale_t Caption, const std::string & Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); // UTF-8 -int ShowMsg(const neutrino_locale_t Caption, const neutrino_locale_t Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); // UTF-8 -int ShowMsg(const std::string &Caption, const char * const Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); // UTF-8 -int ShowMsg(const std::string &Caption, const std::string & Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); // UTF-8 -int ShowMsg(const std::string &Caption, const neutrino_locale_t Text, const CMessageBox::result_ &Default, const uint32_t ShowButtons, const char * const Icon = NULL, const int Width = 450, const int timeout = -1, bool returnDefaultOnTimeout = false); // UTF-8 - -#if 0 -void DisplayErrorMessage(const char * const ErrorMsg); // UTF-8 -void DisplayErrorMessage(const char * const ErrorMsg, const neutrino_locale_t Caption); // UTF-8 -void DisplayErrorMessage(const char * const ErrorMsg, const std::string &Caption); // UTF-8 -void DisplayInfoMessage(const char * const InfoMsg); // UTF-8 -void DisplayInfoMessage(const char * const InfoMsg, const neutrino_locale_t Caption); // UTF-8 -void DisplayInfoMessage(const char * const InfoMsg, const std::string &Caption); // UTF-8 -#endif - -#endif