Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions src/board/UBBoardController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2450,13 +2450,14 @@ void UBBoardController::processMimeData(const QMimeData* pMimeData, const QPoint
if("" != pMimeData->text()){
// Sometimes, it is possible to have an URL as text. we check here if it is the case
QString qsTmp = pMimeData->text().remove(QChar('\0'));
if(qsTmp.startsWith("http"))

if (qsTmp.startsWith("http:") || qsTmp.startsWith("https:"))
{
downloadURL(QUrl(qsTmp), QString(), pPos);
else{
if(mActiveScene->selectedItems().count() && mActiveScene->selectedItems().at(0)->type() == UBGraphicsItemType::TextItemType)
dynamic_cast<UBGraphicsTextItem*>(mActiveScene->selectedItems().at(0))->setHtml(pMimeData->text());
else
mActiveScene->addTextHtml("", pPos)->setHtml(pMimeData->text());
}
else
{
mActiveScene->addTextHtml("", pPos)->setHtml(qsTmp);
}
}
else{
Expand Down
20 changes: 17 additions & 3 deletions src/core/UBApplication.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -324,9 +324,7 @@ int UBApplication::exec(const QString& pFileToImport)

mainWindow->setAttribute(Qt::WA_NativeWindow, true);

mainWindow->actionCopy->setShortcuts(QKeySequence::Copy);
mainWindow->actionPaste->setShortcuts(QKeySequence::Paste);
mainWindow->actionCut->setShortcuts(QKeySequence::Cut);
enableEditingShortcuts(true);

UBThumbnailUI::_private::initCatalog();

Expand Down Expand Up @@ -776,6 +774,22 @@ void UBApplication::cleanup()
documentController = NULL;
}

void UBApplication::enableEditingShortcuts(bool enable)
{
if (enable)
{
mainWindow->actionCopy->setShortcuts(QKeySequence::Copy);
mainWindow->actionPaste->setShortcuts(QKeySequence::Paste);
mainWindow->actionCut->setShortcuts(QKeySequence::Cut);
}
else
{
mainWindow->actionCopy->setShortcuts({});
mainWindow->actionPaste->setShortcuts({});
mainWindow->actionCut->setShortcuts({});
}
}

QString UBApplication::urlFromHtml(QString html)
{
QString _html;
Expand Down
2 changes: 2 additions & 0 deletions src/core/UBApplication.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ class UBApplication : public SingleApplication

void cleanup();

void enableEditingShortcuts(bool enable);

static QPointer<QUndoStack> undoStack;

static UBDisplayManager* displayManager;
Expand Down
15 changes: 15 additions & 0 deletions src/domain/UBGraphicsTextItem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,21 @@ void UBGraphicsTextItem::keyReleaseEvent(QKeyEvent *event)
QGraphicsTextItem::keyReleaseEvent(event);
}

void UBGraphicsTextItem::focusInEvent(QFocusEvent* event)
{
// disable global editing shortcuts while text item is focussed
// so that they are passed to the item
UBApplication::app()->enableEditingShortcuts(false);
QGraphicsTextItem::focusInEvent(event);
}

void UBGraphicsTextItem::focusOutEvent(QFocusEvent* event)
{
// re-enable global editing shortcuts when loosing focus
UBApplication::app()->enableEditingShortcuts(true);
QGraphicsTextItem::focusOutEvent(event);
}

void UBGraphicsTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
// Never draw the rubber band, we draw our custom selection with the DelegateFrame
Expand Down
35 changes: 19 additions & 16 deletions src/domain/UBGraphicsTextItem.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,19 +48,19 @@ class UBGraphicsTextItem : public QGraphicsTextItem, public UBItem, public UBRes

enum { Type = UBGraphicsItemType::TextItemType };

virtual int type() const
virtual int type() const override
{
return Type;
}

virtual UBItem* deepCopy() const;
virtual UBItem* deepCopy() const override;

virtual void copyItemParameters(UBItem *copy) const;
virtual void copyItemParameters(UBItem *copy) const override;

virtual std::shared_ptr<UBGraphicsScene> scene();
virtual std::shared_ptr<UBGraphicsScene> scene() override;

virtual QRectF boundingRect() const;
virtual QPainterPath shape() const;
virtual QRectF boundingRect() const override;
virtual QPainterPath shape() const override;

void setTextWidth(qreal width);
void setTextHeight(qreal height);
Expand All @@ -69,9 +69,9 @@ class UBGraphicsTextItem : public QGraphicsTextItem, public UBItem, public UBRes

void contentsChanged();

virtual void resize(qreal w, qreal h);
virtual void resize(qreal w, qreal h) override;

virtual QSizeF size() const;
virtual QSizeF size() const override;

static QColor lastUsedTextColor;

Expand Down Expand Up @@ -112,18 +112,21 @@ class UBGraphicsTextItem : public QGraphicsTextItem, public UBItem, public UBRes
void documentSizeChanged(const QSizeF & newSize);

private:
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;

virtual void keyPressEvent(QKeyEvent *event);
virtual void keyReleaseEvent(QKeyEvent *event);
virtual void keyPressEvent(QKeyEvent *event) override;
virtual void keyReleaseEvent(QKeyEvent *event) override;

virtual void dragMoveEvent(QGraphicsSceneDragDropEvent *event);
virtual void focusInEvent(QFocusEvent* event) override;
virtual void focusOutEvent(QFocusEvent* event) override;

virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
virtual void dragMoveEvent(QGraphicsSceneDragDropEvent *event) override;

virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value);
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;

virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value) override;

qreal mTextHeight;

Expand Down