summaryrefslogtreecommitdiff
path: root/src/plugins/bookmarks
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-09-30 16:54:26 +0200
committerhjk <hjk121@nokiamail.com>2014-10-02 10:42:43 +0200
commitf566d7eae0cc1818d4c8688b6906182022ba5cec (patch)
tree3877995c161c418c5bc745ad9f68a5fe85d4f846 /src/plugins/bookmarks
parentaf23e254df5d1c3b3f797dbfe38ce521c864e857 (diff)
downloadqt-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.cpp21
-rw-r--r--src/plugins/bookmarks/bookmarkmanager.h14
-rw-r--r--src/plugins/bookmarks/bookmarksplugin.cpp35
-rw-r--r--src/plugins/bookmarks/bookmarksplugin.h7
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;