From 84bee7ddd87932d4f47d33579909a2977995e9b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Tue, 22 Oct 2013 17:26:03 +0200 Subject: [PATCH] Fixed main toolbar title in YACReaderLibrary --- CHANGELOG.txt | 1 + YACReaderLibrary/yacreader_main_toolbar.cpp | 24 +++++++++++++++++++-- YACReaderLibrary/yacreader_main_toolbar.h | 1 + 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index c10c8575..2bc725fd 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -1,6 +1,7 @@ 6.9 (No pública) Añadida la apertura automática del siguiente/anterior cómic al llegar al final/portada del cómic actual Corregido el comportamiento del diálogo de nueva versión detectada. Ahora avisa una vez al día o si el usuario lo elige cada 14 días. +Corregido el ajuste a lo ancho del título de la toolbar en YACReaderLibrary. 6.8 (No pública) Corregido bug que causaba un cierre inesperado después de cambiar el modo de sincronización vertical (flow) diff --git a/YACReaderLibrary/yacreader_main_toolbar.cpp b/YACReaderLibrary/yacreader_main_toolbar.cpp index 3727eb6d..011c579e 100644 --- a/YACReaderLibrary/yacreader_main_toolbar.cpp +++ b/YACReaderLibrary/yacreader_main_toolbar.cpp @@ -14,7 +14,7 @@ YACReaderMainToolBar::YACReaderMainToolBar(QWidget *parent) : mainLayout = new QHBoxLayout; currentFolder = new QLabel(this); - currentFolder->setAlignment(Qt::AlignCenter); + //currentFolder->setAlignment(Qt::AlignCenter); currentFolder->setStyleSheet(" QLabel {color:#404040; font-size:22px; font-weight:bold;}"); QFont f=currentFolder->font(); @@ -90,6 +90,16 @@ void YACReaderMainToolBar::paintEvent(QPaintEvent * event) void YACReaderMainToolBar::resizeEvent(QResizeEvent * event) { + //210px x 2 = 420px + int freeWidth = event->size().width() - 420; + int maxLabelWidth = freeWidth>=0?freeWidth:0; + currentFolder->setMaximumWidth(maxLabelWidth); + currentFolder->adjustSize(); + + QFontMetrics metrix(currentFolder->font()); + QString clippedText = metrix.elidedText(currentFolderName, Qt::ElideRight, maxLabelWidth); + + currentFolder->setText(clippedText); currentFolder->move((event->size().width()-currentFolder->width())/2,(event->size().height()-currentFolder->height())/2); } @@ -114,7 +124,17 @@ void YACReaderMainToolBar::addWideDivider() void YACReaderMainToolBar::setCurrentFolderName(const QString & name) { currentFolder->setText(name); + currentFolderName = name; currentFolder->adjustSize(); - currentFolder->move((width()-currentFolder->width())/2,(height()-currentFolder->height())/2); + int freeWidth = size().width() - 420; + int maxLabelWidth = freeWidth>=0?freeWidth:0; + currentFolder->setMaximumWidth(maxLabelWidth); + + QFontMetrics metrix(currentFolder->font()); + QString clippedText = metrix.elidedText(currentFolderName, Qt::ElideRight, maxLabelWidth); + + currentFolder->setText(clippedText); + + currentFolder->move((width()-currentFolder->width())/2,(height()-currentFolder->height())/2); } diff --git a/YACReaderLibrary/yacreader_main_toolbar.h b/YACReaderLibrary/yacreader_main_toolbar.h index d1537778..b45dbf4d 100644 --- a/YACReaderLibrary/yacreader_main_toolbar.h +++ b/YACReaderLibrary/yacreader_main_toolbar.h @@ -37,6 +37,7 @@ private: QHBoxLayout * mainLayout; QLabel * currentFolder; + QString currentFolderName; void addDivider(); void addWideDivider();