From 516f3b2c28d0327c87c69dff81fe3011bb74669e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20=C3=96nnerby?= Date: Sat, 19 Apr 2008 23:52:25 +0000 Subject: [PATCH] Escape the & character --- src/cube/MetadataFilterModel.cpp | 4 +++- src/cube/TracklistModel.cpp | 4 +++- src/win32cpp/Utility.cpp | 10 ++++++++-- src/win32cpp/Utility.hpp | 4 ++++ 4 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/cube/MetadataFilterModel.cpp b/src/cube/MetadataFilterModel.cpp index 14904e84d..69c7fd190 100644 --- a/src/cube/MetadataFilterModel.cpp +++ b/src/cube/MetadataFilterModel.cpp @@ -42,6 +42,8 @@ #include +#include + #include #include #include @@ -61,7 +63,7 @@ uistring MetadataFilterModel::CellValueToString(int rowIndex, ListView::Colum { typedef boost::basic_format format; if(rowIndexmetadata.size()){ - return this->metadata[rowIndex]->value; + return win32cpp::Escape(this->metadata[rowIndex]->value); }else{ return uistring(); } diff --git a/src/cube/TracklistModel.cpp b/src/cube/TracklistModel.cpp index 07cf4a9e8..f94e0d40f 100644 --- a/src/cube/TracklistModel.cpp +++ b/src/cube/TracklistModel.cpp @@ -42,6 +42,8 @@ #include +#include + #include #include @@ -85,7 +87,7 @@ uistring TracklistModel::CellValueToString(int rowIndex, ColumnRef co }else{ const utfchar *value = track->GetValue(tracklistColumn->metaKey.c_str()); if(value) - return value; + return win32cpp::Escape(value); return _T(""); } diff --git a/src/win32cpp/Utility.cpp b/src/win32cpp/Utility.cpp index bc90220d4..395ad8e60 100644 --- a/src/win32cpp/Utility.cpp +++ b/src/win32cpp/Utility.cpp @@ -38,13 +38,19 @@ #include #include +#include ////////////////////////////////////////////////////////////////////////////// -namespace win32cpp { +using namespace win32cpp; ////////////////////////////////////////////////////////////////////////////// +uistring win32cpp::Escape(uistring string){ + boost::algorithm::replace_all(string,_T("&"),_T("&&")); + return string; +} + ////////////////////////////////////////////////////////////////////////////// -} // namespace win32cpp \ No newline at end of file + diff --git a/src/win32cpp/Utility.hpp b/src/win32cpp/Utility.hpp index 365977c1e..fb149b9ec 100644 --- a/src/win32cpp/Utility.hpp +++ b/src/win32cpp/Utility.hpp @@ -38,12 +38,16 @@ #pragma once +#include + ////////////////////////////////////////////////////////////////////////////// namespace win32cpp { ////////////////////////////////////////////////////////////////////////////// +uistring Escape(uistring string); + ////////////////////////////////////////////////////////////////////////////// } // win32cpp \ No newline at end of file