From 1f13618f4018f203dbd64bd6cfdac376369eacda Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Mon, 23 Sep 2013 20:49:14 +0200 Subject: [PATCH] Work on titles, shortening. --- CMakeLists.txt | 1 + src/core/defs.h.in | 2 ++ src/core/textfactory.cpp | 20 ++++++++++++++++++++ src/core/textfactory.h | 16 ++++++++++++++++ src/gui/tabwidget.cpp | 17 +++++++++-------- 5 files changed, 48 insertions(+), 8 deletions(-) create mode 100644 src/core/textfactory.cpp create mode 100644 src/core/textfactory.h diff --git a/CMakeLists.txt b/CMakeLists.txt index e62895c03..c6b6a34f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -202,6 +202,7 @@ set(APP_SOURCES src/core/basenetworkaccessmanager.cpp src/core/basewebpage.cpp src/core/webbrowsernetworkaccessmanager.cpp + src/core/textfactory.cpp # Basic application sources. src/main.cpp diff --git a/src/core/defs.h.in b/src/core/defs.h.in index 7449dc8b4..0542a53aa 100644 --- a/src/core/defs.h.in +++ b/src/core/defs.h.in @@ -26,6 +26,8 @@ #define APP_USERAGENT QString("@APP_NAME@/@APP_VERSION@ (@APP_URL@) on @CMAKE_SYSTEM@;") #endif +#define TEXT_TITLE_LIMIT 30 + #define APP_CFG_PATH "data/config" #define APP_CFG_WEB_PATH "data/web" #define APP_CFG_FILE "config.ini" diff --git a/src/core/textfactory.cpp b/src/core/textfactory.cpp new file mode 100644 index 000000000..32faf4750 --- /dev/null +++ b/src/core/textfactory.cpp @@ -0,0 +1,20 @@ +#include + +#include "core/defs.h" +#include "core/textfactory.h" + + +TextFactory::TextFactory() { +} + +TextFactory::~TextFactory() { +} + +QString TextFactory::shorten(const QString &input) { + if (input.size() > TEXT_TITLE_LIMIT) { + return input.left(TEXT_TITLE_LIMIT - 3) + QString(3, '.'); + } + else { + return input; + } +} diff --git a/src/core/textfactory.h b/src/core/textfactory.h new file mode 100644 index 000000000..e6d5f3ad9 --- /dev/null +++ b/src/core/textfactory.h @@ -0,0 +1,16 @@ +#ifndef TEXTFACTORY_H +#define TEXTFACTORY_H + + +class TextFactory { + private: + explicit TextFactory(); + + public: + virtual ~TextFactory(); + + static QString shorten(const QString &input); + +}; + +#endif // TEXTFACTORY_H diff --git a/src/gui/tabwidget.cpp b/src/gui/tabwidget.cpp index b7f05e02b..82949e878 100644 --- a/src/gui/tabwidget.cpp +++ b/src/gui/tabwidget.cpp @@ -4,6 +4,7 @@ #include "core/defs.h" #include "core/settings.h" +#include "core/textfactory.h" #include "gui/tabwidget.h" #include "gui/tabbar.h" #include "gui/iconthemefactory.h" @@ -129,14 +130,6 @@ int TabWidget::addLinkedBrowser(const QUrl &initial_url) { initial_url); } -void TabWidget::changeIcon(int column, const QIcon &new_icon) { - setTabIcon(column, new_icon); -} - -void TabWidget::changeTitle(int column, const QString &new_title) { - setTabText(column, new_title); -} - int TabWidget::addBrowser(bool move_after_current, bool make_active, const QUrl &initial_url) { @@ -183,6 +176,14 @@ int TabWidget::addBrowser(bool move_after_current, return final_index; } +void TabWidget::changeIcon(int column, const QIcon &new_icon) { + setTabIcon(column, new_icon); +} + +void TabWidget::changeTitle(int column, const QString &new_title) { + setTabText(column, TextFactory::shorten(new_title)); +} + void TabWidget::fixContentAfterIndexChange(int from) { fixContentsIndexes(from, count() - 1); }