Disable "Qt Quick->Preview" action if no qmlviewer in the PATH

An error dialog would be more explicit, but too late because of string
freeze.
This commit is contained in:
Kai Koehne
2010-08-13 12:31:15 +02:00
parent e28e1f0c56
commit ceca9d9d7a
3 changed files with 8 additions and 0 deletions

View File

@@ -133,7 +133,9 @@ bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *e
Core::Command *cmd = addToolAction(m_actionPreview, am, toolsMenuContext,
QLatin1String("QtQuick.Preview"), menuQtQuick, tr("Ctrl+Alt+R"));
connect(cmd->action(), SIGNAL(triggered()), SLOT(openPreview()));
m_previewRunner = new QmlJSPreviewRunner(this);
m_actionPreview->setEnabled(m_previewRunner->isReady());
QAction *followSymbolUnderCursorAction = new QAction(tr("Follow Symbol Under Cursor"), this);
cmd = am->registerAction(followSymbolUnderCursorAction, Constants::FOLLOW_SYMBOL_UNDER_CURSOR, context);

View File

@@ -24,6 +24,10 @@ QmlJSPreviewRunner::QmlJSPreviewRunner(QObject *parent) :
m_applicationLauncher.setEnvironment(environment.toStringList());
}
bool QmlJSPreviewRunner::isReady() const
{
return !m_qmlViewerDefaultPath.isEmpty();
}
void QmlJSPreviewRunner::run(const QString &filename)
{

View File

@@ -13,6 +13,8 @@ class QmlJSPreviewRunner : public QObject
Q_OBJECT
public:
explicit QmlJSPreviewRunner(QObject *parent = 0);
bool isReady() const;
void run(const QString &filename);
signals: