summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2013-09-24 12:12:09 +0300
committerOrgad Shaneh <orgads@gmail.com>2013-09-30 16:24:57 +0200
commit6d7bf0f7e721f15f10846e30ed84e5c993e2dfdb (patch)
treef06d7414aeb5907c050a3377718dbb73ebb16e5d /src/plugins
parent895caa7544f7a35908518dc4a67b7532c642f663 (diff)
downloadqt-creator-6d7bf0f7e721f15f10846e30ed84e5c993e2dfdb.tar.gz
EditorManager: Add "Find in this directory..." for open files
Also add in Projects view Change-Id: I42145c742a38f5538a4ed44574963136aa18e134 Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/coreplugin/editormanager/editormanager.cpp12
-rw-r--r--src/plugins/coreplugin/editormanager/editormanager.h2
-rw-r--r--src/plugins/coreplugin/fileutils.cpp5
-rw-r--r--src/plugins/coreplugin/fileutils.h1
-rw-r--r--src/plugins/projectexplorer/foldernavigationwidget.cpp7
-rw-r--r--src/plugins/projectexplorer/foldernavigationwidget.h2
-rw-r--r--src/plugins/projectexplorer/projectexplorer.cpp4
-rw-r--r--src/plugins/texteditor/findinfiles.cpp2
-rw-r--r--src/plugins/texteditor/findinfiles.h2
9 files changed, 27 insertions, 10 deletions
diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp
index 508f2ce8e8..4a9890f05e 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.cpp
+++ b/src/plugins/coreplugin/editormanager/editormanager.cpp
@@ -198,6 +198,7 @@ public:
QAction *m_closeAllEditorsExceptVisibleContextAction;
QAction *m_openGraphicalShellAction;
QAction *m_openTerminalAction;
+ QAction *m_findInDirectoryAction;
DocumentModel::Entry *m_contextMenuEntry;
Internal::OpenEditorsWindow *m_windowPopup;
@@ -240,6 +241,7 @@ EditorManagerPrivate::EditorManagerPrivate(QWidget *parent) :
m_closeAllEditorsExceptVisibleContextAction(new QAction(EditorManager::tr("Close All Except Visible"), parent)),
m_openGraphicalShellAction(new QAction(FileUtils::msgGraphicalShellAction(), parent)),
m_openTerminalAction(new QAction(FileUtils::msgTerminalAction(), parent)),
+ m_findInDirectoryAction(new QAction(FileUtils::msgFindInDirectory(), parent)),
m_windowPopup(0),
m_coreListener(0),
m_reloadSetting(IDocument::AlwaysAsk),
@@ -345,6 +347,7 @@ EditorManager::EditorManager(QWidget *parent) :
connect(d->m_openGraphicalShellAction, SIGNAL(triggered()), this, SLOT(showInGraphicalShell()));
connect(d->m_openTerminalAction, SIGNAL(triggered()), this, SLOT(openTerminal()));
+ connect(d->m_findInDirectoryAction, SIGNAL(triggered()), this, SLOT(findInDirectory()));
// Goto Previous In History Action
cmd = ActionManager::registerAction(d->m_gotoPreviousDocHistoryAction, Constants::GOTOPREVINHISTORY, editDesignContext);
@@ -813,8 +816,10 @@ void EditorManager::addNativeDirActions(QMenu *contextMenu, DocumentModel::Entry
bool enabled = entry && !entry->fileName().isEmpty();
d->m_openGraphicalShellAction->setEnabled(enabled);
d->m_openTerminalAction->setEnabled(enabled);
+ d->m_findInDirectoryAction->setEnabled(enabled);
contextMenu->addAction(d->m_openGraphicalShellAction);
contextMenu->addAction(d->m_openTerminalAction);
+ contextMenu->addAction(d->m_findInDirectoryAction);
}
static void setFocusToEditorViewAndUnmaximizePanes(EditorView *view)
@@ -958,6 +963,13 @@ void EditorManager::openTerminal()
Core::FileUtils::openTerminal(QFileInfo(d->m_contextMenuEntry->fileName()).path());
}
+void EditorManager::findInDirectory()
+{
+ if (!d->m_contextMenuEntry || d->m_contextMenuEntry->fileName().isEmpty())
+ return;
+ emit m_instance->findOnFileSystemRequest(QFileInfo(d->m_contextMenuEntry->fileName()).path());
+}
+
void EditorManager::rootDestroyed(QObject *root)
{
QWidget *activeWin = qApp->activeWindow();
diff --git a/src/plugins/coreplugin/editormanager/editormanager.h b/src/plugins/coreplugin/editormanager/editormanager.h
index 0648051fb5..5987b9e8b5 100644
--- a/src/plugins/coreplugin/editormanager/editormanager.h
+++ b/src/plugins/coreplugin/editormanager/editormanager.h
@@ -195,6 +195,7 @@ signals:
void editorOpened(Core::IEditor *editor);
void editorAboutToClose(Core::IEditor *editor);
void editorsClosed(QList<Core::IEditor *> editors);
+ void findOnFileSystemRequest(const QString &path);
public slots:
static bool closeAllEditors(bool askAboutModifiedEditors = true);
@@ -229,6 +230,7 @@ private slots:
static void showInGraphicalShell();
static void openTerminal();
+ static void findInDirectory();
static void rootDestroyed(QObject *root);
static void setCurrentEditorFromContextChange();
diff --git a/src/plugins/coreplugin/fileutils.cpp b/src/plugins/coreplugin/fileutils.cpp
index 1d127d679a..716baa3030 100644
--- a/src/plugins/coreplugin/fileutils.cpp
+++ b/src/plugins/coreplugin/fileutils.cpp
@@ -140,6 +140,11 @@ void FileUtils::openTerminal(const QString &path)
QProcess::startDetached(terminalEmulator, args, pwd);
}
+QString FileUtils::msgFindInDirectory()
+{
+ return QApplication::translate("Core::Internal", "Find in This Directory...");
+}
+
QString FileUtils::msgGraphicalShellAction()
{
if (HostOsInfo::isWindowsHost())
diff --git a/src/plugins/coreplugin/fileutils.h b/src/plugins/coreplugin/fileutils.h
index aa025f2a54..92ffa12a89 100644
--- a/src/plugins/coreplugin/fileutils.h
+++ b/src/plugins/coreplugin/fileutils.h
@@ -43,6 +43,7 @@ struct CORE_EXPORT FileUtils
// Helpers for common directory browser options.
static void showInGraphicalShell(QWidget *parent, const QString &path);
static void openTerminal(const QString &path);
+ static QString msgFindInDirectory();
// Platform-dependent action descriptions
static QString msgGraphicalShellAction();
static QString msgTerminalAction();
diff --git a/src/plugins/projectexplorer/foldernavigationwidget.cpp b/src/plugins/projectexplorer/foldernavigationwidget.cpp
index fea4543db3..6aad3a6b20 100644
--- a/src/plugins/projectexplorer/foldernavigationwidget.cpp
+++ b/src/plugins/projectexplorer/foldernavigationwidget.cpp
@@ -307,7 +307,7 @@ void FolderNavigationWidget::contextMenuEvent(QContextMenuEvent *ev)
QAction *actionTerminal = menu.addAction(Core::FileUtils::msgTerminalAction());
actionTerminal->setEnabled(hasCurrentItem);
- QAction *actionFind = menu.addAction(msgFindOnFileSystem());
+ QAction *actionFind = menu.addAction(Core::FileUtils::msgFindInDirectory());
actionFind->setEnabled(hasCurrentItem);
// open with...
if (!m_fileSystemModel->isDir(current)) {
@@ -349,11 +349,6 @@ void FolderNavigationWidget::contextMenuEvent(QContextMenuEvent *ev)
Core::DocumentManager::executeOpenWithMenuAction(action);
}
-QString FolderNavigationWidget::msgFindOnFileSystem()
-{
- return tr("Find in this directory...");
-}
-
void FolderNavigationWidget::setHiddenFilesFilter(bool filter)
{
QDir::Filters filters = m_fileSystemModel->filter();
diff --git a/src/plugins/projectexplorer/foldernavigationwidget.h b/src/plugins/projectexplorer/foldernavigationwidget.h
index e154a4a109..6b6aaed266 100644
--- a/src/plugins/projectexplorer/foldernavigationwidget.h
+++ b/src/plugins/projectexplorer/foldernavigationwidget.h
@@ -60,8 +60,6 @@ public:
FolderNavigationWidget(QWidget *parent = 0);
bool autoSynchronization() const;
-
- static QString msgFindOnFileSystem();
bool hiddenFilesFilter() const;
public slots:
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 16c2033117..dad6d1720f 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -584,8 +584,10 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
projecTreeContext);
mfileContextMenu->addAction(cmd, Constants::G_FILE_OPEN);
- d->m_searchOnFileSystem = new QAction(FolderNavigationWidget::msgFindOnFileSystem(), this);
+ d->m_searchOnFileSystem = new QAction(FileUtils::msgFindInDirectory(), this);
cmd = ActionManager::registerAction(d->m_searchOnFileSystem, ProjectExplorer::Constants::SEARCHONFILESYSTEM, projecTreeContext);
+
+ mfileContextMenu->addAction(cmd, Constants::G_FILE_OTHER);
mfolderContextMenu->addAction(cmd, Constants::G_FOLDER_CONFIG);
msubProjectContextMenu->addAction(cmd, Constants::G_PROJECT_LAST);
mprojectContextMenu->addAction(cmd, Constants::G_PROJECT_LAST);
diff --git a/src/plugins/texteditor/findinfiles.cpp b/src/plugins/texteditor/findinfiles.cpp
index 7885d5508a..e103ced903 100644
--- a/src/plugins/texteditor/findinfiles.cpp
+++ b/src/plugins/texteditor/findinfiles.cpp
@@ -53,6 +53,8 @@ FindInFiles::FindInFiles()
m_directory(0)
{
m_instance = this;
+ connect(Core::EditorManager::instance(), SIGNAL(findOnFileSystemRequest(QString)),
+ this, SLOT(findOnFileSystem(QString)));
}
FindInFiles::~FindInFiles()
diff --git a/src/plugins/texteditor/findinfiles.h b/src/plugins/texteditor/findinfiles.h
index 736521bd61..e3c6f9ba63 100644
--- a/src/plugins/texteditor/findinfiles.h
+++ b/src/plugins/texteditor/findinfiles.h
@@ -64,7 +64,7 @@ protected:
QString label() const;
QString toolTip() const;
-public:
+public slots:
static void findOnFileSystem(const QString &path);
private slots: