From a630a26810d36170c5f75cc73b8e4146e392b437 Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Thu, 11 Oct 2012 19:40:31 +0200 Subject: [PATCH 01/46] Squish: Updated tst_WELP01 Change-Id: Ie4440b404e306b7eb89ad9d344a8d0fb3b7294ae Reviewed-by: Christian Stenger --- tests/system/suite_WELP/tst_WELP01/test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/system/suite_WELP/tst_WELP01/test.py b/tests/system/suite_WELP/tst_WELP01/test.py index 7cde9eba282..c84ecf60748 100755 --- a/tests/system/suite_WELP/tst_WELP01/test.py +++ b/tests/system/suite_WELP/tst_WELP01/test.py @@ -46,8 +46,8 @@ def main(): "text='Online Community'")), "Verifying: Link to Qt forums exists.") test.verify(checkIfObjectExists(getQmlItem("LinkedText", ":Qt Creator_QDeclarativeView", False, - "text='Labs'")), - "Verifying: Link to Qt Labs – Developers blog exists.") + "text='Blogs'")), + "Verifying: Link to Planet Qt exists.") qmlItem = getQmlItem("Text", ":Qt Creator_QDeclarativeView", False, "text='IDE Overview'") expectedText = "QtCreator : IDE Overview" testDetails = "Verifying: Help with IDE Overview topic is being opened." From 6a58e1b9fbfc6d28f9a8ba62e207a068a9c16f7a Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 4 Oct 2012 14:40:29 +0200 Subject: [PATCH 02/46] Using target name instead of ID in shadow build dir Task-number: QTCREATORBUG-7901 Change-Id: Ia38ea896809e7793439e412e260b7cdc409923da Reviewed-by: Daniel Teske Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/kit.cpp | 32 ++++++++++++++++++++ src/plugins/projectexplorer/kit.h | 2 ++ src/plugins/qt4projectmanager/qt4project.cpp | 3 +- 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 03249ba7951..ace5407d198 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -53,6 +53,22 @@ const char ICON_KEY[] = "PE.Profile.Icon"; namespace ProjectExplorer { +// -------------------------------------------------------------------- +// Helper: +// -------------------------------------------------------------------- + +static QString cleanName(const QString &name) +{ + QString result = name; + result.replace(QRegExp("\\W"), QLatin1String("_")); + result.replace(QRegExp("_+"), "_"); // compact _ + result.remove(QRegExp("^_*")); // remove leading _ + result.remove(QRegExp("_+$")); // remove trailing _ + if (result.isEmpty()) + result = QLatin1String("unknown"); + return result; +} + // ------------------------------------------------------------------------- // KitPrivate // ------------------------------------------------------------------------- @@ -185,6 +201,22 @@ void Kit::setDisplayName(const QString &name) kitUpdated(); } +QString Kit::fileSystemFriendlyName() const +{ + QString name = cleanName(displayName()); + foreach (Kit *i, KitManager::instance()->kits()) { + if (i == this) + continue; + if (name == cleanName(i->displayName())) { + // append part of the kit id: That should be unique enough;-) + // Leading { will be turned into _ which should be fine. + name = cleanName(name + QLatin1Char('_') + (id().toString().left(7))); + break; + } + } + return name; +} + bool Kit::isAutoDetected() const { return d->m_autodetected; diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index 82e303c0c14..d275fb59137 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -64,6 +64,8 @@ public: QString displayName() const; void setDisplayName(const QString &name); + QString fileSystemFriendlyName() const; + bool isAutoDetected() const; Core::Id id() const; diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index eed22d62ae9..f9d33f6505f 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -1412,7 +1412,8 @@ QString Qt4Project::buildNameFor(const Kit *k) { if (!k) return QLatin1String("unknown"); - return QString::fromLatin1(k->id().name()).mid(31, 6); // part of the UUID, should be pretty unique;-) + + return k->fileSystemFriendlyName(); } Target *Qt4Project::createTarget(Kit *k, const QList &infoList) From 7ee4968b26ce5976372c3403f2fb82914746c921 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Fri, 12 Oct 2012 15:26:32 +0200 Subject: [PATCH 03/46] Fix additional output omited warning Task-number: QTCREATORBUG-8004 Change-Id: Ic45d62fe3bf36187bb88a84a019fc00dc01976fc Reviewed-by: Tobias Hunger --- src/plugins/coreplugin/outputwindow.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/coreplugin/outputwindow.cpp b/src/plugins/coreplugin/outputwindow.cpp index fd20f00d2f6..69b0467076f 100644 --- a/src/plugins/coreplugin/outputwindow.cpp +++ b/src/plugins/coreplugin/outputwindow.cpp @@ -257,7 +257,7 @@ void OutputWindow::appendText(const QString &textIn, const QTextCharFormat &form { QString text = textIn; text.remove(QLatin1Char('\r')); - if (m_maxLineCount > 0 && document()->blockCount() > m_maxLineCount) + if (m_maxLineCount > 0 && document()->blockCount() >= m_maxLineCount) return; const bool atBottom = isScrollbarAtBottom(); QTextCursor cursor = QTextCursor(document()); @@ -265,10 +265,10 @@ void OutputWindow::appendText(const QString &textIn, const QTextCharFormat &form cursor.beginEditBlock(); cursor.insertText(doNewlineEnfocement(text), format); - if (m_maxLineCount > 0 && document()->blockCount() > m_maxLineCount) { + if (m_maxLineCount > 0 && document()->blockCount() >= m_maxLineCount) { QTextCharFormat tmp; tmp.setFontWeight(QFont::Bold); - cursor.insertText(tr("Additional output omitted\n"), tmp); + cursor.insertText(doNewlineEnfocement(tr("Additional output omitted\n")), tmp); } cursor.endEditBlock(); From 88f362aa75eb969acfa3c889a7da69726d9e2f12 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 12 Oct 2012 16:33:00 +0200 Subject: [PATCH 04/46] MSVC: Parse linker errors starting with Error: or Warning: Task-number: QTCREATORBUG-6983 Change-Id: I174cf771e308909de3332693b67f688b03ca0319 Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/msvcparser.cpp | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/plugins/projectexplorer/msvcparser.cpp b/src/plugins/projectexplorer/msvcparser.cpp index 3219aab88fa..324b4f7ac7e 100644 --- a/src/plugins/projectexplorer/msvcparser.cpp +++ b/src/plugins/projectexplorer/msvcparser.cpp @@ -105,6 +105,22 @@ void MsvcParser::stdOutput(const QString &line) if (processCompileLine(line)) return; + if (line.startsWith("Error:")) { + m_lastTask = Task(Task::Error, + line.mid(6).trimmed(), /* description */ + Utils::FileName(), /* fileName */ + -1, /* linenumber */ + Core::Id(Constants::TASK_CATEGORY_COMPILE)); + return; + } + if (line.startsWith("Warning:")) { + m_lastTask = Task(Task::Warning, + line.mid(8).trimmed(), /* description */ + Utils::FileName(), /* fileName */ + -1, /* linenumber */ + Core::Id(Constants::TASK_CATEGORY_COMPILE)); + return; + } if (infoPos > -1) { m_lastTask = Task(Task::Unknown, m_additionalInfoRegExp.cap(3).trimmed(), /* description */ @@ -280,6 +296,17 @@ void ProjectExplorerPlugin::testMsvcOutputParsers_data() Utils::FileName::fromUserInput("debug\\Experimentation.exe"), -1, Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); + QTest::newRow("Linker error 3") + << QString::fromLatin1("Error: dependent '..\\..\\..\\..\\creator-2.5\\src\\plugins\\coreplugin\\ifile.h' does not exist.") + << OutputParserTester::STDOUT + << QString() << QString() + << (QList() + << Task(Task::Error, + QLatin1String("dependent '..\\..\\..\\..\\creator-2.5\\src\\plugins\\coreplugin\\ifile.h' does not exist."), + Utils::FileName(), -1, + Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) + << QString(); + QTest::newRow("Multiline error") << QString::fromLatin1("c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE\\xutility(2227) : warning C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'\n" " c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE\\xutility(2212) : see declaration of 'std::_Copy_impl'\n" From 7a37897f79b7fdfd821c110b5777df94caa37394 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 11:40:56 +0200 Subject: [PATCH 05/46] Kit: Allow creation of kits with a given id This is to avoid creating lots of Core::Ids due to temporary kits, etc. Change-Id: Id786e3412aadae7a594f6caf64d0dd364744d296 Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kit.cpp | 13 ++++++++----- src/plugins/projectexplorer/kit.h | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index ace5407d198..147a72bc183 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -78,11 +78,14 @@ namespace Internal { class KitPrivate { public: - KitPrivate() : - m_id(QUuid::createUuid().toString().toLatin1().constData()), + KitPrivate(Core::Id id) : + m_id(id), m_autodetected(false), m_isValid(true) - { } + { + if (!id.isValid()) + m_id = Core::Id(QUuid::createUuid().toString().toLatin1().constData()); + } QString m_displayName; Core::Id m_id; @@ -100,8 +103,8 @@ public: // Kit: // ------------------------------------------------------------------------- -Kit::Kit() : - d(new Internal::KitPrivate) +Kit::Kit(Core::Id id) : + d(new Internal::KitPrivate(id)) { KitManager *stm = KitManager::instance(); foreach (KitInformation *sti, stm->kitInformation()) diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index d275fb59137..c67fba42eb9 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -55,7 +55,7 @@ class KitPrivate; class PROJECTEXPLORER_EXPORT Kit { public: - Kit(); + Kit(Core::Id id = Core::Id()); ~Kit(); bool isValid() const; From 7aaaf07259cec31495ec3359f8d9f42298ec660e Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 12:00:11 +0200 Subject: [PATCH 06/46] Kit: Replace operator == Change-Id: I4f211e118bc5cb58a7adf1f6d814105905f964f8 Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kit.cpp | 17 ++++++++++++----- src/plugins/projectexplorer/kit.h | 3 ++- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 147a72bc183..13eebf45090 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -280,6 +280,18 @@ void Kit::removeKey(const Core::Id &key) kitUpdated(); } +bool Kit::isDataEqual(const Kit *other) const +{ + return d->m_data == other->d->m_data; +} + +bool Kit::isEqual(const Kit *other) const +{ + return isDataEqual(other) + && d->m_iconPath == other->d->m_iconPath + && d->m_displayName == other->d->m_displayName; +} + QVariantMap Kit::toMap() const { QVariantMap data; @@ -296,11 +308,6 @@ QVariantMap Kit::toMap() const return data; } -bool Kit::operator==(const Kit &other) const -{ - return d->m_data == other.d->m_data; -} - void Kit::addToEnvironment(Utils::Environment &env) const { QList infoList = KitManager::instance()->kitInformation(); diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index c67fba42eb9..d8f68fb705b 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -78,7 +78,8 @@ public: void setValue(const Core::Id &key, const QVariant &value); void removeKey(const Core::Id &key); - bool operator==(const Kit &other) const; + bool isDataEqual(const Kit *other) const; + bool isEqual(const Kit *other) const; void addToEnvironment(Utils::Environment &env) const; From eac5a6460d7db1861ae04c5e13771868814430ee Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 12:14:49 +0200 Subject: [PATCH 07/46] Kit: Add copyFrom(otherKit) method Change-Id: I28d13c2f54aa42dc42bd9bd5fcae8f8ac0430d0b Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kit.cpp | 11 +++++++++++ src/plugins/projectexplorer/kit.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 13eebf45090..4d2ba8384eb 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -135,6 +135,17 @@ Kit *Kit::clone(bool keepName) const return k; } +void Kit::copyFrom(const Kit *k) +{ + d->m_data = k->d->m_data; + d->m_iconPath = k->d->m_iconPath; + d->m_icon = k->d->m_icon; + d->m_autodetected = k->d->m_autodetected; + d->m_isValid = k->d->m_isValid; + d->m_displayName = k->d->m_displayName; + kitUpdated(); +} + bool Kit::isValid() const { return d->m_id.isValid() && d->m_isValid; diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index d8f68fb705b..19ecee3af81 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -85,6 +85,7 @@ public: QString toHtml(); Kit *clone(bool keepName = false) const; + void copyFrom(const Kit *k); private: // Unimplemented. From c160433ac81c9b7c148988c9f7d025cdb0b7f77a Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 12:31:48 +0200 Subject: [PATCH 08/46] Kit: Simplify validation of kits Change-Id: I562e6f8d5fef36eea543c208cdd855db048b7f33 Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kit.cpp | 18 ++++++++------ src/plugins/projectexplorer/kit.h | 2 -- src/plugins/projectexplorer/kitmanager.cpp | 28 +--------------------- src/plugins/projectexplorer/kitmanager.h | 1 - 4 files changed, 12 insertions(+), 37 deletions(-) diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 4d2ba8384eb..16e910c181b 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -155,8 +155,16 @@ QList Kit::validate() { QList result; QList infoList = KitManager::instance()->kitInformation(); - foreach (KitInformation *i, infoList) - result.append(i->validate(this)); + d->m_isValid = true; + foreach (KitInformation *i, infoList) { + QList tmp = i->validate(this); + foreach (const Task &t, tmp) { + if (t.type == Task::Error) + d->m_isValid = false; + } + result.append(tmp); + } + qSort(result); return result; } @@ -387,13 +395,9 @@ void Kit::setAutoDetected(bool detected) d->m_autodetected = detected; } -void Kit::setValid(bool valid) -{ - d->m_isValid = valid; -} - void Kit::kitUpdated() { + validate(); KitManager::instance()->notifyAboutUpdate(this); } diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index 19ecee3af81..2d8549e7ad8 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -93,7 +93,6 @@ private: void operator=(const Kit &other); void setAutoDetected(bool detected); - void setValid(bool valid); void kitUpdated(); @@ -103,7 +102,6 @@ private: Internal::KitPrivate *d; friend class KitManager; - friend class Internal::KitManagerPrivate; }; } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index ec12df52c67..6feba86e04e 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -80,7 +80,6 @@ class KitManagerPrivate public: KitManagerPrivate(); ~KitManagerPrivate(); - QList validateKit(Kit *k) const; Kit *m_defaultKit; bool m_initialized; @@ -101,22 +100,6 @@ KitManagerPrivate::~KitManagerPrivate() delete m_writer; } -QList KitManagerPrivate::validateKit(Kit *k) const -{ - Q_ASSERT(k); - QList result; - bool hasError = false; - foreach (KitInformation *ki, m_informationList) { - QList tmp = ki->validate(k); - foreach (const Task &t, tmp) - if (t.type == Task::Error) - hasError = true; - result << tmp; - } - k->setValid(!hasError); - return result; -} - } // namespace Internal // -------------------------------------------------------------------------- @@ -388,7 +371,6 @@ void KitManager::notifyAboutUpdate(ProjectExplorer::Kit *k) { if (!k || !kits().contains(k)) return; - d->validateKit(k); emit kitUpdated(k); } @@ -432,13 +414,6 @@ void KitManager::deregisterKit(Kit *k) delete k; } -QList KitManager::validateKit(Kit *k) -{ - QList result = d->validateKit(k); - qSort(result); - return result; -} - void KitManager::setDefaultKit(Kit *k) { if (d->m_defaultKit == k) @@ -452,7 +427,7 @@ void KitManager::setDefaultKit(Kit *k) void KitManager::validateKits() { foreach (Kit *k, kits()) - d->validateKit(k); + k->validate(); } void KitManager::addKit(Kit *k) @@ -460,7 +435,6 @@ void KitManager::addKit(Kit *k) if (!k) return; k->setDisplayName(k->displayName()); // make name unique - d->validateKit(k); d->m_kitList.append(k); if (!d->m_defaultKit || (!d->m_defaultKit->isValid() && k->isValid())) diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h index b417759e5b7..6035bef796e 100644 --- a/src/plugins/projectexplorer/kitmanager.h +++ b/src/plugins/projectexplorer/kitmanager.h @@ -115,7 +115,6 @@ public: public slots: bool registerKit(ProjectExplorer::Kit *k); void deregisterKit(ProjectExplorer::Kit *k); - QList validateKit(ProjectExplorer::Kit *k); void setDefaultKit(ProjectExplorer::Kit *k); void saveKits(); From 837d7bfcff1950a9e8ec6e9bb717e48ee8898cb3 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 12:35:07 +0200 Subject: [PATCH 09/46] KitManager: Add signal to notify about kit updates of unmanaged kits This is necessary to work with temporary kits (like copies of kits done for the options page). Change-Id: I0a795dd7431d47a18a65880ef31563b26029a949 Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kitmanager.cpp | 7 +++++-- src/plugins/projectexplorer/kitmanager.h | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index 6feba86e04e..ef75eb31d9a 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -369,9 +369,12 @@ Internal::KitManagerConfigWidget *KitManager::createConfigWidget(Kit *k) const void KitManager::notifyAboutUpdate(ProjectExplorer::Kit *k) { - if (!k || !kits().contains(k)) + if (!k) return; - emit kitUpdated(k); + if (kits().contains(k)) + emit kitUpdated(k); + else + emit unmanagedKitUpdated(k); } bool KitManager::registerKit(ProjectExplorer::Kit *k) diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h index 6035bef796e..fa2a6cfd13e 100644 --- a/src/plugins/projectexplorer/kitmanager.h +++ b/src/plugins/projectexplorer/kitmanager.h @@ -128,6 +128,7 @@ signals: void kitRemoved(ProjectExplorer::Kit *); // Kit was updated. void kitUpdated(ProjectExplorer::Kit *); + void unmanagedKitUpdated(ProjectExplorer::Kit *); // Default kit was changed. void defaultkitChanged(); // Something changed. From 4a9130a05cbe39f4e953801ff7f5055086ccc483 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 13:47:23 +0200 Subject: [PATCH 10/46] KitInformation: Make validate work on const Kits and add fix method Make sure validate will not modify kits, add a fix method to do that when kits are loaded/added. Change-Id: Ib378af0f3470b2caf64177b35fca061089ac4523 Reviewed-by: Daniel Teske --- src/plugins/debugger/debuggerkitinformation.h | 2 +- src/plugins/projectexplorer/kit.cpp | 2 +- src/plugins/projectexplorer/kit.h | 2 +- .../projectexplorer/kitinformation.cpp | 31 ++++++++++++++----- src/plugins/projectexplorer/kitinformation.h | 10 +++--- src/plugins/projectexplorer/kitmanager.cpp | 13 ++++++-- src/plugins/projectexplorer/kitmanager.h | 3 +- .../qt4projectmanager/qmakekitinformation.cpp | 2 +- .../qt4projectmanager/qmakekitinformation.h | 2 +- src/plugins/qtsupport/qtkitinformation.cpp | 18 ++++++----- src/plugins/qtsupport/qtkitinformation.h | 3 +- 11 files changed, 59 insertions(+), 29 deletions(-) diff --git a/src/plugins/debugger/debuggerkitinformation.h b/src/plugins/debugger/debuggerkitinformation.h index 89c16313c65..785becdf96b 100644 --- a/src/plugins/debugger/debuggerkitinformation.h +++ b/src/plugins/debugger/debuggerkitinformation.h @@ -62,7 +62,7 @@ public: QVariant defaultValue(ProjectExplorer::Kit *k) const { return DebuggerKitInformation::itemToVariant(DebuggerKitInformation::autoDetectItem(k)); } - QList validate(ProjectExplorer::Kit *k) const + QList validate(const ProjectExplorer::Kit *k) const { return DebuggerKitInformation::validateDebugger(k); } static QList validateDebugger(const ProjectExplorer::Kit *k); diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 16e910c181b..a78a62388ff 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -151,7 +151,7 @@ bool Kit::isValid() const return d->m_id.isValid() && d->m_isValid; } -QList Kit::validate() +QList Kit::validate() const { QList result; QList infoList = KitManager::instance()->kitInformation(); diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index 2d8549e7ad8..bb89821e968 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -59,7 +59,7 @@ public: ~Kit(); bool isValid() const; - QList validate(); + QList validate() const; QString displayName() const; void setDisplayName(const QString &name); diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index bdfcc99c0a9..468d985e544 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -76,7 +76,7 @@ QVariant SysRootKitInformation::defaultValue(Kit *k) const return QString(); } -QList SysRootKitInformation::validate(Kit *k) const +QList SysRootKitInformation::validate(const Kit *k) const { QList result; const Utils::FileName dir = SysRootKitInformation::sysRoot(k); @@ -160,19 +160,26 @@ QVariant ToolChainKitInformation::defaultValue(Kit *k) const return tcList.at(0)->id(); } -QList ToolChainKitInformation::validate(Kit *k) const +QList ToolChainKitInformation::validate(const Kit *k) const { QList result; if (!toolChain(k)) { - qWarning("Tool chain is no longer known, removing from kit \"%s\".", - qPrintable(k->displayName())); - setToolChain(k, 0); // make sure to clear out no longer known tool chains result << Task(Task::Error, ToolChainKitInformation::msgNoToolChainInTarget(), Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM)); } return result; } +void ToolChainKitInformation::fix(Kit *k) +{ + if (toolChain(k)) + return; + + qWarning("Tool chain is no longer known, removing from kit \"%s\".", + qPrintable(k->displayName())); + setToolChain(k, 0); // make sure to clear out no longer known tool chains +} + KitConfigWidget *ToolChainKitInformation::createConfigWidget(Kit *k) const { Q_ASSERT(k); @@ -256,7 +263,7 @@ QVariant DeviceTypeKitInformation::defaultValue(Kit *k) const return QByteArray(Constants::DESKTOP_DEVICE_TYPE); } -QList DeviceTypeKitInformation::validate(Kit *k) const +QList DeviceTypeKitInformation::validate(const Kit *k) const { IDevice::ConstPtr dev = DeviceKitInformation::device(k); QList result; @@ -333,13 +340,23 @@ QVariant DeviceKitInformation::defaultValue(Kit *k) const return QByteArray(Constants::DESKTOP_DEVICE_ID); } -QList DeviceKitInformation::validate(Kit *k) const +QList DeviceKitInformation::validate(const Kit *k) const { Q_UNUSED(k); QList result; return result; } +void DeviceKitInformation::fix(Kit *k) +{ + IDevice::ConstPtr dev = DeviceKitInformation::device(k); + if (!dev.isNull()) + return; + + const QString id = defaultValue(k).toString(); + setDeviceId(k, id.isEmpty() ? Core::Id() : Core::Id(id)); +} + KitConfigWidget *DeviceKitInformation::createConfigWidget(Kit *k) const { Q_ASSERT(k); diff --git a/src/plugins/projectexplorer/kitinformation.h b/src/plugins/projectexplorer/kitinformation.h index 7b79a6e39eb..6198a13347d 100644 --- a/src/plugins/projectexplorer/kitinformation.h +++ b/src/plugins/projectexplorer/kitinformation.h @@ -60,7 +60,7 @@ public: QVariant defaultValue(Kit *k) const; - QList validate(Kit *k) const; + QList validate(const Kit *k) const; KitConfigWidget *createConfigWidget(Kit *k) const; @@ -102,7 +102,8 @@ public: QVariant defaultValue(Kit *k) const; - QList validate(Kit *k) const; + QList validate(const Kit *k) const; + void fix(Kit *k); KitConfigWidget *createConfigWidget(Kit *k) const; @@ -149,7 +150,7 @@ public: QVariant defaultValue(Kit *k) const; - QList validate(Kit *k) const; + QList validate(const Kit *k) const; KitConfigWidget *createConfigWidget(Kit *k) const; @@ -193,7 +194,8 @@ public: QVariant defaultValue(Kit *k) const; - QList validate(Kit *k) const; + QList validate(const Kit *k) const; + void fix(Kit *k); KitConfigWidget *createConfigWidget(Kit *k) const; diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index ef75eb31d9a..805c990cd68 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -247,6 +247,8 @@ void KitManager::registerKitInformation(KitInformation *ki) foreach (Kit *k, kits()) { if (!k->hasValue(ki->dataId())) k->setValue(ki->dataId(), ki->defaultValue(k)); + else + ki->fix(k); } return; @@ -357,9 +359,6 @@ QList KitManager::kitInformation() const Internal::KitManagerConfigWidget *KitManager::createConfigWidget(Kit *k) const { - if (!k) - return 0; - Internal::KitManagerConfigWidget *result = new Internal::KitManagerConfigWidget(k); foreach (KitInformation *ki, d->m_informationList) result->addConfigWidget(ki->createConfigWidget(k)); @@ -437,6 +436,14 @@ void KitManager::addKit(Kit *k) { if (!k) return; + + foreach (KitInformation *ki, d->m_informationList) { + if (!k->hasValue(ki->dataId())) + k->setValue(ki->dataId(), ki->defaultValue(k)); + else + ki->fix(k); + } + k->setDisplayName(k->displayName()); // make name unique d->m_kitList.append(k); if (!d->m_defaultKit || diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h index fa2a6cfd13e..ebad70b0fa8 100644 --- a/src/plugins/projectexplorer/kitmanager.h +++ b/src/plugins/projectexplorer/kitmanager.h @@ -74,7 +74,8 @@ public: virtual bool visibleIn(Kit *) { return true; } virtual QVariant defaultValue(Kit *) const = 0; - virtual QList validate(Kit *) const = 0; + virtual QList validate(const Kit *) const = 0; + virtual void fix(Kit *) { return; } virtual ItemList toUserOutput(Kit *) const = 0; diff --git a/src/plugins/qt4projectmanager/qmakekitinformation.cpp b/src/plugins/qt4projectmanager/qmakekitinformation.cpp index e03da430a7e..f4c2f8e42b5 100644 --- a/src/plugins/qt4projectmanager/qmakekitinformation.cpp +++ b/src/plugins/qt4projectmanager/qmakekitinformation.cpp @@ -64,7 +64,7 @@ QVariant QmakeKitInformation::defaultValue(ProjectExplorer::Kit *k) const return QString(); } -QList QmakeKitInformation::validate(ProjectExplorer::Kit *k) const +QList QmakeKitInformation::validate(const ProjectExplorer::Kit *k) const { QList result; QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(k); diff --git a/src/plugins/qt4projectmanager/qmakekitinformation.h b/src/plugins/qt4projectmanager/qmakekitinformation.h index a50c4a80fff..59a43d4a2f2 100644 --- a/src/plugins/qt4projectmanager/qmakekitinformation.h +++ b/src/plugins/qt4projectmanager/qmakekitinformation.h @@ -49,7 +49,7 @@ public: QVariant defaultValue(ProjectExplorer::Kit *k) const; - QList validate(ProjectExplorer::Kit *k) const; + QList validate(const ProjectExplorer::Kit *k) const; ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *k) const; diff --git a/src/plugins/qtsupport/qtkitinformation.cpp b/src/plugins/qtsupport/qtkitinformation.cpp index c773948e5a5..7b1e2326d8b 100644 --- a/src/plugins/qtsupport/qtkitinformation.cpp +++ b/src/plugins/qtsupport/qtkitinformation.cpp @@ -84,19 +84,21 @@ QVariant QtKitInformation::defaultValue(ProjectExplorer::Kit *k) const return -1; } -QList QtKitInformation::validate(ProjectExplorer::Kit *k) const +QList QtKitInformation::validate(const ProjectExplorer::Kit *k) const { - int id = qtVersionId(k); - if (id == -1) + BaseQtVersion *version = qtVersion(k); + if (!version) return QList(); - BaseQtVersion *version = QtVersionManager::instance()->version(id); - if (!version) { - setQtVersionId(k, -1); - return QList(); - } return version->validateKit(k); } +void QtKitInformation::fix(ProjectExplorer::Kit *k) +{ + BaseQtVersion *version = qtVersion(k); + if (!version) + setQtVersionId(k, -1); +} + ProjectExplorer::KitConfigWidget *QtKitInformation::createConfigWidget(ProjectExplorer::Kit *k) const { return new Internal::QtKitConfigWidget(k); diff --git a/src/plugins/qtsupport/qtkitinformation.h b/src/plugins/qtsupport/qtkitinformation.h index 36661d1dd2a..c10457f92e8 100644 --- a/src/plugins/qtsupport/qtkitinformation.h +++ b/src/plugins/qtsupport/qtkitinformation.h @@ -51,7 +51,8 @@ public: QVariant defaultValue(ProjectExplorer::Kit *k) const; - QList validate(ProjectExplorer::Kit *k) const; + QList validate(const ProjectExplorer::Kit *k) const; + void fix(ProjectExplorer::Kit *); ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *k) const; From 9e268f07589aec853792df0e94cdafb390fd4eb8 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 17:53:08 +0200 Subject: [PATCH 11/46] Kit: Small fixes * Do actually print severity of an issue in the tool tip Change-Id: I266bc6efbeb2175d9ca001147a5c732f29b2485c Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kit.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index a78a62388ff..fddea07c993 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -349,10 +349,10 @@ QString Kit::toHtml() str << ""; switch (t.type) { case Task::Error: - QCoreApplication::translate("ProjectExplorer::Kit", "Error:"); + str << QCoreApplication::translate("ProjectExplorer::Kit", "Error:"); break; case Task::Warning: - QCoreApplication::translate("ProjectExplorer::Kit", "Warning:"); + str << QCoreApplication::translate("ProjectExplorer::Kit", "Warning:"); break; case Task::Unknown: default: From 8530e0bdc84ca09f47ff8e5aff728fd785880b53 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 18:12:45 +0200 Subject: [PATCH 12/46] Kit: Infrastructure to stop sending out too many update signals This reduces the amount of validation that is happening a lot. Change-Id: I9a854afc462109845febbb09da1b27930a23cb95 Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kit.cpp | 38 ++++++++++++++++++++++++----- src/plugins/projectexplorer/kit.h | 16 ++++++++++++ 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index fddea07c993..929f41422b5 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -35,6 +35,8 @@ #include "project.h" #include "toolchainmanager.h" +#include + #include #include #include @@ -81,7 +83,9 @@ public: KitPrivate(Core::Id id) : m_id(id), m_autodetected(false), - m_isValid(true) + m_isValid(true), + m_nestedBlockingLevel(0), + m_mustNotify(false) { if (!id.isValid()) m_id = Core::Id(QUuid::createUuid().toString().toLatin1().constData()); @@ -93,6 +97,8 @@ public: bool m_isValid; QIcon m_icon; QString m_iconPath; + int m_nestedBlockingLevel; + bool m_mustNotify; QHash m_data; }; @@ -107,8 +113,9 @@ Kit::Kit(Core::Id id) : d(new Internal::KitPrivate(id)) { KitManager *stm = KitManager::instance(); + KitGuard g(this); foreach (KitInformation *sti, stm->kitInformation()) - d->m_data.insert(sti->dataId(), sti->defaultValue(this)); + setValue(sti->dataId(), sti->defaultValue(this)); setDisplayName(QCoreApplication::translate("ProjectExplorer::Kit", "Unnamed")); setIconPath(QLatin1String(":///DESKTOP///")); @@ -119,6 +126,21 @@ Kit::~Kit() delete d; } +void Kit::blockNotification() +{ + ++d->m_nestedBlockingLevel; +} + +void Kit::unblockNotification() +{ + --d->m_nestedBlockingLevel; + if (d->m_nestedBlockingLevel > 0) + return; + if (d->m_mustNotify) + kitUpdated(); + d->m_mustNotify = false; +} + Kit *Kit::clone(bool keepName) const { Kit *k = new Kit; @@ -137,13 +159,12 @@ Kit *Kit::clone(bool keepName) const void Kit::copyFrom(const Kit *k) { + KitGuard g(this); d->m_data = k->d->m_data; d->m_iconPath = k->d->m_iconPath; d->m_icon = k->d->m_icon; d->m_autodetected = k->d->m_autodetected; - d->m_isValid = k->d->m_isValid; d->m_displayName = k->d->m_displayName; - kitUpdated(); } bool Kit::isValid() const @@ -375,17 +396,18 @@ QString Kit::toHtml() bool Kit::fromMap(const QVariantMap &data) { + KitGuard g(this); const QString id = data.value(QLatin1String(ID_KEY)).toString(); if (id.isEmpty()) return false; d->m_id = Core::Id(id); - d->m_displayName = data.value(QLatin1String(DISPLAYNAME_KEY)).toString(); d->m_autodetected = data.value(QLatin1String(AUTODETECTED_KEY)).toBool(); + setDisplayName(data.value(QLatin1String(DISPLAYNAME_KEY)).toString()); setIconPath(data.value(QLatin1String(ICON_KEY)).toString()); QVariantMap extra = data.value(QLatin1String(DATA_KEY)).toMap(); foreach (const QString &key, extra.keys()) - d->m_data.insert(Core::Id(key), extra.value(key)); + setValue(Core::Id(key), extra.value(key)); return true; } @@ -397,6 +419,10 @@ void Kit::setAutoDetected(bool detected) void Kit::kitUpdated() { + if (d->m_nestedBlockingLevel > 0) { + d->m_mustNotify = true; + return; + } validate(); KitManager::instance()->notifyAboutUpdate(this); } diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index bb89821e968..04472a2624a 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -58,6 +58,11 @@ public: Kit(Core::Id id = Core::Id()); ~Kit(); + // Do not trigger evaluations + void blockNotification(); + // Trigger evaluations again. + void unblockNotification(); + bool isValid() const; QList validate() const; @@ -104,6 +109,17 @@ private: friend class KitManager; }; +class KitGuard +{ +public: + KitGuard(Kit *k) : m_kit(k) + { k->blockNotification(); } + + ~KitGuard() { m_kit->unblockNotification(); } +private: + Kit *m_kit; +}; + } // namespace ProjectExplorer Q_DECLARE_METATYPE(ProjectExplorer::Kit *) From 59dfe0923e859f7839cd5fd5d6bfc9067fc6cbcd Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 18:15:21 +0200 Subject: [PATCH 13/46] Kit: Add method to fix up a kit Change-Id: I14c540766e37d63957d8c648a8b31dbc68445ac7 Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kit.cpp | 7 +++++++ src/plugins/projectexplorer/kit.h | 1 + 2 files changed, 8 insertions(+) diff --git a/src/plugins/projectexplorer/kit.cpp b/src/plugins/projectexplorer/kit.cpp index 929f41422b5..31c9bdcdc53 100644 --- a/src/plugins/projectexplorer/kit.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -189,6 +189,13 @@ QList Kit::validate() const return result; } +void Kit::fix() +{ + KitGuard g(this); + foreach (KitInformation *i, KitManager::instance()->kitInformation()) + i->fix(this); +} + QString Kit::displayName() const { return d->m_displayName; diff --git a/src/plugins/projectexplorer/kit.h b/src/plugins/projectexplorer/kit.h index 04472a2624a..3dfcd61034f 100644 --- a/src/plugins/projectexplorer/kit.h +++ b/src/plugins/projectexplorer/kit.h @@ -65,6 +65,7 @@ public: bool isValid() const; QList validate() const; + void fix(); QString displayName() const; void setDisplayName(const QString &name); From 7c17ab22e6e444ce9177d5cc7dcdee5cb7d3dff0 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 18:17:15 +0200 Subject: [PATCH 14/46] Fix validation/fixup of device related kitinformation Change-Id: Ib4a549627591e6038d84d4423e4ebab0b543f0d3 Reviewed-by: Daniel Teske --- .../projectexplorer/kitinformation.cpp | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index 468d985e544..50c721c2e6a 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -265,12 +265,8 @@ QVariant DeviceTypeKitInformation::defaultValue(Kit *k) const QList DeviceTypeKitInformation::validate(const Kit *k) const { - IDevice::ConstPtr dev = DeviceKitInformation::device(k); - QList result; - if (!dev.isNull() && dev->type() != DeviceTypeKitInformation::deviceTypeId(k)) - result.append(Task(Task::Error, tr("Device does not match device type."), - Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))); - return result; + Q_UNUSED(k); + return QList(); } KitConfigWidget *DeviceTypeKitInformation::createConfigWidget(Kit *k) const @@ -336,21 +332,28 @@ unsigned int DeviceKitInformation::priority() const QVariant DeviceKitInformation::defaultValue(Kit *k) const { - Q_UNUSED(k); - return QByteArray(Constants::DESKTOP_DEVICE_ID); + Core::Id type = DeviceTypeKitInformation::deviceTypeId(k); + IDevice::ConstPtr dev = DeviceManager::instance()->defaultDevice(type); + return dev.isNull() ? QString() : dev->id().toString(); } QList DeviceKitInformation::validate(const Kit *k) const { - Q_UNUSED(k); + IDevice::ConstPtr dev = DeviceKitInformation::device(k); QList result; + if (!dev.isNull() && dev->type() != DeviceTypeKitInformation::deviceTypeId(k)) + result.append(Task(Task::Error, tr("Device does not match device type."), + Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))); + if (dev.isNull()) + result.append(Task(Task::Warning, tr("No Device set."), + Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))); return result; } void DeviceKitInformation::fix(Kit *k) { IDevice::ConstPtr dev = DeviceKitInformation::device(k); - if (!dev.isNull()) + if (!dev.isNull() && dev->type() == DeviceTypeKitInformation::deviceTypeId(k)) return; const QString id = defaultValue(k).toString(); From 345e18f5b3cc3aa5aeed3befab69f704553cf715 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 18:17:51 +0200 Subject: [PATCH 15/46] KitManager: Reduce number of validations happening Do not trigger needless validations Change-Id: Ia51ce07c51c1d98f508584fc762ad4f29f0cf4f4 Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kitmanager.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index 805c990cd68..bde8edb3462 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -386,11 +386,6 @@ bool KitManager::registerKit(ProjectExplorer::Kit *k) } // make sure we have all the information in our kits: - foreach (KitInformation *ki, d->m_informationList) { - if (!k->hasValue(ki->dataId())) - k->setValue(ki->dataId(), ki->defaultValue(k)); - } - addKit(k); emit kitAdded(k); return true; @@ -437,6 +432,7 @@ void KitManager::addKit(Kit *k) if (!k) return; + KitGuard g(k); foreach (KitInformation *ki, d->m_informationList) { if (!k->hasValue(ki->dataId())) k->setValue(ki->dataId(), ki->defaultValue(k)); @@ -444,7 +440,6 @@ void KitManager::addKit(Kit *k) ki->fix(k); } - k->setDisplayName(k->displayName()); // make name unique d->m_kitList.append(k); if (!d->m_defaultKit || (!d->m_defaultKit->isValid() && k->isValid())) From 52ecffafb0f306c4b70bd6ecf1d66e94ad269c2b Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 11 Oct 2012 18:19:13 +0200 Subject: [PATCH 16/46] QtInformation: Do not warn about missing tool chain The tool chain already does that. Change-Id: If1fcdbb6abba5acef0bbe441127426e0b13b9254 Reviewed-by: Daniel Teske --- src/plugins/qtsupport/baseqtversion.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 07e34b2fa45..3fb494e5348 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -301,12 +301,6 @@ QList BaseQtVersion::validateKit(const ProjectExplorer::K Q_ASSERT(version == this); ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(k); - if (!tc) - result << ProjectExplorer::Task(ProjectExplorer::Task::Error, - ProjectExplorer::ToolChainKitInformation::msgNoToolChainInTarget(), - Utils::FileName(), -1, - Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); - const QList qtAbis = version->qtAbis(); if (tc && !qtAbis.contains(tc->targetAbi())) { From 00e8190801bbf9de2ee6a6c65c48052ca6bc398f Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Sat, 13 Oct 2012 22:24:58 +0200 Subject: [PATCH 17/46] Fix possible crash I introduced this when splitting up my patchset for review. Bad patch is 4a9130a0 Change-Id: I08729c75e0e9c5d8d345e4e0bb4dfa865fdedcaa Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/kitmanager.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index bde8edb3462..a51770ea43c 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -359,6 +359,8 @@ QList KitManager::kitInformation() const Internal::KitManagerConfigWidget *KitManager::createConfigWidget(Kit *k) const { + if (!k) + return 0; Internal::KitManagerConfigWidget *result = new Internal::KitManagerConfigWidget(k); foreach (KitInformation *ki, d->m_informationList) result->addConfigWidget(ki->createConfigWidget(k)); From 199b243bca769049095b72bf5af7e95add1ecff6 Mon Sep 17 00:00:00 2001 From: Andre Hartmann Date: Mon, 8 Oct 2012 18:18:28 +0200 Subject: [PATCH 18/46] C++ Macro Usages: Fix search result encoding and highlighting. If the result lines contain non-Latin1 characters (e.g. in comments), the output is garbled. Using QByteArrays with toUtf8() and fromUtf8() doesn't seem to be an alternative, as in this case the macro.offset() is no longer valid. So it seems to be the best to use QString for the result lines. Task-number: QTCREATORBUG-7122 Change-Id: I57128c9c9f3eb182f079e305e97e9c5ac0a1bc61 Reviewed-by: Erik Verbruggen --- src/plugins/cpptools/cppfindreferences.cpp | 41 +++++++--------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 83605ef106c..4741aa7dff1 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -569,7 +569,7 @@ public: return usages; const Document::Ptr &doc = snapshot.document(fileName); - QByteArray source; + QString source; foreach (const Document::MacroUse &use, doc->macroUses()) { const Macro &useMacro = use.macro(); @@ -577,7 +577,7 @@ public: && useMacro.fileName() == macro.fileName()) { if (source.isEmpty()) - source = getSource(fileName, workingCopy).toLatin1(); // ### FIXME: Encoding? + source = getSource(fileName, workingCopy); unsigned lineStart; const QString &lineSource = matchingLine(use.begin(), source, &lineStart); @@ -592,29 +592,18 @@ public: } // ### FIXME: Pretty close to FindUsages::matchingLine. - static QString matchingLine(unsigned position, const QByteArray &source, + static QString matchingLine(unsigned position, const QString &source, unsigned *lineStart = 0) { - const char *beg = source.constData(); - const char *start = beg + position; - for (; start != beg - 1; --start) { - if (*start == '\n') - break; - } - - ++start; - - const char *end = start + 1; - for (; *end; ++end) { - if (*end == '\n') - break; - } + int lineBegin = source.lastIndexOf(QLatin1Char('\n'), position) + 1; + int lineEnd = source.indexOf(QLatin1Char('\n'), position); + if (lineEnd == -1) + lineEnd = source.length(); if (lineStart) - *lineStart = start - beg; + *lineStart = lineBegin; - // ### FIXME: Encoding? - const QString matchingLine = QString::fromUtf8(start, end - start); + const QString matchingLine = source.mid(lineBegin, lineEnd - lineBegin); return matchingLine; } }; @@ -678,15 +667,11 @@ void CppFindReferences::findMacroUses(const Macro ¯o, const QString &replace // add the macro definition itself { - // ### FIXME: Encoding? - const QByteArray &source = getSource(macro.fileName(), workingCopy).toLatin1(); - int lineBegin = source.lastIndexOf('\n', macro.offset()) + 1; - int lineEnd = source.indexOf('\n', macro.offset()); - if (lineEnd == -1) - lineEnd = source.length(); - const QByteArray line = source.mid(lineBegin, lineEnd - lineBegin); + const QString &source = getSource(macro.fileName(), workingCopy); + unsigned lineStart; + const QString line = FindMacroUsesInFile::matchingLine(macro.offset(), source, &lineStart); search->addResult(macro.fileName(), macro.line(), line, - line.indexOf(macro.name()), macro.name().length()); + macro.offset() - lineStart, macro.name().length()); } QFuture result; From f3faef5a1e345b02dfca0b8c682e5e36e318849f Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Thu, 11 Oct 2012 16:16:01 +0200 Subject: [PATCH 19/46] C++: Fix outdated macro usage info in documents. Record revisions of documents in macro definitions and usages. Then, when searching for usages, check the revision of the documents against the revision of the macros. If they are out-of-sync, repreprocess the documents to get up-to-date info. Task-number: QTCREATORBUG-7872 Change-Id: I846bb52ec660024728ab117a9fb7e43382a50e63 Reviewed-by: Christian Stenger --- src/libs/cplusplus/CppDocument.cpp | 13 +++- src/libs/cplusplus/CppDocument.h | 12 ++-- src/libs/cplusplus/FastPreprocessor.cpp | 67 ++++++++++++++++++- src/libs/cplusplus/FastPreprocessor.h | 15 +++-- src/libs/cplusplus/Macro.cpp | 1 + src/libs/cplusplus/Macro.h | 7 ++ src/libs/cplusplus/pp-engine.cpp | 3 + src/plugins/cppeditor/cppeditor.cpp | 5 +- src/plugins/cpptools/cppfindreferences.cpp | 31 +++++---- src/plugins/cpptools/cppmodelmanager.cpp | 13 +++- .../cpptools/cpprefactoringchanges.cpp | 3 +- src/plugins/debugger/cdb/cdbengine.cpp | 4 +- src/plugins/designer/qtcreatorintegration.cpp | 4 +- 13 files changed, 132 insertions(+), 46 deletions(-) diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp index 2046747db5b..1584afa2ede 100644 --- a/src/libs/cplusplus/CppDocument.cpp +++ b/src/libs/cplusplus/CppDocument.cpp @@ -676,10 +676,19 @@ void Snapshot::insert(Document::Ptr doc) _documents.insert(doc->fileName(), doc); } -QByteArray Snapshot::preprocessedCode(const QString &source, const QString &fileName) const +Document::Ptr Snapshot::preprocessedDocument(const QString &source, const QString &fileName) const { + Document::Ptr newDoc = Document::create(fileName); + if (Document::Ptr thisDocument = document(fileName)) { + newDoc->_revision = thisDocument->_revision; + newDoc->_editorRevision = thisDocument->_editorRevision; + newDoc->_lastModified = thisDocument->_lastModified; + } + FastPreprocessor pp(*this); - return pp.run(fileName, source); + const QByteArray preprocessedCode = pp.run(newDoc, source); + newDoc->setUtf8Source(preprocessedCode); + return newDoc; } Document::Ptr Snapshot::documentFromSource(const QByteArray &preprocessedCode, diff --git a/src/libs/cplusplus/CppDocument.h b/src/libs/cplusplus/CppDocument.h index 68f78def55b..484a1b3d9e9 100644 --- a/src/libs/cplusplus/CppDocument.h +++ b/src/libs/cplusplus/CppDocument.h @@ -79,7 +79,8 @@ public: void appendMacro(const Macro ¯o); void addMacroUse(const Macro ¯o, unsigned offset, unsigned length, - unsigned beginLine, const QVector &range); + unsigned beginLine, + const QVector &range); void addUndefinedMacroUse(const QByteArray &name, unsigned offset); Control *control() const; @@ -254,8 +255,7 @@ public: unsigned _beginLine; public: - inline MacroUse(const Macro ¯o, - unsigned begin, unsigned end, unsigned beginLine) + inline MacroUse(const Macro ¯o, unsigned begin, unsigned end, unsigned beginLine) : Block(begin, end), _macro(macro), _beginLine(beginLine) @@ -371,10 +371,10 @@ public: Snapshot simplified(Document::Ptr doc) const; - QByteArray preprocessedCode(const QString &source, - const QString &fileName) const; + Document::Ptr preprocessedDocument(const QString &source, + const QString &fileName) const; - Document::Ptr documentFromSource(const QByteArray &preprocessedCode, + Document::Ptr documentFromSource(const QByteArray &preprocessedDocument, const QString &fileName) const; private: diff --git a/src/libs/cplusplus/FastPreprocessor.cpp b/src/libs/cplusplus/FastPreprocessor.cpp index d94c99beda9..b95ea7493fb 100644 --- a/src/libs/cplusplus/FastPreprocessor.cpp +++ b/src/libs/cplusplus/FastPreprocessor.cpp @@ -39,8 +39,10 @@ FastPreprocessor::FastPreprocessor(const Snapshot &snapshot) _preproc(this, &_env) { } -QByteArray FastPreprocessor::run(QString fileName, const QString &source) +QByteArray FastPreprocessor::run(Document::Ptr newDoc, const QString &source) { + std::swap(newDoc, _currentDoc); + const QString fileName = _currentDoc->fileName(); _preproc.setExpandFunctionlikeMacros(false); _preproc.setKeepComments(true); @@ -54,11 +56,17 @@ QByteArray FastPreprocessor::run(QString fileName, const QString &source) const QByteArray preprocessed = _preproc.run(fileName, source); // qDebug("FastPreprocessor::run for %s produced [[%s]]", fileName.toUtf8().constData(), preprocessed.constData()); + std::swap(newDoc, _currentDoc); return preprocessed; } -void FastPreprocessor::sourceNeeded(unsigned, QString &fileName, IncludeType) -{ mergeEnvironment(fileName); } +void FastPreprocessor::sourceNeeded(unsigned line, QString &fileName, IncludeType) +{ + Q_ASSERT(_currentDoc); + _currentDoc->addIncludeFile(fileName, line); + + mergeEnvironment(fileName); +} void FastPreprocessor::mergeEnvironment(const QString &fileName) { @@ -73,3 +81,56 @@ void FastPreprocessor::mergeEnvironment(const QString &fileName) } } } + +void FastPreprocessor::macroAdded(const Macro ¯o) +{ + Q_ASSERT(_currentDoc); + + _currentDoc->appendMacro(macro); +} + +static const Macro revision(const Snapshot &s, const Macro &m) +{ + if (Document::Ptr d = s.document(m.fileName())) { + Macro newMacro(m); + newMacro.setFileRevision(d->revision()); + return newMacro; + } + + return m; +} + +void FastPreprocessor::passedMacroDefinitionCheck(unsigned offset, unsigned line, const Macro ¯o) +{ + Q_ASSERT(_currentDoc); + + _currentDoc->addMacroUse(revision(_snapshot, macro), + offset, macro.name().length(), line, + QVector()); +} + +void FastPreprocessor::failedMacroDefinitionCheck(unsigned offset, const ByteArrayRef &name) +{ + Q_ASSERT(_currentDoc); + + _currentDoc->addUndefinedMacroUse(QByteArray(name.start(), name.size()), offset); +} + +void FastPreprocessor::notifyMacroReference(unsigned offset, unsigned line, const Macro ¯o) +{ + Q_ASSERT(_currentDoc); + + _currentDoc->addMacroUse(revision(_snapshot, macro), + offset, macro.name().length(), line, + QVector()); +} + +void FastPreprocessor::startExpandingMacro(unsigned offset, unsigned line, + const Macro ¯o, + const QVector &actuals) +{ + Q_ASSERT(_currentDoc); + + _currentDoc->addMacroUse(revision(_snapshot, macro), + offset, macro.name().length(), line, actuals); +} diff --git a/src/libs/cplusplus/FastPreprocessor.h b/src/libs/cplusplus/FastPreprocessor.h index 5aed578ff0c..14168ad2e6b 100644 --- a/src/libs/cplusplus/FastPreprocessor.h +++ b/src/libs/cplusplus/FastPreprocessor.h @@ -47,28 +47,29 @@ class CPLUSPLUS_EXPORT FastPreprocessor: public Client Snapshot _snapshot; Preprocessor _preproc; QSet _merged; + Document::Ptr _currentDoc; void mergeEnvironment(const QString &fileName); public: FastPreprocessor(const Snapshot &snapshot); - QByteArray run(QString fileName, const QString &source); + QByteArray run(Document::Ptr newDoc, const QString &source); // CPlusPlus::Client - virtual void sourceNeeded(unsigned, QString &fileName, IncludeType); + virtual void sourceNeeded(unsigned line, QString &fileName, IncludeType); - virtual void macroAdded(const Macro &) {} + virtual void macroAdded(const Macro &); - virtual void passedMacroDefinitionCheck(unsigned, unsigned, const Macro &) {} - virtual void failedMacroDefinitionCheck(unsigned, const ByteArrayRef &) {} + virtual void passedMacroDefinitionCheck(unsigned, unsigned, const Macro &); + virtual void failedMacroDefinitionCheck(unsigned, const ByteArrayRef &); - virtual void notifyMacroReference(unsigned, unsigned, const Macro &) {} + virtual void notifyMacroReference(unsigned, unsigned, const Macro &); virtual void startExpandingMacro(unsigned, unsigned, const Macro &, - const QVector &) {} + const QVector &); virtual void stopExpandingMacro(unsigned, const Macro &) {} virtual void startSkippingBlocks(unsigned) {} diff --git a/src/libs/cplusplus/Macro.cpp b/src/libs/cplusplus/Macro.cpp index 4c8cac92ad8..7b6ddf09881 100644 --- a/src/libs/cplusplus/Macro.cpp +++ b/src/libs/cplusplus/Macro.cpp @@ -53,6 +53,7 @@ using namespace CPlusPlus; Macro::Macro() : _next(0), _hashcode(0), + _fileRevision(0), _line(0), _offset(0), _length(0), diff --git a/src/libs/cplusplus/Macro.h b/src/libs/cplusplus/Macro.h index 80b797cbc77..241b15d69d3 100644 --- a/src/libs/cplusplus/Macro.h +++ b/src/libs/cplusplus/Macro.h @@ -95,6 +95,12 @@ public: void setFileName(const QString &fileName) { _fileName = fileName; } + unsigned fileRevision() const + { return _fileRevision; } + + void setFileRevision(unsigned fileRevision) + { _fileRevision = fileRevision; } + unsigned line() const { return _line; } @@ -154,6 +160,7 @@ private: QVector _definitionTokens; QVector _formals; QString _fileName; + unsigned _fileRevision; unsigned _line; unsigned _offset; unsigned _length; diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp index c2d104ae6ea..3564cc11c45 100644 --- a/src/libs/cplusplus/pp-engine.cpp +++ b/src/libs/cplusplus/pp-engine.cpp @@ -812,6 +812,9 @@ bool Preprocessor::handleIdentifier(PPToken *tk) if (!expandFunctionlikeMacros() // Still expand if this originally started with an object-like macro. && m_state.m_expansionStatus != Expanding) { + m_client->notifyMacroReference(m_state.m_offsetRef + idTk.offset, + idTk.lineno, + *macro); return false; } diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 4b5cdbb18de..5dd4308da0c 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -2140,10 +2140,7 @@ SemanticInfo SemanticHighlighter::semanticInfo(const Source &source) if (! semanticInfo.doc) { semanticInfo.snapshot = source.snapshot; if (source.snapshot.contains(source.fileName)) { - const QByteArray &preprocessedCode = - source.snapshot.preprocessedCode(source.code, source.fileName); - Document::Ptr doc = - source.snapshot.documentFromSource(preprocessedCode, source.fileName); + Document::Ptr doc = source.snapshot.preprocessedDocument(source.code, source.fileName); doc->control()->setTopLevelDeclarationProcessor(this); doc->check(); semanticInfo.doc = doc; diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 4741aa7dff1..9be53c0c760 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -128,14 +128,12 @@ public: return usages; // skip this document, it's not using symbolId. } Document::Ptr doc; - QByteArray source; const QString unpreprocessedSource = getSource(fileName, workingCopy); if (symbolDocument && fileName == symbolDocument->fileName()) { doc = symbolDocument; } else { - source = snapshot.preprocessedCode(unpreprocessedSource, fileName); - doc = snapshot.documentFromSource(source, fileName); + doc = snapshot.preprocessedDocument(unpreprocessedSource, fileName); doc->tokenize(); } @@ -458,10 +456,8 @@ bool CppFindReferences::findSymbol(CppFindReferencesParameters *parameters, Document::Ptr newSymbolDocument = snapshot.document(symbolFile); // document is not parsed and has no bindings yet, do it QString source = getSource(newSymbolDocument->fileName(), _modelManager->workingCopy()); - const QByteArray &preprocessedCode = - snapshot.preprocessedCode(source, newSymbolDocument->fileName()); Document::Ptr doc = - snapshot.documentFromSource(preprocessedCode, newSymbolDocument->fileName()); + snapshot.preprocessedDocument(source, newSymbolDocument->fileName()); doc->check(); // construct id of old symbol @@ -563,19 +559,29 @@ public: QList operator()(const QString &fileName) { QList usages; + Document::Ptr doc = snapshot.document(fileName); + QString source; + +_Lrestart: if (future->isPaused()) future->waitForResume(); if (future->isCanceled()) return usages; - const Document::Ptr &doc = snapshot.document(fileName); - QString source; - + usages.clear(); foreach (const Document::MacroUse &use, doc->macroUses()) { const Macro &useMacro = use.macro(); - if (useMacro.line() == macro.line() - && useMacro.fileName() == macro.fileName()) - { + + if (useMacro.fileName() == macro.fileName()) { // Check if this is a match, but possibly against an outdated document. + if (macro.fileRevision() > useMacro.fileRevision()) { + // yes, it is outdated, so re-preprocess and start from scratch for this file. + source = getSource(fileName, workingCopy).toLatin1(); + doc = snapshot.preprocessedDocument(source, fileName); + goto _Lrestart; + } + } + + if (useMacro.fileName() == macro.fileName() && macro.name() == useMacro.name()) { if (source.isEmpty()) source = getSource(fileName, workingCopy); @@ -625,7 +631,6 @@ static void findMacroUses_helper(QFutureInterface &future, files.removeDuplicates(); future.setProgressRange(0, files.size()); - FindMacroUsesInFile process(workingCopy, snapshot, macro, &future); UpdateUI reduce(&future); // This thread waits for blockingMappedReduced to finish, so reduce the pool's used thread count diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp index 139792736f1..6942c755836 100644 --- a/src/plugins/cpptools/cppmodelmanager.cpp +++ b/src/plugins/cpptools/cppmodelmanager.cpp @@ -498,12 +498,19 @@ void CppPreprocessor::macroAdded(const Macro ¯o) m_currentDoc->appendMacro(macro); } +static inline const Macro revision(const CppModelManagerInterface::WorkingCopy &s, const Macro ¯o) +{ + Macro newMacro(macro); + newMacro.setFileRevision(s.get(macro.fileName()).second); + return newMacro; +} + void CppPreprocessor::passedMacroDefinitionCheck(unsigned offset, unsigned line, const Macro ¯o) { if (! m_currentDoc) return; - m_currentDoc->addMacroUse(macro, offset, macro.name().length(), line, + m_currentDoc->addMacroUse(revision(m_workingCopy, macro), offset, macro.name().length(), line, QVector()); } @@ -520,7 +527,7 @@ void CppPreprocessor::notifyMacroReference(unsigned offset, unsigned line, const if (! m_currentDoc) return; - m_currentDoc->addMacroUse(macro, offset, macro.name().length(), line, + m_currentDoc->addMacroUse(revision(m_workingCopy, macro), offset, macro.name().length(), line, QVector()); } @@ -531,7 +538,7 @@ void CppPreprocessor::startExpandingMacro(unsigned offset, unsigned line, if (! m_currentDoc) return; - m_currentDoc->addMacroUse(macro, offset, macro.name().length(), line, actuals); + m_currentDoc->addMacroUse(revision(m_workingCopy, macro), offset, macro.name().length(), line, actuals); } void CppPreprocessor::stopExpandingMacro(unsigned, const Macro &) diff --git a/src/plugins/cpptools/cpprefactoringchanges.cpp b/src/plugins/cpptools/cpprefactoringchanges.cpp index 65341c4e14f..5027e227178 100644 --- a/src/plugins/cpptools/cpprefactoringchanges.cpp +++ b/src/plugins/cpptools/cpprefactoringchanges.cpp @@ -156,8 +156,7 @@ Document::Ptr CppRefactoringFile::cppDocument() const const QString name = fileName(); const Snapshot &snapshot = data()->m_snapshot; - const QByteArray contents = snapshot.preprocessedCode(source, name); - m_cppDocument = snapshot.documentFromSource(contents, name); + m_cppDocument = snapshot.preprocessedDocument(source, name); m_cppDocument->check(); } diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 64d3d0f6ad2..19be45ca0a0 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -2626,9 +2626,7 @@ static CPlusPlus::Document::Ptr getParsedDocument(const QString &fileName, src = QString::fromLocal8Bit(reader.data()); // ### FIXME encoding } - QByteArray source = snapshot.preprocessedCode(src, fileName); - - CPlusPlus::Document::Ptr doc = snapshot.documentFromSource(source, fileName); + CPlusPlus::Document::Ptr doc = snapshot.preprocessedDocument(src, fileName); doc->parse(); return doc; } diff --git a/src/plugins/designer/qtcreatorintegration.cpp b/src/plugins/designer/qtcreatorintegration.cpp index 8a89f1c947b..74c55c464b4 100644 --- a/src/plugins/designer/qtcreatorintegration.cpp +++ b/src/plugins/designer/qtcreatorintegration.cpp @@ -511,9 +511,7 @@ static Document::Ptr getParsedDocument(const QString &fileName, CppModelManagerI src = QString::fromLocal8Bit(reader.data()); // ### FIXME encoding } - QByteArray source = snapshot.preprocessedCode(src, fileName); - - Document::Ptr doc = snapshot.documentFromSource(source, fileName); + Document::Ptr doc = snapshot.preprocessedDocument(src, fileName); doc->check(); snapshot.insert(doc); return doc; From 3d6f816b67bdb89b98a4e96676df1ccb20f05674 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Mon, 15 Oct 2012 12:01:02 +0200 Subject: [PATCH 20/46] Debugger: s/Profile/Kit/ Change-Id: Ic0e5e8f784953d721833fff78a846ff13844a298 Reviewed-by: hjk --- src/plugins/debugger/debuggerdialogs.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index 230dcada860..ab1f138ab84 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -207,7 +207,7 @@ QString StartApplicationParameters::displayName() const void StartApplicationParameters::toSettings(QSettings *settings) const { - settings->setValue(_("LastProfileId"), kitId.toString()); + settings->setValue(_("LastKitId"), kitId.toString()); settings->setValue(_("LastServerPort"), serverPort); settings->setValue(_("LastExternalExecutable"), localExecutable); settings->setValue(_("LastExternalExecutableArguments"), processArgs); @@ -220,7 +220,7 @@ void StartApplicationParameters::toSettings(QSettings *settings) const void StartApplicationParameters::fromSettings(const QSettings *settings) { - const QString kitIdString = settings->value(_("LastProfileId")).toString(); + const QString kitIdString = settings->value(_("LastKitId")).toString(); kitId = kitIdString.isEmpty() ? Id() : Id(kitIdString); serverPort = settings->value(_("LastServerPort")).toUInt(); localExecutable = settings->value(_("LastExternalExecutable")).toString(); From 6e3af2bf2e2833e0ecbc9b366af8e06abd7ecf96 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 9 Oct 2012 10:17:43 +0200 Subject: [PATCH 21/46] QMakeEvaluator: Set pro file as source for internal variables Task-number: QTCREATORBUG-7006 Change-Id: I3f599f92d03b6f9fdf65b12cf4090e28cc497fbd Reviewed-by: Oswald Buddenhagen --- src/shared/proparser/qmakeevaluator.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/shared/proparser/qmakeevaluator.cpp b/src/shared/proparser/qmakeevaluator.cpp index 08cb3c102ef..48b18b4c848 100644 --- a/src/shared/proparser/qmakeevaluator.cpp +++ b/src/shared/proparser/qmakeevaluator.cpp @@ -1141,10 +1141,11 @@ void QMakeEvaluator::setupProject() { setTemplate(); ProValueMap &vars = m_valuemapStack.top(); - vars[ProKey("TARGET")] << ProString(QFileInfo(currentFileName()).baseName()); - vars[ProKey("_PRO_FILE_")] << ProString(currentFileName()); - vars[ProKey("_PRO_FILE_PWD_")] << ProString(currentDirectory()); - vars[ProKey("OUT_PWD")] << ProString(m_outputDir); + ProFile *proFile = currentProFile(); + vars[ProKey("TARGET")] << ProString(QFileInfo(currentFileName()).baseName()).setSource(proFile); + vars[ProKey("_PRO_FILE_")] << ProString(currentFileName()).setSource(proFile); + vars[ProKey("_PRO_FILE_PWD_")] << ProString(currentDirectory()).setSource(proFile); + vars[ProKey("OUT_PWD")] << ProString(m_outputDir).setSource(proFile); } void QMakeEvaluator::visitCmdLine(const QString &cmds) From c120086726645bc74563ca74a15f111b3455a576 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 15 Oct 2012 12:37:33 +0200 Subject: [PATCH 22/46] Doc: Change Local Display Format option in Locals and Expressions view Task-number: QTCREATORBUG-7352 Change-Id: Ifbc1db45e591c27a12f7b215deab209857d08174 Reviewed-by: hjk --- doc/src/debugger/creator-debugger.qdoc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/doc/src/debugger/creator-debugger.qdoc b/doc/src/debugger/creator-debugger.qdoc index 4e14a0a3e2c..28a36a823b7 100644 --- a/doc/src/debugger/creator-debugger.qdoc +++ b/doc/src/debugger/creator-debugger.qdoc @@ -631,6 +631,17 @@ Also, the debugger displays access data for QFileInfo and provides access to the "real" contents of QVariant. + Right-click in the the \gui{Locals and Expressions} view to open a context + menu that provides additional options for viewing data. The available + options depend on the type of the current items, and are provided by the + \l{Using Debugging Helpers}{Debugging Helpers}. Typically, string-like data, + such as \c{QByteArray} and \c{std::string}, offer a selection of encodings, + as well as the possibility to use a full editor window. Map-like data, such + as \c{QMap}, \c{QHash}, and \c{std::map}, offer a compact option using the + \c{name} column for keys, resulting in a concise display of containers with + short keys, such as numbers or short strings. For example, to expand all the + values of QMap, select \gui {Change Local Display Format} > \gui Compact. + You can use the \gui{Locals and Expressions} view to change the contents of variables of simple data types, for example, \c int or \c float when the program is interrupted. To do so, click the \gui Value column, modify From 52bf349bf3395fa99af522431592d90ed6ffad55 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 15 Oct 2012 12:58:51 +0200 Subject: [PATCH 23/46] CplusPlus: Remove pragma suppressing gcc warning. The respective warning was provoked by Qt code, which has been fixed and no longer causes that problem. Change-Id: I1b9efc2e6f9d2af7719d4c921f37f8335c351bfe Reviewed-by: hjk --- src/libs/cplusplus/MatchingText.cpp | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/libs/cplusplus/MatchingText.cpp b/src/libs/cplusplus/MatchingText.cpp index 14700cf108e..ddea6913755 100644 --- a/src/libs/cplusplus/MatchingText.cpp +++ b/src/libs/cplusplus/MatchingText.cpp @@ -52,15 +52,6 @@ static bool shouldOverrideChar(QChar ch) } } -// disable gcc warning: -// -// qstring.h:1175:39: warning: assuming signed overflow does not occur when assuming that (X - c) > X is always false -// -// caused by Q_ASSERT in QStringRef::at() -#if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) -# pragma GCC diagnostic ignored "-Wstrict-overflow" -#endif - static bool isCompleteStringLiteral(const BackwardsScanner &tk, int index) { const QStringRef text = tk.textRef(index); From df2569938eba28a50621d28101a8af620bd107dd Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Wed, 10 Oct 2012 15:12:43 +0200 Subject: [PATCH 24/46] DeviceManagerModel: Allow filtering by device type Change-Id: Id19437fa64594231e1516ed60c913f77a1923fa2 Reviewed-by: Christian Kandeler --- .../devicesupport/devicemanagermodel.cpp | 26 ++++++++++++++++--- .../devicesupport/devicemanagermodel.h | 2 ++ 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp index bf9d0506c97..281b1413957 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.cpp @@ -44,6 +44,7 @@ public: const DeviceManager *deviceManager; QList devices; QList filter; + Core::Id typeToKeep; }; } // namespace Internal @@ -69,6 +70,14 @@ void DeviceManagerModel::setFilter(const QList filter) handleDeviceListChanged(); } +void DeviceManagerModel::setTypeFilter(const Core::Id &type) +{ + if (d->typeToKeep == type) + return; + d->typeToKeep = type; + handleDeviceListChanged(); +} + void DeviceManagerModel::updateDevice(Core::Id id) { handleDeviceUpdated(id); @@ -93,7 +102,6 @@ int DeviceManagerModel::indexOf(IDevice::ConstPtr dev) const { if (dev.isNull()) return -1; - for (int i = 0; i < d->devices.count(); ++i) { IDevice::ConstPtr current = d->devices.at(i); if (current->id() == dev->id()) @@ -104,8 +112,14 @@ int DeviceManagerModel::indexOf(IDevice::ConstPtr dev) const void DeviceManagerModel::handleDeviceAdded(Core::Id id) { + if (d->filter.contains(id)) + return; + IDevice::ConstPtr dev = d->deviceManager->find(id); + if (!matchesTypeFilter(dev)) + return; + beginInsertRows(QModelIndex(), rowCount(), rowCount()); - d->devices << d->deviceManager->find(id); + d->devices << dev; endInsertRows(); } @@ -136,6 +150,8 @@ void DeviceManagerModel::handleDeviceListChanged() IDevice::ConstPtr dev = d->deviceManager->deviceAt(i); if (d->filter.contains(dev->id())) continue; + if (!matchesTypeFilter(dev)) + continue; d->devices << dev; } endResetModel(); @@ -164,6 +180,11 @@ QVariant DeviceManagerModel::data(const QModelIndex &index, int role) const return name; } +bool DeviceManagerModel::matchesTypeFilter(const IDevice::ConstPtr &dev) const +{ + return !d->typeToKeep.isValid() || dev->type() == d->typeToKeep; +} + int DeviceManagerModel::indexForId(Core::Id id) const { for (int i = 0; i < d->devices.count(); ++i) { @@ -171,7 +192,6 @@ int DeviceManagerModel::indexForId(Core::Id id) const return i; } - qWarning("%s: Invalid id %s.", Q_FUNC_INFO, qPrintable(id.toString())); return -1; } diff --git a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h index 7b1a2a8fcb8..757ac982979 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h +++ b/src/plugins/projectexplorer/devicesupport/devicemanagermodel.h @@ -49,6 +49,7 @@ public: ~DeviceManagerModel(); void setFilter(const QList filter); + void setTypeFilter(const Core::Id &type); IDevice::ConstPtr device(int pos) const; Core::Id deviceId(int pos) const; @@ -66,6 +67,7 @@ private slots: private: QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const; + bool matchesTypeFilter(const IDevice::ConstPtr &dev) const; Internal::DeviceManagerModelPrivate * const d; }; From 1b90d999a5cdf227d3df07ebb0ba6589475776f8 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Mon, 15 Oct 2012 10:48:30 +0200 Subject: [PATCH 25/46] C++: removed invalid FIXME. Change-Id: I05d17e5384bcc75e97c5d901b65a582516a5d321 Reviewed-by: David Schulz --- src/plugins/cpptools/cppfindreferences.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp index 9be53c0c760..6779fe2c9d0 100644 --- a/src/plugins/cpptools/cppfindreferences.cpp +++ b/src/plugins/cpptools/cppfindreferences.cpp @@ -597,7 +597,6 @@ _Lrestart: return usages; } - // ### FIXME: Pretty close to FindUsages::matchingLine. static QString matchingLine(unsigned position, const QString &source, unsigned *lineStart = 0) { From 84e4bd30d2eb18bf5908a80ab748d7d353c777a4 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Mon, 15 Oct 2012 13:41:29 +0200 Subject: [PATCH 26/46] C++: Fix for missing includes in re-processed documents. Change-Id: I43b1d5b72c9bf7302e0acb9206c87152e4f0727b Reviewed-by: Erik Verbruggen --- src/libs/cplusplus/CppDocument.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libs/cplusplus/CppDocument.cpp b/src/libs/cplusplus/CppDocument.cpp index 1584afa2ede..3dc8eeb8284 100644 --- a/src/libs/cplusplus/CppDocument.cpp +++ b/src/libs/cplusplus/CppDocument.cpp @@ -683,6 +683,7 @@ Document::Ptr Snapshot::preprocessedDocument(const QString &source, const QStrin newDoc->_revision = thisDocument->_revision; newDoc->_editorRevision = thisDocument->_editorRevision; newDoc->_lastModified = thisDocument->_lastModified; + newDoc->_includes = thisDocument->_includes; } FastPreprocessor pp(*this); From 041b82b665293bdfbe457303a6299d752e3ae420 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Mon, 15 Oct 2012 14:20:03 +0200 Subject: [PATCH 27/46] Debugger: Fix crash Change-Id: Id21eb93178c97b3317d1ac7951f81365dfa6d31a Reviewed-by: hjk --- src/plugins/debugger/debuggerdialogs.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index ab1f138ab84..62afe1c6e65 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -423,8 +423,8 @@ bool StartApplicationDialog::run(QWidget *parent, QSettings *settings, DebuggerS sp->serverStartScript = newParameters.serverStartScript; sp->debugInfoLocation = newParameters.debugInfoLocation; - bool isLocal = DeviceKitInformation::device(kit)->type() - == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE; + IDevice::ConstPtr dev = DeviceKitInformation::device(kit); + bool isLocal = !dev || (dev->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE); if (!attachRemote) sp->startMode = isLocal ? StartExternal : StartRemoteProcess; return true; From dcbc4d825546d343f1bbf89ba56dc875c87be3c1 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 15 Oct 2012 15:50:33 +0200 Subject: [PATCH 28/46] Doc: update Valgrind menu names Update screenshots. Change-Id: Idf90ebcf06b4ee6a8b817ae47fad83fd9c2ae28c Reviewed-by: Leena Miettinen --- doc/images/qtcreator-analyze-menu.png | Bin 4239 -> 13988 bytes .../qtcreator-valgrind-remote-settings.png | Bin 8374 -> 12788 bytes .../analyze/creator-valgrind-overview.qdoc | 2 +- doc/src/analyze/creator-valgrind.qdoc | 4 ++-- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/images/qtcreator-analyze-menu.png b/doc/images/qtcreator-analyze-menu.png index 3f90fa541d08887ffaec45ecad198bf5bfafceea..9a95504164010b5a88d28dcefa05b2124fc30c4d 100644 GIT binary patch literal 13988 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 MPgg&ebxsLQ09>qzvj6}9 literal 4239 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 Hl+XkKJDXwa diff --git a/doc/images/qtcreator-valgrind-remote-settings.png b/doc/images/qtcreator-valgrind-remote-settings.png index cfacfc38a1c52d96f163fb42bb1b96e769fdd03f..e4a248b40339cd086c73049e06c97f86f97df98f 100644 GIT binary patch literal 12788 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 LS3j3^P6>Q diff --git a/doc/src/analyze/creator-valgrind-overview.qdoc b/doc/src/analyze/creator-valgrind-overview.qdoc index c513dc1101f..95edeabcbfc 100644 --- a/doc/src/analyze/creator-valgrind-overview.qdoc +++ b/doc/src/analyze/creator-valgrind-overview.qdoc @@ -36,7 +36,7 @@ to use them from \QC. To run the Valgrind tools on a remote host over SSH, select \gui {Analyze - > Valgrind Analyze Memory (External)} or \gui {Valgrind Function Profile + > Valgrind Memory Analyzer (External)} or \gui {Valgrind Function Profiler (External)}. To stop the currently running analyzer, select \gui {Analyze diff --git a/doc/src/analyze/creator-valgrind.qdoc b/doc/src/analyze/creator-valgrind.qdoc index 9c11389f929..bb00ca68775 100644 --- a/doc/src/analyze/creator-valgrind.qdoc +++ b/doc/src/analyze/creator-valgrind.qdoc @@ -252,8 +252,8 @@ \list 1 - \o Select \gui {Analyze > Valgrind Analyze Memory (External)} or - \gui {Valgrind Function Profile (External)}. + \o Select \gui {Analyze > Valgrind Memory Analyzer (External)} or + \gui {Valgrind Function Profiler (External)}. \image qtcreator-valgrind-remote-settings.png "Start Analyzer dialog" From fe5548510953e1bef13a8538a9c5b2e115a31f9f Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Mon, 15 Oct 2012 14:11:42 +0200 Subject: [PATCH 29/46] C++: do not set any highlighting ranges on empty lines. This can happen when the semantic highlighter (which runs in a future) calculates a range for a document that has been changed in the meantime. Task-number: QTCREATORBUG-7995 Change-Id: Ibcd1a6ae840e08570a6b6ea4caf411e799ec26c8 Reviewed-by: Pierre Rossi Reviewed-by: Daniel Teske --- src/plugins/texteditor/syntaxhighlighter.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/texteditor/syntaxhighlighter.cpp b/src/plugins/texteditor/syntaxhighlighter.cpp index 8c81bda4805..f39e8c6d2fc 100644 --- a/src/plugins/texteditor/syntaxhighlighter.cpp +++ b/src/plugins/texteditor/syntaxhighlighter.cpp @@ -695,15 +695,18 @@ static bool byStartOfRange(const QTextLayout::FormatRange &range, const QTextLay void SyntaxHighlighter::setExtraAdditionalFormats(const QTextBlock& block, const QList &fmts) { - // qDebug() << "setAdditionalFormats() on block" << block.blockNumber(); +// qDebug() << " is valid:" << (block.isValid() ? "Yes" : "No"); +// qDebug() << " has layout:" << (block.layout() ? "Yes" : "No"); +// if (block.layout()) qDebug() << " has text:" << (block.text().isEmpty() ? "No" : "Yes"); + // for (int i = 0; i < overrides.count(); ++i) // qDebug() << " from " << overrides.at(i).start << "length" // << overrides.at(i).length // << "color:" << overrides.at(i).format.foreground().color(); Q_D(SyntaxHighlighter); - if (block.layout() == 0) + if (block.layout() == 0 || block.text().isEmpty()) return; QList formats; From 62b400cde7cc3d7abdb3f66df5c55bb4f6ccdcbd Mon Sep 17 00:00:00 2001 From: axasia Date: Wed, 10 Oct 2012 00:02:16 +0900 Subject: [PATCH 30/46] Update japanese translation for 2.6. Change-Id: I673579a0224df955b041c7a93a5c53e3ef0e7760 Reviewed-by: Tasuku Suzuki Reviewed-by: Oswald Buddenhagen --- share/qtcreator/translations/qtcreator_ja.ts | 9373 +++++++++++++++--- 1 file changed, 8123 insertions(+), 1250 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_ja.ts b/share/qtcreator/translations/qtcreator_ja.ts index a8f00f98d9e..543c0c241e5 100644 --- a/share/qtcreator/translations/qtcreator_ja.ts +++ b/share/qtcreator/translations/qtcreator_ja.ts @@ -50,6 +50,10 @@ Analyzer Toolbar アナライザツールバー + + <html><head/><body><p>You are trying to run the tool "%1" on an application in %2 mode. The tool is designed to be used in %3 mode.</p><p>Debug and Release mode run-time characteristics differ significantly, analytical findings for one mode may or may not be relevant for the other.</p><p>Do you want to continue and run the tool in %2 mode?</p></body></html> + <html><head/><body><p>%2 モードで実行しようとしているツール "%1" は、%3 モードで使用するように設計されています。</p><p>Debug モードと Release モードのランタイム特性は大幅に異なる為、分析結果は、どちらか一方にしか適しません。</p><p>続けて %2 モードで実行しますか?</p></body></html> + <html><head/><body><center><i>%1</i> is still running. You have to quit the Analyzer before being able to run another instance.<center/><center>Force it to quit?</center></body></html> <html><head/><body><center><i>%1</i> は実行中です。別のインスタンスを実行する前にアナライザを終了する必要があります。 <center/><center>強制終了しますか?</center></body></html> @@ -80,7 +84,7 @@ <html><head/><body><p>You are trying to run the tool "%1" on an application in %2 mode. The tool is designed to be used in %3 mode.</p><p>Do you want to continue and run it in %2 mode?</p></body></html> - <html><head/><body><p>%2 モードでツール "%1" を実行しようとしていますが、ツールは %3 モードで使用するように設計されています。</p><p>このまま続けて %2 モードで実行しますか?</p></body></html> + <html><head/><body><p>%2 モードでツール "%1" を実行しようとしていますが、ツールは %3 モードで使用するように設計されています。</p><p>このまま続けて %2 モードで実行しますか?</p></body></html> &Do not ask again @@ -124,7 +128,11 @@ Analyzer::IAnalyzerTool (Remote) - (リモート) + (リモート) + + + (External) + (外部) @@ -180,21 +188,25 @@ Target ターゲット + + Kit: + キット: + Executable: - 実行ファイル: + 実行ファイル: Arguments: - 引数: + 引数: Working directory: - 作業ディレクトリ: + 作業ディレクトリ: Start Remote Analysis - リモート解析開始 + リモート解析開始 @@ -391,6 +403,10 @@ Copy Selection as Hex Values 選択部分を16進数の値としてコピー + + Set Data Breakpoint on Selection + 選択部分にデータブレークポイントを設定 + Jump to Address in This Window ウィンドウ内のアドレスにジャンプ @@ -421,6 +437,10 @@ BaseQtVersion + + The compiler '%1' (%2) cannot produce code for the Qt version '%3' (%4). + コンパイラ '%1' (%2) は、Qt バージョン '%3' (%4) のコードを生成できません。 + Name: 名前: @@ -562,14 +582,26 @@ Local commits are not pushed to the master branch until a normal commit is perfo ALT+Z,Alt+D ALT+Z,Alt+D + + Meta+Z,Meta+D + Meta+Z,Meta+D + ALT+Z,Alt+L ALT+Z,Alt+L + + Meta+Z,Meta+L + Meta+Z,Meta+L + ALT+Z,Alt+S ALT+Z,Alt+S + + Meta+Z,Meta+S + Meta+Z,Meta+S + Add 追加 @@ -630,6 +662,10 @@ Local commits are not pushed to the master branch until a normal commit is perfo ALT+Z,Alt+C ALT+Z,Alt+C + + Meta+Z,Meta+C + Meta+Z,Meta+C + Create Repository... リポジトリの作成... @@ -660,7 +696,7 @@ Local commits are not pushed to the master branch until a normal commit is perfo Unable to generate a temporary file for the commit editor. - コミットエディタ用の一時ファイルが生成できません。 + コミットエディタ用の一時ファイルが生成できません。 Unable to create an editor for the commit. @@ -1524,7 +1560,7 @@ Backspace が押された時のインデントの動作を指定します。 Run in Terminal - 端末で実行 + ターミナルで実行 Debugger: @@ -1581,9 +1617,13 @@ Backspace が押された時のインデントの動作を指定します。 Run CMake CMake の実行 + + The directory %1 already contains a cbp file, which is recent enough. You can pass special arguments and rerun CMake. Or simply finish the wizard directly. + ディレクトリ %1 には以前のものと思われる cbp ファイルが既に含まれています。特殊な引数を渡すか、使用する ツールチェインを変更し CMake を再実行して下さい。もしくは直接ウィザードを終了して下さい。 + The directory %1 already contains a cbp file, which is recent enough. You can pass special arguments or change the used tool chain here and rerun CMake. Or simply finish the wizard directly. - ディレクトリ %1 には以前のものと思われる cbp ファイルが既に含まれています。特殊な引数を渡すか、使用する ツールチェインを変更し CMake を再実行して下さい。もしくは直接ウィザードを終了させて下さい。 + ディレクトリ %1 には以前のものと思われる cbp ファイルが既に含まれています。特殊な引数を渡すか、使用する ツールチェインを変更し CMake を再実行して下さい。もしくは直接ウィザードを終了させて下さい。 The directory %1 does not contain a cbp file. Qt Creator needs to create this file by running CMake. Some projects require command line arguments to the initial CMake call. @@ -1607,11 +1647,15 @@ Backspace が押された時のインデントの動作を指定します。 MinGW Generator (%1) - MinGW ジェネレータ (%1) + MinGW ジェネレータ (%1) Unix Generator (%1) - Unix ジェネレータ (%1) + Unix ジェネレータ (%1) + + + Ninja (%1) + Ninja (%1) No generator selected. @@ -1623,7 +1667,7 @@ Backspace が押された時のインデントの動作を指定します。 NMake Generator (%1) - NMake ジェネレータ (%1) + NMake ジェネレータ (%1) No valid cmake executable specified. @@ -1667,6 +1711,14 @@ Backspace が押された時のインデントの動作を指定します。 Default display name for the cmake make step. Make + + Qt Creator needs a compiler set up to build. Configure a compiler in the kit options. + Qt Creator は、ビルドする為にコンパイラの設定が必要です。キットオプションでコンパイラを構成して下さい。 + + + Configuration is faulty. Check the Issues view for details. + 構成は不完全です。詳細は、問題ビューで確認して下さい。 + CMakeProjectManager::Internal::MakeStepConfigWidget @@ -1683,9 +1735,13 @@ Backspace が押された時のインデントの動作を指定します。 CMakeProjectManager::MakeStepConfigWidget display name. Make + + <b>No build configuration found on this target.</b> + <b>このターゲット向けのビルド構成が見つかりません。</b> + <b>Unknown tool chain</b> - <b>不明なツールチェイン</b> + <b>不明なツールチェイン</b> @@ -1795,6 +1851,10 @@ Backspace が押された時のインデントの動作を指定します。 Cannot find repository for '%1' '%1' のリポジトリが見つかりません + + Meta+C,Meta+D + Meta+C,Meta+D + Filelog "%1" "%1" のファイルログ @@ -1807,6 +1867,14 @@ Backspace が押された時のインデントの動作を指定します。 Annotate "%1" "%1" のアノテーション + + Meta+C,Meta+A + Meta+C,Meta+A + + + Meta+C,Meta+C + Meta+C,Meta+C + Delete... 削除... @@ -2135,34 +2203,34 @@ Backspace が押された時のインデントの動作を指定します。 CPU: v%1.%2%3%4 CPU description of an S60 device %1 major verison, %2 minor version %3 real name of major verison, %4 real name of minor version - CPU: v%1.%2%3%4 + CPU: v%1.%2%3%4 CODA: v%1.%2 CODA protocol: v%3.%4 - CODA: v%1.%2 CODA プロトコル: v%3.%4 + CODA: v%1.%2 CODA プロトコル: v%3.%4 %1, %2%3%4, %5 s60description description of an S60 device %1 CPU description, %2 endianness %3 default type size (if any), %4 float size (if any) %5 Coda version - %1, %2%3%4, %5 + %1, %2%3%4, %5 big endian - ビッグエンディアン + ビッグエンディアン little endian - リトルエンディアン + リトルエンディアン , type size: %1 will be inserted into s60description - , 型サイズ: %1 + , 型サイズ: %1 , float size: %1 will be inserted into s60description - , float サイズ: %1 + , float サイズ: %1 @@ -2216,6 +2284,10 @@ Backspace が押された時のインデントの動作を指定します。 Alt+C,Alt+P Alt+C,Alt+P + + Meta+C,Meta+P + Meta+C,Meta+P + Paste Clipboard... クリップボードから貼り付け... @@ -2228,6 +2300,22 @@ Backspace が押された時のインデントの動作を指定します。 Alt+C,Alt+F Alt+C,Alt+F + + Meta+C,Meta+F + Meta+C,Meta+F + + + Fetch from URL... + URL から取り出す... + + + Fetch from URL + URL から取り出す + + + Enter URL: + URL を入力: + Empty snippet received for "%1". "%1" から空のテンプレートを受信しました。 @@ -2384,14 +2472,22 @@ Backspace が押された時のインデントの動作を指定します。 CodeStyleSettingsPanel Code Style Settings - コードスタイル設定 + コードスタイル設定 + + + Code Style + コードスタイル CodeStyleSettingsPanelFactory Code Style Settings - コードスタイル設定 + コードスタイル設定 + + + Code Style + コードスタイル @@ -2962,18 +3058,58 @@ should a repository require SSH-authentication (see documentation on SSH and the Split 上下に分割 + + Meta+E,2 + Meta+E,2 + + + Ctrl+E,2 + Ctrl+E,2 + Split Side by Side 左右に分割 + + Meta+E,3 + Meta+E,3 + + + Ctrl+E,3 + Ctrl+E,3 + Remove Current Split 現在の分割ウィンドウを閉じる + + Meta+E,0 + Meta+E,0 + + + Ctrl+E,0 + Ctrl+E,0 + Remove All Splits すべての分割ウィンドウを閉じる + + Meta+E,1 + Meta+E,1 + + + Ctrl+E,1 + Ctrl+E,1 + + + Meta+E,o + Meta+E,o + + + Ctrl+E,o + Ctrl+E,o + Ad&vanced 拡張(&V) @@ -3084,27 +3220,27 @@ should a repository require SSH-authentication (see documentation on SSH and the Meta+E - Meta+E + Meta+E Ctrl+E - Ctrl+E + Ctrl+E %1,2 - %1,2 + %1,2 %1,3 - %1,3 + %1,3 %1,0 - %1,0 + %1,0 %1,1 - %1,1 + %1,1 Go to Next Split @@ -3112,7 +3248,7 @@ should a repository require SSH-authentication (see documentation on SSH and the %1,o - %1,o + %1,o &Save %1 @@ -3457,7 +3593,7 @@ should a repository require SSH-authentication (see documentation on SSH and the Terminal: - 端末: + ターミナル: ? @@ -3542,6 +3678,14 @@ should a repository require SSH-authentication (see documentation on SSH and the Qt Creator Qt Creator + + Exit Full Screen + 全画面表示をやめる + + + Enter Full Screen + 全画面表示にする + &File ファイル(&F) @@ -3694,6 +3838,10 @@ should a repository require SSH-authentication (see documentation on SSH and the Ctrl+Shift+F11 Ctrl+Shift+F11 + + Ctrl+Meta+F + Ctrl+Meta+F + &Views 表示(&V) @@ -3731,7 +3879,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Core::Internal::MimeTypeMagicDialog Magic Header - マジックヘッダー + マジックヘッダー + + + Add Magic Header + マジックヘッダーを追加 Error @@ -4237,6 +4389,45 @@ Note: This might remove the local file. バージョン管理システム (%1) から、このファイルを削除しますか? 注意: ローカルにあるファイルも一緒に削除されます。 + + Add to Version Control + バージョン管理システムに追加 + + + Add the file +%1 +to version control (%2)? + ファイル +%1 +をバージョン管理システム (%2) に追加しますか? + + + Add the files +%1 +to version control (%2)? + ファイル +%1 +をバージョン管理システム (%2) に追加しますか? + + + Adding to Version Control Failed + バージョン管理システムへの追加に失敗 + + + Could not add the file +%1 +to version control (%2) + + ファイル +%1 +をバージョン管理システム (%2) に追加できません + + + Could not add the following files to version control (%1) +%2 + 以下のファイルをバージョン管理システム (%1) に追加できません +%2 + CppEditor @@ -4338,7 +4529,7 @@ Note: This might remove the local file. Follow Symbol Under Cursor - カーソル位置のシンボルの定義へ移動する + カーソル位置のシンボルの定義へ移動する Switch Between Method Declaration/Definition @@ -4356,6 +4547,10 @@ Note: This might remove the local file. Ctrl+Shift+T Ctrl+Shift+T + + Meta+Shift+T + Meta+Shift+T + Rename Symbol Under Cursor カーソル位置のシンボルの名前を変更する @@ -4414,7 +4609,11 @@ Note: This might remove the local file. CppEditor::Internal::InsertQtPropertyMembers Generate missing Q_PROPERTY members... - 不足している Q_PROPERTY メンバを生成しています... + 不足している Q_PROPERTY メンバを生成しています... + + + Generate Missing Q_PROPERTY Members... + 不足している Q_PROPERTY メンバを生成する... @@ -5094,6 +5293,11 @@ Flags: %3 General 概要 + + Locals && Expressions + '&&' will appear as one (one is marking keyboard shortcut) + ローカル変数と式 + Debugger デバッガ @@ -5104,7 +5308,7 @@ Flags: %3 Debugging Helper - デバッグヘルパ + デバッグヘルパ Ctrl+Shift+F11 @@ -5303,7 +5507,7 @@ Flags: %3 The application requires the debugger engine '%1', which is disabled. - アプリケーションが要求するデバッガエンジン '%1' は、使用できません。 + アプリケーションが要求するデバッガエンジン '%1' は、使用できません。 Some breakpoints cannot be handled by the debugger languages currently active, and will be ignored. @@ -5311,27 +5515,35 @@ Flags: %3 The debugger engine '%1' is disabled. - デバッガエンジン '%1' は使用不可です。 + デバッガエンジン '%1' は使用不可です。 The debugger engine '%1' required for debugging binaries of the type '%2' is not configured correctly. - '%2' タイプのバイナリをデバッグするのに必要なデバッガエンジン '%1' は正しく構成されていません。 + '%2' タイプのバイナリをデバッグするのに必要なデバッガエンジン '%1' は正しく構成されていません。 None of the debugger engines '%1' capable of debugging binaries of the type '%2' is configured correctly. - '%2' タイプのバイナリをデバッグする為に必要な、正しく構成されたデバッガエンジン '%1' がありません。 + '%2' タイプのバイナリをデバッグする為に必要な、正しく構成されたデバッガエンジン '%1' がありません。 The preferred debugger engine for debugging binaries of type '%1' is not available. The debugger engine '%2' will be used as a fallback. Details: %3 - '%1' タイプのバイナリをデバッグするのに推奨されているデバッガエンジンが利用可能ではありません。 + '%1' タイプのバイナリをデバッグするのに推奨されているデバッガエンジンが利用可能ではありません。 代わりにデバッガエンジン '%2' が使用されます。 詳細: %3 Warning - 警告 + 警告 + + + Install &Debug Information + デバッグ情報をインストール(&D) + + + Tries to install missing debug information. + 不足しているデバッグ情報のインストールを試みます。 @@ -5378,31 +5590,31 @@ Details: %3 The gdb process could not be stopped: %1 - gdb プロセスを停止できませんでした: + gdb プロセスを停止できませんでした: %1 Application process could not be stopped: %1 - アプリケーションプロセスを停止できません: + アプリケーションプロセスを停止できません: %1 Application started - アプリケーションが起動しました + アプリケーションが起動しました Application running - アプリケーション実行中 + アプリケーション実行中 Attached to stopped application - 停止済みアプリケーションにアタッチしました + 停止済みアプリケーションにアタッチしました Connecting to remote server failed: %1 - リモートサーバーへの接続に失敗しました: + リモートサーバーへの接続に失敗しました: %1 @@ -5411,7 +5623,7 @@ Details: %3 Starting executable failed: - 実行ファイルの起動に失敗しました: + 実行ファイルの起動に失敗しました: @@ -5428,17 +5640,37 @@ Details: %3 Debugger::Internal::AttachCoreDialog + + Load Core File + コアファイルを読み込み + + + Browse... + 参照... + Select Executable 実行ファイルの選択 + + Kit: + キット: + + + Core file: + コアファイル: + + + Select Remote Core File + リモートコアファイルの選択 + Select Core File コアファイルの選択 Select Sysroot - Sysroot の選択 + Sysroot の選択 Select Startup Script @@ -5446,7 +5678,7 @@ Details: %3 Start Debugger - デバッガ起動 + デバッガ起動 &Executable: @@ -5454,15 +5686,15 @@ Details: %3 &Core file: - コアファイル(&C): + コアファイル(&C): &Tool chain: - ツールチェイン(&T): + ツールチェイン(&T): Sys&root: - sysroot(&R): + sysroot(&R): Override &start script: @@ -5473,63 +5705,63 @@ Details: %3 Debugger::Internal::AttachExternalDialog Process ID - プロセスID + プロセスID Name - 名前 + 名前 State - 状態 + 状態 Refresh - 更新 + 更新 Process Already Under Debugger Control - プロセスは既にデバッガ制御下です + プロセスは既にデバッガ制御下です The process %1 is already under the control of a debugger. Qt Creator cannot attach to it. - プロセス %1 は既にデバッガの制御下にある為 + プロセス %1 は既にデバッガの制御下にある為 Qt Creator はアタッチできません。 Start Debugger - デバッガ起動 + デバッガ起動 Attach to &process ID: - アタッチするプロセスID(&P): + アタッチするプロセスID(&P): &Tool chain: - ツールチェイン(&T): + ツールチェイン(&T): Debugger::Internal::AttachGdbAdapter Attached to process %1. - プロセス %1 にアタッチしました。 + プロセス %1 にアタッチしました。 Debugger::Internal::BreakCondition &Condition: - 条件(&C): + 条件(&C): &Ignore count: - 無視する回数(&I): + 無視する回数(&I): &Thread specification: - スレッド定義(&T): + スレッド定義(&T): @@ -5582,6 +5814,10 @@ Qt Creator はアタッチできません。 Function Name: 関数名: + + Breakpoint on QML Signal Emit + QML のシグナル発生時用のブレークポイント + Data at 0x%1 0x%1 のデータ @@ -5717,7 +5953,7 @@ Qt Creator はアタッチできません。 Breakpoint on QML Signal Handler - QML シグナルハンドラ上のブレークポイント + QML シグナルハンドラ上のブレークポイント Breakpoint at JavaScript throw @@ -5780,63 +6016,63 @@ Qt Creator はアタッチできません。 Delete Breakpoint - ブレークポイントの削除 + ブレークポイントの削除 Delete All Breakpoints - すべてのブレークポイントの削除 + すべてのブレークポイントの削除 Delete Breakpoints of "%1" - "%1" のブレークポイントの削除 + "%1" のブレークポイントの削除 Delete Breakpoints of File - ファイル内のブレークポイントの削除 + ファイル内のブレークポイントの削除 Adjust Column Widths to Contents - 内容に合わせて列幅を調整 + 内容に合わせて列幅を調整 Edit Breakpoint... - ブレークポイントを編集... + ブレークポイントを編集... Associate Breakpoint With All Threads - ブレークポイントをすべてのスレッドと関連付ける + ブレークポイントをすべてのスレッドと関連付ける Associate Breakpoint With Thread %1 - ブレークポイントをスレッド %1 と関連付ける + ブレークポイントをスレッド %1 と関連付ける Add Breakpoint... - ブレークポイントを追加... + ブレークポイントを追加... Add Breakpoint - ブレークポイントを追加 + ブレークポイントを追加 Synchronize Breakpoints - ブレークポイントの同期 + ブレークポイントの同期 Disable Selected Breakpoints - 選択されたブレークポイントの無効化 + 選択されたブレークポイントの無効化 Enable Selected Breakpoints - 選択されたブレークポイントの有効化 + 選択されたブレークポイントの有効化 Disable Breakpoint - ブレークポイントの無効化 + ブレークポイントの無効化 Enable Breakpoint - ブレークポイントの有効化 + ブレークポイントの有効化 @@ -5887,7 +6123,7 @@ Qt Creator はアタッチできません。 Break on QML signal handler - QML シグナルハンドラにブレーク + QML シグナルハンドラにブレーク Break when JavaScript exception is thrown @@ -5896,7 +6132,7 @@ Qt Creator はアタッチできません。 Debugger command to be executed when the breakpoint is hit. GDB allows for specifying a sequence of commands separated by the delimiter '\n'. - デバッガコマンドはブレークポイントにヒットした時に実行されます。 + デバッガコマンドはブレークポイントにヒットした時に実行されます。 GDB はデリミタ '\n' で分割されたコマンドのシーケンスを理解します。 @@ -5919,6 +6155,10 @@ debugger start-up times (CDB, LLDB). Basic 基本 + + Break on QML signal emit + QML シグナル発信でブレーク + Breakpoint &type: ブレークポイントの種類(&T): @@ -5951,6 +6191,10 @@ debugger start-up times (CDB, LLDB). T&racepoint only: トレースポイントのみ(&R): + + &One shot only: + 1回だけ(&O): + Pat&h: パス(&H): @@ -5961,7 +6205,7 @@ debugger start-up times (CDB, LLDB). &Command: - コマンド(&C): + コマンド(&C): Use Engine Default @@ -5975,6 +6219,16 @@ debugger start-up times (CDB, LLDB). Use File Name ファイル名を使用 + + Debugger commands to be executed when the breakpoint is hit. +This feature is only available for GDB. + ブレークポイントにヒットした時、デバッガコマンドが実行されます。 +この機能は、GDBだけで利用できます。 + + + &Commands: + コマンド(&C): + C&ondition: 条件(&O): @@ -6027,23 +6281,23 @@ debugger start-up times (CDB, LLDB). Debugger::Internal::CdbEngine There is no CDB binary available for binaries in format '%1' - '%1' フォーマットのバイナリに使用可能な CDB バイナリがありません + '%1' フォーマットのバイナリに使用可能な CDB バイナリがありません The CDB debug engine required for %1 is currently disabled. - %1 は CDB デバッガエンジンを要求していますが現在使用できません。 + %1 は CDB デバッガエンジンを要求していますが現在使用できません。 The CDB engine does not support start mode %1. - CDB エンジンはスタートモード %1 をサポートしていません。 + CDB エンジンはスタートモード %1 をサポートしていません。 The CDB debug engine does not support the %1 ABI. - CDB デバッガエンジンは %1 ABI をサポートしていません。 + CDB デバッガエンジンは %1 ABI をサポートしていません。 The CDB debug engine cannot debug gdb core files. - CDB デバッガエンジンは GDB コアファイルをデバッグできません。 + CDB デバッガエンジンは GDB コアファイルをデバッグできません。 The console process '%1' could not be started. @@ -6160,6 +6414,14 @@ debugger start-up times (CDB, LLDB). Correct breakpoint location ブレークポイント位置を補正 + + Break on functions: + 関数で停止: + + + This is useful to catch runtime error messages, for example caused by assert(). + ランタイムエラーメッセージ (たとえば assert() からのメッセージ) を捕捉するのに便利です。 + Debugger::Internal::CdbSymbolPathListEditor @@ -6171,9 +6433,13 @@ debugger start-up times (CDB, LLDB). Adds the Microsoft symbol server providing symbols for operating system libraries.Requires specifying a local cache directory. OS のライブラリのシンボルを提供している Microsoft Symbol Serverを追加する。ローカルシンボルキャッシュのあるディレクトリの指定が必要です。 + + <html><head/><body><p>The debugger is not configured to use the public <a href="%1">Microsoft Symbol Server</a>. This is recommended for retrieval of the symbols of the operating system libraries.</p><p><i>Note:</i> A fast internet connection is required for this to work smoothly. Also, a delay might occur when connecting for the first time.</p><p>Would you like to set it up?</p></body></html> + <html><head/><body><p>デバッガが <a href="%1">Microsoft シンボルサーバー</a> を使用するように構成されていません。これはオペレーティングシステムライブラリのシンボルを受信する為に、推奨された設定です。</p><p><i>注意:</i>この作業をスムーズに行うには高速なインターネット接続環境で行うのを推奨します。初回接続時は遅延が発生する可能性もあります。</p><p>この設定を有効にしますか?</p></body></html> + <html><head/><body><p>The debugger is not configured to use the public <a href="%1">Microsoft Symbol Server</a>. This is recommended for retrieval of the symbols of the operating system libraries.</p><p><i>Note:</i> A fast internet connection is required for this to work smoothly. Also, a delay might occur when connecting for the first time.</p><p>Would you like to set it up?</p></br></body></html> - <html><head/><body><p>デバッガが <a href="%1">Microsoft シンボルサーバー</a> を使用するように設定されていません。これはオペレーティングシステムライブラリのシンボルを受信する為に、推奨された設定です。</p><p><i>注意:</i>この作業をスムーズに行うには高速なインターネット接続環境で行うのを推奨します。初回接続時は遅延が発生する可能性もあります。</p><p>設定しますか?</p></br></body></html> + <html><head/><body><p>デバッガが <a href="%1">Microsoft シンボルサーバー</a> を使用するように設定されていません。これはオペレーティングシステムライブラリのシンボルを受信する為に、推奨された設定です。</p><p><i>注意:</i>この作業をスムーズに行うには高速なインターネット接続環境で行うのを推奨します。初回接続時は遅延が発生する可能性もあります。</p><p>設定しますか?</p></br></body></html> Symbol Server @@ -6188,17 +6454,17 @@ debugger start-up times (CDB, LLDB). Debugger::Internal::CodaGdbAdapter Process started, PID: 0x%1, thread id: 0x%2, code segment: 0x%3, data segment: 0x%4. - プロセス(PID: 0x%1、スレッドID: 0x%2、コードセグメント: 0x%3、データセグメント: 0x%4)が開始しました。 + プロセス(PID: 0x%1、スレッドID: 0x%2、コードセグメント: 0x%3、データセグメント: 0x%4)が開始しました。 Connecting to CODA server adapter failed: - CODA サーバーアダプタへの接続に失敗しました: + CODA サーバーアダプタへの接続に失敗しました: Could not obtain device. - デバイスを取得できません。 + デバイスを取得できません。 @@ -6223,45 +6489,45 @@ debugger start-up times (CDB, LLDB). Debugger::Internal::CoreGdbAdapter Attached to core temporarily. - 一時的にコアファイルにアタッチしました。 + 一時的にコアファイルにアタッチしました。 Attach to core "%1" failed: - コアファイル "%1" へのアタッチが失敗しました: + コアファイル "%1" へのアタッチが失敗しました: Symbols found. - シンボルが見つかりました。 + シンボルが見つかりました。 The name of the binary file cannot be extracted from this core file. - バイナリファイルの名前を、このコアファイルから抽出できません。 + バイナリファイルの名前を、このコアファイルから抽出できません。 Try to specify the binary using the <i>Debug->Start Debugging->Attach to Core</i> dialog. - <i>デバッグ->デバッグ開始->コアファイルにアタッチ</i> ダイアログを使ってバイナリファイルを指定して下さい。 + <i>デバッグ->デバッグ開始->コアファイルにアタッチ</i> ダイアログを使ってバイナリファイルを指定して下さい。 Loading core file failed - コアファイルの読込に失敗しました + コアファイルの読込に失敗しました Attach to core failed. - コアファイルへのアタッチが失敗しました。 + コアファイルへのアタッチが失敗しました。 No symbols found in core file <i>%1</i>. - コアファイル <i>%1</i> にシンボルが見つかりません。 + コアファイル <i>%1</i> にシンボルが見つかりません。 This can be caused by a path length limitation in the core file. - コアファイルのパスの長さが原因の可能性があります。 + コアファイルのパスの長さが原因の可能性があります。 Attached to core. - コアファイルにアタッチしました。 + コアファイルにアタッチしました。 @@ -6364,19 +6630,19 @@ debugger start-up times (CDB, LLDB). Debugger attached to %1 - デバッガは %1 にアタッチしました + デバッガは %1 にアタッチしました gdbserver is now listening at %1 - gdbserver は %1 で待ち受けています + gdbserver は %1 で待ち受けています Cannot find local executable for remote process "%1". - リモートプロセス "%1" を実行する為のローカル実行ファイルが見つかりません。 + リモートプロセス "%1" を実行する為のローカル実行ファイルが見つかりません。 Cannot find ABI for remote process "%1". - リモートプロセス "%1" の ABIが見つかりません。 + リモートプロセス "%1" の ABIが見つかりません。 Remove Breakpoint %1 @@ -6428,7 +6694,7 @@ debugger start-up times (CDB, LLDB). The debugging helper is used to nicely format the values of some Qt and Standard Library data types. It must be compiled for each used Qt version separately. In the Qt Creator Build and Run preferences page, select a Qt version, expand the Details section and click Build All. - デバッグヘルパは Qt や標準ライブラリのデータ型の値を見やすく整形する為に使用されています。 + デバッグヘルパは Qt や標準ライブラリのデータ型の値を見やすく整形する為に使用されています。 その為、使用する Qt バージョン毎に別々にコンパイルする必要があります。 Qt Creator のビルドと実行設定ページで、Qt バージョンを選択し 詳細セクションを展開してすべてビルドをクリックして下さい。 @@ -6439,7 +6705,7 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Attach to Running Local Application... - 実行中のローカルアプリケーションにアタッチ... + 実行中のローカルアプリケーションにアタッチ... Load Core File... @@ -6451,23 +6717,23 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Open Qt Options - Qt オプションを開く + Qt オプションを開く Turn off Helper Usage - ヘルパの使い方を表示しない + ヘルパの使い方を表示しない Continue Anyway - 続行 + 続行 Debugging Helper Missing - デバッグヘルパ不明 + デバッグヘルパ不明 The debugger could not load the debugging helper library. - デバッガはデバッグヘルパライブラリを読み込めませんでした。 + デバッガはデバッグヘルパライブラリを読み込めませんでした。 The debugging helper is used to nicely format the values of some Qt and Standard Library data types. It must be compiled for each used Qt version separately. On the Qt4 options page, select a Qt installation and click Rebuild. @@ -6503,7 +6769,7 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Exit Debugger - デバッガを終了 + デバッガを終了 Interrupt @@ -6555,7 +6821,7 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Add to Watch Window - 監視ウィンドウに追加 + 監視ウィンドウに追加 Reverse Direction @@ -6587,7 +6853,7 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Start and Debug External Application with External Engine... - 外部エンジンを使った外部アプリケーションのデバッグ実行... + 外部エンジンを使った外部アプリケーションのデバッグ実行... Start Remote Debug Server Attached to Process... @@ -6603,11 +6869,11 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Start and Debug Remote Application... - リモートアプリケーションのデバッグ実行... + リモートアプリケーションのデバッグ実行... Attach to Remote Debug Server... - リモートデバッグサーバにアタッチ... + リモートデバッグサーバーにアタッチ... Start Remote Debug Server... @@ -6615,7 +6881,7 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Attach to Running Remote Process... - 実行中のリモートプロセスにアタッチ... + 実行中のリモートプロセスにアタッチ... Attach to QML Port... @@ -6639,7 +6905,7 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Attach to Remote Process - リモートプロセスにアタッチ + リモートプロセスにアタッチ Interrupt Debugger @@ -6649,10 +6915,104 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Stop Debugger デバッガを停止 + + Process Already Under Debugger Control + プロセスは既にデバッガ制御下です + + + The process %1 is already under the control of a debugger. +Qt Creator cannot attach to it. + プロセス %1 は既にデバッガの制御下にある為 +Qt Creator はアタッチできません。 + + + Ctrl+Y + Ctrl+Y + + + F5 + F5 + + + Add Expression Evaluator + 式エバリュエータを追加 + + + Select + 選択 + + + Zoom + ズーム + + + Attach to Running Application... + 実行中のアプリケーションにアタッチ... + + + Attach to Running Application + 実行中のアプリケーションにアタッチ + + + Shift+Ctrl+Y + Shift+Ctrl+Y + + + Shift+F5 + Shift+F5 + Reset Debugger デバッガをリセット + + Ctrl+Shift+O + Ctrl+Shift+O + + + F10 + F10 + + + Ctrl+Shift+I + Ctrl+Shift+I + + + F11 + F11 + + + Ctrl+Shift+T + Ctrl+Shift+T + + + Shift+F11 + Shift+F11 + + + Shift+F8 + Shift+F8 + + + Ctrl+F10 + Ctrl+F10 + + + Ctrl+F6 + Ctrl+F6 + + + F12 + F12 + + + F8 + F8 + + + F9 + F9 + Threads: スレッド: @@ -6748,6 +7108,14 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Synchronize Breakpoints ブレークポイントの同期 + + Show Application On Top + アプリケーションを最前面に表示 + + + Apply Changes on Save + 保存時に変更を適用 + This switches the Locals&&Watchers view to automatically dereference pointers. This saves a level in the tree view, but also loses data for the now-missing intermediate level. このオプションでローカル変数&&監視式ビューで自動的にポインタを逆参照するかどうかを切り替えます。これはツリービューの階層にも作用し、表示されていない中間レベルのデータが失われたりします。 @@ -6782,7 +7150,7 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Break on "raise" - "raise" で停止 + "raise" で停止 Use Dynamic Object Type for Display @@ -6802,19 +7170,19 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Use Tooltips in Locals View When Debugging - デバッグ中にローカル変数と監視式 ビューでツールチップを使用する + デバッグ中にローカル変数と監視式 ビューでツールチップを使用する Use Tooltips in Breakpoints View When Debugging - デバッグ中にブレークポイントビューでツールチップを使用する + デバッグ中にブレークポイントビューでツールチップを使用する Show Address Data in Breakpoints View When Debugging - デバッグ中にブレークポイントビューにアドレスデータを表示する + デバッグ中にブレークポイントビューにアドレスデータを表示する Show Address Data in Stack View When Debugging - デバッグ中にスタックビューにアドレスデータを表示する + デバッグ中にスタックビューにアドレスデータを表示する List Source Files @@ -6844,14 +7212,34 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Checking this will enable tooltips in the locals view during debugging. これをチェックするとデバッグ中、ローカル変数 ビューでツールチップが有効になります。 + + Break on "abort" + "abort"で停止 + + + Use Tooltips in Locals View when Debugging + デバッグ中にローカル変数と監視式 ビューでツールチップを使用する + + + Use Tooltips in Breakpoints View when Debugging + デバッグ中にブレークポイントビューでツールチップを使用する + Checking this will enable tooltips in the breakpoints view during debugging. これをチェックするとデバッグ中、ブレークポイントビューでツールチップが有効になります。 + + Show Address Data in Breakpoints View when Debugging + デバッグ中にブレークポイントビューでアドレスデータを表示する + Checking this will show a column with address information in the breakpoint view during debugging. これをチェックすると、デバッグ中にブレークポイントビューでアドレス情報が表示されるようになります。 + + Show Address Data in Stack View when Debugging + デバッグ中にスタックビューでアドレスデータを表示する + Checking this will show a column with address information in the stack view during debugging. これをチェックすると、デバッグ中にスタックビューでアドレス情報が表示されるようになります。 @@ -6924,11 +7312,11 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 Debugger::Internal::DebuggerToolChainComboBox %1 (%2) - %1 (%2) + %1 (%2) <html><head/><body><table><tr><td>ABI:</td><td><i>%1</i></td></tr><tr><td>Debugger:</td><td>%2</td></tr> - <html><head/><body><table><tr><td>ABI:</td><td><i>%1</i></td></tr><tr><td>デバッガ:</td><td>%2</td></tr> + <html><head/><body><table><tr><td>ABI:</td><td><i>%1</i></td></tr><tr><td>デバッガ:</td><td>%2</td></tr> @@ -6994,17 +7382,17 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 <unknown> - <不明> + <不明> The gdb process failed to start. Either the invoked program '%1' is missing, or you may have insufficient permissions to invoke the program. %2 - GDB プロセスの開始に失敗しました。起動しようとするプログラム '%1' が存在しないか、プログラムを起動する為のパーミッションが不足しているかもしれません。 + GDB プロセスの開始に失敗しました。起動しようとするプログラム '%1' が存在しないか、プログラムを起動する為のパーミッションが不足しているかもしれません。 %2 The gdb process crashed some time after starting successfully. - GDB プロセスは起動に成功した後、クラッシュしました。 + gdb プロセスは起動に成功した後、クラッシュしました。 The gdb process was ended forcefully @@ -7025,7 +7413,7 @@ Qt Creator のビルドと実行設定ページで、Qt バージョンを選択 The gdb process has not responded to a command within %n second(s). This could mean it is stuck in an endless loop or taking longer than expected to perform the operation. You can choose between waiting longer or abort debugging. - + gdb プロセスが %n 秒間反応がありません。無限ループに陥っているか、操作に時間を要している可能性があります。 継続して待機するかデバッグを中止する事ができます。 @@ -7052,7 +7440,7 @@ You can choose between waiting longer or abort debugging. Loading %1... - %1 を読み込んでいます... + %1 を読み込んでいます... Value changed from %1 to %2. @@ -7068,7 +7456,7 @@ You can choose between waiting longer or abort debugging. There is no gdb binary available for binaries in format '%1' - '%1' フォーマットのバイナリに使用可能な GDB バイナリがありません + '%1' フォーマットのバイナリに使用可能な GDB バイナリがありません Cannot Read Symbols @@ -7092,7 +7480,7 @@ You can choose between waiting longer or abort debugging. The gdb location must be given as an absolute path in the debugger settings (%1). - GDB のパスはデバッガ設定で絶対パスを指定する必要があります (%1)。 + GDB のパスはデバッガ設定で絶対パスを指定する必要があります (%1)。 The GDB installed at %1 cannot find a valid python installation in its subdirectories. @@ -7101,11 +7489,11 @@ You may set the environment variable PYTHONPATH to point to your installation. The gdb process crashed. - GDB プロセスがクラッシュしました。 + GDB プロセスがクラッシュしました。 The gdb process exited unexpectedly (code %1) - GDB プロセスは予期せず終了しました (コード %1) + GDB プロセスは予期せず終了しました (コード %1) Unexpected GDB Exit @@ -7143,6 +7531,18 @@ You may set the environment variable PYTHONPATH to point to your installation.Running requested... 実行しようとしています... + + The gdb process failed to start. Either the invoked program "%1" is missing, or you may have insufficient permissions to invoke the program. +%2 + gdb プロセスの開始に失敗しました。起動しようとするプログラム "%1" が存在しないか、プログラムを起動する為のパーミッションが不足しているかもしれません。 +%2 + + + Missing debug information for %1 +Try: %2 + %1 のデバッグ情報が見つかりません +試行: %2 + Stopping temporarily 一時停止しています @@ -7151,6 +7551,14 @@ You may set the environment variable PYTHONPATH to point to your installation.Processing queued commands キューイングされたコマンドを処理しています + + The gdb process has not responded to a command within %n second(s). This could mean it is stuck in an endless loop or taking longer than expected to perform the operation. +You can choose between waiting longer or aborting debugging. + + gdb プロセスが %n 秒間反応がありません。無限ループに陥っているか、操作に時間を要している可能性があります。 +継続して待機するかデバッグを中止する事ができます。 + + Process failed to start プロセスの開始が失敗しました @@ -7159,6 +7567,10 @@ You may set the environment variable PYTHONPATH to point to your installation.Raw structure 生構造体 + + There is no GDB binary available for binaries in format '%1' + '%1' フォーマットのバイナリで使用可能な gdb バイナリがありません + Step requested... ステップ実行しようとしています... @@ -7191,6 +7603,61 @@ You may set the environment variable PYTHONPATH to point to your installation.Immediate return from function requested... 関数からすぐに抜けるように要求しています... + + This does not seem to be a "Debug" build. +Setting breakpoints by file name and line number may fail. + + "デバッグ" ビルドでない可能性があります。 +ファイル名および行番号に設定されたブレークポイントは失敗する(無視される)可能性があります。 + + + Found. + 見つかりました。 + + + Not Found. + 見つかりませんでした。 + + + +Section %1: %2 + +セクション %1: %2 + + + Warning + 警告 + + + The gdb process could not be stopped: +%1 + gdb プロセスを停止できませんでした: +%1 + + + Application process could not be stopped: +%1 + アプリケーションプロセスを停止できません: +%1 + + + Application started + アプリケーションが起動しました + + + Application running + アプリケーション実行中 + + + Attached to stopped application + 停止済みアプリケーションにアタッチしました + + + Connecting to remote server failed: +%1 + リモートサーバーへの接続に失敗しました: +%1 + Dumper version %1, %n custom dumpers found. @@ -7235,6 +7702,14 @@ You may set the environment variable PYTHONPATH to point to your installation.Finished retrieving data データの受信が完了しました + + The gdb process terminated. + gdb プロセスは終了しました。 + + + The gdb process terminated unexpectedly (code %1) + gdb プロセスは予期せず終了しました (コード %1) + Adapter start failed アダプタの開始が失敗しました @@ -7351,7 +7826,7 @@ it terminates a non-responsive GDB process. The default value of 20 seconds should be sufficient for most applications, but there are situations when loading big libraries or listing source files takes much longer than that on slow machines. In this case, the value should be increased. - Qt Creator は、ここで指定された時間(秒単位)は、応答しない GDB プロセスを強制終了するのを待機します。 + Qt Creator は、ここで指定された時間(秒単位)は、応答しない GDB プロセスを強制終了するのを待機します。 デフォルトは 20 秒で大体のアプリケーションには十分ですが、低速なマシンで巨大なライブラリの読み込みや ソースファイルの一覧を表示する場合は不十分かも知れません。そのような場合は、この値を大きくして下さい。 @@ -7368,7 +7843,7 @@ on slow machines. In this case, the value should be increased. for less noisy debugging. For example, the atomic reference counting code is skipped, and a single 'Step Into' for a signal emission ends up directly in the slot connected to it. - デバッグがスムーズに行えるよう 'ステップイン' した時に、1行毎に停止するのをある程度抑止します。 + デバッグがスムーズに行えるよう 'ステップイン' した時に、1行毎に停止するのをある程度抑止します。 例えば、アトミックな参照カウントのコードがスキップされたり、シグナル発行部分で 'ステップイン' すると接続先のスロットまで直接進んだりします。 @@ -7378,8 +7853,31 @@ emission ends up directly in the slot connected to it. This will show a message box as soon as your application receives a signal like SIGSEGV during debugging. - これをチェックすると、アプリケーションをデバッグ中に SIGSEGV のような + これをチェックすると、アプリケーションをデバッグ中に SIGSEGV のような シグナルを受信するとすぐにメッセージボックスが表示されます。 + + + The number of seconds Qt Creator will wait before it terminates +a non-responsive GDB process. The default value of 20 seconds should +be sufficient for most applications, but there are situations when +loading big libraries or listing source files takes much longer than +that on slow machines. In this case, the value should be increased. + Qt Creator が、応答しない GDB プロセスを強制終了させるのを、ここで指定された時間(秒単位)だけ待機します。 +デフォルトは 20 秒で大体のアプリケーションには十分ですが、低速なマシンで巨大なライブラリの読み込みや +ソースファイルの一覧を表示する場合は不十分かも知れません。そのような場合は、この値を大きくして下さい。 + + + <html><head/><body><p>Allows <i>Step Into</i> to compress several steps into one step +for less noisy debugging. For example, the atomic reference +counting code is skipped, and a single <i>Step Into</i> for a signal +emission ends up directly in the slot connected to it. + <html><head/><body><p>デバッグがスムーズに行えるよう<i>ステップイン</i>した時に、1行毎に停止するのをある程度抑止します。例えば、アトミックな参照カウントのコードがスキップされたりシグナル発行部分で<i>ステップイン</i>すると接続先のスロットまで直接進んだりします。 + + + Displays a message box as soon as your application +receives a signal like SIGSEGV during debugging. + デバッグ中に、アプリケーションが SIGSEGV のようなシグナルを受信した時に +すぐにメッセージボックスを表示します。 Adjust breakpoint locations @@ -7400,9 +7898,42 @@ markers in the source code editor. Use dynamic object type for display 動的オブジェクト型を表示用に使う + + Specifies whether the dynamic or the static type of objects will be displayed. Choosing the dynamic type might be slower. + + + + Allows or inhibits reading the user's default +.gdbinit file on debugger startup. + このオプションで、デバッガ起動時にユーザーのデフォルトの .gdbinit ファイルを読み込むかどうかを制御できます。 + + + Warn when debugging "Release" builds + 'Release' ビルドをデバッグする時に警告 + + + Show a warning when starting the debugger on a binary with insufficient debug information. + 十分なデバッグ情報を持たないバイナリで、デバッガを起動する時に警告を表示します。 + + + <html><head/><body>Add common paths to locations of debug information such as <i>/usr/src/debug</i> when starting GDB.</body></html> + + + + <html><head/><body><p>Enable stepping backwards.</p><p><b>Note:</b> This feature is very slow and unstable on the GDB side. It exhibits unpredictable behavior when going backwards over system calls and is very likely to destroy your debugging session.</p></body></html> + + + + Attempt quick start + クイック起動を試みる + + + <html><head/><body>Postpone reading debug information as long as possible. This can result in faster startup times at the price of not being able to set breakpoints by file and number.</body></html> + + This specifies whether the dynamic or the static type of objects will bedisplayed. Choosing the dynamic type might be slower. - このオプションで、オブジェクトを表示する方法として、動的な型もしくは静的な型のどちらにするかを指定します。動的な型で表示する方を選択した場合、動作が遅くなる可能性があります。 + このオプションで、オブジェクトを表示する方法として、動的な型もしくは静的な型のどちらにするかを指定します。動的な型で表示する方を選択した場合、動作が遅くなる可能性があります。 Load .gdbinit file on startup @@ -7411,13 +7942,17 @@ markers in the source code editor. This allows or inhibits reading the user's default .gdbinit file on debugger startup. - このオプションで、デバッガ起動時にユーザーの + このオプションで、デバッガ起動時にユーザーの デフォルトの .gdbinit ファイルを読み込むかどうかを制御できます。 The options below should be used with care. 以下のオプションは注意して使用する必要があります。 + + <html><head/><body>The options below give access to advanced or experimental functions of GDB. Enabling them may negatively impact your debugging experience.</body></html> + + Use asynchronous mode to control the inferior プログラムの制御に非同期モードを使用する @@ -7429,19 +7964,19 @@ markers in the source code editor. This adds common paths to locations of debug information at debugger startup. - デバッガ起動時にデバッグ情報のパスに共通パスを加えます。 + デバッガ起動時にデバッグ情報のパスに共通パスを加えます。 Stop when a qWarning is issued - qWarning が発行されたら停止する + qWarning が発行されたら停止する Stop when a qFatal is issued - qFatal が発行されたら停止する + qFatal が発行されたら停止する Stop when raise() is called - raise() が呼び出されたら停止する + raise() が呼び出されたら停止する Enable reverse debugging @@ -7449,12 +7984,16 @@ at debugger startup. <html><head/><body><p>Selecting this enables reverse debugging.</p><.p><b>Note:</b> This feature is very slow and unstable on the GDB side.It exhibits unpredictable behavior when going backwards over system calls and is very likely to destroy your debugging session.</p><body></html> - <html><head/><body><p>このオプションを有効にするとリバースデバッグが可能になります。</p><.p><b>注意:</b>この機能を有効にすると、GDB 側がとても遅く不安定になります。またシステムコールを跨いだ逆実行は予期しない挙動を示したりデバッグセッションを壊すような事になります。</p><body></html> + <html><head/><body><p>このオプションを有効にするとリバースデバッグが可能になります。</p><.p><b>注意:</b>この機能を有効にすると、GDB 側がとても遅く不安定になります。またシステムコールを跨いだ逆実行は予期しない挙動を示したりデバッグセッションを壊すような事になります。</p><body></html> Additional Startup Commands 追加の起動コマンド + + <html><head/><body><p>GDB commands entered here will be executed after GDB has been started and the debugging helpers have been initialized.</p><p>You can add commands to load further debugging helpers here, or modify existing ones.</p><p>To execute arbitrary Python scripts, use <i>python execfile('/path/to/script.py')</i>.</p></body></html> + + GDB GDB @@ -7504,16 +8043,16 @@ at debugger startup. Debugger::Internal::LocalPlainGdbAdapter Cannot set up communication with child process: %1 - 子プロセスと通信できません: %1 + 子プロセスと通信できません: %1 Warning - 警告 + 警告 This does not seem to be a "Debug" build. Setting breakpoints by file name and line number may fail. - "デバッグ" ビルドでない可能性があります。 + "デバッグ" ビルドでない可能性があります。 ファイル名および行番号に関連付けられたブレークポイント設定は失敗する(無視される)可能性があります。 @@ -7551,53 +8090,53 @@ Setting breakpoints by file name and line number may fail. Debugger::Internal::ModulesModel yes - はい + はい no - いいえ + いいえ Module name - モジュール名 + モジュール名 Module path - モジュールパス + モジュールパス Symbols read - シンボル有無 + シンボル有無 Symbols type - シンボルの種類 + シンボルの種類 Start address - 開始アドレス + 開始アドレス End address - 終端アドレス + 終端アドレス unknown - 不明 + 不明 plain - プレーン + プレーン fast - ファースト + ファースト <unknown> address End address of loaded module - <不明> + <不明> @@ -7608,51 +8147,51 @@ Setting breakpoints by file name and line number may fail. Update Module List - モジュールリストをアップデート + モジュールリストをアップデート Show Source Files for Module "%1" - モジュール "%1" のソースファイルを表示 + モジュール "%1" のソースファイルを表示 Load Symbols for All Modules - すべてのモジュールのシンボルの読込 + すべてのモジュールのシンボルの読込 Examine All Modules - すべてのモジュールを調査 + すべてのモジュールを調査 Load Symbols for Module - モジュールのシンボルの読込 + モジュールのシンボルの読込 Edit File - ファイルの編集 + ファイルの編集 Show Symbols - シンボルを表示 + シンボルを表示 Show Dependencies - 依存関係を表示 + 依存関係を表示 Load Symbols for Module "%1" - モジュール "%1" のシンボルの読込 + モジュール "%1" のシンボルの読込 Edit File "%1" - ファイル "%1" を編集する + ファイル "%1" を編集する Show Symbols in File "%1" - ファイル "%1" のシンボルを表示する + ファイル "%1" のシンボルを表示する Show Dependencies of "%1" - "%1" の依存関係を表示 + "%1" の依存関係を表示 Adjust Column Widths to Contents @@ -7665,6 +8204,18 @@ Setting breakpoints by file name and line number may fail. Edit Breakpoint Properties ブレークポイントのプロパティを編集 + + &Condition: + 条件(&C): + + + &Ignore count: + 無視する回数(&I): + + + &Thread specification: + スレッド指定 (&T): + Debugger::Internal::OutputCollector @@ -7769,6 +8320,10 @@ Setting breakpoints by file name and line number may fail. QML Debugger connecting... QML デバッガに接続中... + + No application output received in time + 時間内にアプリケーション出力を受信できません + Qt Creator Qt Creator @@ -7797,6 +8352,10 @@ Do you want to retry? JS Source for %1 %1 の JS ソース + + Run to line %1 (%2) requested... + %2 の %1 行目まで実行しようとしています... + Context: コンテキスト: @@ -7832,11 +8391,11 @@ Do you want to retry? Run to line %1 (%2) requested... - %1 の %2 行目まで実行しようとしています... + %1 の %2 行目まで実行しようとしています... Stopped. - 停止しました。 + 停止しました。 <p>An uncaught exception occurred:</p><p>%1</p> @@ -7889,51 +8448,51 @@ Do you want to retry? Reload Register Listing - レジスタのリストの再読込 + レジスタのリストの再読込 Open Disassembler... - 逆アセンブラを開く... + 逆アセンブラを開く... Open Memory Editor at 0x%1 - アドレス 0x%1 をメモリエディタで開く + アドレス 0x%1 をメモリエディタで開く Open Memory View at Value of Register %1 0x%2 - レジスタ %1 0x%2 の値をメモリビューで開く + レジスタ %1 0x%2 の値をメモリビューで開く Open Disassembler at 0x%1 - アドレス 0x%1 を逆アセンブラで開く + アドレス 0x%1 を逆アセンブラで開く Open Memory Editor - メモリエディタを開く + メモリエディタを開く Open Memory View at Value of Register - レジスタの値をメモリビューで開く + レジスタの値をメモリビューで開く Open Disassembler - 逆アセンブラを開く + 逆アセンブラを開く Hexadecimal - 16進数 + 16進数 Decimal - 10進数 + 10進数 Octal - 8進数 + 8進数 Binary - 2進数 + 2進数 Adjust Column Widths to Contents @@ -7967,45 +8526,45 @@ Do you want to retry? Debugger::Internal::RemoteGdbServerAdapter The upload process failed to start. Shell missing? - アップロードプロセスの開始に失敗しました。シェルが失われていませんか? + アップロードプロセスの開始に失敗しました。シェルが失われていませんか? The upload process crashed some time after starting successfully. - アップロードプロセス起動が成功した後に、クラッシュしました。 + アップロードプロセス起動が成功した後に、クラッシュしました。 The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again. - 直前の waitFor...() 関数はタイムアウトしました。QProcessの状態に変化がないので、再度 waitFor...() を呼び出せます。 + 直前の waitFor...() 関数はタイムアウトしました。QProcessの状態に変化がないので、再度 waitFor...() を呼び出せます。 An error occurred when attempting to write to the upload process. For example, the process may not be running, or it may have closed its input channel. - アップロードプロセスへの書き込み時にエラーが発生しました。プロセスが動作していないか、入力チャネルが閉じられている可能性があります。 + アップロードプロセスへの書き込み時にエラーが発生しました。プロセスが動作していないか、入力チャネルが閉じられている可能性があります。 An error occurred when attempting to read from the upload process. For example, the process may not be running. - アップロードプロセスからの読み込み時にエラーが発生しました。アップロードプロセスが動作していない可能性があります。 + アップロードプロセスからの読み込み時にエラーが発生しました。アップロードプロセスが動作していない可能性があります。 An unknown error in the upload process occurred. This is the default return value of error(). - アップロードプロセスで不明なエラーが発生しました。error()がデフォルト値で呼び出されている場合等に生じるエラーです。 + アップロードプロセスで不明なエラーが発生しました。error()がデフォルト値で呼び出されている場合等に生じるエラーです。 Error - エラー + エラー No symbol file given. - シンボルファイルがありません。 + シンボルファイルがありません。 Reading debug information failed: - デバッグ情報の読み込みに失敗: + デバッグ情報の読み込みに失敗: Interrupting not possible - 割り込み不可 + 割り込み不可 @@ -8087,11 +8646,11 @@ Do you want to retry? Create Snapshot - スナップショットを作成 + スナップショットを作成 Remove Snapshot - スナップショットを削除 + スナップショットを削除 Adjust Column Widths to Contents @@ -8102,10 +8661,18 @@ Do you want to retry? Debugger::Internal::SourceFilesHandler Internal name - 内部名 + 内部名 Full name + 完全名 + + + Internal Name + 内部名 + + + Full Name 完全名 @@ -8117,15 +8684,15 @@ Do you want to retry? Reload Data - データの再読込 + データの再読込 Open File - ファイルを開く + ファイルを開く Open File "%1"' - ファイル "%1" を開く + ファイル "%1" を開く @@ -8158,6 +8725,46 @@ Do you want to retry? Address アドレス + + Address: + アドレス: + + + Function: + 関数: + + + File: + ファイル: + + + Line: + 行番号: + + + From: + From: + + + To: + To: + + + Note: + メモ: + + + Sources for this frame are available.<br>Double-click on the file name to open an editor. + + + + Binary debug information is not accessible for this frame. This either means the core was not compiled with debug information, or the debug information is not accessible. Note that most distributions ship debug information in separate packages. + + + + Binary debug information is accessible for this frame. However, matching sources have not been found. Note that some distributions ship debug sources in separate packages. + + Debugger::Internal::StackWindow @@ -8167,27 +8774,27 @@ Do you want to retry? Function: - 関数: + 関数: Disassemble Function - 関数を逆アセンブル + 関数を逆アセンブル Copy Contents to Clipboard - 内容をクリップボードにコピー + 内容をクリップボードにコピー Open Memory Editor - メモリエディタを開く + メモリエディタを開く Open Memory Editor at 0x%1 - アドレス 0x%1 をメモリエディタで開く + アドレス 0x%1 をメモリエディタで開く Open Disassembler at Address... - アドレスを逆アセンブラで開く... + アドレスを逆アセンブラで開く... Open Disassembler at address... @@ -8195,7 +8802,7 @@ Do you want to retry? Disassemble Function... - 関数を逆アセンブル... + 関数を逆アセンブル... Open Disassembler... @@ -8203,23 +8810,23 @@ Do you want to retry? Open Disassembler at 0x%1 - アドレス 0x%1 を逆アセンブラで開く + アドレス 0x%1 を逆アセンブラで開く Try to Load Unknown Symbols - 不明なシンボルの読み込みを行う + 不明なシンボルの読み込みを行う Memory at Frame #%1 (%2) 0x%3 - フレーム番号 %1 (%2) 0x%3 のメモリ内容 + フレーム番号 %1 (%2) 0x%3 のメモリ内容 Frame #%1 (%2) - フレーム番号 %1 (%2) + フレーム番号 %1 (%2) Open Disassembler - 逆アセンブラを開く + 逆アセンブラを開く Adjust Column Widths to Contents @@ -8230,50 +8837,50 @@ Do you want to retry? Debugger::Internal::StartExternalDialog Select Executable - 実行ファイルの選択 + 実行ファイルの選択 Select Working Directory - 作業ディレクトリの選択 + 作業ディレクトリの選択 Start Debugger - デバッガ起動 + デバッガ起動 &Executable: - 実行ファイル(&E): + 実行ファイル(&E): &Arguments: - 引数(&A): + 引数(&A): Run in &terminal: - 端末で実行(&T): + 端末で実行(&T): &Working directory: - 作業ディレクトリ(&W): + 作業ディレクトリ(&W): &Tool chain: - ツールチェイン(&T): + ツールチェイン(&T): Break at '&main': - 'main' 関数でブレーク(&M): - - - &Recent: - + 'main' 関数でブレーク(&M): Debugger::Internal::StartRemoteCdbDialog <html><body><p>The remote CDB needs to load the matching Qt Creator CDB extension (<code>%1</code> or <code>%2</code>, respectively).</p><p>Copy it onto the remote machine and set the environment variable <code>%3</code> to point to its folder.</p><p>Launch the remote CDB as <code>%4 &lt;executable&gt;</code> to use TCP/IP as communication protocol.</p><p>Enter the connection parameters as:</p><pre>%5</pre></body></html> - <html><body><p>リモートの CDB には対応する Qt Creator CDB エクステンションが必要です (<code>%1</code> か <code>%2</code>).</p><p>リモートマシンにコピーして、環境変数 <code>%3</code> にそのフォルダをセットして下さい。</p><p>TCP/IP を通信プロトコルとして使う場合には、リモートの CDB を <code>%4 &lt;実行ファイル&gt;</code> として起動して下さい。</p><p>通信パラメータには以下の設定を入力して下さい:</p><pre>%5</pre></body></html> + <html><body><p>リモートの CDB には対応する Qt Creator CDB エクステンションが必要です (<code>%1</code> か <code>%2</code>).</p><p>リモートマシンにコピーして、環境変数 <code>%3</code> にそのフォルダをセットして下さい。</p><p>TCP/IP を通信プロトコルとして使う場合には、リモートの CDB を <code>%4 &lt;実行ファイル&gt;</code> として起動して下さい。</p><p>通信パラメータには以下の設定を入力して下さい:</p><pre>%5</pre></body></html> + + + <html><body><p>The remote CDB needs to load the matching Qt Creator CDB extension (<code>%1</code> or <code>%2</code>, respectively).</p><p>Copy it onto the remote machine and set the environment variable <code>%3</code> to point to its folder.</p><p>Launch the remote CDB as <code>%4 &lt;executable&gt;</code> to use TCP/IP as communication protocol.</p><p>Enter the connection parameters as:</p><pre>%5</pre></body></html> + Start a CDB Remote Session @@ -8292,78 +8899,74 @@ Do you want to retry? Select Location of Debugging Information - デバッガ情報のパスの選択 + デバッガ情報のパスの選択 Select Executable - 実行ファイルの選択 + 実行ファイルの選択 Select Sysroot - Sysroot の選択 + Sysroot の選択 Select GDB Start Script - GDB 起動スクリプトの選択 + GDB 起動スクリプトの選択 Select Server Start Script - サーバー起動スクリプトの選択 + サーバー起動スクリプトの選択 Remote: "%1" - リモート: "%1" + リモート: "%1" Start Debugger - デバッガ起動 + デバッガ起動 Tool &chain: - ツールチェイン(&C): + ツールチェイン(&C): Local &executable: - ローカル実行ファイル(&E): + ローカル実行ファイル(&E): &Host and port: - IPアドレスとポート番号(&H): + IPアドレスとポート番号(&H): &Architecture: - アーキテクチャ(&A): + アーキテクチャ(&A): Sys&root: - sysroot(&R): + sysroot(&R): Location of debugging &information: - デバッグ情報の位置(&I): + デバッグ情報の位置(&I): Override host GDB s&tart script: - ホスト側のGDB起動スクリプトを上書き(&T): + ホスト側のGDB起動スクリプトを上書き(&T): &Use server start script: - サーバー起動スクリプトを使用(&U): + サーバー起動スクリプトを使用(&U): &Server start script: - サーバー起動スクリプト(&S): - - - &Recent: - + サーバー起動スクリプト(&S): Debugger::Internal::TermGdbAdapter Debugger Error - デバッガエラー + デバッガエラー @@ -8437,12 +9040,16 @@ Do you want to retry? Debugger::Internal::ThreadsWindow Thread - スレッド + スレッド Adjust Column Widths to Contents 内容に合わせて列幅を調整 + + Threads + スレッド + Debugger::Internal::WatchData @@ -8487,9 +9094,19 @@ Do you want to retry? Referencing Address アドレスの参照 + + Static Object Size + 静的オブジェクトサイズ + + + %n bytes + + %n バイト + + Size - サイズ + サイズ Internal ID @@ -8497,7 +9114,7 @@ Do you want to retry? Generation - 世代 + 世代 <Edit> @@ -8505,19 +9122,19 @@ Do you want to retry? Root - ルート + ルート Return Value - 戻り値 + 戻り値 Locals - ローカル + ローカル Tooltip - ツールチップ + ツールチップ <empty> @@ -8547,69 +9164,6 @@ Do you want to retry? <%n 個の項目> - - Raw pointer - 生ポインタ - - - Latin1 string - Latin-1 文字列 - - - UTF8 string - UTF-8 文字列 - - - Local 8bit string - ローカル 8bit 文字列 - - - UTF16 string - UTF-16 文字列 - - - UCS4 string - UCS-4 文字列 - - - Decimal - 10進数 - - - Hexadecimal - 16進数 - - - Binary - 2進数 - - - Octal - 8進数 - - - %1 Object at %2 - アドレス 0x%2 の %1 型のオブジェクト - - - %1 Object at Unknown Address - 不明なアドレスの %1 型のオブジェクト - - - Watchers - 監視式 - - - Value - - - - - Debugger::Internal::WatchModel - - <Edit> - <編集> - Raw pointer 生ポインタ @@ -8650,10 +9204,97 @@ Do you want to retry? Octal 8進数 + + %1 Object at %2 + アドレス 0x%2 の %1 型のオブジェクト + + + %1 Object at Unknown Address + 不明なアドレスの %1 型のオブジェクト + + + Watchers + 監視式 + + + Value + + + + + Debugger::Internal::WatchModel + + <Edit> + <編集> + + + Raw pointer + 生ポインタ + + + Latin1 string + Latin-1 文字列 + + + UTF8 string + UTF-8 文字列 + + + Local 8bit string + ローカル 8bit 文字列 + + + UTF16 string + UTF-16 文字列 + + + UCS4 string + UCS-4 文字列 + + + Decimal + 10進数 + + + Hexadecimal + 16進数 + + + Binary + 2進数 + + + Octal + 8進数 + returned value 戻り値 + + Root + ルート + + + Locals + ローカル + + + Inspector + インスペクタ + + + Expressions + + + + Return Value + 戻り値 + + + Tooltip + ツールチップ + Name 名前 @@ -8671,19 +9312,19 @@ Do you want to retry? Debugger::Internal::WatchWindow Automatic - 自動 + 自動 Select Widget to Watch - 監視対象のウィジェットの選択 + 監視対象のウィジェットの選択 Open Memory Editor... - メモリエディタを開く... + メモリエディタを開く... Refresh Code Model Snapshot - コードモデルスナップショットの更新 + コードモデルスナップショットの更新 Adjust Column Widths to Contents @@ -8691,11 +9332,11 @@ Do you want to retry? Open Memory Editor at Object's Address (0x%1) - オブジェクトのアドレス(0x%1)をメモリエディタで開く + オブジェクトのアドレス(0x%1)をメモリエディタで開く Open Memory Editor at Referenced Address (0x%1) - 参照アドレス(0x%1)をメモリエディタで開く + 参照アドレス(0x%1)をメモリエディタで開く Change Display Format... @@ -8703,53 +9344,53 @@ Do you want to retry? Memory Referenced by Pointer "%1" (0x%2) - ポインタ "%1" (0x%2) によって参照されているメモリ + ポインタ "%1" (0x%2) によって参照されているメモリ Memory at Variable "%1" (0x%2) - 変数 "%1" (0x%2) のメモリ + 変数 "%1" (0x%2) のメモリ Treat All Characters as Printable - すべての文字を印刷可能文字として扱う + すべての文字を印刷可能文字として扱う Show Unprintable Characters as Octal - 印刷不可文字を8進数の文字として表示 + 印刷不可文字を8進数の文字として表示 Show Unprintable Characters as Hexadecimal - 印刷不可文字を16進数の文字として表示 + 印刷不可文字を16進数の文字として表示 Use Format for Type (Currently %1) - 型の表示形式を使う(現在は %1) + 型の表示形式を使う(現在は %1) Use Display Format Based on Type - 型に基づいた表示形式を使用する + 型に基づいた表示形式を使用する Change Display for Type "%1": - 型 "%1" の表示形式を変更: + 型 "%1" の表示形式を変更: Change Display for Object Named "%1": - "%1" という名前のオブジェクトの表示形式を変更: + "%1" という名前のオブジェクトの表示形式を変更: <i>%1</i> %2 at #%3 HTML tooltip of a variable in the memory editor - %3 の <i>%1</i> %2 + %3 の <i>%1</i> %2 <i>%1</i> %2 HTML tooltip of a variable in the memory editor - <i>%1</i> %2 + <i>%1</i> %2 Register <i>%1</i> - レジスタ <i>%1</i> + レジスタ <i>%1</i> Memory Referenced by Pointer '%1' (0x%2) @@ -8761,15 +9402,15 @@ Do you want to retry? Cannot Display Stack Layout - スタックレイアウトを表示できません + スタックレイアウトを表示できません Could not determine a suitable address range. - 適応するアドレス範囲が特定できません。 + 適応するアドレス範囲が特定できません。 Memory Layout of Local Variables at 0x%1 - 0x%1 のローカル変数のメモリレイアウト + 0x%1 のローカル変数のメモリレイアウト Locals and Expressions @@ -8777,27 +9418,27 @@ Do you want to retry? Evaluate Expression - 式を評価 + 式を評価 Evaluate Expression "%1" - 式 "%1" を評価 + 式 "%1" を評価 Remove Evaluated Expression - 評価済み式を削除 + 評価済み式を削除 Remove Evaluated Expression "%1" - 評価済み式 "%1" を削除 + 評価済み式 "%1" を削除 Change Local Display Format... - 局所的な表示形式を変更... + 局所的な表示形式を変更... Show Unprintable Characters as Escape Sequences - 印刷不可文字をエスケープシーケンスとして表示 + 印刷不可文字をエスケープシーケンスとして表示 Use Display Format Based on Type @@ -8805,55 +9446,55 @@ Do you want to retry? Change Display for Type or Item... - 型または項目の表示形式を変更... + 型または項目の表示形式を変更... Add Data Breakpoint... - データブレークポイントを追加... + データブレークポイントを追加... Add Data Breakpoint at Object's Address (0x%1) - オブジェクトのアドレス (0x%1) にデータブレークポイントを追加 + オブジェクトのアドレス (0x%1) にデータブレークポイントを追加 Add Data Breakpoint at Referenced Address (0x%1) - 参照アドレス (0x%1) にデータブレークポイントを追加 + 参照アドレス (0x%1) にデータブレークポイントを追加 Add Data Breakpoint - データブレークポイントを追加 + データブレークポイントを追加 Setting a data breakpoint on an address will cause the program to stop when the data at the address is modified. - アドレスにデータブレークポイントを設定すると、そのアドレスのデータが変更された時にプログラムが停止します。 + アドレスにデータブレークポイントを設定すると、そのアドレスのデータが変更された時にプログラムが停止します。 Add Data Breakpoint at Expression - 式にデータブレークポイントを追加 + 式にデータブレークポイントを追加 Add Data Breakpoint at Expression "%1" - 式 "%1" にデータブレークポイントを追加 + 式 "%1" にデータブレークポイントを追加 Setting a data breakpoint on an expression will cause the program to stop when the data at the address given by the expression is modified. - 式にデータブレークポイントを設定すると、式によって得られるアドレスのデータが変更された時にプログラムが停止します。 + 式にデータブレークポイントを設定すると、式によって得られるアドレスのデータが変更された時にプログラムが停止します。 Insert New Evaluated Expression - 新しい評価済み式を追加 + 新しい評価済み式を追加 Change Global Display Formats... - 広範囲な表示形式を変更... + 広範囲な表示形式を変更... Remove All Evaluated Expressions - すべての評価済み式を削除 + すべての評価済み式を削除 Copy Value to Clipboard - クリップボードに値をコピー + クリップボードに値をコピー Remove All Watch Items @@ -8861,109 +9502,109 @@ Do you want to retry? Open Memory View at Object's Address (0x%1) - オブジェクトのアドレス (0x%1) をメモリビューで開く + オブジェクトのアドレス (0x%1) をメモリビューで開く Open Memory Editor at Object's Address - オブジェクトのアドレスをメモリエディタで開く + オブジェクトのアドレスをメモリエディタで開く Open Memory View at Object's Address - オブジェクトのアドレスをメモリビューで開く + オブジェクトのアドレスをメモリビューで開く Open Memory View at Referenced Address (0x%1) - 参照アドレス (0x%1) をメモリビューで開く + 参照アドレス (0x%1) をメモリビューで開く Open Memory Editor at Referenced Address - 参照アドレスをメモリエディタで開く + 参照アドレスをメモリエディタで開く Open Memory View at Referenced Address - 参照アドレスをメモリビューで開く + 参照アドレスをメモリビューで開く Open Memory Editor Showing Stack Layout - 表示しているスタックレイアウトをメモリエディタで開く + 表示しているスタックレイアウトをメモリエディタで開く Copy Contents to Clipboard - 内容をクリップボードにコピー + 内容をクリップボードにコピー Show View Contents in Editor - エディタ上で内容を表示する + エディタ上で内容を表示する Close Editor Tooltips - エディタのツールチップを閉じる + エディタのツールチップを閉じる Enter watch expression - 監視式を入力 + 監視式を入力 Expression: - 式: + 式: Locals & Watchers - ローカル変数と監視式 + ローカル変数と監視式 Debugger::QmlAdapter Connecting to debug server on %1 - %1 のデバッグサーバーに接続しています + %1 のデバッグサーバーに接続しています Connecting to debug server %1:%2 - デバッグサーバー %1:%2 に接続しています + デバッグサーバー %1:%2 に接続しています Error: (%1) %2 %1=error code, %2=error message - エラー: (%1) %2 + エラー: (%1) %2 disconnected. - 切断しました。 + 切断しました。 resolving host... - ホスト名の解決中... + ホスト名の解決中... connecting to debug server... - デバッグサーバーに接続中... + デバッグサーバーに接続中... connected. - 接続しました。 + 接続しました。 closing... - 閉じています... + 閉じています... Status of '%1' changed to 'unavailable'. - '%1' のステータスが 'unavailable' に変化しました。 + '%1' のステータスが 'unavailable' に変化しました。 Status of '%1' changed to 'enabled'. - '%1' のステータスが 'enabled' に変化しました。 + '%1' のステータスが 'enabled' に変化しました。 Status of '%1' changed to 'not connected'. - '%1' のステータスが 'not connected' に変化しました。 + '%1' のステータスが 'not connected' に変化しました。 Debug service '%1' became unavailable. @@ -8989,15 +9630,15 @@ Do you want to retry? DebuggerRunControl Debug - デバッグ + デバッグ Debugger - デバッガ + デバッガ Unable to create a debugger engine of the type '%1' - '%1' タイプのデバッガエンジンを作成できません + '%1' タイプのデバッガエンジンを作成できません @@ -9058,19 +9699,19 @@ Do you want to retry? Designer The file name is empty. - ファイル名が未入力です。 + ファイル名が未入力です。 XML error on line %1, col %2: %3 - XML の %1 行目 %2 桁目 に誤りがあります: %3 + XML の %1 行目 %2 桁目 に誤りがあります: %3 The <RCC> root element is missing. - <RCC> にルート要素がありません。 + <RCC> にルート要素がありません。 Cannot write file. Disk full? - ファイルを書けません。ディスクフルではありませんか? + ファイルを書けません。ディスクフルではありませんか? Designer @@ -9255,7 +9896,7 @@ Rebuilding the project might help. Meta+H - Meta+H + Meta+H Ctrl+H @@ -9271,12 +9912,16 @@ Rebuilding the project might help. Meta+G - Mega+G + Mega+G Ctrl+G Ctrl+G + + Meta+Shift+G + Meta+Shift+G + Meta+J Mega+J @@ -9301,6 +9946,10 @@ Rebuilding the project might help. Signals && Slots Editor シグナル/スロットエディタ + + Meta+Shift+H + Meta+Shift+H + About Qt Designer plugins.... Qt Designer プラグインについて... @@ -9506,14 +10155,22 @@ Rebuilding the project might help. EditorSettingsPanel Editor Settings - エディタの設定 + エディタの設定 + + + Editor + エディタ EditorSettingsPanelFactory Editor Settings - エディタの設定 + エディタの設定 + + + Editor + エディタ @@ -9884,6 +10541,10 @@ Reason: %3 search hit TOP, continuing at BOTTOM 先頭まで到達した為、末尾から検索しました + + Invalid regular expression: %1 + 無効な正規表現: %1 + Already at oldest change これ以上、元に戻せません @@ -9892,6 +10553,14 @@ Reason: %3 Already at newest change これ以上、やり直せません + + Unknown option: %1 + 不明なオプション: %1 + + + Argument must be positive: %1=%2 + 引数は正の数でなければなりません: %1=%2 + FakeVim::Internal::FakeVimHandler::Private @@ -10002,13 +10671,33 @@ Reason: %3 Set Plain Style シンプルなスタイルを設定 + + Use smartcase + スマートケースを使用 + FakeVim::Internal::FakeVimPluginPrivate + + Meta+V,Meta+V + Meta+V,Meta+V + + + Alt+V,Alt+V + Alt+V,Alt+V + Execute User Action #%1 ユーザーアクション #%1 を実行 + + Meta+V,%1 + Meta+V,%1 + + + Alt+V,%1 + Alt+V,%1 + File not saved ファイルは保存されませんでした @@ -10172,7 +10861,7 @@ Reason: %3 Feedback - フィードバック + フィードバック Help us make Qt Creator even better @@ -10355,6 +11044,22 @@ The attributes are defined in the documents. Select them to display a set of rel Find Previous 前を検索 + + Find Next (Selected) + 次を検索 (選択部分) + + + Ctrl+F3 + Ctrl+F3 + + + Find Previous (Selected) + 前を検索 (選択部分) + + + Ctrl+Shift+F3 + Ctrl+Shift+F3 + Replace 置換 @@ -10930,11 +11635,11 @@ on slow machines. In this case, the value should be increased. Tool chain: - ツールチェイン: + ツールチェイン: <Invalid tool chain> - <無効なツールチェイン> + <無効なツールチェイン> Generic Manager @@ -10947,6 +11652,14 @@ on slow machines. In this case, the value should be increased. Make Make + + Qt Creator needs a compiler set up to build. Configure a compiler in the kit options. + Qt Creator は、ビルドする為にコンパイラの設定が必要です。キットオプションでコンパイラを構成して下さい。 + + + Configuration is faulty. Check the Issues view for details. + 構成が不完全です。詳細は、問題ビューで確認して下さい。 + Override %1: %1 の代わりに使用するコマンド: @@ -11157,6 +11870,14 @@ These files are preserved. Git::Internal::BranchDialog + + Checkout + チェックアウト + + + Checkout branch? + ブランチをチェックアウトしますか? + Would you like to delete the <b>unmerged</b> branch '%1'? <b>未マージ</b> ブランチ '%1' を削除しますか? @@ -11302,7 +12023,7 @@ These files are preserved. You did not checkout a branch. - ブランチをチェックアウトしていません。 + ブランチをチェックアウトしていません。 Committed %n file(s). @@ -11349,6 +12070,10 @@ These files are preserved. Meaning of the arguments: %1: Branch, %2: Repository, %3: Error message "%2" の "%1" をチェックアウトできません: %3 + + Cannot obtain log of "%1": %2 + "%1" のログを取得できません: %2 + Cannot add %n file(s) to "%1": %2 @@ -11584,12 +12309,12 @@ These files are preserved. Undo all pending changes to the repository %1? - リポジトリ %1 に加えた + リポジトリ %1 に加えた 未保存の変更内容をすべて元に戻しますか? Undo Changes - 変更内容を元に戻す + 変更内容を元に戻す Alt+G,Alt+U @@ -11599,6 +12324,18 @@ These files are preserved. Stage File for Commit ファイルをコミット予定に追加 + + Meta+G,Meta+B + Meta+G,Meta+B + + + Meta+G,Meta+D + Meta+G,Meta+D + + + Meta+G,Meta+L + Meta+G,Meta+L + Stage "%1" for Commit "%1" をコミット予定に追加 @@ -11607,6 +12344,10 @@ These files are preserved. Alt+G,Alt+A Alt+G,Alt+A + + Meta+G,Meta+A + Meta+G,Meta+A + Unstage File from Commit ファイルをコミット予定から削除 @@ -11615,6 +12356,10 @@ These files are preserved. Unstage "%1" from Commit "%1" をコミット予定から削除 + + Meta+G,Meta+U + Meta+G,Meta+U + Diff Current Project 現在のプロジェクトの差分表示 @@ -11623,6 +12368,10 @@ These files are preserved. Diff Project "%1" プロジェクト "%1" の差分表示 + + Meta+G,Meta+Shift+D + Meta+G,Meta+Shift+D + Log Project プロジェクトのログ @@ -11715,6 +12464,14 @@ These files are preserved. Push Push + + Meta+G,Meta+K + Meta+G,Meta+K + + + Reset... + リセット... + Branches... ブランチ... @@ -11801,12 +12558,16 @@ These files are preserved. Undo Uncommitted Changes... - コミットされていない変更を元に戻す... + コミットされていない変更を元に戻す... Clean... クリーン... + + Launch repository browser + リポジトリブラウザを起動 + Remotes... リモート... @@ -11835,6 +12596,10 @@ These files are preserved. Fetch フェッチ + + Meta+G,Meta+C + Meta+G,Meta+C + Commit コミット @@ -11932,6 +12697,10 @@ These files are preserved. Email: Email: + + By&pass hooks + + Git::Internal::RemoteAdditionDialog @@ -12073,6 +12842,14 @@ These files are preserved. Prepend to PATH: PATH に追加: + + Repository browser + リポジトリブラウザ + + + Command: + コマンド: + Git::Internal::SettingsPageWidget @@ -12094,6 +12871,10 @@ msysgit が、git bash 外で実行された時に自身のインストール先 currently set to '%1' 現在は '%1' にされています + + Git Repository Browser Command + Git リポジトリブラウザコマンド + Git::Internal::StashDialog @@ -12509,6 +13290,22 @@ You can choose between stashing the changes or discarding them. Qt Help Files (*.qch) Qt ヘルプファイル (*.qch) + + Invalid documentation file: + 無効なドキュメントファイル: + + + Namespace already registered: + 名前空間は既に登録済み: + + + Registration failed + 登録失敗 + + + Unable to register documentation. + ドキュメントの登録ができませんでした。 + Add and remove compressed help files, .qch. 圧縮済みヘルプファイル(.qch)を追加したり、削除します。 @@ -12568,7 +13365,7 @@ You can choose between stashing the changes or discarding them. <p> Add, modify, and remove document filters, which determine the documentation set displayed in the Help mode. The attributes are defined in the documents. Select them to display a set of relevant documentation. Note that some attributes are defined in several documents. </p></body></html> - <html><body> + <html><body> <p> ドキュメントフィルタを追加/変更/削除すると、ヘルプモード時に表示されるドキュメントが決定されます。属性はドキュメント内に定義されています。 Select them to display a set of relevant documentation. いくつかの属性はドキュメント毎に定義されている事に注意して下さい。 @@ -12590,12 +13387,26 @@ Select them to display a set of relevant documentation. いくつかの属性は Remove 削除 + + <html><body> +<p> +Add, modify, and remove document filters, which determine the documentation set displayed in the Help mode. The attributes are defined in the documents. Select them to display a set of relevant documentation. Note that some attributes are defined in several documents. +</p></body></html> + <html><body> +<p> +ドキュメントフィルタを追加/変更/削除して、ヘルプモード時に表示されるドキュメントを決定できます。属性はドキュメント内に定義されています。関連するドキュメントの中から表示するものを選択して下さい。いくつかの属性はドキュメント毎に定義されている事に注意して下さい。 +</p></body></html> + Help::Internal::GeneralSettingsPage General Settings - 基本設定 + 基本設定 + + + General + 概要 Import Bookmarks @@ -12717,6 +13528,10 @@ Select them to display a set of relevant documentation. いくつかの属性は Return to editor on closing the last page 最後のページを閉じた時にエディタに戻る + + Note: This setting takes effect only if the HTML file does not use a style sheet. + 注意: この設定は、HTMLファイルがスタイルシートを使っていない場合のみ効果があります。 + Help::Internal::HelpIndexFilter @@ -12774,6 +13589,14 @@ Select them to display a set of relevant documentation. いくつかの属性は Next Page 次のページ + + Meta+M + Meta+M + + + Ctrl+M + Ctrl+M + Context Help コンテキストヘルプ @@ -12790,6 +13613,14 @@ Select them to display a set of relevant documentation. いくつかの属性は Activate Index in Help mode ヘルプモードのインデックスをアクティブにします + + Meta+I + Meta+I + + + Ctrl+Shift+I + Ctrl+Shift+I + Activate Contents in Help mode ヘルプモードのコンテンツをアクティブにします @@ -12806,14 +13637,38 @@ Select them to display a set of relevant documentation. いくつかの属性は Reset Font Size フォントの大きさをリセット + + Meta+Shift+C + Meta+Shift+C + + + Ctrl+Shift+C + Ctrl+Shift+C + Activate Search in Help mode ヘルプモードの検索をアクティブにします + + Meta+/ + Meta+/ + + + Ctrl+Shift+/ + Ctrl+Shift+/ + Activate Bookmarks in Help mode ヘルプモードのブックマークをアクティブにします + + Meta+B + Meta+B + + + Ctrl+Shift+B + Ctrl+Shift+B + Open Pages ページを開く @@ -12822,10 +13677,26 @@ Select them to display a set of relevant documentation. いくつかの属性は Activate Open Pages in Help mode ヘルプモードで開いたページをアクティブにする + + Meta+O + Meta+O + + + Ctrl+Shift+O + Ctrl+Shift+O + + + Show Sidebar + サイドバーを表示する + Go to Help Mode ヘルプモードに移行 + + Hide Sidebar + サイドバーを隠す + Unfiltered フィルタなし @@ -12865,6 +13736,14 @@ Select them to display a set of relevant documentation. いくつかの属性は Reload 再読込 + + Error loading: %1 + 読み込み中にエラー: %1 + + + Unknown or unsupported Content! + 不明かサポート対象外のコンテンツです! + Help::Internal::OpenPagesManager @@ -12895,7 +13774,7 @@ Select them to display a set of relevant documentation. いくつかの属性は Help::Internal::RemoteFilterOptions Filter configuration - フィルタ設定 + フィルタ設定 Prefix: @@ -12917,6 +13796,10 @@ Select them to display a set of relevant documentation. いくつかの属性は Double-click to edit item. ダブルクリックでアイテムを編集します。 + + Edit Filter Configuration + フィルタ設定を編集 + Help::Internal::RemoteHelpFilter @@ -12977,6 +13860,30 @@ Select them to display a set of relevant documentation. いくつかの属性は <html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Error 404...</title></head><body><div align="center"><br><br><h1>The page could not be found</h1><br><h3>'%1'</h3></div></body> <html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>404 エラー...</title></head><body><div align="center"><br><br><h1>ページが見つかりませんでした</h1><br><h3>'%1'</h3></div></body> + + Error 404... + エラー 404... + + + The page could not be found! + ページが見つかりません! + + + <li>Check that you have one or more documentation sets installed.</li> + <li>1つ以上のドキュメントセットがインストールされているか確認して下さい。</li> + + + <li>Check that you have installed the appropriate browser plug-in to support the file your loading.</li> + <li>読み込むファイルをサポートした適切なブラウザプラグインがインストールされているか確認して下さい。</li> + + + <li>If you try to access a public URL, make sure to have a network connection.</li> + + + + <li>If your computer or network is protected by a firewall or proxy, make sure the application is permitted to access the network.</li> + + HighlighterSettingsPage @@ -13087,6 +13994,14 @@ Select them to display a set of relevant documentation. いくつかの属性は Cannot open image file %1. 画像ファイル %1 を開けません。 + + Play Animation + アニメーション再生 + + + Pause Animation + アニメーション一時停止 + ImageViewer::Internal::ImageViewerActionHandler @@ -13114,6 +14029,10 @@ Select them to display a set of relevant documentation. いくつかの属性は Ctrl+0 Ctrl+0 + + Meta+0 + Meta+0 + Fit To Screen 画面内に収める @@ -13130,6 +14049,10 @@ Select them to display a set of relevant documentation. いくつかの属性は Switch Outline 外枠表示切替 + + Toggle Animation + アニメーションの切替 + Ctrl+[ Ctrl+[ @@ -13522,7 +14445,7 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Locator::Internal::FileSystemFilterOptions Filter configuration - フィルタ設定 + フィルタ設定 Prefix: @@ -13540,6 +14463,10 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Filter: フィルタ: + + Add Filter Configuration + フィルタ構成を追加 + Locator::Internal::LocatorFiltersFilter @@ -13718,6 +14645,10 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Alt+R Alt+R + + Meta+R + Meta+R + Save Last Macro 直前のマクロを保存 @@ -14460,6 +15391,10 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Alt+H,Alt+D Alt+H,Alt+D + + Meta+H,Meta+D + Meta+H,Meta+D + Log Current File 現在のファイルのログ @@ -14472,6 +15407,10 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Alt+H,Alt+L Alt+H,Alt+L + + Meta+H,Meta+L + Meta+H,Meta+L + Status Current File 現在のファイルの状態 @@ -14484,6 +15423,10 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Alt+H,Alt+S Alt+H,Alt+S + + Meta+H,Meta+S + Meta+H,Meta+S + Add 追加 @@ -14556,6 +15499,10 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Alt+H,Alt+C Alt+H,Alt+C + + Meta+H,Meta+C + Meta+H,Meta+C + Create Repository... リポジトリの作成... @@ -14598,7 +15545,7 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Unable to generate a temporary file for the commit editor. - コミットエディタ用の一時ファイルが生成できません。 + コミットエディタ用の一時ファイルが生成できません。 Unable to create an editor for the commit. @@ -14823,6 +15770,10 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Automake based Makefile Automake ベースの Makefile + + ClearCase submit template + ClearCase コミットテンプレート + GLSL Shader file GLSL シェーダファイル @@ -15562,6 +16513,18 @@ Preselects Qt for Simulator and mobile targets if available. Update All すべてアップデート + + Meta+P,Meta+F + Meta+P,Meta+F + + + Meta+P,Meta+E + Meta+P,Meta+E + + + Meta+P,Meta+A + Meta+P,Meta+A + Delete... 削除... @@ -15570,6 +16533,14 @@ Preselects Qt for Simulator and mobile targets if available. Delete "%1"... "%1" を削除... + + Meta+P,Meta+R + Meta+P,Meta+R + + + Meta+P,Meta+D + Meta+P,Meta+D + Log Project プロジェクトのログ @@ -15582,6 +16553,10 @@ Preselects Qt for Simulator and mobile targets if available. Submit Project "%1" プロジェクト "%1" をサブミット + + Meta+P,Meta+S + Meta+P,Meta+S + Update Current Project 現在のプロジェクトをアップデート @@ -15602,6 +16577,10 @@ Preselects Qt for Simulator and mobile targets if available. Revert Project "%1" プロジェクト "%1" を元に戻す + + Meta+P,Meta+O + Meta+P,Meta+O + Repository Log リポジトリのログ @@ -15961,7 +16940,7 @@ Preselects Qt for Simulator and mobile targets if available. Build & Run - ビルドして実行 + ビルドと実行 Other Project @@ -15987,6 +16966,10 @@ Preselects Qt for Simulator and mobile targets if available. Qt Application Qt アプリケーション + + Devices + デバイス + ProjectExplorer::AbiWidget @@ -16240,34 +17223,34 @@ Preselects Qt for Simulator and mobile targets if available. ProjectExplorer::CustomExecutableRunConfiguration Custom Executable - カスタム実行ファイル + カスタム実行ファイル Could not find the executable, please specify one. - 実行ファイルが見つかりません。実行ファイルを指定して下さい。 + 実行ファイルが見つかりません。実行ファイルを指定して下さい。 Clean Environment - 環境変数なし + 環境変数なし System Environment - システム環境変数 + システム環境変数 Build Environment - ビルド時の環境変数 + ビルド時の環境変数 Run %1 - %1 を実行 + %1 を実行 ProjectExplorer::CustomExecutableRunConfigurationFactory Custom Executable - カスタム実行ファイル + カスタム実行ファイル @@ -16284,6 +17267,58 @@ Preselects Qt for Simulator and mobile targets if available. Default short title for custom wizard page to be shown in the progress pane of the wizard. 詳細 + + Creates an application descriptor file. + アプリケーション記述ファイルを作成します。 + + + Application descriptor + アプリケーション記述 + + + BlackBerry + BlackBerry + + + Creates a Qt Gui application for BlackBerry. + BlackBerry 向けの Qt GUI アプリケーションを作成します。 + + + BlackBerry Qt Gui Application + BlackBerry Qt GUI アプリケーション + + + Creates an Qt5 application descriptor file. + Qt5 アプリケーション記述ファイルを作成します。 + + + Qt5 Application descriptor + Qt5 アプリケーション記述 + + + Creates a Qt5 Gui application for BlackBerry. + BlackBerry 向けの Qt5 GUI アプリケーションを作成します。 + + + BlackBerry Qt5 Gui Application + BlackBerry Qt5 GUI アプリケーション + + + Creates a Qt Quick 2 application for BlackBerry. + BlackBerry 向けの Qt Quick 2 アプリケーションを作成します。 + + + BlackBerry Qt Quick 2 Application + BlackBerry Qt Quick 2 アプリケーション + + + Creates a Qt Quick application for BlackBerry. + BlackBerry 向けの Qt Quick アプリケーションを作成します。 + + + BlackBerry Qt Quick Application + BlackBerry Qt Quick アプリケーション + Creates a plain C project using qmake, not using the Qt library. Qt ライブラリを使わない QMake を使ったプレーンな C プロジェクトを作成します。 @@ -16467,10 +17502,15 @@ Reason: %2 Display name of the deploy build step list. Used as part of the labels in the project window. デプロイ + + Deploy locally + Default DeployConfiguration display name + ローカルにデプロイ + No deployment Default DeployConfiguration display name - デプロイしない + デプロイしない @@ -16800,30 +17840,30 @@ Reason: %2 Project '%1': - '%1' プロジェクト + '%1' プロジェクト: ProjectExplorer::Internal::CustomExecutableConfigurationWidget Executable: - 実行ファイル: + 実行ファイル: Arguments: - 引数: + 引数: Working directory: - 作業ディレクトリ: + 作業ディレクトリ: Run in &terminal - 端末内で実行(&T) + 端末内で実行(&T) Base environment for this run configuration: - 実行構成の元となる環境: + 実行構成の元となる環境: Run in &Terminal @@ -16835,7 +17875,7 @@ Reason: %2 Run Environment - 実行時の環境変数 + 実行時の環境変数 Base environment for this runconfiguration: @@ -16843,15 +17883,15 @@ Reason: %2 Clean Environment - 環境変数なし + 環境変数なし System Environment - システム環境変数 + システム環境変数 Build Environment - ビルド時の環境変数 + ビルド時の環境変数 @@ -16987,6 +18027,14 @@ Reason: %2 File System ファイルシステム + + Meta+Y + Meta+Y + + + Alt+Y + Alt+Y + Synchronize with Editor エディタと同期 @@ -17059,12 +18107,16 @@ Reason: %2 Target - ターゲット + ターゲット Build ビルド + + Kit + キット + Deploy デプロイ @@ -17109,9 +18161,13 @@ Reason: %2 Project: <b>%1</b><br/> プロジェクト: <b>%1</b><br/> + + Kit: <b>%1</b><br/> + キット: <b>%1</b><br/> + Target: <b>%1</b><br/> - ターゲット: <b>%1</b><br/> + ターゲット: <b>%1</b><br/> Build: <b>%1</b><br/> @@ -17182,15 +18238,15 @@ Reason: %2 <html><body><p>Specify the path to the <a href="%1">Windows Console Debugger executable</a> (%2) here.</p></body></html> Label text for path configuration. %2 is "x-bit version". - <html><body><p>ここに <a href="%1">Windows コンソールデバッガ の実行ファイル</a> (%2) のパスを指定して下さい。</p></body></html> + <html><body><p>ここに <a href="%1">Windows コンソールデバッガ の実行ファイル</a> (%2) のパスを指定して下さい。</p></body></html> 64-bit version - 64 bit バージョン + 64 bit バージョン 32-bit version - 32 bit バージョン + 32 bit バージョン @@ -17201,11 +18257,11 @@ Reason: %2 No CDB debugger detected (neither 32bit nor 64bit). - CDB デバッガが見つかりません (32bitおよび64bitのどちらも)。 + CDB デバッガが見つかりません (32bitおよび64bitのどちらも)。 No 64bit CDB debugger detected. - 64bit CDB デバッガが見つかりません。 + 64bit CDB デバッガが見つかりません。 The CDB debugger could not be found in %1 @@ -17260,7 +18316,11 @@ Reason: %2 Command arguments: - コマンド引数: + コマンド引数: + + + Arguments: + 引数: @@ -17274,7 +18334,7 @@ Reason: %2 ProjectExplorer::Internal::ProjectExplorerSettingsPageUi Build and Run - ビルドして実行 + ビルドと実行 Use jom instead of nmake @@ -17360,6 +18420,10 @@ Reason: %2 ProjectExplorer::ProjectFileFactory display name. プロジェクトファイルファクトリ + + Failed to open project + プロジェクトを開くのに失敗しました + All Projects すべてのプロジェクト @@ -17424,6 +18488,14 @@ to project '%2'. Projects プロジェクト + + Meta+X + Meta+X + + + Alt+X + Alt+X + Filter Tree フィルタツリー @@ -17482,19 +18554,19 @@ to project '%2'. ProjectExplorer::Internal::RemoveFileDialog Remove File - ファイルの削除 + ファイルの削除 &Delete file permanently - 完全に削除(&D) + 完全に削除(&D) &Remove from Version Control - バージョン管理システムからも削除(&R) + バージョン管理システムからも削除(&R) File to remove: - 削除するファイル: + 削除するファイル: @@ -17611,15 +18683,15 @@ to project '%2'. ProjectExplorer::Internal::S60ProjectChecker The Symbian SDK and the project sources must reside on the same drive. - Symbian SDK とプロジェクトのソースは同一ドライブ上にしておく必要があります。 + Symbian SDK とプロジェクトのソースは同一ドライブ上にしておく必要があります。 The Symbian tool chain does not handle spaces in the project path '%1'. - Symbian ツールチェインは、パスにスペースが含まれるプロジェクト '%1' は扱えません。 + Symbian ツールチェインは、パスにスペースが含まれるプロジェクト '%1' は扱えません。 The Symbian tool chain does not handle special characters in the project name '%1' well. - Symbian ツールチェインは、パスに特殊文字が含まれるプロジェクト '%1' は扱えません。 + Symbian ツールチェインは、パスに特殊文字が含まれるプロジェクト '%1' は扱えません。 @@ -17728,27 +18800,54 @@ to project '%2'. ProjectExplorer::Internal::TargetSettingsPanelWidget No target defined. - ターゲットが定義されていません。 + ターゲットが定義されていません。 Cancel Build && Remove Target - ビルドを中止してターゲットを削除 + ビルドを中止してターゲットを削除 + + + No kit defined in this project. + このプロジェクトには、キットが定義されていません。 + + + Cancel Build && Remove Kit + ビルド中止 && キット削除 Do Not Remove 削除しない + + Remove Kit %1? + キット %1 を削除しますか? + + + The kit <b>%1</b> is currently being built. + キット <b>%1</b> をビルドしています。 + + + Do you want to cancel the build process and remove the Kit anyway? + ビルドプロセスを中止し、キットを削除しますか? + + + Do you really want to remove the +"%1" kit? + 本当に +キット "%1" +を削除しますか? + Remove Target %1? - ターゲット %1 を削除しますか? + ターゲット %1 を削除しますか? The target <b>%1</b> is currently being built. - ターゲット <b>%1</b> はビルド中です。 + ターゲット <b>%1</b> はビルド中です。 Do you want to cancel the build process and remove the Target anyway? - 強制的にビルドプロセスを中止してターゲットを削除しますか? + 強制的にビルドプロセスを中止してターゲットを削除しますか? Qt Creator @@ -17757,7 +18856,7 @@ to project '%2'. Do you really want to remove the "%1" target? - 本当にターゲット "%1" を削除しますか? + 本当にターゲット "%1" を削除しますか? @@ -17766,6 +18865,14 @@ to project '%2'. TargetSettingsWidget TargetSettingsWidget + + Add Kit + キットを追加 + + + Manage Kits... + キットを管理... + ProjectExplorer::Internal::TaskDelegate @@ -17819,28 +18926,44 @@ to project '%2'. Type タイプ + + Duplicate Compilers Detected + 重複したコンパイラ発見 + + + The following compiler was already configured:<br>&nbsp;%1<br>It was not configured again. + + + + The following compilers were already configured:<br>&nbsp;%1<br>They were not configured again. + + Duplicate Tool Chain detected - 重複したツールチェイン検出 + 重複したツールチェイン検出 The following tool chain was already configured:<br>&nbsp;%1<br>It was not configured again. - 以下のツールチェインは既に設定済みです:<br>&nbsp;%1<br>これは再構成が必要です。 + 以下のツールチェインは既に設定済みです:<br>&nbsp;%1<br>これは再構成が必要です。 Duplicate Tool Chains detected - 重複したツールチェイン検出 + 重複したツールチェイン検出 The following tool chains were already configured:<br>&nbsp;%1<br>They were not configured again. - 以下のツールチェインは既に設定済みです:<br>&nbsp;%1<br>これらは再構成が必要です。 + 以下のツールチェインは既に設定済みです:<br>&nbsp;%1<br>これらは再構成が必要です。 ProjectExplorer::Internal::ToolChainOptionsPage Tool Chains - ツールチェイン + ツールチェイン + + + Compilers + コンパイラ Add @@ -17968,7 +19091,7 @@ to project '%2'. Close All Projects - すべてのプロジェクトを閉じる + すべてのプロジェクトを閉じる Build All @@ -18058,6 +19181,10 @@ to project '%2'. Sessions セッション + + Close All Projects and Editors + すべてのプロジェクトとエディタを閉じる + Ctrl+R Ctrl+R @@ -18066,6 +19193,10 @@ to project '%2'. Run Without Deployment デプロイせずに実行 + + Rebuild + リビルド + New Subproject... 新しいサブプロジェクト... @@ -18083,10 +19214,18 @@ to project '%2'. Rename... 名前を変更... + + Set "%1" as Active Project + "%1" をアクティブプロジェクトに設定 + Collapse All すべて折りたたむ + + Open Build and Run Kit Selector... + ビルド/実行キットセレクタを開く... + Quick Switch Target Selector ターゲットセレクタを素早く切り替える @@ -18099,6 +19238,10 @@ to project '%2'. Full path of the current project's main file, excluding file name. 現在のプロジェクトの main ファイルのファイル名を含まないフルパスです。 + + Full build path of the current project's active build configuration. + 現在のプロジェクトのアクティブなビルド構成のビルドパスです。 + Failed to open project プロジェクトを開くのに失敗しました @@ -18123,6 +19266,18 @@ to project '%2'. Do you want to cancel the build process and unload the project anyway? 強制的にビルドプロセスを中止してプロジェクトを解放しますか? + + Failed to Open Project + プロジェクトを開くのに失敗しました + + + Unknown error + 不明なエラー + + + Could Not Run + 実行できません + Ignore all errors? すべてのエラーを無視しますか? @@ -18133,6 +19288,14 @@ Do you want to ignore them? 現在のタスクでいくつかのビルドエラーが見つかりました。 これらを無視しますか? + + Project Editing Failed + プロジェクトの編集に失敗しました + + + The file %1 was renamed to %2, but the project file %3 could not be automatically changed. + ファイル %1 が %2 にリネームされましたが、プロジェクトファイル %3 で、自動的に変更できませんでした。 + Clean クリーン @@ -18243,7 +19406,7 @@ Do you want to ignore them? Adding to Version Control Failed - バージョン管理システムへの追加に失敗 + バージョン管理システムへの追加に失敗 Removing File Failed @@ -18291,7 +19454,7 @@ Do you want to ignore them? Open Build/Run Target Selector... - ビルド/実行ターゲットセレクタを開く... + ビルド/実行ターゲットセレクタを開く... Ctrl+T @@ -18347,20 +19510,20 @@ Do you want to ignore them? Add to Version Control - バージョン管理システムへの追加 + バージョン管理システムへの追加 Add files %1 to version control (%2)? - ファイル + ファイル %1 をバージョン管理システム (%2) に追加しますか? Could not add following files to version control (%1) - 以下のファイルをバージョン管理システム (%1) に追加できません + 以下のファイルをバージョン管理システム (%1) に追加できません @@ -18499,23 +19662,27 @@ Reason: %2 ProjectExplorer::ToolChainConfigWidget &Debugger: - デバッガ(&D): + デバッガ(&D): Autodetect - 自動検出 + 自動検出 mkspec: - mkspec: + mkspec: All possible mkspecs separated by a semicolon (';'). - すべての利用可能な mkspecs は、セミコロン(';')で区切られています。 + すべての利用可能な mkspecs は、セミコロン(';')で区切られています。 Reset - リセット + リセット + + + Name: + 名前: @@ -18557,7 +19724,7 @@ Do you still want to load the settings file? Deploy to Symbian device - Symbian デバイスにデプロイ + Symbian デバイスにデプロイ @@ -19460,12 +20627,16 @@ qmlproject プロジェクトでは、インポートするパスに importPaths QmlJSEditor::ComponentFromObjectDef Move Component into separate file - コンポーネントを分割ファイルに移動する + コンポーネントを分割ファイルに移動する Move Component into '%1.qml' コンポーネントを '%1.qml' に移動する + + Move Component into Separate File + コンポーネントを分割ファイルに移動する + QmlJSEditor::FindReferences @@ -19494,7 +20665,7 @@ qmlproject プロジェクトでは、インポートするパスに importPaths Dialog - ダイアログ + ダイアログ Component name: @@ -19506,7 +20677,11 @@ qmlproject プロジェクトでは、インポートするパスに importPaths Choose... - 選択... + 選択... + + + Move Component into Separate File + コンポーネントを分割ファイルに移動する @@ -19611,7 +20786,7 @@ qmlproject プロジェクトでは、インポートするパスに importPaths Follow Symbol Under Cursor - カーソル位置のシンボルの定義へ移動 + カーソル位置のシンボルの定義へ移動 Find Usages @@ -19729,6 +20904,10 @@ qmlproject プロジェクトでは、インポートするパスに importPaths QmlJSEditor::QuickFix Split initializer + 初期化子を分割 + + + Split Initializer 初期化子を分割 @@ -19736,118 +20915,118 @@ qmlproject プロジェクトでは、インポートするパスに importPaths QmlJSInspector::Internal::ContextCrumblePath [no context] - [コンテキストなし] + [コンテキストなし] QmlJSInspector::Internal::InspectorUi Context Path - コンテキストパス + コンテキストパス QML Inspector - QML インスペクタ + QML インスペクタ Filter properties - プロパティフィルタ + プロパティフィルタ QmlJSInspector::Internal::QmlJSLiveTextPreview You changed a QML file in Live Preview mode, which modifies the running QML application. In case of unexpected behavior, please reload the QML application. - 実行中の QML アプリケーションの QML ファイルがライブプレビューモード中に変更されました。予期しない動作の原因となるので、QML アプリケーションを再読込して下さい。 + 実行中の QML アプリケーションの QML ファイルがライブプレビューモード中に変更されました。予期しない動作の原因となるので、QML アプリケーションを再読込して下さい。 Disable Live Preview - ライブプレビューを無効化 + ライブプレビューを無効化 The %1 attribute at line %2, column %3 cannot be changed without reloading the QML application. - %2 行 %3 列目の %1 属性は、QML アプリケーションを再読込しないと変更できません。 + %2 行 %3 列目の %1 属性は、QML アプリケーションを再読込しないと変更できません。 The %1 element at line %2, column %3 cannot be changed without reloading the QML application. - %2 行 %3 列目の %1 要素は、QML アプリケーションを再読込しないと変更できません。 + %2 行 %3 列目の %1 要素は、QML アプリケーションを再読込しないと変更できません。 You can continue debugging, but behavior can be unexpected. - デバッグを続行する事もできますが、予期しない動作を引き起こす可能性があります。 + デバッグを続行する事もできますが、予期しない動作を引き起こす可能性があります。 QmlJSInspector::Internal::QmlJSPropertyInspector Enter expression - 式を入力 + 式を入力 Choose color - 色を選択 + 色を選択 JavaScript expression for %1 - %1 の JavaScript 式 + %1 の JavaScript 式 Color selection for %1 - %1 の色を選択 + %1 の色を選択 QmlJSInspector::Internal::QmlJsInspectorToolBar Apply Changes on Save - 保存時に変更を適用 + 保存時に変更を適用 Show application on top - アプリケーションを最前面に表示 + アプリケーションを最前面に表示 Play/Pause Animations - アニメーション再生/一時停止 + アニメーション再生/一時停止 Select - 選択 + 選択 Zoom - ズーム + ズーム Color Picker - カラーピッカー + カラーピッカー 1x - 1x + 1x 0.5x - 0.5x + 0.5x 0.25x - 0.25x + 0.25x 0.125x - 0.125x + 0.125x 0.1x - 0.1x + 0.1x QmlJSInspector::ToolBarColorBox Copy Color - 色をコピー + 色をコピー @@ -20123,7 +21302,7 @@ Please build the debugging helpers on the Qt version options page. Application finished before loading profiled data. Please use the stop button instead. - アプリケーションがプロファイルデータの読込前に終了しました。 + アプリケーションがプロファイルデータの読込前に終了しました。 停止ボタンを使って止めてください。 @@ -20259,29 +21438,35 @@ Please build the debugging helpers on the Qt version options page. Save QML Trace QML トレースを保存 + + Application finished before loading profiled data. +Please use the stop button instead. + アプリケーションがプロファイルデータの読込前に終了しました。 +停止ボタンを使って止めてください。 + Copy Row - 行をコピー + 行をコピー Copy Table - 表をコピー + 表をコピー Extended Event Statistics - 拡張イベント統計 + 拡張イベント統計 Limit Events Pane to Current Range - 現在の範囲でイベントペインを制限 + 現在の範囲でイベントペインを制限 Reset Events Pane - イベントペインをリセット + イベントペインをリセット Reset Zoom - 縮尺を戻す + 縮尺を戻す The QML profiler requires Qt 4.7.4 or newer. @@ -20293,15 +21478,15 @@ Do you want to continue? Events - イベント + イベント Timeline - タイムライン + タイムライン JavaScript - JavaScript + JavaScript %1 s @@ -20345,12 +21530,12 @@ Do you want to continue? Qt Creator - Qt Creator + Qt Creator Could not connect to the in-process QML profiler. Do you want to retry? - プロセス内 QML プロファイラに接続できませんでした。 + プロセス内 QML プロファイラに接続できませんでした。 再試行しますか? @@ -20360,6 +21545,10 @@ Do you want to retry? QmlProfiler::Internal::RemoteLinuxQmlProfilerRunner + + Gathering ports failed: %1 + ポート情報収集失敗: %1 + Not enough free ports on device for analyzing. @@ -20367,15 +21556,25 @@ Do you want to retry? - Starting remote process ... + Starting remote process... リモートプロセスを起動しています... + + + + Failure running remote process. + リモートプロセスの実行が失敗しました。 + + + Starting remote process ... + + リモートプロセスを起動しています... Finished running remote process. Exit code was %1. - 実行中のリモートプロセスが終了しました。終了コードは %1 です。 + 実行中のリモートプロセスが終了しました。終了コードは %1 です。 @@ -20383,23 +21582,23 @@ Do you want to retry? QmlProfiler::Internal::TraceWindow Jump to previous event - 前のイベントにジャンプします + 前のイベントにジャンプします Jump to next event - 次のイベントにジャンプします + 次のイベントにジャンプします Show zoom slider - ズームスライダーを表示します + ズームスライダーを表示します Select range - 範囲を選択して下さい + 範囲を選択して下さい View event information on mouseover - マウスオーバー時にイベント情報を表示します + マウスオーバー時にイベント情報を表示します Zoom in 10% @@ -20478,7 +21677,15 @@ You can review Qt Quick UI projects in the QML Viewer and you need not build the QmlProjectManager::Internal::QmlProjectRunConfigurationFactory Run QML Script - QML スクリプトを実行 + QML スクリプトを実行 + + + QML Viewer + QML ビューア + + + QML Scene + QML Scene @@ -20489,11 +21696,11 @@ You can review Qt Quick UI projects in the QML Viewer and you need not build the Manage Qt versions... - Qt バージョンの管理... + Qt バージョンの管理... Qt version: - Qt バージョン: + Qt バージョン: Arguments: @@ -20517,7 +21724,7 @@ You can review Qt Quick UI projects in the QML Viewer and you need not build the Invalid Qt version - 不正な Qt バージョン + 不正な Qt バージョン @@ -20560,6 +21767,14 @@ You can review Qt Quick UI projects in the QML Viewer and you need not build the File '%1' does not exist or is not readable. ファイル '%1' は存在しないか読み込み可能ではありません。 + + Device type is not desktop. + デバイス種類がデスクトップではありません。 + + + No Qt version set in kit. + キットに Qt バージョンが設定されていません。 + File '%' does not exist or is not readable. ファイル '%1' は存在しないか読み込み可能ではありません。 @@ -20604,7 +21819,16 @@ QML オブザーバをコンパイルするには、Qt バージョンのペー QmlProjectManager::QmlProjectRunConfiguration No qmlviewer or qmlobserver found. - qmlviewer や qmlobserver が見つかりません。 + qmlviewer や qmlobserver が見つかりません。 + + + No qmlviewer or qmlscene found. + qmlviewer や qmlscene が見つかりません。 + + + QML Scene + QMLRunConfiguration display name. + QML Scene QML Viewer @@ -20659,12 +21883,12 @@ QML オブザーバをコンパイルするには、Qt バージョンのペー <b>Error:</b> Severity is Task::Error - <b>エラー:</b> + <b>エラー:</b> <b>Warning:</b> Severity is Task::Warning - <b>警告:</b> + <b>警告:</b> @@ -20687,7 +21911,7 @@ QML オブザーバをコンパイルするには、Qt バージョンのペー Unconfigured Project - 構成されていないプロジェクト + 構成されていないプロジェクト @@ -20701,7 +21925,11 @@ QML オブザーバをコンパイルするには、Qt バージョンのペー Qt4ProjectManager::AbstractMobileAppWizardDialog Qt Versions - Qt バージョン + Qt バージョン + + + Targets + ターゲット Mobile Options @@ -20709,7 +21937,7 @@ QML オブザーバをコンパイルするには、Qt バージョンのペー Symbian Specific - Symbian 固有 + Symbian 固有 Maemo5 And MeeGo Specific @@ -20729,105 +21957,105 @@ QML オブザーバをコンパイルするには、Qt バージョンのペー No device is connected. Please connect a device and try again. - デバイスが接続されていません。デバイスを接続して再試行して下さい。 + デバイスが接続されていません。デバイスを接続して再試行して下さい。 Executable file: %1 - 実行ファイル: %1 + 実行ファイル: %1 Connecting to '%1'... - '%1' に接続中... + '%1' に接続中... Unable to create CODA connection. Please try again. - CODA コネクションを作成できません。再試行して下さい。 + CODA コネクションを作成できません。再試行して下さい。 Could not open serial device: %1 - シリアルデバイスを開けません: %1 + シリアルデバイスを開けません: %1 Connecting to %1:%2... - %1:%2 に接続中... + %1:%2 に接続中... Error: %1 - エラー: %1 + エラー: %1 Connected. - 接続しました。 + 接続しました。 Process has finished. - プロセスは終了しました。 + プロセスは終了しました。 Thread has crashed: %1 - スレッドはクラッシュしました: %1 + スレッドはクラッシュしました: %1 The process is already running on the device. Please first close it. - プロセスは既にデバイス上で実行中です。先に実行中のプロセスを終了して下さい。 + プロセスは既にデバイス上で実行中です。先に実行中のプロセスを終了して下さい。 Launching: %1 - 起動中: %1 + 起動中: %1 Launched. - 起動しました。 + 起動しました。 Launch failed: %1 - 起動に失敗しました: %1 + 起動に失敗しました: %1 Waiting for CODA - CODA を待機中 + CODA を待機中 Qt Creator is waiting for the CODA application to connect.<br>Please make sure the application is running on your mobile phone and the right IP address and/or port are configured in the project settings. - Qt Creator は CODA アプリケーションからの接続を待っています。<br>アプリケーションが、意図した携帯電話上で実行されている事や正しいIPアドレスやポート番号で構成されている事を確認して下さい。 + Qt Creator は CODA アプリケーションからの接続を待っています。<br>アプリケーションが、意図した携帯電話上で実行されている事や正しいIPアドレスやポート番号で構成されている事を確認して下さい。 Canceled. - 中止しました。 + 中止しました。 The device '%1' has been disconnected. - デバイス '%1' は切断されました。 + デバイス '%1' は切断されました。 @@ -20856,9 +22084,13 @@ QML オブザーバをコンパイルするには、Qt バージョンのペー Modules モジュール + + Kits + キット + Targets - ターゲット + ターゲット @@ -21183,15 +22415,15 @@ Preselects a desktop Qt for building the application if available. Qt4ProjectManager::Internal::GcceToolChainFactory GCCE - GCCE + GCCE GCCE from Qt version - Qt バージョンの GCCE + Qt バージョンの GCCE GCCE (%1) - GCCE (%1) + GCCE (%1) @@ -21229,9 +22461,17 @@ Preselects a desktop Qt for building the application if available. Creates an HTML5 application project that can contain both HTML5 and C++ code and includes a WebKit view. -You can build the application and deploy it on desktop and mobile target platforms. For example, you can create signed Symbian Installation System (SIS) packages for this type of projects. +You can build the application and deploy it on desktop and mobile target platforms. HTML5 と C++ コードと WebKit ビューをインクルードした HTML5 アプリケーションプロジェクトを作成します。 +デスクトップ向けおよびモバイル向けのアプリケーションのビルドとデプロイが可能です。 + + + Creates an HTML5 application project that can contain both HTML5 and C++ code and includes a WebKit view. + +You can build the application and deploy it on desktop and mobile target platforms. For example, you can create signed Symbian Installation System (SIS) packages for this type of projects. + HTML5 と C++ コードと WebKit ビューをインクルードした HTML5 アプリケーションプロジェクトを作成します。 + デスクトップ向けおよびモバイル向けのアプリケーションのビルドとデプロイが可能です。たとえば署名済み Symbian インストールシステム (SIS) パッケージのようなプロジェクトを作成できます。 @@ -21316,7 +22556,7 @@ You can build the application and deploy it on desktop and mobile target platfor Symbian - Symbian + Symbian Linkage: @@ -21455,7 +22695,7 @@ Adds the library and include paths to the .pro file. Symbian Specific - Symbian 固有 + Symbian 固有 @@ -21618,7 +22858,7 @@ Adds the library and include paths to the .pro file. Qt4ProjectManager::Internal::Qt4ProjectConfigWidget <a href="import">Import existing build</a> - <a href="import">既存ビルド構成のインポート</a> + <a href="import">既存ビルド構成のインポート</a> Shadow Build Directory @@ -21626,19 +22866,19 @@ Adds the library and include paths to the .pro file. using <font color="#ff0000">invalid</font> Qt Version: <b>%1</b><br>%2 - <font color="#ff0000">無効な</font> Qt バージョン: <b>%1</b> が指定されています<br>%2 + <font color="#ff0000">無効な</font> Qt バージョン: <b>%1</b> が指定されています<br>%2 No Qt Version found. - Qt バージョンが見つかりません。 + Qt バージョンが見つかりません。 using Qt version: <b>%1</b><br>with tool chain <b>%2</b><br>building in <b>%3</b> - 使用する Qt バージョン: <br>%1</b><br>ツールチェイン: <b>%2</b><br>ビルドディレクトリ: <b>%3</b> + 使用する Qt バージョン: <br>%1</b><br>ツールチェイン: <b>%2</b><br>ビルドディレクトリ: <b>%3</b> <Invalid tool chain> - <無効なツールチェイン> + <無効なツールチェイン> General @@ -21646,7 +22886,7 @@ Adds the library and include paths to the .pro file. Invalid Qt version - 不正な Qt バージョン + 不正な Qt バージョン A build for a different project exists in %1, which will be overwritten. @@ -21658,6 +22898,18 @@ Adds the library and include paths to the .pro file. %1 build directory %1 に別のプロジェクトビルドがありますが、上書きされます。 + + building in <b>%1</b> + <b>%1</b> でビルド + + + This target cannot build this project since it does not define a Qt version. + Qt バージョンが定義されていない為、プロジェクトはこのターゲットでビルドできません。 + + + The Qt version %1 does not support shadow builds, building might fail. + Qt バージョン %1 は、シャドウビルドをサポートしていない為、ビルドが失敗する可能性があります。 + Error: エラー: @@ -21669,16 +22921,16 @@ Adds the library and include paths to the .pro file. %1 Debug Name of a debug build configuration to created by a project wizard, %1 being the Qt version name. We recommend not translating it. - %1 Debug + %1 Debug %1 Release Name of a release build configuration to created by a project wizard, %1 being the Qt version name. We recommend not translating it. - %1 Release + %1 Release <No tool chain selected> - <ツールチェイン未選択> + <ツールチェイン未選択> An incompatible build exists in %1, which will be overwritten. @@ -21695,11 +22947,11 @@ Adds the library and include paths to the .pro file. Qt version: - Qt バージョン: + Qt バージョン: Tool chain: - ツールチェイン: + ツールチェイン: Shadow build: @@ -21711,7 +22963,7 @@ Adds the library and include paths to the .pro file. Manage... - 管理... + 管理... @@ -21724,6 +22976,10 @@ Adds the library and include paths to the .pro file. Build ビルド + + Build "%1" + "%1" をビルド + Rebuild リビルド @@ -21732,9 +22988,45 @@ Adds the library and include paths to the .pro file. Clean クリーン + + Build Subproject + サブプロジェクトをビルド + + + Build Subproject "%1" + サブプロジェクト "%1" をビルド + + + Rebuild Subproject + サブプロジェクトをリビルド + + + Rebuild Subproject "%1" + サブプロジェクト "%1" をリビルド + + + Clean Subproject + サブプロジェクトをクリーン + + + Clean Subproject "%1" + サブプロジェクト "%1" をクリーン + + + Build File + ファイルをビルド + + + Build File "%1" + ファイル "%1" をビルド + + + Ctrl+Alt+B + Ctrl+Alt+B + Jump to File Under Cursor - カーソル位置のファイルへ移動 + カーソル位置のファイルへ移動 Add Library... @@ -21745,11 +23037,15 @@ Adds the library and include paths to the .pro file. Qt4ProjectManager::Internal::Qt4RunConfiguration The .pro file is currently being parsed. - .pro ファイルをパースしています。 + .pro ファイルをパースしています。 The .pro file could not be parsed. - .pro ファイルはまだパースされていません。 + .pro ファイルはまだパースされていません。 + + + The .pro file '%1' is currently being parsed. + .pro ファイル '%1' をパースしています。 Clean Environment @@ -21788,7 +23084,7 @@ Adds the library and include paths to the .pro file. Run in terminal - 端末内で実行 + ターミナルで実行 Base environment for this run configuration: @@ -21835,19 +23131,19 @@ Adds the library and include paths to the .pro file. Qt4ProjectManager::Internal::Qt4SymbianTarget <b>Device:</b> Not connected - <b>デバイス:</b> 未接続 + <b>デバイス:</b> 未接続 <b>Device:</b> %1 - <b>デバイス:</b> %1 + <b>デバイス:</b> %1 <b>Device:</b> %1, %2 - <b>デバイス:</b> %1, %2 + <b>デバイス:</b> %1, %2 <b>IP address:</b> %1:%2 - <b>IP アドレス:</b> %1:%2 + <b>IP アドレス:</b> %1:%2 @@ -21860,12 +23156,12 @@ Adds the library and include paths to the .pro file. Symbian Emulator Qt4 Symbian Emulator target display name - Symbian エミュレータ + Symbian エミュレータ Symbian Device Qt4 Symbian Device target display name - Symbian デバイス + Symbian デバイス Maemo Emulator @@ -21933,28 +23229,50 @@ You can build the application and deploy it on desktop and mobile target platfor Qt Quick Application (Built-in Elements) - Qt Quick アプリケーション (ビルトイン要素) + Qt Quick アプリケーション (ビルトイン要素) The built-in elements in the QtQuick namespace allow you to write cross-platform applications with a custom look and feel. Requires <b>Qt 4.7.0</b> or newer. - QtQuick ネームスペースのビルトイン要素を使って、独自のルック&amp;フィールを持つクロスプラットフォームアプリケーションを作成できます。 + QtQuick ネームスペースのビルトイン要素を使って、独自のルック&amp;フィールを持つクロスプラットフォームアプリケーションを作成できます。 <b>Qt 4.7.0</b> 以降が必要です。 Qt Quick Application for Symbian - Symbian 向け Qt Quick アプリケーション + Symbian 向け Qt Quick アプリケーション The Qt Quick Components for Symbian are a set of ready-made components that are designed with specific native appearance for the Symbian platform. Requires <b>Qt 4.7.4</b> or newer, and the component set installed for your Qt version. - Symbian 向け Qt Quick コンポーネントは Symbian プラットフォームのネイティブな外観に合わせて設計された既成のコンポーネント集です。 + Symbian 向け Qt Quick コンポーネントは Symbian プラットフォームのネイティブな外観に合わせて設計された既成のコンポーネント集です。 <b>Qt 4.7.4</b> 以降のコンポーネント集がインストールされた Qt が必要です。 + + Qt Quick 1 Application (Built-in Elements) + Qt Quick1 アプリケーション (ビルトイン要素) + + + The built-in elements in the QtQuick 1 namespace allow you to write cross-platform applications with a custom look and feel. + +Requires <b>Qt 4.7.0</b> or newer. + + + + Qt Quick 2 Application (Built-in Elements) + Qt Quick2 アプリケーション (ビルトイン要素) + + + Creates a Qt Quick application project that can contain both QML and C++ code and includes a QQuickView. + +The built-in elements in the QtQuick 2 namespace allow you to write cross-platform applications with a custom look and feel. + +Requires <b>Qt 5.0</b> or newer. + + Qt Quick Application for MeeGo Harmattan MeeGo Harmattan 向け Qt Quick アプリケーション @@ -22022,47 +23340,47 @@ Requires <b>Qt 4.7.0</b> or newer. Qt4ProjectManager::Internal::RvctToolChainConfigWidget Form - フォーム + フォーム ARM &version: - ARM バージョン(&V): + ARM バージョン(&V): Version 5 - バージョン 5 + バージョン 5 Version 6 - バージョン 6 + バージョン 6 &Compiler path: - コンパイラのパス(&C): + コンパイラのパス(&C): Environment Variables - 環境変数 + 環境変数 Qt4ProjectManager::Internal::RvctToolChainFactory ARMv5 - ARMv5 + ARMv5 ARMv6 - ARMv6 + ARMv6 RVCT - RVCT + RVCT RVCT (%1 %2.%3 Build %4) %1 arm version, %2 major version, %3 minor version, %4 build number - RVCT (%1 %2.%3 ビルド %4) + RVCT (%1 %2.%3 ビルド %4) @@ -22070,54 +23388,54 @@ Requires <b>Qt 4.7.0</b> or newer. The certificate "%1" has already expired and cannot be used. Expiration date: %2. - 証明書 "%1" は既に有効期限が切れている為、使用できません。 + 証明書 "%1" は既に有効期限が切れている為、使用できません。 有効期限: %2。 The certificate "%1" is not yet valid. Valid from: %2. - 証明書 "%1" は、まだ有効になっていません。 + 証明書 "%1" は、まだ有効になっていません。 開始日: %2。 The certificate "%1" is not a valid X.509 certificate. - 証明書 "%1" は、有効な X.509 証明書ではありません。 + 証明書 "%1" は、有効な X.509 証明書ではありません。 Type: - タイプ: + タイプ: Developer certificate - 開発者証明書 + 開発者証明書 Self signed certificate - 自己署名証明書 + 自己署名証明書 Issued by: - 発行者: + 発行者: Issued to: - 発行先: + 発行先: Valid from: - 開始日: + 開始日: Valid to: - 終了日: + 終了日: Capabilities: - Capability: + Capability: Supporting %n device(s): - + %n 台のデバイスをサポート: @@ -22127,7 +23445,7 @@ Valid from: %2. Running %1 %1 is a name of the Publish Step i.e. Clean Step - %1 実行中 + %1 実行中 @@ -22137,13 +23455,13 @@ Valid from: %2. %2 Use a developer certificate or any other signing option to prevent this patching from happening. %1 package name, %2 will be replaced by a list of patching lines. - バイナリパッケージ '%1' は自己署名後にインストールを可能にするために変更されました。 + バイナリパッケージ '%1' は自己署名後にインストールを可能にするために変更されました。 %2 この変更を避けるには開発者証明書かその他の署名オプションを利用して下さい。 Cannot create Smart Installer package as the Smart Installer's base file is missing. Please ensure that it is located in the SDK. - Smart Installer の基本ファイルが存在しない為 Smart Installer パッケージを作成できません。SDK 内にある事を確認して下さい。 + Smart Installer の基本ファイルが存在しない為 Smart Installer パッケージを作成できません。SDK 内にある事を確認して下さい。 @@ -22151,27 +23469,27 @@ Use a developer certificate or any other signing option to prevent this patching Create SIS Package default create SIS package build step display name - SIS パッケージの作成 + SIS パッケージの作成 Could not find make command '%1' in the build environment - ビルド環境に make コマンド '%1' が見つかりませんでした + ビルド環境に make コマンド '%1' が見つかりませんでした Package Modified - パッケージは変更されました + パッケージは変更されました <p>Qt modified your package <b>%1</b>.</p> - <p>Qt はパッケージ <b>%1</b> を変更しました。</p> + <p>Qt はパッケージ <b>%1</b> を変更しました。</p> Packages Modified - パッケージは変更されました + パッケージは変更されました <p>Qt modified some of your packages.</p> - <p>Qt はいくつかのパッケージを変更しました。</p> + <p>Qt はいくつかのパッケージを変更しました。</p> %1<p><em>These changes were not part of your build system</em> but are required to make sure the <em>self-signed</em> package can be installed successfully on a device.</p><p>Check the Build Issues pane for more details on the modifications made.</p><p>Please see the <a href="%2">documentation</a> for other signing options which remove the need for this patching.</p> @@ -22179,52 +23497,52 @@ Use a developer certificate or any other signing option to prevent this patching Ignore patching for this packaging step. - このパッケージ化ステップへのパッチ適用を無視します。 + このパッケージ化ステップへのパッチ適用を無視します。 No certificate file specified. Please specify one in the project settings. - 証明書ファイルが指定されていません。プロジェクト設定で指定して下さい。 + 証明書ファイルが指定されていません。プロジェクト設定で指定して下さい。 Certificate file "%1" does not exist. Please specify an existing certificate file in the project settings. - 証明書ファイル "%1" が存在しません。プロジェクト設定で存在する証明書ファイルを指定して下さい。 + 証明書ファイル "%1" が存在しません。プロジェクト設定で存在する証明書ファイルを指定して下さい。 No key file specified. Please specify one in the project settings. - 鍵ファイルが指定されていません。プロジェクト設定で指定して下さい。 + 鍵ファイルが指定されていません。プロジェクト設定で指定して下さい。 Key file "%1" does not exist. Please specify an existing key file in the project settings. - 鍵ファイル "%1" が存在しません。プロジェクト設定で存在する鍵ファイルを指定して下さい。 + 鍵ファイル "%1" が存在しません。プロジェクト設定で存在する鍵ファイルを指定して下さい。 The package created will not install on a device as some of the defined capabilities are not supported by the certificate: %1 - 定義された Capability が一部でも証明書でサポートされていない場合、作成されたパッケージはデバイスにはインストールされません: %1 + 定義された Capability が一部でも証明書でサポートされていない場合、作成されたパッケージはデバイスにはインストールされません: %1 The process "%1" exited normally. - プロセス "%1" は正常に終了しました。 + プロセス "%1" は正常に終了しました。 The process "%1" exited with code %2. - プロセス "%1" はコード %2 で終了しました。 + プロセス "%1" はコード %2 で終了しました。 The process "%1" crashed. - プロセス "%1" がクラッシュしました。 + プロセス "%1" がクラッシュしました。 Could not start process "%1" in %2 - %2 でプロセス "%1" を開始できませんでした + %2 でプロセス "%1" を開始できませんでした %1<p><em>These changes were not part of your build system</em> but are required to make sure the <em>self-signed</em> package can be installed successfully on a device.</p><p>Check the Issues pane for more details on the modifications made.</p><p>Please see the <a href="%2">documentation</a> for other signing options which remove the need for this patching.</p> - %1<p><em>これらの変更はビルドシステムに対するものではありませんが</em>、<em>自己署名</em>されたパッケージをデバイスにインストールするために必要でした。</p><p>変更点の詳細については問題ペインを確認して下さい。</p><p>この変更の不要にする他の署名用オプションについては<a href="%2">ドキュメント</a>を参照して下さい。</p> + %1<p><em>これらの変更はビルドシステムに対するものではありませんが</em>、<em>自己署名</em>されたパッケージをデバイスにインストールするために必要でした。</p><p>変更点の詳細については問題ペインを確認して下さい。</p><p>この変更の不要にする他の署名用オプションについては<a href="%2">ドキュメント</a>を参照して下さい。</p> Starting: "%1" %2 in %3 - %3 で起動中: "%1" %2 + %3 で起動中: "%1" %2 @@ -22232,223 +23550,223 @@ Use a developer certificate or any other signing option to prevent this patching Qt4ProjectManager::Internal::S60CreatePackageStepConfigWidget self-signed - 自己署名 + 自己署名 Reset Passphrases - パスフレーズをリセット + パスフレーズをリセット Do you want to reset all passphrases saved for keys used? - 保存されているすべてのパスフレーズをリセットしますか? + 保存されているすべてのパスフレーズをリセットしますか? signed with the certificate "%1" using the key "%2" - 鍵ファイル "%2" によって署名された証明書 "%1" + 鍵ファイル "%2" によって署名された証明書 "%1" signed with a certificate and a key that need to be specified - 署名付き証明書と鍵ファイルを指定する必要があります + 署名付き証明書と鍵ファイルを指定する必要があります not signed - 署名なし + 署名なし <b>Create SIS Package:</b> %1, using Smart Installer - <b>SIS パッケージを作成:</b> %1、スマートインストーラ使用 + <b>SIS パッケージを作成:</b> %1、スマートインストーラ使用 <b>Create SIS Package:</b> %1 - <b>SIS パッケージを作成:</b> %1 + <b>SIS パッケージを作成:</b> %1 Qt4ProjectManager::Internal::S60CreatePackageStepFactory Create SIS Package - SIS パッケージの作成 + SIS パッケージの作成 Qt4ProjectManager::Internal::S60CreatePackageStepWidget Self-signed certificate - 自己署名証明書 + 自己署名証明書 Custom certificate: - カスタム証明書: + カスタム証明書: Key file: - 秘密鍵ファイル: + 秘密鍵ファイル: Not signed - 署名しない + 署名しない Create Smart Installer package - スマートインストーラパッケージを作成 + スマートインストーラパッケージを作成 Resets saved passphrases for all used keys - 使用されているすべての鍵の保存済みパスフレーズをリセットします + 使用されているすべての鍵の保存済みパスフレーズをリセットします Reset Passphrases - パスフレーズをリセット + パスフレーズをリセット Choose certificate file - 証明書ファイルを選択 + 証明書ファイルを選択 Certificate's details - 証明書の詳細 + 証明書の詳細 Qt4ProjectManager::Internal::S60DeployConfigurationWidget Device: - デバイス: + デバイス: Silent installation - サイレントインストール + サイレントインストール Serial: - シリアル: + シリアル: WLAN: - WLAN: + WLAN: Installation file: - インストールするファイル: + インストールするファイル: Silent installation is an installation mode that does not require user's intervention. In case it fails the non silent installation is launched. - サイレントインストールはユーザー操作を必要としないインストールモードです。失敗した場合、通常のインストーラが起動されます。 + サイレントインストールはユーザー操作を必要としないインストールモードです。失敗した場合、通常のインストーラが起動されます。 Installation drive: - インストールするドライブ: + インストールするドライブ: Serial port: - シリアルポート: + シリアルポート: Communication Channel - コミュニケーションチャネル + コミュニケーションチャネル Address: - アドレス: + アドレス: Connecting - 接続中 + 接続中 Unable to create CODA connection. Please try again. - CODA コネクションを作成できません。再試行して下さい。 + CODA コネクションを作成できません。再試行して下さい。 Currently there is no information about the device for this connection type. - 現在、この接続タイプのデバイスについての情報はありません。 + 現在、この接続タイプのデバイスについての情報はありません。 No device information available - 利用可能なデバイス情報なし + 利用可能なデバイス情報なし Qt version: - Qt バージョン: + Qt バージョン: Not installed on device - デバイスにはインストールしていません + デバイスにはインストールしていません Qt version: - Qt バージョン: + Qt バージョン: Unrecognised Symbian version 0x%1 - 認識できない Symbian バージョン 0x%1 + 認識できない Symbian バージョン 0x%1 Unrecognised S60 version 0x%1 - 認識できない S60 バージョン 0x%1 + 認識できない S60 バージョン 0x%1 OS version: - OS バージョン: + OS バージョン: unknown - 不明 + 不明 ROM version: - ROM バージョン: + ROM バージョン: Release: - リリース: + リリース: CODA version: - CODA バージョン: + CODA バージョン: Error reading CODA version - CODA バージョンの読み取りエラー + CODA バージョンの読み取りエラー Qt Mobility version: - Qt Mobility バージョン: + Qt Mobility バージョン: Error reading Qt Mobility version - Qt Mobility バージョンの読み取りでエラー + Qt Mobility バージョンの読み取りでエラー Not installed - 未インストール + 未インストール Qt Quick components version: - Qt Quick コンポーネントバージョン: + Qt Quick コンポーネントバージョン: QML Viewer version: - QML ビューア バージョン: + QML ビューア バージョン: Screen size: - 画面サイズ: + 画面サイズ: Queries the device for information - デバイスの情報を取得 + デバイスの情報を取得 Qt4ProjectManager::Internal::S60DeployStep Unable to remove existing file '%1': %2 - 存在しているファイル '%1' を削除できません: %2 + 存在しているファイル '%1' を削除できません: %2 Unable to rename file '%1' to '%2': %3 - ファイル '%1' を '%2' という名前に変更できません: %3 + ファイル '%1' を '%2' という名前に変更できません: %3 Deploy @@ -22457,123 +23775,123 @@ Use a developer certificate or any other signing option to prevent this patching Renaming new package '%1' to '%2' - 新しいパッケージ '%1' を '%2' に変更中 + 新しいパッケージ '%1' を '%2' に変更中 Removing old package '%1' - 古いパッケージ '%1' を削除中 + 古いパッケージ '%1' を削除中 '%1': Package file not found - '%1': パッケージファイルが見つかりません + '%1': パッケージファイルが見つかりません Failed to find package %1 - パッケージ %1 が見つかりません + パッケージ %1 が見つかりません Could not write to file %1 on device: %2 - デバイス上にファイル %1 を書き込めません: %2 + デバイス上にファイル %1 を書き込めません: %2 Installation failed: %1; see %2 for descriptions of the error codes - インストール失敗: %1; エラーコードの説明は %2 を参照して下さい + インストール失敗: %1; エラーコードの説明は %2 を参照して下さい Copying "%1"... - "%1" をコピー中... + "%1" をコピー中... No package has been found. Specify at least one installation package. - パッケージが見つかりません。最低1つはインストールパッケージを指定して下さい。 + パッケージが見つかりません。最低1つはインストールパッケージを指定して下さい。 Deploy SIS Package Qt4 Deploystep display name - SIS パッケージをデプロイ + SIS パッケージをデプロイ No device is connected. Connect a device and try again. - デバイスが接続されていません。デバイスを接続して再試行して下さい。 + デバイスが接続されていません。デバイスを接続して再試行して下さい。 No address for a device has been defined. Define an address and try again. - デバイスのアドレスが定義されていません。アドレスを定義して再試行して下さい。 + デバイスのアドレスが定義されていません。アドレスを定義して再試行して下さい。 Deploying application to '%1'... - アプリケーションを '%1' へデプロイ中... + アプリケーションを '%1' へデプロイ中... No such port - ポートがありません + ポートがありません Could not open serial device: %1 - シリアルデバイスを開けません: %1 + シリアルデバイスを開けません: %1 Connecting to %1:%2... - %1:%2 に接続中... + %1:%2 に接続中... Error: %1 - エラー: %1 + エラー: %1 Installing package "%1" on drive %2:... - ドライブ %2 にパッケージ "%1" をインストール中:... + ドライブ %2 にパッケージ "%1" をインストール中:... Continue the installation on your device. - デバイスへのインストールを続行して下さい。 + デバイスへのインストールを続行して下さい。 A timeout while deploying has occurred. CODA might not be responding. Try reconnecting the device. - デプロイ中にタイムアウトが発生しました。CODA が無応答のようです。デバイスに再接続してみて下さい。 + デプロイ中にタイムアウトが発生しました。CODA が無応答のようです。デバイスに再接続してみて下さい。 Could not open remote file: %1 - リモートファイルを開けません: %1 + リモートファイルを開けません: %1 Internal error: No filehandle obtained - インストールエラー: ファイルハンドルが取得できません + インストールエラー: ファイルハンドルが取得できません Could not open local file %1: %2 - ローカルファイル %1 を開けません: %2 + ローカルファイル %1 を開けません: %2 Installation has finished - インストールが完了しました + インストールが完了しました Failed to close the remote file: %1 - リモートファイルを閉じるのに失敗しました: %1 + リモートファイルを閉じるのに失敗しました: %1 Installation - インストール + インストール Deployment has been cancelled. - 転送が中止されました。 + 転送が中止されました。 The device '%1' has been disconnected - デバイス '%1' は切断済みです + デバイス '%1' は切断済みです Copy progress: %1% - コピー中: %1% + コピー中: %1% Qt4ProjectManager::Internal::S60DeployStepFactory Deploy SIS Package - SIS パッケージをデプロイ + SIS パッケージをデプロイ @@ -22588,29 +23906,29 @@ Use a developer certificate or any other signing option to prevent this patching Warning: Cannot locate the symbol file belonging to %1. - 警告: %1 に属するシンボルファイルを見つける事ができません。 + 警告: %1 に属するシンボルファイルを見つける事ができません。 Launching debugger... - デバッガ起動中... + デバッガ起動中... Debugger for Symbian Platform - Symbian プラットフォーム用のデバッガ + Symbian プラットフォーム用のデバッガ Debug on Device - デバイスでデバッグ + デバイスでデバッグ Qt4ProjectManager::Internal::S60DeviceRunConfigurationWidget Arguments: - 引数: + 引数: Debugger: @@ -22624,34 +23942,34 @@ Use a developer certificate or any other signing option to prevent this patching S60 emulator run configuration default display name, %1 is base pro-File name ---------- S60 emulator run configuration default display name, %1 is base pro-File name - Symbian エミュレータ上の %1 + Symbian エミュレータ上の %1 Run on Symbian Emulator S60 emulator run configuration default display name (no pro-file name) - Symbian エミュレータ上で実行 + Symbian エミュレータ上で実行 The .pro file is currently being parsed. - .pro ファイルをパースしています。 + .pro ファイルをパースしています。 The .pro file could not be parsed. - .pro ファイルをパースできません。 + .pro ファイルをパースできません。 Qt4ProjectManager::Internal::S60EmulatorRunConfigurationFactory %1 in Symbian Emulator - Symbian エミュレータ上の %1 + Symbian エミュレータ上の %1 Qt4ProjectManager::Internal::S60EmulatorRunConfigurationWidget Executable: - 実行ファイル: + 実行ファイル: @@ -22659,17 +23977,17 @@ S60 emulator run configuration default display name, %1 is base pro-File name Starting %1... - %1 を起動中... + %1 を起動中... [Qt Message] - [Qt メッセージ] + [Qt メッセージ] %1 exited with code %2 - %1 はコード %2 で終了しました + %1 はコード %2 で終了しました @@ -22677,62 +23995,62 @@ S60 emulator run configuration default display name, %1 is base pro-File nameQt4ProjectManager::Internal::S60Manager Run in Emulator - エミュレータで実行 + エミュレータで実行 Run on Device - デバイスで実行 + デバイスで実行 Qt4ProjectManager::Internal::S60PublisherOvi Clean - クリーン + クリーン qmake - qmake + qmake Build - ビルド + ビルド Freeze - フリーズ + フリーズ Secondary clean - 2度目のクリーン + 2度目のクリーン Secondary qmake - 2度目の qmake + 2度目の qmake Secondary build - 2度目のビルド + 2度目のビルド Making SIS file - SIS ファイル作成中 + SIS ファイル作成中 Done. - 完了。 + 完了。 SIS file not created due to previous errors. - 前述のエラーにより SIS ファイルは作成されていません。 + 前述のエラーにより SIS ファイルは作成されていません。 Created %1. - %1 を作成しました。 + %1 を作成しました。 @@ -22740,28 +24058,28 @@ S60 emulator run configuration default display name, %1 is base pro-File nameQt4ProjectManager::Internal::S60PublishingBuildSettingsPageOvi No valid Qt version has been detected.<br>Define a correct Qt version in "Options > Qt4" - 有効な Qt バージョンが検出されていません。<br>"設定 > Qt4" で正しい Qt バージョンを定義して下さい + 有効な Qt バージョンが検出されていません。<br>"設定 > Qt4" で正しい Qt バージョンを定義して下さい No valid tool chain has been detected.<br>Define a correct tool chain in "Options > Tool Chains" - 有効なツールチェインが検出されていません。<br>"設定 > ツールチェイン" で正しいツールチェインを定義して下さい + 有効なツールチェインが検出されていません。<br>"設定 > ツールチェイン" で正しいツールチェインを定義して下さい Form - フォーム + フォーム Choose a build configuration: - ビルド構成の選択: + ビルド構成の選択: Choose a tool chain: - ツールチェインを選択: + ツールチェインを選択: Only Qt versions above 4.6.3 are made available in this wizard. Previous Qt versions have limitations in building suitable SIS files. - このウィザードでは Qt バージョン 4.6.3 以降のみ作成可能です。 + このウィザードでは Qt バージョン 4.6.3 以降のみ作成可能です。 それより古い Qt バージョン向けの SIS ファイルをビルドする際には制限があります。 @@ -22769,26 +24087,26 @@ Previous Qt versions have limitations in building suitable SIS files. Qt4ProjectManager::Internal::S60PublishingResultsPageOvi Open Containing Folder - フォルダを開く + フォルダを開く Close - 閉じる + 閉じる Form - フォーム + フォーム Qt4ProjectManager::Internal::S60PublishingSisSettingsPageOvi This should be application's display name. <br>It cannot be empty.<br> - これはアプリケーションの表示名にする必要があります。 <br>空にする事はできません。<br> + これはアプリケーションの表示名にする必要があります。 <br>空にする事はできません。<br> The display name is quite long.<br>It might not be fully visible in the phone's menu.<br> - 表示名が長過ぎます。<br>携帯電話のメニューで完全に表示できない可能性があります。<br> + 表示名が長過ぎます。<br>携帯電話のメニューで完全に表示できない可能性があります。<br> "%1" is a default vendor name used for testing and development. <br>The Vendor_Name field cannot contain the name 'Nokia'. <br>You are advised against using the default names 'Vendor' and 'Vendor-EN'. <br>You should also not leave the entry blank. <br>see <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> for guidelines.<br> @@ -22796,11 +24114,11 @@ Previous Qt versions have limitations in building suitable SIS files. %1 is a default vendor name used for testing and development. - %1 はテストや開発のデフォルトベンダー名として使用されています。 + %1 はテストや開発のデフォルトベンダー名として使用されています。 %1 are default vendor names used for testing and development. - %1 はテストや開発のデフォルトベンダー名として使用されています。 + %1 はテストや開発のデフォルトベンダー名として使用されています。 %1 <br>The Vendor_Name field cannot contain the name 'Nokia'. <br>You are advised against using the default names 'Vendor' and 'Vendor-EN'. <br>You should also not leave the entry blank. <br>See <a href="http://www.forum.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> for guidelines.<br> @@ -22820,51 +24138,47 @@ Previous Qt versions have limitations in building suitable SIS files. "%1" is a default vendor name used for testing and development. <br>The Vendor_Name field cannot contain the name 'Nokia'. <br>You are advised against using the default names 'Vendor' and 'Vendor-EN'. <br>You should also not leave the entry blank. <br>see <a href="http://www.developer.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> for guidelines.<br> - "%1" はテストやデプロイの時に使われるデフォルトのベンダー名です。<br>ベンダー名フィールドに 'Nokia' という名前を含める事はできません。<br>デフォルト名の 'Vendor' や 'Vendor-EN' をそのまま使用するのはお勧めできません。<br>この項目を空のままにする事はできません。<br>詳しくは <a href="http://www.developer.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> ガイドラインを参照して下さい。<br> + "%1" はテストやデプロイの時に使われるデフォルトのベンダー名です。<br>ベンダー名フィールドに 'Nokia' という名前を含める事はできません。<br>デフォルト名の 'Vendor' や 'Vendor-EN' をそのまま使用するのはお勧めできません。<br>この項目を空のままにする事はできません。<br>詳しくは <a href="http://www.developer.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> ガイドラインを参照して下さい。<br> %1 <br>The Vendor_Name field cannot contain the name 'Nokia'. <br>You are advised against using the default names 'Vendor' and 'Vendor-EN'. <br>You should also not leave the entry blank. <br>See <a href="http://www.developer.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> for guidelines.<br> - %1 <br>ベンダー名フィールドに 'Nokia' という名前を含める事はできません。<br>デフォルト名の 'Vendor' や 'Vendor-EN' をそのまま使用するのはお勧めできません。<br>この項目を空のままにする事はできません。<br>詳しくは <a href="http://www.developer.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> ガイドラインを参照して下さい。<br> + %1 <br>ベンダー名フィールドに 'Nokia' という名前を含める事はできません。<br>デフォルト名の 'Vendor' や 'Vendor-EN' をそのまま使用するのはお勧めできません。<br>この項目を空のままにする事はできません。<br>詳しくは <a href="http://www.developer.nokia.com/Distribute/Packaging_and_signing.xhtml">Packaging and Signing</a> ガイドラインを参照して下さい。<br> The application UID %1 is only for testing and development.<br>SIS packages built with it cannot be distributed via the Nokia Store.<br> - アプリケーション UID %1 はテストと開発のためだけに使えます。<br>作成した SIS パッケージを Nokia ストアを通じて配布することはできません。<br> + アプリケーション UID %1 はテストと開発のためだけに使えます。<br>作成した SIS パッケージを Nokia ストアを通じて配布することはできません。<br> The application UID %1 is a symbiansigned.com UID. <br>Applications with this UID will be rejected by Application Signing Services for Nokia Store.<br>If you want to continue with a symbiansigned.com UID, sign your application on symbiansigned.com and upload the signed application to Nokia Publish.<br> - アプリケーション UID %1 は symbiansigned.com で取得された UID です。<br>この UID のアプリケーションは Nokia ストア用のアプリケーション署名サービスでは却下されます。<br>symbiansigned.com の UID を継続して使用したい場合、symbiansigned.com でアプリケーションの署名を行い、その署名したアプリケーションを Nokia Publish にアップロードして下さい。<br> + アプリケーション UID %1 は symbiansigned.com で取得された UID です。<br>この UID のアプリケーションは Nokia ストア用のアプリケーション署名サービスでは却下されます。<br>symbiansigned.com の UID を継続して使用したい場合、symbiansigned.com でアプリケーションの署名を行い、その署名したアプリケーションを Nokia Publish にアップロードして下さい。<br> The application UID %1 is not an acceptable UID.<br>SIS packages built with it cannot be signed by Application Signing Services for Nokia Store.<br> - アプリケーション UID %1 は UID として好ましくありません。<br>Nokia Store のアプリケーション署名サービスで署名を受けずにビルドされた SIS パッケージです。<br> + アプリケーション UID %1 は UID として好ましくありません。<br>Nokia Store のアプリケーション署名サービスで署名を受けずにビルドされた SIS パッケージです。<br> The application UID is a global unique indentifier of the SIS package.<br> - アプリケーションの UID は SIS パッケージ用の世界中で一意な識別子です。<br> + アプリケーションの UID は SIS パッケージ用の世界中で一意な識別子です。<br> To get a unique application UID for your package file,<br>please register at <a href="http://info.publish.ovi.com/">publish.ovi.com</a> - パッケージファイル用の一意なアプリケーション UID は <br><a href="http://info.publish.ovi.com/">publish.ovi.com</a> に登録して入手して下さい - - - If this UID is from symbiansigned.com, It will be rejected by Application Signing Services for Nokia Store.<br>If you want to continue with a symbiansigned.com UID, sign your application on symbiansigned.com and upload the signed application to Nokia Publish.<br>It is, however, recommended that you obtain a UID from <a href="http://info.publish.ovi.com/">publish.ovi.com</a> - + パッケージファイル用の一意なアプリケーション UID は <br><a href="http://info.publish.ovi.com/">publish.ovi.com</a> に登録して入手して下さい %1 need(s) to be certified signed. Please go to <a href="symbiansigned.com">symbiansigned.com</a> for guidance. - %1 は保証付き署名が必要です。詳細は <a href="symbiansigned.com">symbiansigned.com</a> を確認して下さい。 + %1 は保証付き署名が必要です。詳細は <a href="symbiansigned.com">symbiansigned.com</a> を確認して下さい。 <br>%1 need(s) manufacturer approval.<br> - <br>%1 はメーカーの承認が必要です。<br> + <br>%1 はメーカーの承認が必要です。<br> Some capabilities might require a special kind of signing or approval from the manufacturer.<br> - いくつかの Capability は特別な種類の署名か、メーカーの承認を必要とするようです。<br> + いくつかの Capability は特別な種類の署名か、メーカーの承認を必要とするようです。<br> Please verify that you have a released version of Qt. <br><a href="http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian">Qt Packages Distributed by Smart Installer</a> has a list of released Qt versions. - リリースバージョンの Qt を使用しているか確認して下さい。<br><a href="http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian">スマートインストーラーで配布される Qt のパッケージ</a>に Qt のリリースバージョンの一覧があります。 + リリースバージョンの Qt を使用しているか確認して下さい。<br><a href="http://www.developer.nokia.com/Community/Wiki/Nokia_Smart_Installer_for_Symbian">スマートインストーラーで配布される Qt のパッケージ</a>に Qt のリリースバージョンの一覧があります。 Please verify that you have a released version of Qt. <br><a href="http://wiki.forum.nokia.com/index.php/Nokia_Smart_Installer_for_Symbian">Qt Packages Distributed by Smart Installer</a> has a list of released Qt versions. @@ -22872,51 +24186,51 @@ Previous Qt versions have limitations in building suitable SIS files. Form - フォーム + フォーム Localised Vendor Names - ローカライズされたベンダー名 + ローカライズされたベンダー名 Current Global Vendor Name - 現在のグローバルベンダー名 + 現在のグローバルベンダー名 Display name: - 表示名: + 表示名: Localised vendor names: - ローカライズされたベンダー名: + ローカライズされたベンダー名: Capabilities: - Capability: + Capability: Current UID3 - 現在の UID3 + 現在の UID3 Application UID: - アプリケーション UID: + アプリケーション UID: Current Qt Version - 現在の Qt のバージョン + 現在の Qt のバージョン Qt version used in builds: - ビルドに使用する Qt のバージョン: + ビルドに使用する Qt のバージョン: Current set of capabilities - 現在の Capability のセット + 現在の Capability のセット Global vendor name: - グローバルベンダー名: + グローバルベンダー名: @@ -22950,7 +24264,7 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB。 Publish Qt Symbian Applications to Nokia Store - Qt Symbian アプリケーションを Nokia Store に公開 + Qt Symbian アプリケーションを Nokia Store に公開 This wizard checks your project file to make sure it complies with Nokia Store submission criteria. @@ -22963,7 +24277,7 @@ You cannot use it for the Certified Signed and Manufacturer level capabilities: NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB. Your application will also be rejected by Nokia Store QA if you choose an unreleased Qt version on the next page. - このウィザードは、プロジェクトが Nokia Store 提出基準に準拠しているか確認します。 + このウィザードは、プロジェクトが Nokia Store 提出基準に準拠しているか確認します。 ウィザードは Nokia で公開可能な SIS ファイルを作成します。 @@ -22983,19 +24297,19 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB。 Publishing to Nokia Store - Nokia Store に公開 + Nokia Store に公開 Build Configuration - ビルド構成 + ビルド構成 Project File Checks - プロジェクトファイル確認 + プロジェクトファイル確認 Creating an Uploadable SIS File - アップロード可能な SIS ファイル作成 + アップロード可能な SIS ファイル作成 @@ -23044,11 +24358,11 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB。 Qt4ProjectManager::Internal::SymbianQtConfigWidget S60 SDK: - S60 SDK: + S60 SDK: SBS v2 directory: - SBS v2 ディレクトリ: + SBS v2 ディレクトリ: @@ -23059,7 +24373,7 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB。 Qt Creator can set up the following targets: - 以下のターゲットが有効です: + 以下のターゲットが有効です: <html><head/><body><p><b>No valid Qt versions found.</b></p><p>Please add a Qt version in <i>Tools/Options</i> or via the maintenance tool of the SDK.</p></body></html> @@ -23067,11 +24381,11 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB。 Set up Targets for Your Project - プロジェクトのターゲットを設定 + プロジェクトのターゲットを設定 <html><head/><body><p><span style=" font-weight:600;">No valid Qt versions found.</span></p><p>Please add a Qt version in <span style=" font-style:italic;">Tools &gt; Options &gt; Build &amp; Run</span> (<span style=" font-style:italic;">Qt Creator &gt; Preferences &gt; Build &amp; Run</span> on Mac OS) or via the maintenance tool of the SDK.</p></body></html> - <html><head/><body><p><span style=" font-weight:600;">有効な Qt バージョンが見つかりません。</span></p><p><span style=" font-style:italic;">ツール &gt; オプション &gt; ビルドして実行</span> (Mac OS の場合は、<span style=" font-style:italic;">Qt Creator &gt; 環境設定 &gt; ビルドして実行</span>) するか、SDK のメンテナンスツールから Qt バージョンを追加して下さい。</p></body></html> + <html><head/><body><p><span style=" font-weight:600;">有効な Qt バージョンが見つかりません。</span></p><p><span style=" font-style:italic;">ツール &gt; オプション &gt; ビルドして実行</span> (Mac OS の場合は、<span style=" font-style:italic;">Qt Creator &gt; 環境設定 &gt; ビルドして実行</span>) するか、SDK のメンテナンスツールから Qt バージョンを追加して下さい。</p></body></html> @@ -23151,30 +24465,30 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB。 Qt4ProjectManager::Internal::WinscwToolChainConfigWidget Dialog - ダイアログ + ダイアログ Compiler path: - コンパイラのパス: + コンパイラのパス: System include path: - システムの include パス: + システムの include パス: System library path: - システムの library パス: + システムの library パス: Qt4ProjectManager::Internal::WinscwToolChainFactory WINSCW - WINSCW + WINSCW WINSCW from Qt version - Qt バージョンの WINSCW + Qt バージョンの WINSCW @@ -23184,13 +24498,17 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB。 Qt4 MakeStep display name. Make + + Qt Creator needs a compiler set up to build. Configure a compiler in the kit options. + Qt Creator は、ビルドする為にコンパイラの設定が必要です。キットオプションでコンパイラを構成して下さい。 + Qt Creator needs a build configuration set up to build. Configure a tool chain in Project mode. - Qt Creator はビルドする為にツールチェインの設定が必要です。プロジェクトモードでツールチェインを構成して下さい。 + Qt Creator はビルドする為にツールチェインの設定が必要です。プロジェクトモードでツールチェインを構成して下さい。 Qt Creator needs a tool chain set up to build. Configure a tool chain in Project mode. - Qt Creator はビルドする為にツールチェインの設定が必要です。プロジェクトモードでツールチェインを構成して下さい。 + Qt Creator はビルドする為にツールチェインの設定が必要です。プロジェクトモードでツールチェインを構成して下さい。 Cannot find Makefile. Check your build settings. @@ -23215,9 +24533,17 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB。 Make: Make: + + <b>Make:</b> %1 + <b>Make:</b> %1 + + + <b>Make:</b> No Qt4 build configuration. + <b>Make:</b> Qt4 ビルド構成がありません。 + No Qt4 build configuration. - Qt4 ビルド構成がありません。 + Qt4 ビルド構成がありません。 <b>Make:</b> %1 not found in the environment. @@ -23228,19 +24554,19 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB。 Qt4ProjectManager::PassphraseForKeyDialog Passphrase: - パスフレーズ: + パスフレーズ: Save passphrase - パスフレーズを保存 + パスフレーズを保存 This is an insecure option. The password will be saved as plain text. - これは安全でないオプションです。パスワードは平文で保存されます。 + これは安全でないオプションです。パスワードは平文で保存されます。 Passphrase for %1 - %1 のパスフレーズ + %1 のパスフレーズ @@ -23311,7 +24637,7 @@ NetworkControl, MultimediaDD, CommDD, DiskAdmin, AllFiles, DRM and TCB。 <b>Warning:</b> The tool chain suggests using another mkspec. - <b>警告:</b> ツールチェインは別の mkspec を使用する事を勧めています。 + <b>警告:</b> ツールチェインは別の mkspec を使用する事を勧めています。 <b>Warning:</b> The tool chain suggested "%1" as mkspec. @@ -23410,12 +24736,12 @@ Reason: %2 %1 Debug Name of a debug build configuration to created by a project wizard, %1 being the Qt version name. We recommend not translating it. - %1 Debug + %1 Debug %1 Release Name of a release build configuration to be created by a project wizard, %1 being the Qt version name. We recommend not translating it. - %1 Release + %1 Release @@ -23429,7 +24755,11 @@ Reason: %2 Qt4ProjectManager::Qt4BuildConfigurationFactory Using Qt Version "%1" - Qt バージョン "%1" を使用 + Qt バージョン "%1" を使用 + + + Qmake based build + Qmake ベースのビルド New Configuration @@ -23449,16 +24779,26 @@ Reason: %2 Release build configuration. We recommend not translating it. %1 Release + + Debug + Name of a debug build configuration to created by a project wizard. We recommend not translating it. + Debug + + + Release + Name of a release build configuration to be created by a project wizard. We recommend not translating it. + Release + Qt4ProjectManager::Qt4DefaultTargetSetupWidget Add build from: - ビルドを追加: + ビルドを追加: Add Build - ビルドを追加 + ビルドを追加 Create Build Configurations: @@ -23466,55 +24806,55 @@ Reason: %2 Create build configurations: - ビルド構成の作成: + ビルド構成の作成: For Each Qt Version One Debug And One Release - Qt バージョン毎に Debug と Release を1つずつ + Qt バージョン毎に Debug と Release を1つずつ For One Qt Version One Debug And One Release - 1つの Qt バージョンで Debug と Release を1つずつ + 1つの Qt バージョンで Debug と Release を1つずつ Manually - 手動 + 手動 None - なし + なし Shadow build - シャドウビルド + シャドウビルド Qt version: - Qt バージョン: + Qt バージョン: No Build Found - ビルドが見つかりません + ビルドが見つかりません Incompatible Build Found - 非互換ビルド発見 + 非互換ビルド発見 The build found in %1 is incompatible with this target. - %1 で見つかったビルドはターゲットとの互換性がありません。 + %1 で見つかったビルドはターゲットとの互換性がありません。 Already Imported Build - インポート済みのビルド + インポート済みのビルド The build found in %1 is already imported. - %1 で見つかったビルドは既にインポート済みです。 + %1 で見つかったビルドは既にインポート済みです。 Import build from %1. - %1 からビルドをインポートする。 + %1 からビルドをインポートする。 Use Shadow Building @@ -23527,12 +24867,12 @@ Reason: %2 debug Debug build - デバッグ + デバッグ release release build - リリース + リリース No build found @@ -23540,7 +24880,7 @@ Reason: %2 No build found in %1 matching project %2. - %1 内にプロジェクト %2 にマッチするビルドが見つかりませんでした。 + %1 内にプロジェクト %2 にマッチするビルドが見つかりませんでした。 The build found in %1 is incompatible with this target @@ -23557,12 +24897,12 @@ Reason: %2 <b>Error:</b> Severity is Task::Error - <b>エラー:</b> + <b>エラー:</b> <b>Warning:</b> Severity is Task::Warning - <b>警告:</b> + <b>警告:</b> @@ -23573,7 +24913,15 @@ Reason: %2 Full path to the bin directory of the current project's Qt version. - 現在のプロジェクトの Qt バージョンの bin ディレクトリへのフルパスです。 + 現在のプロジェクトの Qt バージョンの bin ディレクトリへのフルパスです。 + + + Full path to the host bin directory of the current project's Qt version. + 現在のプロジェクトの Qt バージョンのホスト側の bin ディレクトリのフルパスです。 + + + Full path to the target bin directory of the current project's Qt version. You probably want %1 instead. + 現在のプロジェクトの Qt バージョンのターゲット側の bin ディレクトリのフルパスです。要求された %1 の代わりです。 Update of Generated Files @@ -23613,33 +24961,57 @@ Reason: %2 Evaluating 評価中 + + No Qt version set in kit. + キットに Qt バージョンが設定されていません。 + + + The .pro file '%1' does not exist. + プロジェクトファイル '%1' は存在しません。 + + + The .pro file '%1' is not part of the project. + プロジェクトファイル '%1' がプロジェクト内ではありません。 + + + The .pro file '%1' could not be parsed. + プロジェクトファイル '%1' をパースできませんでした。 + + + Debug + Debug + + + Release + Release + Qt4ProjectManager::Qt4Target Desktop Qt4 Desktop target display name - デスクトップ + デスクトップ Qt Simulator Qt4 Simulator target display name - Qt シミュレータ + Qt シミュレータ Maemo5 Qt4 Maemo5 target display name - Maemo5 + Maemo5 Harmattan Qt4 Harmattan target display name - Harmattan + Harmattan MeeGo Qt4 MeeGo target display name - MeeGo + MeeGo Meego @@ -23649,12 +25021,12 @@ Reason: %2 Symbian Emulator Qt4 Symbian Emulator target display name - Symbian エミュレータ + Symbian エミュレータ Symbian Device Qt4 Symbian Device target display name - Symbian デバイス + Symbian デバイス @@ -23682,22 +25054,22 @@ Reason: %2 Qt4ProjectManager::S60DeployConfiguration Deploy %1 to Symbian device - Symbian デバイスに %1 をデプロイ + Symbian デバイスに %1 をデプロイ Deploy to Symbian device - Symbian デバイスにデプロイ + Symbian デバイスにデプロイ Qt4ProjectManager::S60DeployConfigurationFactory %1 on Symbian Device - Symbian デバイス上の %1 + Symbian デバイス上の %1 Deploy to Symbian device - Symbian デバイスにデプロイ + Symbian デバイスにデプロイ @@ -23705,61 +25077,61 @@ Reason: %2 %1 on Symbian Device S60 device runconfiguration default display name, %1 is base pro-File name - Symbian デバイス上の %1 + Symbian デバイス上の %1 Run on Symbian device S60 device runconfiguration default display name (no profile set) - Symbian デバイス上で実行 + Symbian デバイス上で実行 The .pro file is currently being parsed. - .pro ファイルをパースしています。 + .pro ファイルをパースしています。 The .pro file could not be parsed. - .pro ファイルをパースできません。 + .pro ファイルをパースできません。 Qt4ProjectManager::S60DeviceRunConfigurationFactory %1 on Symbian Device - Symbian デバイス上の %1 + Symbian デバイス上の %1 Qt4ProjectManager::S60RunControlBase Launching - 起動中 + 起動中 Please finalise the installation on your device. - デバイスへのインストールを完了して下さい。 + デバイスへのインストールを完了して下さい。 <html><head/><body><center><i>%1</i> is still running on the device.</center><center>Terminating it can leave the target in an inconsistent state.</center><center>Would you still like to terminate it?</center></body></html> - <html><head/><body><center><i>%1</i> は、まだデバイス上で実行中です。</center><center>終了する事で不完全な状態が残ってしまう可能性があります。</center><center>本当に終了しますか?</center></body></html> + <html><head/><body><center><i>%1</i> は、まだデバイス上で実行中です。</center><center>終了する事で不完全な状態が残ってしまう可能性があります。</center><center>本当に終了しますか?</center></body></html> Application Still Running - アプリケーションはまだ実行中です + アプリケーションはまだ実行中です Force Quit - 強制終了 + 強制終了 Keep Running - そのままにする + そのままにする Finished. - 終了。 + 終了。 @@ -23767,34 +25139,67 @@ Reason: %2 Qt4ProjectManager::SbsV2Parser SBSv2 build log - SBSv2 ビルドログ + SBSv2 ビルドログ The file '%1' is not a SBSv2 log file. - ファイル '%1' は SBSv2 ログファイルではありません。 + ファイル '%1' は SBSv2 ログファイルではありません。 Running command: %1 - コマンド実行中: %1 + コマンド実行中: %1 Recipe %1 failed with exit code %2. %1 is the SBSv2 build recipe name, %2 the return code of the failed command - レシピ %1 は終了コード %2 で失敗しました。 + レシピ %1 は終了コード %2 で失敗しました。 Qt4ProjectManager::TargetSetupPage Target Setup - ターゲット設定 + ターゲット設定 Qt Creator can set up the following targets for project <b>%1</b>: %1: Project name - Qt Creator はプロジェクト <b>%1</b> を以下のターゲットに設定できます: + Qt Creator はプロジェクト <b>%1</b> を以下のターゲットに設定できます: + + + <span style=" font-weight:600;">No valid kits found.</span> + <span style=" font-weight:600;">有効なキットが見つかりません。</span> + + + Please add a kit in the <a href="buildandrun">options</a> or via the maintenance tool of the SDK. + <a href="buildandrun">オプション</a>か、SDK のメンテナンスツールでキットを追加して下さい。 + + + Select Kits for Your Project + プロジェクトのキットを選択 + + + Kit Selection + キットの選択 + + + %1 - temporary + + + + Qt Creator can use the following kits for project <b>%1</b>: + %1: Project name + Qt Creator は、プロジェクト <b>%1</b> に以下のキットを使用できます: + + + No Build Found + ビルドが見つかりません + + + No build found in %1 matching project %2. + %1 内にプロジェクト %2 にマッチするビルドが見つかりませんでした。 @@ -23806,11 +25211,43 @@ Reason: %2 ptrace: Operation not permitted. +Could not attach to the process. Make sure no other debugger traces this process. +Check the settings of +/proc/sys/kernel/yama/ptrace_scope +For more details, see /etc/sysctl.d/10-ptrace.conf + + ptrace: 操作が許可されていません。 + +プロセスにアタッチできません。プロセスが、他のデバッガによってトレースされていないか確認して下さい。 +/proc/sys/kernel/yama/ptrace_scope の設定を確認して下さい。 +詳細は /etc/sysctl.d/10-ptrace.conf を参照して下さい + + + + ptrace: Operation not permitted. + +Could not attach to the process. Make sure no other debugger traces this process. +If your uid matches the uid +of the target process, check the settings of +/proc/sys/kernel/yama/ptrace_scope +For more details, see /etc/sysctl.d/10-ptrace.conf + + ptrace: 操作が許可されていません。 + +プロセスにアタッチできません。プロセスが、他のデバッガによってトレースされていないか確認して下さい。 +もしもあなたの UID が対象のプロセスの UID と一致していたら +/proc/sys/kernel/yama/ptrace_scope の設定を確認して下さい。 +詳細は /etc/sysctl.d/10-ptrace.conf を参照して下さい + + + + ptrace: Operation not permitted. + Could not attach to the process. Check the settings of /proc/sys/kernel/yama/ptrace_scope For more details, see/etc/sysctl.d/10-ptrace.conf - ptrace: 操作が許可されていません。 + ptrace: 操作が許可されていません。 プロセスにアタッチできません。 /proc/sys/kernel/yama/ptrace_scope の設定を確認して下さい。 @@ -23825,7 +25262,7 @@ of the target process, check the settings of /proc/sys/kernel/yama/ptrace_scope For more details, see/etc/sysctl.d/10-ptrace.conf - ptrace: 操作が許可されていません。 + ptrace: 操作が許可されていません。 プロセスにアタッチできません。もしもあなたの UID が対象のプロセスの UID と一致していたら /proc/sys/kernel/yama/ptrace_scope の設定を確認して下さい。 @@ -24033,7 +25470,11 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. Tool chain: - ツールチェイン: + ツールチェイン: + + + Compiler: + コンパイラ: @@ -24099,7 +25540,7 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. Remove invalid Qt Versions - 不正な Qt バージョンの削除 + 不正な Qt バージョンの削除 Do you want to remove all invalid Qt Versions?<br><ul><li>%1</li></ul><br>will be removed. @@ -24107,11 +25548,11 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. No tool chain can produce code for this Qt version. Please define one or more tool chains. - この Qt バージョンのコードを生成できるツールチェインがありません。1つ以上のツールチェインを定義して下さい。 + この Qt バージョンのコードを生成できるツールチェインがありません。1つ以上のツールチェインを定義して下さい。 Not all possible target environments can be supported due to missing tool chains. - ツールチェインが不足している為、いくつかのターゲット環境がサポートできません。 + ツールチェインが不足している為、いくつかのターゲット環境がサポートできません。 Building helpers @@ -24121,17 +25562,41 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. Debugging Helper Build Log for '%1' '%1' 用のデバッグヘルパのビルドログ + + Select a qmake Executable + qmake 実行ファイルの選択 + + + Qt Version Already Registered + Qt バージョンは既に登録済み + + + This Qt version was already registered as "%1". + このバージョンの Qt は、"%1"として既に登録済みです。 + Select a qmake executable qmake 実行ファイルの選択 + + Qt known + 既知の Qt + + + Incompatible Qt Versions + 非互換 Qt バージョン + + + The Qt version selected must be for the same target. + 選択されている Qt バージョンは同じターゲットに対するものでなければなりません。 + Qt versions incompatible - 互換性のない Qt バージョン + 互換性のない Qt バージョン The qt version selected must be for the same target. - 選択されている Qt バージョンは同じターゲットに対するものでなければなりません。 + 選択されている Qt バージョンは同じターゲットに対するものでなければなりません。 Helpers: None available @@ -24158,17 +25623,29 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. Qt version %1 for %2 %2 向け Qt バージョン %1 + + Remove Invalid Qt Versions + 不正な Qt バージョンの削除 + + + No compiler can produce code for this Qt version. Please define one or more compilers. + この Qt バージョンのコードを生成できるコンパイラがありません。1つ以上のコンパイラを定義して下さい。 + + + Not all possible target environments can be supported due to missing compilers. + コンパイラが不足している為、いくつかのターゲット環境をサポートできません。 + The following ABIs are currently not supported:<ul><li>%1</li></ul> 次の ABI は未サポートです:<ul><li>%1</li></ul> S60 SDK: - S60 SDK: + S60 SDK: SBS v2 directory: - SBS v2 ディレクトリ: + SBS v2 ディレクトリ: @@ -24217,7 +25694,7 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. QtSupport::QtVersionManager MinGW from %1 - %1 の MinGW + %1 の MinGW @@ -24262,13 +25739,25 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. The default mkspec symlink is broken. デフォルトの mkspec リンクが壊れています。 + + ABI detection failed: Make sure to use a matching compiler when building. + ABI 検出失敗: ビルド時は適切なコンパイラを使用して下さい。 + + + Non-installed -prefix build - for internal development only. + + Failed to detect the ABI(s) used by the Qt version. Qt バージョンが使用している ABI の認識に失敗しました。 ABI detection failed: Make sure to use a matching tool chain when building. - ABI 検出失敗: ビルド時は適切なツールチェインを使用して下さい。 + ABI 検出失敗: ビルド時は適切なツールチェインを使用して下さい。 + + + No qmlscene installed. + qmlscene がインストールされていません。 No qmlviewer installed. @@ -24276,11 +25765,11 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. The "Open C/C++ plugin" is not installed in the Symbian SDK or the Symbian SDK path is misconfigured - Symbian SDK に "Open C/C++ プラグイン" がインストールされていないか、Symbian SDK のパス設定に誤りがあります + Symbian SDK に "Open C/C++ プラグイン" がインストールされていないか、Symbian SDK のパス設定に誤りがあります SBS was not found. - SBS が見つかりません。 + SBS が見つかりません。 Desktop @@ -24290,7 +25779,7 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. Symbian Qt Version is meant for Symbian - Symbian + Symbian Maemo @@ -24305,7 +25794,7 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. MeeGo Qt Version is meant for MeeGo - MeeGo + MeeGo Meego @@ -24474,24 +25963,24 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. Preparing remote side... - リモート側を準備しています... + リモート側を準備しています... Remote application failed with exit code %1. - リモートアプリケーションは終了コード %1 で失敗しました。 + リモートアプリケーションは終了コード %1 で失敗しました。 The gdbserver process closed unexpectedly. - gdbserver プロセスは予期せず終了しました。 + gdbserver プロセスは予期せず終了しました。 Initial setup failed: %1 - 初回セットアップ失敗: %1 + 初回セットアップ失敗: %1 Not enough free ports on device for debugging. - デバイスをデバッグするのに十分な空きポートがありません。 + デバイスをデバッグするのに十分な空きポートがありません。 @@ -24505,13 +25994,13 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. Starting remote process... - リモートプロセスを起動しています... + リモートプロセスを起動しています... Finished running remote process. Exit code was %1. - 実行中のリモートプロセスが終了しました。終了コードは %1 です。 + 実行中のリモートプロセスが終了しました。終了コードは %1 です。 @@ -24534,7 +26023,7 @@ Requires Qt 4.7.4 or newer, and the component set installed for your Qt version. RemoteLinux::DeployableFilesPerProFile <no target path set> - <ターゲットパス未設定> + <ターゲットパス未設定> Local File Path @@ -24786,15 +26275,15 @@ Do you want to add them to the project?</html> RemoteLinux::Internal::LinuxDeviceFactorySelectionDialog Start Wizard - ウィザード開始 + ウィザード開始 Device Configuration Wizard Selection - デバイス構成ウィザードを選択 + デバイス構成ウィザードを選択 Available device types: - 使用可能なデバイスタイプ: + 使用可能なデバイスタイプ: @@ -25252,7 +26741,7 @@ Is the device connected and set up for network access? Create RPM Package - RPM パッケージの作成 + RPM パッケージの作成 Create tarball @@ -26084,16 +27573,20 @@ We will try to work around that, but you may experience problems. RemoteLinux::RemoteLinuxRunConfiguration The .pro file is being parsed. - .pro ファイルをパースします。 + .pro ファイルをパースします。 The .pro file could not be parsed. - .pro ファイルはパースできません。 + .pro ファイルはパースできません。 No device configuration set. デバイス構成が設定されていません。 + + The .pro file '%1' is being parsed. + .pro ファイル '%1' をパースしています。 + No active build configuration. アクティブなビルド構成がありません。 @@ -26134,15 +27627,15 @@ We will try to work around that, but you may experience problems. <a href="%1">Manage device configurations</a> - <a href="%1">デバイス構成の管理</a> + <a href="%1">デバイス構成の管理</a> <a href="%1">Set Debugger</a> - <a href="%1">デバッガの設定</a> + <a href="%1">デバッガの設定</a> Device configuration: - デバイス構成: + デバイス構成: Executable on host: @@ -26235,13 +27728,29 @@ We will try to work around that, but you may experience problems. &Redo やり直す(&R) + + Recheck existence of referenced files + 参照先ファイルの存在再確認 + ResourceEditor::Internal::ResourceEditorW + + Open File + ファイルを開く + Open With エディタを指定して開く + + Rename File... + ファイル名を変更... + + + Copy Resource Path to Clipboard + リソースのパスをクリップボードにコピー + untitled 無題 @@ -26377,51 +27886,51 @@ Previous Qt versions have limitations in building suitable SIS files. SharedTools::QrcEditor Add Files - ファイルを追加 + ファイルを追加 Add Prefix - プレフィックスを追加 + プレフィックスを追加 Copy - コピー + コピー Skip - スキップ + スキップ Choose Copy Location - コピー先を選択して下さい + コピー先を選択して下さい Overwriting Failed - 上書き失敗 + 上書き失敗 Copying Failed - コピー失敗 + コピー失敗 Abort - 中止する + 中止する Invalid file location - 不正なファイルパス + 不正なファイルパス The file %1 is not in a subdirectory of the resource file. You now have the option to copy this file to a valid location. - %1 はリソースサブディレクトリ配下にありません。有効なパスになるよう、ファイルをコピーしてくる事もできます。 + %1 はリソースサブディレクトリ配下にありません。有効なパスになるよう、ファイルをコピーしてくる事もできます。 Could not overwrite file %1. - ファイル %1 を上書きできませんでした。 + ファイル %1 を上書きできませんでした。 Could not copy the file to %1. - ファイル %1 をコピーできませんでした。 + ファイル %1 をコピーできませんでした。 @@ -26452,7 +27961,7 @@ Previous Qt versions have limitations in building suitable SIS files. Open File - ファイルを開く + ファイルを開く Input prefix: @@ -26460,7 +27969,7 @@ Previous Qt versions have limitations in building suitable SIS files. All files (*) - すべてのファイル (*) + すべてのファイル (*) Change Prefix @@ -26566,27 +28075,27 @@ with a password, which you can enter below. StackHandler Address: - アドレス: + アドレス: Function: - 関数: + 関数: File: - ファイル: + ファイル: Line: - 行番号: + 行番号: From: - From: + From: To: - To: + To: @@ -26744,19 +28253,19 @@ with a password, which you can enter below. StatusDisplay No QML events recorded - QML イベントの記録なし + QML イベントの記録なし Profiling application - アプリケーションをプロファイリング + アプリケーションをプロファイリング Loading data - データ読み込み中 + データ読み込み中 Application stopped before loading all data - アプリケーションはすべてのデータを読み込む前に停止しました + アプリケーションはすべてのデータを読み込む前に停止しました @@ -26931,6 +28440,18 @@ with a password, which you can enter below. Project Status プロジェクトの状態 + + Meta+S,Meta+D + Meta+S,Meta+D + + + Meta+S,Meta+A + Meta+S,Meta+A + + + Meta+S,Meta+C + Meta+S,Meta+C + Delete... 削除... @@ -27094,59 +28615,59 @@ with a password, which you can enter below. SymbianUtils::VirtualSerialDevice Port not found - ポートが見つかりません + ポートが見つかりません Port in use - ポートが使用されています + ポートが使用されています Timed out - タイムアウトしました + タイムアウトしました Port unreachable - ポートに到達できません + ポートに到達できません The port %1 could not be opened: %2 - ポート %1 を開けませんでした: %2 + ポート %1 を開けませんでした: %2 An error occurred while waiting for read notifications from %1: %2 - %1 からの読込通知の待機中にエラーが発生しました: %2 + %1 からの読込通知の待機中にエラーが発生しました: %2 An error occurred while reading from %1: %2 - %1 からの読込中にエラーが発生しました: %2 + %1 からの読込中にエラーが発生しました: %2 An error occurred while writing to %1: %2 - %1 への書込中にエラーが発生しました: %2 + %1 への書込中にエラーが発生しました: %2 An error occurred while syncing on waitForBytesWritten for %1: %2 - %1 の waitForBytesWritten の同期中にエラーが発生しました: %2 + %1 の waitForBytesWritten の同期中にエラーが発生しました: %2 The port %1 could not be opened: %2 (POSIX error %3) - ポート %1 を開けませんでした: %2 (POSIX エラー %3) + ポート %1 を開けませんでした: %2 (POSIX エラー %3) Unable to retrieve terminal settings of port %1: %2 (POSIX error %3) - ポート %1 の端末設定を取得できませんでした: %2 (POSIX エラー %3) + ポート %1 の端末設定を取得できませんでした: %2 (POSIX エラー %3) Unable to apply terminal settings to port %1: %2 (POSIX error %3) - ポート %1 に端末設定を適用できませんでした: %2 (POSIX エラー %3) + ポート %1 に端末設定を適用できませんでした: %2 (POSIX エラー %3) Cannot write to port %1: %2 (POSIX error %3) - ポート %1 に書き込みできませんでした: %2 (POSIX エラー %3) + ポート %1 に書き込みできませんでした: %2 (POSIX エラー %3) The function select() returned an error on port %1: %2 (POSIX error %3) - ポート %1 で select() 関数がエラーを返しました: %2 (POSIX エラー %3) + ポート %1 で select() 関数がエラーを返しました: %2 (POSIX エラー %3) @@ -27160,7 +28681,11 @@ with a password, which you can enter below. TargetSettingsPanelFactory Targets - ターゲット + ターゲット + + + Build & Run + ビルドと実行 @@ -27282,6 +28807,14 @@ with a password, which you can enter below. Select Encoding 文字コードを選択して下さい + + Delete UTF-8 BOM on Save + 保存時に UTF-8 BOM を削除 + + + Add UTF-8 BOM on Save + 保存時に UTF-8 BOM を追加 + The text is too large to be displayed (%1 MB). 表示するにはテキストが大きすぎます (%1 MB)。 @@ -27805,6 +29338,14 @@ Please check the directory's access rights. General その他 + + Creates a scratch buffer using a temporary file. + 一時ファイルを使ってスクラッチバッファを作成します。 + + + Scratch Buffer + スクラッチバッファ + Triggers a completion in this scope スコープ内で補完する場合のトリガー @@ -28028,15 +29569,15 @@ Influences the indentation of continuation lines. Meta - Meta + Meta Ctrl - Ctrl + Ctrl %1+E, R - %1+E, R + %1+E, R &Visualize Whitespace @@ -28124,11 +29665,11 @@ Influences the indentation of continuation lines. %1+E, %2+V - %1+E, %2+V + %1+E, %2+V %1+E, %2+W - %1+E, %2+W + %1+E, %2+W Toggle Comment &Selection @@ -28154,6 +29695,30 @@ Influences the indentation of continuation lines. Delete Word Camel Case Up To The Cursor カーソル位置までの単語のキャメルケースを削除 + + Meta+E, R + Meta+E, R + + + Ctrl+E, R + Ctrl+E, R + + + Meta+E, Meta+V + Meta+E, Meta+V + + + Ctrl+E, Ctrl+V + Ctrl+E, Ctrl+V + + + Meta+E, Meta+W + Meta+E, Meta+W + + + Ctrl+E, Ctrl+W + Ctrl+E, Ctrl+W + Ctrl+< Ctrl+< @@ -28182,6 +29747,10 @@ Influences the indentation of continuation lines. Ctrl+- Ctrl+- + + Meta+0 + Meta+0 + Ctrl+[ Ctrl+[ @@ -28282,6 +29851,10 @@ Influences the indentation of continuation lines. Alt+Shift+U Alt+Shift+U + + Meta+Shift+U + Meta+Shift+U + Lowercase Selection 選択範囲を小文字にする @@ -28290,6 +29863,10 @@ Influences the indentation of continuation lines. Alt+U Alt+U + + Meta+U + Meta+U + Paste from Clipboard History クリップボード履歴から貼り付け @@ -28306,6 +29883,14 @@ Influences the indentation of continuation lines. Unindent インデント解除 + + Follow Symbol Under Cursor + カーソル位置のシンボルの定義へ移動する + + + Jump To File Under Cursor + カーソル位置のファイルへ移動する + Go to Line Start 行頭に移動 @@ -28477,174 +30062,372 @@ Influences the indentation of continuation lines. Text テキスト + + Generic text. +Applied to text, if no other rules matching. + テキスト全般です。 +他のルールにマッチしないものを、テキストとして扱います。 + Link リンク + + Links that follow symbol under cursor. + カーソル位置のシンボルの定義へのリンクです。 + Selection 選択した部分 + + Selected text. + テキストを選択します。 + Line Number 行番号 + + Line numbers located on the left side of the editor. + エディタの左側に配置される行番号です。 + Search Result 検索結果 + + Highlighted search results inside the editor. + エディタ内で検索結果を強調表示します。 + Search Scope 検索範囲 + + Section where the pattern is searched in. + 検索したパターン内のセクションです。 + Parentheses 括弧 + + Displayed when matching parentheses, square brackets or curly brackets are found. + 対応する括弧や鍵括弧、波括弧が見つかった時に表示されます。 + Current Line - カーソル行 + 現在行 + + + Line where the cursor is placed in. + カーソルの存在する行です。 Current Line Number 現在の行番号 + + Line number located on the left side of the editor where the cursor is placed in. + カーソルが存在するエディタの左側に配置される行番号です。 + Occurrences - ローカル変数 + 出現箇所 + + + Occurrences of the symbol under the cursor. +(Only the background will be applied.) + カーソルの位置にあるシンボルの出現箇所です。 +(バックグラウンドにだけ適用されます。) Unused Occurrence - 未使用のローカル変数 + 未使用変数の出現箇所 + + + Occurrences of unused variables. + 未使用の変数の出現箇所です。 Renaming Occurrence - 改名中のローカル変数 + 名前変更中シンボルの出現箇所 + + + Occurrences of a symbol that will be renamed. + 名前を変更しようとしているシンボルの出現箇所です。 Number 番号 + + Number literal. + 数字リテラルです。 + String 文字列 + + Character and string literals. + 文字と文字列リテラルです。 + Type - タイプ + + + + Name of a type. + 型名です。 Local - ローカル + ローカル変数 + + + Local variables. + ローカル変数です。 Field フィールド + + Class' data members. + クラスのデータメンバです。 + + + Enumeration + Enum + + + Applied to Enumeration Items. + Enum のアイテムに適用されます。 + + + Function + 関数 + + + Name of a function. + 関数名です。 + + + QML item id within a QML file. + QML ファイル内の QML アイテム IDです。 + + + QML root Object Property + QML ルートオブジェクトプロパティ + + + QML property of a parent item. + 親アイテムの QML プロパティです。 + + + QML scope Object Property + QML スコープオブジェクトプロパティ + + + Property of the same QML item. + 同じ QML アイテムのプロパティです。 + Static - static + static Virtual Method 仮想メソッド + + Name of method declared as virtual. + virtual 宣言されているメソッドの名前です。 + QML Binding QML バインディング + + QML item property, that allows a binding to another property. + 別のプロパティにバインド可能な QML アイテムのプロパティです。 + QML Local Id QML ローカルID QML Root Object Property - QML ルートオブジェクトプロパティ + QML ルートオブジェクトプロパティ QML Scope Object Property - QML スコープオブジェクトプロパティ + QML スコープオブジェクトプロパティ QML State Name QML 状態名 + + Name of a QML state. + QML の状態名です。 + QML Type Name QML 型名 + + Name of a QML type. + QML の型名です。 + QML External Id QML 外部ID + + QML id defined in another QML file. + 別の QML ファイルで定義されている QML ID です。 + QML External Object Property QML 外部オブジェクトプロパティ + + QML property defined in another QML file. + 別の QML ファイルで定義されている QML プロパティです。 + JavaScript Scope Var JavaScript スコープ変数 + + Variables defined inside the JavaScript file. + JavaScript ファイル内で定義されている変数です。 + JavaScript Import JavaScript Import + + Name of a JavaScript import inside a QML file. + QML ファイル内でインポートされている JavaScript の名前です。 + JavaScript Global Variable JavaScript グローバル変数 + + Variables defined outside the script. + 外部のスクリプトで定義されている変数です。 + Keyword キーワード + + Reserved keywords of the programming language. + プログラム言語によって予約されているキーワードです。 + Operator 演算子 + + Operators. (for example operator++ operator-=) + オペレータです。(例えば ++ オペレータや -= オペレータ) + Preprocessor プリプロセッサ + + Preprocessor directives. + プリプロセッサです。 + Label ラベル + + Labels for goto statements. + goto ステートメントのラベルです。 + Comment コメント + + All style of comments except Doxygen comments. + すべてのコメントは Doxgen のコメントスタイルである必要があります。 + Doxygen Comment Doxygen 用コメント + + Doxygen comments. + Doxygen 用のコメントです。 + Doxygen Tag Doxygen 用タグ + + Doxygen tags + Doxygen 用のタグです + Visual Whitespace 空白の可視化 + + Whitespace +Will not be applied to whitespace in comments and strings. + 空白です。 +コメントや文字列内の空白には適用されません。 + Disabled Code 無効化されたコード + + Code disabled by preprocessor directives. + プリプロセッサによって無効化されたコードです。 + Added Line 追加した行 + + Applied to added lines in differences (in diff editor). + 差異のある行のうち、追加された行に適用されます (差分エディタ)。 + Removed Line 削除した行 + + Applied to removed lines in differences (in diff editor). + 差異のある行のうち、削除された行に適用されます (差分エディタ)。 + Diff File 差分ファイル + + Compared files (in diff editor). + 比較しているファイルです (差分エディタ)。 + Diff Location 差異のある行 + + Location in the files where the difference is (in diff editor). + ファイル内の差異のある行です (差分エディタ)。 + Behavior 動作 @@ -28902,7 +30685,7 @@ Influences the indentation of continuation lines. Cannot start the terminal emulator '%1'. - 端末エミュレータ '%1' を起動できません。 + ターミナルエミュレータ '%1' を起動できません。 Cannot create socket '%1': %2 @@ -29100,79 +30883,79 @@ Influences the indentation of continuation lines. Utils::Internal::SftpChannelPrivate Server could not start sftp subsystem. - サーバーは sftp サブシステムを開始できませんでした。 + サーバーは sftp サブシステムを開始できませんでした。 Unexpected packet of type %1. - 予期しないパケット型 %1 です。 + 予期しないパケット型 %1 です。 Protocol version mismatch: Expected %1, got %2 - プロトコルバージョン不一致: 期待するバージョン: %1、実際のバージョン: %2 + プロトコルバージョン不一致: 期待するバージョン: %1、実際のバージョン: %2 Unknown error. - 不明なエラーです。 + 不明なエラーです。 Created remote directory '%1'. - リモートディレクトリ '%1' を作成しました。 + リモートディレクトリ '%1' を作成しました。 Remote directory '%1' already exists. - リモートディレクトリ '%1' は既に存在しています。 + リモートディレクトリ '%1' は既に存在しています。 Error creating directory '%1': %2 - ディレクトリ '%1' 作成中にエラー :%2 + ディレクトリ '%1' 作成中にエラー :%2 Could not open local file '%1': %2 - ローカルファイル '%1' を開けませんでした: %2 + ローカルファイル '%1' を開けませんでした: %2 Remote directory could not be opened for reading. - リモートディレクトリを読み取る為に開く事ができませんでした。 + リモートディレクトリを読み取る為に開く事ができませんでした。 Failed to list remote directory contents. - リモートディレクトリ内の一覧取得に失敗しました。 + リモートディレクトリ内の一覧取得に失敗しました。 Failed to close remote directory. - リモートディレクトリを閉じるのに失敗しました。 + リモートディレクトリを閉じるのに失敗しました。 Failed to open remote file for reading. - リモートファイルを読み取る為に開くのに失敗しました。 + リモートファイルを読み取る為に開くのに失敗しました。 Failed retrieve information on the remote file ('stat' failed). - リモートファイルの情報を取得するのに失敗しました ('stat' 失敗)。 + リモートファイルの情報を取得するのに失敗しました ('stat' 失敗)。 Failed to read remote file. - リモートファイルの読み取りに失敗しました。 + リモートファイルの読み取りに失敗しました。 Failed to close remote file. - リモートファイルを閉じるのに失敗しました。 + リモートファイルを閉じるのに失敗しました。 Failed to open remote file for writing. - リモートファイルを書き込む為に開くのに失敗しました。 + リモートファイルを書き込む為に開くのに失敗しました。 Failed to write remote file. - リモートファイルの書き込みに失敗しました。 + リモートファイルの書き込みに失敗しました。 Cannot append to remote file: Server does not support the file size attribute. - リモートファイルに追記できません: サーバーがファイルサイズ属性をサポートしていません。 + リモートファイルに追記できません: サーバーがファイルサイズ属性をサポートしていません。 Server could not start session: %1 - サーバーはセッションを開始できませんでした: %1 + サーバーはセッションを開始できませんでした: %1 Server could not start session. @@ -29180,37 +30963,37 @@ Influences the indentation of continuation lines. Error reading local file: %1 - ローカルファイルの読み込み中にエラー: %1 + ローカルファイルの読み込み中にエラー: %1 Utils::Internal::SshChannelManager Invalid channel id %1 - %1 は無効なチャネルIDです + %1 は無効なチャネルIDです Utils::Internal::SshConnectionPrivate SSH Protocol error: %1 - SSH プロトコルエラー: %1 + SSH プロトコルエラー: %1 Botan library exception: %1 - Botan ライブラリ例外: %1 + Botan ライブラリ例外: %1 Invalid protocol version: Expected '2.0', got '%1'. - 無効なプロトコルバージョン: '2.0' を期待しているのに、'%1' でした。 + 無効なプロトコルバージョン: '2.0' を期待しているのに、'%1' でした。 Invalid server id '%1'. - '%1' は無効なサーバーIDです。 + '%1' は無効なサーバーIDです。 Unexpected packet of type %1. - 予期していない %1 型のパケットです。 + 予期していない %1 型のパケットです。 Private key error: %1 @@ -29218,39 +31001,39 @@ Influences the indentation of continuation lines. Password expired. - パスワードが有効期限切れです。 + パスワードが有効期限切れです。 Server rejected password. - サーバーがパスワードを拒否しました。 + サーバーがパスワードを拒否しました。 Server rejected key. - サーバーが鍵を拒否しました。 + サーバーが鍵を拒否しました。 The server sent an unexpected SSH packet of type SSH_MSG_UNIMPLEMENTED. - サーバーが SSH_MSG_UNIMPLEMENTED タイプの予期しない SSH パケットを送信してきました。 + サーバーが SSH_MSG_UNIMPLEMENTED タイプの予期しない SSH パケットを送信してきました。 Server closed connection: %1 - サーバーから切断されました: %1 + サーバーから切断されました: %1 Connection closed unexpectedly. - 予期せず切断されました。 + 予期せず切断されました。 Timeout waiting for reply from server. - サーバーからの応答を待機中にタイムアウトしました。 + サーバーからの応答を待機中にタイムアウトしました。 No private key file given. - 秘密鍵ファイルがありません。 + 秘密鍵ファイルがありません。 Private key file error: %1 - 秘密鍵ファイルエラー: %1 + 秘密鍵ファイルエラー: %1 @@ -29454,6 +31237,10 @@ Influences the indentation of continuation lines. Introduction and Project Location プロジェクト名とパス + + Project: + プロジェクト: + Utils::ProjectNameValidatingLineEdit @@ -29749,6 +31536,26 @@ Influences the indentation of continuation lines. Bazaar Commit Log Editor Bazaar コミットログエディタ + + ClearCase Check In Editor + ClearCase チェックインエディタ + + + ClearCase Command Log Editor + ClearCase コマンドログエディタ + + + ClearCase File Log Editor + ClearCase ファイルログエディタ + + + ClearCase Annotation Editor + ClearCase アノテーションエディタ + + + ClearCase Diff Editor + ClearCase 差分 エディタ + VcsBase @@ -29756,9 +31563,13 @@ Influences the indentation of continuation lines. Version Control バージョン管理システム + + General + 概要 + Common - 共通 + 共通 Project from Version Control @@ -29869,9 +31680,15 @@ Influences the indentation of continuation lines. Repository: %1 リポジトリ: %1 + + %n bytes, last modified %1 + + %n bytes、最終更新日時 %1 + + %1 bytes, last modified %2 - %1 bytes、最終更新日時 %2 + %1 bytes、最終更新日時 %2 Delete @@ -30205,7 +32022,7 @@ Influences the indentation of continuation lines. Configure... - 構成... + 構成... @@ -30527,12 +32344,16 @@ Influences the indentation of continuation lines. Cycle Detection - 循環検出 + 循環検出 Enable cycle detection to properly handle recursive or circular function calls. 関数の再帰または循環呼び出しを正しく処理させるには循環検出を有効にして下さい。 + + This removes template parameter lists when displaying function names. + 関数名を表示する時に、テンプレートパラメータを削除します。 + Show Project Costs Only プロジェクトコストのみ表示 @@ -30821,6 +32642,10 @@ With cache simulation, further event counters are enabled: Visualisation: Minimum event cost: + 可視化: 最小イベントコスト: + + + Visualization: Minimum event cost: 可視化: 最小イベントコスト: @@ -30885,19 +32710,19 @@ With cache simulation, further event counters are enabled: Valgrind::Memcheck::MemcheckRunner No network interface found for remote analysis. - リモート解析用のネットワークインタフェースが見つかりません。 + リモート解析用のネットワークインタフェースが見つかりません。 Select Network Interface - ネットワークインタフェースの選択 + ネットワークインタフェースの選択 More than one network interface was found on your machine. Please select which one you want to use for remote analysis. - マシン上に複数のネットワークインタフェースが見つかりました。リモート解析で使用したいネットワークインタフェースを選択して下さい。 + マシン上に複数のネットワークインタフェースが見つかりました。リモート解析で使用したいネットワークインタフェースを選択して下さい。 No Network Interface was chosen for remote analysis - リモート解析用のネットワークインタフェースが選択されていません + リモート解析用のネットワークインタフェースが選択されていません @@ -31729,62 +33554,50 @@ p, li { white-space: pre-wrap; } QmlJsDebugClient::QmlProfilerEventList <bytecode> - <バイトコード> + <バイトコード> Source code not available - ソースコードが使用できません + ソースコードが使用できません <program> - <プログラム> + <プログラム> Main Program - Main プログラム - - - Animation Timer Update - - - - <Animation Update> - + Main プログラム No data to save - 保存データなし + 保存データなし Could not open %1 for writing - 書き込み用に %1 を開けません + 書き込み用に %1 を開けません Could not open %1 for reading - 読み込み用に %1 を開けません + 読み込み用に %1 を開けません Error while parsing %1 - %1 をパース中にエラー + %1 をパース中にエラー Invalid version of QML Trace file. - QML トレースファイルのバージョンが不正です。 - - - %1 animations at %2 FPS - + QML トレースファイルのバージョンが不正です。 Utils::Ssh Password Required - パスワードが必要です + パスワードが必要です Please enter the password for your private key. - 秘密鍵のパスワードを入力して下さい。 + 秘密鍵のパスワードを入力して下さい。 @@ -31899,6 +33712,14 @@ p, li { white-space: pre-wrap; } Open Terminal Here ここでターミナルを開く + + Deleting File Failed + ファイル削除に失敗 + + + Could not delete file %1. + ファイル %1 を削除できません。 + Show in Explorer... エクスプローラで表示... @@ -31931,26 +33752,26 @@ p, li { white-space: pre-wrap; } FunctionDeclDefLink Target file was changed, could not apply changes - ターゲットファイルが変更された為、変更内容を適用できません + ターゲットファイルが変更された為、変更内容を適用できません Apply changes to definition - 定義への変更を適用します + 定義への変更を適用します Apply changes to declaration - 宣言への変更を適用します + 宣言への変更を適用します Apply function signature changes - 関数シグネチャの変更を適用します + 関数シグネチャの変更を適用します Debugger::Internal::BaseWindow Adjust Column Widths to Contents - 内容に合わせて列幅を調整 + 内容に合わせて列幅を調整 @@ -32028,6 +33849,10 @@ p, li { white-space: pre-wrap; } Find::Internal::SearchResultWidget + + Search was canceled. + 検索はキャンセルされました。 + Cancel キャンセル @@ -32060,6 +33885,16 @@ p, li { white-space: pre-wrap; } Do not warn again 再度警告しない + + The search resulted in more than %n items, do you still want to continue? + + %n 件以上の検索結果がありますが、継続しますか? + + + + Continue + 続行 + No matches found. 見つかりませんでした。 @@ -32075,31 +33910,31 @@ p, li { white-space: pre-wrap; } Madde::Internal::MaddeDeviceConfigurationFactory Device with MADDE support (Fremantle, Harmattan, MeeGo) - MADDE をサポートしているデバイス (Fremantle, Harmattan, MeeGo) + MADDE をサポートしているデバイス (Fremantle, Harmattan, MeeGo) Maemo5/Fremantle - Maemo5/Fremantle + Maemo5/Fremantle MeeGo 1.2 Harmattan - MeeGo 1.2 Harmattan + MeeGo 1.2 Harmattan Other MeeGo OS - 他の MeeGo OS + 他の MeeGo OS Test - テスト + テスト Remote Processes... - リモートプロセス... + リモートプロセス... Deploy Public Key... - 公開鍵をデプロイ... + 公開鍵をデプロイ... Remote Processes @@ -32201,11 +34036,11 @@ p, li { white-space: pre-wrap; } Madde::Internal::AbstractMaddeUploadAndInstallPackageAction Cannot deploy: Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready. Please try again then. - デプロイ不可: Qemu が実行されていません。既に起動はされていますが、準備が完了するまでもう少し時間がかかります。後で、もう一度やり直して下さい。 + デプロイ不可: Qemu が実行されていません。既に起動はされていますが、準備が完了するまでもう少し時間がかかります。後で、もう一度やり直して下さい。 Cannot deploy: You want to deploy to Qemu, but it is not enabled for this Qt version. - デプロイ不可: Qemu をデプロイしようとしていますが、この Qt バージョンでは使用できません。 + デプロイ不可: Qemu をデプロイしようとしていますが、この Qt バージョンでは使用できません。 @@ -32223,22 +34058,22 @@ p, li { white-space: pre-wrap; } Madde::Internal::MeegoUploadAndInstallPackageStep No RPM package creation step found. - RPM パッケージ作成ステップが見つかりません。 + RPM パッケージ作成ステップが見つかりません。 Deploy RPM package via SFTP upload - SFTP アップロード経由で RPM パッケージをデプロイ + SFTP アップロード経由で RPM パッケージをデプロイ Madde::Internal::AbstractMaemoDeployByMountService Cannot deploy: Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready. Please try again then. - デプロイ不可: Qemu が実行されていません。既に起動はされていますが、準備が完了するまでもう少し時間がかかります。後で、もう一度やり直して下さい。 + デプロイ不可: Qemu が実行されていません。既に起動はされていますが、準備が完了するまでもう少し時間がかかります。後で、もう一度やり直して下さい。 Cannot deploy: You want to deploy to Qemu, but it is not enabled for this Qt version. - デプロイ不可: Qemu をデプロイしようとしていますが、この Qt バージョンでは使用できません。 + デプロイ不可: Qemu をデプロイしようとしていますが、この Qt バージョンでは使用できません。 Missing build configuration. @@ -32337,6 +34172,10 @@ p, li { white-space: pre-wrap; } MeeGo Device MeeGo デバイス + + %1 Device + %1 デバイス + WizardPage ウィザードページ @@ -32347,7 +34186,7 @@ p, li { white-space: pre-wrap; } The system running on the device: - デバイスのシステム: + デバイスのシステム: The kind of device: @@ -32427,9 +34266,13 @@ p, li { white-space: pre-wrap; } 指定されたディレクトリが存在しない為、鍵を作成できません。 - Creating keys... + Creating keys... 鍵を生成中... + + Creating keys... + 鍵を生成中... + Creating keys ... 鍵を生成中... @@ -32471,6 +34314,10 @@ p, li { white-space: pre-wrap; } Deploying... + デプロイ中... + + + Deploying... デプロイ中... @@ -32549,7 +34396,7 @@ p, li { white-space: pre-wrap; } Madde::Internal::AbstractMaemoInstallPackageToSysrootStep Cannot install to sysroot without build configuration. - ビルド構成なしでは sysroot にインストールできません。 + ビルド構成なしでは sysroot にインストールできません。 Cannot install package to sysroot without packaging step. @@ -32583,7 +34430,7 @@ p, li { white-space: pre-wrap; } Madde::Internal::MaemoInstallRpmPackageToSysrootStep Install RPM package to sysroot - sysroot に RPM パッケージをインストール + sysroot に RPM パッケージをインストール @@ -32724,11 +34571,11 @@ We will try to work around that, but you may experience problems. Madde::Internal::MaemoRpmPackageCreationStep Create RPM Package - RPM パッケージの作成 + RPM パッケージの作成 Packaging failed: Could not move package file from %1 to %2. - パッケージ作成失敗: パッケージファイルを %1 から %2 に移動できません。 + パッケージ作成失敗: パッケージファイルを %1 から %2 に移動できません。 @@ -32930,6 +34777,10 @@ We will try to work around that, but you may experience problems. Could not copy file '%1' to '%2': %3. ファイル '%1' を '%2' へコピーできません: %3。 + + Make distclean failed: %1 + Make distclean 失敗: %1 + Error: Failed to start dpkg-buildpackage. エラー: dpkg-buildpackage の起動に失敗しました。 @@ -33296,45 +35147,45 @@ stderr was: %1 Madde::Internal::MaemoSshRunner Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready. Please try again then. - Qemu が実行されていません。既に起動はされていますが、準備が完了するまでもう少し時間がかかります。後で、もう一度やり直して下さい。 + Qemu が実行されていません。既に起動はされていますが、準備が完了するまでもう少し時間がかかります。後で、もう一度やり直して下さい。 You want to run on Qemu, but it is not enabled for this Qt version. - Qemu を実行しようとしていますが、この Qt バージョンでは利用できません。 + Qemu を実行しようとしていますが、この Qt バージョンでは利用できません。 Mounting host directories... - ホスト側のディレクトリをマウント中... + ホスト側のディレクトリをマウント中... Potentially unmounting left-over host directory mounts... - 残っている可能性のあるホスト側ディレクトリのマウントを解除中... + 残っている可能性のあるホスト側ディレクトリのマウントを解除中... Unmounting host directories... - ホスト側ディレクトリのマウントを解除中... + ホスト側ディレクトリのマウントを解除中... Madde::Internal::MaemoToolChainFactory Maemo GCC - Maemo GCC + Maemo GCC Maemo GCC for %1 - %1 向け Maemo GCC + %1 向け Maemo GCC %1 GCC (%2) - %1 GCC (%2) + %1 GCC (%2) Madde::Internal::MaemoToolChainConfigWidget <html><head/><body><table><tr><td>Path to MADDE:</td><td>%1</td></tr><tr><td>Path to MADDE target:</td><td>%2</td></tr><tr><td>Debugger:</td/><td>%3</td></tr></body></html> - <html><head/><body><table><tr><td>MADDE のパス:</td><td>%1</td></tr><tr><td>MADDE ターゲットのパス:</td><td>%2</td></tr><tr><td>デバッガ:</td/><td>%3</td></tr></body></html> + <html><head/><body><table><tr><td>MADDE のパス:</td><td>%1</td></tr><tr><td>MADDE ターゲットのパス:</td><td>%2</td></tr><tr><td>デバッガ:</td/><td>%3</td></tr></body></html> @@ -33353,34 +35204,34 @@ stderr was: %1 Build RPM Package and Install to MeeGo Device - RPM パッケージをビルドし MeeGo デバイスにインストール + RPM パッケージをビルドし MeeGo デバイスにインストール Madde::Internal::AbstractQt4MaemoTarget Cannot open file '%1': %2 - ファイル '%1' を開けません: %2 + ファイル '%1' を開けません: %2 Add Packaging Files to Project - プロジェクトにパッケージファイルを追加 + プロジェクトにパッケージファイルを追加 <html>Qt Creator has set up the following files to enable packaging: %1 Do you want to add them to the project?</html> - <html>Qt Creator はパッケージを有効にする為、以下のファイルを準備しています: + <html>Qt Creator はパッケージを有効にする為、以下のファイルを準備しています: %1 これらをプロジェクトに追加しますか?</html> Qt Creator - Qt Creator + Qt Creator Do you want to remove the packaging files associated with the target '%1'? - ターゲット '%1' に関連付けられたパッケージファイルを削除しますか? + ターゲット '%1' に関連付けられたパッケージファイルを削除しますか? Do you want to remove the packaging file(s) associated with the target '%1'? @@ -33388,50 +35239,50 @@ Do you want to add them to the project?</html> Error creating packaging directory '%1'. - パッケージディレクトリ '%1' の作成中にエラーが発生しました。 + パッケージディレクトリ '%1' の作成中にエラーが発生しました。 Error creating MeeGo templates - MeeGo テンプレート作成中にエラー + MeeGo テンプレート作成中にエラー Madde::Internal::AbstractDebBasedQt4MaemoTarget Debian changelog file '%1' has unexpected format. - Debian チェンジログ '%1' が未知の形式です。 + Debian チェンジログ '%1' が未知の形式です。 Refusing to update changelog file: Already contains version '%1'. - changelog 更新中断: すでにバージョン '%1' で取り込まれています。 + changelog 更新中断: すでにバージョン '%1' で取り込まれています。 Cannot update changelog: Invalid format (no maintainer entry found). - changelog 更新不可: 不正な形式です(メンテナのエントリが見つかりません)。 + changelog 更新不可: 不正な形式です(メンテナのエントリが見つかりません)。 Invalid icon data in Debian control file. - Debian コントロールファイル内に無効なアイコンデータがあります。 + Debian コントロールファイル内に無効なアイコンデータがあります。 Could not read image file '%1'. - 画像ファイル '%1' を読み込めません。 + 画像ファイル '%1' を読み込めません。 Could not export image file '%1'. - 画像ファイル '%1' をエクスポートできません。 + 画像ファイル '%1' をエクスポートできません。 Unable to create Debian templates: No Qt version set. - Debian テンプレートを作成できません: Qt バージョンが設定されていません。 + Debian テンプレートを作成できません: Qt バージョンが設定されていません。 Unable to create Debian templates: dh_make failed (%1). - Debian テンプレートを作成できません: dh_make が失敗しました (%1)。 + Debian テンプレートを作成できません: dh_make が失敗しました (%1)。 Unable to create debian templates: dh_make failed (%1). - Debian テンプレートを作成できません: dh_make が失敗しました (%1)。 + Debian テンプレートを作成できません: dh_make が失敗しました (%1)。 Unable to create Debian templates: No Qt version set @@ -33447,7 +35298,7 @@ Do you want to add them to the project?</html> Unable to move new debian directory to '%1'. - 新しい Debian ディレクトリを '%1' に移動できません。 + 新しい Debian ディレクトリを '%1' に移動できません。 @@ -33502,19 +35353,9 @@ If you choose not to continue Qt Creator will not try to load the .shared file.< FindExportedCppTypes - - The type will only be available in Qt Creator's QML editors when the type name is a string literal - - - - The module URI cannot be determined by static analysis. The type will be available -globally in the QML editor. You can add a "// @uri My.Module.Uri" annotation to let -Qt Creator know about a likely URI. - - must be a string literal to be available in the QML editor - QML エディタ内では文字列リテラルでなければなりません + QML エディタ内では文字列リテラルでなければなりません @@ -33690,6 +35531,10 @@ Is the device connected and set up for network access? Failed to upload file '%1'. ファイル '%1' のアップロードが失敗しました。 + + Failed to set executable flag. + + Failed to upload file '%1': Could not open for reading. ファイル '%1' のアップロードが失敗しました: ファイルを読み込めませんでした。 @@ -33733,19 +35578,19 @@ Is the device connected and set up for network access? Generic Linux - 一般的な Linux + 一般的な Linux Test - テスト + テスト Remote Processes... - リモートプロセス... + リモートプロセス... Deploy Public Key... - 公開鍵をデプロイ... + 公開鍵をデプロイ... Remote Processes @@ -33760,7 +35605,7 @@ Is the device connected and set up for network access? RemoteLinux::LinuxDeviceConfigurations (default for %1) - (%1 向けのデフォルト) + (%1 向けのデフォルト) @@ -33771,59 +35616,59 @@ Is the device connected and set up for network access? Physical Device - 物理デバイス + 物理デバイス Emulator - エミュレータ + エミュレータ Linux Device Configurations - Linux デバイス構成 + Linux デバイス構成 &Configuration: - 構成(&C): + 構成(&C): General - 概要 + 概要 &Name: - 名前(&N): + 名前(&N): OS type: - OS: + OS: Device type: - デバイス種類: + デバイス種類: OS Type Specific - OS 固有 + OS 固有 &Add... - 追加(&A)... + 追加(&A)... &Remove - 削除(&R) + 削除(&R) Set As Default - デフォルトに設定 + デフォルトに設定 Click here if you do not have an SSH key yet. - SSH 鍵を持っていない場合、ここをクリックして下さい。 + SSH 鍵を持っていない場合、ここをクリックして下さい。 &Generate SSH Key... - SSH 鍵を生成(&G)... + SSH 鍵を生成(&G)... @@ -33932,49 +35777,49 @@ Is the device connected and set up for network access? RemoteLinux::AbstractRemoteLinuxApplicationRunner Cannot run: %1 - 実行不可: %1 + 実行不可: %1 Could not connect to host: %1 - ホストに接続できませんでした: %1 + ホストに接続できませんでした: %1 Connection error: %1 - 接続エラー: %1 + 接続エラー: %1 Killing remote process(es)... - リモートプロセスを kill しています... + リモートプロセスを kill しています... Initial cleanup failed: %1 - 初回クリーンアップが失敗: %1 + 初回クリーンアップが失敗: %1 Remote process started. - リモートプロセスを開始しました。 + リモートプロセスを開始しました。 Gathering ports failed: %1 Continuing anyway. - ポート情報収集失敗: %1 + ポート情報収集失敗: %1 継続します。 No remote executable set. - リモートの実行ファイルが設定されていません。 + リモートの実行ファイルが設定されていません。 No device configuration set. - デバイス構成が設定されていません。 + デバイス構成が設定されていません。 Connecting to device... - デバイスに接続中... + デバイスに接続中... Error running remote process: %1 - リモートプロセス実行中にエラー: %1 + リモートプロセス実行中にエラー: %1 @@ -34019,15 +35864,15 @@ Continuing anyway. Linux Devices - Linux デバイス + Linux デバイス Unknown OS - 未知の OS + 未知の OS (No device) - (デバイスなし) + (デバイスなし) @@ -34080,39 +35925,39 @@ Remote stderr was: '%1' RemoteLinux::RemoteLinuxProcessesDialog Remote Error - リモートエラー + リモートエラー RemoteLinux::AbstractRemoteLinuxProcessList PID - PID + PID Command Line - コマンドライン + コマンドライン Connection failure: %1 - 接続エラー: %1 + 接続エラー: %1 Error: Remote process failed to start: %1 - エラー: リモートプロセスの起動に失敗: %1 + エラー: リモートプロセスの起動に失敗: %1 Error: Remote process crashed: %1 - エラー: リモートプロセスがクラッシュ: %1 + エラー: リモートプロセスがクラッシュ: %1 Remote process failed. - リモートプロセスが失敗しました。 + リモートプロセスが失敗しました。 Remote stderr was: %1 - + リモート側標準エラー出力: %1 @@ -34120,31 +35965,31 @@ Remote stderr was: %1 RemoteLinux::Internal::LinuxDeviceConfigurationsSettingsPage Device Configurations - デバイス構成 + デバイス構成 RemoteLinux::RemoteLinuxUsedPortsGatherer Connection error: %1 - 接続エラー: %1 + 接続エラー: %1 Could not start remote process: %1 - リモートプロセスを開始できませんでした: %1 + リモートプロセスを開始できませんでした: %1 Remote process crashed: %1 - リモートプロセスがクラッシュしました: %1 + リモートプロセスがクラッシュしました: %1 Remote process failed; exit code was %1. - リモートプロセス失敗: 終了コードは %1 でした。 + リモートプロセス失敗: 終了コードは %1 でした。 Remote error output was: %1 - + リモート側のエラー出力: %1 @@ -34160,55 +36005,55 @@ Remote error output was: %1 SSH Key Configuration - SSH 鍵の設定 + SSH 鍵の設定 Options - オプション + オプション Key algorithm: - 鍵アルゴリズム: + 鍵アルゴリズム: &RSA - RSA(&R) + RSA(&R) &DSA - DSA(&D) + DSA(&D) Key &size: - 鍵サイズ(&S): + 鍵サイズ(&S): Private key file: - 秘密鍵ファイル: + 秘密鍵ファイル: Public key file: - 公開鍵ファイル: + 公開鍵ファイル: &Generate And Save Key Pair - 鍵ペアを生成し保存(&G) + 鍵ペアを生成し保存(&G) &Cancel - キャンセル(&C) + キャンセル(&C) Key Generation Failed - 鍵の生成に失敗 + 鍵の生成に失敗 Failure To Save Key File - 鍵ファイルの保存に失敗 + 鍵ファイルの保存に失敗 Failed to create directory: '%1'. - ディレクトリ '%1' の作成に失敗しました。 + ディレクトリ '%1' の作成に失敗しました。 @@ -34230,67 +36075,67 @@ Remote error output was: %1 RemoteLinux::StartGdbServerDialog Select Sysroot - Sysroot の選択 + Sysroot の選択 &Attach to Selected Process - 選択しているプロセスにアタッチ(&A) + 選択しているプロセスにアタッチ(&A) Close - 閉じる + 閉じる Device: - デバイス: + デバイス: Sysroot: - Sysroot: + Sysroot: &Filter by process name: - フィルタするプロセス名(&F): + フィルタするプロセス名(&F): List of Remote Processes - リモートプロセスの一覧 + リモートプロセスの一覧 Remote Error - リモートエラー + リモートエラー Process aborted - プロセスは中止しました + プロセスは中止しました Could not retrieve list of free ports: - 空きポートリストを取得できません: + 空きポートリストを取得できません: Connection error: %1 - 接続エラー: %1 + 接続エラー: %1 Starting gdbserver... - gdbserver 起動中... + gdbserver 起動中... Port %1 is now accessible. - ポート %1 が使用可能になりました。 + ポート %1 が使用可能になりました。 Server started on %1 - %1 でサーバーが開始されました + %1 でサーバーが開始されました Process gdbserver finished. Status: %1 - gdbserver プロセスは終了しました。 ステータス: %1 + gdbserver プロセスは終了しました。 ステータス: %1 Running command: %1 - コマンド実行中: %1 + コマンド実行中: %1 @@ -34348,7 +36193,11 @@ Remote error output was: %1 RemoteLinux::Internal::TypeSpecificDeviceConfigurationListModel (default) - (既定) + (既定) + + + %1 (default) + %1 (デフォルト) @@ -34450,9 +36299,13 @@ Remote error output was: %1 Code styles (*.xml);;All files (*) コードスタイル (*.xml);;すべてのファイル (*) + + Cannot import code style from %1 + %1 からコードスタイルをインポートできません + Cannot import code style - コードスタイルをインポートできません + コードスタイルをインポートできません Export Code Style @@ -34564,51 +36417,51 @@ Filter: %2 Analyzer::Internal::StartRemoteDialog Start Remote Analysis - リモート解析開始 + リモート解析開始 Remote - リモート + リモート Host: - ホスト: + ホスト: User: - ユーザー: + ユーザー: Port: - ポート: + ポート: You need to pass either a password or an SSH key. - パスワードまたは SSH 鍵のいずれかを渡す必要があります。 + パスワードまたは SSH 鍵のいずれかを渡す必要があります。 Password: - パスワード: + パスワード: Private key: - 秘密鍵: + 秘密鍵: Target - ターゲット + ターゲット Executable: - 実行ファイル: + 実行ファイル: Arguments: - 引数: + 引数: Working directory: - 作業ディレクトリ: + 作業ディレクトリ: @@ -34876,9 +36729,13 @@ p, li { white-space: pre-wrap; } Start Debugger デバッガ起動 + + Kit: + キット: + &Host: - ホスト(&H): + ホスト(&H): &Port: @@ -34886,7 +36743,7 @@ p, li { white-space: pre-wrap; } Sys&root: - sysroot(&R): + sysroot(&R): @@ -34943,6 +36800,34 @@ p, li { white-space: pre-wrap; } <unlimited> <無制限> + + Bring Qt Creator to foreground when application interrupts + アプリケーションに割り込みが発生した時に Qt Creator を前面にする + + + Show QML object tree in Locals & Expressions when connected and not stepping. + 接続中およびステップ実行時以外に、ローカル変数と式で QML オブジェクトツリーを表示します。 + + + Show QML object tree + QML オブジェクトツリーを表示 + + + Enable a full file path in breakpoints by default also for the GDB + + + + Breakpoints full path by default + + + + Stop when %1() is called + %1() が呼び出されたら停止する + + + Always add a breakpoint on the <i>%1()</i> function. + + Debugger::Internal::DebuggingHelperOptionPage @@ -34972,6 +36857,22 @@ p, li { white-space: pre-wrap; } Display thread names スレッド名を表示する + + Show 'std::' prefix for types from the standard library. + 標準ライブラリ内の型の 'std::' プレフィクスを表示します。 + + + Show "std::" namespace for types + 型の "std::" 名前空間を表示 + + + Show Qt namespace prefix for Qt types. This is only relevant if Qt was configured with '-qtnamespace'. + Qt 型に Qt 名前空間を表示します。Qt が '-qtnamespace' 付きで構成されている場合のみ、有効です。 + + + Show Qt's namespace for types + 型情報に Qt 名前空間を含める + Debugger::Internal::LldbOptionsPageWidget @@ -35222,7 +37123,7 @@ p, li { white-space: pre-wrap; } Qt4ProjectManager::Internal::S60CertificateDetailsDialog Details of Certificate - 証明書の詳細 + 証明書の詳細 @@ -35291,19 +37192,19 @@ p, li { white-space: pre-wrap; } Qt4ProjectManager::Internal::MobileAppWizardSymbianOptionsPage WizardPage - ウィザードページ + ウィザードページ Application icon (.svg): - アプリケーションアイコン (.svg): + アプリケーションアイコン (.svg): Target UID3: - ターゲット UID3: + ターゲット UID3: Enable network access - ネットワークアクセスの有効化 + ネットワークアクセスの有効化 @@ -35314,7 +37215,7 @@ p, li { white-space: pre-wrap; } Target UID3: - ターゲット UID3: + ターゲット UID3: Plugin's directory name: @@ -35322,7 +37223,7 @@ p, li { white-space: pre-wrap; } Enable network access - ネットワークアクセスの有効化 + ネットワークアクセスの有効化 @@ -35396,12 +37297,28 @@ p, li { white-space: pre-wrap; } Set as Default - デフォルトに設定 + デフォルトに設定 + + + Physical Device + 物理デバイス + + + Emulator + エミュレータ You will need at least one port. 最低でも1つのポートが必要です。 + + Create New... + 新規作成... + + + Machine type: + マシンタイプ: + RemoteLinux::Internal::GenericLinuxDeviceConfigurationWizardSetupPage @@ -35457,11 +37374,11 @@ p, li { white-space: pre-wrap; } Device configuration: - デバイス構成: + デバイス構成: <a href="irrelevant">Manage device configurations</a> - <a href="irrelevant">デバイス構成を管理</a> + <a href="irrelevant">デバイス構成を管理</a> These show the INSTALLS settings from the project file(s). @@ -35476,19 +37393,19 @@ p, li { white-space: pre-wrap; } RemoteLinux::Internal::RemoteLinuxProcessesDialog List of Remote Processes - リモートプロセスの一覧 + リモートプロセスの一覧 &Filter by process name: - フィルタするプロセス名(&F): + フィルタするプロセス名(&F): &Update List - 一覧を更新(&U) + 一覧を更新(&U) &Kill Selected Process - 選択されたプロセスを kill(&K) + 選択されたプロセスを kill(&K) @@ -35952,15 +37869,15 @@ Influences the indentation of continuation lines. Todo::Internal::AddKeywordDialog Keyword - キーワード + キーワード Icon - アイコン + アイコン Color - + @@ -36115,7 +38032,7 @@ should a repository require SSH-authentication (see documentation on SSH and the VcsBase::Internal::VcsConfigurationPage Configure... - 構成... + 構成... @@ -36179,13 +38096,25 @@ should a repository require SSH-authentication (see documentation on SSH and the IDE 概要 - To find out what kind of integrated enviroment (IDE) Qt Creator is. + To find out what kind of integrated environment (IDE) Qt Creator is. Qt Creator とはどんな統合開発環境 (IDE) なのかを調べます。 - To become familar with the parts of the Qt Creator user interface and to learn how to use them. + To become familiar with the parts of the Qt Creator user interface and to learn how to use them. Qt Creator のユーザーインタフェースに精通する事で、それらの使用方法を学びます。 + + Blogs + + + + To find out what kind of integrated enviroment (IDE) Qt Creator is. + Qt Creator とはどんな統合開発環境 (IDE) なのかを調べます。 + + + To become familar with the parts of the Qt Creator user interface and to learn how to use them. + Qt Creator のユーザーインタフェースに精通する事で、それらの使用方法を学びます。 + User Interface ユーザーインターフェース @@ -36200,7 +38129,7 @@ should a repository require SSH-authentication (see documentation on SSH and the Labs - ラボ + ラボ @@ -36220,9 +38149,13 @@ should a repository require SSH-authentication (see documentation on SSH and the 2D PAINTING EXAMPLE long description 2D描画サンプルの詳細な説明 + + The 2D Painting example shows how QPainter and QGLWidget work together. + 2D描画サンプルは QPainter と QGLWidget を連携して動かす方法を示しています。 + The 2D Painting example shows how QPainter and QGLWidget. The 2D Painting example shows how QPainter and QGLWidget work together. - 2D描画サンプルは QPainter と QGLWidget の使い方を示しています。2D描画サンプルは QPainter と QGLWidget をあわせて使う方法を示しています。 + 2D描画サンプルは QPainter と QGLWidget の使い方を示しています。2D描画サンプルは QPainter と QGLWidget をあわせて使う方法を示しています。 Tags: @@ -36518,7 +38451,7 @@ should a repository require SSH-authentication (see documentation on SSH and the %1 elements expected in array value - + 要素 %1 は配列で指定して下さい @@ -36526,12 +38459,12 @@ should a repository require SSH-authentication (see documentation on SSH and the The port seems to be in use. Error message shown after 'Could not connect ... debugger:" - ポートは既に使用されています。 + ポートは既に使用されています。 The application is not set up for QML/JS debugging. Error message shown after 'Could not connect ... debugger:" - アプリケーションは QML/JS デバッグの設定ができていません。 + アプリケーションは QML/JS デバッグの設定ができていません。 @@ -36565,30 +38498,30 @@ should a repository require SSH-authentication (see documentation on SSH and the Utils::SftpFileSystemModel File Type - ファイルの種類 + ファイルの種類 File Name - ファイル名 + ファイル名 Error getting 'stat' info about '%1': %2 - '%1' の 'stat' 情報取得時にエラー: %2 + '%1' の 'stat' 情報取得時にエラー: %2 Error listing contents of directory '%1': %2 - ディレクトリ '%1' の内容取得中にエラー :%2 + ディレクトリ '%1' の内容取得中にエラー :%2 Utils::Internal::SshRemoteProcessPrivate Process killed by signal - プロセスはシグナルで kill されました + プロセスはシグナルで kill されました Server sent invalid signal '%1' - サーバーが無効なシグナル '%1' を送信してきました + サーバーが無効なシグナル '%1' を送信してきました @@ -36597,84 +38530,163 @@ should a repository require SSH-authentication (see documentation on SSH and the AvahiZConfLib could not load the native library '%1': %2 AvahiZConfLib はネイティブライブラリ '%1' を読み込めませんでした: %2 + + %1 cannot create a client. The daemon is probably not running. + %1 はクライアントを作成できませんでした (おそらくデーモンが実行されていません)。 + + + cAvahiClient, server collision. + cAvahiClient, サーバーがコリジョン状態です。 + + + cAvahiClient, an error occurred on the client side. + cAvahiClient, クライアントサイドで何らかのエラーが発生しました。 + + + cAvahiClient, still connecting, no server available. + cAvahiClient, まだ接続中です、サーバーは使用できません。 + + + Unexpected state %1 in cAvahiClientReply. + cAvahiClientReply が予期しない状態 %1 です。 + + + Unexpected state %1 in cAvahiBrowseReply. + cAvahiBrowseReply が予期しない状態 %1 です。 + %1 could not create a client (probably the daemon is not running) - %1 はクライアントを作成できませんでした (おそらくデーモンが実行されていません) + %1 はクライアントを作成できませんでした (おそらくデーモンが実行されていません) cAvahiClient, server collision - cAvahiClient, サーバーがコリジョン状態です + cAvahiClient, サーバーがコリジョン状態です cAvahiClient, some kind of error happened on the client side - cAvahiClient, クライアントサイドで何らかのエラーが発生しました + cAvahiClient, クライアントサイドで何らかのエラーが発生しました cAvahiClient, still connecting, no server available - cAvahiClient, まだ接続中です、サーバーは使用できません + cAvahiClient, まだ接続中です、サーバーは使用できません Error: unexpected state %1 in cAvahiClientReply, ignoring it - エラー: cAvahiClientReply が予期しない状態 %1 ですが、無視します + エラー: cAvahiClientReply が予期しない状態 %1 ですが、無視します Error: unexpected state %1 in cAvahiBrowseReply, ignoring it - エラー: cAvahiBrowseReply が予期しない状態 %1 ですが、無視します + エラー: cAvahiBrowseReply が予期しない状態 %1 ですが、無視します - %1 failed starting embedded daemon at %2 - + %1 failed to kill other daemons with '%2'. + %1 は、'%2' で他のデーモンを kill できませんでした。 + + + %1 detected a file at /tmp/mdnsd, daemon startup will probably fail. + %1 は /tmp/mdnsd ファイルを検出しました。おそらく、デーモンは起動に失敗するでしょう。 + + + %1: log of previous daemon run is: '%2'. + + %1: デーモンの前の実行ログは '%2' です。 + + + %1 failed starting embedded daemon at %2. + %1 は、%2 で組み込み型デーモンの開始に失敗しました。 ZeroConf DnsSdZConfLib could not load native library - DnsSdZConfLib はネイティブライブラリを読み込めませんでした + DnsSdZConfLib はネイティブライブラリを読み込めませんでした MainConnection giving up on non Ok lib %1 (%2) - MainConnection は、不正なライブラリ (%1) によって中断されました (%2) + MainConnection は、不正なライブラリ (%1) によって中断されました (%2) MainConnection has no valid library, aborting connection - MainConnection は、不正なライブラリしかない為、接続を中止します + MainConnection は、不正なライブラリしかない為、接続を中止します MainConnection giving up on lib %1, switching to lib %2 - MainConnection は、不正なライブラリ (%1) によってライブラリ (%2) に切り替えられました + MainConnection は、不正なライブラリ (%1) によってライブラリ (%2) に切り替えられました - MainConnection giving up on lib %1, no fallback provided, aborting connection + could not load native library + ネイティブライブラリを読み込めませんでした + + + skipping over avahi compatibility lib (or obsolete mdnsd) + avahi 互換ライブラリ(または廃止された mdnsd )をスキップします + + + *WARNING* detected an obsolete version of Apple Bonjour, either disable/uninstall it or upgrade it, otherwise zeroconf will fail + *警告* サポートされていないバージョンの Apple Bonjour が検出されました。アップグレードするか、無効化/アンインストールしないと zeroconf は失敗します + + + Zeroconf could not load a valid library, failing. + Zeroconf が有効なライブラリを読み込めませんでした。 + + + Zeroconf giving up on non working %1 (%2). + Zeroconf は、%1 (%2) が動作しない為、中止します。 + + + Zeroconf has no valid library, aborting connection. + Zeroconf が有効なライブラリを読み込めなかった為、接続は中止されます。 + + + Zeroconf giving up on %1, switching to %2. + Zeroconf は %1 を中止し、%2 に切り替えます。 + + + Zeroconf giving up on %1, no fallback provided, aborting connection. + Zeroconf は %1 を中止します。フォールバックが提供されていない為、接続は中止します。 + + + Trying %1... + %1 を試行中... + + + Zeroconf using %1 failed the initialization of the main library connection with error %2. - MainConnection using lib %1 failed the initialization of mainRef with error %2 + Zeroconf using %1 failed because no daemon is running. - MainConnection using lib %1 failed because no daemon is running + Starting the Zeroconf daemon using %1 seems successful, continuing. - MainConnection using lib %1 daemon starting seem successful, continuing + Zeroconf using %1 failed getProperty call with error %2. - MainConnection using lib %1 failed getProperty call with error %2 + Succeeded using %1. + + + + MainConnection could successfully create a connection using %1. + MainConnection は、%1 が使用するコネクションを作成できました。 + + + Zeroconf, unexpected start status, aborting. - MainConnection::handleEvents called with m_status != Starting, aborting + Zeroconf detected an unexpected return status of handleEvent. - - MainConnection::handleEvents unexpected return status of handleEvent - - - - MainConnection for [%1] accumulated %2 consecutive errors, aborting - + + Zeroconf for [%1] accumulated %n consecutive errors, aborting. + + + @@ -36701,6 +38713,10 @@ should a repository require SSH-authentication (see documentation on SSH and the Analyzer アナライザ + + No analyzer tool selected + アナライザツールが選択されていません + Analyzer::AnalyzerRunConfigurationAspect @@ -36794,11 +38810,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Tool chain: - ツールチェイン: + ツールチェイン: <Invalid tool chain> - <無効なツールチェイン> + <無効なツールチェイン> @@ -36839,7 +38855,7 @@ should a repository require SSH-authentication (see documentation on SSH and the Desktop Autotools Default target display name - デスクトップ + デスクトップ @@ -36898,6 +38914,14 @@ should a repository require SSH-authentication (see documentation on SSH and the Make Make + + Qt Creator needs a compiler set up to build. Configure a compiler in the kit options. + Qt Creator は、ビルドする為にコンパイラの設定が必要です。キットオプションでコンパイラを構成して下さい。 + + + Configuration is faulty. Check the Issues view for details. + 構成は不完全です。詳細は、問題ビューで確認して下さい。 + AutotoolsProjectManager::Internal::MakeStepConfigWidget @@ -36912,11 +38936,15 @@ should a repository require SSH-authentication (see documentation on SSH and the <b>Unknown tool chain</b> - <b>不明なツールチェイン</b> + <b>不明なツールチェイン</b> BinEditorDocument + + The Binary Editor cannot open empty files. + バイナリエディタは空のファイルを開けません。 + Cannot open %1: %2 %1 を開けません: %2 @@ -36967,17 +38995,25 @@ should a repository require SSH-authentication (see documentation on SSH and the The file <i>%1</i> is read only. ファイル <i>%1</i> は読み取り専用です。 + + Make &Writable + 書き込み可能にする(&W) + + + &Save As... + 名前を付けて保存(&S)... + Open with VCS (%1) - バージョン管理システム (%1) で開く + バージョン管理システム (%1) で開く Make Writable - 書込可能にする + 書込可能にする Save As... - 名前を付けて保存... + 名前を付けて保存... Cannot reload %1 @@ -36988,7 +39024,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Core::IDocument File was restored from auto-saved copy. Use <i>Save</i> to confirm, or <i>Revert to Saved</i> to discard changes. - ファイルは自動保存したコピーから復元されました。よければ <i>保存</i>を、変更を元に戻すなら <i>保存時の状態に戻す</i> を選択して下さい。 + ファイルは自動保存したコピーから復元されました。よければ <i>保存</i>を、変更を元に戻すなら <i>保存時の状態に戻す</i> を選択して下さい。 + + + File was restored from auto-saved copy. Select Save to confirm or Revert to Saved to discard changes. + ファイルは自動保存したコピーから復元されました。変更を保存する場合は確認を、元に戻す場合は、保存時の状態に戻すを選択して下さい。 @@ -37046,6 +39086,10 @@ should a repository require SSH-authentication (see documentation on SSH and the Attempting to interrupt. 中断しようとしています。 + + Debug Information + デバッグ情報 + Debugger Test デバッガテスト @@ -37073,12 +39117,20 @@ should a repository require SSH-authentication (see documentation on SSH and the <a href="qthelp://com.nokia.qtcreator/doc/creator-debugging-qml.html">What are the prerequisites?</a> <a href="qthelp://com.nokia.qtcreator/doc/creator-debugging-qml.html">前提条件は?</a> + + Enable Debugging of Subprocesses + サブプロセスのデバッグ可能 + Debugger::Internal::QmlV8DebuggerClient anonymous function - <無名関数> + <無名関数> + + + Anonymous Function + 無名関数 @@ -37125,14 +39177,26 @@ should a repository require SSH-authentication (see documentation on SSH and the Log ログ + + Show debug, log, and info messages. + debug や log、info レベルのメッセージを表示します。 + Warning 警告 + + Show warning messages. + warning レベルのメッセージを表示します。 + Error エラー + + Show error and fatal messages. + error や fatal レベルのメッセージを表示します。 + Clear Console コンソールをクリア @@ -37271,37 +39335,69 @@ kill しますか? QmlJSEditor::AddAnalysisMessageSuppressionComment Add a comment to suppress this message - このメッセージを抑止する為にコメントを追加します + このメッセージを抑止する為にコメントを追加します + + + Add a Comment to Suppress This Message + このメッセージを抑止する為のコメントを追加します QmlJSEditor::Internal::Operation Wrap Component in Loader - + Loader で Component をラップする // TODO: Move position bindings from the component to the Loader. // Check all uses of 'parent' inside the root element of the component. - + // TODO: Move position bindings from the component to the Loader. +// Check all uses of 'parent' inside the root element of the component. + // Rename all outer uses of the id '%1' to '%2.item'. - + // Rename all outer uses of the id '%1' to '%2.item'. + // Rename all outer uses of the id '%1' to '%2.item.%1'. - + // Rename all outer uses of the id '%1' to '%2.item.%1'. + QmlProfiler::Internal::QmlProfilerEventsWidget Trace information from the v8 JavaScript engine. Available only in Qt5 based applications - V8 JavaScript エンジンからの情報をトレースします。Qt5 ベースのアプリケーションの場合のみ使用可能です + V8 JavaScript エンジンからの情報をトレースします。Qt5 ベースのアプリケーションの場合のみ使用可能です + + + Trace information from the v8 JavaScript engine. Available only in Qt5 based applications. + V8 JavaScript エンジンからの情報をトレースします。Qt5 ベースのアプリケーションの場合のみ使用可能です。 + + + Copy Row + 行をコピー + + + Copy Table + 表をコピー + + + Extended Event Statistics + 拡張イベント統計 + + + Limit Events Pane to Current Range + 現在の範囲でイベントペインを制限 + + + Reset Events Pane + イベントペインをリセット @@ -37354,9 +39450,26 @@ kill しますか? Details 詳細 + + (Opt) + + + + Binding is evaluated by the optimized engine. + + + + Binding not optimized (e.g. has side effects or assignments, +references to elements in other files, loops, etc.) + + + + Binding loop detected. + バインディングループが検出されました。 + Binding loop detected - バインディングループ検出 + バインディングループ検出 µs @@ -37395,7 +39508,11 @@ kill しますか? QmlProfiler::Internal::QmlProfilerEventsParentsAndChildrenView Part of binding loop - バインディングループ部分 + バインディングループ部分 + + + Part of binding loop. + バインディングのループ部分です。 Callee @@ -37440,37 +39557,27 @@ kill しますか? プロジェクトを構成 - <p>The project <b>%1</b> is not yet configured.</p><p>Qt Creator uses the Qt version: <b>%2</b> and the tool chain: <b>%3</b> to parse the project. You can edit these in the <b><a href="edit">options.</a></b></p> - + The project <b>%1</b> is not yet configured.<br/>Qt Creator cannot parse the project, because no kit has been set up. + プロジェクト <b>%1</b> は、まだ構成されていません。<br/>キットが設定されていない為、Qt Creator がプロジェクトをパースできません。 - <p>The project <b>%1</b> is not yet configured.</p><p>Qt Creator uses the Qt version: <b>%2</b> and <b>no tool chain</b> to parse the project. You can edit these in the <b><a href="edit">settings</a></b></p> - + The project <b>%1</b> is not yet configured.<br/>Qt Creator uses the kit <b>%2</b> to parse the project. + プロジェクト <b>%1</b> は、まだ構成されていません。<br/>Qt Creator は、プロジェクトをパースするのにキット <b>%2</b> を使用します。 - <p>The project <b>%1</b> is not yet configured.</p><p>Qt Creator uses <b>no Qt version</b> and the tool chain: <b>%2</b> to parse the project. You can edit these in the <b><a href="edit">settings</a></b></p> - - - - <p>The project <b>%1</b> is not yet configured.</p><p>Qt Creator uses <b>no Qt version</b> and <b>no tool chain</b> to parse the project. You can edit these in the <b><a href="edit">settings</a></b></p> - + The project <b>%1</b> is not yet configured.<br/>Qt Creator uses the <b>invalid</b> kit <b>%2</b> to parse the project. + プロジェクト <b>%1</b> は、まだ構成されていません。<br/>Qt Creator は、プロジェクトをパースするのに<b>不正な</b>キット <b>%2</b> を使用します。 Qt4ProjectManager::Internal::UnConfiguredSettingsWidget - - Qt Creator can open qmake projects without configuring them for building. -The C++ and QML code models need a Qt version and tool chain to offer code completion. - - - Qt Version: - Qt バージョン: + Qt バージョン: Tool Chain: - ツールチェイン: + ツールチェイン: @@ -37516,9 +39623,13 @@ The C++ and QML code models need a Qt version and tool chain to offer code compl プロジェクトをコピーできません - Failed to open project + Failed to Open Project プロジェクトを開くのに失敗しました + + Failed to open project + プロジェクトを開くのに失敗しました + QtSupport @@ -37528,7 +39639,11 @@ The C++ and QML code models need a Qt version and tool chain to offer code compl Symbian - Symbian + Symbian + + + Maemo/Fremantle + Maemo/Fremantle Desktop @@ -37542,23 +39657,27 @@ The C++ and QML code models need a Qt version and tool chain to offer code compl Windows CE Windows CE + + Android + Android + RemoteLinux::Internal::EmbeddedLinuxTargetFactory embedded - embedded + embedded Embedded Linux - Embedded Linux + Embedded Linux RemoteLinux::Internal::GenericEmbeddedLinuxTarget Embedded Linux - Embedded Linux + Embedded Linux @@ -37582,9 +39701,13 @@ The C++ and QML code models need a Qt version and tool chain to offer code compl 開いているドキュメント - Open Documents: + Open documents: 開いているドキュメント: + + Open Documents: + 開いているドキュメント: + Open Documents %1 @@ -37633,10 +39756,18 @@ The C++ and QML code models need a Qt version and tool chain to offer code compl VcsBase::Internal::UrlTextCursorHandler Open URL in browser... - ブラウザで URL を開く... + ブラウザで URL を開く... Copy URL location + URL をコピー + + + Open URL in Browser... + ブラウザで URL を開く... + + + Copy URL Location URL をコピー @@ -37644,11 +39775,4753 @@ The C++ and QML code models need a Qt version and tool chain to offer code compl VcsBase::Internal::EmailTextCursorHandler Send email to... - メールを送信... + メールを送信... Copy email address + メールアドレスをコピー + + + Send Email To... + メールを送信... + + + Copy Email Address メールアドレスをコピー + + QSsh::SshKeyCreationDialog + + SSH Key Configuration + SSH 鍵の構成 + + + Options + オプション + + + Key algorithm: + 鍵アルゴリズム: + + + &RSA + RSA(&R) + + + &DSA + DSA(&D) + + + Key &size: + 鍵サイズ(&S): + + + Private key file: + 秘密鍵ファイル: + + + Browse... + 参照... + + + Public key file: + 公開鍵ファイル: + + + &Generate And Save Key Pair + 鍵ペアを生成し保存(&G) + + + &Cancel + キャンセル(&C) + + + Key Generation Failed + 鍵の生成に失敗 + + + Choose Private Key File Name + 秘密鍵ファイル名を選択して下さい + + + Cannot Save Key File + 鍵ファイルを保存できません + + + Failed to create directory: '%1'. + ディレクトリ '%1' の作成に失敗しました。 + + + Cannot Save Private Key File + 秘密鍵ファイルを保存できません + + + The private key file could not be saved: %1 + 秘密鍵ファイルを保存できませんでした: %1 + + + Cannot Save Public Key File + 公開鍵ファイルを保存できません + + + The public key file could not be saved: %1 + 公開鍵ファイルを保存できませんでした: %1 + + + + AddNewAVDDialog + + Create new AVD + 新しい AVD を作成 + + + Name: + 名前: + + + Kit: + キット: + + + SD card size: + SD カードサイズ: + + + MiB + MiB + + + + AndroidCreateKeystoreCertificate + + Create a keystore and a certificate + キーストアと証明書を作成 + + + Keystore + キーストア + + + Password: + パスワード: + + + Retype password: + パスワード(確認): + + + Show password + パスワードを表示 + + + <span style=" color:#ff0000;">Password is too short</span> + <span style=" color:#ff0000;">パスワードが短すぎます</span> + + + Certificate + 証明書 + + + Alias name: + エイリアス名: + + + Aaaaaaaa; + Aaaaaaaa; + + + Keysize: + 鍵サイズ: + + + Validity (days): + 有効期間 (日): + + + Certificate Distinguished Names + 証明書の識別名 + + + First and last name: + 姓名: + + + Organizational unit (e.g. Necessitas): + 組織単位 (例: Necessitas): + + + Organization (e.g. KDE): + 組織 (例: KDE): + + + City or locality: + 都市または地域: + + + State or province: + 州または地域: + + + Two-letter country code for this unit (e.g. RO): + 2文字の国コード (例: JP): + + + >AA; + >AA; + + + + AndroidDeployStepWidget + + Form + フォーム + + + Use Qt libraries from device + デバイスから Qt ライブラリを使用 + + + Push local Qt libraries to device. +You must have Qt libraries compiled for that platform + ローカルの Qt ライブラリをデバイスに送ります。 +Qt ライブラリは、プラットフォーム向けにコンパイルしておく必要があります + + + Deploy local Qt libraries + ローカルの Qt ライブラリのデプロイ + + + Check this option to force the application to use local Qt libraries instead of system libraries. + このオプションをチェックすると、アプリケーションは、システムライブラリの代わりにローカルの Qt ライブラリを使用します。 + + + Use local Qt libraries + ローカルの Qt ライブラリを使用 + + + Edit Rules File + ルールファイルを編集 + + + Choose and install Ministro system wide Qt shared libraries. +This option is useful when you want to try your application on devices which don't have Android Market (e.g. Android Emulator). + システムワイドな Qt 共有ライブラリのインストーラである Ministro をインストールして下さい。 +このオプションは、Android エミュレータのような Android Market を持たないデバイス上でアプリケーションを試そうとする時に役立ちます。 + + + Install Ministro, system-wide Qt shared libraries installer + Ministro をインストール + + + Choose APK + APK を選択して下さい + + + + AndroidPackageCreationWidget + + Manifest + Manifest + + + <b>Android target SDK:</b> + <b>Android ターゲット SDK:</b> + + + <b>Package name:</b> + <b>パッケージ名:</b> + + + <p align="justify">Please choose a valid package name for your application (e.g. "org.example.myapplication").</p> +<p align="justify">Packages are usually defined using a hierarchical naming pattern, with levels in the hierarchy separated by periods (.) (pronounced "dot").</p> +<p align="justify">In general, a package name begins with the top level domain name of the organization and then the organization's domain and then any subdomains listed in reverse order. The organization can then choose a specific name for their package. Package names should be all lowercase characters whenever possible.</p> +<p align="justify">Complete conventions for disambiguating package names and rules for naming packages when the Internet domain name cannot be directly used as a package name are described in section 7.7 of the Java Language Specification.</p> + <p align="justify">有効なアプリケーションのパッケージ名を選んで下さい (例 "org.example.myapplication")。</p> +<p align="justify">パッケージは、たいてい階層レベル毎にピリオド(.)で区切られた階層化された名前で定義されます。</p> +<p align="justify">In general, a package name begins with the top level domain name of the organization and then the organization's domain and then any subdomains listed in reverse order. The organization can then choose a specific name for their package. Package names should be all lowercase characters whenever possible.</p> +<p align="justify">Complete conventions for disambiguating package names and rules for naming packages when the Internet domain name cannot be directly used as a package name are described in section 7.7 of the Java Language Specification.</p> + + + <b>Version code:</b> + <b>バージョン コード:</b> + + + <b>Version name:</b> + <b>バージョン名:</b> + + + 1.0.0 + 1.0.0 + + + Application + アプリケーション + + + <b>Application name:</b> + <b>アプリケーション名:</b> + + + <b>Run:</b> + <b>実行:</b> + + + <b>Application icon:</b> + <b>アプリケーション アイコン:</b> + + + Select low dpi icon + 低解像度アイコンを選択 + + + Select medium dpi icon + 中解像度アイコンを選択 + + + Select high dpi icon + 高解像度アイコンを選択 + + + Permissions + パーミッション + + + Add + 追加 + + + Remove + 削除 + + + Save + 保存 + + + Discard + 廃棄 + + + Name: + 名前: + + + Libraries + ライブラリ + + + Automatically check required Qt libraries from compiled application + + + + Read information from application (must be compiled) + + + + Required Qt libraries + + + + <center>Prebundled libraries</center> +<p align="justify">Please be aware that the order is very important: If library <i>A</i> depends on library <i>B</i>, <i>B</i> <b>must</b> go before <i>A</i>.</p> + + + + Up + + + + Down + + + + Sign package + パッケージに署名 + + + Keystore: + キーストア: + + + Create + 生成 + + + Browse + 参照 + + + Open package location after is complete + + + + Certificate alias: + 証明書エイリアス: + + + + AndroidSettingsWidget + + Android Configuration + Android 構成 + + + Android SDK location: + Android SDK パス: + + + Browse + 参照 + + + Android NDK location: + Android NDK パス: + + + Android NDK tool chain version: + Android NDK ツールチェイン バージョン: + + + Ant location: + Ant パス: + + + ARM GDB location: + ARM GDB パス: + + + ARM GDB server location: + ARM GDB サーバー パス: + + + x86 GDB location: + x86 GDB パス: + + + x86 GDB server location: + x86 GDB サーバー パス: + + + OpenJDK location: + OpenJDK パス: + + + Start + 開始 + + + AVD Manager + AVD Manager + + + System/data partition size: + システム/データ パーティション サイズ: + + + Mb + Mb + + + Start Android AVD Manager + Android AVD Manager 開始 + + + Add + 追加 + + + Remove + 削除 + + + + ClearCase::Internal::CheckOutDialog + + Check Out + チェックアウト + + + &Checkout comment: + チェックアウトコメント(&C): + + + &Reserved + 予約する(&R) + + + &Unreserved if already reserved + 予約済みの場合は、予約解除(&U) + + + &Preserve file modification time + ファイルの更新日時を保持する(&P) + + + Use &Hijacked file + Hijack: Unset read-only flag without check-out. This is used for local changes which the user does not want to commit. + ハイジャックファイルを使う(&H) + + + + ClearCase::Internal::SettingsPage + + Configuration + 構成 + + + &Command: + コマンド(&C): + + + Diff + Diff + + + &Graphical (Single file only) + グラフィカル (単一ファイルのみ) (&G) + + + &External + 外部(&E) + + + Arg&uments: + 引数(&U): + + + Miscellaneous + その他 + + + &History count: + 履歴数(&H): + + + &Timeout: + タイムアウト(&T): + + + s + + + + &Automatically check out files on edit + 編集時に自動的にチェックアウト(&A) + + + Check this if you have a trigger that renames the activity automatically. You will not be prompted for activity name + このオプションをチェックすると、問い合わせなく自動的にアクティビティ名が変更されます + + + Aut&o assign activity names + アクティビティ名を自動割り付け(&O) + + + &Prompt on check-in + チェックイン時に確認する(&P) + + + Di&sable indexer + インデクサを無効化(&S) + + + &Index only VOBs: + VOB: Versioned Object Base + VOB だけインデックス(&I): + + + VOBs list, separated by comma. Indexer will only traverse the specified VOBs. If left blank, all active VOBs will be indexed + + + + ClearCase + ClearCase + + + + ClearCase::Internal::UndoCheckOut + + Dialog + ダイアログ + + + The file was changed. + ファイルは変更されました。 + + + &Save copy of the file with a '.keep' extension + '.keep' 拡張子を付けてコピーを保存(&S) + + + + ClearCase::Internal::VersionSelector + + Confirm Version to Check Out + チェックアウトバージョンの確認 + + + There are multiple versions of '%1' which can be considered for checkout. Please select version to checkout: + チェックアウトしようとしている '%1' には、複数のバージョンがあります。チェックアウトするバージョンを選択して下さい: + + + &Loaded Version + 読み込み済みバージョン(&L) + + + Created by: + 作成者: + + + Created on: + Date + 作成日時: + + + Version after &update + + + + <html><head/><body><p><b>NOTE: You will not be able to check in this file without merging the changes (not supported by the plugin)</b></p></body></html> + <html><head/><body><p><b>注意: このファイルが、変更内容をマージしているかどうかは確認できません。(プラグインが未サポートの為)</b></p></body></html> + + + + Core::RemoveFileDialog + + Remove File + ファイルの削除 + + + File to remove: + 削除するファイル: + + + &Delete file permanently + 完全に削除(&D) + + + &Remove from Version Control + バージョン管理システムから削除(&R) + + + + ProjectExplorer::Internal::DeviceFactorySelectionDialog + + Device Configuration Wizard Selection + デバイス構成ウィザードを選択 + + + Available device types: + 使用可能なデバイスタイプ: + + + Start Wizard + ウィザード開始 + + + + ProjectExplorer::Internal::DeviceSettingsWidget + + Linux Device Configurations + Linux デバイス構成 + + + &Device: + デバイス(&D): + + + General + 概要 + + + &Name: + 名前(&N): + + + Type: + タイプ: + + + Auto-detected: + 自動検出: + + + Current state: + 現在の状態: + + + Type Specific + 固有設定 + + + &Add... + 追加(&A)... + + + &Remove + 削除(&R) + + + Set As Default + デフォルトに設定 + + + Yes (id is "%1") + はい (ID は "%1") + + + No + いいえ + + + Remote Processes + リモートプロセス + + + + Qnx::Internal::BarDescriptorFileImageWizardPage + + WizardPage + ウィザードページ + + + Icon: + アイコン: + + + Splash screens + スプラッシュ画面 + + + Landscape: + ランドスケープ: + + + Portrait: + ポートレイト: + + + Images + 画像 + + + Images (*.jpg *.png) + 画像 (*.jpg *.png) + + + <font color="red">Could not open '%1' for reading.</font> + + + + <font color="red">Incorrect icon size (%1x%2). The maximum size is %3x%4 pixels.</font> + <font color="red">不正なアイコンサイズ (%1x%2) です。最大サイズは、%3x%4 ピクセルです。</font> + + + <font color="red">Incorrect landscape splash screen size (%1x%2). The maximum size is %3x%4 pixels.</font> + <font color="red">不正なランドスケープのスプラッシュスクリーンサイズ (%1x%2) です。最大サイズは、%3x%4 ピクセルです。</font> + + + <font color="red">Incorrect portrait splash screen size (%1x%2). The maximum size is %3x%4 pixels.</font> + <font color="red">不正なポートレイトのスプラッシュスクリーンサイズ (%1x%2) です。最大サイズは、%3x%4 ピクセルです。</font> + + + + Qnx::Internal::BlackBerryDeployConfigurationWidget + + Packages to deploy: + デプロイするパッケージ: + + + + Qnx::Internal::BlackBerryDeviceConfigurationWidget + + &Device name: + デバイス名(&D): + + + IP or host name of the device + IPアドレスかホスト名 + + + Device &password: + パスワード(&P): + + + Show password + パスワードを表示 + + + Debug token: + Debug トークン: + + + Private key file: + 秘密鍵ファイル: + + + + Qnx::Internal::BlackBerryDeviceConfigurationWizardSetupPage + + WizardPage + ウィザードページ + + + The name to identify this configuration: + この構成の名前: + + + The device's host name or IP address: + デバイスのホスト名かIPアドレス: + + + Device password: + パスワード: + + + Device type: + デバイス種類: + + + Physical device + 物理デバイス + + + Simulator + シミュレータ + + + Debug token: + Debug トークン: + + + Connection Details + 接続の詳細 + + + BlackBerry Device + BlackBerry デバイス + + + + Qnx::Internal::BlackBerryDeviceConfigurationWizardSshKeyPage + + WizardPage + ウィザードページ + + + Private key file: + 秘密鍵ファイル: + + + Public key file: + 公開鍵ファイル: + + + Generate + 生成 + + + SSH Key Setup + SSH 鍵設定 + + + Please select an existing <b>4096</b>-bit key or click <b>Generate</b> to create a new one. + 存在する <b>4096</b>-bit 鍵を選択するか、<b>生成</b>をクリックして新しい鍵を作成して下さい。 + + + Key Generation Failed + 鍵の生成に失敗 + + + + Qnx::Internal::BlackBerryRunConfigurationWidget + + Device: + デバイス: + + + Package: + パッケージ: + + + + Qnx::Internal::QnxBaseQtConfigWidget + + SDK: + SDK: + + + + RemoteLinuxCheckForFreeDiskSpaceStepWidget + + Form + フォーム + + + Remote path to check for free space: + 空き容量確認先リモートパス: + + + Required disk space: + 必要ディスク容量: + + + + Todo::Internal::KeywordDialog + + Keyword + キーワード + + + Icon + アイコン + + + Color + + + + errorLabel + errorLabel + + + Keyword cannot be empty, contain spaces, colons, slashes or asterisks. + キーワードを空にしたり、空白やコロン、スラッシュやアスタリスクを含める事はできません。 + + + There is already a keyword with this name. + 同じ名前のキーワードがすでにあります。 + + + + QmlDebug::QmlOutputParser + + The port seems to be in use. + Error message shown after 'Could not connect ... debugger:" + ポートは既に使用されています。 + + + The application is not set up for QML/JS debugging. + Error message shown after 'Could not connect ... debugger:" + アプリケーションは QML/JS デバッグが設定されていません。 + + + + QSsh::Internal::SftpChannelPrivate + + Server could not start SFTP subsystem. + サーバーは SFTP サブシステムを開始できませんでした。 + + + Unexpected packet of type %1. + 予期していない %1 型のパケットです。 + + + Protocol version mismatch: Expected %1, got %2 + プロトコルバージョン不一致: 期待するバージョン: %1、実際のバージョン: %2 + + + Unknown error. + 不明なエラーです。 + + + Created remote directory '%1'. + リモートディレクトリ '%1' を作成しました。 + + + Remote directory '%1' already exists. + リモートディレクトリ '%1' は既に存在しています。 + + + Error creating directory '%1': %2 + ディレクトリ '%1' 作成中にエラー :%2 + + + Could not open local file '%1': %2 + ローカルファイル '%1' を開けませんでした: %2 + + + Remote directory could not be opened for reading. + リモートディレクトリを読み取る為に開く事ができませんでした。 + + + Failed to list remote directory contents. + リモートディレクトリ内の一覧取得に失敗しました。 + + + Failed to close remote directory. + リモートディレクトリを閉じるのに失敗しました。 + + + Failed to open remote file for reading. + リモートファイルを読み取る為に開くのに失敗しました。 + + + Failed to retrieve information on the remote file ('stat' failed). + リモートファイルの情報を取得するのに失敗しました ('stat' 失敗)。 + + + Failed to read remote file. + リモートファイルの読み取りに失敗しました。 + + + Failed to close remote file. + リモートファイルを閉じるのに失敗しました。 + + + Failed to open remote file for writing. + リモートファイルを書き込む為に開くのに失敗しました。 + + + Failed to write remote file. + リモートファイルの書き込みに失敗しました。 + + + Cannot append to remote file: Server does not support the file size attribute. + リモートファイルに追記できません: サーバーがファイルサイズ属性をサポートしていません。 + + + SFTP channel closed unexpectedly. + SFTP チャネルは予期せず切断されました。 + + + Server could not start session: %1 + サーバーはセッションを開始できませんでした: %1 + + + Error reading local file: %1 + ローカルファイルの読み込み中にエラー: %1 + + + + QSsh::SftpFileSystemModel + + File Type + ファイルの種類 + + + File Name + ファイル名 + + + Error getting 'stat' info about '%1': %2 + '%1' の 'stat' 情報取得時にエラー: %2 + + + Error listing contents of directory '%1': %2 + ディレクトリ '%1' の内容取得中にエラー :%2 + + + + QSsh::Internal::SshChannelManager + + Invalid channel id %1 + %1 は無効なチャネルIDです + + + + QSsh::Internal::SshConnectionPrivate + + SSH Protocol error: %1 + SSH プロトコルエラー: %1 + + + Botan library exception: %1 + Botan ライブラリ例外: %1 + + + Server identification string is %n characters long, but the maximum allowed length is 255. + + サーバー識別子が %n 文字で指定されていますが、最大長は 255 です。 + + + + Server identification string contains illegal NUL character. + サーバー識別文字列が、不正な NUL 文字を含んでいます。 + + + Server Identification string '%1' is invalid. + サーバー識別文字列 '%1' は、無効です。 + + + Server protocol version is '%1', but needs to be 2.0 or 1.99. + + + + Server identification string is invalid (missing carriage return). + + + + Server reports protocol version 1.99, but sends data before the identification string, which is not allowed. + + + + Unexpected packet of type %1. + 予期していない %1 型のパケットです。 + + + Password expired. + パスワードが有効期限切れです。 + + + Server rejected password. + サーバーがパスワードを拒否しました。 + + + Server rejected key. + サーバーが鍵を拒否しました。 + + + The server sent an unexpected SSH packet of type SSH_MSG_UNIMPLEMENTED. + サーバーが SSH_MSG_UNIMPLEMENTED タイプの予期しない SSH パケットを送信してきました。 + + + Server closed connection: %1 + サーバーから切断されました: %1 + + + Connection closed unexpectedly. + 予期せず切断されました。 + + + Timeout waiting for reply from server. + サーバーからの応答を待機中にタイムアウトしました。 + + + No private key file given. + 秘密鍵ファイルがありません。 + + + Private key file error: %1 + 秘密鍵ファイルエラー: %1 + + + + QSsh::Ssh + + Password Required + パスワードが必要です + + + Please enter the password for your private key. + 秘密鍵のパスワードを入力して下さい。 + + + + QSsh::Internal::SshRemoteProcessPrivate + + Process killed by signal + プロセスはシグナルで kill されました + + + Server sent invalid signal '%1' + サーバーが無効なシグナル '%1' を送信してきました + + + + Utils::BaseTreeView + + Adjust Column Widths to Contents + 内容に合わせて列幅を調整 + + + + Utils::ElfReader + + '%1' is an invalid ELF object (%2) + '%1' は、不正な ELF オブジェクトです (%2) + + + '%1' is not an ELF object (file too small) + '%1' は、ELF オブジェクトではありません (ファイルが小さすぎます) + + + '%1' is not an ELF object + '%1' は、ELF オブジェクトではありません + + + odd cpu architecture + おかしな CPU アーキテクチャ + + + odd endianess + おかしなバイトオーダー + + + unexpected e_shsize + 予期しない e_shsize + + + unexpected e_shentsize + 予期しない e_shentsize + + + announced %n sections, each %1 bytes, exceed file size + + + + + + string table seems to be at 0x%1 + string テーブルが 0x%1 にあるようです + + + section name %1 of %2 behind end of file + %2 のセクション名 %1 がファイルの終端より後ろです + + + + ZeroConf::ServiceBrowser + + Starting Zeroconf Browsing + Zeroconf ブラウジング開始中 + + + + Android::Internal::AndroidConfigurations + + Error Creating AVD + AVD 作成中にエラー + + + Cannot create a new AVD. No sufficiently recent Android SDK available. +Please install an SDK of at least API version %1. + 新しい AVD を作成できませんでした。十分に最新で利用可能な Android SDK がありません。 +最低でも API バージョン %1 の SDK をインストールして下さい。 + + + + Android + + Android + Android + + + + Android::Internal::AndroidCreateKeystoreCertificate + + <span style=" color:#ff0000;">Password is too short</span> + <span style=" color:#ff0000;">パスワードが短すぎます</span> + + + <span style=" color:#ff0000;">Passwords don't match</span> + <span style=" color:#ff0000;">パスワードが一致しません</span> + + + <span style=" color:#00ff00;">Password is ok</span> + <span style=" color:#00ff00;">パスワード OK</span> + + + Keystore file name + キーストアファイル名 + + + Keystore files (*.keystore *.jks) + キーストアファイル (*.keystore *.jks) + + + Error + エラー + + + + Android::Internal::AndroidDeployConfiguration + + Deploy to Android device + Android デバイスにデプロイ + + + + Android::Internal::AndroidDeployConfigurationFactory + + Deploy on Android + Android 上でデプロイ + + + + Android::Internal::AndroidDeployStep + + Deploy to Android device + AndroidDeployStep default display name + Android デバイスにデプロイ + + + Please wait, searching for a suitable device for target:%1. + ターゲット %1 に適したデバイスを探していますので、お待ち下さい。 + + + Cannot deploy: no devices or emulators found for your package. + デプロイ不可: パッケージにデバイスまたはエミュレータが見つかりません。 + + + Package deploy: Running command '%1 %2'. + パッケージデプロイ: コマンド '%1 %2' を実行しています。 + + + Packaging error: Could not start command '%1 %2'. Reason: %3 + パッケージ作成エラー: コマンド '%1 %2' を開始できませんでした。理由: %3 + + + Packaging Error: Command '%1 %2' failed. + パッケージ作成エラー: コマンド '%1 %2' が失敗しました。 + + + Reason: %1 + 理由: %1 + + + Exit code: %1 + 終了コード: %1 + + + Clean old Qt libraries + 古い Qt ライブラリのクリーン + + + Deploy Qt libraries. This may take some time, please wait. + Qt ライブラリをデプロイします。少し時間がかかるかもしれませんが、お待ち下さい。 + + + Qt Android smart installer installation failed + Qt Android スマートインストーラがインストールに失敗しました + + + Installing package onto %1. + %1 にパッケージをインストール中です。 + + + Package installation failed. + パッケージのインストールが失敗しました。 + + + Pulling files necessary for debugging. + デバッグに必要なファイルを受信中です。 + + + + Android::Internal::AndroidDeployStepFactory + + Deploy to Android device or emulator + Android デバイス、またはエミュレータにデプロイ + + + + Android::Internal::AndroidDeployStepWidget + + <b>Deploy configurations</b> + <b>デプロイ構成</b> + + + Qt Android Smart Installer + Qt Android スマート インストーラ + + + Android package (*.apk) + Android パッケージ (.apk) + + + + Android::Internal::AndroidDevice + + Run on Android + Android 上で実行 + + + Android + Android + + + + Android::Internal::AndroidDeviceFactory + + Android Device + Android デバイス + + + + Android::Internal::AndroidManager + + Error creating Android directory '%1'. + Android ディレクトリ '%1' の作成中にエラーが発生しました。 + + + No Qt for Android SDKs were found. +Please install at least one SDK. + Qt for Android SDK が見つかりませんでした。 +SDK を少なくとも1つインストールして下さい。 + + + Warning + 警告 + + + Android files have been updated automatically + Android ファイルは自動的に更新されました + + + Error creating Android templates + Android テンプレートの作成中にエラー + + + Can't parse '%1' + '%1' をパースできません + + + Can't open '%1' + '%1' を開けません + + + + Android::Internal::AndroidPackageCreationFactory + + Create Android (.apk) Package + Android パッケージ (.apk) を作成 + + + + Android::Internal::AndroidPackageCreationStep + + Packaging for Android + Android 向けパッケージ + + + Cannot create Android package: current build configuration is not Qt 4. + Android パッケージ作成不可: 現在のビルド構成が Qt4 ではありません。 + + + Cannot find ELF information + ELF 情報が見つかりません + + + Cannot find '%1'. +Please make sure your application is built successfully and is selected in Application tab ('Run option'). + '%1' が見つかりません。 +実行オプション内のアプリケーションタブで、ビルドが成功したアプリケーションが選択されている事を確認して下さい。 + + + Error + エラー + + + Failed to run keytool + keytool の実行に失敗 + + + Invalid password + 無効なパスワード + + + Copy Qt app & libs to Android package ... + + + + Can't copy gdbserver from '%1' to '%2' + + + + Creating package file ... + パッケージファイルの作成中... + + + Signing package ... + パッケージに署名中... + + + Failed, try again + 失敗したのでリトライします + + + Release signed package created to %1 + + + + Package created. + パッケージを作成しました。 + + + Package deploy: Running command '%1 %2'. + パッケージデプロイ: コマンド '%1 %2' を実行しています。 + + + Packaging failed. + パッケージ作成に失敗しました。 + + + Packaging error: Could not start command '%1 %2'. Reason: %3 + パッケージ作成エラー: コマンド '%1 %2' を開始できませんでした。理由: %3 + + + Packaging Error: Command '%1 %2' failed. + パッケージ作成エラー: コマンド '%1 %2' が失敗しました。 + + + Reason: %1 + 理由: %1 + + + Exit code: %1 + 終了コード: %1 + + + Keystore + キーストア + + + Keystore password: + キーストア パスワード: + + + Certificate + 証明書 + + + Certificate password (%1): + 証明書パスワード (%1): + + + + Android::Internal::AndroidPackageCreationWidget + + Invalid Package Name + 無効なパッケージ名 + + + The package name '%1' is not valid. +Please choose a valid package name for your application (e.g. "org.example.myapplication"). + + + + Choose High DPI Icon + 高解像度アイコンを選択 + + + PNG images (*.png) + PNG 画像 (*.png) + + + Choose Medium DPI Icon + 中解像度アイコンを選択 + + + Choose Low DPI Icon + 低解像度アイコンを選択 + + + < Type or choose a permission > + < パーミッションを入力するか選択> + + + <b>Package configurations</b> + <b>パッケージ構成</b> + + + Select keystore file + キーストアファイルを選択 + + + Keystore files (*.keystore *.jks) + キーストアファイル (*.keystore *.jks) + + + + Android::Internal::AndroidPackageInstallationFactory + + Deploy to device + デバイスにデプロイ + + + + Android::Internal::AndroidPackageInstallationStep + + Copy application data + アプリケーションデータのコピー + + + + Android::Internal::AndroidQtVersion + + Failed to detect the ABIs used by the Qt version. + Qt バージョンに使用されている ABI の認識に失敗しました。 + + + Android + Qt Version is meant for Android + Android + + + + Android::Internal::AndroidRunConfiguration + + Run on Android device + Android デバイス上で実行 + + + + Android::Internal::AndroidRunControl + + Starting remote process. + リモートプロセスを起動します。 + + + + Android::Internal::AndroidRunControlFactory + + Run on Android device or emulator. + Android デバイス、またはエミュレータ上で実行します。 + + + + Android::Internal::AndroidRunner + + + +'%1' died. + + +'%1' は異常終了しました。 + + + Failed to forward C++ debugging ports. Reason: %1. + C++ デバッグポートのフォワーディングに失敗しました。理由: %1。 + + + Failed to forward C++ debugging ports. + C++ デバッグポートのフォワーディングに失敗しました。 + + + Failed to forward QML debugging ports. Reason: %1. + QML デバッグポートのフォワーディングに失敗しました。理由: %1。 + + + Failed to forward QML debugging ports. + QML デバッグポートのフォワーディングに失敗しました。 + + + Failed to start the activity. Reason: %1. + アクティビティの開始が失敗しました。理由: %1。 + + + Unable to start '%1'. + '%1' を開始できません。 + + + Cannot find %1 process. + %1 プロセスが見つかりません。 + + + + +'%1' killed. + + +'%1' を kill しました。 + + + + Android::Internal::AndroidSettingsPage + + Android Configurations + Android 構成 + + + + Android::Internal::AvdModel + + AVD Name + AVD - Android Virtual Device + AVD 名 + + + AVD Target + AVD ターゲット + + + CPU/ABI + CPU/ABI + + + + Android::Internal::AndroidSettingsWidget + + Android SDK Folder + Android SDK フォルダ + + + "%1" does not seem to be an Android SDK top folder. + "%1" は Android SDK 最上位フォルダでない可能性があります。 + + + "%1" does not seem to be an Android NDK top folder. + "%1" は Android NDK 最上位フォルダでない可能性があります。 + + + Select Android SDK folder + Android SDK フォルダを選択 + + + Select Android NDK folder + Android NDK フォルダを選択 + + + Select ant Script + ant スクリプトを選択 + + + Select GDB Executable + GDB 実行ファイルを選択 + + + Select GDB Server Android Executable + GDB サーバー Android 実行ファイルを選択 + + + Select OpenJDK Path + OpenJDK パスを選択 + + + + Android::Internal::AndroidToolChainFactory + + Android GCC + Android GCC + + + Android GCC for %1 + %1 向け Android GCC + + + Android GCC (%1-%2) + Android GCC (%1-%2) + + + + Android::Internal::AndroidToolChainConfigWidget + + NDK Root: + NDK ルート: + + + + Bookmarks::Internal::BookmarkViewFactory + + Alt+Meta+M + Alt+Meta+M + + + Alt+M + Alt+M + + + + ClearCase::Internal::ActivitySelector + + Select &activity: + アクティビティを選択 (&A): + + + Add + 追加 + + + Keep item activity + アイテムのアクティビティを保持 + + + + ClearCase::Internal::ClearCaseControl + + &Check Out + チェックアウト(&C) + + + &Hijack + ハイジャック(&H) + + + + ClearCase::Internal::ClearCaseEditor + + Annotate version "%1" + バージョン "%1" のアノテーション + + + + ClearCase::Internal::ClearCasePlugin + + C&learCase + ClearCase(&l) + + + Check Out... + チェックアウト... + + + Check &Out "%1"... + "%1" をチェックアウト(&O)... + + + Meta+L,Meta+O + Meta+L,Meta+O + + + Alt+L,Alt+O + Alt+L,Alt+O + + + Check &In... + チェックイン(&I)... + + + Check &In "%1"... + "%1" をチェックイン(&I)... + + + Meta+L,Meta+I + Meta+L,Meta+I + + + Alt+L,Alt+I + Alt+L,Alt+I + + + Undo Check Out + チェックアウトを元に戻す + + + &Undo Check Out "%1" + "%1" のチェックアウトを元に戻す(&U) + + + Meta+L,Meta+U + Meta+L,Meta+U + + + Alt+L,Alt+U + Alt+L,Alt+U + + + Undo Hijack + ハイジャックを元に戻す + + + Undo Hi&jack "%1" + "%1" のハイジャックを元に戻す(&j) + + + Meta+L,Meta+R + Meta+L,Meta+R + + + Alt+L,Alt+R + Alt+L,Alt+R + + + Diff Current File + 現在のファイルの差分表示 + + + &Diff "%1" + "%1" の差分表示(&D) + + + Meta+L,Meta+D + Meta+L,Meta+D + + + Alt+L,Alt+D + Alt+L,Alt+D + + + History Current File + 現在のファイルの履歴 + + + &History "%1" + "%1" の履歴(&H) + + + Meta+L,Meta+H + Meta+L,Meta+H + + + Alt+L,Alt+H + Alt+L,Alt+H + + + Annotate Current File + 現在のファイルのアノテーション + + + &Annotate "%1" + "%1" のアノテーション(&A) + + + Meta+L,Meta+A + Meta+L,Meta+A + + + Alt+L,Alt+A + Alt+L,Alt+A + + + Add File... + ファイルを追加... + + + Add File "%1" + ファイル "%1" を追加 + + + Diff A&ctivity... + アクティビティの差分表示(&c)... + + + Ch&eck In Activity + アクティビティをチェックイン(&e) + + + Chec&k In Activity "%1"... + アクティビティ "%1" をチェックイン(&k)... + + + Update Index + インデックス更新 + + + Update View + ビュー更新 + + + U&pdate View "%1" + ビュー "%1" 更新(&p) + + + Check In All &Files... + すべてのファイルをチェックイン(&F)... + + + Meta+L,Meta+F + Meta+L,Meta+F + + + Alt+L,Alt+F + Alt+L,Alt+F + + + View &Status + ステータス更新(&S) + + + Meta+L,Meta+S + Meta+L,Meta+S + + + Alt+L,Alt+S + Alt+L,Alt+S + + + Check In + チェックイン + + + Diff Selected Files + 選択済みファイルの差分表示 + + + &Undo + 元に戻す(&U) + + + &Redo + やり直す(&R) + + + Closing ClearCase Editor + ClearCase エディタを閉じようとしています + + + Do you want to check in the files? + ファイルをチェックインしますか? + + + The comment check failed. Do you want to check in the files? + コメントチェックが失敗しました。ファイルをチェックインしますか? + + + Do you want to undo the check out of '%1'? + '%1' のチェックアウトを元に戻しますか? + + + Undo Hijack File + ハイジャックファイルを元に戻す + + + Do you want to undo hijack of '%1'? + '%1' のハイジャックを元に戻しますか? + + + External diff is required to compare multiple files. + 外部 diff ツールは、複数のファイルを比較できる必要があります。 + + + Enter Activity + アクティビティに入る + + + Activity Name + アクティビティ名 + + + Check In Activity + アクティビティをチェックイン + + + Another check in is currently being executed. + 別のチェックインが実行中です。 + + + There are no modified files. + 変更されたファイルはありません。 + + + No ClearCase executable specified. + 実行可能な ClearCase が指定されていません。 + + + ClearCase Checkout + ClearCase チェックアウト + + + File is already checked out. + ファイルは、既にチェックアウトされています。 + + + Set current activity failed: %1 + アクティビティ設定失敗: %1 + + + Enter &comment: + コメントを入力(&c): + + + ClearCase Add File %1 + ClearCase ファイル %1 を追加 + + + ClearCase Remove Element %1 + ClearCase 要素 %1 を削除 + + + This operation is irreversible. Are you sure? + この操作は元に戻せませんが、よろしいですか? + + + ClearCase Remove File %1 + ClearCase ファイル %1 を削除 + + + ClearCase Rename File %1 -> %2 + ClearCase ファイル名変更 %1 -> %2 + + + Activity Headline + アクティビティ ヘッドライン + + + Enter activity headline + アクティビティ ヘッドラインに入る + + + CC Indexing + CC 解析中 + + + + ClearCase::Internal::ClearCaseSubmitEditor + + ClearCase Check In + ClearCase チェックイン + + + + ClearCase::Internal::ClearCaseSubmitEditorWidget + + Chec&k in even if identical to previous version + + + + &Preserve file modification time + ファイルの更新日時を保持する(&P) + + + &Check In + チェックイン(&C) + + + + ClearCase::Internal::SettingsPageWidget + + ClearCase Command + ClearCase コマンド + + + In order to use External diff, 'diff' command needs to be accessible. + + + + DiffUtils is available for free download <a href="http://gnuwin32.sourceforge.net/packages/diffutils.htm">here</a>. Please extract it to a directory in your PATH. + + + + + Core::Internal::OpenEditorsViewFactory + + Meta+O + Meta+O + + + Alt+O + Alt+O + + + + Core::IVersionControl + + Open with VCS (%1) + バージョン管理システム (%1) で開く + + + + CppEditor::Internal::FunctionDeclDefLink + + Target file was changed, could not apply changes + ターゲットファイルが変更された為、変更内容を適用できません + + + Apply changes to definition + 定義の変更を適用します + + + Apply changes to declaration + 宣言の変更を適用します + + + Apply Function Signature Changes + 関数シグネチャの変更を適用します + + + + Debugger::Internal::BreakTreeView + + Delete Breakpoint + ブレークポイントの削除 + + + Delete All Breakpoints + すべてのブレークポイントの削除 + + + Delete Breakpoints of "%1" + "%1" のブレークポイントの削除 + + + Delete Breakpoints of File + ファイル内のブレークポイントの削除 + + + Adjust Column Widths to Contents + 内容に合わせて列幅を調整 + + + Edit Breakpoint... + ブレークポイントを編集... + + + Associate Breakpoint With All Threads + ブレークポイントをすべてのスレッドと関連付ける + + + Associate Breakpoint With Thread %1 + ブレークポイントをスレッド %1 と関連付ける + + + Synchronize Breakpoints + ブレークポイントの同期 + + + Disable Selected Breakpoints + 選択されたブレークポイントの無効化 + + + Enable Selected Breakpoints + 選択されたブレークポイントの有効化 + + + Disable Breakpoint + ブレークポイントの無効化 + + + Enable Breakpoint + ブレークポイントの有効化 + + + Add Breakpoint... + ブレークポイントを追加... + + + Add Breakpoint + ブレークポイントを追加 + + + + Debugger::Internal::StartApplicationDialog + + Start Debugger + デバッガ起動 + + + Select Executable + 実行ファイルの選択 + + + Server port: + サーバー ポート: + + + Select Working Directory + 作業ディレクトリの選択 + + + Select Server Start Script + サーバー起動スクリプトの選択 + + + This option can be used to point to a script that will be used to start a debug server. If the field is empty, Qt Creator's default methods to set up debug servers will be used. + + + + &Server start script: + サーバー起動スクリプト(&S): + + + Select Location of Debugging Information + デバッグ情報のパスを選択 + + + Base path for external debug information and debug sources. If empty, $SYSROOT/usr/lib/debug will be chosen. + 外部デバッグ情報とデバッグソースのもとになるパスです。空の場合は、$SYSROOT/usr/lib/debug が使用されます。 + + + &Kit: + キット(&K): + + + Local &executable: + ローカル実行ファイル(&E): + + + Command line &arguments: + コマンドライン引数(&A): + + + &Working directory: + 作業ディレクトリ(&W): + + + Run in &terminal: + ターミナルで実行(&T): + + + Break at "&main": + "&main" 関数でブレーク(&m): + + + Debug &information: + デバッグ情報(&i): + + + &Recent: + 直近(&R): + + + + Debugger::Internal::DebuggerKitConfigWidget + + Manage... + 管理... + + + The debugger to use for this kit. + デバッガは、このキットを使用します。 + + + Auto-detect + 自動検出 + + + Edit... + 編集... + + + Debugger: + デバッガ: + + + Debugger for "%1" + + + + + Debugger::Internal::DebuggerKitConfigDialog + + &Engine: + エンジン(&E): + + + &Binary: + バイナリ(&B): + + + 64-bit version + 64 bit バージョン + + + 32-bit version + 32 bit バージョン + + + <html><body><p>Specify the path to the <a href="%1">Windows Console Debugger executable</a> (%2) here.</p></body></html> + Label text for path configuration. %2 is "x-bit version". + <html><body><p>ここに <a href="%1">Windows コンソールデバッガ の実行ファイル</a> (%2) のパスを指定して下さい。</p></body></html> + + + + Debugger::DebuggerKitInformation + + No debugger set up. + デバッガが設定されていません。 + + + Debugger '%1' not found. + デバッガ '%1' が見つかりませんでした。 + + + Debugger '%1' not executable. + デバッガ '%1' は実行可能ではありません。 + + + The debugger location must be given as an absolute path (%1). + デバッガのパスは絶対パスを指定する必要があります (%1)。 + + + %1 <None> + %1 <なし> + + + %1 using "%2" + + + + Debugger + デバッガ + + + GDB Engine + GDB エンジン + + + CDB Engine + CDB エンジン + + + LLDB Engine + LLDB エンジン + + + No kit found. + キットが見つかりません。 + + + + DeviceProcessesDialog + + &Attach to Process + プロセスにアタッチ(&A) + + + + DebuggerPlugin + + Debug + Debug + + + Unable to create a debugger engine of the type '%1' + '%1' タイプのデバッガエンジンを作成できません + + + + Debugger::Internal::GdbAbstractPlainEngine + + Starting executable failed: + + 実行ファイルの起動に失敗: + + + + + Debugger::Internal::GdbAttachEngine + + Attached to process %1. + プロセス %1 にアタッチしました。 + + + + Debugger::Internal::DebuggerCore + + Open Qt Options + Qt オプションを開く + + + Turn off Helper Usage + ヘルパの使い方を表示しない + + + Continue Anyway + 続行 + + + Debugging Helper Missing + デバッグヘルパ不明 + + + The debugger could not load the debugging helper library. + デバッガはデバッグヘルパライブラリを読み込めませんでした。 + + + The debugging helper is used to nicely format the values of some Qt and Standard Library data types. It must be compiled for each used Qt version separately. In the Qt Creator Build and Run preferences page, select a Qt version, expand the Details section and click Build All. + デバッグヘルパは Qt や標準ライブラリのデータ型の値を見やすく整形する為に使用されています。 +その為、使用する Qt バージョン毎に別々にコンパイルする必要があります。 +Qt Creator のビルドと実行設定ページで、Qt バージョンを選択し +詳細セクションを展開してすべてビルドをクリックして下さい。 + + + + Debugger::Internal::GdbCoreEngine + + Error Loading Core File + コアファイルの読込に失敗 + + + The specified file does not appear to be a core file. + 指定されたファイルはコアファイルではないようです。 + + + Error Loading Symbols + シンボルの読込に失敗 + + + No executable to load symbols from specified core. + + + + Symbols found. + シンボルが見つかりました。 + + + No symbols found in core file <i>%1</i>. + コアファイル <i>%1</i> にシンボルが見つかりません。 + + + This can be caused by a path length limitation in the core file. + コアファイルのパスの長さが原因の可能性があります。 + + + Try to specify the binary using the <i>Debug->Start Debugging->Attach to Core</i> dialog. + <i>デバッグ->デバッグ開始->コアファイルにアタッチ</i> ダイアログでバイナリファイルを指定して下さい。 + + + Attached to core. + コアファイルにアタッチしました。 + + + Attach to core "%1" failed: + + コアファイル "%1" へのアタッチが失敗しました: + + + + + Debugger::Internal::GdbLocalPlainEngine + + Cannot set up communication with child process: %1 + 子プロセスと通信できません: %1 + + + + Debugger::Internal::GdbRemoteServerEngine + + The upload process failed to start. Shell missing? + アップロードプロセスの開始に失敗しました。シェルが失われていませんか? + + + The upload process crashed some time after starting successfully. + アップロードプロセス起動が成功した後に、クラッシュしました。 + + + The last waitFor...() function timed out. The state of QProcess is unchanged, and you can try calling waitFor...() again. + 直前の waitFor...() 関数はタイムアウトしました。QProcessの状態に変化がないので、再度 waitFor...() を呼び出せます。 + + + An error occurred when attempting to write to the upload process. For example, the process may not be running, or it may have closed its input channel. + アップロードプロセスへの書き込み時にエラーが発生しました。プロセスが動作していないか、入力チャネルが閉じられている可能性があります。 + + + An error occurred when attempting to read from the upload process. For example, the process may not be running. + アップロードプロセスからの読み込み時にエラーが発生しました。アップロードプロセスが動作していない可能性があります。 + + + An unknown error in the upload process occurred. This is the default return value of error(). + アップロードプロセスで不明なエラーが発生しました。error()がデフォルト値で呼び出されている場合等に生じるエラーです。 + + + Error + エラー + + + No symbol file given. + シンボルファイルがありません。 + + + Reading debug information failed: + + デバッグ情報の読み込みに失敗: + + + + Interrupting not possible + 割り込み不可 + + + + Debugger::Internal::GdbServerStarter + + Remote Error + リモートエラー + + + Could not retrieve list of free ports: + 空きポートリストを取得できません: + + + Process aborted + プロセスは中止しました + + + Running command: %1 + コマンド実行中: %1 + + + Connection error: %1 + 接続エラー: %1 + + + Starting gdbserver... + gdbserver 起動中... + + + Port %1 is now accessible. + ポート %1 が使用可能になりました。 + + + Server started on %1:%2 + %1:%2 でサーバーが開始されました + + + Warning + 警告 + + + Cannot find local executable for remote process "%1". + リモートプロセス "%1" を実行する為のローカル実行ファイルが見つかりません。 + + + Cannot find ABI for remote process "%1". + リモートプロセス "%1" の ABIが見つかりません。 + + + Remote: "%1:%2" + リモート: "%1:%2" + + + Process gdbserver finished. Status: %1 + gdbserver プロセスは終了しました。 ステータス: %1 + + + + Debugger::Internal::GdbTermEngine + + Debugger Error + デバッガエラー + + + + Debugger::Internal::SelectRemoteFileDialog + + Download of remote file succeeded. + リモートファイルのダウンロードが成功しました。 + + + + Debugger::Internal::ModulesHandler + + Module Name + モジュール名 + + + Module Path + モジュールパス + + + Symbols Read + シンボル有無 + + + Symbols Type + シンボルの種類 + + + Start Address + 開始アドレス + + + End Address + 終端アドレス + + + Unknown + 不明 + + + No + いいえ + + + Yes + はい + + + None + なし + + + Plain + プレーン + + + Fast + + + + debuglnk + debuglnk + + + buildid + buildid + + + It is unknown whether this module contains debug information. +Use "Examine Symbols" from the context menu to initiate a check. + + + + This module neither contains nor references debug information. +Stepping into the module or setting breakpoints by file and line will not work. + このモジュールはデバッグ情報を含んでいません。 +ステップ実行や、ファイルや行番号に設定したブレークポイントが正しく動作しないでしょう。 + + + This module contains debug information. +Stepping into the module or setting breakpoints by file and is expected to work. + このモジュールはデバッグ情報を含んでいます。 +ステップ実行や、ファイルや行番号に設定したブレークポイントが期待した通りに動作するでしょう。 + + + This module does not contain debug information itself, but contains a reference to external debug information. + このモジュールは自身のデバッグ情報を含んでいませんが、参照している外部のデバッグ情報を含んでいます。 + + + <unknown> + address + End address of loaded module + <不明> + + + + Debugger::Internal::ModulesTreeView + + Update Module List + モジュールリストを更新 + + + Show Source Files for Module "%1" + モジュール "%1" のソースファイルを表示 + + + Load Symbols for All Modules + すべてのモジュールのシンボルの読込 + + + Examine All Modules + すべてのモジュールを調査 + + + Load Symbols for Module + モジュールのシンボルの読込 + + + Edit File + ファイルを編集 + + + Show Symbols + シンボルを表示 + + + Show Dependencies + 依存関係を表示 + + + Load Symbols for Module "%1" + モジュール "%1" のシンボルの読込 + + + Edit File "%1" + ファイル "%1" を編集 + + + Show Symbols in File "%1" + ファイル "%1" のシンボルを表示する + + + Show Dependencies of "%1" + "%1" の依存関係を表示 + + + + Debugger::Internal::QmlAdapter + + Connecting to debug server %1:%2 + デバッグサーバー %1:%2 に接続しています + + + Error: (%1) %2 + %1=error code, %2=error message + エラー: (%1) %2 + + + Disconnected. + + + 切断しました。 + + + + + Resolving host. + ホスト名を解決しています。 + + + Connecting to debug server. + デバッグサーバーに接続しています。 + + + Connected. + + 接続しました。 + + + + Closing. + 閉じています。 + + + + Debugger::Internal::QmlInspectorAgent + + Success: + 成功: + + + Properties + プロパティ + + + + Debugger::Internal::QmlLiveTextPreview + + The %1 attribute at line %2, column %3 cannot be changed without reloading the QML application. + %2 行 %3 文字目の %1 属性は、QML アプリケーションを再読込しないと変更できません。 + + + The %1 element at line %2, column %3 cannot be changed without reloading the QML application. + %2 行 %3 列目の %1 要素は、QML アプリケーションを再読込しないと変更できません。 + + + The changes in JavaScript cannot be applied without reloading the QML application. + JavaScript の変更は、QML アプリケーションを再読込しないと適用できません。 + + + The changes made cannot be applied without reloading the QML application. + 変更内容は、QML アプリケーションを再読込しないと適用できません。 + + + You can continue debugging, but behavior can be unexpected. + デバッグを続行する事もできますが、予期しない動作を引き起こす可能性があります。 + + + Reload QML + QMLの再読込 + + + + Debugger::Internal::RegisterTreeView + + Reload Register Listing + レジスタのリストの再読込 + + + Open Disassembler... + 逆アセンブラを開く... + + + Open Memory Editor at 0x%1 + アドレス 0x%1 をメモリエディタで開く + + + Open Memory View at Value of Register %1 0x%2 + レジスタ %1 0x%2 の値をメモリビューで開く + + + Open Disassembler at 0x%1 + アドレス 0x%1 を逆アセンブラで開く + + + Open Memory Editor + メモリエディタを開く + + + Open Memory View at Value of Register + レジスタの値をメモリビューで開く + + + Open Disassembler + 逆アセンブラを開く + + + Hexadecimal + 16進数 + + + Decimal + 10進数 + + + Octal + 8進数 + + + Binary + 2進数 + + + + Debugger::Internal::SnapshotTreeView + + Snapshots + スナップショット + + + Create Snapshot + スナップショットを作成 + + + Remove Snapshot + スナップショットを削除 + + + + Debugger::Internal::SourceFilesTreeView + + Reload Data + データの再読込 + + + Open File + ファイルを開く + + + Open File "%1"' + ファイル "%1" を開く + + + + Debugger::Internal::StackTreeView + + Stack + スタック + + + Function: + 関数: + + + Disassemble Function + 関数を逆アセンブル + + + Copy Contents to Clipboard + 内容をクリップボードにコピー + + + Open Memory Editor + メモリエディタを開く + + + Open Memory Editor at 0x%1 + アドレス 0x%1 をメモリエディタで開く + + + Open Disassembler at Address... + アドレスを逆アセンブラで開く... + + + Disassemble Function... + 関数を逆アセンブル... + + + Open Disassembler + 逆アセンブラを開く + + + Open Disassembler at 0x%1 + アドレス 0x%1 を逆アセンブラで開く + + + Try to Load Unknown Symbols + 不明なシンボルの読み込みを行う + + + Memory at Frame #%1 (%2) 0x%3 + フレーム番号 #%1 (%2) 0x%3 のメモリ内容 + + + Frame #%1 (%2) + フレーム番号 #%1 (%2) + + + + Debugger::Internal::WatchTreeView + + <i>%1</i> %2 at #%3 + HTML tooltip of a variable in the memory editor + #%3 の <i>%1</i> %2 + + + <i>%1</i> %2 + HTML tooltip of a variable in the memory editor + <i>%1</i> %2 + + + Register <i>%1</i> + レジスタ <i>%1</i> + + + Memory Referenced by Pointer "%1" (0x%2) + ポインタ "%1" (0x%2) によって参照されているメモリ + + + Memory at Variable "%1" (0x%2) + 変数 "%1" (0x%2) のメモリ + + + Cannot Display Stack Layout + スタックレイアウトを表示できません + + + Could not determine a suitable address range. + 適応するアドレス範囲が特定できません。 + + + Memory Layout of Local Variables at 0x%1 + 0x%1 のローカル変数のメモリレイアウト + + + Locals and Expressions + ローカル変数と式 + + + Add Expression Evaluator + 式エバリュエータを追加 + + + Add Expression Evaluator for "%1" + 式エバリュエータ "%1" を追加 + + + Remove Expression Evaluator + 式エバリュエータを削除 + + + Remove Expression Evaluator for "%1" + 式エバリュエータ "%1" を削除 + + + Change Local Display Format... + 局所的な表示形式を変更... + + + Treat All Characters as Printable + すべての文字を印刷可能文字として扱う + + + Show Unprintable Characters as Escape Sequences + 印刷不可文字をエスケープシーケンスとして表示 + + + Show Unprintable Characters as Octal + 印刷不可文字を8進数の文字として表示 + + + Show Unprintable Characters as Hexadecimal + 印刷不可文字を16進数の文字として表示 + + + Change Display for Object Named "%1": + "%1" という名前のオブジェクトの表示形式を変更: + + + Use Format for Type (Currently %1) + 型の表示形式を使う(現在は %1) + + + Use Display Format Based on Type + 型に基づいた表示形式を使用する + + + Change Display for Type "%1": + 型 "%1" の表示形式を変更: + + + Automatic + 自動 + + + Change Display for Type or Item... + 型または項目の表示形式を変更... + + + Add Data Breakpoint... + データブレークポイントを追加... + + + Add Data Breakpoint at Object's Address (0x%1) + オブジェクトのアドレス (0x%1) にデータブレークポイントを追加 + + + Add Data Breakpoint at Referenced Address (0x%1) + 参照アドレス (0x%1) にデータブレークポイントを追加 + + + Add Data Breakpoint + データブレークポイントを追加 + + + Setting a data breakpoint on an address will cause the program to stop when the data at the address is modified. + アドレスにデータブレークポイントを設定すると、そのアドレスのデータが変更された時にプログラムが停止します。 + + + Add Data Breakpoint at Expression + 式にデータブレークポイントを追加 + + + Add Data Breakpoint at Expression "%1" + 式 "%1" にデータブレークポイントを追加 + + + Setting a data breakpoint on an expression will cause the program to stop when the data at the address given by the expression is modified. + 式にデータブレークポイントを設定すると、式によって得られるアドレスのデータが変更された時にプログラムが停止します。 + + + Insert New Expression Evaluator + 新しい式エバリュエータを挿入 + + + Select Widget to Add into Expression Evaluator + 式エバリュエータに追加するウィジェットの選択 + + + Remove All Expression Evaluators + すべての式エバリュエータを削除 + + + Open Memory Editor... + メモリエディタを開く... + + + Open Memory Editor at Object's Address (0x%1) + オブジェクトのアドレス(0x%1)をメモリエディタで開く + + + Open Memory View at Object's Address (0x%1) + オブジェクトのアドレス (0x%1) をメモリビューで開く + + + Open Memory Editor at Object's Address + オブジェクトのアドレスをメモリエディタで開く + + + Open Memory View at Object's Address + オブジェクトのアドレスをメモリビューで開く + + + Open Memory Editor at Referenced Address (0x%1) + 参照アドレス(0x%1)をメモリエディタで開く + + + Open Memory View at Referenced Address (0x%1) + 参照アドレス (0x%1) をメモリビューで開く + + + Open Memory Editor at Referenced Address + 参照アドレスをメモリエディタで開く + + + Open Memory View at Referenced Address + 参照アドレスをメモリビューで開く + + + Open Memory Editor Showing Stack Layout + 表示しているスタックレイアウトをメモリエディタで開く + + + Copy Contents to Clipboard + 内容をクリップボードにコピー + + + Copy Value to Clipboard + クリップボードに値をコピー + + + Show View Contents in Editor + エディタ上で内容を表示する + + + Close Editor Tooltips + エディタのツールチップを閉じる + + + Enter Expression for Evaluator + 式エバリュエータを入力 + + + Expression: + 式: + + + Locals & Expressions + ローカル変数と式 + + + + Gerrit::Internal::GerritDialog + + Gerrit %1@%2 + Gerrit %1@%2 + + + Changes + 変更 + + + &Query: + クエリ(&Q): + + + Change #, SHA-1, tr:id, owner:email or reviewer:email + Change #, SHA-1, tr:id, owner:email or reviewer:email + + + Details + 詳細 + + + Diff... + Diff... + + + Apply... + 適用... + + + Checkout... + チェックアウト... + + + Refresh + 更新 + + + + Gerrit::Internal::GerritModel + + <html><head/><body><table><tr><td>Subject</td><td>%1</td></tr><tr><td>Number</td><td><a href="%11">%2</a></td></tr><tr><td>Owner</td><td>%3 <a href="mailto:%4">%4</a></td></tr><tr><td>Project</td><td>%5 (%6)</td></tr><tr><td>Status</td><td>%7, %8</td></tr><tr><td>Patch set</td><td>%9</td></tr>%10<tr><td>URL</td><td><a href="%11">%11</a></td></tr></table></body></html> + <html><head/><body><table><tr><td>件名</td><td>%1</td></tr><tr><td>Number</td><td><a href="%11">%2</a></td></tr><tr><td>オーナー</td><td>%3 <a href="mailto:%4">%4</a></td></tr><tr><td>プロジェクト</td><td>%5 (%6)</td></tr><tr><td>ステータス</td><td>%7, %8</td></tr><tr><td>Patch set</td><td>%9</td></tr>%10<tr><td>URL</td><td><a href="%11">%11</a></td></tr></table></body></html> + + + Subject + 件名 + + + Owner + オーナー + + + Updated + 更新日時 + + + Project + プロジェクト + + + Approvals + 承認者 + + + Status + ステータス + + + Parse error: '%1' -> %2 + パースエラー: '%1' -> %2 + + + Parse error: '%1' + パースエラー: '%1' + + + Parse error in line '%1' + '%1' 行目でパースエラー + + + + Gerrit::Internal::QueryContext + + Gerrit + Gerrit + + + Error running %1: %2 + %1 実行中にエラー: %2 + + + %1 crashed. + %1 がクラッシュしました。 + + + %1 returned %2. + %1 は %2 で終了しました。 + + + + Gerrit::Internal::GerritOptionsPage + + Gerrit + Gerrit + + + + Gerrit::Internal::GerritOptionsWidget + + HTTPS + HTTPS + + + &Host: + ホスト(&H): + + + &User: + ユーザー(&U): + + + &ssh: + SSH(&s): + + + &Port: + ポート(&P): + + + P&rotocol: + プロトコル(&r): + + + Determines the protocol used to form a URL in case +"canonicalWebUrl" is not configured in the file +"gerrit.config". + + + + + Gerrit::Internal::FetchContext + + Gerrit Fetch + Gerrit Fetch + + + %1 crashed. + %1 がクラッシュしました。 + + + %1 returned %2. + %1 は %2 で終了しました。 + + + Error running %1: %2 + %1 実行中にエラー: %2 + + + Error writing to temporary file. + 一時ファイルへの書き込みでエラーが発生しました。 + + + Writing %1... + %1 を書き込み中... + + + Cherry-picking %1... + %1 を cherry-pick 中... + + + + Gerrit::Internal::GerritPlugin + + Gerrit... + Gerrit... + + + Git is not available. + Git は利用できません。 + + + Enter Local Repository for '%1' (%2) + '%1' (%2) のローカルリポジトリを入力 + + + + Git::Internal::GitSubmitEditorWidget + + Detached HEAD + デタッチされた HEAD + + + + Git::Internal::ResetDialog + + Sha1 + SHA-1 + + + Subject + 件名 + + + Reset to: + + + + Undo Changes to %1 + %1 の変更を戻す + + + + Madde::Internal::DebianManager + + Error Creating Debian Project Templates + Debian プロジェクト テンプレート作成中にエラー + + + Failed to open debian changelog "%1" file for reading. + + + + Debian changelog file '%1' has unexpected format. + Debian チェンジログ '%1' が未知の形式です。 + + + Refusing to update changelog file: Already contains version '%1'. + changelog 更新中断: すでにバージョン '%1' で取り込まれています。 + + + Cannot update changelog: Invalid format (no maintainer entry found). + changelog 更新不可: 不正な形式です(メンテナのエントリが見つかりません)。 + + + Invalid icon data in Debian control file. + Debian コントロールファイル内に無効なアイコンデータがあります。 + + + Could not read image file '%1'. + 画像ファイル '%1' を読み込めません。 + + + Could not export image file '%1'. + 画像ファイル '%1' をエクスポートできません。 + + + Failed to create directory "%1". + ディレクトリ '%1' の作成に失敗しました。 + + + Unable to create Debian templates: No Qt version set. + Debian テンプレートを作成できません: Qt バージョンが設定されていません。 + + + Unable to create Debian templates: dh_make failed (%1). + Debian テンプレートを作成できません: dh_make が失敗しました (%1)。 + + + Unable to create debian templates: dh_make failed (%1). + Debian テンプレートを作成できません: dh_make が失敗しました (%1)。 + + + Unable to move new debian directory to '%1'. + 新しい Debian ディレクトリを '%1' に移動できません。 + + + + Madde::Internal::MaddeDevice + + Test + テスト + + + Deploy Public Key... + 公開鍵をデプロイ... + + + Maemo5/Fremantle + Maemo5/Fremantle + + + MeeGo 1.2 Harmattan + MeeGo 1.2 Harmattan + + + + Madde::Internal::MaddeQemuStartService + + Checking whether to start Qemu... + + + + Target device is not an emulator. Nothing to do. + + + + Qemu is already running. Nothing to do. + Qemu はすでに実行中の為、何もしません。 + + + Cannot deploy: Qemu was not running. It has now been started up for you, but it will take a bit of time until it is ready. Please try again then. + デプロイ不可: Qemu が実行されていません。既に起動はされていますが、準備が完了するまでもう少し時間がかかります。後で、もう一度やり直して下さい。 + + + Cannot deploy: You want to deploy to Qemu, but it is not enabled for this Qt version. + デプロイ不可: Qemu をデプロイしようとしていますが、この Qt バージョンでは使用できません。 + + + + Madde::Internal::MaddeQemuStartStep + + Start Qemu, if necessary + 必要に応じて Qemu 起動 + + + + Madde::Internal::Qt4MaemoDeployConfiguration + + Add Packaging Files to Project + プロジェクトにパッケージファイルを追加 + + + <html>Qt Creator has set up the following files to enable packaging: + %1 +Do you want to add them to the project?</html> + <html>Qt Creator はパッケージを有効にする為、以下のファイルを準備しています: + %1 +これらをプロジェクトに追加しますか?</html> + + + + Perforce::Internal::PerforceVersionControl + + &Edit (%1) + 編集 (%1) (&E) + + + &Hijack + ハイジャック(&H) + + + + ProjectExplorer::DesktopDevice + + Run locally + ローカル実行 + + + Desktop + デスクトップ + + + + ProjectExplorer::Internal::DesktopDeviceFactory + + Desktop + デスクトップ + + + + ProjectExplorer::DeviceApplicationRunner + + User requested stop. Shutting down... + ユーザーが停止を要求しました。シャットダウンします... + + + Cannot run: No device. + 実行不可: デバイスがありません。 + + + Connecting to device... + デバイスに接続中... + + + SSH connection failed: %1 + SSH 接続失敗: %1 + + + Application did not finish in time, aborting. + アプリケーションが時間内に終了しなかった為、中止しました。 + + + Remote application crashed: %1 + リモートアプリケーションがクラッシュしました: %1 + + + Remote application finished with exit code %1. + リモートアプリケーションは終了コード %1 で終了しました。 + + + Remote application finished with exit code 0. + リモートアプリケーションは終了コード 0 で終了しました。 + + + + ProjectExplorer::DeviceManagerModel + + %1 (default for %2) + %1 (%2 向けのデフォルト) + + + + ProjectExplorer::DeviceProcessesDialog + + Kit: + キット: + + + List of Processes + プロセス一覧 + + + Filter + フィルタ + + + &Update List + 一覧を更新(&U) + + + &Kill Process + プロセスを終了(&K) + + + &Filter: + フィルタ(&F): + + + + ProjectExplorer::Internal::DeviceProcessesDialogPrivate + + Remote Error + リモートエラー + + + + ProjectExplorer::DeviceProcessList + + Process ID + プロセスID + + + Command Line + コマンドライン + + + + ProjectExplorer::Internal::DeviceSettingsPage + + Devices + デバイス + + + + ProjectExplorer::DeviceUsedPortsGatherer + + Connection error: %1 + 接続エラー: %1 + + + Could not start remote process: %1 + リモートプロセスを開始できませんでした: %1 + + + Remote process crashed: %1 + リモートプロセスがクラッシュしました: %1 + + + Remote process failed; exit code was %1. + リモートプロセス失敗: 終了コードは %1 でした。 + + + +Remote error output was: %1 + +リモートのエラー出力: %1 + + + + ProjectExplorer::IDevice + + Device + デバイス + + + + ProjectExplorer::Internal::LocalProcessList + + Cannot terminate process %1: %2 + プロセス %1 を終了できません: %2 + + + Cannot open process %1: %2 + プロセス %1 を開けません: %2 + + + + ProjectExplorer::SshDeviceProcessList + + Connection failure: %1 + 接続エラー: %1 + + + Error: Process listing command failed to start: %1 + エラー: プロセス一覧取得コマンドの開始に失敗しました: %1 + + + Error: Process listing command crashed: %1 + エラー: プロセス一覧取得コマンドがクラッシュしました: %1 + + + Process listing command failed with exit code %1. + プロセス一覧取得コマンドは終了コード %1 で失敗しました。 + + + Error: Kill process failed to start: %1 + エラー: kill プロセスの開始に失敗しました: %1 + + + Error: Kill process crashed: %1 + エラー: kill プロセスがクラッシュしました: %1 + + + Kill process failed with exit code %1. + kill プロセスは終了コード %1 で終了しました。 + + + +Remote stderr was: %1 + +リモート側標準エラー出力: %1 + + + + ProjectExplorer::Kit + + Unnamed + 名前なし + + + Clone of %1 + %1 をクローン + + + Error: + エラー: + + + Warning: + 警告: + + + + ProjectExplorer::SysRootKitInformation + + Sys Root "%1" is not a directory. + Sys Root "%1" はディレクトリではありません。 + + + Sys Root + Sys Root + + + + ProjectExplorer::ToolChainKitInformation + + Compiler + コンパイラ + + + None + なし + + + No compiler set in kit. + キットにコンパイラが設定されていません。 + + + + ProjectExplorer::DeviceTypeKitInformation + + Device does not match device type. + デバイスは、未知のデバイス種類です。 + + + Unknown device type + 不明なデバイス種類 + + + Device type + デバイス種類 + + + + ProjectExplorer::DeviceKitInformation + + Device + デバイス + + + Unconfigured + 未構成 + + + + ProjectExplorer::Internal::SysRootInformationConfigWidget + + The root directory of the system image to use.<br>Leave empty when building for the desktop. + + + + Sysroot: + Sysroot: + + + + ProjectExplorer::Internal::ToolChainInformationConfigWidget + + The compiler to use for building.<br>Make sure the compiler will produce binaries compatible with the target device, Qt version and other libraries used. + + + + Manage... + 管理... + + + Compiler: + コンパイラ: + + + <No compiler available> + <利用可能なコンパイラなし> + + + + ProjectExplorer::Internal::DeviceTypeInformationConfigWidget + + The type of device to run applications on. + アプリケーションを実行するデバイスの種類です。 + + + Device type: + デバイス種類: + + + + ProjectExplorer::Internal::DeviceInformationConfigWidget + + The device to run the applications on. + アプリケーションを実行するデバイスです。 + + + Manage... + 管理... + + + Device: + デバイス: + + + + ProjectExplorer::KitManager + + Desktop + デスクトップ + + + + ProjectExplorer::Internal::KitManagerConfigWidget + + Name: + 名前: + + + Kit name and icon. + キットと名前のアイコンです。 + + + Select Icon + アイコンの選択 + + + Images (*.png *.xpm *.jpg) + 画像 (*.png *.xpm *.jpg) + + + + ProjectExplorer::Internal::KitModel + + Auto-detected + 自動検出 + + + Manual + 手動 + + + %1 (default) + Mark up a kit as the default one. + %1 (デフォルト) + + + Name + 名前 + + + Duplicate Kit Detected + 重複したキットを検出 + + + The kit<br>&nbsp;%1<br> was already configured. It was not configured again. + キット <br>&nbsp;%1<br> は構成済みの為、再構成しません。 + + + Duplicate Kits Detected + 重複したキットを検出 + + + The following kits were already configured:<br>&nbsp;%1<br>They were not configured again. + 以下のキットは構成済みです:<br>&nbsp;%1<br>これらは再構成されません。 + + + + ProjectExplorer::KitOptionsPage + + Kits + キット + + + Add + 追加 + + + Clone + Clone + + + Remove + 削除 + + + Make Default + デフォルトにする + + + + ProjectExplorer::RunConfiguration + + Unknown error. + 不明なエラーです。 + + + + ProjectExplorer::Target + + Default build + デフォルトビルド + + + + QmlJSTools::FindExportedCppTypes + + The type will only be available in Qt Creator's QML editors when the type name is a string literal + + + + The module URI cannot be determined by static analysis. The type will be available +globally in the QML editor. You can add a "// @uri My.Module.Uri" annotation to let +Qt Creator know about a likely URI. + + + + must be a string literal to be available in the QML editor + QML エディタ内では文字列リテラルでなければなりません + + + + QmlProfiler::Internal::QmlProfilerClientManager + + Qt Creator + Qt Creator + + + Could not connect to the in-process QML profiler. +Do you want to retry? + プロセス内 QML プロファイラに接続できませんでした。 +再試行しますか? + + + + QmlProfiler::Internal::QmlProfilerDataModel + + Source code not available + ソースコードが使用できません + + + <bytecode> + <バイトコード> + + + Animation Timer Update + アニメーションタイマー更新 + + + <Animation Update> + <アニメーション更新> + + + <program> + <プログラム> + + + Main Program + Main プログラム + + + %1 animations at %2 FPS + %2 fps で %1 個のアニメーション + + + No data to save + 保存データなし + + + Could not open %1 for writing + 書き込み用に %1 を開けません + + + Could not open %1 for reading + 読み込み用に %1 を開けません + + + Error while parsing %1 + %1 をパース中にエラー + + + Invalid version of QML Trace file. + QML トレースファイルのバージョンが不正です。 + + + + QmlProfiler::Internal::QmlProfilerStateWidget + + Loading data + データ読み込み中 + + + Profiling application + アプリケーションのプロファイリング + + + No QML events recorded + QML イベントの記録なし + + + Application stopped before loading all data + アプリケーションはすべてのデータを読み込む前に停止しました + + + + QmlProfiler::Internal::QmlProfilerTraceView + + Jump to previous event + 前のイベントにジャンプします + + + Jump to next event + 次のイベントにジャンプします + + + Show zoom slider + ズームスライダーを表示します + + + Select range + 範囲を選択して下さい + + + View event information on mouseover + マウスオーバー時にイベント情報を表示します + + + Limit Events Pane to Current Range + 現在の範囲でイベントペインを制限 + + + Reset Events Pane + イベントペインをリセット + + + Reset Zoom + 縮尺を戻す + + + + QmlProfiler::Internal::QmlProfilerViewManager + + Events + イベント + + + Timeline + タイムライン + + + JavaScript + JavaScript + + + + Qnx::Internal::BlackBerryAbstractDeployStep + + Starting: "%1" %2 + 起動中: "%1" %2 + + + + Qnx::Internal::BlackBerryApplicationRunner + + Launching application failed + アプリケーション起動に失敗 + + + Cannot show debug output. Error: %1 + デバッグ出力を表示できません。 エラー: %1 + + + + Qnx::Internal::BlackBerryCreatePackageStep + + Create BAR packages + BAR パッケージの作成 + + + Could not find packager command '%1' in the build environment + ビルド環境に packager コマンド '%1' が見つかりませんでした + + + No packages enabled for deployment + デプロイできるパッケージが見つかりません + + + Application descriptor file not specified, please check deployment settings + アプリケーション記述ファイルが指定されていません。デプロイ設定を確認して下さい + + + No package specified, please check deployment settings + パッケージが指定されていません。デプロイ設定を確認して下さい + + + Could not create build directory '%1' + ビルドディレクトリ '%1' を作成できませんでした + + + Error preparing application descriptor file + アプリケーション記述ファイルの準備中にエラー + + + Could not open '%1' for reading + + + + Could not create prepared application descriptor file in '%1' + + + + + Qnx::Internal::BlackBerryCreatePackageStepConfigWidget + + <b>Create packages</b> + <b>作成するパッケージ</b> + + + + Qnx::Internal::BlackBerryCreatePackageStepFactory + + Create BAR Packages + BAR パッケージの作成 + + + + Qnx::Internal::BlackBerryDeployConfiguration + + Deploy to BlackBerry Device + BlackBerry デバイスにデプロイ + + + + Qnx::Internal::BlackBerryDeployConfigurationFactory + + Deploy to BlackBerry Device + BlackBerry デバイスにデプロイ + + + + Qnx::Internal::BlackBerryDeployInformation + + Enabled + 有効 + + + Application descriptor file + アプリケーション記述ファイル + + + Package + パッケージ + + + + Qnx::Internal::BlackBerryDeployStep + + Deploy packages + パッケージをデプロイ + + + Could not find deploy command '%1' in the build environment + ビルド環境に、デプロイコマンド '%1' が見つかりませんでした + + + No hostname specified for device + デバイスにホスト名が指定されていません + + + No packages enabled for deployment + デプロイ可能なパッケージがありません + + + Package '%1' does not exist. Create the package first. + パッケージ '%1' は権西しません。先にパッケージを作成して下さい。 + + + + Qnx::Internal::BlackBerryDeployStepConfigWidget + + <b>Deploy packages</b> + <b>デプロイするパッケージ</b> + + + + Qnx::Internal::BlackBerryDeployStepFactory + + Deploy Package + パッケージをデプロイ + + + + Qnx::Internal::BlackBerryDeviceConfiguration + + BlackBerry + BlackBerry + + + + Qnx::Internal::BlackBerryDeviceConfigurationFactory + + BlackBerry Device + BlackBerry デバイス + + + + Qnx::Internal::BlackBerryDeviceConfigurationWizard + + New BlackBerry Device Configuration Setup + 新しい BlackBerry デバイス構成の設定 + + + Failure to Save Key File + 鍵ファイルの保存に失敗 + + + Failed to create directory: '%1'. + ディレクトリ '%1' の作成に失敗しました。 + + + Private key file already exists: '%1' + 秘密鍵ファイルが既に存在します: '%1' + + + Public key file already exists: '%1' + 公開鍵ファイルが既に存在します: '%1' + + + + Qnx::Internal::BlackBerryDeviceConfigurationWizardFinalPage + + Setup Finished + 設定が完了しました + + + The new device configuration will now be created. + 新しいデバイス構成が作成されます。 + + + + Qnx::Internal::BlackBerryQtVersion + + BlackBerry %1 + Qt Version is meant for BlackBerry + BlackBerry %1 + + + BlackBerry + BlackBerry + + + BlackBerry Native SDK: + BlackBerry ネイティブ SDK: + + + + Qnx::Internal::BlackBerryRunConfiguration + + %1 on BlackBerry device + BlackBerry デバイス上の %1 + + + Run on BlackBerry device + BlackBerry デバイス上で実行 + + + + Qnx::Internal::BlackBerryRunConfigurationFactory + + %1 on BlackBerry Device + BlackBerry デバイス上の %1 + + + + Qnx::Internal::BlackBerryRunControlFactory + + No active deploy configuration + アクティブなデプロイ構成がありません + + + Run on BlackBerry Device + BlackBerry デバイス上で実行 + + + + Qnx::Internal::QnxAbstractQtVersion + + No SDK path set + SDK のパスが設定されていません + + + + Qnx::Internal::QnxDebugSupport + + Preparing remote side... + + リモート側を準備しています... + + + + The %1 process closed unexpectedly. + プロセス %1 が、予期せず終了しました。 + + + Initial setup failed: %1 + 初回セットアップ失敗: %1 + + + + Qnx::Internal::QnxDeployConfigurationFactory + + Deploy to QNX Device + QNX デバイスにデプロイ + + + + Qnx::Internal::QnxDeviceConfiguration + + QNX + QNX + + + + Qnx::Internal::QnxDeviceConfigurationFactory + + QNX Device + QNX デバイス + + + + Qnx::Internal::QnxDeviceConfigurationWizard + + New QNX Device Configuration Setup + 新しい QNX デバイス構成の設定 + + + + Qnx::Internal::QnxDeviceConfigurationWizardSetupPage + + QNX Device + QNX デバイス + + + + Qnx::Internal::QnxQtVersion + + QNX %1 + Qt Version is meant for QNX + + + + QNX + QNX + + + QNX Software Development Platform: + + + + + Qnx::Internal::QnxRunConfiguration + + Path to Qt libraries on device: + デバイス上の Qt ライブラリのパス: + + + + Qnx::Internal::QnxRunConfigurationFactory + + %1 on QNX Device + QNX デバイス上の %1 + + + + Qnx::Internal::QnxRunControlFactory + + Run on remote QNX device + リモートの QNX デバイス上で実行する + + + + Qt4ProjectManager::Internal::QmakeKitConfigWidget + + The mkspec to use when building the project with qmake.<br>This setting is ignored when using other build systems. + + + + Qt mkspec: + Qt mkspec: + + + + Qt4ProjectManager::QmakeKitInformation + + No Qt version set, so mkspec is ignored. + Qt バージョンが設定されていない為、mkspec は無視されます。 + + + Mkspec not found for Qt version. + Qt バージョン用の mkspec が見つかりません。 + + + mkspec + mkspec + + + + Qt4ProjectManager::Qt4TargetSetupWidget + + Manage... + 管理... + + + <b>Error:</b> + Severity is Task::Error + <b>エラー:</b> + + + <b>Warning:</b> + Severity is Task::Warning + <b>警告:</b> + + + + Qt4ProjectManager::Internal::ImportWidget + + Import Build from... + ビルドをインポート... + + + Import + インポート + + + + QtSupport::Internal::CustomExecutableConfigurationWidget + + Command: + コマンド: + + + Arguments: + 引数: + + + Working directory: + 作業ディレクトリ: + + + Run in &terminal + ターミナルで実行(&T) + + + Run Environment + 実行時の環境変数 + + + Base environment for this run configuration: + 実行構成の元となる環境変数: + + + Clean Environment + 環境変数なし + + + System Environment + システム環境変数 + + + Build Environment + ビルド時の環境変数 + + + + CustomExecutableDialog + + Could not find the executable, please specify one. + 実行ファイルが見つかりません。実行ファイルを指定して下さい。 + + + + QtSupport::CustomExecutableRunConfiguration + + No executable. + 実行可能ファイルがありません。 + + + The executable +%1 +cannot be found in the path. + 実行可能ファイル +%1 +がパス内に見つかりません。 + + + Clean Environment + 環境変数なし + + + System Environment + システム環境変数 + + + Build Environment + ビルド時の環境変数 + + + Custom Executable + カスタム実行ファイル + + + Run %1 + %1 を実行 + + + + QtSupport::CustomExecutableRunConfigurationFactory + + Custom Executable + カスタム実行ファイル + + + + QtSupport::Internal::QtKitConfigWidget + + The Qt library to use for all projects using this kit.<br>A Qt version is required for qmake-based projects and optional when using other build systems. + + + + Manage... + 管理... + + + None + なし + + + Qt version: + Qt バージョン: + + + + QtSupport::QtKitInformation + + Qt version + Qt バージョン + + + None + なし + + + + RemoteLinux::Internal::LinuxDevice + + Generic Linux + 一般的な Linux + + + Test + テスト + + + Deploy Public Key... + 公開鍵をデプロイ... + + + + RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceService + + Remote process failed to start. + リモートプロセスの起動が失敗しました。 + + + Remote process crashed. + リモートプロセスがクラッシュしました。 + + + Unexpected output from remote process: '%1'. + リモートプロセスからの予期せぬ出力: '%1'。 + + + The remote file system has only %n megabytes of free space, but %1 megabytes are required. + + リモートのファイルシステムは %n MBytes しか空き容量がありませんが、%1 MBytes 必要です。 + + + + The remote file system has %n megabytes of free space, going ahead. + + リモートのファイルシステムは %n MBytes の空き容量がありますので、続行します。 + + + + Cannot check for free disk space: '%1' is not an absolute path. + 空き容量確認不可: '%1' が絶対パスではありません。 + + + + RemoteLinux::Internal::RemoteLinuxCheckForFreeDiskSpaceStepWidget + + MB + MB + + + + RemoteLinux::RemoteLinuxCheckForFreeDiskSpaceStep + + Check for free disk space + ディスクの空き容量チェック + + + + RemoteLinux::LinuxDeviceDebugSupport + + Checking available ports... + + 利用可能なポートをチェック中... + + + Debugging failed. + デバッグに失敗しました。 + + + Initial setup failed: %1 + 初回セットアップ失敗: %1 + + + Not enough free ports on device for debugging. + デバイスでデバッグするのに十分な空きポートがありません。 + + + + ResourceEditor::Internal::QrcEditor + + Add Files + ファイルを追加 + + + Add Prefix + プレフィックスを追加 + + + Invalid file location + 不正なファイルパス + + + Copy + コピー + + + Abort + 中止する + + + Skip + スキップ + + + The file %1 is not in a subdirectory of the resource file. You now have the option to copy this file to a valid location. + %1 はリソースサブディレクトリ配下にありません。有効なパスになるよう、ファイルをコピーしてくる事もできます。 + + + Choose Copy Location + コピー先を選択して下さい + + + Overwriting Failed + 上書き失敗 + + + Could not overwrite file %1. + ファイル %1 を上書きできませんでした。 + + + Copying Failed + コピー失敗 + + + Could not copy the file to %1. + ファイル %1 をコピーできませんでした。 + + + + ResourceFile + + The file name is empty. + ファイル名が未入力です。 + + + XML error on line %1, col %2: %3 + XML の %1 行目 %2 文字目 に誤りがあります: %3 + + + The <RCC> root element is missing. + <RCC> にルート要素がありません。 + + + Cannot write file. Disk full? + ファイルを書けません。ディスクフルではありませんか? + + + + ResourceEditor::Internal::ResourceView + + Open File + ファイルを開く + + + All files (*) + すべてのファイル (*) + + + + QApplication + + Ninja (%1) + Ninja (%1) + + + NMake Generator (%1) + NMake ジェネレータ (%1) + + + MinGW Generator (%1) + MinGW ジェネレータ (%1) + + + Unix Generator (%1) + Unix ジェネレータ (%1) + + From 2910233e521c87a936eaababe90fffd66a840413 Mon Sep 17 00:00:00 2001 From: Kevin Krammer Date: Fri, 12 Oct 2012 04:25:23 +0200 Subject: [PATCH 31/46] QNX: use QmlApplicationViewer provided by main QtQuick template Reuse the QML application class provided by the standard QtQuick1 template. Extends qtquickapp/qmlapplicationviewer/qmlapplicationviewer.cpp with code paths for Q_OS_QNX Change-Id: I04a283078299f662d630d9387cedc65100f545a0 Reviewed-by: Mehdi Fekari Reviewed-by: Alessandro Portale --- .../qmlapplicationviewer.cpp | 5 ++++- .../templates/wizards/bb-quickapp/main.cpp | 21 +++++++------------ .../templates/wizards/bb-quickapp/project.pro | 3 ++- .../templates/wizards/bb-quickapp/wizard.xml | 3 +++ 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/share/qtcreator/templates/qtquickapp/qmlapplicationviewer/qmlapplicationviewer.cpp b/share/qtcreator/templates/qtquickapp/qmlapplicationviewer/qmlapplicationviewer.cpp index 79c9fe0deb7..f4221780796 100644 --- a/share/qtcreator/templates/qtquickapp/qmlapplicationviewer/qmlapplicationviewer.cpp +++ b/share/qtcreator/templates/qtquickapp/qmlapplicationviewer/qmlapplicationviewer.cpp @@ -61,6 +61,9 @@ QString QmlApplicationViewerPrivate::adjustPath(const QString &path) if (!QDir::isAbsolutePath(path)) return QString::fromLatin1("%1/../Resources/%2") .arg(QCoreApplication::applicationDirPath(), path); +#elif defined(Q_OS_QNX) + if (!QDir::isAbsolutePath(path)) + return QString::fromLatin1("app/native/%1").arg(path); #elif !defined(Q_OS_ANDROID) const QString pathInInstallDir = QString::fromLatin1("%1/../%2").arg(QCoreApplication::applicationDirPath(), path); @@ -154,7 +157,7 @@ void QmlApplicationViewer::showExpanded() { #if defined(MEEGO_EDITION_HARMATTAN) || defined(Q_WS_SIMULATOR) showFullScreen(); -#elif defined(Q_WS_MAEMO_5) +#elif defined(Q_WS_MAEMO_5) || defined(Q_OS_QNX) showMaximized(); #else show(); diff --git a/share/qtcreator/templates/wizards/bb-quickapp/main.cpp b/share/qtcreator/templates/wizards/bb-quickapp/main.cpp index 0567683b62d..618da57ec9b 100644 --- a/share/qtcreator/templates/wizards/bb-quickapp/main.cpp +++ b/share/qtcreator/templates/wizards/bb-quickapp/main.cpp @@ -1,20 +1,15 @@ #include -#include -#include +#include "qmlapplicationviewer.h" int main(int argc, char *argv[]) { - QApplication a(argc, argv); + QScopedPointer app(createApplication(argc, argv)); - QDeclarativeView view; -#ifdef Q_OS_QNX - view.setSource(QUrl("app/native/qml/main.qml")); -#else - view.setSource(QUrl("qml/main.qml")); -#endif - view.setAttribute(Qt::WA_AutoOrientation, true); - view.setResizeMode(QDeclarativeView::SizeRootObjectToView); - view.showMaximized(); + QmlApplicationViewer viewer; + viewer.addImportPath(QLatin1String("modules")); // ADDIMPORTPATH + viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto); // ORIENTATION + viewer.setMainQmlFile(QLatin1String("qml/main.qml")); // MAINQML + viewer.showExpanded(); - return a.exec(); + return app->exec(); } diff --git a/share/qtcreator/templates/wizards/bb-quickapp/project.pro b/share/qtcreator/templates/wizards/bb-quickapp/project.pro index 637b8046f4a..e2c68d149ce 100644 --- a/share/qtcreator/templates/wizards/bb-quickapp/project.pro +++ b/share/qtcreator/templates/wizards/bb-quickapp/project.pro @@ -1,6 +1,7 @@ TEMPLATE = app -QT += declarative +# Please do not modify the following line. +include(qmlapplicationviewer/qmlapplicationviewer.pri) # Additional import path used to resolve QML modules in Creator's code model QML_IMPORT_PATH = diff --git a/share/qtcreator/templates/wizards/bb-quickapp/wizard.xml b/share/qtcreator/templates/wizards/bb-quickapp/wizard.xml index 08940d60cfe..3bbbaaa6b2a 100644 --- a/share/qtcreator/templates/wizards/bb-quickapp/wizard.xml +++ b/share/qtcreator/templates/wizards/bb-quickapp/wizard.xml @@ -42,5 +42,8 @@ + + + From e13bbe4e353fdc429e514255264571331a2b551a Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Wed, 10 Oct 2012 20:15:27 +0200 Subject: [PATCH 32/46] Attach to Core: Sort by file name Files and directories are interleaved, but it's better than no sorting at all Change-Id: I1852fad1feb9de7fb589d00822429184a25aa8d4 Reviewed-by: hjk --- src/plugins/debugger/loadcoredialog.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/plugins/debugger/loadcoredialog.cpp b/src/plugins/debugger/loadcoredialog.cpp index 1b93b187f8b..92b16b367c9 100644 --- a/src/plugins/debugger/loadcoredialog.cpp +++ b/src/plugins/debugger/loadcoredialog.cpp @@ -123,6 +123,7 @@ SelectRemoteFileDialog::SelectRemoteFileDialog(QWidget *parent) m_fileSystemView = new QTreeView(this); m_fileSystemView->setModel(&m_model); m_fileSystemView->setSortingEnabled(true); + m_fileSystemView->sortByColumn(1, Qt::AscendingOrder); m_fileSystemView->setUniformRowHeights(true); m_fileSystemView->setSelectionMode(QAbstractItemView::SingleSelection); m_fileSystemView->setSelectionBehavior(QAbstractItemView::SelectRows); From 47e42e53d03d63d9f0155a4b5215018277d11762 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Mon, 15 Oct 2012 08:59:09 +0200 Subject: [PATCH 33/46] Debugger: Fix showing/hiding of form rows Change-Id: I1f6afa472d5ca30c15a84a49ea852063247c5210 Reviewed-by: hjk --- src/plugins/debugger/debuggerdialogs.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index 62afe1c6e65..f3f9c810567 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -384,10 +384,9 @@ bool StartApplicationDialog::run(QWidget *parent, QSettings *settings, DebuggerS StartApplicationDialog dialog(parent); dialog.setHistory(history); dialog.setParameters(history.back()); - if (attachRemote) { + if (!attachRemote) { dialog.d->serverStartScriptPathChooser->setVisible(false); dialog.d->serverStartScriptLabel->setVisible(false); - } else { dialog.d->serverPortSpinBox->setVisible(false); dialog.d->serverPortLabel->setVisible(false); } From f88636e613efcf2ef106c7bda9fa47ddfb7bab34 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Wed, 10 Oct 2012 15:34:35 +0200 Subject: [PATCH 34/46] Kit: Improve the options page * Update warning icon as changes happen * Make clone clone the current settings, not what used to be there before changes were made * Make sure the edited entry is visible in list view * I find the KitModel much easier to understand now Task-number: QTCREATORBUG-7862 Task-number: QTCREATORBUG-7803 Change-Id: I124c2e5a96cea7386896084e1027ba79a8be20b7 Reviewed-by: Daniel Teske Reviewed-by: Eike Ziller --- .../debugger/debuggerkitconfigwidget.cpp | 39 +--- .../debugger/debuggerkitconfigwidget.h | 12 +- src/plugins/projectexplorer/kitconfigwidget.h | 5 +- .../kitinformationconfigwidget.cpp | 113 ++++------- .../kitinformationconfigwidget.h | 28 +-- src/plugins/projectexplorer/kitmanager.cpp | 4 +- .../kitmanagerconfigwidget.cpp | 138 +++++++++++-- .../projectexplorer/kitmanagerconfigwidget.h | 23 ++- src/plugins/projectexplorer/kitmodel.cpp | 190 +++++++----------- src/plugins/projectexplorer/kitmodel.h | 12 +- .../projectexplorer/kitoptionspage.cpp | 17 +- .../qmakekitconfigwidget.cpp | 15 +- .../qt4projectmanager/qmakekitconfigwidget.h | 7 +- src/plugins/qtsupport/qtkitconfigwidget.cpp | 40 +--- src/plugins/qtsupport/qtkitconfigwidget.h | 6 +- 15 files changed, 314 insertions(+), 335 deletions(-) diff --git a/src/plugins/debugger/debuggerkitconfigwidget.cpp b/src/plugins/debugger/debuggerkitconfigwidget.cpp index 438f92bc48d..f0c40afa896 100644 --- a/src/plugins/debugger/debuggerkitconfigwidget.cpp +++ b/src/plugins/debugger/debuggerkitconfigwidget.cpp @@ -64,13 +64,12 @@ static const char dgbToolsDownloadLink64C[] = "http://www.microsoft.com/whdc/dev // DebuggerKitConfigWidget: // ----------------------------------------------------------------------- -DebuggerKitConfigWidget::DebuggerKitConfigWidget(ProjectExplorer::Kit *k, +DebuggerKitConfigWidget::DebuggerKitConfigWidget(ProjectExplorer::Kit *workingCopy, const DebuggerKitInformation *ki, QWidget *parent) : ProjectExplorer::KitConfigWidget(parent), - m_kit(k), + m_kit(workingCopy), m_info(ki), - m_dirty(false), m_label(new QLabel(this)), m_button(new QPushButton(tr("Manage..."), this)) { @@ -88,7 +87,7 @@ DebuggerKitConfigWidget::DebuggerKitConfigWidget(ProjectExplorer::Kit *k, connect(changeAction, SIGNAL(triggered()), this, SLOT(showDialog())); m_button->setMenu(buttonMenu); - discard(); + refresh(); } QWidget *DebuggerKitConfigWidget::buttonWidget() const @@ -106,45 +105,23 @@ void DebuggerKitConfigWidget::makeReadOnly() m_button->setEnabled(false); } -void DebuggerKitConfigWidget::apply() +void DebuggerKitConfigWidget::refresh() { - DebuggerKitInformation::setDebuggerItem(m_kit, m_item); - m_dirty = false; -} - -void DebuggerKitConfigWidget::discard() -{ - doSetItem(DebuggerKitInformation::debuggerItem(m_kit)); - m_dirty = false; + m_label->setText(DebuggerKitInformation::userOutput(DebuggerKitInformation::debuggerItem(m_kit))); } void DebuggerKitConfigWidget::autoDetectDebugger() { - setItem(DebuggerKitInformation::autoDetectItem(m_kit)); -} - -void DebuggerKitConfigWidget::doSetItem(const DebuggerKitInformation::DebuggerItem &item) -{ - m_item = item; - m_label->setText(DebuggerKitInformation::userOutput(m_item)); -} - -void DebuggerKitConfigWidget::setItem(const DebuggerKitInformation::DebuggerItem &item) -{ - if (m_item != item) { - m_dirty = true; - doSetItem(item); - emit dirty(); - } + DebuggerKitInformation::setDebuggerItem(m_kit, DebuggerKitInformation::autoDetectItem(m_kit)); } void DebuggerKitConfigWidget::showDialog() { DebuggerKitConfigDialog dialog; dialog.setWindowTitle(tr("Debugger for \"%1\"").arg(m_kit->displayName())); - dialog.setDebuggerItem(m_item); + dialog.setDebuggerItem(DebuggerKitInformation::debuggerItem(m_kit)); if (dialog.exec() == QDialog::Accepted) - setItem(dialog.item()); + DebuggerKitInformation::setDebuggerItem(m_kit, dialog.item()); } // ----------------------------------------------------------------------- diff --git a/src/plugins/debugger/debuggerkitconfigwidget.h b/src/plugins/debugger/debuggerkitconfigwidget.h index 2582afec520..505feca5585 100644 --- a/src/plugins/debugger/debuggerkitconfigwidget.h +++ b/src/plugins/debugger/debuggerkitconfigwidget.h @@ -61,7 +61,7 @@ class DebuggerKitConfigWidget : public ProjectExplorer::KitConfigWidget Q_OBJECT public: - DebuggerKitConfigWidget(ProjectExplorer::Kit *k, + DebuggerKitConfigWidget(ProjectExplorer::Kit *workingCopy, const DebuggerKitInformation *ki, QWidget *parent = 0); @@ -69,9 +69,8 @@ public: void makeReadOnly(); - void apply(); - void discard(); - bool isDirty() const { return m_dirty; } + void refresh(); + QWidget *buttonWidget() const; private slots: @@ -79,13 +78,8 @@ private slots: void showDialog(); private: - void setItem(const DebuggerKitInformation::DebuggerItem &item); - void doSetItem(const DebuggerKitInformation::DebuggerItem &item); - ProjectExplorer::Kit *m_kit; const DebuggerKitInformation *m_info; - DebuggerKitInformation::DebuggerItem m_item; - bool m_dirty; QLabel *m_label; QPushButton *m_button; }; diff --git a/src/plugins/projectexplorer/kitconfigwidget.h b/src/plugins/projectexplorer/kitconfigwidget.h index f4079ddf5c3..c9239f33129 100644 --- a/src/plugins/projectexplorer/kitconfigwidget.h +++ b/src/plugins/projectexplorer/kitconfigwidget.h @@ -52,10 +52,7 @@ public: virtual QString displayName() const = 0; virtual void makeReadOnly() = 0; - - virtual void apply() = 0; - virtual void discard() = 0; - virtual bool isDirty() const = 0; + virtual void refresh() = 0; virtual QWidget *buttonWidget() const { return 0; } diff --git a/src/plugins/projectexplorer/kitinformationconfigwidget.cpp b/src/plugins/projectexplorer/kitinformationconfigwidget.cpp index cb811d56cd9..78e3927689d 100644 --- a/src/plugins/projectexplorer/kitinformationconfigwidget.cpp +++ b/src/plugins/projectexplorer/kitinformationconfigwidget.cpp @@ -69,7 +69,7 @@ SysRootInformationConfigWidget::SysRootInformationConfigWidget(Kit *k, QWidget * m_chooser->setFileName(SysRootKitInformation::sysRoot(k)); - connect(m_chooser, SIGNAL(changed(QString)), this, SIGNAL(dirty())); + connect(m_chooser, SIGNAL(changed(QString)), this, SLOT(pathWasChanged())); } QString SysRootInformationConfigWidget::displayName() const @@ -77,21 +77,11 @@ QString SysRootInformationConfigWidget::displayName() const return tr("Sysroot:"); } -void SysRootInformationConfigWidget::apply() -{ - SysRootKitInformation::setSysRoot(m_kit, m_chooser->fileName()); -} - -void SysRootInformationConfigWidget::discard() +void SysRootInformationConfigWidget::refresh() { m_chooser->setFileName(SysRootKitInformation::sysRoot(m_kit)); } -bool SysRootInformationConfigWidget::isDirty() const -{ - return SysRootKitInformation::sysRoot(m_kit) != m_chooser->fileName(); -} - void SysRootInformationConfigWidget::makeReadOnly() { m_chooser->setEnabled(false); @@ -102,6 +92,11 @@ QWidget *SysRootInformationConfigWidget::buttonWidget() const return m_chooser->buttonAtIndex(0); } +void SysRootInformationConfigWidget::pathWasChanged() +{ + SysRootKitInformation::setSysRoot(m_kit, m_chooser->fileName()); +} + // -------------------------------------------------------------------------- // ToolChainInformationConfigWidget: // -------------------------------------------------------------------------- @@ -128,8 +123,8 @@ ToolChainInformationConfigWidget::ToolChainInformationConfigWidget(Kit *k, QWidg updateComboBox(); - discard(); - connect(m_comboBox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(dirty())); + refresh(); + connect(m_comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(currentToolChainChanged(int))); m_manageButton->setContentsMargins(0, 0, 0, 0); m_manageButton->setText(tr("Manage...")); @@ -148,25 +143,11 @@ QString ToolChainInformationConfigWidget::displayName() const return tr("Compiler:"); } -void ToolChainInformationConfigWidget::apply() -{ - const QString id = m_comboBox->itemData(m_comboBox->currentIndex()).toString(); - ToolChain *tc = ToolChainManager::instance()->findToolChain(id); - ToolChainKitInformation::setToolChain(m_kit, tc); -} - -void ToolChainInformationConfigWidget::discard() +void ToolChainInformationConfigWidget::refresh() { m_comboBox->setCurrentIndex(indexOf(ToolChainKitInformation::toolChain(m_kit))); } -bool ToolChainInformationConfigWidget::isDirty() const -{ - ToolChain *tc = ToolChainKitInformation::toolChain(m_kit); - return (m_comboBox->itemData(m_comboBox->currentIndex()).toString()) - != (tc ? tc->id() : QString()); -} - void ToolChainInformationConfigWidget::makeReadOnly() { m_comboBox->setEnabled(false); @@ -205,6 +186,13 @@ void ToolChainInformationConfigWidget::manageToolChains() QLatin1String(ProjectExplorer::Constants::TOOLCHAIN_SETTINGS_PAGE_ID)); } +void ToolChainInformationConfigWidget::currentToolChainChanged(int idx) +{ + const QString id = m_comboBox->itemData(idx).toString(); + ToolChain *tc = ToolChainManager::instance()->findToolChain(id); + ToolChainKitInformation::setToolChain(m_kit, tc); +} + void ToolChainInformationConfigWidget::updateComboBox() { // remove unavailable tool chain: @@ -234,9 +222,9 @@ int ToolChainInformationConfigWidget::indexOf(const ToolChain *tc) // DeviceTypeInformationConfigWidget: // -------------------------------------------------------------------------- -DeviceTypeInformationConfigWidget::DeviceTypeInformationConfigWidget(Kit *k, QWidget *parent) : +DeviceTypeInformationConfigWidget::DeviceTypeInformationConfigWidget(Kit *workingCopy, QWidget *parent) : KitConfigWidget(parent), - m_isReadOnly(false), m_kit(k), + m_isReadOnly(false), m_kit(workingCopy), m_comboBox(new QComboBox) { setToolTip(tr("The type of device to run applications on.")); @@ -250,12 +238,12 @@ DeviceTypeInformationConfigWidget::DeviceTypeInformationConfigWidget(Kit *k, QWi = ExtensionSystem::PluginManager::instance()->getObjects(); foreach (IDeviceFactory *factory, factories) { foreach (Core::Id id, factory->availableCreationIds()) { - m_comboBox->addItem(factory->displayNameForId(id), QVariant::fromValue(id)); + m_comboBox->addItem(factory->displayNameForId(id), id.uniqueIdentifier()); } } - discard(); - connect(m_comboBox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(dirty())); + refresh(); + connect(m_comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(currentTypeChanged(int))); } QString DeviceTypeInformationConfigWidget::displayName() const @@ -263,47 +251,37 @@ QString DeviceTypeInformationConfigWidget::displayName() const return tr("Device type:"); } -void DeviceTypeInformationConfigWidget::apply() -{ - Core::Id devType; - if (m_comboBox->currentIndex() >= 0) - devType = m_comboBox->itemData(m_comboBox->currentIndex()).value(); - DeviceTypeKitInformation::setDeviceTypeId(m_kit, devType); -} - -void DeviceTypeInformationConfigWidget::discard() +void DeviceTypeInformationConfigWidget::refresh() { Core::Id devType = DeviceTypeKitInformation::deviceTypeId(m_kit); if (!devType.isValid()) m_comboBox->setCurrentIndex(-1); for (int i = 0; i < m_comboBox->count(); ++i) { - if (m_comboBox->itemData(i).value() == devType) { + if (m_comboBox->itemData(i).toInt() == devType.uniqueIdentifier()) { m_comboBox->setCurrentIndex(i); break; } } } -bool DeviceTypeInformationConfigWidget::isDirty() const -{ - Core::Id devType; - if (m_comboBox->currentIndex() >= 0) - devType = m_comboBox->itemData(m_comboBox->currentIndex()).value(); - return DeviceTypeKitInformation::deviceTypeId(m_kit) != devType; -} - void DeviceTypeInformationConfigWidget::makeReadOnly() { m_comboBox->setEnabled(false); } +void DeviceTypeInformationConfigWidget::currentTypeChanged(int idx) +{ + Core::Id type = idx < 0 ? Core::Id() : Core::Id::fromUniqueIdentifier(m_comboBox->itemData(idx).toInt()); + DeviceTypeKitInformation::setDeviceTypeId(m_kit, type); +} + // -------------------------------------------------------------------------- // DeviceInformationConfigWidget: // -------------------------------------------------------------------------- -DeviceInformationConfigWidget::DeviceInformationConfigWidget(Kit *k, QWidget *parent) : +DeviceInformationConfigWidget::DeviceInformationConfigWidget(Kit *workingCopy, QWidget *parent) : KitConfigWidget(parent), - m_isReadOnly(false), m_kit(k), + m_isReadOnly(false), m_kit(workingCopy), m_comboBox(new QComboBox), m_manageButton(new QPushButton(this)), m_model(new DeviceManagerModel(DeviceManager::instance())) { @@ -323,8 +301,8 @@ DeviceInformationConfigWidget::DeviceInformationConfigWidget(Kit *k, QWidget *pa m_manageButton->setContentsMargins(0, 0, 0, 0); m_manageButton->setText(tr("Manage...")); - discard(); - connect(m_comboBox, SIGNAL(currentIndexChanged(int)), this, SIGNAL(dirty())); + refresh(); + connect(m_comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(currentDeviceChanged())); connect(m_manageButton, SIGNAL(clicked()), this, SLOT(manageDevices())); } @@ -334,26 +312,12 @@ QString DeviceInformationConfigWidget::displayName() const return tr("Device:"); } -void DeviceInformationConfigWidget::apply() -{ - int idx = m_comboBox->currentIndex(); - if (idx >= 0) - DeviceKitInformation::setDeviceId(m_kit, m_model->deviceId(idx)); - else - DeviceKitInformation::setDeviceId(m_kit, IDevice::invalidId()); -} - -void DeviceInformationConfigWidget::discard() +void DeviceInformationConfigWidget::refresh() { + m_model->setTypeFilter(DeviceTypeKitInformation::deviceTypeId(m_kit)); m_comboBox->setCurrentIndex(m_model->indexOf(DeviceKitInformation::device(m_kit))); } -bool DeviceInformationConfigWidget::isDirty() const -{ - Core::Id devId = DeviceKitInformation::deviceId(m_kit); - return devId != m_model->deviceId(m_comboBox->currentIndex()); -} - void DeviceInformationConfigWidget::makeReadOnly() { m_comboBox->setEnabled(false); @@ -380,5 +344,10 @@ void DeviceInformationConfigWidget::modelReset() m_comboBox->setCurrentIndex(m_model->indexForId(m_selectedId)); } +void DeviceInformationConfigWidget::currentDeviceChanged() +{ + DeviceKitInformation::setDeviceId(m_kit, m_model->deviceId(m_comboBox->currentIndex())); +} + } // namespace Internal } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/kitinformationconfigwidget.h b/src/plugins/projectexplorer/kitinformationconfigwidget.h index 44b79ff5ba1..2f3aaf1dd0f 100644 --- a/src/plugins/projectexplorer/kitinformationconfigwidget.h +++ b/src/plugins/projectexplorer/kitinformationconfigwidget.h @@ -61,12 +61,13 @@ public: explicit SysRootInformationConfigWidget(Kit *k, QWidget *parent = 0); QString displayName() const; - void apply(); - void discard(); - bool isDirty() const; + void refresh(); void makeReadOnly(); QWidget *buttonWidget() const; +private slots: + void pathWasChanged(); + private: Kit *m_kit; Utils::PathChooser *m_chooser; @@ -84,9 +85,7 @@ public: explicit ToolChainInformationConfigWidget(Kit *k, QWidget *parent = 0); QString displayName() const; - void apply(); - void discard(); - bool isDirty() const; + void refresh(); void makeReadOnly(); QWidget *buttonWidget() const; @@ -95,6 +94,7 @@ private slots: void toolChainRemoved(ProjectExplorer::ToolChain *tc); void toolChainUpdated(ProjectExplorer::ToolChain *tc); void manageToolChains(); + void currentToolChainChanged(int idx); private: void updateComboBox(); @@ -115,14 +115,15 @@ class DeviceTypeInformationConfigWidget : public KitConfigWidget Q_OBJECT public: - explicit DeviceTypeInformationConfigWidget(Kit *k, QWidget *parent = 0); + explicit DeviceTypeInformationConfigWidget(Kit *workingCopy, QWidget *parent = 0); QString displayName() const; - void apply(); - void discard(); - bool isDirty() const; + void refresh(); void makeReadOnly(); +private slots: + void currentTypeChanged(int idx); + private: bool m_isReadOnly; Kit *m_kit; @@ -138,12 +139,10 @@ class DeviceInformationConfigWidget : public KitConfigWidget Q_OBJECT public: - explicit DeviceInformationConfigWidget(Kit *k, QWidget *parent = 0); + explicit DeviceInformationConfigWidget(Kit *workingCopy, QWidget *parent = 0); QString displayName() const; - void apply(); - void discard(); - bool isDirty() const; + void refresh(); void makeReadOnly(); QWidget *buttonWidget() const; @@ -151,6 +150,7 @@ private slots: void manageDevices(); void modelAboutToReset(); void modelReset(); + void currentDeviceChanged(); private: bool m_isReadOnly; diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index a51770ea43c..8dbf709d0c2 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -359,11 +359,9 @@ QList KitManager::kitInformation() const Internal::KitManagerConfigWidget *KitManager::createConfigWidget(Kit *k) const { - if (!k) - return 0; Internal::KitManagerConfigWidget *result = new Internal::KitManagerConfigWidget(k); foreach (KitInformation *ki, d->m_informationList) - result->addConfigWidget(ki->createConfigWidget(k)); + result->addConfigWidget(ki->createConfigWidget(result->workingCopy())); return result; } diff --git a/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp b/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp index 857c9121bca..d62dd359cc1 100644 --- a/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp +++ b/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp @@ -30,6 +30,7 @@ #include "kitmanagerconfigwidget.h" #include "kit.h" +#include "kitmanager.h" #include @@ -43,16 +44,20 @@ #include #include +static const char WORKING_COPY_KIT_ID[] = "modified kit"; + namespace ProjectExplorer { namespace Internal { KitManagerConfigWidget::KitManagerConfigWidget(Kit *k, QWidget *parent) : - KitConfigWidget(parent), + QWidget(parent), m_layout(new QGridLayout), m_iconButton(new QToolButton), m_nameEdit(new QLineEdit), - m_kit(k) + m_kit(k), + m_modifiedKit(new Kit(Core::Id(WORKING_COPY_KIT_ID))), + m_fixingKit(false) { QVBoxLayout *top = new QVBoxLayout(this); top->setMargin(0); @@ -81,7 +86,21 @@ KitManagerConfigWidget::KitManagerConfigWidget(Kit *k, QWidget *parent) : discard(); connect(m_iconButton, SIGNAL(clicked()), this, SLOT(setIcon())); - connect(m_nameEdit, SIGNAL(textChanged(QString)), this, SIGNAL(dirty())); + connect(m_nameEdit, SIGNAL(textChanged(QString)), this, SLOT(setDisplayName())); + + KitManager *km = KitManager::instance(); + connect(km, SIGNAL(unmanagedKitUpdated(ProjectExplorer::Kit*)), + this, SLOT(workingCopyWasUpdated(ProjectExplorer::Kit*))); + connect(km, SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(kitWasUpdated(ProjectExplorer::Kit*))); +} + +KitManagerConfigWidget::~KitManagerConfigWidget() +{ + delete m_modifiedKit; + // Make sure our workingCopy did not get registered somehow: + foreach (const Kit *k, KitManager::instance()->kits()) + Q_ASSERT(k->id() != Core::Id(WORKING_COPY_KIT_ID)); } QString KitManagerConfigWidget::displayName() const @@ -91,27 +110,51 @@ QString KitManagerConfigWidget::displayName() const void KitManagerConfigWidget::apply() { - foreach (KitConfigWidget *w, m_widgets) - w->apply(); - m_kit->setIconPath(m_iconPath); - m_kit->setDisplayName(m_nameEdit->text()); + KitManager *km = KitManager::instance(); + bool mustRegister = false; + if (!m_kit) { + mustRegister = true; + m_kit = new Kit; + } + m_kit->copyFrom(m_modifiedKit); + if (mustRegister) + km->registerKit(m_kit); + + if (m_isDefaultKit) + km->setDefaultKit(m_kit); + emit dirty(); } void KitManagerConfigWidget::discard() { - foreach (KitConfigWidget *w, m_widgets) - w->discard(); - m_iconButton->setIcon(m_kit->icon()); - m_iconPath = m_kit->iconPath(); - m_nameEdit->setText(m_kit->displayName()); + if (m_kit) { + m_modifiedKit->copyFrom(m_kit); + m_isDefaultKit = (m_kit == KitManager::instance()->defaultKit()); + } else { + // This branch will only ever get reached once during setup of widget for a not-yet-existing + // kit. + m_isDefaultKit = false; + } + m_iconButton->setIcon(m_modifiedKit->icon()); + m_nameEdit->setText(m_modifiedKit->displayName()); + emit dirty(); } bool KitManagerConfigWidget::isDirty() const { - foreach (KitConfigWidget *w, m_widgets) - if (w->isDirty()) - return true; - return (m_kit->iconPath() != m_iconPath) || (m_kit->displayName() != m_nameEdit->text()); + return !m_kit + || !m_kit->isEqual(m_modifiedKit) + || m_isDefaultKit != (KitManager::instance()->defaultKit() == m_kit); +} + +bool KitManagerConfigWidget::isValid() const +{ + return m_modifiedKit->isValid(); +} + +QString KitManagerConfigWidget::validityMessage() const +{ + return m_modifiedKit->toHtml(); } void KitManagerConfigWidget::addConfigWidget(ProjectExplorer::KitConfigWidget *widget) @@ -119,8 +162,6 @@ void KitManagerConfigWidget::addConfigWidget(ProjectExplorer::KitConfigWidget *w Q_ASSERT(widget); Q_ASSERT(!m_widgets.contains(widget)); - connect(widget, SIGNAL(dirty()), this, SIGNAL(dirty())); - addToLayout(widget->displayName(), widget->toolTip(), widget, widget->buttonWidget()); m_widgets.append(widget); } @@ -133,9 +174,39 @@ void KitManagerConfigWidget::makeReadOnly() m_nameEdit->setEnabled(false); } +Kit *KitManagerConfigWidget::workingCopy() const +{ + return m_modifiedKit; +} + +bool KitManagerConfigWidget::configures(Kit *k) const +{ + return m_kit == k; +} + +void KitManagerConfigWidget::setIsDefaultKit(bool d) +{ + if (m_isDefaultKit != d) + return; + m_isDefaultKit = d; + emit dirty(); +} + +bool KitManagerConfigWidget::isDefaultKit() const +{ + return m_isDefaultKit; +} + +void KitManagerConfigWidget::removeKit() +{ + if (!m_kit) + return; + KitManager::instance()->deregisterKit(m_kit); +} + void KitManagerConfigWidget::setIcon() { - const QString path = QFileDialog::getOpenFileName(this, tr("Select Icon"), m_iconPath, tr("Images (*.png *.xpm *.jpg)")); + const QString path = QFileDialog::getOpenFileName(this, tr("Select Icon"), m_modifiedKit->iconPath(), tr("Images (*.png *.xpm *.jpg)")); if (path.isEmpty()) return; @@ -144,10 +215,37 @@ void KitManagerConfigWidget::setIcon() return; m_iconButton->setIcon(icon); - m_iconPath = path; + m_modifiedKit->setIconPath(path); emit dirty(); } +void KitManagerConfigWidget::setDisplayName() +{ + m_modifiedKit->setDisplayName(m_nameEdit->text()); +} + +void KitManagerConfigWidget::workingCopyWasUpdated(Kit *k) +{ + if (k != m_modifiedKit || m_fixingKit) + return; + + m_fixingKit = true; + k->fix(); + m_fixingKit = false; + + foreach (KitConfigWidget *w, m_widgets) + w->refresh(); + m_nameEdit->setText(k->displayName()); + m_iconButton->setIcon(k->icon()); + emit dirty(); +} + +void KitManagerConfigWidget::kitWasUpdated(Kit *k) +{ + if (m_kit == k) + discard(); +} + void KitManagerConfigWidget::addToLayout(const QString &name, const QString &toolTip, QWidget *widget, QWidget *button) { diff --git a/src/plugins/projectexplorer/kitmanagerconfigwidget.h b/src/plugins/projectexplorer/kitmanagerconfigwidget.h index df588ce6c70..e10a82ea8bb 100644 --- a/src/plugins/projectexplorer/kitmanagerconfigwidget.h +++ b/src/plugins/projectexplorer/kitmanagerconfigwidget.h @@ -44,23 +44,40 @@ class Kit; namespace Internal { -class KitManagerConfigWidget : public ProjectExplorer::KitConfigWidget +class KitManagerConfigWidget : public QWidget { Q_OBJECT public: explicit KitManagerConfigWidget(Kit *k, QWidget *parent = 0); + ~KitManagerConfigWidget(); QString displayName() const; void apply(); void discard(); bool isDirty() const; + bool isValid() const; + QString validityMessage() const; void addConfigWidget(ProjectExplorer::KitConfigWidget *widget); void makeReadOnly(); + Kit *workingCopy() const; + bool configures(ProjectExplorer::Kit *k) const; + void setIsDefaultKit(bool d); + bool isDefaultKit() const; + void removeKit(); + +public slots: + +signals: + void dirty(); + private slots: void setIcon(); + void setDisplayName(); + void workingCopyWasUpdated(ProjectExplorer::Kit *k); + void kitWasUpdated(ProjectExplorer::Kit *k); private: enum LayoutColumns { @@ -80,7 +97,9 @@ private: QLineEdit *m_nameEdit; QList m_widgets; Kit *m_kit; - QString m_iconPath; + Kit *m_modifiedKit; + bool m_isDefaultKit; + bool m_fixingKit; }; } // namespace Internal diff --git a/src/plugins/projectexplorer/kitmodel.cpp b/src/plugins/projectexplorer/kitmodel.cpp index adb9a1e3843..6f2f5bafe9d 100644 --- a/src/plugins/projectexplorer/kitmodel.cpp +++ b/src/plugins/projectexplorer/kitmodel.cpp @@ -45,11 +45,19 @@ namespace Internal { class KitNode { public: - explicit KitNode(KitNode *kn, Kit *k = 0, bool c = false) : - parent(kn), kit(k), changed(c) + KitNode(KitNode *kn) : + parent(kn), widget(0) { if (kn) kn->childNodes.append(this); + } + + KitNode(KitNode *kn, Kit *k) : + parent(kn) + { + if (kn) + kn->childNodes.append(this); + widget = KitManager::instance()->createConfigWidget(k); if (widget) { if (k && k->isAutoDetected()) @@ -62,6 +70,7 @@ public: { if (parent) parent->childNodes.removeOne(this); + delete widget; // deleting a child removes it from childNodes // so operate on a temporary list @@ -72,9 +81,7 @@ public: KitNode *parent; QList childNodes; - Kit *kit; KitManagerConfigWidget *widget; - bool changed; }; // -------------------------------------------------------------------------- @@ -92,8 +99,6 @@ KitModel::KitModel(QBoxLayout *parentLayout, QObject *parent) : this, SLOT(addKit(ProjectExplorer::Kit*))); connect(KitManager::instance(), SIGNAL(kitRemoved(ProjectExplorer::Kit*)), this, SLOT(removeKit(ProjectExplorer::Kit*))); - connect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), - this, SLOT(updateKit(ProjectExplorer::Kit*))); connect(KitManager::instance(), SIGNAL(defaultkitChanged()), this, SLOT(changeDefaultKit())); @@ -162,10 +167,10 @@ QVariant KitModel::data(const QModelIndex &index, int role) const return tr("Auto-detected"); if (node == m_manualRoot && role == Qt::DisplayRole) return tr("Manual"); - if (node->kit) { + if (node->widget) { if (role == Qt::FontRole) { QFont f = QApplication::font(); - if (node->changed) + if (node->widget->isDirty()) f.setBold(!f.bold()); if (node == m_defaultNode) f.setItalic(f.style() != QFont::StyleItalic); @@ -177,9 +182,9 @@ QVariant KitModel::data(const QModelIndex &index, int role) const baseName = tr("%1 (default)").arg(baseName); return baseName; } else if (role == Qt::DecorationRole) { - return node->kit->isValid() ? QIcon() : warningIcon; + return node->widget->isValid() ? QIcon() : warningIcon; } else if (role == Qt::ToolTipRole) { - return node->kit->toHtml(); + return node->widget->validityMessage(); } } return QVariant(); @@ -192,7 +197,7 @@ Qt::ItemFlags KitModel::flags(const QModelIndex &index) const KitNode *node = static_cast(index.internalPointer()); Q_ASSERT(node); - if (!node->kit) + if (!node->widget) return Qt::ItemIsEnabled; return Qt::ItemIsEnabled | Qt::ItemIsSelectable; @@ -212,12 +217,12 @@ Kit *KitModel::kit(const QModelIndex &index) return 0; KitNode *node = static_cast(index.internalPointer()); Q_ASSERT(node); - return node->kit; + return node->widget->workingCopy(); } QModelIndex KitModel::indexOf(Kit *k) const { - KitNode *n = find(k); + KitNode *n = findWorkingCopy(k); return n ? index(n) : QModelIndex(); } @@ -227,7 +232,7 @@ void KitModel::setDefaultKit(const QModelIndex &index) return; KitNode *node = static_cast(index.internalPointer()); Q_ASSERT(node); - if (node->kit) + if (node->widget) setDefaultNode(node); } @@ -236,7 +241,7 @@ bool KitModel::isDefaultKit(const QModelIndex &index) return m_defaultNode == static_cast(index.internalPointer()); } -KitConfigWidget *KitModel::widget(const QModelIndex &index) +KitManagerConfigWidget *KitModel::widget(const QModelIndex &index) { if (!index.isValid()) return 0; @@ -248,7 +253,7 @@ KitConfigWidget *KitModel::widget(const QModelIndex &index) bool KitModel::isDirty() const { foreach (KitNode *n, m_manualRoot->childNodes) { - if (n->changed) + if (n->widget->isDirty()) return true; } return false; @@ -256,18 +261,18 @@ bool KitModel::isDirty() const bool KitModel::isDirty(Kit *k) const { - KitNode *n = find(k); - return n ? !n->changed : false; + KitNode *n = findWorkingCopy(k); + return n ? n->widget->isDirty() : false; } void KitModel::setDirty() { - KitConfigWidget *w = qobject_cast(sender()); - foreach (KitNode *n, m_manualRoot->childNodes) { - if (n->widget == w) { - n->changed = n->widget->isDirty(); + KitManagerConfigWidget *w = qobject_cast(sender()); + QList nodes = m_manualRoot->childNodes; + nodes << m_autoRoot->childNodes; + foreach (KitNode *n, nodes) { + if (n->widget == w) emit dataChanged(index(n, 0), index(n, columnCount(QModelIndex()))); - } } } @@ -277,61 +282,24 @@ void KitModel::apply() QList nodes = m_toRemoveList; foreach (KitNode *n, nodes) { Q_ASSERT(!n->parent); - KitManager::instance()->deregisterKit(n->kit); + n->widget->removeKit(); } Q_ASSERT(m_toRemoveList.isEmpty()); // Update kits: foreach (KitNode *n, m_manualRoot->childNodes) { Q_ASSERT(n); - Q_ASSERT(n->kit); - if (n->changed) { - KitManager::instance()->blockSignals(true); - if (n->widget) - n->widget->apply(); - n->changed = false; - - KitManager::instance()->blockSignals(false); - KitManager::instance()->notifyAboutUpdate(n->kit); + Q_ASSERT(n->widget); + if (n->widget->isDirty()) { + n->widget->apply(); emit dataChanged(index(n, 0), index(n, columnCount(QModelIndex()))); } } - - // Add new (and already updated) kits - QStringList removedSts; - nodes = m_toAddList; - foreach (KitNode *n, nodes) { - if (!KitManager::instance()->registerKit(n->kit)) - removedSts << n->kit->displayName(); - } - - foreach (KitNode *n, m_toAddList) - markForRemoval(n->kit); - - if (removedSts.count() == 1) { - QMessageBox::warning(0, - tr("Duplicate Kit Detected"), - tr("The kit
 %1
" - " was already configured. It was not configured again.") - .arg(removedSts.at(0))); - - } else if (!removedSts.isEmpty()) { - QMessageBox::warning(0, - tr("Duplicate Kits Detected"), - tr("The following kits were already configured:
" - " %1
" - "They were not configured again.") - .arg(removedSts.join(QLatin1String(",
 ")))); - } - - // Set default kit: - if (m_defaultNode) - KitManager::instance()->setDefaultKit(m_defaultNode->kit); } void KitModel::markForRemoval(Kit *k) { - KitNode *node = find(k); + KitNode *node = findWorkingCopy(k); if (!node) return; @@ -347,29 +315,31 @@ void KitModel::markForRemoval(Kit *k) beginRemoveRows(index(m_manualRoot), m_manualRoot->childNodes.indexOf(node), m_manualRoot->childNodes.indexOf(node)); m_manualRoot->childNodes.removeOne(node); node->parent = 0; - if (m_toAddList.contains(node)) { - delete node->kit; - node->kit = 0; - m_toAddList.removeOne(node); + if (node->widget->configures(0)) delete node; - } else { + else m_toRemoveList.append(node); - } endRemoveRows(); } -void KitModel::markForAddition(Kit *k) +Kit *KitModel::markForAddition(Kit *baseKit) { int pos = m_manualRoot->childNodes.size(); beginInsertRows(index(m_manualRoot), pos, pos); - KitNode *node = createNode(m_manualRoot, k, true); - m_toAddList.append(node); + KitNode *node = createNode(m_manualRoot, 0); + if (baseKit) { + Kit *k = node->widget->workingCopy(); + k->copyFrom(baseKit); + k->setDisplayName(tr("Clone of %1").arg(k->displayName())); + } if (!m_defaultNode) setDefaultNode(node); endInsertRows(); + + return node->widget->workingCopy(); } QModelIndex KitModel::index(KitNode *node, int column) const @@ -382,55 +352,47 @@ QModelIndex KitModel::index(KitNode *node, int column) const return index(node->parent->childNodes.indexOf(node), column, index(node->parent)); } -KitNode *KitModel::find(Kit *k) const +KitNode *KitModel::findWorkingCopy(Kit *k) const { foreach (KitNode *n, m_autoRoot->childNodes) { - if (n->kit == k) + if (n->widget->workingCopy() == k) return n; } foreach (KitNode *n, m_manualRoot->childNodes) { - if (n->kit == k) + if (n->widget->workingCopy() == k) return n; } return 0; } -KitNode *KitModel::createNode(KitNode *parent, Kit *k, bool changed) +KitNode *KitModel::createNode(KitNode *parent, Kit *k) { - KitNode *node = new KitNode(parent, k, changed); - if (node->widget) { - node->widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - m_parentLayout->addWidget(node->widget, 10); - connect(node->widget, SIGNAL(dirty()), - this, SLOT(setDirty())); - } + KitNode *node = new KitNode(parent, k); + node->widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); + m_parentLayout->addWidget(node->widget, 10); + connect(node->widget, SIGNAL(dirty()), this, SLOT(setDirty())); return node; } void KitModel::setDefaultNode(KitNode *node) { if (m_defaultNode) { - QModelIndex idx = index(m_defaultNode); - if (idx.isValid()) - emit dataChanged(idx, idx); + m_defaultNode->widget->setIsDefaultKit(false); + emit dataChanged(index(m_defaultNode), index(m_defaultNode)); } m_defaultNode = node; if (m_defaultNode) { - QModelIndex idx = index(m_defaultNode); - if (idx.isValid()) - emit dataChanged(idx, idx); + m_defaultNode->widget->setIsDefaultKit(true); + emit dataChanged(index(m_defaultNode), index(m_defaultNode)); } } void KitModel::addKit(Kit *k) { - QList nodes = m_toAddList; - foreach (KitNode *n, nodes) { - if (n->kit == k) { - m_toAddList.removeOne(n); - // do not delete n: Still used elsewhere! + foreach (KitNode *n, m_manualRoot->childNodes) { + // Was added by us + if (n->widget->configures(k)) return; - } } KitNode *parent = m_manualRoot; @@ -439,7 +401,7 @@ void KitModel::addKit(Kit *k) int row = parent->childNodes.count(); beginInsertRows(index(parent), row, row); - createNode(parent, k, false); + createNode(parent, k); endInsertRows(); emit kitStateChanged(); @@ -449,8 +411,10 @@ void KitModel::removeKit(Kit *k) { QList nodes = m_toRemoveList; foreach (KitNode *n, nodes) { - if (n->kit == k) { + if (n->widget->configures(k)) { m_toRemoveList.removeOne(n); + if (m_defaultNode == n) + m_defaultNode = 0; delete n; return; } @@ -462,7 +426,7 @@ void KitModel::removeKit(Kit *k) int row = 0; KitNode *node = 0; foreach (KitNode *current, parent->childNodes) { - if (current->kit == k) { + if (current->widget->configures(k)) { node = current; break; } @@ -471,27 +435,25 @@ void KitModel::removeKit(Kit *k) beginRemoveRows(index(parent), row, row); parent->childNodes.removeAt(row); - delete node; + if (m_defaultNode == node) + m_defaultNode = 0; endRemoveRows(); + delete node; emit kitStateChanged(); } -void KitModel::updateKit(Kit *k) -{ - KitNode *n = find(k); - // This can happen if Qt Versions and kits are removed simultaneously. - if (!n) - return; - if (n->widget) - n->widget->discard(); - QModelIndex idx = index(n); - emit dataChanged(idx, idx); -} - void KitModel::changeDefaultKit() { - setDefaultNode(find(KitManager::instance()->defaultKit())); + Kit *defaultKit = KitManager::instance()->defaultKit(); + QList nodes = m_autoRoot->childNodes; + nodes << m_manualRoot->childNodes; + foreach (KitNode *n, nodes) { + if (n->widget->configures(defaultKit)) { + setDefaultNode(n); + break; + } + } } } // namespace Internal diff --git a/src/plugins/projectexplorer/kitmodel.h b/src/plugins/projectexplorer/kitmodel.h index 065a20047bb..d0ebf3bfb15 100644 --- a/src/plugins/projectexplorer/kitmodel.h +++ b/src/plugins/projectexplorer/kitmodel.h @@ -42,11 +42,11 @@ QT_END_NAMESPACE namespace ProjectExplorer { class Kit; -class KitConfigWidget; class KitFactory; class KitManager; namespace Internal { +class KitManagerConfigWidget; class KitNode; @@ -77,7 +77,7 @@ public: void setDefaultKit(const QModelIndex &index); bool isDefaultKit(const QModelIndex &index); - KitConfigWidget *widget(const QModelIndex &); + ProjectExplorer::Internal::KitManagerConfigWidget *widget(const QModelIndex &); bool isDirty() const; bool isDirty(Kit *k) const; @@ -85,7 +85,7 @@ public: void apply(); void markForRemoval(Kit *k); - void markForAddition(Kit *k); + Kit *markForAddition(Kit *baseKit); signals: void kitStateChanged(); @@ -93,21 +93,19 @@ signals: private slots: void addKit(ProjectExplorer::Kit *k); void removeKit(ProjectExplorer::Kit *k); - void updateKit(ProjectExplorer::Kit *k); void changeDefaultKit(); void setDirty(); private: QModelIndex index(KitNode *, int column = 0) const; - KitNode *find(Kit *k) const; - KitNode *createNode(KitNode *parent, Kit *k, bool changed); + KitNode *findWorkingCopy(Kit *k) const; + KitNode *createNode(KitNode *parent, Kit *k); void setDefaultNode(KitNode *node); KitNode *m_root; KitNode *m_autoRoot; KitNode *m_manualRoot; - QList m_toAddList; QList m_toRemoveList; QBoxLayout *m_parentLayout; diff --git a/src/plugins/projectexplorer/kitoptionspage.cpp b/src/plugins/projectexplorer/kitoptionspage.cpp index 2e3c8b777e4..71a0a4d6197 100644 --- a/src/plugins/projectexplorer/kitoptionspage.cpp +++ b/src/plugins/projectexplorer/kitoptionspage.cpp @@ -32,7 +32,7 @@ #include "kitmodel.h" #include "kit.h" #include "projectexplorerconstants.h" -#include "kitconfigwidget.h" +#include "kitmanagerconfigwidget.h" #include "kitmanager.h" #include @@ -173,18 +173,18 @@ void KitOptionsPage::kitSelectionChanged() QModelIndex current = currentIndex(); m_currentWidget = current.isValid() ? m_model->widget(current) : 0; - if (m_currentWidget) + if (m_currentWidget) { m_currentWidget->setVisible(true); + m_kitsView->scrollTo(current); + } updateState(); } void KitOptionsPage::addNewKit() { - Kit *k = new Kit; - m_model->markForAddition(k); + Kit *k = m_model->markForAddition(0); QModelIndex newIdx = m_model->indexOf(k); - m_kitsView->scrollTo(newIdx); m_selectionModel->select(newIdx, QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent @@ -197,10 +197,7 @@ void KitOptionsPage::cloneKit() if (!current) return; - Kit *k = current->clone(); - - m_model->markForAddition(k); - + Kit *k = m_model->markForAddition(current); QModelIndex newIdx = m_model->indexOf(k); m_kitsView->scrollTo(newIdx); m_selectionModel->select(newIdx, @@ -234,7 +231,7 @@ void KitOptionsPage::updateState() QModelIndex index = currentIndex(); Kit *k = m_model->kit(index); if (k) { - canCopy = k->isValid(); + canCopy = true; canDelete = !k->isAutoDetected(); canMakeDefault = !m_model->isDefaultKit(index); } diff --git a/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp b/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp index eb177cda80a..d5546f90b1a 100644 --- a/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp @@ -54,8 +54,8 @@ QmakeKitConfigWidget::QmakeKitConfigWidget(ProjectExplorer::Kit *k, QWidget *par m_lineEdit->setContentsMargins(0, 0, 0, 0); layout->addWidget(m_lineEdit); - discard(); // set up everything according to kit - connect(m_lineEdit, SIGNAL(textEdited(QString)), this, SIGNAL(dirty())); + refresh(); // set up everything according to kit + connect(m_lineEdit, SIGNAL(textEdited(QString)), this, SLOT(mkspecWasChanged(QString))); } QString QmakeKitConfigWidget::displayName() const @@ -68,19 +68,14 @@ void QmakeKitConfigWidget::makeReadOnly() m_lineEdit->setEnabled(false); } -void QmakeKitConfigWidget::apply() -{ - QmakeKitInformation::setMkspec(m_kit, Utils::FileName::fromString(m_lineEdit->text())); -} - -void QmakeKitConfigWidget::discard() +void QmakeKitConfigWidget::refresh() { m_lineEdit->setText(QmakeKitInformation::mkspec(m_kit).toString()); } -bool QmakeKitConfigWidget::isDirty() const +void QmakeKitConfigWidget::mkspecWasChanged(const QString &text) { - return m_lineEdit->text() != QmakeKitInformation::mkspec(m_kit).toString(); + QmakeKitInformation::setMkspec(m_kit, Utils::FileName::fromString(text)); } } // namespace Internal diff --git a/src/plugins/qt4projectmanager/qmakekitconfigwidget.h b/src/plugins/qt4projectmanager/qmakekitconfigwidget.h index 727a3272be1..0f2f9227e38 100644 --- a/src/plugins/qt4projectmanager/qmakekitconfigwidget.h +++ b/src/plugins/qt4projectmanager/qmakekitconfigwidget.h @@ -52,9 +52,10 @@ public: void makeReadOnly(); - void apply(); - void discard(); - bool isDirty() const; + void refresh(); + +private slots: + void mkspecWasChanged(const QString &text); private: int findQtVersion(const int id) const; diff --git a/src/plugins/qtsupport/qtkitconfigwidget.cpp b/src/plugins/qtsupport/qtkitconfigwidget.cpp index 0d72c898130..64b02115b72 100644 --- a/src/plugins/qtsupport/qtkitconfigwidget.cpp +++ b/src/plugins/qtsupport/qtkitconfigwidget.cpp @@ -73,13 +73,11 @@ QtKitConfigWidget::QtKitConfigWidget(ProjectExplorer::Kit *k, QWidget *parent) : versionIds.append(v->uniqueId()); versionsChanged(versionIds, QList(), QList()); - discard(); - connect(m_combo, SIGNAL(currentIndexChanged(int)), this, SIGNAL(dirty())); + refresh(); + connect(m_combo, SIGNAL(currentIndexChanged(int)), this, SLOT(currentWasChanged(int))); connect(mgr, SIGNAL(qtVersionsChanged(QList,QList,QList)), this, SLOT(versionsChanged(QList,QList,QList))); - connect(ProjectExplorer::KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), - this, SLOT(kitUpdated(ProjectExplorer::Kit*))); connect(m_manageButton, SIGNAL(clicked()), this, SLOT(manageQtVersions())); } @@ -94,23 +92,11 @@ void QtKitConfigWidget::makeReadOnly() m_combo->setEnabled(false); } -void QtKitConfigWidget::apply() -{ - int id = m_combo->itemData(m_combo->currentIndex()).toInt(); - QtKitInformation::setQtVersionId(m_kit, id); -} - -void QtKitConfigWidget::discard() +void QtKitConfigWidget::refresh() { m_combo->setCurrentIndex(findQtVersion(QtKitInformation::qtVersionId(m_kit))); } -bool QtKitConfigWidget::isDirty() const -{ - int id = m_combo->itemData(m_combo->currentIndex()).toInt(); - return id != QtKitInformation::qtVersionId(m_kit); -} - QWidget *QtKitConfigWidget::buttonWidget() const { return m_manageButton; @@ -141,27 +127,17 @@ void QtKitConfigWidget::versionsChanged(const QList &added, const QListcount(); ++i) { - if (m_combo->itemData(i).toInt() == id) { - m_combo->setCurrentIndex(i); - break; - } - } -} - void QtKitConfigWidget::manageQtVersions() { Core::ICore::showOptionsDialog(QLatin1String(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY), QLatin1String(QtSupport::Constants::QTVERSION_SETTINGS_PAGE_ID)); } +void QtKitConfigWidget::currentWasChanged(int idx) +{ + QtKitInformation::setQtVersionId(m_kit, m_combo->itemData(idx).toInt()); +} + int QtKitConfigWidget::findQtVersion(const int id) const { for (int i = 0; i < m_combo->count(); ++i) { diff --git a/src/plugins/qtsupport/qtkitconfigwidget.h b/src/plugins/qtsupport/qtkitconfigwidget.h index f0dd54e41cd..0ee01d68386 100644 --- a/src/plugins/qtsupport/qtkitconfigwidget.h +++ b/src/plugins/qtsupport/qtkitconfigwidget.h @@ -53,15 +53,13 @@ public: void makeReadOnly(); - void apply(); - void discard(); - bool isDirty() const; + void refresh(); QWidget *buttonWidget() const; private slots: void versionsChanged(const QList &added, const QList &removed, const QList &changed); - void kitUpdated(ProjectExplorer::Kit *k); void manageQtVersions(); + void currentWasChanged(int idx); private: int findQtVersion(const int id) const; From fb89728901f9e81f1f894b71c5870266ddf8cc94 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Fri, 12 Oct 2012 14:12:40 +0200 Subject: [PATCH 35/46] Include qbs files in qmake project tree Change-Id: I864b1b500d385c91e3cac6725202ad7f48f11b17 Reviewed-by: Oswald Buddenhagen Reviewed-by: Joerg Bornemann --- qtcreator.pri | 2 ++ qtcreator.pro | 4 +++- share/share.pro | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/qtcreator.pri b/qtcreator.pri index e1f4c8f23b7..78a8622ae81 100644 --- a/qtcreator.pri +++ b/qtcreator.pri @@ -184,3 +184,5 @@ qt:greaterThan(QT_MAJOR_VERSION, 4) { contains(QT, gui): QT += widgets DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x040900 } + +OTHER_FILES += $$replace(_PRO_FILE_, \\.pro$, .qbs) diff --git a/qtcreator.pro b/qtcreator.pro index c1e5fa0014b..6527d890e56 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -15,7 +15,9 @@ SUBDIRS = src share lib/qtcreator/qtcomponents unix:!macx:!isEmpty(copydata):SUBDIRS += bin OTHER_FILES += dist/copyright_template.txt \ - $$files(dist/changes-*) + $$files(dist/changes-*) \ + qtcreator.qbp \ + qbs/pluginspec/pluginspec.qbs macx: PLATFORM = "mac" else:win32: PLATFORM = "windows" diff --git a/share/share.pro b/share/share.pro index 69509a0098b..aa8c26680a4 100644 --- a/share/share.pro +++ b/share/share.pro @@ -1,3 +1,5 @@ TEMPLATE = subdirs SUBDIRS = qtcreator/static.pro \ qtcreator/translations +OTHER_FILES += share.qbs \ + ../src/share/share.qbs From f9c718c196cccf135a050245ef1e821b41f29110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20N=C3=A4tterlund?= Date: Tue, 16 Oct 2012 13:54:15 +0200 Subject: [PATCH 36/46] QNX: Fix BlackBerry Qt version detection Change-Id: I2b386c0c05d07a85bb029ce6dc5fabae997a679f Reviewed-by: Nicolas Arnaud-Cormos --- src/plugins/qnx/blackberryqtversionfactory.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qnx/blackberryqtversionfactory.cpp b/src/plugins/qnx/blackberryqtversionfactory.cpp index 7c4bf4199f2..b0da27775a7 100644 --- a/src/plugins/qnx/blackberryqtversionfactory.cpp +++ b/src/plugins/qnx/blackberryqtversionfactory.cpp @@ -77,7 +77,7 @@ QtSupport::BaseQtVersion *BlackBerryQtVersionFactory::create(const Utils::FileNa if (!fi.exists() || !fi.isExecutable() || !fi.isFile()) return 0; - if (evaluator->value(QLatin1String("CONFIG")).contains(QLatin1String("blackberry"))) { + if (evaluator->values(QLatin1String("CONFIG")).contains(QLatin1String("blackberry"))) { QString cpuDir = evaluator->value(QLatin1String("QNX_CPUDIR")); return new BlackBerryQtVersion(QnxUtils::cpudirToArch(cpuDir), qmakePath, isAutoDetected, autoDetectionSource); From 558a4e4c976dc6ae4cd71bc9a4d57e982b6f485c Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Tue, 9 Oct 2012 16:20:26 +0200 Subject: [PATCH 37/46] QmlProjectRunConfiguration: update enabled state on adding to a project Task-number: QTCREATORBUG-7980 Change-Id: I63fa4809772ce2f7169baf3270fe753b22ea4a04 Reviewed-by: Kai Koehne --- src/plugins/qmlprojectmanager/qmlproject.cpp | 27 ++++++++++++++----- src/plugins/qmlprojectmanager/qmlproject.h | 3 +++ .../qmlprojectrunconfiguration.h | 6 ++--- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index a30ce9aba45..520c94701de 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -74,6 +74,9 @@ QmlProject::QmlProject(Internal::Manager *manager, const QString &fileName) Core::DocumentManager::addDocument(m_file, true); m_manager->registerProject(this); + + connect(this, SIGNAL(addedTarget(ProjectExplorer::Target*)), + this, SLOT(addedTarget(ProjectExplorer::Target*))); } QmlProject::~QmlProject() @@ -86,6 +89,23 @@ QmlProject::~QmlProject() delete m_rootNode; } +void QmlProject::addedTarget(ProjectExplorer::Target *target) +{ + connect(target, SIGNAL(addedRunConfiguration(ProjectExplorer::RunConfiguration*)), + this, SLOT(addedRunConfiguration(ProjectExplorer::RunConfiguration*))); + foreach (ProjectExplorer::RunConfiguration *rc, target->runConfigurations()) + addedRunConfiguration(rc); +} + +void QmlProject::addedRunConfiguration(ProjectExplorer::RunConfiguration *rc) +{ + // The enabled state of qml runconfigurations can only be decided after + // they have been added to a project + QmlProjectRunConfiguration *qmlrc = qobject_cast(rc); + if (qmlrc) + qmlrc->updateEnabled(); +} + QDir QmlProject::projectDir() const { return QFileInfo(document()->fileName()).dir(); @@ -309,13 +329,6 @@ bool QmlProject::fromMap(const QVariantMap &map) addTarget(createTarget(defaultKit)); refresh(Everything); - // FIXME workaround to guarantee that run/debug actions are enabled if a valid file exists - if (activeTarget()) { - QmlProjectRunConfiguration *runConfig = qobject_cast(activeTarget()->activeRunConfiguration()); - if (runConfig) - runConfig->changeCurrentFile(0); - } - return true; } diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h index 13a08bf045b..af49bfa284d 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.h +++ b/src/plugins/qmlprojectmanager/qmlproject.h @@ -36,6 +36,7 @@ #include +namespace ProjectExplorer { class RunConfiguration; } namespace QmlJS { class ModelManagerInterface; } namespace Utils { class FileSystemWatcher; } @@ -94,6 +95,8 @@ public: private slots: void refreshFiles(const QSet &added, const QSet &removed); + void addedTarget(ProjectExplorer::Target *target); + void addedRunConfiguration(ProjectExplorer::RunConfiguration *); protected: bool fromMap(const QVariantMap &map); diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h index 837c0da9ef0..a20c4cb2179 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.h @@ -50,6 +50,7 @@ namespace Utils { namespace QtSupport { class BaseQtVersion; } namespace QmlProjectManager { +class QmlProject; namespace Internal { class QmlProjectRunConfigurationFactory; @@ -61,6 +62,7 @@ class QMLPROJECTMANAGER_EXPORT QmlProjectRunConfiguration : public ProjectExplor Q_OBJECT friend class Internal::QmlProjectRunConfigurationFactory; friend class Internal::QmlProjectRunConfigurationWidget; + friend class QmlProject; // to call updateEnabled() public: QmlProjectRunConfiguration(ProjectExplorer::Target *parent, Core::Id id); @@ -93,10 +95,8 @@ public: ProjectExplorer::Abi abi() const; -public slots: - void changeCurrentFile(Core::IEditor*); - private slots: + void changeCurrentFile(Core::IEditor*); void updateEnabled(); protected: From 69f8e48de48820f90e400fe909f210c519573bcf Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 16 Oct 2012 13:55:53 +0200 Subject: [PATCH 38/46] Rename the (un)installers. Windows has a problem with "install" in the name. Use .bin on Linux like before. Change-Id: I4f887a8c0442cd9f0a17425f68a36a371ae9f6b7 Reviewed-by: Karsten Heimrich --- dist/installer/ifw/config/config-windows.xml.in | 2 +- qtcreator.pro | 2 +- scripts/packageIfw.py | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dist/installer/ifw/config/config-windows.xml.in b/dist/installer/ifw/config/config-windows.xml.in index 0d9d8e87c19..4d814a4f298 100644 --- a/dist/installer/ifw/config/config-windows.xml.in +++ b/dist/installer/ifw/config/config-windows.xml.in @@ -9,7 +9,7 @@ logo.png watermark.png - QtCreatorUninstaller + QtCreatorUninst @rootDir@/Qt/qtcreator-{version} diff --git a/qtcreator.pro b/qtcreator.pro index 6527d890e56..d736de7ef20 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -54,7 +54,7 @@ bindist.commands = 7z a -mx9 $$OUT_PWD/qt-creator-$${PATTERN}.7z \"$$BINDIST_SOU bindist_installer.depends = deployqt bindist_installer.commands = 7z a -mx9 $$OUT_PWD/qt-creator-$${PATTERN}-installer-archive.7z \"$$BINDIST_INSTALLER_SOURCE\" installer.depends = bindist_installer -installer.commands = $$PWD/scripts/packageIfw.py -i \"$(IFW_PATH)\" -v $${QTCREATOR_VERSION} -a \"$$INSTALLER_ARCHIVE\" "qt-creator-$${PATTERN}-installer" +installer.commands = $$PWD/scripts/packageIfw.py -i \"$(IFW_PATH)\" -v $${QTCREATOR_VERSION} -a \"$$INSTALLER_ARCHIVE\" "qt-creator-$${PATTERN}" win32 { deployqt.commands ~= s,/,\\\\,g diff --git a/scripts/packageIfw.py b/scripts/packageIfw.py index c6f55bc2652..90494a2d6bf 100755 --- a/scripts/packageIfw.py +++ b/scripts/packageIfw.py @@ -93,6 +93,7 @@ def main(): config_postfix = '-windows' if sys.platform.startswith('linux'): config_postfix = '-linux' + installer_name = installer_name + '.bin' config_name = 'config' + config_postfix + '.xml' From 6e23c1b85608da3d9b35b9a898b990fdd5943be1 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 16 Oct 2012 14:44:27 +0200 Subject: [PATCH 39/46] Doc: keyboard shortcuts for General Messages and Version Control pages Change-Id: I9f397bd4f327b2db0316b4b06ddaf4fc4dd4898d Reviewed-by: Eike Ziller --- doc/src/howto/creator-keyboard-shortcuts.qdoc | 5 +++++ doc/src/howto/creator-tips.qdoc | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/doc/src/howto/creator-keyboard-shortcuts.qdoc b/doc/src/howto/creator-keyboard-shortcuts.qdoc index 7bdc70b5429..5b018b2ee2e 100644 --- a/doc/src/howto/creator-keyboard-shortcuts.qdoc +++ b/doc/src/howto/creator-keyboard-shortcuts.qdoc @@ -194,6 +194,11 @@ \row \o Toggle \gui{Compile Output} pane \o Alt+4 (Cmd+4 on Mac OS X) + \row + \o Toggle other output panes + \o Alt+number (Cmd+number on Mac OS X) + + Where the number is the number of the output pane. \row \o Activate \gui Bookmarks pane \o Alt+M diff --git a/doc/src/howto/creator-tips.qdoc b/doc/src/howto/creator-tips.qdoc index c0f51da1f2d..5f7dc5598d0 100644 --- a/doc/src/howto/creator-tips.qdoc +++ b/doc/src/howto/creator-tips.qdoc @@ -100,6 +100,10 @@ \endlist + To open the other output panes, such as \gui{General Messages} and + \gui{Version Control}, select \gui Window > \gui {Output Panes}. The menu + items also display the keyboard shortcuts that you can use. + For more information about output panes, see \l{Viewing Output}. \section1 Using Keyboard Shortcuts From 944e96fc50c9e31ff6646b4fe5f0eb7f18115c39 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 16 Oct 2012 15:41:25 +0200 Subject: [PATCH 40/46] Doc: fix menu item names for opening text editor Change-Id: Iad5096cef9366142a17ff9b3dc6c2ff2168d0ccc Reviewed-by: Leena Miettinen --- doc/src/howto/creator-external-tools.qdoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/src/howto/creator-external-tools.qdoc b/doc/src/howto/creator-external-tools.qdoc index f4e6da126a7..ac1f5faf92a 100644 --- a/doc/src/howto/creator-external-tools.qdoc +++ b/doc/src/howto/creator-external-tools.qdoc @@ -73,8 +73,8 @@ You can open files for editing in the default text editor for your system: Notepad on Windows and vi on Linux and Mac OS. To open the file you are currently viewing in an external editor, select - \gui {Tools > External > Text > Notepad} or \gui vi, depending on your - system. + \gui Tools > \gui External > \gui Text > \gui {Edit with Notepad} or + \gui {Edit with vi}, depending on your system. \QC looks for the editor path in the PATH environment variable of your operating system. From c2d20b7ddbe2e0135be8d416e7b30b70ebabb983 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Fri, 12 Oct 2012 16:26:35 +0200 Subject: [PATCH 41/46] CMakeOpenProjectWizard: Simplfy constructor We can simply call addPage and create a linear wizard instead of manually setting up a linear structure via setPage + wizard progress Change-Id: If4524ac235f4d1b0e6ed6d1b322b5ecac5966e2c Reviewed-by: Tobias Hunger --- .../cmakeopenprojectwizard.cpp | 33 ++----------------- .../cmakeopenprojectwizard.h | 9 ----- 2 files changed, 3 insertions(+), 39 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp index 48489f5c8ed..432279c1437 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp @@ -204,32 +204,20 @@ QList GeneratorInfo::generatorInfosFor(ProjectExplorer::Kit *k, N CMakeOpenProjectWizard::CMakeOpenProjectWizard(CMakeManager *cmakeManager, const QString &sourceDirectory, Utils::Environment env) : m_cmakeManager(cmakeManager), m_sourceDirectory(sourceDirectory), - m_creatingCbpFiles(false), m_environment(env), m_useNinja(false), m_kit(0) { - int startid; if (hasInSourceBuild()) { - startid = InSourcePageId; m_buildDirectory = m_sourceDirectory; + addPage(new InSourceBuildPage(this)); } else { - startid = ShadowBuildPageId; m_buildDirectory = m_sourceDirectory + QLatin1String("-build"); + addPage(new ShadowBuildPage(this)); } - setPage(InSourcePageId, new InSourceBuildPage(this)); - setPage(ShadowBuildPageId, new ShadowBuildPage(this)); - setPage(CMakeRunPageId, new CMakeRunPage(this)); + addPage(new CMakeRunPage(this)); - Utils::WizardProgress *wp = wizardProgress(); - Utils::WizardProgressItem *inSourceItem = wp->item(InSourcePageId); - Utils::WizardProgressItem *shadowBuildItem = wp->item(ShadowBuildPageId); - Utils::WizardProgressItem *cmakeRunItem = wp->item(CMakeRunPageId); - inSourceItem->setNextItems(QList() << cmakeRunItem); - shadowBuildItem->setNextItems(QList() << cmakeRunItem); - - setStartId(startid); init(); } @@ -237,7 +225,6 @@ CMakeOpenProjectWizard::CMakeOpenProjectWizard(CMakeManager *cmakeManager, CMake const BuildInfo &info) : m_cmakeManager(cmakeManager), m_sourceDirectory(info.sourceDirectory), - m_creatingCbpFiles(true), m_environment(info.environment), m_useNinja(info.useNinja), m_kit(info.kit) @@ -272,20 +259,6 @@ CMakeManager *CMakeOpenProjectWizard::cmakeManager() const return m_cmakeManager; } -int CMakeOpenProjectWizard::nextId() const -{ - if (m_creatingCbpFiles) - return QWizard::nextId(); - int cid = currentId(); - if (cid == InSourcePageId) { - return CMakeRunPageId; - } else if (cid == ShadowBuildPageId) { - return CMakeRunPageId; - } - return -1; -} - - bool CMakeOpenProjectWizard::hasInSourceBuild() const { QFileInfo fi(m_sourceDirectory + "/CMakeCache.txt"); diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h index e7887d4d773..798befa9b35 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h @@ -62,12 +62,6 @@ class CMakeOpenProjectWizard : public Utils::Wizard { Q_OBJECT public: - enum PageId { - InSourcePageId, - ShadowBuildPageId, - CMakeRunPageId - }; - enum Mode { Nothing, NeedToCreate, @@ -105,8 +99,6 @@ public: /// Also used to change the build directory of one buildconfiguration or create a new buildconfiguration CMakeOpenProjectWizard(CMakeManager *cmakeManager, Mode mode, const BuildInfo &info); - - virtual int nextId() const; QString buildDirectory() const; QString sourceDirectory() const; void setBuildDirectory(const QString &directory); @@ -127,7 +119,6 @@ private: QString m_buildDirectory; QString m_sourceDirectory; QString m_arguments; - bool m_creatingCbpFiles; Utils::Environment m_environment; bool m_useNinja; ProjectExplorer::Kit *m_kit; From 03a68e38b6b7cda97842147efc4ea892a0ce6747 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Fri, 12 Oct 2012 16:53:57 +0200 Subject: [PATCH 42/46] CMakeOpenProjectWizard: Add page asking for cmake executable We used to do that on the cmake run page, but given it's own page is certainly better. Task-number: QTCREATORBUG-7971 Change-Id: Id38690a750e99dbccfd9f17f64423033891b0d78 Reviewed-by: Tobias Hunger --- .../cmakeopenprojectwizard.cpp | 88 +++++++++++++------ .../cmakeopenprojectwizard.h | 17 +++- 2 files changed, 76 insertions(+), 29 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp index 432279c1437..a418fb63a3f 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp @@ -216,6 +216,9 @@ CMakeOpenProjectWizard::CMakeOpenProjectWizard(CMakeManager *cmakeManager, const addPage(new ShadowBuildPage(this)); } + if (!m_cmakeManager->isCMakeExecutableValid()) + addPage(new ChooseCMakePage(this)); + addPage(new CMakeRunPage(this)); init(); @@ -243,6 +246,8 @@ CMakeOpenProjectWizard::CMakeOpenProjectWizard(CMakeManager *cmakeManager, CMake m_buildDirectory = info.buildDirectory; addPage(new ShadowBuildPage(this, true)); } + if (!m_cmakeManager->isCMakeExecutableValid()) + addPage(new ChooseCMakePage(this)); addPage(new CMakeRunPage(this, rmode, info.buildDirectory)); init(); @@ -375,6 +380,61 @@ void ShadowBuildPage::buildDirectoryChanged() m_cmakeWizard->setBuildDirectory(m_pc->path()); } +ChooseCMakePage::ChooseCMakePage(CMakeOpenProjectWizard *cmakeWizard) + : QWizardPage(cmakeWizard), m_cmakeWizard(cmakeWizard) +{ + QFormLayout *fl = new QFormLayout; + fl->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); + setLayout(fl); + + m_cmakeLabel = new QLabel; + m_cmakeLabel->setWordWrap(true); + fl->addRow(m_cmakeLabel); + // Show a field for the user to enter + m_cmakeExecutable = new Utils::PathChooser(this); + m_cmakeExecutable->setExpectedKind(Utils::PathChooser::ExistingCommand); + fl->addRow("cmake Executable:", m_cmakeExecutable); + + connect(m_cmakeExecutable, SIGNAL(editingFinished()), + this, SLOT(cmakeExecutableChanged())); + connect(m_cmakeExecutable, SIGNAL(browsingFinished()), + this, SLOT(cmakeExecutableChanged())); + + setTitle(tr("Choose Cmake Executable")); +} + +void ChooseCMakePage::updateErrorText() +{ + QString cmakeExecutable = m_cmakeWizard->cmakeManager()->cmakeExecutable(); + if (m_cmakeWizard->cmakeManager()->isCMakeExecutableValid()) { + m_cmakeLabel->setText(tr("The cmake executable is valid.")); + } else { + QString text = tr("Please specify the path to the cmake executable. No cmake executable was found in the path."); + if (!cmakeExecutable.isEmpty()) { + QFileInfo fi(cmakeExecutable); + if (!fi.exists()) + text += tr(" The cmake executable (%1) does not exist.").arg(cmakeExecutable); + else if (!fi.isExecutable()) + text += tr(" The path %1 is not a executable.").arg(cmakeExecutable); + else + text += tr(" The path %1 is not a valid cmake.").arg(cmakeExecutable); + } + m_cmakeLabel->setText(text); + } +} + +void ChooseCMakePage::cmakeExecutableChanged() +{ + m_cmakeWizard->cmakeManager()->setCMakeExecutable(m_cmakeExecutable->path()); + updateErrorText(); + emit completeChanged(); +} + +bool ChooseCMakePage::isComplete() const +{ + return m_cmakeWizard->cmakeManager()->isCMakeExecutableValid(); +} + CMakeRunPage::CMakeRunPage(CMakeOpenProjectWizard *cmakeWizard, Mode mode, const QString &buildDirectory) : QWizardPage(cmakeWizard), m_cmakeWizard(cmakeWizard), @@ -397,30 +457,6 @@ void CMakeRunPage::initWidgets() fl->addRow(m_descriptionLabel); - if (m_cmakeWizard->cmakeManager()->isCMakeExecutableValid()) { - m_cmakeExecutable = 0; - } else { - QString text = tr("Please specify the path to the cmake executable. No cmake executable was found in the path."); - QString cmakeExecutable = m_cmakeWizard->cmakeManager()->cmakeExecutable(); - if (!cmakeExecutable.isEmpty()) { - QFileInfo fi(cmakeExecutable); - if (!fi.exists()) - text += tr(" The cmake executable (%1) does not exist.").arg(cmakeExecutable); - else if (!fi.isExecutable()) - text += tr(" The path %1 is not a executable.").arg(cmakeExecutable); - else - text += tr(" The path %1 is not a valid cmake.").arg(cmakeExecutable); - } - - QLabel *cmakeLabel = new QLabel(text); - cmakeLabel->setWordWrap(true); - fl->addRow(cmakeLabel); - // Show a field for the user to enter - m_cmakeExecutable = new Utils::PathChooser(this); - m_cmakeExecutable->setExpectedKind(Utils::PathChooser::ExistingCommand); - fl->addRow("cmake Executable:", m_cmakeExecutable); - } - // Run CMake Line (with arguments) m_argumentsLineEdit = new Utils::FancyLineEdit(this); m_argumentsLineEdit->setHistoryCompleter(QLatin1String("CMakeArgumentsLineEdit")); @@ -586,10 +622,6 @@ bool CMakeRunPage::validatePage() void CMakeRunPage::runCMake() { - if (m_cmakeExecutable) - // We asked the user for the cmake executable - m_cmakeWizard->cmakeManager()->setCMakeExecutable(m_cmakeExecutable->path()); - m_optionalCMake = false; m_complete = false; diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h index 798befa9b35..5a3c0cf84de 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.h @@ -145,6 +145,22 @@ private: Utils::PathChooser *m_pc; }; +class ChooseCMakePage : public QWizardPage +{ + Q_OBJECT +public: + ChooseCMakePage(CMakeOpenProjectWizard *cmakeWizard); + + virtual bool isComplete() const; +public slots: + void cmakeExecutableChanged(); +private: + void updateErrorText(); + QLabel *m_cmakeLabel; + CMakeOpenProjectWizard *m_cmakeWizard; + Utils::PathChooser *m_cmakeExecutable; +}; + class CMakeRunPage : public QWizardPage { Q_OBJECT @@ -169,7 +185,6 @@ private: QPushButton *m_runCMake; Utils::QtcProcess *m_cmakeProcess; Utils::FancyLineEdit *m_argumentsLineEdit; - Utils::PathChooser *m_cmakeExecutable; QComboBox *m_generatorComboBox; QLabel *m_descriptionLabel; QLabel *m_exitCodeLabel; From c3190f6e7f79ffa72705b15518b20bb503466099 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Tue, 16 Oct 2012 16:19:40 +0200 Subject: [PATCH 43/46] Kits should affect all buildconfiguration environments Not just qt4 and cmake but also generic projects. Change-Id: I4a7e86fb2dbf6c6e32b4da78953ad3199c554470 Reviewed-by: Tobias Hunger --- src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp | 1 - src/plugins/projectexplorer/buildconfiguration.cpp | 2 ++ src/plugins/qt4projectmanager/qt4buildconfiguration.cpp | 1 - 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 7304c17662a..ee41a6d1c18 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -142,7 +142,6 @@ ProjectExplorer::IOutputParser *CMakeBuildConfiguration::createOutputParser() co Utils::Environment CMakeBuildConfiguration::baseEnvironment() const { Utils::Environment env = BuildConfiguration::baseEnvironment(); - target()->kit()->addToEnvironment(env); return env; } diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index f9387779b3d..cc628233bd8 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -36,6 +36,7 @@ #include "kitmanager.h" #include "target.h" #include "project.h" +#include "kit.h" #include #include @@ -203,6 +204,7 @@ Utils::Environment BuildConfiguration::baseEnvironment() const Utils::Environment result; if (useSystemEnvironment()) result = Utils::Environment::systemEnvironment(); + target()->kit()->addToEnvironment(result); return result; } diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp index 1e6faa75f0a..a17fa4d4b6b 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp @@ -161,7 +161,6 @@ void Qt4BuildConfiguration::emitBuildDirectoryChanged() Utils::Environment Qt4BuildConfiguration::baseEnvironment() const { Utils::Environment env = BuildConfiguration::baseEnvironment(); - target()->kit()->addToEnvironment(env); return env; } From 8fc23aa662a66030c3cffe43ab590838d7777c9a Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Tue, 16 Oct 2012 15:42:14 +0200 Subject: [PATCH 44/46] Doc: fix a link to the doc server in the CSS Change-Id: If41f459cdf474f6a6e63fa85f151f730091c59b6 Reviewed-by: Jerome Pasion --- doc/templates/style/narrow.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/templates/style/narrow.css b/doc/templates/style/narrow.css index de5b0a09f98..c782602755c 100644 --- a/doc/templates/style/narrow.css +++ b/doc/templates/style/narrow.css @@ -187,7 +187,7 @@ } .narrow #narrowsearch { - background: url("http://doc.qt.nokia.com/prototype/html/images/sprites-combined.png") no-repeat scroll -6px -348px transparent; + background: url("http://doc.qt.digia.com/prototype/html/images/sprites-combined.png") no-repeat scroll -6px -348px transparent; height: 21px; padding: 2px 0 0 5px; width: 167px; From 61b2926a1a0d1c7ddb2cb3e22bfb2dd3b9f99984 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 16 Oct 2012 15:37:42 +0200 Subject: [PATCH 45/46] debugger: don't restrict kit selection for attaching Change-Id: I5bf9f57cb551c5fc3d02485c2e25a2ef914d5b53 Reviewed-by: Eike Ziller Reviewed-by: Tobias Hunger Reviewed-by: hjk --- src/plugins/debugger/debuggerdialogs.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index f3f9c810567..3b4fe9ea3d9 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -264,7 +264,7 @@ StartApplicationDialog::StartApplicationDialog(QWidget *parent) d->runInTerminalCheckBox = new QCheckBox(this); - d->kitChooser = new DebuggerKitChooser(DebuggerKitChooser::LocalDebugging, this); + d->kitChooser = new KitChooser(this); d->kitChooser->populate(); d->breakAtMainCheckBox = new QCheckBox(this); From 1982a3b5a536c4a552b7908c3dc2151e68bd5726 Mon Sep 17 00:00:00 2001 From: hjk Date: Mon, 15 Oct 2012 16:16:51 +0200 Subject: [PATCH 46/46] debugger: ignore new cmd-param-changed notification Might be useful in the future. Not now. Change-Id: I7255df2d56b477aaf30ebf4b9823f12e8713931c Reviewed-by: hjk --- src/plugins/debugger/gdb/gdbengine.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 72d1fb8d22c..02078f40f15 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -643,6 +643,9 @@ void GdbEngine::handleResponse(const QByteArray &buff) if (!handler->isOneShot(id)) handler->removeAlienBreakpoint(id); } + } else if (asyncClass == "cmd-param-changed") { + // New since 2012-08-09 + // "{param="debug remote",value="1"}" } else { qDebug() << "IGNORED ASYNC OUTPUT" << asyncClass << result.toString();