diff options
Diffstat (limited to 'src/plugins/beautifier/beautifierplugin.h')
-rw-r--r-- | src/plugins/beautifier/beautifierplugin.h | 40 |
1 files changed, 36 insertions, 4 deletions
diff --git a/src/plugins/beautifier/beautifierplugin.h b/src/plugins/beautifier/beautifierplugin.h index 42f5733988..c495dcb009 100644 --- a/src/plugins/beautifier/beautifierplugin.h +++ b/src/plugins/beautifier/beautifierplugin.h @@ -30,16 +30,39 @@ #ifndef BEAUTIFIER_BEAUTIFIER_H #define BEAUTIFIER_BEAUTIFIER_H +#include "command.h" + #include <extensionsystem/iplugin.h> #include <utils/qtcoverride.h> +#include <QFutureInterface> +#include <QPlainTextEdit> +#include <QSignalMapper> + namespace Core { class IEditor; } namespace Beautifier { namespace Internal { class BeautifierAbstractTool; -class Command; + +struct FormatTask +{ + FormatTask(QPlainTextEdit *_editor, const QString &_filePath, const QString &_sourceData, + const Command &_command) : + editor(_editor), + filePath(_filePath), + sourceData(_sourceData), + command(_command), + timeout(false) {} + + QPointer<QPlainTextEdit> editor; + QString filePath; + QString sourceData; + Command command; + QString formattedData; + bool timeout; +}; class BeautifierPlugin : public ExtensionSystem::IPlugin { @@ -53,20 +76,29 @@ public: void extensionsInitialized() QTC_OVERRIDE; ShutdownFlag aboutToShutdown() QTC_OVERRIDE; - static QString format(const QString &text, const Command &command, const QString &fileName); - static void formatCurrentFile(const Command &command); - static void showError(const QString &error); + QString format(const QString &text, const Command &command, const QString &fileName, + bool *timeout = 0); + void formatCurrentFile(const Command &command); + void formatAsync(QFutureInterface<FormatTask> &future, FormatTask task); static QString msgCannotGetConfigurationFile(const QString &command); static QString msgFormatCurrentFile(); static QString msgFormatSelectedText(); static QString msgCommandPromptDialogTitle(const QString &command); +public slots: + static void showError(const QString &error); + private slots: void updateActions(Core::IEditor *editor = 0); + void formatCurrentFileContinue(QObject *watcher = 0); + +signals: + void pipeError(QString); private: QList<BeautifierAbstractTool *> m_tools; + QSignalMapper *m_asyncFormatMapper; }; } // namespace Internal |