aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjmarshallnz <jmarshallnz@svn>2009-09-24 00:52:05 +0000
committerjmarshallnz <jmarshallnz@svn>2009-09-24 00:52:05 +0000
commit7d4c7b70bff223fdd55aa9713466071735039576 (patch)
tree72cb54c70b1c8e40b6b8f8133fa3bd330de3eded
parentf9da8299ee8c7fa5310616249040d48f8dd0e94e (diff)
cleanup: GUIInfoColor.cpp/h -> GUIInfoTypes.cpp/h, and moved GUIInfoLabel in there. Will need OSX project loving.
git-svn-id: https://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk@23126 568bbfeb-2a22-0410-94d2-cc84cf5bfa90
-rw-r--r--guilib/GUIBaseContainer.cpp1
-rw-r--r--guilib/GUIButtonControl.h3
-rw-r--r--guilib/GUIControl.h2
-rw-r--r--guilib/GUIFadeLabelControl.h3
-rw-r--r--guilib/GUIImage.h1
-rw-r--r--guilib/GUIInfoColor.cpp107
-rw-r--r--guilib/GUIInfoTypes.cpp276
-rw-r--r--guilib/GUIInfoTypes.h (renamed from guilib/GUIInfoColor.h)37
-rw-r--r--guilib/GUILabelControl.cpp173
-rw-r--r--guilib/GUILabelControl.h33
-rw-r--r--guilib/GUIListLabel.h2
-rw-r--r--guilib/GUIMultiSelectText.h1
-rw-r--r--guilib/GUITextBox.h2
-rw-r--r--guilib/Makefile2
-rw-r--r--project/VS2008Express/guilib.vcproj12
-rw-r--r--xbmc/Application.cpp4
-rw-r--r--xbmc/utils/GUIInfoManager.cpp3
17 files changed, 325 insertions, 337 deletions
diff --git a/guilib/GUIBaseContainer.cpp b/guilib/GUIBaseContainer.cpp
index f43c88f9ad..93e5f6ec4b 100644
--- a/guilib/GUIBaseContainer.cpp
+++ b/guilib/GUIBaseContainer.cpp
@@ -25,7 +25,6 @@
#include "utils/GUIInfoManager.h"
#include "utils/TimeUtils.h"
#include "utils/log.h"
-#include "GUILabelControl.h"
#include "XMLUtils.h"
#include "SkinInfo.h"
#include "StringUtils.h"
diff --git a/guilib/GUIButtonControl.h b/guilib/GUIButtonControl.h
index 915b6cf0b7..78843ae593 100644
--- a/guilib/GUIButtonControl.h
+++ b/guilib/GUIButtonControl.h
@@ -30,7 +30,8 @@
*/
#include "GUITexture.h"
-#include "GUILabelControl.h" // for CInfoPortion
+#include "GUITextLayout.h"
+#include "GUIControl.h"
/*!
\ingroup controls
diff --git a/guilib/GUIControl.h b/guilib/GUIControl.h
index 9a3f216777..5846ff724b 100644
--- a/guilib/GUIControl.h
+++ b/guilib/GUIControl.h
@@ -32,7 +32,7 @@
#include "GUIMessage.h" // needed by practically all controls
#include "GUIFont.h" // needed for the CAngle member (CLabelInfo) among other stuff
#include "VisibleEffect.h" // needed for the CAnimation members
-#include "GUIInfoColor.h" // needed for CGuiInfoColor to handle infolabel'ed colors
+#include "GUIInfoTypes.h" // needed for CGuiInfoColor to handle infolabel'ed colors
#include "GUIActionDescriptor.h"
class CGUIListItem; // forward
diff --git a/guilib/GUIFadeLabelControl.h b/guilib/GUIFadeLabelControl.h
index b3b6407554..298bdda84e 100644
--- a/guilib/GUIFadeLabelControl.h
+++ b/guilib/GUIFadeLabelControl.h
@@ -30,8 +30,7 @@
*/
#include "GUIControl.h"
-
-#include "GUILabelControl.h" // for CInfoPortion
+#include "GUITextLayout.h"
/*!
\ingroup controls
diff --git a/guilib/GUIImage.h b/guilib/GUIImage.h
index cc9651c9e2..26ea9f1c78 100644
--- a/guilib/GUIImage.h
+++ b/guilib/GUIImage.h
@@ -31,7 +31,6 @@
#include "GUIControl.h"
#include "GUITexture.h"
-#include "GUILabelControl.h" // for CGUIInfoLabel
/*!
\ingroup controls
diff --git a/guilib/GUIInfoColor.cpp b/guilib/GUIInfoColor.cpp
deleted file mode 100644
index 42450f54dd..0000000000
--- a/guilib/GUIInfoColor.cpp
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2005-2008 Team XBMC
- * http://www.xbmc.org
- *
- * 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, 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 XBMC; see the file COPYING. If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- */
-
-#include "GUIInfoColor.h"
-#include "utils/CharsetConverter.h"
-#include "utils/GUIInfoManager.h"
-#include "LocalizeStrings.h"
-#include "GUIColorManager.h"
-
-using namespace std;
-
-CGUIInfoBool::CGUIInfoBool(bool value)
-{
- m_info = 0;
- m_value = value;
-}
-
-void CGUIInfoBool::Parse(const CStdString &info)
-{
- m_info = g_infoManager.TranslateString(info);
- if (m_info == SYSTEM_ALWAYS_TRUE)
- {
- m_value = true;
- m_info = 0;
- }
- else if (m_info == SYSTEM_ALWAYS_FALSE)
- {
- m_value = false;
- m_info = 0;
- }
- else
- m_info = g_infoManager.GetBool(m_info);
-}
-
-void CGUIInfoBool::Update(int parentID, const CGUIListItem *item)
-{
- if (m_info)
- m_value = g_infoManager.GetBool(m_info, parentID, item);
-}
-
-
-CGUIInfoColor::CGUIInfoColor(uint32_t color)
-{
- m_color = color;
- m_info = 0;
-}
-
-const CGUIInfoColor &CGUIInfoColor::operator=(color_t color)
-{
- m_color = color;
- m_info = 0;
- return *this;
-}
-
-const CGUIInfoColor &CGUIInfoColor::operator=(const CGUIInfoColor &color)
-{
- m_color = color.m_color;
- m_info = color.m_info;
- return *this;
-}
-
-void CGUIInfoColor::Update()
-{
- if (!m_info)
- return; // no infolabel
-
- // Expand the infolabel, and then convert it to a color
- CStdString infoLabel(g_infoManager.GetLabel(m_info));
- if (!infoLabel.IsEmpty())
- m_color = g_colorManager.GetColor(infoLabel.c_str());
- else
- m_color = 0;
-}
-
-void CGUIInfoColor::Parse(const CStdString &label)
-{
- // Check for the standard $INFO[] block layout, and strip it if present
- CStdString label2 = label;
- if (label.Equals("-", false))
- return;
-
- if (label.Left(5).Equals("$INFO", false))
- label2 = label.Mid(6, label.length()-7);
-
- m_info = g_infoManager.TranslateString(label2);
- if (!m_info)
- m_color = g_colorManager.GetColor(label);
-}
-
diff --git a/guilib/GUIInfoTypes.cpp b/guilib/GUIInfoTypes.cpp
new file mode 100644
index 0000000000..28fcf2e7e8
--- /dev/null
+++ b/guilib/GUIInfoTypes.cpp
@@ -0,0 +1,276 @@
+/*
+ * Copyright (C) 2005-2008 Team XBMC
+ * http://www.xbmc.org
+ *
+ * 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, 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 XBMC; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+#include "GUIInfoTypes.h"
+#include "utils/CharsetConverter.h"
+#include "utils/GUIInfoManager.h"
+#include "utils/log.h"
+#include "LocalizeStrings.h"
+#include "GUIColorManager.h"
+#include "GUIListItem.h"
+#include "StringUtils.h"
+
+using namespace std;
+
+CGUIInfoBool::CGUIInfoBool(bool value)
+{
+ m_info = 0;
+ m_value = value;
+}
+
+void CGUIInfoBool::Parse(const CStdString &info)
+{
+ m_info = g_infoManager.TranslateString(info);
+ if (m_info == SYSTEM_ALWAYS_TRUE)
+ {
+ m_value = true;
+ m_info = 0;
+ }
+ else if (m_info == SYSTEM_ALWAYS_FALSE)
+ {
+ m_value = false;
+ m_info = 0;
+ }
+ else
+ m_info = g_infoManager.GetBool(m_info);
+}
+
+void CGUIInfoBool::Update(int parentID, const CGUIListItem *item)
+{
+ if (m_info)
+ m_value = g_infoManager.GetBool(m_info, parentID, item);
+}
+
+
+CGUIInfoColor::CGUIInfoColor(uint32_t color)
+{
+ m_color = color;
+ m_info = 0;
+}
+
+const CGUIInfoColor &CGUIInfoColor::operator=(color_t color)
+{
+ m_color = color;
+ m_info = 0;
+ return *this;
+}
+
+const CGUIInfoColor &CGUIInfoColor::operator=(const CGUIInfoColor &color)
+{
+ m_color = color.m_color;
+ m_info = color.m_info;
+ return *this;
+}
+
+void CGUIInfoColor::Update()
+{
+ if (!m_info)
+ return; // no infolabel
+
+ // Expand the infolabel, and then convert it to a color
+ CStdString infoLabel(g_infoManager.GetLabel(m_info));
+ if (!infoLabel.IsEmpty())
+ m_color = g_colorManager.GetColor(infoLabel.c_str());
+ else
+ m_color = 0;
+}
+
+void CGUIInfoColor::Parse(const CStdString &label)
+{
+ // Check for the standard $INFO[] block layout, and strip it if present
+ CStdString label2 = label;
+ if (label.Equals("-", false))
+ return;
+
+ if (label.Left(5).Equals("$INFO", false))
+ label2 = label.Mid(6, label.length()-7);
+
+ m_info = g_infoManager.TranslateString(label2);
+ if (!m_info)
+ m_color = g_colorManager.GetColor(label);
+}
+
+CGUIInfoLabel::CGUIInfoLabel()
+{
+}
+
+CGUIInfoLabel::CGUIInfoLabel(const CStdString &label, const CStdString &fallback)
+{
+ SetLabel(label, fallback);
+}
+
+void CGUIInfoLabel::SetLabel(const CStdString &label, const CStdString &fallback)
+{
+ m_fallback = fallback;
+ Parse(label);
+}
+
+CStdString CGUIInfoLabel::GetLabel(int contextWindow, bool preferImage) const
+{
+ CStdString label;
+ for (unsigned int i = 0; i < m_info.size(); i++)
+ {
+ const CInfoPortion &portion = m_info[i];
+ if (portion.m_info)
+ {
+ CStdString infoLabel;
+ if (preferImage)
+ infoLabel = g_infoManager.GetImage(portion.m_info, contextWindow);
+ if (infoLabel.IsEmpty())
+ infoLabel = g_infoManager.GetLabel(portion.m_info, contextWindow);
+ if (!infoLabel.IsEmpty())
+ {
+ label += portion.m_prefix;
+ label += infoLabel;
+ label += portion.m_postfix;
+ }
+ }
+ else
+ { // no info, so just append the prefix
+ label += portion.m_prefix;
+ }
+ }
+ if (label.IsEmpty()) // empty label, use the fallback
+ return m_fallback;
+ return label;
+}
+
+CStdString CGUIInfoLabel::GetItemLabel(const CGUIListItem *item, bool preferImages) const
+{
+ if (!item->IsFileItem()) return "";
+ CStdString label;
+ for (unsigned int i = 0; i < m_info.size(); i++)
+ {
+ const CInfoPortion &portion = m_info[i];
+ if (portion.m_info)
+ {
+ CStdString infoLabel;
+ if (preferImages)
+ infoLabel = g_infoManager.GetItemImage((const CFileItem *)item, portion.m_info);
+ else
+ infoLabel = g_infoManager.GetItemLabel((const CFileItem *)item, portion.m_info);
+ if (!infoLabel.IsEmpty())
+ {
+ label += portion.m_prefix;
+ label += infoLabel;
+ label += portion.m_postfix;
+ }
+ }
+ else
+ { // no info, so just append the prefix
+ label += portion.m_prefix;
+ }
+ }
+ if (label.IsEmpty())
+ return m_fallback;
+ return label;
+}
+
+bool CGUIInfoLabel::IsEmpty() const
+{
+ return m_info.size() == 0;
+}
+
+bool CGUIInfoLabel::IsConstant() const
+{
+ return m_info.size() == 0 || (m_info.size() == 1 && m_info[0].m_info == 0);
+}
+
+void CGUIInfoLabel::Parse(const CStdString &label)
+{
+ m_info.clear();
+ CStdString work(label);
+ // Step 1: Replace all $LOCALIZE[number] with the real string
+ int pos1 = work.Find("$LOCALIZE[");
+ while (pos1 >= 0)
+ {
+ int pos2 = StringUtils::FindEndBracket(work, '[', ']', pos1 + 10);
+ if (pos2 > pos1)
+ {
+ CStdString left = work.Left(pos1);
+ CStdString right = work.Mid(pos2 + 1);
+ CStdString replace = g_localizeStringsTemp.Get(atoi(work.Mid(pos1 + 10).c_str()));
+ if (replace == "")
+ replace = g_localizeStrings.Get(atoi(work.Mid(pos1 + 10).c_str()));
+ work = left + replace + right;
+ }
+ else
+ {
+ CLog::Log(LOGERROR, "Error parsing label - missing ']'");
+ return;
+ }
+ pos1 = work.Find("$LOCALIZE[", pos1);
+ }
+ // Step 2: Find all $INFO[info,prefix,postfix] blocks
+ pos1 = work.Find("$INFO[");
+ while (pos1 >= 0)
+ {
+ // output the first block (contents before first $INFO)
+ if (pos1 > 0)
+ m_info.push_back(CInfoPortion(0, work.Left(pos1), ""));
+
+ // ok, now decipher the $INFO block
+ int pos2 = StringUtils::FindEndBracket(work, '[', ']', pos1 + 6);
+ if (pos2 > pos1)
+ {
+ // decipher the block
+ CStdString block = work.Mid(pos1 + 6, pos2 - pos1 - 6);
+ CStdStringArray params;
+ StringUtils::SplitString(block, ",", params);
+ int info = g_infoManager.TranslateString(params[0]);
+ CStdString prefix, postfix;
+ if (params.size() > 1)
+ prefix = params[1];
+ if (params.size() > 2)
+ postfix = params[2];
+ m_info.push_back(CInfoPortion(info, prefix, postfix));
+ // and delete it from our work string
+ work = work.Mid(pos2 + 1);
+ }
+ else
+ {
+ CLog::Log(LOGERROR, "Error parsing label - missing ']'");
+ return;
+ }
+ pos1 = work.Find("$INFO[");
+ }
+ // add any last block
+ if (!work.IsEmpty())
+ m_info.push_back(CInfoPortion(0, work, ""));
+}
+
+CGUIInfoLabel::CInfoPortion::CInfoPortion(int info, const CStdString &prefix, const CStdString &postfix)
+{
+ m_info = info;
+ m_prefix = prefix;
+ m_postfix = postfix;
+ // filter our prefix and postfix for comma's
+ m_prefix.Replace("$COMMA", ",");
+ m_postfix.Replace("$COMMA", ",");
+ m_prefix.Replace("$LBRACKET", "["); m_prefix.Replace("$RBRACKET", "]");
+ m_postfix.Replace("$LBRACKET", "["); m_postfix.Replace("$RBRACKET", "]");
+}
+
+CStdString CGUIInfoLabel::GetLabel(const CStdString &label, bool preferImage)
+{ // translate the label
+ CGUIInfoLabel info(label, "");
+ return info.GetLabel(0, preferImage);
+}
diff --git a/guilib/GUIInfoColor.h b/guilib/GUIInfoTypes.h
index 612eefef95..bd3db7fe04 100644
--- a/guilib/GUIInfoColor.h
+++ b/guilib/GUIInfoTypes.h
@@ -1,10 +1,10 @@
/*!
-\file GUIInfoColor.h
+\file GUIInfoTypes.h
\brief
*/
-#ifndef GUILIB_GUIINFOCOLOR_H
-#define GUILIB_GUIINFOCOLOR_H
+#ifndef GUILIB_GUIINFOTYPES_H
+#define GUILIB_GUIINFOTYPES_H
#pragma once
@@ -66,4 +66,35 @@ private:
color_t m_color;
};
+class CGUIInfoLabel
+{
+public:
+ CGUIInfoLabel();
+ CGUIInfoLabel(const CStdString &label, const CStdString &fallback = "");
+
+ void SetLabel(const CStdString &label, const CStdString &fallback);
+ CStdString GetLabel(int contextWindow, bool preferImage = false) const;
+ CStdString GetItemLabel(const CGUIListItem *item, bool preferImage = false) const;
+ bool IsConstant() const;
+ bool IsEmpty() const;
+
+ const CStdString GetFallback() const { return m_fallback; };
+
+ static CStdString GetLabel(const CStdString &label, bool preferImage = false);
+private:
+ void Parse(const CStdString &label);
+
+ class CInfoPortion
+ {
+ public:
+ CInfoPortion(int info, const CStdString &prefix, const CStdString &postfix);
+ int m_info;
+ CStdString m_prefix;
+ CStdString m_postfix;
+ };
+
+ CStdString m_fallback;
+ std::vector<CInfoPortion> m_info;
+};
+
#endif
diff --git a/guilib/GUILabelControl.cpp b/guilib/GUILabelControl.cpp
index 6b4a86f621..b8dbd3da6b 100644
--- a/guilib/GUILabelControl.cpp
+++ b/guilib/GUILabelControl.cpp
@@ -21,182 +21,9 @@
#include "GUILabelControl.h"
#include "utils/CharsetConverter.h"
-#include "utils/GUIInfoManager.h"
-#include "utils/log.h"
-#include "GUIListItem.h"
-#include "StringUtils.h"
-
-#include "LocalizeStrings.h" // for CGUIInfoLabel
using namespace std;
-CGUIInfoLabel::CGUIInfoLabel()
-{
-}
-
-CGUIInfoLabel::CGUIInfoLabel(const CStdString &label, const CStdString &fallback)
-{
- SetLabel(label, fallback);
-}
-
-void CGUIInfoLabel::SetLabel(const CStdString &label, const CStdString &fallback)
-{
- m_fallback = fallback;
- Parse(label);
-}
-
-CStdString CGUIInfoLabel::GetLabel(int contextWindow, bool preferImage) const
-{
- CStdString label;
- for (unsigned int i = 0; i < m_info.size(); i++)
- {
- const CInfoPortion &portion = m_info[i];
- if (portion.m_info)
- {
- CStdString infoLabel;
- if (preferImage)
- infoLabel = g_infoManager.GetImage(portion.m_info, contextWindow);
- if (infoLabel.IsEmpty())
- infoLabel = g_infoManager.GetLabel(portion.m_info, contextWindow);
- if (!infoLabel.IsEmpty())
- {
- label += portion.m_prefix;
- label += infoLabel;
- label += portion.m_postfix;
- }
- }
- else
- { // no info, so just append the prefix
- label += portion.m_prefix;
- }
- }
- if (label.IsEmpty()) // empty label, use the fallback
- return m_fallback;
- return label;
-}
-
-CStdString CGUIInfoLabel::GetItemLabel(const CGUIListItem *item, bool preferImages) const
-{
- if (!item->IsFileItem()) return "";
- CStdString label;
- for (unsigned int i = 0; i < m_info.size(); i++)
- {
- const CInfoPortion &portion = m_info[i];
- if (portion.m_info)
- {
- CStdString infoLabel;
- if (preferImages)
- infoLabel = g_infoManager.GetItemImage((const CFileItem *)item, portion.m_info);
- else
- infoLabel = g_infoManager.GetItemLabel((const CFileItem *)item, portion.m_info);
- if (!infoLabel.IsEmpty())
- {
- label += portion.m_prefix;
- label += infoLabel;
- label += portion.m_postfix;
- }
- }
- else
- { // no info, so just append the prefix
- label += portion.m_prefix;
- }
- }
- if (label.IsEmpty())
- return m_fallback;
- return label;
-}
-
-bool CGUIInfoLabel::IsEmpty() const
-{
- return m_info.size() == 0;
-}
-
-bool CGUIInfoLabel::IsConstant() const
-{
- return m_info.size() == 0 || (m_info.size() == 1 && m_info[0].m_info == 0);
-}
-
-void CGUIInfoLabel::Parse(const CStdString &label)
-{
- m_info.clear();
- CStdString work(label);
- // Step 1: Replace all $LOCALIZE[number] with the real string
- int pos1 = work.Find("$LOCALIZE[");
- while (pos1 >= 0)
- {
- int pos2 = StringUtils::FindEndBracket(work, '[', ']', pos1 + 10);
- if (pos2 > pos1)
- {
- CStdString left = work.Left(pos1);
- CStdString right = work.Mid(pos2 + 1);
- CStdString replace = g_localizeStringsTemp.Get(atoi(work.Mid(pos1 + 10).c_str()));
- if (replace == "")
- replace = g_localizeStrings.Get(atoi(work.Mid(pos1 + 10).c_str()));
- work = left + replace + right;
- }
- else
- {
- CLog::Log(LOGERROR, "Error parsing label - missing ']'");
- return;
- }
- pos1 = work.Find("$LOCALIZE[", pos1);
- }
- // Step 2: Find all $INFO[info,prefix,postfix] blocks
- pos1 = work.Find("$INFO[");
- while (pos1 >= 0)
- {
- // output the first block (contents before first $INFO)
- if (pos1 > 0)
- m_info.push_back(CInfoPortion(0, work.Left(pos1), ""));
-
- // ok, now decipher the $INFO block
- int pos2 = StringUtils::FindEndBracket(work, '[', ']', pos1 + 6);
- if (pos2 > pos1)
- {
- // decipher the block
- CStdString block = work.Mid(pos1 + 6, pos2 - pos1 - 6);
- CStdStringArray params;
- StringUtils::SplitString(block, ",", params);
- int info = g_infoManager.TranslateString(params[0]);
- CStdString prefix, postfix;
- if (params.size() > 1)
- prefix = params[1];
- if (params.size() > 2)
- postfix = params[2];
- m_info.push_back(CInfoPortion(info, prefix, postfix));
- // and delete it from our work string
- work = work.Mid(pos2 + 1);
- }
- else
- {
- CLog::Log(LOGERROR, "Error parsing label - missing ']'");
- return;
- }
- pos1 = work.Find("$INFO[");
- }
- // add any last block
- if (!work.IsEmpty())
- m_info.push_back(CInfoPortion(0, work, ""));
-}
-
-CGUIInfoLabel::CInfoPortion::CInfoPortion(int info, const CStdString &prefix, const CStdString &postfix)
-{
- m_info = info;
- m_prefix = prefix;
- m_postfix = postfix;
- // filter our prefix and postfix for comma's
- m_prefix.Replace("$COMMA", ",");
- m_postfix.Replace("$COMMA", ",");
- m_prefix.Replace("$LBRACKET", "["); m_prefix.Replace("$RBRACKET", "]");
- m_postfix.Replace("$LBRACKET", "["); m_postfix.Replace("$RBRACKET", "]");
-}
-
-CStdString CGUIInfoLabel::GetLabel(const CStdString &label, bool preferImage)
-{ // translate the label
- CGUIInfoLabel info(label, "");
- return info.GetLabel(0, preferImage);
-}
-
CGUILabelControl::CGUILabelControl(int parentID, int controlID, float posX, float posY, float width, float height, const CLabelInfo& labelInfo, bool wrapMultiLine, bool bHasPath)
: CGUIControl(parentID, controlID, posX, posY, width, height), m_textLayout(labelInfo.font, wrapMultiLine)
{
diff --git a/guilib/GUILabelControl.h b/guilib/GUILabelControl.h
index 052c635994..a2089ebb90 100644
--- a/guilib/GUILabelControl.h
+++ b/guilib/GUILabelControl.h
@@ -32,39 +32,6 @@
#include "GUIControl.h"
#include "GUITextLayout.h"
-class CGUIListItem;
-
-class CGUIInfoLabel
-{
-public:
- CGUIInfoLabel();
- CGUIInfoLabel(const CStdString &label, const CStdString &fallback = "");
-
- void SetLabel(const CStdString &label, const CStdString &fallback);
- CStdString GetLabel(int contextWindow, bool preferImage = false) const;
- CStdString GetItemLabel(const CGUIListItem *item, bool preferImage = false) const;
- bool IsConstant() const;
- bool IsEmpty() const;
-
- const CStdString GetFallback() const { return m_fallback; };
-
- static CStdString GetLabel(const CStdString &label, bool preferImage = false);
-private:
- void Parse(const CStdString &label);
-
- class CInfoPortion
- {
- public:
- CInfoPortion(int info, const CStdString &prefix, const CStdString &postfix);
- int m_info;
- CStdString m_prefix;
- CStdString m_postfix;
- };
-
- CStdString m_fallback;
- std::vector<CInfoPortion> m_info;
-};
-
/*!
\ingroup controls
\brief
diff --git a/guilib/GUIListLabel.h b/guilib/GUIListLabel.h
index 9ef10c6e79..43e18fb1cd 100644
--- a/guilib/GUIListLabel.h
+++ b/guilib/GUIListLabel.h
@@ -27,8 +27,8 @@
*/
#include "GUIControl.h"
+#include "GUITextLayout.h"
-#include "GUILabelControl.h" // for CLabelInfo
/*!
\ingroup controls
\brief
diff --git a/guilib/GUIMultiSelectText.h b/guilib/GUIMultiSelectText.h
index 4101effb17..5291d4d3e1 100644
--- a/guilib/GUIMultiSelectText.h
+++ b/guilib/GUIMultiSelectText.h
@@ -21,7 +21,6 @@
*
*/
-#include "GUILabelControl.h" // for CInfoPortion
#include "GUIButtonControl.h"
/*!
diff --git a/guilib/GUITextBox.h b/guilib/GUITextBox.h
index b9281918e1..feff75ca39 100644
--- a/guilib/GUITextBox.h
+++ b/guilib/GUITextBox.h
@@ -29,8 +29,8 @@
*
*/
-#include "GUILabelControl.h"
#include "GUITextLayout.h"
+#include "GUIControl.h"
/*!
\ingroup controls
diff --git a/guilib/Makefile b/guilib/Makefile
index 3f209f9478..1216bba741 100644
--- a/guilib/Makefile
+++ b/guilib/Makefile
@@ -69,7 +69,7 @@ SRCS=AnimatedGif.cpp \
GUIBorderedImage.cpp \
GUITextLayout.cpp \
GUIMultiSelectText.cpp \
- GUIInfoColor.cpp \
+ GUIInfoTypes.cpp \
GUIFontTTFGL.cpp \
GUIFontTTFGLES.cpp \
Texture.cpp \
diff --git a/project/VS2008Express/guilib.vcproj b/project/VS2008Express/guilib.vcproj
index 6c9d6b91de..c94efd98b1 100644
--- a/project/VS2008Express/guilib.vcproj
+++ b/project/VS2008Express/guilib.vcproj
@@ -362,7 +362,7 @@
>
</File>
<File
- RelativePath="..\..\guilib\GuiControlFactory.cpp"
+ RelativePath="..\..\guilib\GUIControlFactory.cpp"
>
</File>
<File
@@ -402,7 +402,7 @@
>
</File>
<File
- RelativePath="..\..\guilib\guiImage.cpp"
+ RelativePath="..\..\guilib\GUIImage.cpp"
>
</File>
<File
@@ -410,7 +410,7 @@
>
</File>
<File
- RelativePath="..\..\guilib\GUIInfoColor.cpp"
+ RelativePath="..\..\guilib\GUIInfoTypes.cpp"
>
</File>
<File
@@ -688,7 +688,7 @@
>
</File>
<File
- RelativePath="..\..\guilib\GuiControlFactory.h"
+ RelativePath="..\..\guilib\GUIControlFactory.h"
>
</File>
<File
@@ -728,7 +728,7 @@
>
</File>
<File
- RelativePath="..\..\guilib\guiImage.h"
+ RelativePath="..\..\guilib\GUIImage.h"
>
</File>
<File
@@ -736,7 +736,7 @@
>
</File>
<File
- RelativePath="..\..\guilib\GUIInfoColor.h"
+ RelativePath="..\..\guilib\GUIInfoTypes.h"
>
</File>
<File
diff --git a/xbmc/Application.cpp b/xbmc/Application.cpp
index 3d31f472ed..86cafa08fa 100644
--- a/xbmc/Application.cpp
+++ b/xbmc/Application.cpp
@@ -33,9 +33,6 @@
#include "Autorun.h"
#ifdef HAS_LCD
#include "utils/LCDFactory.h"
-#else
-#include "GUILabelControl.h" // needed for CInfoLabel
-#include "GUIImage.h"
#endif
#include "GUIControlProfiler.h"
#include "LangCodeExpander.h"
@@ -43,6 +40,7 @@
#include "PlayListFactory.h"
#include "GUIFontManager.h"
#include "GUIColorManager.h"
+#include "GUITextLayout.h"
#include "SkinInfo.h"
#ifdef HAS_PYTHON
#include "lib/libPython/XBPython.h"
diff --git a/xbmc/utils/GUIInfoManager.cpp b/xbmc/utils/GUIInfoManager.cpp
index cb1cbc220b..7f78514b18 100644
--- a/xbmc/utils/GUIInfoManager.cpp
+++ b/xbmc/utils/GUIInfoManager.cpp
@@ -42,6 +42,7 @@
#include "LangInfo.h"
#include "SystemInfo.h"
#include "GUIButtonScroller.h"
+#include "GUITextBox.h"
#include "GUIInfoManager.h"
#include <stack>
#include "../utils/Network.h"
@@ -69,8 +70,6 @@
#include "MusicInfoLoader.h"
#include "LabelFormatter.h"
-#include "GUILabelControl.h" // for CInfoLabel
-#include "GUITextBox.h"
#include "GUIUserMessages.h"
#include "GUIWindowVideoInfo.h"
#include "GUIWindowMusicInfo.h"