Merge remote branch 'origin/2.0'

Conflicts:
	doc/qtcreator.qdoc
	src/plugins/projectexplorer/taskwindow.h
	src/plugins/qmldesigner/designercore/model/modelmerger.cpp
	src/plugins/qmljseditor/qmljshoverhandler.h
	src/plugins/qt4projectmanager/Qt4ProjectManager.pluginspec
	src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp
	src/plugins/subversion/subversionplugin.cpp
This commit is contained in:
con
2010-06-11 16:30:39 +02:00
110 changed files with 1328 additions and 730 deletions

View File

@@ -54,6 +54,7 @@
#include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/findplaceholder.h>
#include <coreplugin/icore.h>
#include <coreplugin/helpmanager.h>
#include <coreplugin/minisplitter.h>
#include <coreplugin/modemanager.h>
#include <coreplugin/rightpane.h>
@@ -78,10 +79,8 @@
#include <QtGui/QToolBar>
#include <QtHelp/QHelpEngine>
#include <QtHelp/QHelpEngineCore>
using namespace Core::Constants;
using namespace Help;
using namespace Help::Internal;
const char * const SB_INDEX = QT_TRANSLATE_NOOP("Help::Internal::HelpPlugin", "Index");
@@ -141,22 +140,20 @@ bool HelpPlugin::initialize(const QStringList &arguments, QString *error)
qApp->installTranslator(qhelptr);
}
addAutoReleasedObject(m_helpManager = new HelpManager(this));
addAutoReleasedObject(m_helpManager = new LocalHelpManager(this));
addAutoReleasedObject(m_openPagesManager = new OpenPagesManager(this));
addAutoReleasedObject(m_docSettingsPage = new DocSettingsPage());
addAutoReleasedObject(m_filterSettingsPage = new FilterSettingsPage());
addAutoReleasedObject(m_generalSettingsPage = new GeneralSettingsPage());
connect(m_docSettingsPage, SIGNAL(documentationChanged()), m_filterSettingsPage,
SLOT(updateFilterPage()));
connect(m_generalSettingsPage, SIGNAL(fontChanged()), this,
SLOT(fontChanged()));
connect(m_helpManager, SIGNAL(helpRequested(QUrl)), this,
connect(Core::HelpManager::instance(), SIGNAL(helpRequested(QUrl)), this,
SLOT(handleHelpRequest(QUrl)));
m_filterSettingsPage->setHelpManager(m_helpManager);
connect(m_filterSettingsPage, SIGNAL(filtersChanged()), this,
SLOT(setupHelpEngineIfNeeded()));
connect(m_docSettingsPage, SIGNAL(documentationChanged()), this,
connect(Core::HelpManager::instance(), SIGNAL(documentationChanged()), this,
SLOT(setupHelpEngineIfNeeded()));
m_splitter = new Core::MiniSplitter;
@@ -314,30 +311,20 @@ bool HelpPlugin::initialize(const QStringList &arguments, QString *error)
void HelpPlugin::extensionsInitialized()
{
const QString &filterInternal = QString::fromLatin1("Qt Creator %1.%2.%3")
.arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR).arg(IDE_VERSION_RELEASE);
const QRegExp filterRegExp(QLatin1String("Qt Creator \\d*\\.\\d*\\.\\d*"));
QHelpEngineCore *engine = &m_helpManager->helpEngineCore();
const QStringList &filters = engine->customFilters();
foreach (const QString &filter, filters) {
if (filterRegExp.exactMatch(filter) && filter != filterInternal)
engine->removeCustomFilter(filter);
}
const QString &docInternal = QString::fromLatin1("com.nokia.qtcreator.%1%2%3")
const QString &nsInternal = QString::fromLatin1("com.nokia.qtcreator.%1%2%3")
.arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR).arg(IDE_VERSION_RELEASE);
foreach (const QString &ns, engine->registeredDocumentations()) {
Core::HelpManager *helpManager = Core::HelpManager::instance();
foreach (const QString &ns, helpManager->registeredNamespaces()) {
if (ns.startsWith(QLatin1String("com.nokia.qtcreator."))
&& ns != docInternal)
m_helpManager->unregisterDocumentation(QStringList() << ns);
&& ns != nsInternal)
helpManager->unregisterDocumentation(QStringList() << ns);
}
QStringList filesToRegister;
// Explicitly register qml.qch if located in creator directory. This is only
// needed for the creator-qml package, were we want to ship the documentation
// without a qt development version.
// without a qt development version. TODO: is this still really needed, remove
const QString &appPath = QCoreApplication::applicationDirPath();
filesToRegister.append(QDir::cleanPath(QDir::cleanPath(appPath
+ QLatin1String(DOCPATH "qml.qch"))));
@@ -345,24 +332,6 @@ void HelpPlugin::extensionsInitialized()
// we might need to register creators inbuild help
filesToRegister.append(QDir::cleanPath(appPath
+ QLatin1String(DOCPATH "qtcreator.qch")));
// this comes from the installer
const QLatin1String key("AddedDocs");
const QString &addedDocs = engine->customValue(key).toString();
if (!addedDocs.isEmpty()) {
engine->removeCustomValue(key);
filesToRegister += addedDocs.split(QLatin1Char(';'));
}
updateFilterComboBox();
m_helpManager->verifyDocumenation();
m_helpManager->registerDocumentation(filesToRegister);
const QString &url = QString::fromLatin1("qthelp://com.nokia.qtcreator."
"%1%2%3/doc/index.html").arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR)
.arg(IDE_VERSION_RELEASE);
engine->setCustomValue(QLatin1String("DefaultHomePage"), url);
connect(engine, SIGNAL(setupFinished()), this, SLOT(updateFilterComboBox()));
}
void HelpPlugin::aboutToShutdown()
@@ -425,7 +394,7 @@ void HelpPlugin::setupUi()
// connect(shortcut, SIGNAL(activated()), this, SLOT(activateSearch()));
// shortcutMap.insert(QLatin1String(SB_SEARCH), cmd);
BookmarkManager *manager = &HelpManager::bookmarkManager();
BookmarkManager *manager = &LocalHelpManager::bookmarkManager();
BookmarkWidget *bookmarkWidget = new BookmarkWidget(manager, 0, false);
bookmarkWidget->setWindowTitle(tr(SB_BOOKMARKS));
m_bookmarkItem = new Core::SideBarItem(bookmarkWidget, QLatin1String(SB_BOOKMARKS));
@@ -470,24 +439,36 @@ void HelpPlugin::setupUi()
void HelpPlugin::resetFilter()
{
const QString &filterInternal = QString::fromLatin1("Qt Creator %1.%2.%3")
.arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR).arg(IDE_VERSION_RELEASE);
const QRegExp filterRegExp(QLatin1String("Qt Creator \\d*\\.\\d*\\.\\d*"));
QHelpEngineCore *engine = &LocalHelpManager::helpEngine();
const QStringList &filters = engine->customFilters();
foreach (const QString &filter, filters) {
if (filterRegExp.exactMatch(filter) && filter != filterInternal)
engine->removeCustomFilter(filter);
}
const QLatin1String weAddedFilterKey("UnfilteredFilterInserted");
const QLatin1String previousFilterNameKey("UnfilteredFilterName");
QHelpEngineCore *core = &m_helpManager->helpEngineCore();
if (core->customValue(weAddedFilterKey).toInt() == 1) {
if (engine->customValue(weAddedFilterKey).toInt() == 1) {
// we added a filter at some point, remove previously added filter
const QString &filter = core->customValue(previousFilterNameKey).toString();
const QString &filter = engine->customValue(previousFilterNameKey).toString();
if (!filter.isEmpty())
core->removeCustomFilter(filter);
engine->removeCustomFilter(filter);
}
// potentially remove a filter with new name
const QString filterName = tr("Unfiltered");
core->removeCustomFilter(filterName);
core->addCustomFilter(filterName, QStringList());
core->setCustomValue(weAddedFilterKey, 1);
core->setCustomValue(previousFilterNameKey, filterName);
(&m_helpManager->helpEngine())->setCurrentFilter(filterName);
engine->removeCustomFilter(filterName);
engine->addCustomFilter(filterName, QStringList());
engine->setCustomValue(weAddedFilterKey, 1);
engine->setCustomValue(previousFilterNameKey, filterName);
engine->setCurrentFilter(filterName);
updateFilterComboBox();
connect(engine, SIGNAL(setupFinished()), this, SLOT(updateFilterComboBox()));
}
void HelpPlugin::createRightPaneContextViewer()
@@ -595,9 +576,9 @@ void HelpPlugin::modeChanged(Core::IMode *mode)
qApp->processEvents();
qApp->setOverrideCursor(Qt::WaitCursor);
m_helpManager->setupGuiHelpEngine();
setupUi();
resetFilter();
m_helpManager->setupGuiHelpEngine();
OpenPagesManager::instance().setupInitialPages();
qApp->restoreOverrideCursor();
@@ -633,7 +614,7 @@ void HelpPlugin::fontChanged()
if (!m_helpViewerForSideBar)
createRightPaneContextViewer();
const QHelpEngineCore &engine = m_helpManager->helpEngineCore();
const QHelpEngine &engine = LocalHelpManager::helpEngine();
QFont font = qVariantValue<QFont>(engine.customValue(QLatin1String("font"),
m_helpViewerForSideBar->viewerFont()));
@@ -647,7 +628,8 @@ void HelpPlugin::fontChanged()
void HelpPlugin::setupHelpEngineIfNeeded()
{
if (Core::ICore::instance()->modeManager()->currentMode() == m_mode)
m_helpManager->setEngineNeedsUpdate();
if (Core::ModeManager::instance()->currentMode() == m_mode)
m_helpManager->setupGuiHelpEngine();
}
@@ -656,7 +638,7 @@ HelpViewer* HelpPlugin::viewerForContextMode()
using namespace Core;
bool showSideBySide = false;
const QHelpEngineCore &engine = m_helpManager->helpEngineCore();
const QHelpEngineCore &engine = LocalHelpManager::helpEngine();
RightPanePlaceHolder *placeHolder = RightPanePlaceHolder::current();
switch (engine.customValue(QLatin1String("ContextHelpOption"), 0).toInt()) {
case 0: {
@@ -713,7 +695,7 @@ void HelpPlugin::activateContext()
// Find out what to show
if (IContext *context = m_core->currentContextObject()) {
id = context->contextHelpId();
links = m_helpManager->helpEngineCore().linksForIdentifier(id);
links = Core::HelpManager::instance()->linksForIdentifier(id);
}
if (HelpViewer* viewer = viewerForContextMode()) {
@@ -803,7 +785,7 @@ QToolBar *HelpPlugin::createToolBar()
void HelpPlugin::updateFilterComboBox()
{
const QHelpEngine &engine = m_helpManager->helpEngine();
const QHelpEngine &engine = LocalHelpManager::helpEngine();
QString curFilter = m_filterComboBox->currentText();
if (curFilter.isEmpty())
curFilter = engine.currentFilter();
@@ -817,7 +799,7 @@ void HelpPlugin::updateFilterComboBox()
void HelpPlugin::filterDocumentation(const QString &customFilter)
{
(&m_helpManager->helpEngine())->setCurrentFilter(customFilter);
LocalHelpManager::helpEngine().setCurrentFilter(customFilter);
}
void HelpPlugin::addBookmark()
@@ -828,7 +810,7 @@ void HelpPlugin::addBookmark()
if (url.isEmpty() || url == Help::Constants::AboutBlank)
return;
BookmarkManager *manager = &HelpManager::bookmarkManager();
BookmarkManager *manager = &LocalHelpManager::bookmarkManager();
manager->showBookmarkDialog(m_centralWidget, viewer->title(), url);
}
@@ -837,7 +819,7 @@ void HelpPlugin::handleHelpRequest(const QUrl &url)
if (HelpViewer::launchWithExternalApp(url))
return;
if (m_helpManager->helpEngineCore().findFile(url).isValid()) {
if (Core::HelpManager::instance()->findFile(url).isValid()) {
if (url.queryItemValue(QLatin1String("view")) == QLatin1String("split")) {
if (HelpViewer* viewer = viewerForContextMode())
viewer->setSource(url);