From 8148ac7619f4a9a2fb912e2da55bf4848a18ab7c Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Mon, 10 Jun 2013 13:25:48 +0200 Subject: [PATCH 1/3] text can be resized until a minimum size is reached --- src/domain/UBGraphicsTextItem.cpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/domain/UBGraphicsTextItem.cpp b/src/domain/UBGraphicsTextItem.cpp index 039a832d..639102ef 100644 --- a/src/domain/UBGraphicsTextItem.cpp +++ b/src/domain/UBGraphicsTextItem.cpp @@ -215,9 +215,12 @@ void UBGraphicsTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem if (widget == UBApplication::boardController->controlView()->viewport() && !isSelected() && toPlainText().isEmpty()) { + QFontMetrics fm(font()); + setTextWidth(fm.width(mTypeTextHereLabel)); painter->setFont(font()); painter->setPen(UBSettings::paletteColor); painter->drawText(boundingRect(), Qt::AlignCenter, mTypeTextHereLabel); + setTextInteractionFlags(Qt::NoTextInteraction); } } @@ -246,10 +249,6 @@ void UBGraphicsTextItem::copyItemParameters(UBItem *copy) const cp->setData(UBGraphicsItemData::ItemLayerType, this->data(UBGraphicsItemData::ItemLayerType)); cp->setData(UBGraphicsItemData::ItemLocked, this->data(UBGraphicsItemData::ItemLocked)); cp->setData(UBGraphicsItemData::ItemEditable, data(UBGraphicsItemData::ItemEditable).toBool()); - // cp->setDefaultTextColor(this->defaultTextColor()); - // cp->setFont(this->font()); - // cp->setColorOnDarkBackground(this->colorOnDarkBackground()); - // cp->setColorOnLightBackground(this->colorOnLightBackground()); cp->setTextWidth(this->textWidth()); cp->setTextHeight(this->textHeight()); @@ -275,15 +274,9 @@ QPainterPath UBGraphicsTextItem::shape() const void UBGraphicsTextItem::setTextWidth(qreal width) { QFontMetrics fm(font()); - qreal strictMin = fm.height(); + qreal strictMin = 155; // the size of the font customization panel qreal newWidth = qMax(strictMin, width); - if (toPlainText().isEmpty()) - { - qreal minWidth = fm.width(mTypeTextHereLabel); - newWidth = qMax(minWidth, newWidth); - } - QGraphicsTextItem::setTextWidth(newWidth); } @@ -313,7 +306,7 @@ void UBGraphicsTextItem::contentsChanged() if (toPlainText().isEmpty()) { - setTextWidth(textWidth()); + resize(textWidth(),textHeight()); } } From 1423fb937ab062c43c4d8d676c00df2a89cc8626 Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Mon, 10 Jun 2013 14:29:35 +0200 Subject: [PATCH 2/3] centered left panel on selected thumbnail --- src/gui/UBDocumentNavigator.cpp | 6 ++++++ src/gui/UBDocumentNavigator.h | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/gui/UBDocumentNavigator.cpp b/src/gui/UBDocumentNavigator.cpp index baed7d67..11f5400d 100644 --- a/src/gui/UBDocumentNavigator.cpp +++ b/src/gui/UBDocumentNavigator.cpp @@ -52,6 +52,7 @@ UBDocumentNavigator::UBDocumentNavigator(QWidget *parent, const char *name):QGra , mNbColumns(1) , mThumbnailWidth(0) , mThumbnailMinWidth(100) + , mSelectedThumbnail(NULL) { setObjectName(name); mScene = new QGraphicsScene(this); @@ -123,6 +124,7 @@ void UBDocumentNavigator::onScrollToSelectedPage(int index) if (c==index) { el.getThumbnail()->setSelected(true); + mSelectedThumbnail = el.getThumbnail(); } else { @@ -130,6 +132,7 @@ void UBDocumentNavigator::onScrollToSelectedPage(int index) } c++; } + centerOn(mSelectedThumbnail); } /** @@ -228,6 +231,9 @@ void UBDocumentNavigator::resizeEvent(QResizeEvent *event) // Update the thumbnails width mThumbnailWidth = (width() > mThumbnailMinWidth) ? width() - 2*border() : mThumbnailMinWidth; + if(mSelectedThumbnail) + centerOn(mSelectedThumbnail); + // Refresh the scene refreshScene(); } diff --git a/src/gui/UBDocumentNavigator.h b/src/gui/UBDocumentNavigator.h index ad5fcf31..d323dbd6 100644 --- a/src/gui/UBDocumentNavigator.h +++ b/src/gui/UBDocumentNavigator.h @@ -59,7 +59,7 @@ protected: virtual void mouseReleaseEvent(QMouseEvent *event); private: - + void refreshScene(); int border(); @@ -76,6 +76,8 @@ private: int mThumbnailWidth; /** The current thumbnails minimum width */ int mThumbnailMinWidth; + /** The selected thumbnail */ + UBSceneThumbnailNavigPixmap* mSelectedThumbnail; }; - + #endif // UBDOCUMENTNAVIGATOR_H From 1ff95dbf03fc65ee01d7e70bb85c3813ff05acef Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Mon, 10 Jun 2013 14:52:19 +0200 Subject: [PATCH 3/3] handled selectall keyboard shortcut on board --- src/domain/UBGraphicsScene.cpp | 10 ++++++++++ src/domain/UBGraphicsScene.h | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/domain/UBGraphicsScene.cpp b/src/domain/UBGraphicsScene.cpp index 82583ce5..2e88df74 100644 --- a/src/domain/UBGraphicsScene.cpp +++ b/src/domain/UBGraphicsScene.cpp @@ -2188,6 +2188,16 @@ void UBGraphicsScene::keyReleaseEvent(QKeyEvent * keyEvent) QList si = selectedItems(); + if(keyEvent->matches(QKeySequence::SelectAll)){ + QListIterator itItems(this->mFastAccessItems); + + while (itItems.hasNext()) + itItems.next()->setSelected(true); + + keyEvent->accept(); + return; + } + if ((si.size() > 0) && (keyEvent->isAccepted())) { #ifdef Q_OS_MAC diff --git a/src/domain/UBGraphicsScene.h b/src/domain/UBGraphicsScene.h index c09855a5..9dd09525 100644 --- a/src/domain/UBGraphicsScene.h +++ b/src/domain/UBGraphicsScene.h @@ -356,8 +356,8 @@ public slots: void recolorAllItems(); - virtual void drawItems (QPainter * painter, int numItems, - QGraphicsItem * items[], const QStyleOptionGraphicsItem options[], QWidget * widget = 0); + virtual void drawItems (QPainter * painter, int numItems, + QGraphicsItem * items[], const QStyleOptionGraphicsItem options[], QWidget * widget = 0); QGraphicsItem* rootItem(QGraphicsItem* item) const;