forked from qt-creator/qt-creator
Core: add convenience function generating a documents context menu
Change-Id: I1f00bccf3c24d0bde8764277e1cfb4ef0c6e758b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -2928,6 +2928,16 @@ void EditorManager::addNativeDirAndOpenWithActions(QMenu *contextMenu, DocumentM
|
||||
populateOpenWithMenu(openWith, entry->filePath());
|
||||
}
|
||||
|
||||
void EditorManager::addContextMenuActions(
|
||||
QMenu *contextMenu, DocumentModel::Entry *entry, IEditor *editor)
|
||||
{
|
||||
EditorManager::addSaveAndCloseEditorActions(contextMenu, entry, editor);
|
||||
contextMenu->addSeparator();
|
||||
EditorManager::addPinEditorActions(contextMenu, entry);
|
||||
contextMenu->addSeparator();
|
||||
EditorManager::addNativeDirAndOpenWithActions(contextMenu, entry);
|
||||
}
|
||||
|
||||
/*!
|
||||
Populates the \uicontrol {Open With} menu \a menu with editors that are
|
||||
suitable for opening the document \a filePath.
|
||||
|
@@ -141,6 +141,8 @@ public:
|
||||
IEditor *editor = nullptr);
|
||||
static void addPinEditorActions(QMenu *contextMenu, DocumentModel::Entry *entry);
|
||||
static void addNativeDirAndOpenWithActions(QMenu *contextMenu, DocumentModel::Entry *entry);
|
||||
static void addContextMenuActions(
|
||||
QMenu *contextMenu, DocumentModel::Entry *entry, IEditor *editor = nullptr);
|
||||
static void populateOpenWithMenu(QMenu *menu, const Utils::FilePath &filePath);
|
||||
|
||||
static void runWithTemporaryEditor(const Utils::FilePath &filePath,
|
||||
|
@@ -381,11 +381,7 @@ void EditorView::fillListContextMenu(QMenu *menu) const
|
||||
IEditor *editor = currentEditor();
|
||||
DocumentModel::Entry *entry = editor ? DocumentModel::entryForDocument(editor->document())
|
||||
: nullptr;
|
||||
EditorManager::addSaveAndCloseEditorActions(menu, entry, editor);
|
||||
menu->addSeparator();
|
||||
EditorManager::addPinEditorActions(menu, entry);
|
||||
menu->addSeparator();
|
||||
EditorManager::addNativeDirAndOpenWithActions(menu, entry);
|
||||
EditorManager::addContextMenuActions(menu, entry, editor);
|
||||
}
|
||||
|
||||
void EditorView::splitHorizontally()
|
||||
|
@@ -153,11 +153,7 @@ void OpenEditorsWidget::contextMenuRequested(QPoint pos)
|
||||
QModelIndex editorIndex = indexAt(pos);
|
||||
const int row = m_model->mapToSource(editorIndex).row();
|
||||
DocumentModel::Entry *entry = DocumentModel::entryAtRow(row);
|
||||
EditorManager::addSaveAndCloseEditorActions(&contextMenu, entry);
|
||||
contextMenu.addSeparator();
|
||||
EditorManager::addPinEditorActions(&contextMenu, entry);
|
||||
contextMenu.addSeparator();
|
||||
EditorManager::addNativeDirAndOpenWithActions(&contextMenu, entry);
|
||||
EditorManager::addContextMenuActions(&contextMenu, entry);
|
||||
contextMenu.exec(mapToGlobal(pos));
|
||||
}
|
||||
|
||||
|
@@ -341,11 +341,7 @@ void EditorToolBar::fillListContextMenu(QMenu *menu)
|
||||
IEditor *editor = EditorManager::currentEditor();
|
||||
DocumentModel::Entry *entry = editor ? DocumentModel::entryForDocument(editor->document())
|
||||
: nullptr;
|
||||
EditorManager::addSaveAndCloseEditorActions(menu, entry, editor);
|
||||
menu->addSeparator();
|
||||
EditorManager::addPinEditorActions(menu, entry);
|
||||
menu->addSeparator();
|
||||
EditorManager::addNativeDirAndOpenWithActions(menu, entry);
|
||||
EditorManager::addContextMenuActions(menu, entry, editor);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user