From 91707ee07599002074fcedb3f75da4b8d0896352 Mon Sep 17 00:00:00 2001 From: dt Date: Mon, 16 Feb 2009 15:23:49 +0100 Subject: [PATCH 01/17] Fixes: Move code from ~OutputWindow to an earlier place. Details: We should stop all running runners, while the plugins are still alive. --- src/plugins/projectexplorer/outputwindow.cpp | 9 ++++++++- src/plugins/projectexplorer/outputwindow.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/outputwindow.cpp b/src/plugins/projectexplorer/outputwindow.cpp index 6dc95b2bf05..5ac6f7e2df2 100644 --- a/src/plugins/projectexplorer/outputwindow.cpp +++ b/src/plugins/projectexplorer/outputwindow.cpp @@ -110,9 +110,12 @@ OutputPane::OutputPane() connect(m_tabWidget, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int))); m_mainWidget->setLayout(layout); + + connect(Core::ICore::instance(), SIGNAL(coreAboutToClose()), + this, SLOT(coreAboutToClose())); } -OutputPane::~OutputPane() +void OutputPane::coreAboutToClose() { while (m_tabWidget->count()) { RunControl *rc = runControlForTab(0); @@ -120,6 +123,10 @@ OutputPane::~OutputPane() rc->stop(); closeTab(0); } +} + +OutputPane::~OutputPane() +{ delete m_mainWidget; } diff --git a/src/plugins/projectexplorer/outputwindow.h b/src/plugins/projectexplorer/outputwindow.h index edc39ac2fb2..ceafb0a36a0 100644 --- a/src/plugins/projectexplorer/outputwindow.h +++ b/src/plugins/projectexplorer/outputwindow.h @@ -84,6 +84,7 @@ public: public slots: void projectRemoved(); + void coreAboutToClose(); private slots: void insertLine(); From 469639fb3c532c54ef03852b08f162ffd227c994 Mon Sep 17 00:00:00 2001 From: dt Date: Thu, 19 Feb 2009 16:11:29 +0100 Subject: [PATCH 02/17] Fixes: Make QtCreator fly even in face of perforce misconfiguration. Details: If p4 is in path, but the server isn't configured correctly we were pretty slow, this fixes that by running p4 client -o after the settings have changed, if that doesn't return after 2 seconds, then we cache that as a invalid configuration. --- .../cmakeprojectmanager/cmakeprojectmanager.h | 4 +- src/plugins/perforce/perforceplugin.cpp | 65 ++++----- src/plugins/perforce/perforceplugin.h | 5 +- src/plugins/perforce/perforcesettings.cpp | 131 +++++++++++++++--- src/plugins/perforce/perforcesettings.h | 38 +++-- src/plugins/perforce/settingspage.cpp | 42 ++++-- src/plugins/perforce/settingspage.h | 7 +- 7 files changed, 207 insertions(+), 85 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h index d8a61e6e802..3a8dda54aa7 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.h @@ -71,14 +71,14 @@ class CMakeRunner { public: CMakeRunner(); - void run(QFutureInterface &fi); void setExecutable(const QString &executable); QString executable() const; QString version() const; bool supportsQtCreator() const; - void waitForUpToDate() const; private: + void run(QFutureInterface &fi); + void waitForUpToDate() const; QString m_executable; QString m_version; bool m_supportsQtCreator; diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp index 7d126c4bb94..b4685419c08 100644 --- a/src/plugins/perforce/perforceplugin.cpp +++ b/src/plugins/perforce/perforceplugin.cpp @@ -221,7 +221,6 @@ bool PerforcePlugin::initialize(const QStringList &arguments, QString *errorMess m_coreListener = new CoreListener(this); addObject(m_coreListener); - //register actions Core::ActionManager *am = Core::ICore::instance()->actionManager(); @@ -682,6 +681,8 @@ void PerforcePlugin::updateActions() bool PerforcePlugin::managesDirectory(const QString &directory) const { + if (!checkP4Command()) + return false; const QString p4Path = directory + QLatin1String("/..."); QStringList args; args << QLatin1String("fstat") << QLatin1String("-m1") << p4Path; @@ -758,7 +759,7 @@ PerforceResponse PerforcePlugin::runP4Cmd(const QStringList &args, tempfile.setAutoRemove(true); const QChar newLine = QLatin1Char('\n'); const QChar blank = QLatin1Char(' '); - QStringList actualArgs = basicP4Args(); + QStringList actualArgs = m_settings.basicP4Args(); if (!extraArgs.isEmpty()) { if (tempfile.open()) { QTextStream stream(&tempfile); @@ -773,7 +774,7 @@ PerforceResponse PerforcePlugin::runP4Cmd(const QStringList &args, actualArgs << args; if (logFlags & CommandToWindow) { - QString command = m_settings.p4Command; + QString command = m_settings.p4Command(); command += blank; command += actualArgs.join(QString(blank)); const QString timeStamp = QTime::currentTime().toString(QLatin1String("HH:mm")); @@ -799,7 +800,7 @@ PerforceResponse PerforcePlugin::runP4Cmd(const QStringList &args, connect(&process, SIGNAL(stdOutBuffered(QString,bool)), m_perforceOutputWindow, SLOT(append(QString,bool))); } - const Core::Utils::SynchronousProcessResponse sp_resp = process.run(m_settings.p4Command, actualArgs); + const Core::Utils::SynchronousProcessResponse sp_resp = process.run(m_settings.p4Command(), actualArgs); if (Perforce::Constants::debug) qDebug() << sp_resp; @@ -817,7 +818,7 @@ PerforceResponse PerforcePlugin::runP4Cmd(const QStringList &args, response.message = tr("The process terminated abnormally."); break; case Core::Utils::SynchronousProcessResponse::StartFailed: - response.message = tr("Could not start perforce '%1'. Please check your settings in the preferences.").arg(m_settings.p4Command); + response.message = tr("Could not start perforce '%1'. Please check your settings in the preferences.").arg(m_settings.p4Command()); break; case Core::Utils::SynchronousProcessResponse::Hang: response.message = tr("Perforce did not respond within timeout limit (%1 ms).").arg(p4Timeout ); @@ -969,8 +970,8 @@ bool PerforcePlugin::editorAboutToClose(Core::IEditor *editor) proc.setEnvironment(environment()); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); - proc.start(m_settings.p4Command, - basicP4Args() << QLatin1String("submit") << QLatin1String("-i")); + proc.start(m_settings.p4Command(), + m_settings.basicP4Args() << QLatin1String("submit") << QLatin1String("-i")); if (!proc.waitForStarted(p4Timeout)) { showOutput(tr("Cannot execute p4 submit."), true); QApplication::restoreOverrideCursor(); @@ -1018,8 +1019,8 @@ QString PerforcePlugin::clientFilePath(const QString &serverFilePath) QApplication::setOverrideCursor(Qt::WaitCursor); QProcess proc; proc.setEnvironment(environment()); - proc.start(m_settings.p4Command, - basicP4Args() << QLatin1String("fstat") << serverFilePath); + proc.start(m_settings.p4Command(), + m_settings.basicP4Args() << QLatin1String("fstat") << serverFilePath); QString path; if (proc.waitForFinished(3000)) { @@ -1047,22 +1048,9 @@ QString PerforcePlugin::currentFileName() return fileName; } -QStringList PerforcePlugin::basicP4Args() const -{ - QStringList lst; - if (!m_settings.defaultEnv) { - lst << QLatin1String("-c") << m_settings.p4Client; - lst << QLatin1String("-p") << m_settings.p4Port; - lst << QLatin1String("-u") << m_settings.p4User; - } - return lst; -} - bool PerforcePlugin::checkP4Command() const { - if (m_settings.p4Command.isEmpty()) - return false; - return true; + return m_settings.isValid(); } QString PerforcePlugin::pendingChangesData() @@ -1074,8 +1062,8 @@ QString PerforcePlugin::pendingChangesData() QString user; QProcess proc; proc.setEnvironment(environment()); - proc.start(m_settings.p4Command, - basicP4Args() << QLatin1String("info")); + proc.start(m_settings.p4Command(), + m_settings.basicP4Args() << QLatin1String("info")); if (proc.waitForFinished(3000)) { QString output = QString::fromUtf8(proc.readAllStandardOutput()); if (!output.isEmpty()) { @@ -1087,8 +1075,8 @@ QString PerforcePlugin::pendingChangesData() } if (user.isEmpty()) return data; - proc.start(m_settings.p4Command, - basicP4Args() << QLatin1String("changes") << QLatin1String("-s") << QLatin1String("pending") << QLatin1String("-u") << user); + proc.start(m_settings.p4Command(), + m_settings.basicP4Args() << QLatin1String("changes") << QLatin1String("-s") << QLatin1String("pending") << QLatin1String("-u") << user); if (proc.waitForFinished(3000)) data = QString::fromUtf8(proc.readAllStandardOutput()); return data; @@ -1139,17 +1127,24 @@ PerforcePlugin::~PerforcePlugin() } } -PerforceSettings PerforcePlugin::settings() const +const PerforceSettings& PerforcePlugin::settings() const { return m_settings; } -void PerforcePlugin::setSettings(const PerforceSettings &s) +void PerforcePlugin::setSettings(const QString &p4Command, const QString &p4Port, const QString &p4Client, const QString p4User, bool defaultEnv) { - if (s != m_settings) { - m_settings = s; - if (QSettings *settings = Core::ICore::instance()->settings()) - m_settings.toSettings(settings); + + if (m_settings.p4Command() == p4Command + && m_settings.p4Port() == p4Port + && m_settings.p4Client() == p4Client + && m_settings.p4User() == p4User + && m_settings.defaultEnv() == defaultEnv) + { + // Nothing to do + } else { + m_settings.setSettings(p4Command, p4Port, p4Client, p4User, defaultEnv); + m_settings.toSettings(Core::ICore::instance()->settings()); } } @@ -1162,9 +1157,9 @@ QString PerforcePlugin::fileNameFromPerforceName(const QString& perforceName, return perforceName; // "where" remaps the file to client file tree QProcess proc; - QStringList args(basicP4Args()); + QStringList args(m_settings.basicP4Args()); args << QLatin1String("where") << perforceName; - proc.start(m_settings.p4Command, args); + proc.start(m_settings.p4Command(), args); if (!proc.waitForFinished()) { *errorMessage = tr("Timeout waiting for \"where\" (%1).").arg(perforceName); return QString(); diff --git a/src/plugins/perforce/perforceplugin.h b/src/plugins/perforce/perforceplugin.h index e5985a28ab5..d856685bba9 100644 --- a/src/plugins/perforce/perforceplugin.h +++ b/src/plugins/perforce/perforceplugin.h @@ -93,7 +93,6 @@ public: PerforcePlugin(); ~PerforcePlugin(); - QStringList basicP4Args() const; SettingsPage *settingsPage() const { return m_settingsPage; } bool initialize(const QStringList &arguments, QString *error_message); @@ -113,8 +112,8 @@ public: static PerforcePlugin *perforcePluginInstance(); - PerforceSettings settings() const; - void setSettings(const PerforceSettings &s); + const PerforceSettings& settings() const; + void setSettings(const QString &p4Command, const QString &p4Port, const QString &p4Client, const QString p4User, bool defaultEnv); // Map a perforce name "//xx" to its real name in the file system QString fileNameFromPerforceName(const QString& perforceName, QString *errorMessage) const; diff --git a/src/plugins/perforce/perforcesettings.cpp b/src/plugins/perforce/perforcesettings.cpp index 7ba51b78e00..b30d12a4145 100644 --- a/src/plugins/perforce/perforcesettings.cpp +++ b/src/plugins/perforce/perforcesettings.cpp @@ -33,7 +33,11 @@ #include "perforcesettings.h" +#include +#include #include +#include +#include static const char *groupC = "Perforce"; static const char *commandKeyC = "Command"; @@ -55,41 +59,134 @@ static QString defaultCommand() namespace Perforce { namespace Internal { -PerforceSettings::PerforceSettings() : - p4Command(defaultCommand()), - defaultEnv(true) +PerforceSettings::PerforceSettings() + : m_valid(false) { + // We do all the initialization in fromSettings +} + +PerforceSettings::~PerforceSettings() +{ + // ensure that we are not still running + m_future.waitForFinished(); +} + +bool PerforceSettings::isValid() const +{ + m_future.waitForFinished(); + m_mutex.lock(); + bool valid = m_valid; + m_mutex.unlock(); + return valid; +} + +void PerforceSettings::run(QFutureInterface &fi) +{ + m_mutex.lock(); + QString executable = m_p4Command; + QStringList arguments = basicP4Args(); + m_mutex.unlock(); + + // TODO actually check + bool valid = true; + + QProcess p4; + p4.start(m_p4Command, QStringList() << "client"<<"-o"); + p4.waitForFinished(2000); + if (p4.state() != QProcess::NotRunning) { + p4.kill(); + p4.waitForFinished(); + valid = false; + } else { + QString response = p4.readAllStandardOutput(); + if (!response.contains("View:")) + valid = false; + } + + m_mutex.lock(); + if (executable == m_p4Command && arguments == basicP4Args()) // Check that those settings weren't changed in between + m_valid = valid; + m_mutex.unlock(); + fi.reportFinished(); } void PerforceSettings::fromSettings(QSettings *settings) { + m_mutex.lock(); settings->beginGroup(QLatin1String(groupC)); - p4Command = settings->value(QLatin1String(commandKeyC), defaultCommand()).toString(); - defaultEnv = settings->value(QLatin1String(defaultKeyC), true).toBool(); - p4Port = settings->value(QLatin1String(portKeyC), QString()).toString(); - p4Client = settings->value(QLatin1String(clientKeyC), QString()).toString(); - p4User = settings->value(QLatin1String(userKeyC), QString()).toString(); + m_p4Command = settings->value(QLatin1String(commandKeyC), defaultCommand()).toString(); + m_defaultEnv = settings->value(QLatin1String(defaultKeyC), true).toBool(); + m_p4Port = settings->value(QLatin1String(portKeyC), QString()).toString(); + m_p4Client = settings->value(QLatin1String(clientKeyC), QString()).toString(); + m_p4User = settings->value(QLatin1String(userKeyC), QString()).toString(); settings->endGroup(); + m_mutex.unlock(); + m_future = QtConcurrent::run(&PerforceSettings::run, this); } void PerforceSettings::toSettings(QSettings *settings) const { + m_mutex.lock(); settings->beginGroup(QLatin1String(groupC)); - settings->setValue(commandKeyC, p4Command); - settings->setValue(defaultKeyC, defaultEnv); - settings->setValue(portKeyC, p4Port); - settings->setValue(clientKeyC, p4Client); - settings->setValue(userKeyC, p4User); + settings->setValue(commandKeyC, m_p4Command); + settings->setValue(defaultKeyC, m_defaultEnv); + settings->setValue(portKeyC, m_p4Port); + settings->setValue(clientKeyC, m_p4Client); + settings->setValue(userKeyC, m_p4User); settings->endGroup(); + m_mutex.unlock(); } -bool PerforceSettings::equals(const PerforceSettings &s) const +void PerforceSettings::setSettings(const QString &p4Command, const QString &p4Port, const QString &p4Client, const QString p4User, bool defaultEnv) { - return p4Command == s.p4Command && p4Port == s.p4Port - && p4Client == s.p4Client && p4User == s.p4User - && defaultEnv == s.defaultEnv; + m_mutex.lock(); + m_p4Command = p4Command; + m_p4Port = p4Port; + m_p4Client = p4Client; + m_p4User = p4User; + m_defaultEnv = defaultEnv; + m_valid = false; + m_mutex.unlock(); + m_future = QtConcurrent::run(&PerforceSettings::run, this); } +QString PerforceSettings::p4Command() const +{ + return m_p4Command; +} + +QString PerforceSettings::p4Port() const +{ + return m_p4Port; +} + +QString PerforceSettings::p4Client() const +{ + return m_p4Client; +} + +QString PerforceSettings::p4User() const +{ + return m_p4User; +} + +bool PerforceSettings::defaultEnv() const +{ + return m_defaultEnv; +} + +QStringList PerforceSettings::basicP4Args() const +{ + QStringList lst; + if (!m_defaultEnv) { + lst << QLatin1String("-c") << m_p4Client; + lst << QLatin1String("-p") << m_p4Port; + lst << QLatin1String("-u") << m_p4User; + } + return lst; +} + + } // Internal } // Perforce diff --git a/src/plugins/perforce/perforcesettings.h b/src/plugins/perforce/perforcesettings.h index 4451d4ad617..0ca1147f4f3 100644 --- a/src/plugins/perforce/perforcesettings.h +++ b/src/plugins/perforce/perforcesettings.h @@ -35,6 +35,7 @@ #define PERFOCESETTINGS_H #include +#include QT_BEGIN_NAMESPACE class QSettings; @@ -43,24 +44,35 @@ QT_END_NAMESPACE namespace Perforce { namespace Internal { -struct PerforceSettings { +class PerforceSettings { +public: PerforceSettings(); - void fromSettings(QSettings *); + ~PerforceSettings(); + void fromSettings(QSettings *settings); void toSettings(QSettings *) const; - bool equals(const PerforceSettings &s) const; + void setSettings(const QString &p4Command, const QString &p4Port, const QString &p4Client, const QString p4User, bool defaultEnv); + bool isValid() const; - QString p4Command; - QString p4Port; - QString p4Client; - QString p4User; - bool defaultEnv; + QString p4Command() const; + QString p4Port() const; + QString p4Client() const; + QString p4User() const; + bool defaultEnv() const; + QStringList basicP4Args() const; +private: + void run(QFutureInterface &fi); + mutable QFuture m_future; + mutable QMutex m_mutex; + + QString m_p4Command; + QString m_p4Port; + QString m_p4Client; + QString m_p4User; + bool m_defaultEnv; + bool m_valid; + Q_DISABLE_COPY(PerforceSettings); }; -inline bool operator==(const PerforceSettings &p1, const PerforceSettings &p2) - { return p1.equals(p2); } -inline bool operator!=(const PerforceSettings &p1, const PerforceSettings &p2) - { return !p1.equals(p2); } - } // Internal } // Perforce diff --git a/src/plugins/perforce/settingspage.cpp b/src/plugins/perforce/settingspage.cpp index 70ef649b0e6..53d32714ff2 100644 --- a/src/plugins/perforce/settingspage.cpp +++ b/src/plugins/perforce/settingspage.cpp @@ -49,24 +49,38 @@ SettingsPageWidget::SettingsPageWidget(QWidget *parent) : m_ui.pathChooser->setExpectedKind(PathChooser::Command); } -PerforceSettings SettingsPageWidget::settings() const +QString SettingsPageWidget::p4Command() const { - PerforceSettings rc; - rc.p4Command = m_ui.pathChooser->path(); - rc.defaultEnv = m_ui.defaultCheckBox->isChecked(); - rc.p4Port = m_ui.portLineEdit->text(); - rc.p4Client = m_ui.clientLineEdit->text(); - rc.p4User = m_ui.userLineEdit->text(); - return rc; + return m_ui.pathChooser->path(); +} + +bool SettingsPageWidget::defaultEnv() const +{ + return m_ui.defaultCheckBox->isChecked(); +} + +QString SettingsPageWidget::p4Port() const +{ + return m_ui.portLineEdit->text(); +} + +QString SettingsPageWidget::p4User() const +{ + return m_ui.userLineEdit->text(); +} + +QString SettingsPageWidget::p4Client() const +{ + return m_ui.clientLineEdit->text(); } void SettingsPageWidget::setSettings(const PerforceSettings &s) { - m_ui.pathChooser->setPath(s.p4Command); - m_ui.defaultCheckBox->setChecked(s.defaultEnv); - m_ui.portLineEdit->setText(s.p4Port); - m_ui.clientLineEdit->setText(s.p4Client); - m_ui.userLineEdit->setText(s.p4User); + m_ui.pathChooser->setPath(s.p4Command()); + m_ui.defaultCheckBox->setChecked(s.defaultEnv()); + m_ui.portLineEdit->setText(s.p4Port()); + m_ui.clientLineEdit->setText(s.p4Client()); + m_ui.userLineEdit->setText(s.p4User()); } SettingsPage::SettingsPage() @@ -101,5 +115,5 @@ void SettingsPage::apply() if (!m_widget) return; - PerforcePlugin::perforcePluginInstance()->setSettings(m_widget->settings()); + PerforcePlugin::perforcePluginInstance()->setSettings(m_widget->p4Command(), m_widget->p4Port(), m_widget->p4Client(), m_widget->p4User(), m_widget->defaultEnv()); } diff --git a/src/plugins/perforce/settingspage.h b/src/plugins/perforce/settingspage.h index f5c43599fad..10a3a0c93b7 100644 --- a/src/plugins/perforce/settingspage.h +++ b/src/plugins/perforce/settingspage.h @@ -51,7 +51,12 @@ class SettingsPageWidget : public QWidget { public: explicit SettingsPageWidget(QWidget *parent); - PerforceSettings settings() const; + QString p4Command() const; + bool defaultEnv() const; + QString p4Port() const; + QString p4User() const; + QString p4Client() const; + void setSettings(const PerforceSettings &); private: From 235c49eb5f5cdfecfcc2acd041cbfbb0432241f3 Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Thu, 19 Feb 2009 16:53:22 +0100 Subject: [PATCH 03/17] qtlibspatcher: Change path for bundled Qt to 4.5.0 on Windows --- src/tools/qtlibspatcher/qtlibspatchermain.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/qtlibspatcher/qtlibspatchermain.cpp b/src/tools/qtlibspatcher/qtlibspatchermain.cpp index ad4e3ae7156..56c7aeb104d 100644 --- a/src/tools/qtlibspatcher/qtlibspatchermain.cpp +++ b/src/tools/qtlibspatcher/qtlibspatchermain.cpp @@ -42,7 +42,7 @@ #include #ifdef Q_OS_WIN -# define QT_INSTALL_DIR "C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.4.3/qt"; +# define QT_INSTALL_DIR "C:/qt-greenhouse/Trolltech/Code_less_create_more/Trolltech/Code_less_create_more/Troll/4.5.0/qt"; const char * const oldInstallBase = QT_INSTALL_DIR; const char * const oldSourceBase = QT_INSTALL_DIR; From 8e826862d685355370ca9d5fd42e7ded4756f974 Mon Sep 17 00:00:00 2001 From: con Date: Fri, 20 Feb 2009 14:24:16 +0100 Subject: [PATCH 04/17] Fixes: - Don't override mac app icon via setWindowIcon. --- src/plugins/coreplugin/mainwindow.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 1c335c0af5e..965b562177d 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -151,7 +151,9 @@ MainWindow::MainWindow() : OutputPaneManager::create(); setWindowTitle(tr("Qt Creator")); +#ifndef Q_OS_MAC qApp->setWindowIcon(QIcon(":/core/images/qtcreator_logo_128.png")); +#endif QCoreApplication::setApplicationName(QLatin1String("QtCreator")); QCoreApplication::setApplicationVersion(QLatin1String(Core::Constants::IDE_VERSION_LONG)); QCoreApplication::setOrganizationName(QLatin1String("Nokia")); From bddd9fa31e46286ab56ef1da5af6816a535c79d2 Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 20 Feb 2009 15:58:14 +0100 Subject: [PATCH 05/17] Fixes: commands: rename FakeVim.InstallHandler -> TextEditor.FakeVimHandler --- src/plugins/fakevim/fakevimplugin.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index 50d45ff8769..dd76ab3e533 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -81,8 +81,8 @@ using namespace ProjectExplorer; namespace FakeVim { namespace Constants { -const char * const INSTALL_HANDLER = "FakeVim.InstallHandler"; -const char * const MINI_BUFFER = "FakeVim.MiniBuffer"; +const char * const INSTALL_HANDLER = "TextEditor.FakeVimHandler"; +const char * const MINI_BUFFER = "TextEditor.FakeVimMiniBuffer"; const char * const INSTALL_KEY = "Alt+V,Alt+V"; } // namespace Constants From d16093d08962c02fe42c102bc10da52f3406710e Mon Sep 17 00:00:00 2001 From: con Date: Fri, 20 Feb 2009 16:48:44 +0100 Subject: [PATCH 06/17] Fixes: - New application icons for windows and linux --- src/app/qtcreator.ico | Bin 300318 -> 287934 bytes .../coreplugin/images/qtcreator_logo_128.png | Bin 8690 -> 7136 bytes .../coreplugin/images/qtcreator_logo_16.png | Bin 725 -> 681 bytes .../coreplugin/images/qtcreator_logo_24.png | Bin 1139 -> 1102 bytes .../coreplugin/images/qtcreator_logo_32.png | Bin 1623 -> 1520 bytes .../coreplugin/images/qtcreator_logo_48.png | Bin 2773 -> 2368 bytes .../coreplugin/images/qtcreator_logo_64.png | Bin 3386 -> 3132 bytes 7 files changed, 0 insertions(+), 0 deletions(-) diff --git a/src/app/qtcreator.ico b/src/app/qtcreator.ico index 4aaeed08733b190f9804693c606d09c234f3c300..4bd39ff6537f4852a0dbfbc3fdf5fcd9c726c61f 100644 GIT binary patch literal 287934 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Å}cH>gFB9r7jB501{VIQx=Sk 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 DXw{dM diff --git a/src/plugins/coreplugin/images/qtcreator_logo_128.png b/src/plugins/coreplugin/images/qtcreator_logo_128.png index c3ddf74c74f18dcbbf04b213ff529c94d60b05da..8b8ff34a748b3fee6306279c4553b7d811f1025c 100644 GIT binary patch delta 7126 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 literal 8690 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 diff --git a/src/plugins/coreplugin/images/qtcreator_logo_16.png b/src/plugins/coreplugin/images/qtcreator_logo_16.png index 6e48e979b8099741f314c500ff8909802ba63aab..d9f511f94c78e4f2123ff30d7be0a08bf3263112 100644 GIT binary patch delta 657 zcmcc0x{`H*O1)%>YeY$Kep*R+Vo@rCV@iHfs)A>3VtQ&&YGO)d;mK4R1_mZ?PZ!6K zid#uK_ZAw?pEyymu~Fo}kq0M=O&&4K=v*^%a_e-*$P+w1!rT!FJoaC`*rI=0>^SnU zy<5WUZce(ulPPH{Hr+kE;rF|cw%GFJ357fY8Qqr6ruM&Un(Gsf&8%qqet&+`Pqm;% zo_`L_jt-tDM9v(~YS^?uaz^pjt8s0+-}@QPsochR<~pO4&e7G3Y21Y#hi^)-d3?-F z_$q(G)!?v$$qDa(4_|L?PXFUS&!#XTNkLZTf0@r~MP=p3ebL+VYFVTU-rvm>5j9x8 zkGYNY#CwH;?|)bBcUbki{5K!KjEg`0o`1fe zP$A;y>$axL?{nWpJv(N$`|X=ID)x1MDnvB?$t5uuJP3q^IzY+d)M^q*Ds#=_VsBDzve!Cc6RoC|9Lh$?_awnHgUoP-as*< zy=7J3{;!-QbZL9ztjMQNpGr3Pr9F7~kn#4vS65emj^9^P**r;TA}`~k&GGiH*rR4= zZ}jr?G_3jiYieU}Z|}qN^X+-AuZvBt`1t5(ea?i>2iZQz^d}q<3xD(Gd)Lk#J0$A< z{yO^M{e62jH8r)i)#2-nV)j&gyfn|YI_$=c8wx@~d8_L76=e}8|!e}DP=dzYr`$NRClJxot2Wng4u*s_7| X&aR^m)-y10F)(<#`njxgN@xNA66j0b delta 701 zcmZ3GZx^prw85kJYlDyqr82*Fcg1yTpGcYi47I;J!Gca%qgD@k* ztT_@43=Hfgp1!W^H@G-?hS)x<7olw+V=Snn9PV2;?OAR0x6PaOoSb-~ zaMEUBhW^guk53iKq~6|kDs8jYOrKR1HgyZV^19Uy%`SiLw>o@&{>tofzZI?TleMP4 z4Y}y@!?wX+(^YT!;uyWh-+y(Ci;6z^EZez=q+6m zw6db{XN}#GDQp+s@c)pyzt-m9jinR+e(3N&eg8*bk?w<6M?3-|PDLJ(1JCZhCjYB1g z4Gt~Wntpoa&!3f3Po_-CoF#hMf${ewNkN?!9intNs4gaPiuRdQN5r1_lOCS3j3^ HP6YeY$Kep*R+Vo@rCV@iHfs)A>3VtQ&&YGO)d;mK4R1_tI2o-U3d z6}Ps8=4Q+e6{)*t9+?z#Sxq!a*m?HSl(|O^%<_ulyyC_6>XzTGLw0pM;VXl>bfue^ zFY5kqPZU-^5yG)WOFC+*Qm}fS*F@3Tx5`#}n!a`O%<`OdqyCw%&-C?6d%xeixK2JZ zn_14{{ok7N#qTW7+fLtnGp8c^M%|_-hA&>dnv%+(0G?+P}lX>`Ulsnu0LhXF3nK)!>n(5fB565-?BD~>jih0i$1){eAgoC>alC~ z`*j|C+IWAXfAGd)hF4$pI1ApbTz~V&-Py7RdkO^Zt>8ZYD&9$HDqCXoKlKlPW;#7y z`1>T^y|0Qg-A)T1eCWK)*6G1EGo)$X=IJ+n&E6XS=z(y1IokxkL{*WKK0RAm>s=## z*zz{lwWjH>yZbKj?_t~D4?g_eqT5jMRYBy&j)g9JZ?&^0Osx{O`Pb>o`}^;|tW%P5 z|C2|D{GTJz&J+8=^{zmR$nK{u|F)U`zZOl|ADfc?L&2KN%oG3iuM7sK}zB2J*)%OuP)3PR? zWa)KtPUh!&P+}#>)tVtFQp6OX?B2(?{>HwhUx(zL?LGXTchZ+h0>5VeUu7=bZ0@n9 za&H{}M2{mqlaDA(KH1R1rt;7J(uXH&Tu&$6IsdTdug&Y=3H6uUOTu05zYo8D<;tFm zckY~-?4mULY?A@2xA*s%VjL_hKF-{@apOnd?z>zJmGUB9a_sl?4j*56^R^shgRin&=iCus};khvj(Tne0~^ zy_PaPv^m+^@bKZo>fqqudijYTQo`mhP(Lp0Ik{xwi_As-!l9GGvjcR*mWzptM`kQr zzI@{usaJb%zg<>*S8w|1z01Vr)^1uWs<|cUk^P?aGU^jtv@(KTdaihw`k1f%u&ISb zMcUTyx7#xI3OrVRa_rqi4;2NQ@+twzyAF5&s)~k*2>Xgm*1+$@Wo3SNk|w7 zFW9{?A}1{|F|kA9--d+?6*EkvivN9H&%n&^wR%sRWoP;;1_lNOPgg&ebxsLQ0B~Uw Ai~s-t delta 1118 zcmX@d@tI?SNGZx^prw85kJYlDyqr82*Fcg1yTpGcYi47I;J!Gca%qgD@k* ztT_@43=Hfgp1!W^H@G-?mA-AMe(m*;IO~ZJE#RbNo4P#n!fVF4awz z?=j2}G;80)?R~9dX>*gVPqiW2Bc!c@_1xok7Qcapm8aYjc&d{&h0H zih4VHldk3cW%WHrq8+DUjw~y~U-(I`(=hLM&|1W$h=y#w0^L)duuxh>s zRo^6|i=WQxlI7$~zMXQszs@o?nbD&3)f5Kf11G#B_U6dx8v$M1J&$p@kWb+}j-rc=@-?~b}4}Z_u z?p!*x`t*j|UOTV+HqPJkSY={YvGD@^^=v6i8I_u@W-VQ?py6;k|K%%JzD&HD_0`XX*RN-N}N^ZmRXuT)jv)le_>;7``kNCvN!rpA6t zgIb&vC!JJLRaLF_pJNfooM1FFW_S7fN36x1%7-1r#GYxczv21ip31|SoO!*vdJN)n zOdThhU2Npk1vmt{k9w$0wvgd-dD6TqZ1>HiYp1q7ef#MBP7CFKfvfnZ2=6sNnpB@O z>%n|(23=b@+ig+_p4tL}C9&!Y00w8jt=GvJW~^XJQFPwvE=amF@xi!&;7VQ z#(2j0>6^B2KDe-d2ra`|ZCGtaIni zRoi~smc3_f&hO9%PU-2(H(uQRMgC5HcJ}2nX~oADO`9eb_UcV8p3|-u-*BPksL7?r*c#y_RU3Xc)%)?%v+hU%r?uUc6XEh%+lIYsIQnMY5JfPrBWi zT%H_y@a;p_C|NZmF z=IYg}vw}`d6)bpmM$*~E?#s`bDg%j{6$i6e`=u5iO>%U(cbzopr03UP}#{d8T diff --git a/src/plugins/coreplugin/images/qtcreator_logo_32.png b/src/plugins/coreplugin/images/qtcreator_logo_32.png index 992620b8ae2e2b83b50ce884ce4f7a55244579fe..d2ccdc136f29cf671ebcb0268bd765f72ec6011a 100644 GIT binary patch delta 1502 zcmcc4^MQMUO1)%>YeY$Kep*R+Vo@rCV@iHfs)A>3VtQ&&YGO)d;mK4R1_stio-U3d z6}OIrSNjB~i`eV(+;U>oetfZU!R4?Siwshvb3Pd)Ctb}=66?9yayBz&QR1)m+lSO< zy!qJQzcID**xA(C?^vx$clExIuu|Qn`Kl*q)dj9AO%C!~zSJw`mY-AK+psNQOQ*W! z-sg4O-@do0dtP(@>CU@(6*GilA|pAY|J~gy`*zZqoVq7hmUKKk|KBNeaTZ%{vrlA+ z;sm}AKe``r?%_H3Q18RVCx;d!i`#ztYvsnbK}ux(42g~gH;XpEzeZ`CFPhKuN4P!b zdF4Hi;rK5`dAUt2zpE}}*S~20mCQF|?!o3s;?oX&no_iZZ^px(Zwh}Z^2!g$e3-?! z`YhvC_ct3d@5W?QxHD&8+IG0*f~SD+G!E}&>)Ug?`HS!WeOYaL;?c6h_a1pS7C)%S zwGRl-Ikz(Ldu?BwfbMLb^EH!BygNCu)p)wm?War;mdlkkNE&?K`S9{}yXWu9>*wC* z(AV#7*}Obv!{(2<+qSuElarGABB1xoG3bcSHZx}}_P~r6&6XDynQh8mR${pQTFGal z-9k4wpBAQdJF5r?A7_8OPx{XHd-J~=PkH{n(m+V+i(W@<&XcJ9ck7Nfa^{_LJSMtY zns4PQ34Nb$ayJUoOe5YrV?W(+(&86?-ip}zIkMv7he}x{hO7*AtUm8szfp9BV4UTI z+14harpHd({dW}7+!g=MwtLsEMT-u-y4v`;_m`r;LX!)d(;2hY9)74`fe%Ik zH)}e>uAA@cZ9iTet|IieE6t;{v{c#g?&AYbmRww3{A$iZv&}bS{v~;{FgfP>`JHqB z`SYh^+3xzkLB++J<-8MivimALXkPbtU3|CtotgY<_d0e3AO9hc)p~Y?qr}(Q8#iuT z)zsAVTv%9m;r8v~U#k9U)-3yei}g~3;qEFnzLPqcYUT@`oqS$=d7_u;9Q_RIfXpV< zOFtcS#I!$u`cx(=Cg#=Rq?qu_arMm+aAypkSa)lq^2Y^> z7axuZ4=)$Iod0d7wB6Sd37It;5A0Gte=xmkvVf3EOLTRcTHJD1W_SJf?dp@17lx+( zu&xX~WW`eU>E|E)WxliPw<%a!N*cU%u`-b0ad>`i!2*Q~FH5HUyKFYw*Zx(Uf=J7O zZr8*QXXAK%biETUpHr^S+Skn6zSD4TZfe-IKjAFv_iIh{(trBwncj(W=h{}R&|u5j z8pSDa=58I%s+OdX>XVN=D~8r{b>EfN|x6# zb|0txDT#`@)wX7h&YYgY2bQVA3EA1&M~)mZkeV{Lll(xNmp|dvKu)b=pi&CWHT34q7A;m#GQwkfdX;cNJ*a=SH zlek+ad$P^D>Xu7L!?W315!DL))2xKna0eSWDNfA(ahi9lB%kaw!LFKw1P1nLyirk6 zGGD)b{cZT`UxSR7;i?QKDZV_TnG4ph=il%@@~o|wq$AV2@YPp!@10|g4_@8hRQmn4 z;NJR{6<_^o+tlBxi0Ce@JT*l#=84~OVJmCvg)3LC+`VksGNHxhcOM^Mmt5^tzG9z> z^-1Xo`s)Su%*^uUo1pBW=i%Y;;D9IRpHow{`&Ngq&wKOoW#CU6!KuFWi$$h9)@BsC z(6aUIA&teiZ{L=D+3|PYEPl5tG`|LBbIox|ab|qh57yFx$eX^>RRn?jQKjIr0 a8JyOye!ek~ZxI6n1B0ilpUXO@geCw(k=i-{ delta 1606 zcmeyseVu25NGZx^prw85kJYlDyqr82*Fcg1yTpGcYi47I;J!Gca%qgD@k* ztT_@43=Hfgp1!W^H@G-?G>qR(3l(HwV2~_vjVN)>&&^HED`9XhN=+Eaj?aro@i+??R&q7Cz_-`=XsPYuB|1YQmVa6}X_?Z( zwOl`onuOIi%GN(Ww(nc*@8f-Q)KbnZyCnDW#lG+Nir-bft2|%L_lKwG%U)jnr`J9m z=Fj`fp>h81Yx(*|@$1=t<_p=V3rxLvJoS?^*S|$7FZZo3oc1?tLG0hx)|WRo@EW|T ze{|q>quKRov;JD$bU0?fTp(J&F!g}>ulX7ugb(a~t#wx4)a;#t$c*FvG-}FD9^Sit z3S$DZ0CNyG!`iiLm3F^jUe=KJz^S^rIz_ZGyRqE+l$_<3)M!)Qul2rnWM>>q;7m5W zVq{&M{p{BAi!awyW_SwDvn+0_u-R8zS2u6r!iCJXwzlfyCZfdDr{~PWxt~7de7?-nS9AW)oNuMqTy+=)oF;fJHIV9+=yj8lmd?z` z(0Kj&^=}7`jj|PQ-`w0hGqve@J>&GbUsX%j<%V6GB|Ae^dZFe_>FaqP|D3k=%+^{w z&rqrH%k;?Y5)Dn$g#TR!!g;d7= zGQL*>*w247S*4-_s(RE;jAb7ufNyPUR#`dz(Lh@lIYwh$L~+iXWn_5;#(-#C3WQW zR{_pd+uwiF3T|LKqsKjAa)eIX`R9kTwkn-AlIv$*ez{ZN(cd|~kKcFQUr{P*9~Pay z)MM2Vo!c6Vy0pXBJzSx=^i*8eA~ugDe=6FVThi+<-Hp6{Q|HJhhKB_+0yJDoOHEIv z2+cp=F3{A~#g$_geYjIty^c3w+lgxP8>bCVy*7NAGovK*%eQZf4bMORdiBiGW|a{8 ze-C)(?cSJ?@4v@7y5`@X+!&Sz-+yH5^;#{EXi**ewJXLz?t>=svk5Nbc;+mc5P0y9ptN0e|)I;q0f-kf1_ z>dBKQlOBgfMRf^0%4G26II1x<=~}2@_pu$7uhsTvu5(vC5_8JmNH*<--;9g-kGEG_ zInQU%OgQN-&S2tuIB&af|M8Did%Lrg)YCRg`d)suNxf1@tiPdt!q4yGcWpKwZ%yeC z_W#*=r0I@)k712^-P3sa_J0f1T!nV9ui$4n5xVdAW5vlQb#51Ysj_wIC}Qw@bo$}% z^0i*@^|4Z7PY@h6lJfoD7@Zb zWGHml+^W5&+-&Kx8ZRZ&2ld~V>Bqn2s^?Q_c+t%CKgs2kZlAop9#`qB7cVAk`nL06 zDd&$Zix($nZDsfwy8T~x*V`<-ee0Ikwli6UL)mjdCSdz|LS(1Oo_VaczH|f>O~q7JZ!UO&APEUz5nI0UTO7p@%#Vnxn2LZ z?%|)GpUb%zPvpBeU(A@|qqcd`Gyb(MN{%W*iAhOK4<9DR=!yUS_I9uz1PY?+m!OY}j8xpU`UXKFm~_T`+6*=B(;F@GL^?`8-S+I+J|;8ABNW6YikL*_kIA08asw{hdfZN1Xw)562T zl1!wgAF#==&v@#x{4(Pj{S~76>bknR*^SNz7!UAWVJ;~x_0-kXW!?U6-8#LO;?_NN a3_)}EUwE}@&M^iC1_n=8KbLh*2~7a!6a^{( diff --git a/src/plugins/coreplugin/images/qtcreator_logo_48.png b/src/plugins/coreplugin/images/qtcreator_logo_48.png index 4bedd55219e6eb466cb2dde5cc1318445f30365a..555a51df1bbcf6b62cbe446b655658cdb69a9d33 100644 GIT binary patch delta 2357 zcmcaAdO&D`O1)%>YeY$Kep*R+Vo@rCV@iHfs)A>3VtQ&&YGO)d;mK4R1_q8to-U3d z6}PTLa{EL-7qw$c;%`21q-xXnt{J~bmsH)~h>s%00K zg`K`Op)_b&Nc9G-K*87mrKw)Aw=ZhlTA^@K%1uG(Ad8c;Lj6&jv!@#j^LzFd*VW{| z`^r4|1Bd0MkM-~C|5`l%bN~O`&+^`H%B*e9Jeod#KL7FT?s*4Z`v-0n>}Rt1opZuz zzNF(->nlA~oL3iQ-%GC$;Pa>{tM%?qmR%L3Hu=Ckd9CT6YR^bs`F6FaN5-Q0ad*k* zzjKWOG@ojJv_99@yCC^j{nMg``z-o09Fe&!FJ$|!PELMtWoh+2<~yzZ=b3Ld`&*c> zn;zb1^C1Z`x)zPyKNHbbDe_Rn(XIn|#f@ ze)2y}x6F9;VA{sOFEvLMuUyXln6YQGO53u-7vIklJZpM)gY$mD1phm$3sm0nxY#a= zy=xm#dGVCQsy81>Fa9}mMZo z^Z{-CY{`(8PrJJ<7jT9j_^^Owp5+&AiMeL=AJ2b#5tsV-$rT>y&HEPD8t~oul_j^@ z{gQv@v){*VFU-DhVx94(B{_d`EBXG%D26^NJDZlu0$x9{v)8{&`E>pB(&Hvm>O1rARerbCV!aj;#Tl}{(D}T??W9@qF35!lfbgK%ao?htcc*5e^wq-i?$5#k1fA9L2-*B5d z$4cctA4_HS<*aLP*33Rs5Z_f36ciMfocx%*LcZmDSiiP|&&IYzavg`=Po6wkDJ(3U zU^H{zfok4Y8^WcQ79EPzn9b##u60f0p=J8()LTbhs|uY=kKUH!>E+?kaOlvXm6Ik- z5_2y<^6a^;->1Fv?Ks^>2NhqXnXFfA3D2G9{*k_s7q(vv1zJ z=l5adlKC#OUr#x`meqW)ch})XKX*)6?(&>tf-8(jX#H00Kb{ap1t zJSJ~$Y*aS4wUyoc$I7LN|MIzWeivSUohnna$4X#x-9Gn_m~WjHtiOJJHm&!4DkIIm zT=dgU-vA?frwPixhr$@R!Uir`cU^1`W zGSl4rQ2p%F&+GeV%%0N2@#$VwyY<$KRWd3f&z?Uwzp1Ypp0V}TsyA=mJl~dgmrH9Z z*NU4yY~|(Uo2z%Jss8!?<%>WK$L6r<=Vbm~=r6ik{!HW2Qu%)4Rcq{P?>((K(7D@r zZ}NN|U*DVmR`5iYTdg(Mms{@V=IWZ7c*Sw?MT45h%TiAzT)%y~r(XTf?Fou&!nEhu zR+lYXus}grvO}Zf!Mt5UEK9}tJRVlvH8}E5MY@EuGt1sTr4)<-Q*T0UWM zyD$IqcSuQz$>}BMCO&`Q?6-Bx7K6tx@7-kditG4WFIcl7Y}VfQ_f~9vb8B%*tDIw} ziK!*mgzF3MAG)Rc{NwTXLzm1IG&D}Uea`tgrGCS~goF)>#~vyicI-H|Y?+$0+WOBw z1TRmTwL6bnY^luEz^zedd^%YTe=%?Vb~Dy%>7~@oT<%_eDHaF27ro8-bK!zOPhX$e zl`B_Db~K;&+In5m{d9_v?8Z)mM~5!vm`yI!`8DUG)6$*m*6Df0$zLp2s>zub*1)Cw zRH%0!OZk81`o&MxVFelMQ<{*hPdgYsxws}H}g zH2-?M)pe$wozOyIy|$`XGD^3kq0nKz|pf9>zG+QPz* z?cA>O?;m;MvT$RE?A__F>+imN`7+GpP2sv@imEp>M7TIOI6h?9Ocl!5vvkdxH>H1O zSxeOZUKG`>znWhvLGr)iteG=29d^8Vyr@6MuUJ4(@L=(t;$y0hCz|PohKA~2y?#Bu z@c8f3UW?itcB;(C3Oj;{C}sM}v^AOCvtr8Ko=3%!IFnl|xGTkuf*LZ@H;hDcF%f!D$(6uzFY z@NaEvyOi1GI>+r4Bgb^hmaCy_OuEm{wf^q!74kjlN0+rj6KmAMlPOia;fv*a^_Kf& xIkSJ6!7f$!PfDyxmSy!(v(mdK|FcRkGzdJJx=w>Rgn@y9!PC{xWt~$(69ClhpLPHM delta 2765 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 delta 3347 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 Date: Fri, 20 Feb 2009 17:22:16 +0100 Subject: [PATCH 07/17] Fixes: rename some commands to get something like a 'naming scheme' in place RevBy: con --- src/plugins/bookmarks/bookmarks_global.h | 8 ++++---- src/plugins/coreplugin/coreconstants.h | 6 +++--- src/plugins/coreplugin/mainwindow.cpp | 2 +- src/plugins/coreplugin/navigationwidget.cpp | 2 +- src/plugins/cpaster/cpasterplugin.cpp | 8 ++++---- src/plugins/designer/designerconstants.h | 8 ++++---- src/plugins/git/gitconstants.h | 4 ++-- src/plugins/help/helpplugin.h | 2 +- src/plugins/perforce/perforceconstants.h | 4 ++-- src/plugins/projectexplorer/projectexplorerconstants.h | 2 +- src/plugins/qtscripteditor/qtscripteditorconstants.h | 4 ++-- src/plugins/quickopen/quickopenplugin.cpp | 4 ++-- src/plugins/snippets/snippetsplugin.cpp | 2 +- src/plugins/subversion/subversionconstants.h | 4 ++-- 14 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/plugins/bookmarks/bookmarks_global.h b/src/plugins/bookmarks/bookmarks_global.h index 469c7acd325..727978f4768 100644 --- a/src/plugins/bookmarks/bookmarks_global.h +++ b/src/plugins/bookmarks/bookmarks_global.h @@ -42,10 +42,10 @@ const char * const BOOKMARKS_MOVEUP_ACTION = "Bookmarks.MoveUp"; const char * const BOOKMARKS_MOVEDOWN_ACTION = "Bookmarks.MoveDown"; const char * const BOOKMARKS_PREV_ACTION = "Bookmarks.Previous"; const char * const BOOKMARKS_NEXT_ACTION = "Bookmarks.Next"; -const char * const BOOKMARKS_PREVDIR_ACTION = "Bookmarks.Previous.Directory"; -const char * const BOOKMARKS_NEXTDIR_ACTION = "Bookmarks.Next.Directory"; -const char * const BOOKMARKS_PREVDOC_ACTION = "Bookmarks.Previous.Document"; -const char * const BOOKMARKS_NEXTDOC_ACTION = "Bookmarks.Next.Document"; +const char * const BOOKMARKS_PREVDIR_ACTION = "Bookmarks.PreviousDirectory"; +const char * const BOOKMARKS_NEXTDIR_ACTION = "Bookmarks.NextDirectory"; +const char * const BOOKMARKS_PREVDOC_ACTION = "Bookmarks.PreviousDocument"; +const char * const BOOKMARKS_NEXTDOC_ACTION = "Bookmarks.NextDocument"; const char * const BOOKMARKS_MENU = "Bookmarks.Menu"; const char * const BOOKMARKS_CONTEXT = "Bookmarks"; diff --git a/src/plugins/coreplugin/coreconstants.h b/src/plugins/coreplugin/coreconstants.h index 469727c1844..191b73c9aac 100644 --- a/src/plugins/coreplugin/coreconstants.h +++ b/src/plugins/coreplugin/coreconstants.h @@ -63,9 +63,9 @@ const char * const IDE_REVISION_STR = ""; #undef STRINGIFY_INTERNAL //modes -const char * const MODE_WELCOME = "QtCreator.Mode.Welcome"; -const char * const MODE_EDIT = "QtCreator.Mode.Edit"; -const char * const MODE_OUTPUT = "QtCreator.Mode.Output"; +const char * const MODE_WELCOME = "Welcome"; +const char * const MODE_EDIT = "Edit"; +const char * const MODE_OUTPUT = "Output"; const int P_MODE_WELCOME = 100; const int P_MODE_EDIT = 90; const int P_MODE_OUTPUT = 10; diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp index 1c335c0af5e..815b96c2aa1 100644 --- a/src/plugins/coreplugin/mainwindow.cpp +++ b/src/plugins/coreplugin/mainwindow.cpp @@ -312,7 +312,7 @@ bool MainWindow::init(QString *errorMessage) // Add widget to the bottom, we create the view here instead of inside the // OutputPaneManager, since the ViewManager needs to be initilized before m_outputView = new Core::BaseView; - m_outputView->setUniqueViewName("OutputWindow.Buttons"); + m_outputView->setUniqueViewName("OutputWindow"); m_outputView->setWidget(OutputPaneManager::instance()->buttonsWidget()); m_outputView->setDefaultPosition(Core::IView::Second); pm->addObject(m_outputView); diff --git a/src/plugins/coreplugin/navigationwidget.cpp b/src/plugins/coreplugin/navigationwidget.cpp index 3d4607a9269..856becf3f97 100644 --- a/src/plugins/coreplugin/navigationwidget.cpp +++ b/src/plugins/coreplugin/navigationwidget.cpp @@ -326,7 +326,7 @@ void NavigationWidget::objectAdded(QObject * obj) QShortcut *shortcut = new QShortcut(this); shortcut->setWhatsThis(tr("Activate %1 Pane").arg(displayName)); Core::Command *cmd = am->registerShortcut(shortcut, - displayName + QLatin1String(".FocusShortcut"), navicontext); + QLatin1String("QtCreator.Sidebar.") + displayName, navicontext); cmd->setDefaultKeySequence(factory->activationSequence()); connect(shortcut, SIGNAL(activated()), this, SLOT(activateSubWidget())); diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp index 82a8be37d72..90d2e5c5986 100644 --- a/src/plugins/cpaster/cpasterplugin.cpp +++ b/src/plugins/cpaster/cpasterplugin.cpp @@ -103,14 +103,14 @@ bool CodepasterPlugin::initialize(const QStringList &arguments, QString *error_m Core::Command *command; - m_postAction = new QAction(tr("Paste snippet..."), this); - command = actionManager->registerAction(m_postAction, "CodePaster.post", globalcontext); + m_postAction = new QAction(tr("Paste Snippet..."), this); + command = actionManager->registerAction(m_postAction, "CodePaster.Post", globalcontext); command->setDefaultKeySequence(QKeySequence(tr("Alt+C,Alt+P"))); connect(m_postAction, SIGNAL(triggered()), this, SLOT(post())); cpContainer->addAction(command); - m_fetchAction = new QAction(tr("Fetch snippet..."), this); - command = actionManager->registerAction(m_fetchAction, "CodePaster.fetch", globalcontext); + m_fetchAction = new QAction(tr("Fetch Snippet..."), this); + command = actionManager->registerAction(m_fetchAction, "CodePaster.Fetch", globalcontext); command->setDefaultKeySequence(QKeySequence(tr("Alt+C,Alt+F"))); connect(m_fetchAction, SIGNAL(triggered()), this, SLOT(fetch())); cpContainer->addAction(command); diff --git a/src/plugins/designer/designerconstants.h b/src/plugins/designer/designerconstants.h index 6d5f4a4695c..954b90e6717 100644 --- a/src/plugins/designer/designerconstants.h +++ b/src/plugins/designer/designerconstants.h @@ -38,10 +38,10 @@ namespace Designer { namespace Constants { // context -const char * const C_FORMEDITOR = "Formeditor"; -const char * const T_FORMEDITOR = "Formeditor.Toolbar"; -const char * const M_FORMEDITOR = "Formeditor.Menu"; -const char * const M_FORMEDITOR_PREVIEW = "Formeditor.Menu.Preview"; +const char * const C_FORMEDITOR = "FormEditor"; +const char * const T_FORMEDITOR = "FormEditor.Toolbar"; +const char * const M_FORMEDITOR = "FormEditor.Menu"; +const char * const M_FORMEDITOR_PREVIEW = "FormEditor.Menu.Preview"; // Wizard type const char * const FORM_FILE_TYPE = "Qt4FormFiles"; diff --git a/src/plugins/git/gitconstants.h b/src/plugins/git/gitconstants.h index b539046ffb5..096ce411914 100644 --- a/src/plugins/git/gitconstants.h +++ b/src/plugins/git/gitconstants.h @@ -44,8 +44,8 @@ const char * const GIT_DIFF_EDITOR_KIND = "Git Diff Editor"; const char * const C_GITSUBMITEDITOR = "Git Submit Editor"; const char * const GITSUBMITEDITOR_KIND = "Git Submit Editor"; -const char * const SUBMIT_CURRENT = "Nokia.Git.SubmitCurrentLog"; -const char * const DIFF_SELECTED = "Nokia.Git.DiffSelectedFilesInLog"; +const char * const SUBMIT_CURRENT = "Git.SubmitCurrentLog"; +const char * const DIFF_SELECTED = "Git.DiffSelectedFilesInLog"; const char * const SUBMIT_MIMETYPE = "application/vnd.nokia.text.git.submit"; const char * const GIT_BINARY = "git"; diff --git a/src/plugins/help/helpplugin.h b/src/plugins/help/helpplugin.h index 145981e16a2..d38df69f3d2 100644 --- a/src/plugins/help/helpplugin.h +++ b/src/plugins/help/helpplugin.h @@ -71,7 +71,7 @@ namespace Constants { const char * const HELPVIEWER_KIND = "Qt Help Viewer"; const char * const C_MODE_HELP = "Help Mode"; const int P_MODE_HELP = 70; - const char * const ID_MODE_HELP = "Help.HelpMode"; + const char * const ID_MODE_HELP = "Help"; } class HELP_EXPORT HelpManager : public QObject diff --git a/src/plugins/perforce/perforceconstants.h b/src/plugins/perforce/perforceconstants.h index e0feb0c58e9..a0d47ba8bea 100644 --- a/src/plugins/perforce/perforceconstants.h +++ b/src/plugins/perforce/perforceconstants.h @@ -42,8 +42,8 @@ const char * const C_PERFORCEEDITOR = "Perforce Editor"; const char * const PERFORCEEDITOR_KIND = "Perforce Editor"; const char * const C_PERFORCESUBMITEDITOR = "Perforce Submit Editor"; const char * const PERFORCESUBMITEDITOR_KIND = "Perforce Submit Editor"; -const char * const SUBMIT_CURRENT = "Nokia.Perforce.SubmitCurrentLog"; -const char * const DIFF_SELECTED = "Nokia.Perforce.DiffSelectedFilesInLog"; +const char * const SUBMIT_CURRENT = "Perforce.SubmitCurrentLog"; +const char * const DIFF_SELECTED = "Perforce.DiffSelectedFilesInLog"; const char * const SUBMIT_MIMETYPE = "application/vnd.nokia.text.p4.submit"; enum { debug = 0 }; } // Internal diff --git a/src/plugins/projectexplorer/projectexplorerconstants.h b/src/plugins/projectexplorer/projectexplorerconstants.h index e65ca54d099..8680a80d79a 100644 --- a/src/plugins/projectexplorer/projectexplorerconstants.h +++ b/src/plugins/projectexplorer/projectexplorerconstants.h @@ -38,7 +38,7 @@ namespace ProjectExplorer { namespace Constants { // modes and their priorities -const char * const MODE_SESSION = "ProjectExplorer.Mode.Session"; +const char * const MODE_SESSION = "Project"; const int P_MODE_SESSION = 85; // actions diff --git a/src/plugins/qtscripteditor/qtscripteditorconstants.h b/src/plugins/qtscripteditor/qtscripteditorconstants.h index 0e2e52c3661..474a8291e1b 100644 --- a/src/plugins/qtscripteditor/qtscripteditorconstants.h +++ b/src/plugins/qtscripteditor/qtscripteditorconstants.h @@ -38,8 +38,8 @@ namespace QtScriptEditor { namespace Constants { const char * const M_CONTEXT = "Qt Script Editor.ContextMenu"; -const char * const RUN = "Qt Script Editor.Run"; -const char * const RUN_SEP = "Qt Script Editor.Run.Separator"; +const char * const RUN = "QtScriptEditor.Run"; +const char * const RUN_SEP = "QtScriptEditor.Run.Separator"; const char * const C_QTSCRIPTEDITOR = "Qt Script Editor"; const char * const C_QTSCRIPTEDITOR_MIMETYPE = "application/javascript"; diff --git a/src/plugins/quickopen/quickopenplugin.cpp b/src/plugins/quickopen/quickopenplugin.cpp index a7b6de8fbab..c6a67e67ada 100644 --- a/src/plugins/quickopen/quickopenplugin.cpp +++ b/src/plugins/quickopen/quickopenplugin.cpp @@ -91,14 +91,14 @@ bool QuickOpenPlugin::initialize(const QStringList &, QString *) m_quickOpenToolWindow = new QuickOpenToolWindow(this); m_quickOpenToolWindow->setEnabled(false); Core::BaseView *view = new Core::BaseView; - view->setUniqueViewName("QuickOpen.ToolWindow"); + view->setUniqueViewName("QuickOpen"); view->setWidget(m_quickOpenToolWindow); view->setContext(QList() << core->uniqueIDManager() ->uniqueIdentifier(QLatin1String("QuickOpenToolWindow"))); view->setDefaultPosition(Core::IView::First); addAutoReleasedObject(view); - const QString actionId = QLatin1String("QtCreator.View.QuickOpen.ToolWindow"); + const QString actionId = QLatin1String("QtCreator.QuickOpen"); QAction *action = new QAction(m_quickOpenToolWindow->windowIcon(), m_quickOpenToolWindow->windowTitle(), this); Core::Command *cmd = core->actionManager()->registerAction(action, actionId, QList() << Core::Constants::C_GLOBAL_ID); cmd->setDefaultKeySequence(QKeySequence("Ctrl+K")); diff --git a/src/plugins/snippets/snippetsplugin.cpp b/src/plugins/snippets/snippetsplugin.cpp index 3eae254875c..d597b9a19ad 100644 --- a/src/plugins/snippets/snippetsplugin.cpp +++ b/src/plugins/snippets/snippetsplugin.cpp @@ -82,7 +82,7 @@ bool SnippetsPlugin::initialize(const QStringList &arguments, QString *) m_snippetWnd = new SnippetsWindow(); Core::BaseView *view = new Core::BaseView; - view->setUniqueViewName("Snippets.SnippetsTree"); + view->setUniqueViewName("Snippets"); view->setWidget(m_snippetWnd); view->setContext(QList() << core->uniqueIDManager()->uniqueIdentifier(QLatin1String("Snippets Window")) diff --git a/src/plugins/subversion/subversionconstants.h b/src/plugins/subversion/subversionconstants.h index bd06b2b0bd8..57c3b07b7ed 100644 --- a/src/plugins/subversion/subversionconstants.h +++ b/src/plugins/subversion/subversionconstants.h @@ -42,8 +42,8 @@ const char * const SUBVERSIONEDITOR = "Subversion Editor"; const char * const SUBVERSIONEDITOR_KIND = "Subversion Editor"; const char * const SUBVERSIONCOMMITEDITOR = "Subversion Commit Editor"; const char * const SUBVERSIONCOMMITEDITOR_KIND = "Subversion Commit Editor"; -const char * const SUBMIT_CURRENT = "Nokia.Subversion.SubmitCurrentLog"; -const char * const DIFF_SELECTED = "Nokia.Subversion.DiffSelectedFilesInLog"; +const char * const SUBMIT_CURRENT = "Subversion.SubmitCurrentLog"; +const char * const DIFF_SELECTED = "Subversion.DiffSelectedFilesInLog"; enum { debug = 0 }; } // namespace Constants From 0b71e89b24d60ef4be8a5b71de543b97548d441b Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 20 Feb 2009 17:30:57 +0100 Subject: [PATCH 08/17] Fixes: adjust example keymaps to recent changes --- share/qtcreator/schemes/MS_Visual_C++.kms | 34 +++++++++---------- share/qtcreator/schemes/Xcode.kms | 40 +++++++++++------------ 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/share/qtcreator/schemes/MS_Visual_C++.kms b/share/qtcreator/schemes/MS_Visual_C++.kms index 696b96bb42f..abd265f1bad 100644 --- a/share/qtcreator/schemes/MS_Visual_C++.kms +++ b/share/qtcreator/schemes/MS_Visual_C++.kms @@ -24,10 +24,10 @@ - + - + @@ -168,19 +168,19 @@ - + - + - + - + - + @@ -231,13 +231,13 @@ - + - + - + @@ -264,7 +264,7 @@ - + @@ -291,7 +291,7 @@ - + @@ -306,7 +306,7 @@ - + @@ -387,10 +387,10 @@ - + - + @@ -453,10 +453,10 @@ - + - + diff --git a/share/qtcreator/schemes/Xcode.kms b/share/qtcreator/schemes/Xcode.kms index 30653822dff..48bc6291322 100644 --- a/share/qtcreator/schemes/Xcode.kms +++ b/share/qtcreator/schemes/Xcode.kms @@ -114,13 +114,13 @@ - + - + - + @@ -150,13 +150,13 @@ - + - + @@ -282,22 +282,22 @@ - + - + - + - + - + - + @@ -369,7 +369,7 @@ - + @@ -387,13 +387,13 @@ - + - + - + @@ -456,7 +456,7 @@ - + @@ -504,10 +504,10 @@ - + - + @@ -525,10 +525,10 @@ - + - + From 73c3cc7d850eceb8fbab2598df4306c737464ee0 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 23 Feb 2009 10:46:04 +0100 Subject: [PATCH 09/17] Fixes: move shipping/prepare-linux-qt-for-shipping.sh over to ide/nightly_builds again Details: using third party's bandwidth is not really nice --- .../shipping/prepare-linux-qt-for-shipping.sh | 109 ------------------ 1 file changed, 109 deletions(-) delete mode 100755 scripts/shipping/prepare-linux-qt-for-shipping.sh diff --git a/scripts/shipping/prepare-linux-qt-for-shipping.sh b/scripts/shipping/prepare-linux-qt-for-shipping.sh deleted file mode 100755 index b8c058a84cb..00000000000 --- a/scripts/shipping/prepare-linux-qt-for-shipping.sh +++ /dev/null @@ -1,109 +0,0 @@ -#!/usr/bin/env bash - -version="4.5-rc1" -workdir=/home/berlin/dev/qt-${version}-temp -destdir=/home/berlin/dev/qt-${version}-shipping/qt # "/qt" suffix for Bitrock -dir=qt-x11-opensource-src-${version} -file_tar="${dir}.tar" -file_tar_gz="${file_tar}.gz" -[ -z ${MAKE} ] && MAKE=make -envpath=/usr/bin:/bin - -if gcc -dumpversion | grep '^4' ; then - # GCC 4.x machine - webkit= -else - # GCC 3.3.5 machine - webkit='-no-webkit' -fi - - -die() { - echo $1 1>&2 - exit 1 -} - -rand_range() { - incMin=$1 - incMax=$2 - echo $((RANDOM*(incMax-incMin+1)/32768+incMin)) -} - - -setup() { - mkdir -p "${workdir}" - cd "${workdir}" || die "cd failed" -} - -download() { - [ -f "${file_tar_gz}" ] && return - case `rand_range 1 2` in - 1) - mirror=http://ftp.ntua.gr/pub/X11/Qt/qt/source - ;; - *) - mirror=http://wftp.tu-chemnitz.de/pub/Qt/qt/source - ;; - esac - wget "${mirror}/${file_tar_gz}" || die "Download failed" -} - -unpack() { - [ -d "${dir}" ] && return - gzip -d "${file_tar_gz}" || die "gunzip failed" - tar -xf "${file_tar}" || die "untar failed" -} - -build() { - ( - cd "${dir}" || die "cd failed" - if [ ! -f config.status ] ; then - env -i PATH=${envpath} ./configure \ - -prefix "${destdir}" \ - -optimized-qmake \ - -confirm-license \ - \ - -no-mmx -no-sse -no-sse2 -no-3dnow \ - -release -fast \ - ${webkit} \ - -qt-zlib -qt-gif -qt-libtiff -qt-libpng -qt-libmng -qt-libjpeg \ - \ - || die "configure failed" - fi - - env -i PATH=${envpath} "${MAKE}" || die "make failed" - ) - ret=$?; [ ${ret} = 0 ] || exit ${ret} -} - -inst() { - ( - cd "${dir}" || die "cd failed" - if [ ! -d "${destdir}" ]; then - mkdir -p "${destdir}" - env -i "${MAKE}" install || die "make install failed" - fi - - # Fix rpath's - cd "${destdir}" || die "cd failed" - find bin -mindepth 1 -maxdepth 1 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../lib' - find lib -mindepth 1 -maxdepth 1 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN' - find . -mindepth 3 -maxdepth 3 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../lib' - find . -mindepth 4 -maxdepth 4 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../../lib' - find . -mindepth 5 -maxdepth 5 -type f -perm -100 | xargs -n 1 chrpath -r '$ORIGIN/../../../../lib' - ) - ret=$?; [ ${ret} = 0 ] || exit ${ret} -} - -main() { - ( - setup - download - unpack - build - inst - ) - ret=$?; [ ${ret} = 0 ] || exit ${ret} -} - -main From 93f21f295cf5c979f28084c3f8015492daae3f4b Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 23 Feb 2009 12:19:17 +0100 Subject: [PATCH 10/17] more precise label --- src/libs/utils/projectintropage.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/utils/projectintropage.ui b/src/libs/utils/projectintropage.ui index f530b78044e..05fe640306a 100644 --- a/src/libs/utils/projectintropage.ui +++ b/src/libs/utils/projectintropage.ui @@ -70,7 +70,7 @@ - Path: + Create in: From 350a7167c247c4c36bc417fd95ff36fa8ac485c4 Mon Sep 17 00:00:00 2001 From: con Date: Mon, 23 Feb 2009 14:26:22 +0100 Subject: [PATCH 11/17] Fixes: - Temporarily adapt picture in welcome screen. Details: - New picture to be added later. --- .../coreplugin/html/images/product_logo.png | Bin 20877 -> 7136 bytes src/plugins/coreplugin/html/qt.css | 1 + 2 files changed, 1 insertion(+) diff --git a/src/plugins/coreplugin/html/images/product_logo.png b/src/plugins/coreplugin/html/images/product_logo.png index 7f8992e92c0ce0d4747a4515bcf90f76dd05dc87..8b8ff34a748b3fee6306279c4553b7d811f1025c 100644 GIT binary patch literal 7136 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 literal 20877 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 aHW#g) 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 Date: Mon, 23 Feb 2009 14:30:19 +0100 Subject: [PATCH 12/17] Fixes: - Show extension of projects to add files to Details: - Helps distinguishing adding to pro or pri file with same name --- src/plugins/projectexplorer/projectfilewizardextension.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/projectfilewizardextension.cpp b/src/plugins/projectexplorer/projectfilewizardextension.cpp index b897dd44ff9..3b969a10a9f 100644 --- a/src/plugins/projectexplorer/projectfilewizardextension.cpp +++ b/src/plugins/projectexplorer/projectfilewizardextension.cpp @@ -152,7 +152,7 @@ QList ProjectFileWizardExtension::extensionPages(const Core::IWiz const int count = m_context->projects.size(); for (int i = 0; i < count; i++) { ProjectNode *pn = m_context->projects.at(i); - projectNames.push_back(pn->name()); + projectNames.push_back(QFileInfo(pn->path()).fileName()); if (current == pn) currentIndex = i; } From 590ab939fe49426b1d81b78e45ef6aaae61bf3ac Mon Sep 17 00:00:00 2001 From: con Date: Mon, 23 Feb 2009 15:23:48 +0100 Subject: [PATCH 13/17] Fixes: - Remove license button. --- share/qtcreator/license.txt | 229 ----------------------- share/share.pri | 8 +- src/plugins/coreplugin/versiondialog.cpp | 34 ---- src/plugins/coreplugin/versiondialog.h | 2 - 4 files changed, 1 insertion(+), 272 deletions(-) delete mode 100644 share/qtcreator/license.txt diff --git a/share/qtcreator/license.txt b/share/qtcreator/license.txt deleted file mode 100644 index e965c1d70f3..00000000000 --- a/share/qtcreator/license.txt +++ /dev/null @@ -1,229 +0,0 @@ -For individuals and/or legal entities resident in the Americas (North America, Central America and South America), the applicable licensing terms are specified under the heading "Beta Version License -Agreement (Agreement version 2.2): The Americas". - -For individuals and/or legal entities not resident in The Americas, the applicable licensing terms are specified under the heading " Beta Version License Agreement (Agreement version 2.2): Rest of the World". - ----------------------------------------- - -BETA VERSION LICENSE AGREEMENT -Agreement version 2.2 "Rest of the World" - -This Beta Version License Agreement ("Agreement") is a legal agreement between Nokia Corporation ("Nokia"), with its registered office at Keilalahdentie 4, 02150 Espoo, Finland and you (either an individual or a legal entity) ("Licensee") for the Licensed Software. - -1. DEFINITIONS - -"Affiliate" of a Party shall mean an entity (i) which is directly or indirectly controlling such Party; (ii) which is under the same direct or indirect ownership or control as such Party; or (iii) which is directly or indirectly owned or controlled by such Party. For these purposes, an entity shall be treated as being controlled by another if that other entity has fifty percent (50 %) or more of the votes in such entity, is able to direct its affairs and/or to control the composition of its board of directors or equivalent body. - -"Applications" shall mean Licensee's software products created using the Licensed Software which may include portions of the Licensed Software. - -"Term" shall mean the period of time from the later of (a) the Effective Date; or (b) the date the Licensed Software was initially delivered to Licensee by Nokia until thirty (30) days after Nokia's next beta or commercial release of a version of the Licensed Software with the same major and minor version number as the Licensed Software. If no specific Effective Date is set forth in the Agreement, the Effective Date shall be deemed to be the date the Licensed Software was initially delivered to Licensee. Notwithstanding the foregoing, in no event shall the term exceed six (6) months from the date Nokia initially delivered the Licensed Software to Licensee. - -"Licensed Software" shall mean the computer software, "online" or electronic documentation, associated media and printed materials, including the source code, example programs and the documentation delivered by Nokia to Licensee in conjunction with this Agreement. - -"Party or Parties" shall mean Licensee and/or Nokia. - - -2. OWNERSHIP - -The Licensed Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The Licensed Software is licensed, not sold. - -If Licensee provides any findings, proposals, suggestions or other feedback ("Feedback") to Nokia regarding the Licensed Software, Nokia shall own all right, title and interest including the intellectual property rights in and to such Feedback, excluding however any existing patent rights of Licensee. To the extent Licensee owns or controls any patents for such Feedback Licensee hereby grants to Nokia and its Affiliates, a worldwide, perpetual, non-transferable, sublicensable, royalty-free license to (i) use, copy and modify Feedback and to create derivative works thereof, (ii) to make (and have made), use, import, sell, offer for sale, lease, dispose, offer for disposal or otherwise exploit any products or services of Nokia containing Feedback,, and (iii) sublicense all the foregoing rights to third party licensees and customers of Nokia and/or its Affiliates. - - -3. VALIDITY OF THE AGREEMENT - -By installing, copying, or otherwise using the Licensed Software, Licensee agrees to be bound by the terms of this Agreement. If Licensee does not agree to the terms of this Agreement, Licensee may not install, copy, or otherwise use the Licensed Software. Upon Licensee's acceptance of the terms and conditions of this Agreement, Nokia grants Licensee the right to use the Licensed Software in the manner provided below. - - -4. LICENSES - -4.1. Using and Copying - -Nokia grants to Licensee a non-exclusive, non-transferable, time-limited license to use and copy the Licensed Software for sole purpose of designing, developing and testing Applications, and evaluating and testing the Licensed Software during the Term. - -Licensee may install copies of the Licensed Software on an unlimited number of computers provided that (a) if an individual, only such individual; or (b) if a legal entity only its employees; use the Licensed Software for the authorized purposes. - -4.2 No Distribution or Modifications - -Licensee may not disclose, modify, sell, market, commercialise, distribute, loan, rent, lease, or license the Licensed Software or any copy of it or use the Licensed Software for any purpose that is not expressly granted in this Section 4. Licensee may not alter or remove any details of ownership, copyright, trademark or other property right connected with the Licensed Software. Licensee may not distribute any software statically or dynamically linked with the Licensed Software. - -4.3 Support - -Nokia has no obligation to furnish Licensee with maintenance, technical support or updates for the Licensed Software provided under this Agreement. However, Nokia may, in its sole discretion, provide further pre-release versions, technical support, updates and/or supplements of the Licensed Software and/or related information ("Support and Updates") to Licensee hereunder, in which case Support and Updates shall also be deemed to be included in the Licensed Software and therefore governed by the terms of this Agreement, unless other terms of use are provided by Nokia with such Support and Updates. - - -5. PRE-RELEASE CODE -The Licensed Software contains pre-release code that is not at the level of performance and compatibility of a final, generally available, product offering. The Licensed Software may not operate correctly and may be substantially modified prior to the first commercial product release, if any. Nokia is not obligated to make this or any later version of the Licensed Software commercially available. The License Software is "Not for Commercial Use" and may only be used for the purposes described in Section 4, however Applications may be distributed within Licensee's organization for testing purposes. The Licensed Software may not be used in a live operating environment where it may be relied upon to perform in the same manner as a commercially released product or with data that has not been sufficiently backed up. - -6. THIRD PARTY SOFTWARE - -The Licensed Software may provide links to third party libraries or code (collectively "Third Party Software") to implement various functions. Third Party Software does not comprise part of the Licensed Software. In some cases, access to Third Party Software may be included along with the Licensed Software delivery as a convenience for development and testing only. Such source code and libraries may be listed in the ".../src/3rdparty" source tree delivered with the Licensed Software or documented in the Licensed Software where the Third Party Software is used, as may be amended from time to time, do not comprise the Licensed Software. Licensee acknowledges (1) that some part of Third Party Software may require additional licensing of copyright and patents from the owners of such, and (2) that distribution of any of the Licensed Software referencing any portion of a Third Party Software may require appropriate licensing from such third parties. - - -7. LIMITED WARRANTY AND WARRANTY DISCLAIMER - -The Licensed Software is licensed to Licensee "as is". To the maximum extent permitted by applicable law, Nokia on behalf of itself and its suppliers, disclaims all warranties and conditions, either express or implied, including, but not limited to, implied warranties of merchantability, fitness for a particular purpose, title and non-infringement with regard to the Licensed Software. - - -8. LIMITATION OF LIABILITY - -If, Nokia's warranty disclaimer notwithstanding, Nokia is held liable to Licensee, whether in contract, tort or any other legal theory, based on the Licensed Software, Nokia's entire liability to Licensee and Licensee's exclusive remedy shall be, at Nokia's option, either (A) return of the price Licensee paid for the Licensed Software, or (B) repair or replacement of the Licensed Software, provided Licensee returns to Nokia all copies of the Licensed Software as originally delivered to Licensee. Nokia shall not under any circumstances be liable to Licensee based on failure of the Licensed Software if the failure resulted from accident, abuse or misapplication, nor shall Nokia under any circumstances be liable for special damages, punitive or exemplary damages, damages for loss of profits or interruption of business or for loss or corruption of data. Any award of damages from Nokia to Licensee shall not exceed the total amount Licensee has paid to Nokia in connection with this Agreement. - - -9. CONFIDENTIALITY - -Each party acknowledges that during the Term of this Agreement it shall have access to information about the other party's business, business methods, business plans, customers, business relations, technology, and other information, including the terms of this Agreement, that is confidential and of great value to the other party, and the value of which would be significantly reduced if disclosed to third parties (the "Confidential Information"). Accordingly, when a party (the "Receiving Party") receives Confidential Information from another party (the "Disclosing Party"), the Receiving Party shall, and shall obligate its employees and agents and employees and agents of its Affiliates to: (i) maintain the Confidential Information in strict confidence; (ii) not disclose the Confidential Information to a third party without the Disclosing Party's prior written approval; and (iii) not, directly or indirectly, use the Confidential Information for any purpose other than for exercising its rights and fulfilling its responsibilities pursuant to this Agreement. Each party shall take reasonable measures to protect the Confidential Information of the other party, which measures shall not be less than the measures taken by such party to protect its own confidential and proprietary information. - -"Confidential Information" shall not include information that (a) is or becomes generally known to the public through no act or omission of the Receiving Party; (b) was in the Receiving Party's lawful possession prior to the disclosure hereunder and was not subject to limitations on disclosure or use; (c) is developed by the Receiving Party without access to the Confidential Information of the Disclosing Party or by persons who have not had access to the Confidential Information of the Disclosing Party as proven by the written records of the Receiving Party; (d) is lawfully disclosed to the Receiving Party without restrictions, by a third party not under an obligation of confidentiality; or (e) the Receiving Party is legally compelled to disclose the information, in which case the Receiving Party shall assert the privileged and confidential nature of the information and cooperate fully with the Disclosing Party to protect against and prevent disclosure of any Confidential Information and to limit the scope of disclosure and the dissemination of disclosed Confidential Information by all legally available means. - -The obligations of the Receiving Party under this Section shall continue during the Initial Term and for a period of five (5) years after expiration or termination of this Agreement. To the extent that the terms of the Non-Disclosure Agreement between Nokia and Licensee conflict with the terms of this Section 8, this Section 8 shall be controlling over the terms of the Non-Disclosure Agreement. - - -10. GENERAL PROVISIONS - -10.1 No Assignment - -Licensee shall not be entitled to assign or transfer all or any of its rights, benefits and obligations under this Agreement without the prior written consent of Nokia, which shall not be unreasonably withheld. - -10.2 Termination - -Nokia may terminate the Agreement at any time immediately upon written notice by Nokia to Licensee if Licensee breaches this Agreement. - -Upon termination of this Agreement, Licensee shall return to Nokia all copies of Licensed Software that were supplied by Nokia. All other copies of Licensed Software in the possession or control of Licensee must be erased or destroyed. An officer of Licensee must promptly deliver to Nokia a written confirmation that this has occurred. - -10.3 Surviving Sections - -Any terms and conditions that by their nature or otherwise reasonably should survive a cancellation or termination of this Agreement shall also be deemed to survive. Such terms and conditions include, but are not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, and 10.8 of this Agreement. - -10.4 Entire Agreement - -This Agreement constitutes the complete agreement between the parties and supersedes all prior or contemporaneous discussions, representations, and proposals, written or oral, with respect to the subject matters discussed herein, with the exception of the non-disclosure agreement executed by the parties in connection with this Agreement ("Non-Disclosure Agreement"), if any, shall be subject to Section 8. No modification of this Agreement shall be effective unless contained in a writing executed by an authorized representative of each party. No term or condition contained in Licensee's purchase order shall apply unless expressly accepted by Nokia in writing. If any provision of the Agreement is found void or unenforceable, the remainder shall remain valid and enforceable according to its terms. If any remedy provided is determined to have failed for its essential purpose, all limitations of liability and exclusions of damages set forth in this Agreement shall remain in effect. - -10.5 Export Control - -Licensee acknowledges that the Licensed Software may be subject to export control restrictions of various countries. Licensee shall fully comply with all applicable export license restrictions and requirements as well as with all laws and regulations relating to the importation of the Licensed Software and shall procure all necessary governmental authorizations, including without limitation, all necessary licenses, approvals, permissions or consents, where necessary for the re-exportation of the Licensed Software., - -10.6 Governing Law and Legal Venue - - This Agreement shall be construed and interpreted in accordance with the laws of Finland, excluding its choice of law provisions. Any disputes arising out of or relating to this Agreement shall be resolved in arbitration under the Rules of Arbitration of the Chamber of Commerce of Helsinki, Finland. The arbitration tribunal shall consist of one (1), or if either Party so requires, of three (3), arbitrators. The award shall be final and binding and enforceable in any court of competent jurisdiction. The arbitration shall be held in Helsinki, Finland and the process shall be conducted in the English language. - -10.7 No Implied License - -There are no implied licenses or other implied rights granted under this Agreement, and all rights, save for those expressly granted hereunder, shall remain with Nokia and its licensors. In addition, no licenses or immunities are granted to the combination of the Licensed Software with any other software or hardware not delivered by Nokia under this Agreement. - -10.8 Government End Users - -A "U.S. Government End User" shall mean any agency or entity of the government of the United States. The following shall apply if Licensee is a U.S. Government End User. The Licensed Software is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire the Licensed Software with only those rights set forth herein. The Licensed Software (including related documentation) is provided to U.S. Government End Users: (a) only as a commercial end item; and (b) only pursuant to this Agreement. - ---------------------------------------------- - - -BETA VERSION LICENSE AGREEMENT -Agreement version 2.2"The Americas" - -This Beta Version License Agreement ("Agreement") is a legal agreement between Nokia Inc. ("Nokia"), with its registered office at 6021 Connection Drive, Irving, TX 75039 and you (either an individual or a legal entity) ("Licensee") for the Licensed Software (as defined below). - -1. DEFINITIONS - -"Affiliate" of a Party shall mean an entity (i) which is directly or indirectly controlling such Party; (ii) which is under the same direct or indirect ownership or control as such Party; or (iii) which is directly or indirectly owned or controlled by such Party. For these purposes, an entity shall be treated as being controlled by another if that other entity has fifty percent (50 %) or more of the votes in such entity, is able to direct its affairs and/or to control the composition of its board of directors or equivalent body. - -"Applications" shall mean Licensee's software products created using the Licensed Software which may include portions of the Licensed Software. - -"Term" shall mean the period of time from the later of (a) the Effective Date; or (b) the date the Licensed Software was initially delivered to Licensee by Nokia until thirty (30) days after Nokia's next beta or commercial release of a version of the Licensed Software with the same major and minor version number as the Licensed Software. If no specific Effective Date is set forth in the Agreement, the Effective Date shall be deemed to be the date the Licensed Software was initially delivered to Licensee. Notwithstanding the foregoing, in no event shall the term exceed six (6) months from the date Nokia initially delivered the Licensed Software to Licensee. - -"Licensed Software" shall mean the computer software, "online" or electronic documentation, associated media and printed materials, including the source code, example programs and the documentation delivered by Nokia to Licensee in conjunction with this Agreement. - -"Party or Parties" shall mean Licensee and/or Nokia. - - -2. OWNERSHIP - -The Licensed Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The Licensed Software is licensed, not sold. - -If Licensee provides any findings, proposals, suggestions or other feedback ("Feedback") to Nokia regarding the Licensed Software, Nokia shall own all right, title and interest including the intellectual property rights in and to such Feedback, excluding however any existing patent rights of Licensee. To the extent Licensee owns or controls any patents for such Feedback Licensee hereby grants to Nokia and its Affiliates, a worldwide, perpetual, non-transferable, sublicensable, royalty-free license to (i) use, copy and modify Feedback and to create derivative works thereof, (ii) to make (and have made), use, import, sell, offer for sale, lease, dispose, offer for disposal or otherwise exploit any products or services of Nokia containing Feedback,, and (iii) sublicense all the foregoing rights to third party licensees and customers of Nokia and/or its Affiliates. - - -3. VALIDITY OF THE AGREEMENT - -By installing, copying, or otherwise using the Licensed Software, Licensee agrees to be bound by the terms of this Agreement. If Licensee does not agree to the terms of this Agreement, Licensee may not install, copy, or otherwise use the Licensed Software. Upon Licensee's acceptance of the terms and conditions of this Agreement, Nokia grants Licensee the right to use the Licensed Software in the manner provided below. - - -4. LICENSES - -4.1. Using and Copying - -Nokia grants to Licensee a non-exclusive, non-transferable, time-limited license to use and copy the Licensed Software for sole purpose of designing, developing and testing Applications, and evaluating and testing the Licensed Software during the Term. - -Licensee may install copies of the Licensed Software on an unlimited number of computers provided that (a) if an individual, only such individual; or (b) if a legal entity only its employees; use the Licensed Software for the authorized purposes. - -4.2 No Distribution or Modifications - -Licensee may not disclose, modify, sell, market, commercialise, distribute, loan, rent, lease, or license the Licensed Software or any copy of it or use the Licensed Software for any purpose that is not expressly granted in this Section 4. Licensee may not alter or remove any details of ownership, copyright, trademark or other property right connected with the Licensed Software. Licensee may not distribute any software statically or dynamically linked with the Licensed Software. - -4.3 Support - -Nokia has no obligation to furnish Licensee with maintenance, technical support or updates for the Licensed Software provided under this Agreement. However, Nokia may, in its sole discretion, provide further pre-release versions, technical support, updates and/or supplements of the Licensed Software and/or related information ("Support and Updates") to Licensee hereunder, in which case Support and Updates shall also be deemed to be included in the Licensed Software and therefore governed by the terms of this Agreement, unless other terms of use are provided by Nokia with such Support and Updates. - - -5. PRE-RELEASE CODE -The Licensed Software contains pre-release code that is not at the level of performance and compatibility of a final, generally available, product offering. The Licensed Software may not operate correctly and may be substantially modified prior to the first commercial product release, if any. Nokia is not obligated to make this or any later version of the Licensed Software commercially available. The License Software is "Not for Commercial Use" and may only be used for the purposes described in Section 4, however Applications may be distributed within Licensee's organization for testing purposes. The Licensed Software may not be used in a live operating environment where it may be relied upon to perform in the same manner as a commercially released product or with data that has not been sufficiently backed up. - -6. THIRD PARTY SOFTWARE - -The Licensed Software may provide links to third party libraries or code (collectively "Third Party Software") to implement various functions. Third Party Software does not comprise part of the Licensed Software. In some cases, access to Third Party Software may be included along with the Licensed Software delivery as a convenience for development and testing only. Such source code and libraries may be listed in the ".../src/3rdparty" source tree delivered with the Licensed Software or documented in the Licensed Software where the Third Party Software is used, as may be amended from time to time, do not comprise the Licensed Software. Licensee acknowledges (1) that some part of Third Party Software may require additional licensing of copyright and patents from the owners of such, and (2) that distribution of any of the Licensed Software referencing any portion of a Third Party Software may require appropriate licensing from such third parties. - - -7. LIMITED WARRANTY AND WARRANTY DISCLAIMER - -The Licensed Software is licensed to Licensee "as is". To the maximum extent permitted by applicable law, Nokia on behalf of itself and its suppliers, disclaims all warranties and conditions, either express or implied, including, but not limited to, implied warranties of merchantability, fitness for a particular purpose, title and non-infringement with regard to the Licensed Software. - - -8. LIMITATION OF LIABILITY - -If, Nokia's warranty disclaimer notwithstanding, Nokia is held liable to Licensee, whether in contract, tort or any other legal theory, based on the Licensed Software, Nokia's entire liability to Licensee and Licensee's exclusive remedy shall be, at Nokia's option, either (A) return of the price Licensee paid for the Licensed Software, or (B) repair or replacement of the Licensed Software, provided Licensee returns to Nokia all copies of the Licensed Software as originally delivered to Licensee. Nokia shall not under any circumstances be liable to Licensee based on failure of the Licensed Software if the failure resulted from accident, abuse or misapplication, nor shall Nokia under any circumstances be liable for special damages, punitive or exemplary damages, damages for loss of profits or interruption of business or for loss or corruption of data. Any award of damages from Nokia to Licensee shall not exceed the total amount Licensee has paid to Nokia in connection with this Agreement. - - -9. CONFIDENTIALITY - -Each party acknowledges that during the Term of this Agreement it shall have access to information about the other party's business, business methods, business plans, customers, business relations, technology, and other information, including the terms of this Agreement, that is confidential and of great value to the other party, and the value of which would be significantly reduced if disclosed to third parties (the "Confidential Information"). Accordingly, when a party (the "Receiving Party") receives Confidential Information from another party (the "Disclosing Party"), the Receiving Party shall, and shall obligate its employees and agents and employees and agents of its Affiliates to: (i) maintain the Confidential Information in strict confidence; (ii) not disclose the Confidential Information to a third party without the Disclosing Party's prior written approval; and (iii) not, directly or indirectly, use the Confidential Information for any purpose other than for exercising its rights and fulfilling its responsibilities pursuant to this Agreement. Each party shall take reasonable measures to protect the Confidential Information of the other party, which measures shall not be less than the measures taken by such party to protect its own confidential and proprietary information. - -"Confidential Information" shall not include information that (a) is or becomes generally known to the public through no act or omission of the Receiving Party; (b) was in the Receiving Party's lawful possession prior to the disclosure hereunder and was not subject to limitations on disclosure or use; (c) is developed by the Receiving Party without access to the Confidential Information of the Disclosing Party or by persons who have not had access to the Confidential Information of the Disclosing Party as proven by the written records of the Receiving Party; (d) is lawfully disclosed to the Receiving Party without restrictions, by a third party not under an obligation of confidentiality; or (e) the Receiving Party is legally compelled to disclose the information, in which case the Receiving Party shall assert the privileged and confidential nature of the information and cooperate fully with the Disclosing Party to protect against and prevent disclosure of any Confidential Information and to limit the scope of disclosure and the dissemination of disclosed Confidential Information by all legally available means. - -The obligations of the Receiving Party under this Section shall continue during the Initial Term and for a period of five (5) years after expiration or termination of this Agreement. To the extent that the terms of the Non-Disclosure Agreement between Nokia and Licensee conflict with the terms of this Section 8, this Section 8 shall be controlling over the terms of the Non-Disclosure Agreement. - - -10. GENERAL PROVISIONS - -10.1 No Assignment - -Licensee shall not be entitled to assign or transfer all or any of its rights, benefits and obligations under this Agreement without the prior written consent of Nokia, which shall not be unreasonably withheld. - -10.2 Termination - -Nokia may terminate the Agreement at any time immediately upon written notice by Nokia to Licensee if Licensee breaches this Agreement. - -Upon termination of this Agreement, Licensee shall return to Nokia all copies of Licensed Software that were supplied by Nokia. All other copies of Licensed Software in the possession or control of Licensee must be erased or destroyed. An officer of Licensee must promptly deliver to Nokia a written confirmation that this has occurred. - -10.3 Surviving Sections - -Any terms and conditions that by their nature or otherwise reasonably should survive a cancellation or termination of this Agreement shall also be deemed to survive. Such terms and conditions include, but are not limited to the following Sections: 2, 5, 6, 7, 8, 9, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, and 10.8 of this Agreement. - -10.4 Entire Agreement - -This Agreement constitutes the complete agreement between the parties and supersedes all prior or contemporaneous discussions, representations, and proposals, written or oral, with respect to the subject matters discussed herein, with the exception of the non-disclosure agreement executed by the parties in connection with this Agreement ("Non-Disclosure Agreement"), if any, shall be subject to Section 8. No modification of this Agreement shall be effective unless contained in a writing executed by an authorized representative of each party. No term or condition contained in Licensee's purchase order shall apply unless expressly accepted by Nokia in writing. If any provision of the Agreement is found void or unenforceable, the remainder shall remain valid and enforceable according to its terms. If any remedy provided is determined to have failed for its essential purpose, all limitations of liability and exclusions of damages set forth in this Agreement shall remain in effect. - -10.5 Export Control - -Licensee acknowledges that the Licensed Software may be subject to export control restrictions of various countries. Licensee shall fully comply with all applicable export license restrictions and requirements as well as with all laws and regulations relating to the importation of the Licensed Software and shall procure all necessary governmental authorizations, including without limitation, all necessary licenses, approvals, permissions or consents, where necessary for the re-exportation of the Licensed Software., - -10.6 Governing Law and Legal Venue - - This Agreement shall be governed by and construed in accordance with the federal laws of the United States of America and the internal laws of the State of New York without given effect to any choice of law rule that would result in the application of the laws of any other jurisdiction. The United Nations Convention on Contracts for the International Sale of Goods (CISG) shall not apply. Each Party (a) hereby irrevocably submits itself to and consents to the jurisdiction of the United States District Court for the Southern District of New York (or if such court lacks jurisdiction, the state courts of the State of New York) for the purposes of any action, claim, suit or proceeding between the Parties in connection with any controversy, claim, or dispute arising out of or relating to this Agreement; and (b) hereby waives, and agrees not to assert by way of motion, as a defense or otherwise, in any such action, claim, suit or proceeding, any claim that is not personally subject to the jurisdiction of such court(s), that the action, claim, suit or proceeding is brought in an inconvenient forum or that the venue of the action, claim, suit or proceeding is improper. Notwithstanding the foregoing, nothing in this Section 9.6 is intended to, or shall be deemed to, constitute a submission or consent to, or selection of, jurisdiction, forum or venue for any action for patent infringement, whether or not such action relates to this Agreement. - -10.7 No Implied License - -There are no implied licenses or other implied rights granted under this Agreement, and all rights, save for those expressly granted hereunder, shall remain with Nokia and its licensors. In addition, no licenses or immunities are granted to the combination of the Licensed Software with any other software or hardware not delivered by Nokia under this Agreement. - -10.8 Government End Users - -A "U.S. Government End User" shall mean any agency or entity of the government of the United States. The following shall apply if Licensee is a U.S. Government End User. The Licensed Software is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire the Licensed Software with only those rights set forth herein. The Licensed Software (including related documentation) is provided to U.S. Government End Users: (a) only as a commercial end item; and (b) only pursuant to this Agreement. diff --git a/share/share.pri b/share/share.pri index 35c84568b9e..246048ca78d 100644 --- a/share/share.pri +++ b/share/share.pri @@ -9,11 +9,9 @@ macx { SCHEMES.files = $$PWD/qtcreator/schemes GDBDEBUGGER.path = Contents/Resources GDBDEBUGGER.files = $$PWD/qtcreator/gdbmacros - LICENSE.path = Contents/Resources - LICENSE.files = $$PWD/qtcreator/license.txt RUNINTERMINAL.path = Contents/Resources RUNINTERMINAL.files = $$PWD/qtcreator/runInTerminal.command - QMAKE_BUNDLE_DATA += SNIPPETS TEMPLATES DESIGNER SCHEMES GDBDEBUGGER LICENSE RUNINTERMINAL + QMAKE_BUNDLE_DATA += SNIPPETS TEMPLATES DESIGNER SCHEMES GDBDEBUGGER RUNINTERMINAL QMAKE_INFO_PLIST = $$PWD/qtcreator/Info.plist } @@ -43,9 +41,6 @@ win32|linux-* { } linux-* { - licenses.files += $$PWD/qtcreator/license.txt - licenses.path = /share/qtcreator - keymaps.files += $$PWD/qtcreator/schemes/MS_Visual_C++.kms keymaps.files += $$PWD/qtcreator/schemes/Xcode.kms keymaps.path = /share/qtcreator/schemes @@ -71,7 +66,6 @@ linux-* { projecttemplates.path = /share/qtcreator/templates/qt4project INSTALLS += \ - licenses \ keymaps \ gdbsupport \ designertemplates \ diff --git a/src/plugins/coreplugin/versiondialog.cpp b/src/plugins/coreplugin/versiondialog.cpp index 5ce821a8147..c576729d9bb 100644 --- a/src/plugins/coreplugin/versiondialog.cpp +++ b/src/plugins/coreplugin/versiondialog.cpp @@ -98,43 +98,9 @@ VersionDialog::VersionDialog(QWidget *parent) buttonBox->addButton(closeButton, QDialogButtonBox::ButtonRole(QDialogButtonBox::RejectRole | QDialogButtonBox::AcceptRole)); connect(buttonBox , SIGNAL(rejected()), this, SLOT(reject())); - buttonBox->addButton(tr("Show License"), QDialogButtonBox::HelpRole); - connect(buttonBox , SIGNAL(helpRequested()), this, SLOT(popupLicense())); - QLabel *logoLabel = new QLabel; logoLabel->setPixmap(QPixmap(QLatin1String(":/core/images/qtcreator_logo_128.png"))); layout->addWidget(logoLabel , 0, 0, 1, 1); layout->addWidget(copyRightLabel, 0, 1, 4, 4); layout->addWidget(buttonBox, 4, 0, 1, 5); } - -void VersionDialog::popupLicense() -{ - QDialog *dialog = new QDialog(this); - dialog->setWindowTitle("License"); - QVBoxLayout *layout = new QVBoxLayout(dialog); - QTextBrowser *licenseBrowser = new QTextBrowser(dialog); - layout->addWidget(licenseBrowser); - - QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Close); - connect(buttonBox , SIGNAL(rejected()), dialog, SLOT(reject())); - layout->addWidget(buttonBox); - - // Read file into string - ICore *core = ICore::instance(); - QTC_ASSERT(core, return); - QString fileName = core->resourcePath() + "/license.txt"; - QFile file(fileName); - - QString licenseText; - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) - licenseText = "File '" + fileName + "' could not be read."; - else - licenseText = file.readAll(); - - licenseBrowser->setPlainText(licenseText); - - dialog->setMinimumSize(QSize(550, 690)); - dialog->exec(); - delete dialog; -} diff --git a/src/plugins/coreplugin/versiondialog.h b/src/plugins/coreplugin/versiondialog.h index bfa61f1d52d..4b695bafd4f 100644 --- a/src/plugins/coreplugin/versiondialog.h +++ b/src/plugins/coreplugin/versiondialog.h @@ -44,8 +44,6 @@ class VersionDialog : public QDialog Q_OBJECT public: explicit VersionDialog(QWidget *parent); -private slots: - void popupLicense(); }; } // namespace Internal From 4a1a0e83c51e6ce3ed80fba546933e936ae6132a Mon Sep 17 00:00:00 2001 From: con Date: Mon, 23 Feb 2009 15:29:39 +0100 Subject: [PATCH 14/17] Fixes: - Don't show Mac focus halo in locator and find Task: - 242931 --- src/plugins/find/findtoolbar.cpp | 2 ++ src/plugins/quickopen/quickopentoolwindow.cpp | 1 + 2 files changed, 3 insertions(+) diff --git a/src/plugins/find/findtoolbar.cpp b/src/plugins/find/findtoolbar.cpp index e4bb642a48c..0121e0b32f4 100644 --- a/src/plugins/find/findtoolbar.cpp +++ b/src/plugins/find/findtoolbar.cpp @@ -79,6 +79,8 @@ FindToolBar::FindToolBar(FindPlugin *plugin, CurrentDocumentFind *currentDocumen addWidget(m_widget); setFocusProxy(m_ui.findEdit); setProperty("topBorder", true); + m_ui.findEdit->setAttribute(Qt::WA_MacShowFocusRect, false); + m_ui.replaceEdit->setAttribute(Qt::WA_MacShowFocusRect, false); connect(m_ui.findEdit, SIGNAL(editingFinished()), this, SLOT(invokeResetIncrementalSearch())); diff --git a/src/plugins/quickopen/quickopentoolwindow.cpp b/src/plugins/quickopen/quickopentoolwindow.cpp index dea220c837e..5a682322d7e 100644 --- a/src/plugins/quickopen/quickopentoolwindow.cpp +++ b/src/plugins/quickopen/quickopentoolwindow.cpp @@ -281,6 +281,7 @@ QuickOpenToolWindow::QuickOpenToolWindow(QuickOpenPlugin *qop) : m_fileLineEdit->setUseLayoutDirection(true); m_fileLineEdit->setHintText(tr("Type to locate")); m_fileLineEdit->setFocusPolicy(Qt::ClickFocus); + m_fileLineEdit->setAttribute(Qt::WA_MacShowFocusRect, false); m_fileLineEdit->installEventFilter(this); this->installEventFilter(this); From 4dfd5ac371612ec9bf2c1ecc8bd117f794fc8b90 Mon Sep 17 00:00:00 2001 From: con Date: Mon, 23 Feb 2009 15:36:06 +0100 Subject: [PATCH 15/17] Fixes: - Missing tr and bad mnemonic for File->Session Task: - 244546 --- src/plugins/projectexplorer/projectexplorer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 2afd5e5f3b6..e75ac571aa8 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -441,7 +441,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er // session menu Core::ActionContainer *msession = am->createMenu(Constants::M_SESSION); - msession->menu()->setTitle("&Session"); + msession->menu()->setTitle(tr("Session")); mfile->addMenu(msession, Core::Constants::G_FILE_PROJECT); m_sessionMenu = msession->menu(); connect(mfile->menu(), SIGNAL(aboutToShow()), From 5fbd588a985a9a923d92ab85d092ac943b0d2dde Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 23 Feb 2009 16:06:23 +0100 Subject: [PATCH 16/17] Fixes: debugger: fix Mac OS 10.4 --- src/plugins/debugger/gdbengine.cpp | 56 ++++++++++++++++++++++++------ src/plugins/debugger/gdbengine.h | 1 + 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 37f35929edc..5e0bad84579 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -237,7 +237,12 @@ static QString startSymbolName() { #ifdef Q_OS_WIN return "WinMainCRTStartup"; -#else +#endif +#ifdef Q_OS_MAC + return "main"; + return "_start"; +#endif +#ifdef Q_OS_LINUX return "_start"; #endif } @@ -296,6 +301,7 @@ void GdbEngine::initializeVariables() { m_dataDumperState = DataDumperUninitialized; m_gdbVersion = 100; + m_gdbBuildVersion = -1; m_fullToShortName.clear(); m_shortToFullName.clear(); @@ -483,8 +489,20 @@ void GdbEngine::handleResponse() handleAsyncOutput(record); } else if (asyncClass == "running") { // Archer has 'thread-id="all"' here + #ifdef Q_OS_MAC + } else if (asyncClass == "shlibs-updated") { + // MAC announces updated libs + } else if (asyncClass == "shlibs-added") { + // MAC announces added libs + // {shlib-info={num="2", name="libmathCommon.A_debug.dylib", + // kind="-", dyld-addr="0x7f000", reason="dyld", requested-state="Y", + // state="Y", path="/usr/lib/system/libmathCommon.A_debug.dylib", + // description="/usr/lib/system/libmathCommon.A_debug.dylib", + // loaded_addr="0x7f000", slide="0x7f000", prefix=""}} + #endif } else { - qDebug() << "IGNORED ASYNC OUTPUT " << record.toString(); + qDebug() << "IGNORED ASYNC OUTPUT " + << asyncClass << record.toString(); } break; } @@ -760,7 +778,7 @@ void GdbEngine::handleResultRecord(const GdbResultRecord &record) // FIXME: this falsely rejects results from the custom dumper recognition // procedure, too... - if (record.token < m_oldestAcceptableToken) { + if (record.token < m_oldestAcceptableToken && cmd.type >= 300) { //qDebug() << "### SKIPPING OLD RESULT " << record.toString(); //QMessageBox::information(m_mainWindow, tr("Skipped"), "xxx"); return; @@ -1160,6 +1178,7 @@ void GdbEngine::handleAsyncOutput(const GdbMi &data) reloadSourceFiles(); tryLoadCustomDumpers(); + #ifndef Q_OS_MAC // intentionally after tryLoadCustomDumpers(), // otherwise we'd interupt solib loading. if (qq->wantsAllPluginBreakpoints()) { @@ -1175,11 +1194,13 @@ void GdbEngine::handleAsyncOutput(const GdbMi &data) sendCommand("set auto-solib-add off"); sendCommand("set stop-on-solib-events 0"); } + #endif // nicer to see a bit of the world we live in reloadModules(); // this will "continue" if done m_waitingForBreakpointSynchronizationToContinue = true; - QTimer::singleShot(0, this, SLOT(attemptBreakpointSynchronization())); + //QTimer::singleShot(0, this, SLOT(attemptBreakpointSynchronization())); + attemptBreakpointSynchronization(); return; } @@ -1344,10 +1365,14 @@ void GdbEngine::handleAsyncOutput2(const GdbMi &data) void GdbEngine::handleShowVersion(const GdbResultRecord &response) { + //qDebug () << "VERSION 2:" << response.data.findChild("consolestreamoutput").data(); + //qDebug () << "VERSION:" << response.toString(); + debugMessage("VERSION:" + response.toString()); if (response.resultClass == GdbResultDone) { m_gdbVersion = 100; + m_gdbBuildVersion = -1; QString msg = response.data.findChild("consolestreamoutput").data(); - QRegExp supported("GNU gdb(.*) (\\d+)\\.(\\d+)(\\.(\\d+))?"); + QRegExp supported("GNU gdb(.*) (\\d+)\\.(\\d+)(\\.(\\d+))?(-(\\d+))?"); if (supported.indexIn(msg) == -1) { debugMessage("UNSUPPORTED GDB VERSION " + msg); QStringList list = msg.split("\n"); @@ -1370,8 +1395,10 @@ void GdbEngine::handleShowVersion(const GdbResultRecord &response) m_gdbVersion = 10000 * supported.cap(2).toInt() + 100 * supported.cap(3).toInt() + 1 * supported.cap(5).toInt(); - //debugMessage(QString("GDB VERSION: %1").arg(m_gdbVersion)); + m_gdbBuildVersion = supported.cap(7).toInt(); + debugMessage(QString("GDB VERSION: %1").arg(m_gdbVersion)); } + //qDebug () << "VERSION 3:" << m_gdbVersion << m_gdbBuildVersion; } } @@ -1638,10 +1665,12 @@ bool GdbEngine::startDebugger() #ifdef Q_OS_MAC sendCommand("sharedlibrary apply-load-rules all"); #endif - setTokenBarrier(); + //setTokenBarrier(); if (!q->m_processArgs.isEmpty()) sendCommand("-exec-arguments " + q->m_processArgs.join(" ")); + #ifndef Q_OS_MAC sendCommand("set auto-solib-add off"); + #endif sendCommand("x/2i " + startSymbolName(), GdbStart); } @@ -1670,8 +1699,13 @@ void GdbEngine::handleStart(const GdbResultRecord &response) // stdout:~"0x404540 <_start>:\txor %ebp,%ebp\n" // stdout:~"0x404542 <_start+2>:\tmov %rdx,%r9\n" QString msg = response.data.findChild("consolestreamoutput").data(); + #ifdef Q_OS_MAC + // this ends up in 'gettimeoftheday' or such on MacOS 10.4 + QRegExp needle("0x([0-9a-f]+) <.*\\+.*>:"); + #else QRegExp needle("0x([0-9a-f]+) <" + startSymbolName() + "\\+.*>:"); - if (needle.indexIn(msg) != -1) { + #endif + if (needle.lastIndexIn(msg) != -1) { //debugMessage("STREAM: " + msg + " " + needle.cap(1)); sendCommand("tbreak *0x" + needle.cap(1)); m_waitingForFirstBreakpointToBeHit = true; @@ -4016,12 +4050,12 @@ void GdbEngine::tryLoadCustomDumpers() QString lib = q->m_buildDir + "/qtc-gdbmacros/libgdbmacros.dylib"; if (QFileInfo(lib).exists()) { m_dataDumperState = DataDumperLoadTried; - sendCommand("sharedlibrary libc"); // for malloc - sendCommand("sharedlibrary libdl"); // for dlopen + //sendCommand("sharedlibrary libc"); // for malloc + //sendCommand("sharedlibrary libdl"); // for dlopen QString flag = QString::number(RTLD_NOW); sendCommand("call (void)dlopen(\"" + lib + "\", " + flag + ")", WatchDumpCustomSetup); - sendCommand("sharedlibrary " + dotEscape(lib)); + //sendCommand("sharedlibrary " + dotEscape(lib)); } #endif #if defined(Q_OS_WIN) diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h index 43b87b873c8..3d4eb3a38d5 100644 --- a/src/plugins/debugger/gdbengine.h +++ b/src/plugins/debugger/gdbengine.h @@ -220,6 +220,7 @@ private: int m_oldestAcceptableToken; int m_gdbVersion; // 6.8.0 is 680 + int m_gdbBuildVersion; // MAC only? // awful hack to keep track of used files QMap m_shortToFullName; From 5cf1ee8d1ba89a88aa39fbac31d736a795157af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= Date: Mon, 23 Feb 2009 16:09:54 +0100 Subject: [PATCH 17/17] Wrap qtlibspatcher for finding QtCore --- src/tools/qtlibspatcher/qtlibspatcher.sh | 2 ++ 1 file changed, 2 insertions(+) create mode 100755 src/tools/qtlibspatcher/qtlibspatcher.sh diff --git a/src/tools/qtlibspatcher/qtlibspatcher.sh b/src/tools/qtlibspatcher/qtlibspatcher.sh new file mode 100755 index 00000000000..3f04fafb101 --- /dev/null +++ b/src/tools/qtlibspatcher/qtlibspatcher.sh @@ -0,0 +1,2 @@ +#!/bin/sh +LD_LIBRARY_PATH=`cd .. && pwd`/lib ./qtlibspatcher