OSDN Git Service

Fix context help for examples
authorDaniel Molkentin <daniel.molkentin@nokia.com>
Thu, 19 May 2011 15:14:53 +0000 (17:14 +0200)
committerhjk <qthjk@ovi.com>
Thu, 26 May 2011 11:49:37 +0000 (13:49 +0200)
- createRightPaneContextViewer() needs to be called up-front. In the old
order, it would fail the first time.

- Queue opening of help, because we need the editor window to be drawn
  before it can be assessed wether to show the help in split mode

Change-Id: Ib2054285efb07ccbfaf3faf089085c16ba432be8z
(cherry picked from commit c86e81c362411d1f766d36f0f0946a5039fb65fd)
Reviewed-on: http://codereview.qt.nokia.com/149
Reviewed-by: hjk <qthjk@ovi.com>
src/plugins/help/helpplugin.cpp
src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp

index 89d006c..5e5d8e2 100644 (file)
@@ -837,9 +837,9 @@ HelpViewer* HelpPlugin::viewerForContextMode()
     }
 
     if (placeHolder && showSideBySide) {
+        createRightPaneContextViewer();
         RightPaneWidget::instance()->setWidget(m_rightPaneSideBarWidget);
         RightPaneWidget::instance()->setShown(true);
-        createRightPaneContextViewer();
         return m_helpViewerForSideBar;
     }
 
index d2c9c0e..a5c1341 100644 (file)
@@ -439,8 +439,12 @@ void GettingStartedWelcomePageWidget::slotOpenExample()
     }
     if (ProjectExplorer::ProjectExplorerPlugin::instance()->openProject(proFile)) {
         Core::ICore::instance()->openFiles(files);
-        if (!helpFile.isEmpty())
-            slotOpenContextHelpPage(helpFile);
+        if (!helpFile.isEmpty()) {
+            // queue this to make sure it gets executed after the editor widget
+            // has been drawn, so we know whether to show a split help or not
+            QMetaObject::invokeMethod(this, "slotOpenContextHelpPage",
+                                      Qt::QueuedConnection, Q_ARG(QString, helpFile));
+        }
     }
 }