From dbf90a423388fba7ef6a7816322b911ec6b241f0 Mon Sep 17 00:00:00 2001 From: Uwe Kindler Date: Fri, 10 Apr 2020 21:06:43 +0200 Subject: [PATCH] Fixed ElidingLabel to properly support Qt::ElideNone added setElideMode function to CDockWidgetTab --- src/DockWidgetTab.cpp | 11 ++++++++++- src/DockWidgetTab.h | 5 +++++ src/ElidingLabel.cpp | 2 +- src/ads_globals.h | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/src/DockWidgetTab.cpp b/src/DockWidgetTab.cpp index b568556..113e47f 100644 --- a/src/DockWidgetTab.cpp +++ b/src/DockWidgetTab.cpp @@ -176,7 +176,7 @@ DockWidgetTabPrivate::DockWidgetTabPrivate(CDockWidgetTab* _public) : void DockWidgetTabPrivate::createLayout() { TitleLabel = new tTabLabel(); - TitleLabel->setElideMode(Qt::ElideRight); + TitleLabel->setElideMode(Qt::ElideNone); TitleLabel->setText(DockWidget->windowTitle()); TitleLabel->setObjectName("dockWidgetTabLabel"); TitleLabel->setAlignment(Qt::AlignCenter); @@ -578,6 +578,8 @@ void CDockWidgetTab::setText(const QString& title) d->TitleLabel->setText(title); } + +//============================================================================ bool CDockWidgetTab::isTitleElided() const { return d->TitleLabel->isElided(); @@ -630,6 +632,13 @@ void CDockWidgetTab::onDockWidgetFeaturesChanged() } +//============================================================================ +void CDockWidgetTab::setElideMode(Qt::TextElideMode mode) +{ + d->TitleLabel->setElideMode(mode); +} + + } // namespace ads diff --git a/src/DockWidgetTab.h b/src/DockWidgetTab.h index b95c4ed..3be47a3 100644 --- a/src/DockWidgetTab.h +++ b/src/DockWidgetTab.h @@ -147,6 +147,11 @@ public: */ virtual bool event(QEvent *e) override; + /** + * Sets the text elide mode + */ + void setElideMode(Qt::TextElideMode mode); + public slots: virtual void setVisible(bool visible) override; diff --git a/src/ElidingLabel.cpp b/src/ElidingLabel.cpp index 7f09d34..7725b9b 100644 --- a/src/ElidingLabel.cpp +++ b/src/ElidingLabel.cpp @@ -197,13 +197,13 @@ QSize CElidingLabel::sizeHint() const //============================================================================ void CElidingLabel::setText(const QString &text) { + d->Text = text; if (d->isModeElideNone()) { Super::setText(text); } else { - d->Text = text; internal::setToolTip(this, text); d->elideText(this->size().width()); } diff --git a/src/ads_globals.h b/src/ads_globals.h index c6537bd..201189c 100644 --- a/src/ads_globals.h +++ b/src/ads_globals.h @@ -66,7 +66,7 @@ namespace ads { enum eStateFileVersion { - InitialVerison = 0, + InitialVersion = 0, Version1 = 1, CurrentVersion = Version1 };