**
** This file is part of Qt Creator
**
-** Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
#ifndef FINDPLUGIN_H
#define FINDPLUGIN_H
-#include "ifindfilter.h"
-#include "findtoolbar.h"
+#include "find_global.h"
+#include "textfindconstants.h"
#include <extensionsystem/iplugin.h>
-#include <QtCore/QHash>
-#include <QtCore/QStringList>
-#include <QtGui/QAction>
#include <QtGui/QTextDocument>
+QT_BEGIN_NAMESPACE
+class QStringListModel;
+QT_END_NAMESPACE
+
namespace Find {
-namespace Internal {
+class IFindFilter;
+struct FindPluginPrivate;
+namespace Internal {
+class FindToolBar;
class FindToolWindow;
+class CurrentDocumentFind;
+} // namespace Internal
-class FindPlugin : public ExtensionSystem::IPlugin
+class FIND_EXPORT FindPlugin : public ExtensionSystem::IPlugin
{
Q_OBJECT
public:
FindPlugin();
virtual ~FindPlugin();
+ static FindPlugin *instance();
+
+ enum FindDirection {
+ FindForward,
+ FindBackward
+ };
// IPlugin
bool initialize(const QStringList &arguments, QString *error_message);
void extensionsInitialized();
- void shutdown();
+ ShutdownFlag aboutToShutdown();
- QTextDocument::FindFlags findFlags() const;
+ Find::FindFlags findFlags() const;
+ bool hasFindFlag(Find::FindFlag flag);
void updateFindCompletion(const QString &text);
void updateReplaceCompletion(const QString &text);
- QStringListModel *findCompletionModel() { return m_findCompletionModel; }
- QStringListModel *replaceCompletionModel() { return m_replaceCompletionModel; }
+ QStringListModel *findCompletionModel() const;
+ QStringListModel *replaceCompletionModel() const;
+ void setUseFakeVim(bool on);
+ void openFindToolBar(FindDirection direction);
public slots:
void setCaseSensitive(bool sensitive);
void setWholeWord(bool wholeOnly);
void setBackward(bool backward);
+ void setRegularExpression(bool regExp);
signals:
void findFlagsChanged();
void openFindFilter();
private:
- void setFindFlag(QTextDocument::FindFlag flag, bool enabled);
- bool hasFindFlag(QTextDocument::FindFlag flag);
+ void setFindFlag(Find::FindFlag flag, bool enabled);
void updateCompletion(const QString &text, QStringList &completions, QStringListModel *model);
void setupMenu();
void setupFilterMenuItems();
void readSettings();
//variables
- QHash<IFindFilter *, QAction *> m_filterActions;
-
- CurrentDocumentFind *m_currentDocumentFind;
- FindToolBar *m_findToolBar;
- FindToolWindow *m_findDialog;
- QTextDocument::FindFlags m_findFlags;
- QStringListModel *m_findCompletionModel;
- QStringListModel *m_replaceCompletionModel;
- QStringList m_findCompletions;
- QStringList m_replaceCompletions;
- QAction *m_openFindDialog;
+ FindPluginPrivate *d;
};
-} // namespace Internal
} // namespace Find
#endif // FINDPLUGIN_H