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; 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()); } } 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