From 1b32bf5b027bb62c38ddfaf67f9b7116e918862c Mon Sep 17 00:00:00 2001 From: Friedemann Kleint <Friedemann.Kleint@nokia.com> Date: Wed, 18 Feb 2009 11:00:25 +0100 Subject: [PATCH] Fixes: Show help as in standalone Designer (currentProperty). Task: 235520 Details: Use new integration API #ifdefed for 4.5.1 onwards. --- src/plugins/designer/formwindoweditor.cpp | 17 ++++++++++++++--- .../qt_private/qdesigner_integration_p.h | 2 ++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/plugins/designer/formwindoweditor.cpp b/src/plugins/designer/formwindoweditor.cpp index 869443a9aaf..a2fa85b5ca3 100644 --- a/src/plugins/designer/formwindoweditor.cpp +++ b/src/plugins/designer/formwindoweditor.cpp @@ -49,6 +49,7 @@ #include <QtDesigner/QDesignerWidgetDataBaseInterface> #include <qt_private/formwindowbase_p.h> #include <qt_private/qtresourcemodel_p.h> +#include <qt_private/qdesigner_integration_p.h> #include <QtCore/QFile> #include <QtCore/QDir> @@ -330,9 +331,17 @@ void FormWindowEditor::activate() QString FormWindowEditor::contextHelpId() const { - // TODO [13.2.09]: Replace this by QDesignerIntegrations context help Id - // in the upcoming version of Qt - QDesignerFormEditorInterface *core = FormEditorW::instance()->designerEditor(); + const QDesignerFormEditorInterface *core = FormEditorW::instance()->designerEditor(); +#if QT_VERSION > 0x040500 + // Present from Qt 4.5.1 onwards. This will show the class documentation + // scrolled to the current property. + const qdesigner_internal::QDesignerIntegration *integration = + qobject_cast<const qdesigner_internal::QDesignerIntegration*>(core->integration()); + if (integration) + return integration->contextHelpId(); + return QString(); +#else + // Pre 4.5.1. This will show the class documentation. QObject *o = core->propertyEditor()->object(); if (!o) return QString(); @@ -347,5 +356,7 @@ QString FormWindowEditor::contextHelpId() const className = QLatin1String("QSpacerItem"); else if (className == QLatin1String("QLayoutWidget")) className = QLatin1String("QLayout"); + return className; +#endif } diff --git a/src/plugins/designer/qt_private/qdesigner_integration_p.h b/src/plugins/designer/qt_private/qdesigner_integration_p.h index b301a1ce827..d02da7b809e 100644 --- a/src/plugins/designer/qt_private/qdesigner_integration_p.h +++ b/src/plugins/designer/qt_private/qdesigner_integration_p.h @@ -95,6 +95,8 @@ public: bool isResourceEditingEnabled() const; bool isSlotNavigationEnabled() const; + QString contextHelpId() const; + protected: void setResourceFileWatcherBehaviour(ResourceFileWatcherBehaviour behaviour); // PromptAndReload by default -- GitLab