diff options
author | hjk <hjk121@nokiamail.com> | 2014-09-30 16:54:26 +0200 |
---|---|---|
committer | hjk <hjk121@nokiamail.com> | 2014-10-02 10:42:43 +0200 |
commit | f566d7eae0cc1818d4c8688b6906182022ba5cec (patch) | |
tree | 3877995c161c418c5bc745ad9f68a5fe85d4f846 /src/plugins/bookmarks | |
parent | af23e254df5d1c3b3f797dbfe38ce521c864e857 (diff) | |
download | qt-creator-f566d7eae0cc1818d4c8688b6906182022ba5cec.tar.gz |
TextEditor: Make mark requests operate on widgets, not editor
Removes some widget->editor->signal->slot->widget indirection.
Change-Id: I7951d62ad3b7477e4693798d85c53c932b86c95e
Reviewed-by: David Schulz <david.schulz@digia.com>
Diffstat (limited to 'src/plugins/bookmarks')
-rw-r--r-- | src/plugins/bookmarks/bookmarkmanager.cpp | 21 | ||||
-rw-r--r-- | src/plugins/bookmarks/bookmarkmanager.h | 14 | ||||
-rw-r--r-- | src/plugins/bookmarks/bookmarksplugin.cpp | 35 | ||||
-rw-r--r-- | src/plugins/bookmarks/bookmarksplugin.h | 7 |
4 files changed, 36 insertions, 41 deletions
diff --git a/src/plugins/bookmarks/bookmarkmanager.cpp b/src/plugins/bookmarks/bookmarkmanager.cpp index 78b2d241d3..008c69fc82 100644 --- a/src/plugins/bookmarks/bookmarkmanager.cpp +++ b/src/plugins/bookmarks/bookmarkmanager.cpp @@ -826,7 +826,7 @@ void BookmarkManager::saveBookmarks() SessionManager::setValue(QLatin1String("Bookmarks"), list); } -void BookmarkManager::operateTooltip(BaseTextEditor *textEditor, const QPoint &pos, Bookmark *mark) +void BookmarkManager::operateTooltip(TextEditorWidget *widget, const QPoint &pos, Bookmark *mark) { if (!mark) return; @@ -834,7 +834,7 @@ void BookmarkManager::operateTooltip(BaseTextEditor *textEditor, const QPoint &p if (mark->note().isEmpty()) ToolTip::hide(); else - ToolTip::show(pos, TextContent(mark->note()), textEditor->widget()); + ToolTip::show(pos, TextContent(mark->note()), widget); } /* Loads the bookmarks from the session settings. */ @@ -848,20 +848,19 @@ void BookmarkManager::loadBookmarks() updateActionStatus(); } -void BookmarkManager::handleBookmarkRequest(BaseTextEditor *textEditor, - int line, +void BookmarkManager::handleBookmarkRequest(TextEditorWidget *widget, int line, BaseTextEditor::MarkRequestKind kind) { - if (kind == BaseTextEditor::BookmarkRequest && textEditor->document()) - toggleBookmark(textEditor->document()->filePath(), line); + if (kind == BaseTextEditor::BookmarkRequest && widget->textDocument()) + toggleBookmark(widget->textDocument()->filePath(), line); } -void BookmarkManager::handleBookmarkTooltipRequest(BaseTextEditor *textEditor, const QPoint &pos, - int line) +void BookmarkManager::handleBookmarkTooltipRequest(TextEditorWidget *widget, + const QPoint &pos, int line) { - if (textEditor->document()) { - Bookmark *mark = findBookmark(textEditor->document()->filePath(), line); - operateTooltip(textEditor, pos, mark); + if (widget->textDocument()) { + Bookmark *mark = findBookmark(widget->textDocument()->filePath(), line); + operateTooltip(widget, pos, mark); } } diff --git a/src/plugins/bookmarks/bookmarkmanager.h b/src/plugins/bookmarks/bookmarkmanager.h index 232282b2fd..6b7e44faf1 100644 --- a/src/plugins/bookmarks/bookmarkmanager.h +++ b/src/plugins/bookmarks/bookmarkmanager.h @@ -93,6 +93,12 @@ public: Note = Qt::UserRole + 4 }; + void handleBookmarkRequest(TextEditor::TextEditorWidget *widget, int line, + TextEditor::BaseTextEditor::MarkRequestKind kind); + + void handleBookmarkTooltipRequest(TextEditor::TextEditorWidget *widget, + const QPoint &pos, int line); + public slots: void toggleBookmark(); void toggleBookmark(const QString &fileName, int lineNumber); @@ -113,12 +119,6 @@ signals: private slots: void updateActionStatus(); void loadBookmarks(); - void handleBookmarkRequest(TextEditor::BaseTextEditor * textEditor, - int line, - TextEditor::BaseTextEditor::MarkRequestKind kind); - void handleBookmarkTooltipRequest(TextEditor::BaseTextEditor *textEditor, - const QPoint &pos, - int line); private: void documentPrevNext(bool next); @@ -128,7 +128,7 @@ private: void addBookmark(const QString &s); static QString bookmarkToString(const Bookmark *b); void saveBookmarks(); - void operateTooltip(TextEditor::BaseTextEditor *textEditor, const QPoint &pos, Bookmark *mark); + void operateTooltip(TextEditor::TextEditorWidget *widget, const QPoint &pos, Bookmark *mark); typedef QMultiMap<QString, Bookmark *> FileNameBookmarksMap; typedef QMap<QString, FileNameBookmarksMap *> DirectoryFileBookmarksMap; diff --git a/src/plugins/bookmarks/bookmarksplugin.cpp b/src/plugins/bookmarks/bookmarksplugin.cpp index 4221c726cc..e0ee267732 100644 --- a/src/plugins/bookmarks/bookmarksplugin.cpp +++ b/src/plugins/bookmarks/bookmarksplugin.cpp @@ -152,40 +152,35 @@ void BookmarksPlugin::updateActions(int state) void BookmarksPlugin::editorOpened(Core::IEditor *editor) { - if (qobject_cast<BaseTextEditor *>(editor)) { - connect(editor, SIGNAL(markContextMenuRequested(TextEditor::BaseTextEditor*,int,QMenu*)), - this, SLOT(requestContextMenu(TextEditor::BaseTextEditor*,int,QMenu*))); - - connect(editor, - SIGNAL(markRequested(TextEditor::BaseTextEditor*,int, - TextEditor::BaseTextEditor::MarkRequestKind)), - m_bookmarkManager, - SLOT(handleBookmarkRequest(TextEditor::BaseTextEditor*,int, - TextEditor::BaseTextEditor::MarkRequestKind))); - connect(editor, - SIGNAL(markTooltipRequested(TextEditor::BaseTextEditor*,QPoint,int)), - m_bookmarkManager, - SLOT(handleBookmarkTooltipRequest(TextEditor::BaseTextEditor*,QPoint,int))); + if (auto widget = qobject_cast<TextEditorWidget *>(editor->widget())) { + connect(widget, &TextEditorWidget::markRequested, + m_bookmarkManager, &BookmarkManager::handleBookmarkRequest); + + connect(widget, &TextEditorWidget::markTooltipRequested, + m_bookmarkManager, &BookmarkManager::handleBookmarkTooltipRequest); + + connect(widget, &TextEditorWidget::markContextMenuRequested, + this, &BookmarksPlugin::requestContextMenu); } } void BookmarksPlugin::editorAboutToClose(Core::IEditor *editor) { - if (qobject_cast<BaseTextEditor *>(editor)) { - disconnect(editor, SIGNAL(markContextMenuRequested(TextEditor::BaseTextEditor*,int,QMenu*)), - this, SLOT(requestContextMenu(TextEditor::BaseTextEditor*,int,QMenu*))); + if (auto widget = qobject_cast<TextEditorWidget *>(editor->widget())) { + connect(widget, &TextEditorWidget::markContextMenuRequested, + this, &BookmarksPlugin::requestContextMenu); } } -void BookmarksPlugin::requestContextMenu(TextEditor::BaseTextEditor *editor, +void BookmarksPlugin::requestContextMenu(TextEditorWidget *widget, int lineNumber, QMenu *menu) { // Don't set bookmarks in disassembler views. - if (editor->document()->property("DisassemblerView").toBool()) + if (widget->textDocument()->property("DisassemblerView").toBool()) return; m_bookmarkMarginActionLineNumber = lineNumber; - m_bookmarkMarginActionFileName = editor->document()->filePath(); + m_bookmarkMarginActionFileName = widget->textDocument()->filePath(); menu->addAction(m_bookmarkMarginAction); if (m_bookmarkManager->hasBookmarkInPosition(m_bookmarkMarginActionFileName, m_bookmarkMarginActionLineNumber)) diff --git a/src/plugins/bookmarks/bookmarksplugin.h b/src/plugins/bookmarks/bookmarksplugin.h index aaa3146a97..c19de9abdc 100644 --- a/src/plugins/bookmarks/bookmarksplugin.h +++ b/src/plugins/bookmarks/bookmarksplugin.h @@ -42,7 +42,7 @@ QT_END_NAMESPACE namespace Core { class IEditor; } -namespace TextEditor { class BaseTextEditor; } +namespace TextEditor { class TextEditorWidget; } namespace Bookmarks { namespace Internal { @@ -67,12 +67,13 @@ public slots: private slots: void editorOpened(Core::IEditor *editor); void editorAboutToClose(Core::IEditor *editor); - void requestContextMenu(TextEditor::BaseTextEditor *editor, - int lineNumber, QMenu *menu); void bookmarkMarginActionTriggered(); void editBookmarkActionTriggered(); private: + void requestContextMenu(TextEditor::TextEditorWidget *widget, + int lineNumber, QMenu *menu); + BookmarkManager *m_bookmarkManager; QAction *m_toggleAction; |