diff options
Diffstat (limited to 'src/gui/widgets/browserbox.cpp')
-rw-r--r-- | src/gui/widgets/browserbox.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/gui/widgets/browserbox.cpp b/src/gui/widgets/browserbox.cpp index 50072c5d2..190e79e10 100644 --- a/src/gui/widgets/browserbox.cpp +++ b/src/gui/widgets/browserbox.cpp @@ -69,6 +69,7 @@ BrowserBox::BrowserBox(const Widget2 *const widget, const unsigned int mode, mProcessVersion(false), mEnableImages(false), mEnableKeys(false), + mEnableTabs(false), mPadding(0), mNewLinePadding(15), mBackgroundColor(getThemeColor(Theme::BACKGROUND)), @@ -229,6 +230,26 @@ void BrowserBox::addRow(const std::string &row, const bool atTop) if (mProcessVersion) newRow = replaceAll(newRow, "%VER%", SMALL_VERSION); + if (mEnableTabs) + { + idx1 = newRow.find("\\t"); + while (idx1 != std::string::npos) + { + const size_t idx2 = newRow.find(";", idx1); + if (idx2 == std::string::npos) + break; + + const int newSize = atoi(newRow.substr( + idx1 + 2, idx2 - idx1 - 2).c_str()); + std::string str = newRow.substr(0, idx1); + while (str.size() < newSize) + str.append(" "); + str.append(newRow.substr(idx2 + 1)); + newRow = str; + idx1 = newRow.find("\\t"); + } + } + if (atTop) { mTextRows.push_front(newRow); |