From c0e455fd1af13fc537eef084c9907439b41b3788 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Mon, 13 Nov 2017 09:09:57 +0100 Subject: [PATCH 001/108] cmake: Remove check for older CMake We require at least 3.0 now anyway --- plugins/debuggercommon/tests/CMakeLists.txt | 6 ------ plugins/debuggercommon/tests/debuggees/CMakeLists.txt | 4 +--- plugins/debuggercommon/tests/debuggers-tests-config.h.in | 1 - plugins/gdb/unittests/test_gdb.cpp | 2 -- plugins/lldb/unittests/test_lldb.cpp | 4 ---- 5 files changed, 1 insertion(+), 16 deletions(-) diff --git a/plugins/debuggercommon/tests/CMakeLists.txt b/plugins/debuggercommon/tests/CMakeLists.txt index 810d0f135f..18b292ce99 100644 --- a/plugins/debuggercommon/tests/CMakeLists.txt +++ b/plugins/debuggercommon/tests/CMakeLists.txt @@ -1,9 +1,3 @@ -if (CMAKE_VERSION VERSION_GREATER "2.9" OR NOT CMAKE_GENERATOR MATCHES "Ninja") - set(HAVE_PATH_WITH_SPACES_TEST TRUE) -else() - message(WARNING "Disabling 'path with spaces' test, this CMake version would create a faulty build.ninja file. Upgrade to at least CMake v3.0") -endif() - get_filename_component(GDB_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../gdb ABSOLUTE) get_filename_component(LLDB_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../lldb ABSOLUTE) configure_file(debuggers-tests-config.h.in debuggers-tests-config.h) diff --git a/plugins/debuggercommon/tests/debuggees/CMakeLists.txt b/plugins/debuggercommon/tests/debuggees/CMakeLists.txt index 9d346f2e3b..ee283acb9f 100644 --- a/plugins/debuggercommon/tests/debuggees/CMakeLists.txt +++ b/plugins/debuggercommon/tests/debuggees/CMakeLists.txt @@ -30,9 +30,7 @@ target_link_libraries(debuggee_debugeeqt Qt5::Core) add_debuggable_executable(debuggee_debugeeexception SRCS debugeeexception.cpp) kde_target_enable_exceptions(debuggee_debugeeexception PRIVATE) -if (HAVE_PATH_WITH_SPACES_TEST) - add_subdirectory("path with space") -endif() +add_subdirectory("path with space") add_debuggable_executable(debuggee_qstring SRCS qstring.cpp) target_link_libraries(debuggee_qstring Qt5::Core) diff --git a/plugins/debuggercommon/tests/debuggers-tests-config.h.in b/plugins/debuggercommon/tests/debuggers-tests-config.h.in index 8f61090a2b..4a8e67ca15 100644 --- a/plugins/debuggercommon/tests/debuggers-tests-config.h.in +++ b/plugins/debuggercommon/tests/debuggers-tests-config.h.in @@ -4,4 +4,3 @@ #define DEBUGGEE_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/debuggees" #cmakedefine GDB_SRC_DIR "${GDB_SRC_DIR}" #cmakedefine LLDB_SRC_DIR "${LLDB_SRC_DIR}" -#cmakedefine01 HAVE_PATH_WITH_SPACES_TEST diff --git a/plugins/gdb/unittests/test_gdb.cpp b/plugins/gdb/unittests/test_gdb.cpp index fe9872dd3c..4c1ee7c406 100644 --- a/plugins/gdb/unittests/test_gdb.cpp +++ b/plugins/gdb/unittests/test_gdb.cpp @@ -2044,7 +2044,6 @@ void GdbTest::testDebugInExternalTerminal() // see: https://bugs.kde.org/show_bug.cgi?id=339231 void GdbTest::testPathWithSpace() { -#ifdef HAVE_PATH_WITH_SPACES_TEST TestDebugSession* session = new TestDebugSession; auto debugee = findExecutable(QStringLiteral("path with space/debuggee_spacedebugee")); @@ -2057,7 +2056,6 @@ void GdbTest::testPathWithSpace() QCOMPARE(b->state(), KDevelop::Breakpoint::CleanState); session->run(); WAIT_FOR_STATE(session, DebugSession::EndedState); -#endif } bool GdbTest::waitForState(DebugSession *session, DebugSession::DebuggerState state, diff --git a/plugins/lldb/unittests/test_lldb.cpp b/plugins/lldb/unittests/test_lldb.cpp index 61d1ecc659..d0803146f7 100644 --- a/plugins/lldb/unittests/test_lldb.cpp +++ b/plugins/lldb/unittests/test_lldb.cpp @@ -1851,10 +1851,6 @@ void LldbTest::testDebugInExternalTerminal() void LldbTest::testSpecialPath() { -#ifndef HAVE_PATH_WITH_SPACES_TEST - QSKIP("Skipping... special path test," - " this CMake version would create a faulty build.ninja file. Upgrade to at least CMake v3.0"); -#endif QSKIP("Skipping... lldb-mi itself can't handle path with space in application dir"); TestDebugSession* session = new TestDebugSession; From 22cb8945164634d3d6e0757763d1b6f2d847c1b6 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Mon, 13 Nov 2017 10:04:37 +0100 Subject: [PATCH 002/108] custom-dai: Don't crash when batch editing Broke with 6ccc2a32 BUG: 386709 FIXED-IN: 5.2.1 --- .../custom-definesandincludes/kcm_widget/projectpathswidget.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.cpp b/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.cpp index 13091de1f2..3bc4838e4b 100644 --- a/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.cpp +++ b/plugins/custom-definesandincludes/kcm_widget/projectpathswidget.cpp @@ -241,7 +241,6 @@ void ProjectPathsWidget::batchEdit() delete dialog; return; } - delete dialog; if (includesTab) { auto includes = be.textEdit->toPlainText().split('\n', QString::SkipEmptyParts); @@ -268,6 +267,7 @@ void ProjectPathsWidget::batchEdit() } projectPathSelected(index); + delete dialog; } void ProjectPathsWidget::setCurrentCompiler(const QString& name) From 4db1ad101728b1a9b9cb02dc4aa3373274a99cd8 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 14 Nov 2017 13:36:03 +0100 Subject: [PATCH 003/108] abstractnavigationwidget: Add missing DUChain lock Otherwise this might cause a crash when clicking on items in the navigation tooltips. BUG: 386901 FIXED-IN: 5.2.1 --- .../language/duchain/navigation/abstractnavigationwidget.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kdevplatform/language/duchain/navigation/abstractnavigationwidget.cpp b/kdevplatform/language/duchain/navigation/abstractnavigationwidget.cpp index 50f82c1ff2..6eaa1de9f0 100644 --- a/kdevplatform/language/duchain/navigation/abstractnavigationwidget.cpp +++ b/kdevplatform/language/duchain/navigation/abstractnavigationwidget.cpp @@ -253,6 +253,8 @@ void AbstractNavigationWidget::navigateDeclaration(const IndexedDeclaration& dec void AbstractNavigationWidgetPrivate::anchorClicked(const QUrl& url) { + DUChainReadLocker lock; + //We may get deleted while the call to acceptLink, so make sure we don't crash in that case QPointer thisPtr(q); NavigationContextPointer nextContext = m_context->acceptLink(url.toString()); From da49f7bf76aaa1e229f8b5455531cf697d9e5943 Mon Sep 17 00:00:00 2001 From: Geetam Chawla Date: Wed, 15 Nov 2017 11:27:02 +0100 Subject: [PATCH 004/108] fix "none" being set as default compiler on windows Summary: and as a result, fix standard msvc include directories not being provided to the language plugin. Reviewers: mwolff Subscribers: mwolff, kdevelop-devel Differential Revision: https://phabricator.kde.org/D8805 --- .../compilerprovider/compilerprovider.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp b/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp index f9d8d750a9..7ddd44ebdf 100644 --- a/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp +++ b/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp @@ -177,7 +177,7 @@ CompilerPointer CompilerProvider::defaultCompiler() const return m_defaultProvider; auto rt = ICore::self()->runtimeController()->currentRuntime(); - const auto path = QFile::decodeName(rt->getenv("PATH")).split(':'); + const auto path = QFile::decodeName(rt->getenv("PATH")).split(QDir::listSeparator()); for ( const CompilerPointer& compiler : m_compilers ) { const bool absolutePath = QDir::isAbsolutePath(compiler->path()); From 6ae542fbea99b2058741a452feda85e499c8349c Mon Sep 17 00:00:00 2001 From: Geetam Chawla Date: Wed, 15 Nov 2017 23:16:49 +0100 Subject: [PATCH 005/108] gcclikecompiler: Fix execution of compiler qprocess under windows Summary: Rather than passing null device as input file to the compiler, "-" is passed as argument which makes the compiler take input from stdin, then qprocess' standard input file is set to QProcess:nullDevice() to make it read eof. Note that it fixes standard includes not being passed to language plugin if clang is set as default compiler under windows. Reviewers: #kdevelop, kfunk Reviewed By: #kdevelop, kfunk Subscribers: kfunk, brauch, kdevelop-devel Differential Revision: https://phabricator.kde.org/D8831 --- .../compilerprovider/gcclikecompiler.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.cpp b/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.cpp index d1b6391ba8..a459135a7d 100644 --- a/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.cpp +++ b/plugins/custom-definesandincludes/compilerprovider/gcclikecompiler.cpp @@ -96,8 +96,9 @@ Defines GccLikeCompiler::defines(const QString& arguments) const auto compilerArguments = languageOptions(arguments); compilerArguments.append(QStringLiteral("-dM")); compilerArguments.append(QStringLiteral("-E")); - compilerArguments.append(QProcess::nullDevice()); + compilerArguments.append(QStringLiteral("-")); + proc.setStandardInputFile(QProcess::nullDevice()); proc.setProgram(path()); proc.setArguments(compilerArguments); rt->startProcess(&proc); @@ -150,8 +151,9 @@ Path::List GccLikeCompiler::includes(const QString& arguments) const auto compilerArguments = languageOptions(arguments); compilerArguments.append(QStringLiteral("-E")); compilerArguments.append(QStringLiteral("-v")); - compilerArguments.append(QProcess::nullDevice()); + compilerArguments.append(QStringLiteral("-")); + proc.setStandardInputFile(QProcess::nullDevice()); proc.setProgram(path()); proc.setArguments(compilerArguments); rt->startProcess(&proc); From c345009335d31bdac6433a9e9c8f976e1ee1f261 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 14 Sep 2017 19:29:16 +0200 Subject: [PATCH 006/108] Minor: Fix coding style (cherry picked from commit c917ebbef90138de3dde2dea06cb3b8dcde0d4f8) --- plugins/debuggercommon/midebugger.cpp | 100 +++++++++++++------------- plugins/debuggercommon/midebugger.h | 9 ++- plugins/debuggercommon/mivariable.cpp | 52 +++++++------- plugins/debuggercommon/mivariable.h | 9 ++- plugins/gdb/gdb.cpp | 8 +-- plugins/lldb/controllers/variable.cpp | 8 +-- plugins/lldb/lldbdebugger.cpp | 8 +-- 7 files changed, 98 insertions(+), 96 deletions(-) diff --git a/plugins/debuggercommon/midebugger.cpp b/plugins/debuggercommon/midebugger.cpp index 2d1ac939de..6571f2fcec 100644 --- a/plugins/debuggercommon/midebugger.cpp +++ b/plugins/debuggercommon/midebugger.cpp @@ -46,50 +46,50 @@ using namespace KDevMI::MI; MIDebugger::MIDebugger(QObject* parent) : QObject(parent) - , process_(nullptr) - , currentCmd_(nullptr) + , m_process(nullptr) + , m_currentCmd(nullptr) { - process_ = new KProcess(this); - process_->setOutputChannelMode(KProcess::SeparateChannels); - connect(process_, &KProcess::readyReadStandardOutput, + m_process = new KProcess(this); + m_process->setOutputChannelMode(KProcess::SeparateChannels); + connect(m_process, &KProcess::readyReadStandardOutput, this, &MIDebugger::readyReadStandardOutput); - connect(process_, &KProcess::readyReadStandardError, + connect(m_process, &KProcess::readyReadStandardError, this, &MIDebugger::readyReadStandardError); - connect(process_, + connect(m_process, static_cast(&KProcess::finished), this, &MIDebugger::processFinished); - connect(process_, static_cast(&KProcess::error), + connect(m_process, static_cast(&KProcess::error), this, &MIDebugger::processErrored); } MIDebugger::~MIDebugger() { // prevent Qt warning: QProcess: Destroyed while process is still running. - if (process_ && process_->state() == QProcess::Running) { - disconnect(process_, static_cast(&KProcess::error), + if (m_process && m_process->state() == QProcess::Running) { + disconnect(m_process, static_cast(&KProcess::error), this, &MIDebugger::processErrored); - process_->kill(); - process_->waitForFinished(10); + m_process->kill(); + m_process->waitForFinished(10); } } void MIDebugger::execute(MICommand* command) { - currentCmd_ = command; - QString commandText = currentCmd_->cmdToSend(); + m_currentCmd = command; + QString commandText = m_currentCmd->cmdToSend(); qCDebug(DEBUGGERCOMMON) << "SEND:" << commandText.trimmed(); QByteArray commandUtf8 = commandText.toUtf8(); - process_->write(commandUtf8, commandUtf8.length()); + m_process->write(commandUtf8, commandUtf8.length()); command->markAsSubmitted(); - QString prettyCmd = currentCmd_->cmdToSend(); + QString prettyCmd = m_currentCmd->cmdToSend(); prettyCmd.remove( QRegExp("set prompt \032.\n") ); prettyCmd = "(gdb) " + prettyCmd; - if (currentCmd_->isUserCommand()) + if (m_currentCmd->isUserCommand()) emit userCommandOutput(prettyCmd); else emit internalCommandOutput(prettyCmd); @@ -97,13 +97,13 @@ void MIDebugger::execute(MICommand* command) bool MIDebugger::isReady() const { - return currentCmd_ == nullptr; + return m_currentCmd == nullptr; } void MIDebugger::interrupt() { //TODO:win32 Porting needed - int pid = process_->pid(); + int pid = m_process->pid(); if (pid != 0) { ::kill(pid, SIGINT); } @@ -111,28 +111,28 @@ void MIDebugger::interrupt() MICommand* MIDebugger::currentCommand() const { - return currentCmd_; + return m_currentCmd; } void MIDebugger::kill() { - process_->kill(); + m_process->kill(); } void MIDebugger::readyReadStandardOutput() { - process_->setReadChannel(QProcess::StandardOutput); + m_process->setReadChannel(QProcess::StandardOutput); - buffer_ += process_->readAll(); + m_buffer += m_process->readAll(); for (;;) { /* In MI mode, all messages are exactly one line. See if we have any complete lines in the buffer. */ - int i = buffer_.indexOf('\n'); + int i = m_buffer.indexOf('\n'); if (i == -1) break; - QByteArray reply(buffer_.left(i)); - buffer_ = buffer_.mid(i+1); + QByteArray reply(m_buffer.left(i)); + m_buffer = m_buffer.mid(i+1); processLine(reply); } @@ -140,18 +140,18 @@ void MIDebugger::readyReadStandardOutput() void MIDebugger::readyReadStandardError() { - process_->setReadChannel(QProcess::StandardError); - emit debuggerInternalOutput(QString::fromUtf8(process_->readAll())); + m_process->setReadChannel(QProcess::StandardError); + emit debuggerInternalOutput(QString::fromUtf8(m_process->readAll())); } void MIDebugger::processLine(const QByteArray& line) { - qCDebug(DEBUGGERCOMMON) << "Debugger (" << process_->pid() <<") output: " << line; + qCDebug(DEBUGGERCOMMON) << "Debugger (" << m_process->pid() <<") output: " << line; FileSymbol file; file.contents = line; - std::unique_ptr r(mi_parser_.parse(&file)); + std::unique_ptr r(m_parser.parse(&file)); if (!r) { @@ -179,23 +179,23 @@ void MIDebugger::processLine(const QByteArray& line) // it's still possible for the user to issue a MI command, // emit correct signal - if (currentCmd_ && currentCmd_->isUserCommand()) { + if (m_currentCmd && m_currentCmd->isUserCommand()) { emit userCommandOutput(QString::fromUtf8(line) + '\n'); } else { emit internalCommandOutput(QString::fromUtf8(line) + '\n'); } // protect against wild replies that sometimes returned from gdb without a pending command - if (!currentCmd_) + if (!m_currentCmd) { qCWarning(DEBUGGERCOMMON) << "Received a result without a pending command"; throw std::runtime_error("Received a result without a pending command"); } - else if (currentCmd_->token() != result.token) + else if (m_currentCmd->token() != result.token) { std::stringstream ss; ss << "Received a result with token not matching pending command. " - << "Pending: " << currentCmd_->token() << "Received: " << result.token; + << "Pending: " << m_currentCmd->token() << "Received: " << result.token; qCWarning(DEBUGGERCOMMON) << ss.str().c_str(); throw std::runtime_error(ss.str()); } @@ -204,24 +204,24 @@ void MIDebugger::processLine(const QByteArray& line) if (result.reason == QLatin1String("done") || result.reason == QLatin1String("running") || result.reason == QLatin1String("exit")) { qCDebug(DEBUGGERCOMMON) << "Result token is" << result.token; - currentCmd_->markAsCompleted(); + m_currentCmd->markAsCompleted(); qCDebug(DEBUGGERCOMMON) << "Command successful, times " - << currentCmd_->totalProcessingTime() - << currentCmd_->queueTime() - << currentCmd_->gdbProcessingTime(); - currentCmd_->invokeHandler(result); + << m_currentCmd->totalProcessingTime() + << m_currentCmd->queueTime() + << m_currentCmd->gdbProcessingTime(); + m_currentCmd->invokeHandler(result); } else if (result.reason == QLatin1String("error")) { qCDebug(DEBUGGERCOMMON) << "Handling error"; - currentCmd_->markAsCompleted(); + m_currentCmd->markAsCompleted(); qCDebug(DEBUGGERCOMMON) << "Command error, times" - << currentCmd_->totalProcessingTime() - << currentCmd_->queueTime() - << currentCmd_->gdbProcessingTime(); + << m_currentCmd->totalProcessingTime() + << m_currentCmd->queueTime() + << m_currentCmd->gdbProcessingTime(); // Some commands want to handle errors themself. - if (currentCmd_->handlesError() && - currentCmd_->invokeHandler(result)) + if (m_currentCmd->handlesError() && + m_currentCmd->invokeHandler(result)) { qCDebug(DEBUGGERCOMMON) << "Invoked custom handler\n"; // Done, nothing more needed @@ -234,8 +234,8 @@ void MIDebugger::processLine(const QByteArray& line) qCDebug(DEBUGGERCOMMON) << "Unhandled result code: " << result.reason; } - delete currentCmd_; - currentCmd_ = nullptr; + delete m_currentCmd; + m_currentCmd = nullptr; emit ready(); break; } @@ -286,13 +286,13 @@ void MIDebugger::processLine(const QByteArray& line) if (s.subkind == MI::StreamRecord::Target) { emit applicationOutput(s.message); } else if (s.subkind == MI::StreamRecord::Console) { - if (currentCmd_ && currentCmd_->isUserCommand()) + if (m_currentCmd && m_currentCmd->isUserCommand()) emit userCommandOutput(s.message); else emit internalCommandOutput(s.message); - if (currentCmd_) - currentCmd_->newOutput(s.message); + if (m_currentCmd) + m_currentCmd->newOutput(s.message); } else { emit debuggerInternalOutput(s.message); } diff --git a/plugins/debuggercommon/midebugger.h b/plugins/debuggercommon/midebugger.h index ae9dd7f44a..5677444be1 100644 --- a/plugins/debuggercommon/midebugger.h +++ b/plugins/debuggercommon/midebugger.h @@ -136,15 +136,14 @@ protected Q_SLOTS: protected: QString debuggerExecutable_; - KProcess* process_; + KProcess* m_process; - MI::MICommand* currentCmd_; - - MI::MIParser mi_parser_; + MI::MICommand* m_currentCmd; + MI::MIParser m_parser; /** The unprocessed output from debugger. Output is processed as soon as we see newline. */ - QByteArray buffer_; + QByteArray m_buffer; }; } diff --git a/plugins/debuggercommon/mivariable.cpp b/plugins/debuggercommon/mivariable.cpp index 62bbcc88eb..59f39332ed 100644 --- a/plugins/debuggercommon/mivariable.cpp +++ b/plugins/debuggercommon/mivariable.cpp @@ -35,26 +35,26 @@ using namespace KDevMI::MI; bool MIVariable::sessionIsAlive() const { - if (!debugSession) + if (!m_debugSession) return false; - IDebugSession::DebuggerState s = debugSession->state(); + IDebugSession::DebuggerState s = m_debugSession->state(); return s != IDebugSession::NotStartedState && s != IDebugSession::EndedState - && !debugSession->debuggerStateIsOn(s_shuttingDown); + && !m_debugSession->debuggerStateIsOn(s_shuttingDown); } MIVariable::MIVariable(MIDebugSession *session, TreeModel* model, TreeItem* parent, const QString& expression, const QString& display) : Variable(model, parent, expression, display) - , debugSession(session) + , m_debugSession(session) { } MIVariable *MIVariable::createChild(const Value& child) { - if (!debugSession) return nullptr; - auto var = static_cast(debugSession->variableController()->createVariable(model(), this, child[QStringLiteral("exp")].literal())); + if (!m_debugSession) return nullptr; + auto var = static_cast(m_debugSession->variableController()->createVariable(model(), this, child[QStringLiteral("exp")].literal())); var->setTopLevel(false); var->setVarobj(child[QStringLiteral("name")].literal()); bool hasMore = child[QStringLiteral("numchild")].toInt() != 0 || ( child.hasField(QStringLiteral("dynamic")) && child[QStringLiteral("dynamic")].toInt()!=0 ); @@ -71,33 +71,33 @@ MIVariable *MIVariable::createChild(const Value& child) MIVariable::~MIVariable() { - if (!varobj_.isEmpty()) + if (!m_varobj.isEmpty()) { // Delete only top-level variable objects. if (topLevel()) { if (sessionIsAlive()) { - debugSession->addCommand(VarDelete, QStringLiteral("\"%1\"").arg(varobj_)); + m_debugSession->addCommand(VarDelete, QStringLiteral("\"%1\"").arg(m_varobj)); } } - if (debugSession) - debugSession->variableMapping().remove(varobj_); + if (m_debugSession) + m_debugSession->variableMapping().remove(m_varobj); } } void MIVariable::setVarobj(const QString& v) { - if (!debugSession) { + if (!m_debugSession) { qCWarning(DEBUGGERCOMMON) << "MIVariable::setVarobj called when its session died"; return; } - if (!varobj_.isEmpty()) { + if (!m_varobj.isEmpty()) { // this should not happen // but apperently it does when attachMaybe is called a second time before // the first -var-create call returned - debugSession->variableMapping().remove(varobj_); + m_debugSession->variableMapping().remove(m_varobj); } - varobj_ = v; - debugSession->variableMapping()[varobj_] = this; + m_varobj = v; + m_debugSession->variableMapping()[m_varobj] = this; } @@ -163,15 +163,15 @@ class CreateVarobjHandler : public MICommandHandler void MIVariable::attachMaybe(QObject *callback, const char *callbackMethod) { - if (!varobj_.isEmpty()) + if (!m_varobj.isEmpty()) return; // Try find a current session and attach to it if (!ICore::self()->debugController()) return; //happens on shutdown - debugSession = static_cast(ICore::self()->debugController()->currentSession()); + m_debugSession = static_cast(ICore::self()->debugController()->currentSession()); if (sessionIsAlive()) { - debugSession->addCommand(VarCreate, + m_debugSession->addCommand(VarCreate, QStringLiteral("var%1 @ %2").arg(nextId++).arg(enquotedExpression()), new CreateVarobjHandler(this, callback, callbackMethod)); } @@ -179,7 +179,7 @@ void MIVariable::attachMaybe(QObject *callback, const char *callbackMethod) void MIVariable::markAsDead() { - varobj_.clear(); + m_varobj.clear(); } class FetchMoreChildrenHandler : public MICommandHandler @@ -249,11 +249,11 @@ void MIVariable::fetchMoreChildren() // FIXME: should not even try this if app is not started. // Probably need to disable open, or something if (sessionIsAlive()) { - debugSession->addCommand(VarListChildren, + m_debugSession->addCommand(VarListChildren, QStringLiteral("--all-values \"%1\" %2 %3") // fetch from .. to .. - .arg(varobj_).arg(c).arg(c + fetchStep), - new FetchMoreChildrenHandler(this, debugSession)); + .arg(m_varobj).arg(c).arg(c + s_fetchStep), + new FetchMoreChildrenHandler(this, m_debugSession)); } } @@ -290,7 +290,7 @@ void MIVariable::handleUpdate(const Value& var) if (var.hasField(QStringLiteral("new_children"))) { const Value& children = var[QStringLiteral("new_children")]; - if (debugSession) { + if (m_debugSession) { for (int i = 0; i < children.size(); ++i) { createChild(children[i]); // it's automatically appended to this's children list @@ -309,7 +309,7 @@ void MIVariable::handleUpdate(const Value& var) const QString& MIVariable::varobj() const { - return varobj_; + return m_varobj; } QString MIVariable::enquotedExpression() const @@ -347,8 +347,8 @@ void MIVariable::formatChanged() else { if (sessionIsAlive()) { - debugSession->addCommand(VarSetFormat, - QStringLiteral(" %1 %2 ").arg(varobj_).arg(format2str(format())), + m_debugSession->addCommand(VarSetFormat, + QStringLiteral(" %1 %2 ").arg(m_varobj).arg(format2str(format())), new SetFormatHandler(this)); } } diff --git a/plugins/debuggercommon/mivariable.h b/plugins/debuggercommon/mivariable.h index 8af24096dc..f31f7c0606 100644 --- a/plugins/debuggercommon/mivariable.h +++ b/plugins/debuggercommon/mivariable.h @@ -77,13 +77,16 @@ class MIVariable : public KDevelop::Variable bool sessionIsAlive() const; void setVarobj(const QString& v); - QString varobj_; - QPointer debugSession; +protected: + QPointer m_debugSession; + +private: + QString m_varobj; // How many children should be fetched in one // increment. - static const int fetchStep = 5; + static const int s_fetchStep = 5; }; } // end of KDevMI diff --git a/plugins/gdb/gdb.cpp b/plugins/gdb/gdb.cpp index 2d86d3b831..463cbe237d 100644 --- a/plugins/gdb/gdb.cpp +++ b/plugins/gdb/gdb.cpp @@ -82,16 +82,16 @@ bool GdbDebugger::start(KConfigGroup& config, const QStringList& extraArguments) arguments.insert(0, debuggerExecutable_); arguments.insert(0, shell.toLocalFile()); - process_->setShellCommand(KShell::joinArgs(arguments)); + m_process->setShellCommand(KShell::joinArgs(arguments)); } else { - process_->setProgram(debuggerExecutable_, arguments); + m_process->setProgram(debuggerExecutable_, arguments); } - process_->start(); + m_process->start(); qCDebug(DEBUGGERGDB) << "Starting GDB with command" << shell.toLocalFile() + QLatin1Char(' ') + debuggerExecutable_ + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')); - qCDebug(DEBUGGERGDB) << "GDB process pid:" << process_->pid(); + qCDebug(DEBUGGERGDB) << "GDB process pid:" << m_process->pid(); emit userCommandOutput(shell.toLocalFile() + QLatin1Char(' ') + debuggerExecutable_ + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')) + QLatin1Char('\n')); return true; diff --git a/plugins/lldb/controllers/variable.cpp b/plugins/lldb/controllers/variable.cpp index 8a7a741d13..82c967d4af 100644 --- a/plugins/lldb/controllers/variable.cpp +++ b/plugins/lldb/controllers/variable.cpp @@ -41,7 +41,7 @@ LldbVariable::LldbVariable(DebugSession *session, TreeModel *model, TreeItem *pa void LldbVariable::refetch() { - if (!topLevel() || varobj_.isEmpty()) { + if (!topLevel() || varobj().isEmpty()) { return; } @@ -51,7 +51,7 @@ void LldbVariable::refetch() // update the value itself QPointer guarded_this(this); - debugSession->addCommand(VarEvaluateExpression, varobj_, [guarded_this](const ResultRecord &r){ + m_debugSession->addCommand(VarEvaluateExpression, varobj(), [guarded_this](const ResultRecord &r){ if (guarded_this && r.reason == QLatin1String("done") && r.hasField(QStringLiteral("value"))) { guarded_this->setValue(guarded_this->formatValue(r[QStringLiteral("value")].literal())); } @@ -90,9 +90,9 @@ void LldbVariable::formatChanged() { if (sessionIsAlive()) { QPointer guarded_this(this); - debugSession->addCommand( + m_debugSession->addCommand( VarSetFormat, - QStringLiteral(" %1 %2 ").arg(varobj_).arg(format2str(format())), + QStringLiteral(" %1 %2 ").arg(varobj()).arg(format2str(format())), [guarded_this](const ResultRecord &r){ if(guarded_this && r.hasField(QStringLiteral("changelist"))) { if (r[QStringLiteral("changelist")].size() > 0) { diff --git a/plugins/lldb/lldbdebugger.cpp b/plugins/lldb/lldbdebugger.cpp index 30910e04a5..14bd17761d 100644 --- a/plugins/lldb/lldbdebugger.cpp +++ b/plugins/lldb/lldbdebugger.cpp @@ -73,12 +73,12 @@ bool LldbDebugger::start(KConfigGroup& config, const QStringList& extraArguments } // Start! - process_->setProcessEnvironment(processEnv); - process_->setProgram(debuggerExecutable_, arguments); - process_->start(); + m_process->setProcessEnvironment(processEnv); + m_process->setProgram(debuggerExecutable_, arguments); + m_process->start(); qCDebug(DEBUGGERLLDB) << "Starting LLDB with command" << debuggerExecutable_ + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')); - qCDebug(DEBUGGERLLDB) << "LLDB process pid:" << process_->pid(); + qCDebug(DEBUGGERLLDB) << "LLDB process pid:" << m_process->pid(); emit userCommandOutput(debuggerExecutable_ + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')) + QLatin1Char('\n')); return true; From 638e8f0c2202d79f5cd3bb58b064ab18a29f542b Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Wed, 15 Nov 2017 23:47:58 +0100 Subject: [PATCH 007/108] Minor: Fix coding style --- plugins/debuggercommon/midebugger.cpp | 4 ++-- plugins/debuggercommon/midebugger.h | 2 +- plugins/gdb/gdb.cpp | 12 ++++++------ plugins/lldb/lldbdebugger.cpp | 10 +++++----- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/plugins/debuggercommon/midebugger.cpp b/plugins/debuggercommon/midebugger.cpp index 6571f2fcec..dce505ee28 100644 --- a/plugins/debuggercommon/midebugger.cpp +++ b/plugins/debuggercommon/midebugger.cpp @@ -343,7 +343,7 @@ void MIDebugger::processErrored(QProcess::ProcessError error) i18n("Could not start debugger." "

Could not run '%1'. " "Make sure that the path name is specified correctly.", - debuggerExecutable_), + m_debuggerExecutable), i18n("Could not start debugger")); emit userCommandOutput(QStringLiteral("Process failed to start\n")); @@ -356,7 +356,7 @@ void MIDebugger::processErrored(QProcess::ProcessError error) "

The debugger process '%1' crashed.
" "Because of that the debug session has to be ended.
" "Try to reproduce the crash without KDevelop and report a bug.
", - debuggerExecutable_), + m_debuggerExecutable), i18n("Debugger crashed")); emit userCommandOutput(QStringLiteral("Process crashed\n")); diff --git a/plugins/debuggercommon/midebugger.h b/plugins/debuggercommon/midebugger.h index 5677444be1..f934c029cf 100644 --- a/plugins/debuggercommon/midebugger.h +++ b/plugins/debuggercommon/midebugger.h @@ -135,7 +135,7 @@ protected Q_SLOTS: void processLine(const QByteArray& line); protected: - QString debuggerExecutable_; + QString m_debuggerExecutable; KProcess* m_process; MI::MICommand* m_currentCmd; diff --git a/plugins/gdb/gdb.cpp b/plugins/gdb/gdb.cpp index 463cbe237d..993e657167 100644 --- a/plugins/gdb/gdb.cpp +++ b/plugins/gdb/gdb.cpp @@ -52,10 +52,10 @@ bool GdbDebugger::start(KConfigGroup& config, const QStringList& extraArguments) // FIXME: verify that default value leads to something sensible QUrl gdbUrl = config.readEntry(Config::GdbPathEntry, QUrl()); if (gdbUrl.isEmpty()) { - debuggerExecutable_ = QStringLiteral("gdb"); + m_debuggerExecutable = QStringLiteral("gdb"); } else { // FIXME: verify its' a local path. - debuggerExecutable_ = gdbUrl.url(QUrl::PreferLocalFile | QUrl::StripTrailingSlash); + m_debuggerExecutable = gdbUrl.url(QUrl::PreferLocalFile | QUrl::StripTrailingSlash); } QStringList arguments = extraArguments; @@ -80,19 +80,19 @@ bool GdbDebugger::start(KConfigGroup& config, const QStringList& extraArguments) return false; } - arguments.insert(0, debuggerExecutable_); + arguments.insert(0, m_debuggerExecutable); arguments.insert(0, shell.toLocalFile()); m_process->setShellCommand(KShell::joinArgs(arguments)); } else { - m_process->setProgram(debuggerExecutable_, arguments); + m_process->setProgram(m_debuggerExecutable, arguments); } m_process->start(); - qCDebug(DEBUGGERGDB) << "Starting GDB with command" << shell.toLocalFile() + QLatin1Char(' ') + debuggerExecutable_ + qCDebug(DEBUGGERGDB) << "Starting GDB with command" << shell.toLocalFile() + QLatin1Char(' ') + m_debuggerExecutable + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')); qCDebug(DEBUGGERGDB) << "GDB process pid:" << m_process->pid(); - emit userCommandOutput(shell.toLocalFile() + QLatin1Char(' ') + debuggerExecutable_ + emit userCommandOutput(shell.toLocalFile() + QLatin1Char(' ') + m_debuggerExecutable + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')) + QLatin1Char('\n')); return true; } diff --git a/plugins/lldb/lldbdebugger.cpp b/plugins/lldb/lldbdebugger.cpp index 14bd17761d..f621e3b869 100644 --- a/plugins/lldb/lldbdebugger.cpp +++ b/plugins/lldb/lldbdebugger.cpp @@ -51,9 +51,9 @@ bool LldbDebugger::start(KConfigGroup& config, const QStringList& extraArguments // Get path to executable QUrl lldbUrl = config.readEntry(Config::LldbExecutableEntry, QUrl()); if (!lldbUrl.isValid() || !lldbUrl.isLocalFile()) { - debuggerExecutable_ = QStringLiteral("lldb-mi"); + m_debuggerExecutable = QStringLiteral("lldb-mi"); } else { - debuggerExecutable_ = lldbUrl.toLocalFile(); + m_debuggerExecutable = lldbUrl.toLocalFile(); } // Get arguments @@ -74,12 +74,12 @@ bool LldbDebugger::start(KConfigGroup& config, const QStringList& extraArguments // Start! m_process->setProcessEnvironment(processEnv); - m_process->setProgram(debuggerExecutable_, arguments); + m_process->setProgram(m_debuggerExecutable, arguments); m_process->start(); - qCDebug(DEBUGGERLLDB) << "Starting LLDB with command" << debuggerExecutable_ + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')); + qCDebug(DEBUGGERLLDB) << "Starting LLDB with command" << m_debuggerExecutable + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')); qCDebug(DEBUGGERLLDB) << "LLDB process pid:" << m_process->pid(); - emit userCommandOutput(debuggerExecutable_ + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')) + QLatin1Char('\n')); + emit userCommandOutput(m_debuggerExecutable + QLatin1Char(' ') + arguments.join(QLatin1Char(' ')) + QLatin1Char('\n')); return true; } From 1dbef93c2c91d1f525bf071a8819d5e8ea395767 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 00:35:27 +0100 Subject: [PATCH 008/108] test_lldb: Skip test if lldb-mi not found Otherwise this test later pops up a message box indicating that lldb-mi is not available anyhow. --- plugins/lldb/unittests/test_lldb.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/lldb/unittests/test_lldb.cpp b/plugins/lldb/unittests/test_lldb.cpp index d0803146f7..a6dcd25332 100644 --- a/plugins/lldb/unittests/test_lldb.cpp +++ b/plugins/lldb/unittests/test_lldb.cpp @@ -207,6 +207,11 @@ void LldbTest::initTestCase() Q_ASSERT(m_iface); m_debugeeFileName = findSourceFile("debugee.cpp"); + + const QString lldbMiExecutable = QStandardPaths::findExecutable(QStringLiteral("lldb-mi")); + if (lldbMiExecutable.isEmpty()) { + QSKIP("Skipping, lldb-mi not available"); + } } // Called after the last testfunction was executed From 021cac878711a768735a336f7ff1784fd318a1b3 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 01:00:15 +0100 Subject: [PATCH 009/108] Fix in-source build of release tarball With this change, .mo files are still installed (after one did `make fetch-translations`) BUG: 386946 FIXED-IN: 5.2.1 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9c11860f91..d60aa8ccd0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -160,6 +160,6 @@ configure_file(${CMAKE_SOURCE_DIR}/CTestCustom.cmake ${CMAKE_BINARY_DIR}/CTestCu install(FILES org.kde.kdevelop.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) # Make it possible to use the po files fetched by the fetch-translations step -ki18n_install("${CMAKE_CURRENT_BINARY_DIR}/po") +ki18n_install(po) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) From f57b4609960a06d61843d1ea9440cdf600e1b662 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 01:07:06 +0100 Subject: [PATCH 010/108] appimage: Bump KF5 version to 5.37.0 --- appimage/kdevelop-recipe-centos6.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appimage/kdevelop-recipe-centos6.sh b/appimage/kdevelop-recipe-centos6.sh index 20ab7459d7..af0b39fff2 100755 --- a/appimage/kdevelop-recipe-centos6.sh +++ b/appimage/kdevelop-recipe-centos6.sh @@ -29,7 +29,7 @@ fi if [ -z "$KDEV_PG_QT_VERSION" ]; then KDEV_PG_QT_VERSION=2.0 fi -KF5_VERSION=v5.32.0 +KF5_VERSION=v5.37.0 KDE_PLASMA_VERSION=master # need libksysguard master (contains a0e69617442d720c76da5ebe3323e7a977929db4 -- patch which makes plasma dep optional) KDE_APPLICATION_VERSION=v16.12.3 GRANTLEE_VERSION=v5.1.0 From 7e25d7b9eb174ecb37ac7d709c8b63a6f460bbba Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 01:16:13 +0100 Subject: [PATCH 011/108] test_lldbformatters: Skip test if lldb-mi not found Otherwise this test later pops up a message box indicating that lldb-mi is not available anyhow. --- plugins/lldb/unittests/test_lldbformatters.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/lldb/unittests/test_lldbformatters.cpp b/plugins/lldb/unittests/test_lldbformatters.cpp index 72db3b4a0f..5b4bbf6a60 100644 --- a/plugins/lldb/unittests/test_lldbformatters.cpp +++ b/plugins/lldb/unittests/test_lldbformatters.cpp @@ -159,13 +159,18 @@ KDevelop::Breakpoint* LldbFormattersTest::addCodeBreakpoint(const QUrl& location // Called before the first testfunction is executed void LldbFormattersTest::initTestCase() { - AutoTestShell::init(); + AutoTestShell::init({QStringLiteral("kdevlldb"), QStringLiteral("kdevexecute")}); m_core = TestCore::initialize(Core::NoUi); m_iface = m_core->pluginController() ->pluginForExtension(QStringLiteral("org.kdevelop.IExecutePlugin"), QStringLiteral("kdevexecute")) ->extension(); Q_ASSERT(m_iface); + + const QString lldbMiExecutable = QStandardPaths::findExecutable(QStringLiteral("lldb-mi")); + if (lldbMiExecutable.isEmpty()) { + QSKIP("Skipping, lldb-mi not available"); + } } // Called after the last testfunction was executed From 1cf0f6b4dbea4e3618946c4d1ce3c7f54d99af80 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 01:54:38 +0100 Subject: [PATCH 012/108] test_definesandincludes: Speedup test --- .../custom-definesandincludes/tests/test_definesandincludes.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/custom-definesandincludes/tests/test_definesandincludes.cpp b/plugins/custom-definesandincludes/tests/test_definesandincludes.cpp index 7d890dc8c8..424026a9d0 100644 --- a/plugins/custom-definesandincludes/tests/test_definesandincludes.cpp +++ b/plugins/custom-definesandincludes/tests/test_definesandincludes.cpp @@ -42,7 +42,7 @@ void TestDefinesAndIncludes::cleanupTestCase() void TestDefinesAndIncludes::initTestCase() { - AutoTestShell::init(); + AutoTestShell::init({QStringLiteral("kdevdefinesandincludesmanager"), QStringLiteral("KDevCustomBuildSystem"), QStringLiteral("KDevStandardOutputView")}); TestCore::initialize(); } From c92a8f17a7bdc86b4032e2aa35391df1e28bcb7e Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 02:05:54 +0100 Subject: [PATCH 013/108] Move QtSingleApplication to own dir in 3rdparty/ --- app/3rdparty/qtsingleapplication/CMakeLists.txt | 8 ++++++++ .../qtsingleapplication}/qtlocalpeer.cpp | 0 .../qtsingleapplication}/qtlocalpeer.h | 0 .../qtsingleapplication}/qtlockedfile.cpp | 0 .../qtsingleapplication}/qtlockedfile.h | 0 .../qtsingleapplication}/qtlockedfile_unix.cpp | 0 .../qtsingleapplication}/qtlockedfile_win.cpp | 0 .../qtsingleapplication}/qtsingleapplication.cpp | 0 .../qtsingleapplication}/qtsingleapplication.h | 0 app/CMakeLists.txt | 15 ++++----------- 10 files changed, 12 insertions(+), 11 deletions(-) create mode 100644 app/3rdparty/qtsingleapplication/CMakeLists.txt rename app/{ => 3rdparty/qtsingleapplication}/qtlocalpeer.cpp (100%) rename app/{ => 3rdparty/qtsingleapplication}/qtlocalpeer.h (100%) rename app/{ => 3rdparty/qtsingleapplication}/qtlockedfile.cpp (100%) rename app/{ => 3rdparty/qtsingleapplication}/qtlockedfile.h (100%) rename app/{ => 3rdparty/qtsingleapplication}/qtlockedfile_unix.cpp (100%) rename app/{ => 3rdparty/qtsingleapplication}/qtlockedfile_win.cpp (100%) rename app/{ => 3rdparty/qtsingleapplication}/qtsingleapplication.cpp (100%) rename app/{ => 3rdparty/qtsingleapplication}/qtsingleapplication.h (100%) diff --git a/app/3rdparty/qtsingleapplication/CMakeLists.txt b/app/3rdparty/qtsingleapplication/CMakeLists.txt new file mode 100644 index 0000000000..fca5aa70e5 --- /dev/null +++ b/app/3rdparty/qtsingleapplication/CMakeLists.txt @@ -0,0 +1,8 @@ +set(qtsingleapplication_SRCS qtlocalpeer.cpp qtsingleapplication.cpp qtlockedfile.cpp) +if(WIN32) + list(APPEND qtsingleapplication_SRCS qtlockedfile_win.cpp) +else() + list(APPEND qtsingleapplication_SRCS qtlockedfile_unix.cpp) +endif() +add_library(qtsingleapplication STATIC ${qtsingleapplication_SRCS}) +target_link_libraries(qtsingleapplication Qt5::Core Qt5::Network Qt5::Widgets) diff --git a/app/qtlocalpeer.cpp b/app/3rdparty/qtsingleapplication/qtlocalpeer.cpp similarity index 100% rename from app/qtlocalpeer.cpp rename to app/3rdparty/qtsingleapplication/qtlocalpeer.cpp diff --git a/app/qtlocalpeer.h b/app/3rdparty/qtsingleapplication/qtlocalpeer.h similarity index 100% rename from app/qtlocalpeer.h rename to app/3rdparty/qtsingleapplication/qtlocalpeer.h diff --git a/app/qtlockedfile.cpp b/app/3rdparty/qtsingleapplication/qtlockedfile.cpp similarity index 100% rename from app/qtlockedfile.cpp rename to app/3rdparty/qtsingleapplication/qtlockedfile.cpp diff --git a/app/qtlockedfile.h b/app/3rdparty/qtsingleapplication/qtlockedfile.h similarity index 100% rename from app/qtlockedfile.h rename to app/3rdparty/qtsingleapplication/qtlockedfile.h diff --git a/app/qtlockedfile_unix.cpp b/app/3rdparty/qtsingleapplication/qtlockedfile_unix.cpp similarity index 100% rename from app/qtlockedfile_unix.cpp rename to app/3rdparty/qtsingleapplication/qtlockedfile_unix.cpp diff --git a/app/qtlockedfile_win.cpp b/app/3rdparty/qtsingleapplication/qtlockedfile_win.cpp similarity index 100% rename from app/qtlockedfile_win.cpp rename to app/3rdparty/qtsingleapplication/qtlockedfile_win.cpp diff --git a/app/qtsingleapplication.cpp b/app/3rdparty/qtsingleapplication/qtsingleapplication.cpp similarity index 100% rename from app/qtsingleapplication.cpp rename to app/3rdparty/qtsingleapplication/qtsingleapplication.cpp diff --git a/app/qtsingleapplication.h b/app/3rdparty/qtsingleapplication/qtsingleapplication.h similarity index 100% rename from app/qtsingleapplication.h rename to app/3rdparty/qtsingleapplication/qtsingleapplication.h diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index 43574b58e4..e343d071a5 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -9,17 +9,7 @@ endif() option(KDEVELOP_SINGLE_APP "Use QtSingleApplication as KDevelop's base" OFF) -set(singleapp_SRCS qtlocalpeer.cpp qtsingleapplication.cpp qtlockedfile.cpp) -if(WIN32) - set(singleapp_SRCS ${singleapp_SRCS} qtlockedfile_win.cpp) -else() - set(singleapp_SRCS ${singleapp_SRCS} qtlockedfile_unix.cpp) -endif() - set(kdevelop_SRCS main.cpp kdevideextension.cpp) -if(KDEVELOP_SINGLE_APP) - set(kdevelop_SRCS ${kdevelop_SRCS} ${singleapp_SRCS}) -endif() ecm_qt_declare_logging_category(kdevelop_SRCS HEADER debug.h @@ -46,7 +36,6 @@ ecm_add_app_icon(kdevelop_SRCS ICONS qt5_add_resources(kdevelop_SRCS kdevelop.qrc) add_executable(kdevelop ${kdevelop_SRCS} ) - target_link_libraries(kdevelop KDev::Interfaces KDev::Shell @@ -59,6 +48,10 @@ target_link_libraries(kdevelop IF(APPLE) target_link_libraries(kdevelop "-framework CoreFoundation") ENDIF() +if(KDEVELOP_SINGLE_APP) + add_subdirectory(3rdparty/qtsingleapplication) + target_link_libraries(kdevelop qtsingleapplication) +endif() install(TARGETS kdevelop ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) From 6bec34d76b3d46108e9722261bb745db11935401 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 17:04:38 +0100 Subject: [PATCH 014/108] appimage: Update Dockerfile Changes: - Make it a bit easier to contiously build docker image - More RUN lines (which are then cached if successful) - Bump versions - LLVM: 5.0.0 - Qt: 5.9.1 --- appimage/Dockerfile | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/appimage/Dockerfile b/appimage/Dockerfile index 2beedbbef2..1fe8c9fd3e 100644 --- a/appimage/Dockerfile +++ b/appimage/Dockerfile @@ -5,17 +5,30 @@ RUN cd /tmp && wget http://opensource.wandisco.com/rhel/6/svn-1.9/RPMS/x86_64/su RUN echo ". /opt/rh/devtoolset-4/enable && chmod +x /opt/rh/python27/enable && . /opt/rh/python27/enable" >> /root/.bashrc -ENV LC_ALL=en_US.UTF-8 LANG=en_us.UTF-8 QTVERSION=5.7.1 QVERSION_SHORT=5.7 LLVM_ROOT=/opt/llvm/ QTV=5.7.1 LD_LIBRARY_PATH=$QTDIR/lib/ +ENV LC_ALL=en_US.UTF-8 LANG=en_us.UTF-8 QTVERSION=5.9.1 QVERSION_SHORT=5.9 LLVM_VERSION=5.0.0 LLVM_ROOT=/opt/llvm/ LD_LIBRARY_PATH=$QTDIR/lib/ ENV QTDIR=/usr/local/Qt-${QTVERSION}/ -RUN bash -c "mkdir -p /qt && cd /qt && wget http://download.qt.io/archive/qt/${QVERSION_SHORT}/${QTVERSION}/single/qt-everywhere-opensource-src-${QTVERSION}.tar.xz && tar xvf qt-everywhere-opensource-src-${QTVERSION}.tar.xz && ln -sf /opt/rh/devtoolset-4/root/usr/bin/g++ /usr/bin/g++ && ln -sf /opt/rh/devtoolset-4/root/usr/bin/c++ /usr/bin/c++ && cd /qt/qt-everywhere-opensource-src-$QTV && ./configure -v -skip qt3d -skip qtgamepad -platform linux-g++ -qt-pcre -qt-xcb -qt-xkbcommon -xkb-config-root /usr/share/X11/xkb -no-pch -qt-sql-sqlite -qt-sql-sqlite2 -nomake tests -nomake examples -confirm-license -opensource && make -j$(nproc) || make -j 1 install; make -j$(nproc) install && rm -Rf /qt" +RUN bash -c "ln -sf /opt/rh/devtoolset-4/root/usr/bin/g++ /usr/bin/g++ && ln -sf /opt/rh/devtoolset-4/root/usr/bin/c++ /usr/bin/c++" -RUN bash -c "ln -sf /usr/local/Qt-$QTV/bin/qmake /usr/bin/qmake-qt5 && mkdir -p /qtwk && cd /qtwk && wget http://download.qt.io/community_releases/${QVERSION_SHORT}/${QTV}/qtwebkit-opensource-src-${QTV}.tar.xz && tar xvf qtwebkit-opensource-src-${QTV}.tar.xz && cd /qtwk/qtwebkit-opensource-src-${QTV} && $QTDIR/bin/qmake && make -j$(nproc) || make -j$(nproc) && make -j$(nproc) install && rm -Rf /qtwk" +# Build Qt5 +RUN bash -c "mkdir -p /qt && cd /qt && wget http://download.qt.io/archive/qt/${QVERSION_SHORT}/${QTVERSION}/single/qt-everywhere-opensource-src-${QTVERSION}.tar.xz && tar xvf qt-everywhere-opensource-src-${QTVERSION}.tar.xz" +RUN bash -c "export MAKEFLAGS=-j$(nproc) && cd /qt/qt-everywhere-opensource-src-${QTVERSION} && ./configure -v -skip qt3d -skip qtgamepad -platform linux-g++ -qt-pcre -qt-xcb -qt-xkbcommon -xkb-config-root /usr/share/X11/xkb -no-pch -nomake tests -nomake examples -confirm-license -opensource && make -j$(nproc) || make -j 1 install; make -j$(nproc) install && rm -Rf /qt" -RUN bash -c "mkdir -p /llvm && cd /llvm && wget http://llvm.org/releases/3.9.1/llvm-3.9.1.src.tar.xz && tar xvf llvm-3.9.1.src.tar.xz && cd llvm-3.9.1.src && cd tools && wget http://llvm.org/releases/3.9.1/cfe-3.9.1.src.tar.xz && tar xvf cfe-3.9.1.src.tar.xz && . /opt/rh/python27/enable && . /opt/rh/devtoolset-4/enable && python --version && cd /llvm/llvm-3.9.1.src && mkdir -p build && cd build && cmake3 .. -DCMAKE_INSTALL_PREFIX=/opt/llvm/ -DCMAKE_BUILD_TYPE=Release && make -j$(nproc) install && rm -Rf /llvm" +RUN ln -sf /usr/local/Qt-${QTVERSION}/bin/qmake /usr/bin/qmake-qt5 -RUN bash -c "mkdir -p /python && cd /python && wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz && tar xvf Python-3.6.0.tar.xz && cd /python/Python-3.6.0 && mkdir -p /usr/lib/pkgconfig && ./configure --prefix=/usr --enable-shared && make -j$(nproc) install && rm -Rf /python" +# Build qtwebkit +RUN bash -c "mkdir -p /qtwk && cd /qtwk && wget http://download.qt.io/archive/qt/${QVERSION_SHORT}/${QTVERSION}/submodules/qtwebkit-opensource-src-${QTVERSION}.tar.xz && tar xvf qtwebkit-opensource-src-${QTVERSION}.tar.xz" +RUN bash -c "cd /qtwk/qtwebkit-opensource-src-${QTVERSION} && $QTDIR/bin/qmake && make -j$(nproc) || make -j$(nproc) && make -j$(nproc) install && rm -Rf /qtwk" +# Install ninja RUN bash -c "yum install unzip && mkdir -p /tmp/deploy && cd /tmp/deploy && wget https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip && unzip ninja-linux.zip && mv -f ninja /usr/local/bin && cd .. && rm -Rf deploy" +# Build Clang/LLVM +RUN bash -c "mkdir -p /llvm && cd /llvm && wget http://llvm.org/releases/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz && tar xvf llvm-${LLVM_VERSION}.src.tar.xz && cd llvm-${LLVM_VERSION}.src && cd tools && wget http://llvm.org/releases/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.xz && tar xvf cfe-${LLVM_VERSION}.src.tar.xz" +RUN bash -c ". /opt/rh/python27/enable && . /opt/rh/devtoolset-4/enable && python --version && cd /llvm/llvm-${LLVM_VERSION}.src && mkdir -p build && cd build && cmake3 -G Ninja .. -DCMAKE_INSTALL_PREFIX=/opt/llvm/ -DCMAKE_BUILD_TYPE=Release && ninja install && rm -Rf /llvm" + +# Build Python +RUN bash -c "mkdir -p /python && cd /python && wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz && tar xvf Python-3.6.0.tar.xz && cd /python/Python-3.6.0 && mkdir -p /usr/lib/pkgconfig && ./configure --prefix=/usr --enable-shared && make -j$(nproc) install && rm -Rf /python" + + CMD /bin/bash From fd2d83c0f0b18e7ec1927a0469d52c190c31366a Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 17:08:26 +0100 Subject: [PATCH 015/108] appimage: Use Qt 5.9.1 from new docker image --- appimage/kdevelop-recipe-centos6.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appimage/kdevelop-recipe-centos6.sh b/appimage/kdevelop-recipe-centos6.sh index af0b39fff2..201dd7e57e 100755 --- a/appimage/kdevelop-recipe-centos6.sh +++ b/appimage/kdevelop-recipe-centos6.sh @@ -19,8 +19,8 @@ git_pull_rebase_helper() SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -QTVERSION=5.7.1 -QVERSION_SHORT=5.7 +QTVERSION=5.9.1 +QVERSION_SHORT=5.9 QTDIR=/usr/local/Qt-${QTVERSION}/ if [ -z "$KDEVELOP_VERSION" ]; then From 56263bc4308ac447ef8809ad75bd85eae903ab62 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 22:01:25 +0100 Subject: [PATCH 016/108] app: Use categorized logging everywhere --- app/main.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/main.cpp b/app/main.cpp index d5821f6688..f85fa6b062 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -94,7 +94,7 @@ void openFiles(const QVector& infos) { foreach (const UrlInfo& info, infos) { if (!ICore::self()->documentController()->openDocument(info.url, info.cursor)) { - qWarning() << i18n("Could not open %1", info.url.toDisplayString(QUrl::PreferLocalFile)); + qWarning(APP) << i18n("Could not open %1", info.url.toDisplayString(QUrl::PreferLocalFile)); } } } @@ -164,7 +164,7 @@ private Q_SLOTS: QString x11SessionId = QStringLiteral("%1_%2").arg(sm.sessionId()).arg(sm.sessionKey()); const auto activeSession = KDevelop::Core::self()->sessionController()->activeSession(); if (!activeSession) { - qWarning() << "No active session, can't save state"; + qWarning(APP) << "No active session, can't save state"; return; } @@ -658,7 +658,7 @@ int main( int argc, char *argv[] ) const KDevelop::SessionInfo* sessionData = findSessionInList(availableSessionInfos, session); if( !sessionData ) { - qCritical() << "session not given or does not exist"; + qCritical(APP) << "session not given or does not exist"; return 5; } @@ -668,7 +668,7 @@ int main( int argc, char *argv[] ) std::cout << pid << std::endl; return 0; } else { - qCritical() << sessionData->uuid.toString() << sessionData->name << "is not running"; + qCritical(APP) << sessionData->uuid.toString() << sessionData->name << "is not running"; return 5; } } From a2712c8d9691375545f502c10f4f76fa10452e90 Mon Sep 17 00:00:00 2001 From: Sven Brauch Date: Thu, 16 Nov 2017 23:33:43 +0100 Subject: [PATCH 017/108] work around clang bug 35333: don't crash when switching git branches See https://bugs.llvm.org/show_bug.cgi?id=35333 for details and explanation. We need to do two things to work around this bug: disable -Wdocumentation, and only use the plain text from the comments instead of the parsed version. REVIEW: https://phabricator.kde.org/D8857 BUG: 358205 BUG: 372686 FIXED-IN: 5.2.1 --- plugins/clang/duchain/builder.cpp | 4 ++++ plugins/clang/duchain/parsesession.cpp | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/plugins/clang/duchain/builder.cpp b/plugins/clang/duchain/builder.cpp index dd69e32d92..b6d69d6b04 100644 --- a/plugins/clang/duchain/builder.cpp +++ b/plugins/clang/duchain/builder.cpp @@ -946,7 +946,11 @@ template void Visitor::setDeclData(CXCursor cursor, Declaration *decl, bool setComment) const { if (setComment) +#if CINDEX_VERSION_MINOR < 100 // FIXME https://bugs.llvm.org/show_bug.cgi?id=35333 + decl->setComment(QByteArray(clang_getCString(clang_Cursor_getRawCommentText(cursor)))); +#else decl->setComment(makeComment(clang_Cursor_getParsedComment(cursor))); +#endif if (CursorKindTraits::isAliasType(CK)) { decl->setIsTypeAlias(true); } diff --git a/plugins/clang/duchain/parsesession.cpp b/plugins/clang/duchain/parsesession.cpp index 07d1067bc8..24dbf2ba85 100644 --- a/plugins/clang/duchain/parsesession.cpp +++ b/plugins/clang/duchain/parsesession.cpp @@ -70,6 +70,7 @@ void sanitizeArguments(QVector& arguments) // We remove the -Werror flag, and replace -Werror=foo by -Wfoo. // Warning as error may cause problem to the clang parser. const auto asError = QByteArrayLiteral("-Werror="); + const auto documentation = QByteArrayLiteral("-Wdocumentation"); for (auto& argument : arguments) { if (argument == "-Werror") { argument.clear(); @@ -77,7 +78,13 @@ void sanitizeArguments(QVector& arguments) // replace -Werror=foo by -Wfoo argument.remove(2, asError.length() - 2); } +#if CINDEX_VERSION_MINOR < 100 // FIXME https://bugs.llvm.org/show_bug.cgi?id=35333 + if (argument == documentation) { + argument.clear(); + } +#endif } + } QVector argsForSession(const QString& path, ParseSessionData::Options options, const ParserSettings& parserSettings) From dde2a126b3e3f47716278b389ffefc84a0a92ef3 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Fri, 17 Nov 2017 05:40:41 +0100 Subject: [PATCH 018/108] GIT_SILENT made messages (after extraction) --- app/kdevelop.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/kdevelop.xml b/app/kdevelop.xml index 32ea019d02..cbc42947f8 100644 --- a/app/kdevelop.xml +++ b/app/kdevelop.xml @@ -9,6 +9,7 @@ KDevelop-Projektdatei KDevelop Project File Archivo de proyecto de KDevelop + Fichiers de projet KDevelop Ficheiro de proxecto de KDevelop File di progetto di KDevelop Projectbestand van KDevelop From d80ec0c0f47e6bb9f7900792ade6dc41a2262ffc Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Fri, 17 Nov 2017 06:37:24 +0100 Subject: [PATCH 019/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- app/org.kde.kdevelop.desktop | 1 + app/org.kde.kdevelop_ps.desktop | 1 + file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop | 2 ++ plugins/appwizard/kdevappwizard.json | 1 + plugins/appwizard/kdevappwizard.knsrc | 1 + plugins/codeutils/kdevcodeutils.json | 1 + plugins/contextbrowser/kdevcontextbrowser.json | 1 + plugins/docker/dockerfile-template/dockerfile-template.desktop | 2 ++ plugins/docker/kdevdocker.json | 3 +++ plugins/documentswitcher/kdevdocumentswitcher.json | 2 ++ plugins/documentview/kdevdocumentview.json | 1 + plugins/execute/kdevexecute.json | 1 + plugins/executescript/kdevexecutescript.json | 1 + plugins/externalscript/kdevexternalscript.json | 1 + plugins/filemanager/kdevfilemanager.json | 1 + plugins/filetemplates/kdevfiletemplates.json | 2 ++ plugins/filetemplates/kdevfiletemplates.knsrc | 1 + .../flatpak/flatpak-template/flatpak-builder-manifest.desktop | 2 ++ plugins/flatpak/kdevflatpak.json | 3 +++ plugins/genericprojectmanager/kdevgenericmanager.json | 1 + plugins/grepview/kdevgrepview.json | 1 + plugins/konsole/kdevkonsoleview.json | 2 ++ plugins/openwith/kdevopenwith.json | 1 + plugins/patchreview/kdevpatchreview.json | 2 ++ plugins/problemreporter/kdevproblemreporter.json | 2 ++ plugins/projectmanagerview/kdevprojectmanagerview.json | 2 ++ plugins/quickopen/kdevquickopen.json | 1 + plugins/sourceformatter/kdevsourceformatter.json | 1 + plugins/standardoutputview/kdevstandardoutputview.json | 1 + plugins/testview/kdevtestview.json | 2 ++ plugins/vcschangesview/kdevvcschangesview.json | 1 + plugins/welcomepage/kdevwelcomepage.json | 2 ++ 32 files changed, 47 insertions(+) diff --git a/app/org.kde.kdevelop.desktop b/app/org.kde.kdevelop.desktop index cf4d287164..f8664d209d 100644 --- a/app/org.kde.kdevelop.desktop +++ b/app/org.kde.kdevelop.desktop @@ -74,6 +74,7 @@ Comment=Plugin-extensible IDE for C/C++ and other programming languages Comment[ca]=Un IDE ampliable amb connectors per al C/C++ i altres llenguatges de programació Comment[ca@valencia]=Un IDE ampliable amb connectors per al C/C++ i altres llenguatges de programació Comment[es]=Entorno de desarrollo integrado para C/C++ y otros lenguajes de programación que se puede extender con complementos +Comment[fr]=Il s'agit d'un environnement de développement complet et extensible pour le C / C++ et d'autres langages de programmation. Comment[it]=IDE estensibile per C/C++ ed altri linguaggi di programmazione Comment[nl]=IDE voor C/C++ en andere programmeertalen, uit te breiden met plug-ins. Comment[pl]=Zintegrowane środowisko programistyczne dla C/C++ i innych języków programowania z możliwością rozszerzenia o wtyczki diff --git a/app/org.kde.kdevelop_ps.desktop b/app/org.kde.kdevelop_ps.desktop index 0dc29a0779..defde5edc8 100644 --- a/app/org.kde.kdevelop_ps.desktop +++ b/app/org.kde.kdevelop_ps.desktop @@ -69,6 +69,7 @@ Comment=Plugin-extensible IDE for C/C++ and other programming languages (Pick Se Comment[ca]=Un IDE ampliable amb connectors per al C/C++ i altres llenguatges de programació (trieu Sessió per a començar-hi) Comment[ca@valencia]=Un IDE ampliable amb connectors per al C/C++ i altres llenguatges de programació (trieu Sessió per a començar-hi) Comment[es]=Entorno de desarrollo integrado para C/C++ y otros lenguajes de programación que se puede extender con complementos (escoger sesión con la que empezar) +Comment[fr]=Il s'agit d'un environnement de développement complet et extensible pour le C / C++ et d'autres langages de programmation (sélectionnez la session avec laquelle vous voulez commencer). Comment[it]=IDE estensibile per C/C++ ed altri linguaggi di programmazione (Scegliere la sessione con cui iniziare) Comment[nl]=IDE voor C/C++ en andere programmeertalen, uit te breiden met plug-ins. (Kies sessie om mee te beginnen) Comment[pl]=Zintegrowane środowisko programistyczne dla C/C++ i innych języków programowania z możliwością rozszerzenia o wtyczki (Wybór sesji do rozpoczęcia) diff --git a/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop b/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop index 685dbeea9d..3837089f51 100644 --- a/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop +++ b/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop @@ -3,6 +3,7 @@ Name=Dialog (pimpl) with a UI File Name[ca]=Diàleg (pimpl) amb un fitxer IU Name[ca@valencia]=Diàleg (pimpl) amb un fitxer IU Name[es]=Diálogo (pimpl) con un archivo de interfaz gráfica +Name[fr]=Dialogue (pimpl) avec un fichier d'interface utilisateur Name[it]=Finestra di dialogo (pimpl) con un file UI Name[nl]=Dialoog (pimpl) met een UI-bestand Name[pl]=Okno dialogowe (pimpl) z plikiem UI @@ -17,6 +18,7 @@ Comment=QDialog subclass with a separate Qt Designer file and private implementa Comment[ca]=Subclasse QDialog amb un fitxer separat del Qt Designer i una implementació privada Comment[ca@valencia]=Subclasse QDialog amb un fitxer separat del Qt Designer i una implementació privada Comment[es]=Subclase de QDialog con un archivo separado del Diseñador de Qt y una implementación privada +Comment[fr]=Sous-classe QDialog avec un fichier Qt  Designer séparé et une implémentation privée Comment[it]=Sottoclasse di QDialog con un file separato di Qt Designer e implementazione privata Comment[nl]=QDialog subklasse met een apart Qt Designer bestand en private implementatie Comment[pl]=Podklasa QDialog z osobnym plikiem Projektanta Qt i prywatną implementacją diff --git a/plugins/appwizard/kdevappwizard.json b/plugins/appwizard/kdevappwizard.json index 84cae02f0e..1e3703141b 100644 --- a/plugins/appwizard/kdevappwizard.json +++ b/plugins/appwizard/kdevappwizard.json @@ -11,6 +11,7 @@ "Description": "Application Wizard", "Description[ca@valencia]": "Assistent d'aplicació", "Description[ca]": "Assistent d'aplicació", + "Description[cs]": "Průvodce aplikací", "Description[es]": "Asistente de aplicaciones", "Description[fr]": "Assistant application", "Description[it]": "Procedura guidata per applicazioni", diff --git a/plugins/appwizard/kdevappwizard.knsrc b/plugins/appwizard/kdevappwizard.knsrc index 65cae8f69b..d565b664aa 100644 --- a/plugins/appwizard/kdevappwizard.knsrc +++ b/plugins/appwizard/kdevappwizard.knsrc @@ -5,6 +5,7 @@ Name[ca@valencia]=Plantilles d'aplicació (SDK) Name[cs]=Šablony aplikací (SDK) Name[de]=Anwendungsvorlagen (SDK) Name[es]=Plantillas de aplicaciones (SDK) +Name[fr]=Modèle d'application (SDK) Name[it]=Modelli di applicazione (SDK) Name[nl]=Toepassingsjablonen (SDK) Name[pl]=Szablony aplikacji (SDK) diff --git a/plugins/codeutils/kdevcodeutils.json b/plugins/codeutils/kdevcodeutils.json index d46b6ca960..7c8ffc1716 100644 --- a/plugins/codeutils/kdevcodeutils.json +++ b/plugins/codeutils/kdevcodeutils.json @@ -4,6 +4,7 @@ "Description": "Collection of various utilities that increase productivity while programming.", "Description[ca@valencia]": "Col·lecció de diverses utilitats que augmenten la productivitat durant la programació.", "Description[ca]": "Col·lecció de diverses utilitats que augmenten la productivitat durant la programació.", + "Description[cs]": "Kolekce různých pomůcek, pro zvýšení produktivity při programování.", "Description[es]": "Colección de diversas utilidades que incrementan la productividad al programar.", "Description[fr]": "Collection d'utilitaires variés qui améliorent la productivité pour programmer.", "Description[it]": "Raccolta di vari programmi di utilità che aumentano la produttività durante la programmazione.", diff --git a/plugins/contextbrowser/kdevcontextbrowser.json b/plugins/contextbrowser/kdevcontextbrowser.json index 54974955fe..c601bd9356 100644 --- a/plugins/contextbrowser/kdevcontextbrowser.json +++ b/plugins/contextbrowser/kdevcontextbrowser.json @@ -10,6 +10,7 @@ "Description": "This plugin shows information about the current language context in a side view, and highlights relevant declarations and uses.", "Description[ca@valencia]": "Este connector mostra informació quant al context del llenguatge actual en una vista lateral i ressalta les declaracions i els usos apropiats.", "Description[ca]": "Aquest connector mostra informació quant al context del llenguatge actual en una vista lateral i ressalta les declaracions i els usos apropiats.", + "Description[cs]": "Tento zásuvný modul ukazuje v bočním pohledu informace o současném jazykovém kontextu a zvýrazňuje důležité deklarace a použití.", "Description[es]": "Este complemento muestra información de contexto sobre el lenguaje actual en una vista lateral, resaltando declaraciones relevantes y sus usos.", "Description[fr]": "Ce module affiche des informations à propos du contexte du langage courant dans une vue latérale, et met en évidence les déclarations et utilisations reliées.", "Description[it]": "Questa estensione mostra le informazioni sul contesto del linguaggio corrente in una vista laterale, mettendo in evidenza le dichiarazioni e gli usi.", diff --git a/plugins/docker/dockerfile-template/dockerfile-template.desktop b/plugins/docker/dockerfile-template/dockerfile-template.desktop index 20cc512c11..6be259c547 100644 --- a/plugins/docker/dockerfile-template/dockerfile-template.desktop +++ b/plugins/docker/dockerfile-template/dockerfile-template.desktop @@ -4,6 +4,7 @@ Name[ca]=Dockerfile Name[ca@valencia]=Dockerfile Name[cs]=Dockerfile Name[es]=Dockerfile +Name[fr]=Fichier Docker Name[it]=Dockerfile Name[nl]=Dockerfile Name[pl]=Dockerfile @@ -18,6 +19,7 @@ Comment=A Dockerfile is a text document that contains all the commands a user co Comment[ca]=Un Dockerfile és un document de text que conté totes les ordres que un usuari hauria de cridar per a muntar una imatge Comment[ca@valencia]=Un Dockerfile és un document de text que conté totes les ordes que un usuari hauria de cridar per a muntar una imatge Comment[es]=Un «Dockerfile» es un documento de texto que contiene todas las órdenes que puede invocar el usuario en la línea de órdenes para ensamblar una imagen +Comment[fr]=Un fichier Docker est un document texte qui contient toutes les commandes qu'un utilisateur pourrait taper en ligne de commande pour assembler une image Comment[it]=Un file Dockerfile è un documento di testo che contiene tutti i comandi che un utente può chiamare da riga di comando per assemblare un'immagine Comment[nl]=Een Dockerbestand is een tekstdocument dat alle opdrachten bevat die een gebruiker zou kunnen aanroepen op de opdrachtregel om een image samen te stellen Comment[pl]=Plik dokowany jest plikiem tekstowym, który zawiera wszystkie polecenia, które użytkownik może wydać w wierszu poleceń, aby złożyć obraz diff --git a/plugins/docker/kdevdocker.json b/plugins/docker/kdevdocker.json index a438a59e9e..aa96ee98b3 100644 --- a/plugins/docker/kdevdocker.json +++ b/plugins/docker/kdevdocker.json @@ -13,6 +13,7 @@ "Description[ca@valencia]": "Exposa el temps d'execució del Docker", "Description[ca]": "Exposa el temps d'execució del Docker", "Description[es]": "Expone bibliotecas en tiempo de ejecución de Docker", + "Description[fr]": "Expose les exécutifs Docker", "Description[it]": "Espone i runtime di Docker", "Description[nl]": "Toont Docker runtimes", "Description[pl]": "Udostępnia biblioteki uruchomieniowe Dockera", @@ -29,8 +30,10 @@ "Name": "Docker Support", "Name[ca@valencia]": "Implementació del Docker", "Name[ca]": "Implementació del Docker", + "Name[cs]": "Podpora Dockeru", "Name[de]": "Docker-Unterstützung", "Name[es]": "Implementación de Docker", + "Name[fr]": "Prise en charge de Docker", "Name[it]": "Supporto per Docker", "Name[nl]": "Ondersteuning van Docker", "Name[pl]": "Obsługa Docker", diff --git a/plugins/documentswitcher/kdevdocumentswitcher.json b/plugins/documentswitcher/kdevdocumentswitcher.json index 77f8cfd940..c88e3a4c52 100644 --- a/plugins/documentswitcher/kdevdocumentswitcher.json +++ b/plugins/documentswitcher/kdevdocumentswitcher.json @@ -10,6 +10,7 @@ "Description": "A most-recently-used document switcher for KDevPlatform.", "Description[ca@valencia]": "Un commutador del document usat més recentment per KDevPlatform.", "Description[ca]": "Un commutador del document usat més recentment per KDevPlatform.", + "Description[cs]": "Přepínač nedávno použitých dokumentů pro KDevPlatform", "Description[es]": "Un cambiador de documentos recientemente usados para KDevPlatform.", "Description[fr]": "Un changeur de document dernièrement utilisé pour KDevPlatform.", "Description[it]": "Uno scambia documento utilizzato più di recente per KDevPlatform.", @@ -28,6 +29,7 @@ "Name": "Most-Recently-Used Document Switcher", "Name[ca@valencia]": "Commutador del document usat més recentment", "Name[ca]": "Commutador del document usat més recentment", + "Name[cs]": "Přepínač nedávno používaných dokumentů ", "Name[es]": "Selector de documentos usados recientemente", "Name[fr]": "Commutateur de documents parmi les plus récemment utilisés", "Name[it]": "Scambia documento utilizzato più di recente", diff --git a/plugins/documentview/kdevdocumentview.json b/plugins/documentview/kdevdocumentview.json index c5cfe56e0c..3bf1221de2 100644 --- a/plugins/documentview/kdevdocumentview.json +++ b/plugins/documentview/kdevdocumentview.json @@ -10,6 +10,7 @@ "Description": "This plugin displays a graphical view of all documents currently loaded and separates them by mimetype.", "Description[ca@valencia]": "Este connector mostra una visualització gràfica de tots els documents carregats actualment, separats per tipus MIME.", "Description[ca]": "Aquest connector mostra una visualització gràfica de tots els documents carregats actualment, separats per tipus MIME.", + "Description[cs]": "Tento zásuvný modul zobrazuje grafický pohled všech aktuálně načtených dokumentů a odděluje je podle typu MIME.", "Description[es]": "Este complemento muestra una vista gráfica de todos los documentos actualmente cargados y los separa por su tipo MIME.", "Description[fr]": "Ce module affiche une vue graphique de tous les documents actuellement chargés et les sépare par type MIME.", "Description[it]": "Questa estensione mostra una vista grafica di tutti i documenti attualmente caricati e li separa per il tipo MIME.", diff --git a/plugins/execute/kdevexecute.json b/plugins/execute/kdevexecute.json index 9ec1a2a4ea..4d13a37a4d 100644 --- a/plugins/execute/kdevexecute.json +++ b/plugins/execute/kdevexecute.json @@ -10,6 +10,7 @@ "Description": "This plugin allows running of programs with no instrumentor, ie. natively by the current host.", "Description[ca@valencia]": "Este connector permet executar programes sense «instrumentor», és a dir, nativament per a la màquina actual.", "Description[ca]": "Aquest connector permet executar programes sense «instrumentor», és a dir, nativament per a la màquina actual.", + "Description[cs]": "Tento zásuvný modul umožňuje běh programů bez jakéhokoliv prostředníka, takže běží přirozeně na současném hostiteli.", "Description[es]": "Este complemento permite ejecutar programas sin instrumentador (es decir, de forma nativa) en la máquina actual.", "Description[fr]": "Ce module permet d'exécuter des programmes sans instrumentation, c'est-à-dire de manière native sur l'hôte courant.", "Description[it]": "Questa estensione permette l'esecuzione dei programmi senza instrumentor, vale a dire nativamente da parte dell'host attuale.", diff --git a/plugins/executescript/kdevexecutescript.json b/plugins/executescript/kdevexecutescript.json index 065baee0ab..eaea2a1797 100644 --- a/plugins/executescript/kdevexecutescript.json +++ b/plugins/executescript/kdevexecutescript.json @@ -9,6 +9,7 @@ "Description": "This plugin allows running of scripts.", "Description[ca@valencia]": "Este connector permet executar scripts.", "Description[ca]": "Aquest connector permet executar scripts.", + "Description[cs]": "Tento modul umožňuje spouštění skriptů.", "Description[es]": "Este complemento permite la ejecución de scripts.", "Description[fr]": "Ce module permet d'exécuter des scripts.", "Description[it]": "Questa estensione permette l'esecuzione degli script.", diff --git a/plugins/externalscript/kdevexternalscript.json b/plugins/externalscript/kdevexternalscript.json index 271c5996de..cfb0fce4af 100644 --- a/plugins/externalscript/kdevexternalscript.json +++ b/plugins/externalscript/kdevexternalscript.json @@ -10,6 +10,7 @@ "Description": "Run external scripts or applications to manipulate the editor contents or do other arbitrary actions.", "Description[ca@valencia]": "Executa scripts externs o aplicacions per a manipular el contingut de l'editor o altres accions arbitràries.", "Description[ca]": "Executa scripts externs o aplicacions per a manipular el contingut de l'editor o altres accions arbitràries.", + "Description[cs]": "Spouštějte externí skripty nebo aplikace a pracujte s obsahem editoru nebo dělejte jiné libovolné akce.", "Description[es]": "Ejecutar scripts externos o aplicaciones para manipular el contenido del editor o realizar otras acciones.", "Description[fr]": "Exécuter des scripts externes ou des applications pour manipuler les contenus de l'éditeur ou autres actions arbitraires.", "Description[it]": "Avvia script o applicazioni esterne per manipolare il contenuto dell'editor o per eseguire altre azioni.", diff --git a/plugins/filemanager/kdevfilemanager.json b/plugins/filemanager/kdevfilemanager.json index 951be516aa..18e5bf2e11 100644 --- a/plugins/filemanager/kdevfilemanager.json +++ b/plugins/filemanager/kdevfilemanager.json @@ -30,6 +30,7 @@ "Name": "KDE File Manager Integration", "Name[ca@valencia]": "Integració del gestor de fitxers del KDE", "Name[ca]": "Integració del gestor de fitxers del KDE", + "Name[cs]": "Integrace správce souborů pro KDE", "Name[de]": "Integration der KDE-Dateiverwaltung", "Name[es]": "Integración del gestor de archivos de KDE", "Name[fr]": "Intégration du gestionnaire de fichiers de KDE", diff --git a/plugins/filetemplates/kdevfiletemplates.json b/plugins/filetemplates/kdevfiletemplates.json index c87e4b1f63..e82535e4dd 100644 --- a/plugins/filetemplates/kdevfiletemplates.json +++ b/plugins/filetemplates/kdevfiletemplates.json @@ -11,6 +11,7 @@ "Description": "Manages templates for source files", "Description[ca@valencia]": "Gestiona les plantilles dels fitxers de codi font", "Description[ca]": "Gestiona les plantilles dels fitxers de codi font", + "Description[cs]": "Spravuje šablony pro zdrojové soubory", "Description[es]": "Gestiona plantillas para archivos de código fuente", "Description[fr]": "Gère les modèles de fichiers sources", "Description[it]": "Gestisce i modelli per i file sorgente", @@ -29,6 +30,7 @@ "Name": "File Templates Configuration", "Name[ca@valencia]": "Configuració de les plantilles de fitxer", "Name[ca]": "Configuració de les plantilles de fitxer", + "Name[cs]": "Nastavení šablon souborů", "Name[es]": "Configuración de plantillas de archivos", "Name[fr]": "Configuration des modèles de fichiers", "Name[it]": "Configurazione dei file dei modelli", diff --git a/plugins/filetemplates/kdevfiletemplates.knsrc b/plugins/filetemplates/kdevfiletemplates.knsrc index c213265aca..cf663c104c 100644 --- a/plugins/filetemplates/kdevfiletemplates.knsrc +++ b/plugins/filetemplates/kdevfiletemplates.knsrc @@ -4,6 +4,7 @@ Name[ca]=Plantilles de fitxer (SDK) Name[ca@valencia]=Plantilles de fitxer (SDK) Name[cs]=Šablony souborů (SDK) Name[es]=Plantillas de archivos (SDK) +Name[fr]=Modèles de fichiers (SDK) Name[it]=Modelli di file (SDK) Name[nl]=Bestandssjablonen (SDK) Name[pl]=Szablony plików (SDK) diff --git a/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop b/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop index be89b6ac02..0b41ed2794 100644 --- a/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop +++ b/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop @@ -3,6 +3,7 @@ Name=Flatpak Builder Manifest Name[ca]=Manifest del constructor Flatpak Name[ca@valencia]=Manifest del constructor Flatpak Name[es]=Manifiesto de construcción de Flatpak +Name[fr]=Manifest de construction Flatpak Name[it]=Manifesto di Flatpak Builder Name[nl]=Flatpak Builder Manifest Name[pl]=Manifest budowniczego Flatpak @@ -17,6 +18,7 @@ Comment=A file to configure how a project is built by flatpak Comment[ca]=Un fitxer per a configurar com serà construït un projecte per Flatpak Comment[ca@valencia]=Un fitxer per a configurar com serà construït un projecte per Flatpak Comment[es]=Un archivo para configurar cómo construye flatpak un proyecto +Comment[fr]=Un fichier pour configurer comment un projet est construit par Flatpak Comment[it]=Un file per configurare come il progetto viene generato da flatpak Comment[nl]=Een bestand om te configureren hoe een project wordt gebouwd door flatpak Comment[pl]=Plik do ustawienia sposobu budowania przez flatpak diff --git a/plugins/flatpak/kdevflatpak.json b/plugins/flatpak/kdevflatpak.json index 0574ecae18..9c1f9a4d06 100644 --- a/plugins/flatpak/kdevflatpak.json +++ b/plugins/flatpak/kdevflatpak.json @@ -13,6 +13,7 @@ "Description[ca@valencia]": "Exposa el temps d'execució del Flatpak", "Description[ca]": "Exposa el temps d'execució del Flatpak", "Description[es]": "Expone bibliotecas en tiempo de ejecución de Flatpak", + "Description[fr]": "Expose les exécutifs Flatpak", "Description[it]": "Espone i runtime di Flatpak", "Description[nl]": "Toont Flatpak runtimes", "Description[pl]": "Udostępnia biblioteki uruchomieniowe Flatpak", @@ -29,7 +30,9 @@ "Name": "Flatpak Support", "Name[ca@valencia]": "Implementació del Flatpak", "Name[ca]": "Implementació del Flatpak", + "Name[cs]": "Podpora pro Flatpak", "Name[es]": "Implementación de Flatpak", + "Name[fr]": "Prise en charge de Flatpak", "Name[it]": "Supporto per Flatpak", "Name[nl]": "Ondersteuning van Flatpak", "Name[pl]": "Obsługa Flatpak", diff --git a/plugins/genericprojectmanager/kdevgenericmanager.json b/plugins/genericprojectmanager/kdevgenericmanager.json index 6732e4fb45..f53282e55d 100644 --- a/plugins/genericprojectmanager/kdevgenericmanager.json +++ b/plugins/genericprojectmanager/kdevgenericmanager.json @@ -10,6 +10,7 @@ "Description": "Allow KDevelop to manage generic projects", "Description[ca@valencia]": "Permet al KDevelop gestionar projectes genèrics", "Description[ca]": "Permet al KDevelop gestionar projectes genèrics", + "Description[cs]": "Umožní KDevelopu spravovat obecné projekty", "Description[de]": "Zum Verwalten allgemeiner Projekte in KDevelop", "Description[es]": "Permite que KDevelop gestione proyectos genéricos", "Description[fr]": "Permet à KDevelop de gérer des projets génériques", diff --git a/plugins/grepview/kdevgrepview.json b/plugins/grepview/kdevgrepview.json index 1ff19c223e..7729f53da3 100644 --- a/plugins/grepview/kdevgrepview.json +++ b/plugins/grepview/kdevgrepview.json @@ -4,6 +4,7 @@ "Description": "Allows fast searching of multiple files using patterns or regular expressions. And allow to replace it too.", "Description[ca@valencia]": "Permet la busca ràpida de múltiples fitxers usant patrons o expressions regulars. I també permet substitucions.", "Description[ca]": "Permet la cerca ràpida de múltiples fitxers usant patrons o expressions regulars. I també permet substitucions.", + "Description[cs]": "Umožní rychlé vyhledávání více souborů za použití řetězců nebo regulárních výrazů. Umožní také jejich nahrazování.", "Description[es]": "Permite la búsqueda rápida en múltiples archivos usando patrones o expresiones regulares. También permite realizar sustituciones.", "Description[fr]": "Permet de rechercher rapidement dans plusieurs fichiers en utilisant des motifs ou des expressions rationnelles. Et permet de le remplacer aussi.", "Description[it]": "Consente la ricerca veloce di file multipli usando espressioni regolari o modelli. E consente anche di sostituirli.", diff --git a/plugins/konsole/kdevkonsoleview.json b/plugins/konsole/kdevkonsoleview.json index c9b31f05de..cb5f71d057 100644 --- a/plugins/konsole/kdevkonsoleview.json +++ b/plugins/konsole/kdevkonsoleview.json @@ -4,6 +4,7 @@ "Description": "This plugin provides KDevelop with an embedded konsole for quick and easy command line access.", "Description[ca@valencia]": "Este connector proporciona al KDevelop un Konsole incrustat per accedir de manera ràpida i fàcil a la línia d'ordes.", "Description[ca]": "Aquest connector proporciona al KDevelop un Konsole incrustat per accedir de manera ràpida i fàcil a la línia d'ordres.", + "Description[cs]": "Tento zásuvný modul poskytuje vestavěnou konzoli KDevelopu pro rychlý a jednoduchý přístup do příkazové řádky.", "Description[es]": "Este complemento proporciona una consola integrada a KDevelop para acceder a la línea de órdenes de forma rápida y fácil.", "Description[fr]": "Ce module apporte à KDevelop une konsole intégrée pour un accès à la ligne de commande rapide et facile.", "Description[it]": "Questa estensione dota KDevelop di una console integrata per un rapido e semplice accesso alla riga di comando.", @@ -21,6 +22,7 @@ "Name": "Konsole Integration", "Name[ca@valencia]": "Integració del Konsole", "Name[ca]": "Integració del Konsole", + "Name[cs]": "Integrace Konsole", "Name[de]": "Konsole-Integration", "Name[es]": "Integración de Konsole", "Name[fr]": "Intégration de Konsole", diff --git a/plugins/openwith/kdevopenwith.json b/plugins/openwith/kdevopenwith.json index 92e5836bda..eb1f664c64 100644 --- a/plugins/openwith/kdevopenwith.json +++ b/plugins/openwith/kdevopenwith.json @@ -10,6 +10,7 @@ "Description": "This plugin allows one to open files with associated external applications.", "Description[ca@valencia]": "Este connector permet obrir fitxers amb les aplicacions externes associades.", "Description[ca]": "Aquest connector permet obrir fitxers amb les aplicacions externes associades.", + "Description[cs]": "Tento modul umožňuje otevření souborů přiřazenými externími aplikacemi.", "Description[es]": "Este complemento permite abrir archivos con las aplicaciones externas asociadas.", "Description[fr]": "Ce module permet d'ouvrir des fichiers en association avec des applications externes.", "Description[it]": "Questa estensione permette di aprire i file con le relative applicazioni esterne.", diff --git a/plugins/patchreview/kdevpatchreview.json b/plugins/patchreview/kdevpatchreview.json index 660caca0d6..d69df5d933 100644 --- a/plugins/patchreview/kdevpatchreview.json +++ b/plugins/patchreview/kdevpatchreview.json @@ -10,6 +10,7 @@ "Description": "This plugin allows reviewing patches directly in the editor.", "Description[ca@valencia]": "Este connector permet revisar pedaços directament en l'editor.", "Description[ca]": "Aquest connector permet revisar pedaços directament en l'editor.", + "Description[cs]": "Tento zásuvný modul umožňuje prohlížení záplat přímo v editoru.", "Description[es]": "Este complemento permite la revisión de parches directamente en el editor.", "Description[fr]": "Ce module permet de passer en revue des correctifs directement dans l'éditeur.", "Description[it]": "Questa estensione permette di rivedere le patch direttamente nell'editor.", @@ -28,6 +29,7 @@ "Name": "Patch Review", "Name[ca@valencia]": "Revisió del pedaç", "Name[ca]": "Revisió del pedaç", + "Name[cs]": "Kontrola záplat", "Name[es]": "Revisión de parches", "Name[fr]": "Révision de correctifs", "Name[it]": "Revisione patch", diff --git a/plugins/problemreporter/kdevproblemreporter.json b/plugins/problemreporter/kdevproblemreporter.json index aa43c5e83d..d0667ea252 100644 --- a/plugins/problemreporter/kdevproblemreporter.json +++ b/plugins/problemreporter/kdevproblemreporter.json @@ -10,6 +10,7 @@ "Description": "This plugin shows errors in source code.", "Description[ca@valencia]": "Este connector permet mostrar errors en el codi font.", "Description[ca]": "Aquest connector permet mostrar errors en el codi font.", + "Description[cs]": "Tento zásuvný modul ukazuje chyby ve zdrojovém kódu.", "Description[es]": "Este complemento muestra errores en el código fuente.", "Description[fr]": "Ce module affiche les erreurs dans le code source.", "Description[it]": "Questa estensione mostra gli errori nel codice sorgente.", @@ -28,6 +29,7 @@ "Name": "Problem Reporter View", "Name[ca@valencia]": "Vista del notificador de problemes", "Name[ca]": "Vista del notificador de problemes", + "Name[cs]": "Pohled oznamovatele problému", "Name[es]": "Vista del notificador de problemas", "Name[fr]": "Vue du rapporteur de problèmes", "Name[it]": "Vista segnalazione problemi", diff --git a/plugins/projectmanagerview/kdevprojectmanagerview.json b/plugins/projectmanagerview/kdevprojectmanagerview.json index 6c2f4c20b8..f43c2484aa 100644 --- a/plugins/projectmanagerview/kdevprojectmanagerview.json +++ b/plugins/projectmanagerview/kdevprojectmanagerview.json @@ -10,6 +10,7 @@ "Description": "Lets you manage the project contents.", "Description[ca@valencia]": "Vos permet gestionar els continguts del projecte.", "Description[ca]": "Us permet gestionar els continguts del projecte.", + "Description[cs]": "Umožňuje spravovat obsah projektu.", "Description[es]": "Le permite gestionar el contenido del proyecto.", "Description[fr]": "Vous laisse gérer le contenu du projet.", "Description[it]": "Consente di gestire i contenuti del progetto.", @@ -28,6 +29,7 @@ "Name": "Project Manager View", "Name[ca@valencia]": "Vista del gestor de projectes", "Name[ca]": "Vista del gestor de projectes", + "Name[cs]": "Pohled správce projektů", "Name[de]": "Ansicht für Projektverwaltung", "Name[es]": "Vista del gestor de proyectos", "Name[fr]": "Vue du gestionnaire de projets", diff --git a/plugins/quickopen/kdevquickopen.json b/plugins/quickopen/kdevquickopen.json index 5bb8556a93..bb573f4610 100644 --- a/plugins/quickopen/kdevquickopen.json +++ b/plugins/quickopen/kdevquickopen.json @@ -10,6 +10,7 @@ "Description": "This plugin allows quick access to project files and language-items like classes/functions.", "Description[ca@valencia]": "Este connector permet un ràpid accés als fitxers del projecte i a elements del llenguatge com classes/funcions.", "Description[ca]": "Aquest connector permet un ràpid accés als fitxers del projecte i a elements del llenguatge com classes/funcions.", + "Description[cs]": "Tento zásuvný modul umožňuje rychlý přístup k souborům projektu a položkám jazyka jako jsou třídy a funkce.", "Description[es]": "Este complemento permite acceder rápidamente a los archivos del proyecto y a elementos del lenguaje, como clases y funciones.", "Description[fr]": "Ce module permet un accès rapide aux fichiers du projet et aux éléments de langage comme les classes / fonctions.", "Description[it]": "Questa estensione permette di accedere rapidamente ai file di progetto e agli elementi del linguaggio come le classi/funzioni.", diff --git a/plugins/sourceformatter/kdevsourceformatter.json b/plugins/sourceformatter/kdevsourceformatter.json index bab94ef332..8ef1579d1a 100644 --- a/plugins/sourceformatter/kdevsourceformatter.json +++ b/plugins/sourceformatter/kdevsourceformatter.json @@ -5,6 +5,7 @@ "Description[ca@valencia]": "Configura quin estil s'ha d'usar per a formatar el codi font d'un projecte.", "Description[ca]": "Configura quin estil s'ha d'usar per a formatar el codi font d'un projecte.", "Description[es]": "Configurar el estilo que se debe usar para formatear el código fuente de un proyecto.", + "Description[fr]": "Configurer le style de formatage du code source dans les projets.", "Description[it]": "Configura lo stile che sarà usato per formattare il codice sorgente in un progetto.", "Description[nl]": "Configureer welke stijl gebruikt moet worden voor formattering van de broncode in een project.", "Description[pl]": "Określ zapis kodu źródłowego w projekcie.", diff --git a/plugins/standardoutputview/kdevstandardoutputview.json b/plugins/standardoutputview/kdevstandardoutputview.json index c4952c6bef..55e0a1883c 100644 --- a/plugins/standardoutputview/kdevstandardoutputview.json +++ b/plugins/standardoutputview/kdevstandardoutputview.json @@ -4,6 +4,7 @@ "Description": "Provides a text output toolview for other plugins to use, to show things like compiler messages.", "Description[ca@valencia]": "Proporciona una vista d'eina d'eixida de text per a utilitzar en altres connectors, per a visualitzar missatges del compilador, per exemple.", "Description[ca]": "Proporciona una vista d'eina de sortida de text per a utilitzar en altres connectors, per a visualitzar missatges del compilador, per exemple.", + "Description[cs]": "Umožňuje používat jiným zásuvným modulům nástrojový pohled textového výstupu, aby ukázal různé věci, jako třeba zprávy kompilátoru.", "Description[es]": "Proporciona un visor de salida de texto para que otros complementos muestren cosas como mensajes del compilador, por ejemplo.", "Description[fr]": "Fournit un outil d'affichage de la sortie texte pour utilisation par d'autres modules, pour afficher des choses comme des messages de compilateur.", "Description[it]": "Fornisce una vista strumenti testuale che può essere usata dalla estensioni per mostrare cose come i messaggi del compilatore.", diff --git a/plugins/testview/kdevtestview.json b/plugins/testview/kdevtestview.json index da55569649..0ac7594744 100644 --- a/plugins/testview/kdevtestview.json +++ b/plugins/testview/kdevtestview.json @@ -10,6 +10,7 @@ "Description": "Lets you see and run unit tests.", "Description[ca@valencia]": "Vos permet veure i executar proves unitàries.", "Description[ca]": "Us permet veure i executar proves unitàries.", + "Description[cs]": "Umožňuje vám zobrazit a spouštět unit testy.", "Description[es]": "Le permite ver y ejecutar pruebas unitarias.", "Description[fr]": "Vous permet de voir et exécuter des tests unitaires.", "Description[it]": "Consente di vedere ed eseguire i test d'unità.", @@ -28,6 +29,7 @@ "Name": "Unit Test View", "Name[ca@valencia]": "Vista de proves unitàries", "Name[ca]": "Vista de proves unitàries", + "Name[cs]": "Pohled na Unit testy", "Name[es]": "Vista de la prueba unitaria", "Name[fr]": "Affichage des tests unitaires", "Name[it]": "Vista test d'unità", diff --git a/plugins/vcschangesview/kdevvcschangesview.json b/plugins/vcschangesview/kdevvcschangesview.json index 717a24a9f7..39a42cc93a 100644 --- a/plugins/vcschangesview/kdevvcschangesview.json +++ b/plugins/vcschangesview/kdevvcschangesview.json @@ -30,6 +30,7 @@ "Name": "VCS Integration", "Name[ca@valencia]": "Integració de VCS", "Name[ca]": "Integració de VCS", + "Name[cs]": "Integrace VCS", "Name[de]": "VCS-Integration", "Name[es]": "Integración de VCS", "Name[fr]": "Intégration de VCS", diff --git a/plugins/welcomepage/kdevwelcomepage.json b/plugins/welcomepage/kdevwelcomepage.json index 1dd4575640..60d919185b 100644 --- a/plugins/welcomepage/kdevwelcomepage.json +++ b/plugins/welcomepage/kdevwelcomepage.json @@ -3,7 +3,9 @@ "Description": "Provides the welcome page visible in an empty session", "Description[ca@valencia]": "Proporciona la visibilitat de la pàgina de benvinguda en una sessió buida", "Description[ca]": "Proporciona la visibilitat de la pàgina de benvinguda en una sessió buida", + "Description[cs]": "Poskytuje uvítací obrazovku viditelnou v prázdném sezení", "Description[es]": "Proporciona la página de bienvenida visible en una sesión vacía", + "Description[fr]": "Fournit la page d'accueil visible dans une session vide", "Description[it]": "Fornisce la pagina di benvenuto visibile in una sessione vuota", "Description[nl]": "Biedt de welkomst pagina zichtbaar in een lege sessie", "Description[pl]": "Dostarcza stronę powitania widoczną przy pustych sesjach", From 44e45cf9e10e9c8b85864c02eb9e109c31537cff Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 22:13:28 +0100 Subject: [PATCH 020/108] Minor: Fix typo QVERSION_SHORT -> QTVERSION_SHORT --- appimage/Dockerfile | 6 +++--- appimage/kdevelop-recipe-centos6.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/appimage/Dockerfile b/appimage/Dockerfile index 1fe8c9fd3e..63a8a0a102 100644 --- a/appimage/Dockerfile +++ b/appimage/Dockerfile @@ -5,19 +5,19 @@ RUN cd /tmp && wget http://opensource.wandisco.com/rhel/6/svn-1.9/RPMS/x86_64/su RUN echo ". /opt/rh/devtoolset-4/enable && chmod +x /opt/rh/python27/enable && . /opt/rh/python27/enable" >> /root/.bashrc -ENV LC_ALL=en_US.UTF-8 LANG=en_us.UTF-8 QTVERSION=5.9.1 QVERSION_SHORT=5.9 LLVM_VERSION=5.0.0 LLVM_ROOT=/opt/llvm/ LD_LIBRARY_PATH=$QTDIR/lib/ +ENV LC_ALL=en_US.UTF-8 LANG=en_us.UTF-8 QTVERSION=5.9.1 QTVERSION_SHORT=5.9 LLVM_VERSION=5.0.0 LLVM_ROOT=/opt/llvm/ LD_LIBRARY_PATH=$QTDIR/lib/ ENV QTDIR=/usr/local/Qt-${QTVERSION}/ RUN bash -c "ln -sf /opt/rh/devtoolset-4/root/usr/bin/g++ /usr/bin/g++ && ln -sf /opt/rh/devtoolset-4/root/usr/bin/c++ /usr/bin/c++" # Build Qt5 -RUN bash -c "mkdir -p /qt && cd /qt && wget http://download.qt.io/archive/qt/${QVERSION_SHORT}/${QTVERSION}/single/qt-everywhere-opensource-src-${QTVERSION}.tar.xz && tar xvf qt-everywhere-opensource-src-${QTVERSION}.tar.xz" +RUN bash -c "mkdir -p /qt && cd /qt && wget http://download.qt.io/archive/qt/${QTVERSION_SHORT}/${QTVERSION}/single/qt-everywhere-opensource-src-${QTVERSION}.tar.xz && tar xvf qt-everywhere-opensource-src-${QTVERSION}.tar.xz" RUN bash -c "export MAKEFLAGS=-j$(nproc) && cd /qt/qt-everywhere-opensource-src-${QTVERSION} && ./configure -v -skip qt3d -skip qtgamepad -platform linux-g++ -qt-pcre -qt-xcb -qt-xkbcommon -xkb-config-root /usr/share/X11/xkb -no-pch -nomake tests -nomake examples -confirm-license -opensource && make -j$(nproc) || make -j 1 install; make -j$(nproc) install && rm -Rf /qt" RUN ln -sf /usr/local/Qt-${QTVERSION}/bin/qmake /usr/bin/qmake-qt5 # Build qtwebkit -RUN bash -c "mkdir -p /qtwk && cd /qtwk && wget http://download.qt.io/archive/qt/${QVERSION_SHORT}/${QTVERSION}/submodules/qtwebkit-opensource-src-${QTVERSION}.tar.xz && tar xvf qtwebkit-opensource-src-${QTVERSION}.tar.xz" +RUN bash -c "mkdir -p /qtwk && cd /qtwk && wget http://download.qt.io/archive/qt/${QTVERSION_SHORT}/${QTVERSION}/submodules/qtwebkit-opensource-src-${QTVERSION}.tar.xz && tar xvf qtwebkit-opensource-src-${QTVERSION}.tar.xz" RUN bash -c "cd /qtwk/qtwebkit-opensource-src-${QTVERSION} && $QTDIR/bin/qmake && make -j$(nproc) || make -j$(nproc) && make -j$(nproc) install && rm -Rf /qtwk" # Install ninja diff --git a/appimage/kdevelop-recipe-centos6.sh b/appimage/kdevelop-recipe-centos6.sh index 201dd7e57e..a24c726707 100755 --- a/appimage/kdevelop-recipe-centos6.sh +++ b/appimage/kdevelop-recipe-centos6.sh @@ -20,7 +20,7 @@ git_pull_rebase_helper() SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" QTVERSION=5.9.1 -QVERSION_SHORT=5.9 +QTVERSION_SHORT=5.9 QTDIR=/usr/local/Qt-${QTVERSION}/ if [ -z "$KDEVELOP_VERSION" ]; then From a767101302da98bc0e73a34e1ff026743544212e Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Fri, 17 Nov 2017 10:55:51 +0100 Subject: [PATCH 021/108] Minor: Fix compiler warning --- plugins/clang/duchain/builder.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/clang/duchain/builder.cpp b/plugins/clang/duchain/builder.cpp index b6d69d6b04..6454bd6b73 100644 --- a/plugins/clang/duchain/builder.cpp +++ b/plugins/clang/duchain/builder.cpp @@ -127,6 +127,7 @@ Identifier makeId(CXCursor cursor) return Identifier(ClangString(clang_getCursorSpelling(cursor)).toIndexed()); } +#if CINDEX_VERSION_MINOR >= 100 // FIXME https://bugs.llvm.org/show_bug.cgi?id=35333 QByteArray makeComment(CXComment comment) { if (Q_UNLIKELY(jsonTestRun())) { @@ -143,6 +144,7 @@ QByteArray makeComment(CXComment comment) return ClangString(clang_FullComment_getAsHTML(comment)).toByteArray(); } +#endif AbstractType* createDelayedType(CXType type) { From 13edc89514067e3a21924316887b960acf51f6d3 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Fri, 17 Nov 2017 10:56:15 +0100 Subject: [PATCH 022/108] Build on Qt <5.6 again --- kdevplatform/qtcompat_p.h | 22 +++++++++++++++++-- .../compilerprovider/compilerprovider.cpp | 6 ++--- plugins/qmakemanager/qmakeconfig.cpp | 17 +++----------- 3 files changed, 26 insertions(+), 19 deletions(-) diff --git a/kdevplatform/qtcompat_p.h b/kdevplatform/qtcompat_p.h index 12024b2249..c71bbcefdd 100644 --- a/kdevplatform/qtcompat_p.h +++ b/kdevplatform/qtcompat_p.h @@ -22,6 +22,8 @@ #include +#include + #if QT_VERSION < QT_VERSION_CHECK(5,7,0) namespace QtPrivate { @@ -38,8 +40,6 @@ template void qAsConst(const T &&) Q_DECL_EQ_DELETE; #endif -#endif - // compat for Q_FALLTHROUGH #if QT_VERSION < QT_VERSION_CHECK(5,8,0) @@ -62,3 +62,21 @@ void qAsConst(const T &&) Q_DECL_EQ_DELETE; #endif #endif + +namespace QtCompat { +// TODO: Just use QDir::listSeparator once we depend on Qt 5.6 +Q_DECL_CONSTEXPR inline QChar listSeparator() Q_DECL_NOTHROW +{ +#if QT_VERSION < QT_VERSION_CHECK(5,6,0) +#ifdef Q_OS_WIN + return QLatin1Char(';'); +#else + return QLatin1Char(':'); +#endif +#else + return QDir::listSeparator(); +#endif +} +} + +#endif diff --git a/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp b/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp index 7ddd44ebdf..597fb4f625 100644 --- a/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp +++ b/plugins/custom-definesandincludes/compilerprovider/compilerprovider.cpp @@ -23,8 +23,8 @@ #include "compilerprovider.h" -#include - +#include "debug.h" +#include "qtcompat_p.h" #include "compilerfactories.h" #include "settingsmanager.h" @@ -177,7 +177,7 @@ CompilerPointer CompilerProvider::defaultCompiler() const return m_defaultProvider; auto rt = ICore::self()->runtimeController()->currentRuntime(); - const auto path = QFile::decodeName(rt->getenv("PATH")).split(QDir::listSeparator()); + const auto path = QFile::decodeName(rt->getenv("PATH")).split(QtCompat::listSeparator()); for ( const CompilerPointer& compiler : m_compilers ) { const bool absolutePath = QDir::isAbsolutePath(compiler->path()); diff --git a/plugins/qmakemanager/qmakeconfig.cpp b/plugins/qmakemanager/qmakeconfig.cpp index 955200a117..5370c653d3 100644 --- a/plugins/qmakemanager/qmakeconfig.cpp +++ b/plugins/qmakemanager/qmakeconfig.cpp @@ -18,6 +18,8 @@ #include "qmakeconfig.h" +#include "qtcompat_p.h" + #include #include #include @@ -39,19 +41,6 @@ const char QMakeConfig::EXTRA_ARGUMENTS[] = "Extra_Arguments"; const char QMakeConfig::BUILD_TYPE[] = "Build_Type"; const char QMakeConfig::ALL_BUILDS[] = "All_Builds"; -namespace { - -// TODO: Just use QDir::listSeparator once we depend on Qt 5.6 -Q_DECL_CONSTEXPR inline QChar listSeparator() Q_DECL_NOTHROW -{ -#ifdef Q_OS_WIN - return QLatin1Char(';'); -#else - return QLatin1Char(':'); -#endif -} -} - using namespace KDevelop; /// NOTE: KConfig is not thread safe @@ -141,7 +130,7 @@ QString QMakeConfig::findBasicMkSpec(const QHash& qmakeVars) QStringList paths; if (qmakeVars.contains(QStringLiteral("QMAKE_MKSPECS"))) { // qt4 - foreach (const QString& dir, qmakeVars["QMAKE_MKSPECS"].split(listSeparator())) { + foreach (const QString& dir, qmakeVars["QMAKE_MKSPECS"].split(QtCompat::listSeparator())) { paths << dir + "/default/qmake.conf"; } } else if (!qmakeVars.contains(QStringLiteral("QMAKE_MKSPECS")) && qmakeVars.contains(QStringLiteral("QMAKE_SPEC"))) { From 37a11f9cea1cd0fb60bec9a7ab7a7693971fb4bd Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Fri, 17 Nov 2017 10:24:06 +0100 Subject: [PATCH 023/108] projectmanagerview: Don't collapse tree view Summary: Don't allow the project tree view widget to collapse. It confuses uses when they accidentally hide it. Also see discussion: https://phabricator.kde.org/D8217 --- plugins/projectmanagerview/projectmanagerview.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/projectmanagerview/projectmanagerview.cpp b/plugins/projectmanagerview/projectmanagerview.cpp index 63dbef6103..d71ae29edc 100644 --- a/plugins/projectmanagerview/projectmanagerview.cpp +++ b/plugins/projectmanagerview/projectmanagerview.cpp @@ -91,6 +91,9 @@ ProjectManagerView::ProjectManagerView( ProjectManagerViewPlugin* plugin, QWidge m_ui->splitter->setStretchFactor(1, projectBuildSetStrechFactor); } + // keep the project tree view from collapsing (would confuse users) + m_ui->splitter->setCollapsible(0, false); + m_syncAction = plugin->actionCollection()->action(QStringLiteral("locate_document")); Q_ASSERT(m_syncAction); m_syncAction->setShortcutContext(Qt::WidgetWithChildrenShortcut); From 49b5df418539b97137c2a9c63fa3ce139908e420 Mon Sep 17 00:00:00 2001 From: Sven Brauch Date: Fri, 17 Nov 2017 18:32:21 +0100 Subject: [PATCH 024/108] Use Software scene graph backend for welcome page BUG:386527 Differential Revision: https://phabricator.kde.org/D8872 --- app/CMakeLists.txt | 2 ++ app/main.cpp | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/app/CMakeLists.txt b/app/CMakeLists.txt index e343d071a5..d9f9481a61 100644 --- a/app/CMakeLists.txt +++ b/app/CMakeLists.txt @@ -44,6 +44,8 @@ target_link_libraries(kdevelop KF5::Declarative KF5::IconThemes KF5::Crash + + Qt5::Quick ) IF(APPLE) target_link_libraries(kdevelop "-framework CoreFoundation") diff --git a/app/main.cpp b/app/main.cpp index f85fa6b062..f17223fe85 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -49,6 +49,8 @@ #include #include +#include + #include #include #include @@ -304,6 +306,13 @@ int main( int argc, char *argv[] ) QElapsedTimer timer; timer.start(); +#if QT_VERSION >= QT_VERSION_CHECK(5, 8, 0) + // If possible, use the Software backend for QQuickWidget (currently used in the + // welcome page plugin). This means we don't need OpenGL at all, avoiding issues + // like https://bugs.kde.org/show_bug.cgi?id=386527. + QQuickWindow::setSceneGraphBackend(QSGRendererInterface::Software); +#endif + // TODO: Maybe generalize, add KDEVELOP_STANDALONE build option #if defined(Q_OS_WIN) || defined(Q_OS_MAC) qputenv("KDE_FORK_SLAVES", "1"); // KIO slaves will be forked off instead of being started via DBus From 5984874b479f40ff926b3e98069679d53114a84b Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Sat, 18 Nov 2017 00:25:26 +0100 Subject: [PATCH 025/108] Documentation viewer: fix handling of clicked links with QtWebKit BUG:386929 FIXED-IN:5.2.1 --- kdevplatform/documentation/standarddocumentationview.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/kdevplatform/documentation/standarddocumentationview.cpp b/kdevplatform/documentation/standarddocumentationview.cpp index 64680e5faa..b173e50847 100644 --- a/kdevplatform/documentation/standarddocumentationview.cpp +++ b/kdevplatform/documentation/standarddocumentationview.cpp @@ -92,6 +92,7 @@ class KDevelop::StandardDocumentationViewPrivate { m_view = new QWebView(parent); m_view->setContextMenuPolicy(Qt::NoContextMenu); + QObject::connect(m_view, &QWebView::linkClicked, parent, &StandardDocumentationView::linkClicked); } #else QWebEngineView* m_view = nullptr; From 015141e38b795b6c8ff9fe616e87cf0a55065406 Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Sat, 18 Nov 2017 19:03:06 +0100 Subject: [PATCH 026/108] kdev-clang: Offer all include paths for code completion We used to only offer code completion of project paths for local code completion in `#include "..."` contexts. And for vice versa, we only offered system paths for global code completion in `#include <...>` contexts. This is wrong, as the include style only changes the order in which a compiler iterates through these paths to find an include file. For code completion purposes, this is not important. Now we offer code completion in both path lists always. To show the user the right file/dir being included, we don't sort and unify the search path list anymore as that potentially changes the final result. Rather, we use a hash set to ensure we don't encounter paths multiple times and iterate over the search path lists in their original order. BUG: 386421 --- .../includepathcompletioncontext.cpp | 27 ++++++++++++------- plugins/clang/tests/test_codecompletion.cpp | 2 +- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/plugins/clang/codecompletion/includepathcompletioncontext.cpp b/plugins/clang/codecompletion/includepathcompletioncontext.cpp index 46c26d60e8..c1f54a981c 100644 --- a/plugins/clang/codecompletion/includepathcompletioncontext.cpp +++ b/plugins/clang/codecompletion/includepathcompletioncontext.cpp @@ -143,26 +143,35 @@ IncludePathProperties IncludePathProperties::parseText(const QString& text, int namespace { -QVector includeItemsForUrl(const QUrl& url, const IncludePathProperties& properties, const Path::List& includePaths ) +QVector includeItemsForUrl(const QUrl& url, const IncludePathProperties& properties, + const ClangParsingEnvironment::IncludePaths& includePaths) { QVector includeItems; - Path::List paths = includePaths; + Path::List paths; if (properties.local) { - paths.push_front(Path(url).parent()); + paths.push_back(Path(url).parent()); + paths += includePaths.project; + paths += includePaths.system; + } else { + paths = includePaths.system + includePaths.project; } - std::sort(paths.begin(), paths.end()); - auto last = std::unique(paths.begin(), paths.end()); + // ensure we don't add duplicate paths + QSet handledPaths; // search paths + QSet foundIncludePaths; // found items int pathNumber = 0; - for (auto it = paths.begin(); it != last; it++ ) { - auto searchPath = *it; + for (auto searchPath : paths) { + if (handledPaths.contains(searchPath)) { + continue; + } + handledPaths.insert(searchPath); + if (!properties.prefixPath.isEmpty()) { searchPath.addPath(properties.prefixPath); } - QSet foundIncludePaths; QDirIterator dirIterator(searchPath.toLocalFile()); while (dirIterator.hasNext()) { dirIterator.next(); @@ -266,7 +275,7 @@ IncludePathCompletionContext::IncludePathCompletionContext(const DUContextPointe return; } - m_includeItems = includeItemsForUrl(url, properties, properties.local ? sessionData->environment().includes().project : sessionData->environment().includes().system); + m_includeItems = includeItemsForUrl(url, properties, sessionData->environment().includes()); } QList< CompletionTreeItemPointer > IncludePathCompletionContext::completionItems(bool& abort, bool) diff --git a/plugins/clang/tests/test_codecompletion.cpp b/plugins/clang/tests/test_codecompletion.cpp index 55eeef9a8d..3549b21e28 100644 --- a/plugins/clang/tests/test_codecompletion.cpp +++ b/plugins/clang/tests/test_codecompletion.cpp @@ -978,7 +978,7 @@ void TestCodeCompletion::testIncludePathCompletionLocal() IncludeTester tester(executeIncludePathCompletion(&impl, {0, 10})); QVERIFY(tester.names.contains(header.url().toUrl().fileName())); - QVERIFY(!tester.names.contains("iostream")); + QVERIFY(tester.names.contains("iostream")); } void TestCodeCompletion::testOverloadedFunctions() From 448a640b45167ed8390af6836855779f01337abb Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Sat, 18 Nov 2017 21:50:36 +0100 Subject: [PATCH 027/108] Fix assert, line index 0 is a valid one --- kdevplatform/vcs/models/vcsannotationmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kdevplatform/vcs/models/vcsannotationmodel.cpp b/kdevplatform/vcs/models/vcsannotationmodel.cpp index 49eec20fa6..2b80969c04 100644 --- a/kdevplatform/vcs/models/vcsannotationmodel.cpp +++ b/kdevplatform/vcs/models/vcsannotationmodel.cpp @@ -171,7 +171,7 @@ VcsRevision VcsAnnotationModel::revisionForLine( int line ) const return VcsRevision(); } - Q_ASSERT(line > 0 && d->m_annotation.containsLine( line )); + Q_ASSERT(line >= 0 && d->m_annotation.containsLine(line)); return d->m_annotation.line( line ).revision(); } From c2f9b5f29fa74a0fd8b270c1819dc25fa4855bfd Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Sun, 19 Nov 2017 23:21:06 +0100 Subject: [PATCH 028/108] Don't add the same targets multiple times for nested CMake projects When we import a cmake project folder and that contains nested CMake projects, we ended up showing the same target multiple times, since the CMake server output will reference the same targets for the parent project and then again for the nested project(s). Ensure the targets are only added once to fix this issue. BUG: 387095 --- plugins/cmake/cmakeprojectdata.h | 6 ++++++ plugins/cmake/cmakeserverimportjob.cpp | 9 ++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/cmake/cmakeprojectdata.h b/plugins/cmake/cmakeprojectdata.h index 1bb62528eb..dfe0a49b2d 100644 --- a/plugins/cmake/cmakeprojectdata.h +++ b/plugins/cmake/cmakeprojectdata.h @@ -70,6 +70,12 @@ inline QDebug &operator<<(QDebug debug, const CMakeTarget& target) { debug << target.type << ':' << target.name; return debug.maybeSpace(); } +inline bool operator==(const CMakeTarget& lhs, const CMakeTarget& rhs) +{ + return lhs.type == rhs.type + && lhs.name == rhs.name + && lhs.artifacts == rhs.artifacts; +} struct Test { diff --git a/plugins/cmake/cmakeserverimportjob.cpp b/plugins/cmake/cmakeserverimportjob.cpp index c40ba10d79..403ffe19c7 100644 --- a/plugins/cmake/cmakeserverimportjob.cpp +++ b/plugins/cmake/cmakeserverimportjob.cpp @@ -108,12 +108,19 @@ void CMakeServerImportJob::processCodeModel(const QJsonObject &response, CMakePr const auto target = targetObject.toObject(); const KDevelop::Path targetDir = rt->pathInHost(KDevelop::Path(target.value(QStringLiteral("sourceDirectory")).toString())); - data.targets[targetDir] += CMakeTarget { + CMakeTarget cmakeTarget{ typeToEnum(target), target.value(QStringLiteral("name")).toString(), kTransform(target[QLatin1String("artifacts")].toArray(), [](const QJsonValue& val) { return KDevelop::Path(val.toString()); }) }; + // ensure we don't add the same target multiple times, for different projects + // cf.: https://bugs.kde.org/show_bug.cgi?id=387095 + auto& dirTargets = data.targets[targetDir]; + if (dirTargets.contains(cmakeTarget)) + continue; + dirTargets += cmakeTarget; + const auto fileGroups = target.value(QStringLiteral("fileGroups")).toArray(); for (const auto &fileGroupValue: fileGroups) { const auto fileGroup = fileGroupValue.toObject(); From 53ec893e8271d5029ea0510432ea989fd8cab817 Mon Sep 17 00:00:00 2001 From: Sven Brauch Date: Mon, 20 Nov 2017 14:26:32 +0100 Subject: [PATCH 029/108] compute itemrepository version from version plus KDEVELOP_VERSION This ensures that for each release, we clear the item repository. In the past, we had various issues related to old caches -- this change should avold that, since we no longer need to remember to bump the ITEMREPOSITORY_VERSION variable on each release. Changing ITEMREPOSITORY_VERSION is still possible to force a clear even if KDEVELOP_VERSION is untouched. --- kdevplatform/CMakeLists.txt | 5 +++-- kdevplatform/config-kdevplatform.h.cmake | 7 ++++++- kdevplatform/serialization/itemrepositoryregistry.cpp | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/kdevplatform/CMakeLists.txt b/kdevplatform/CMakeLists.txt index 2cf4815726..59a45499d8 100644 --- a/kdevplatform/CMakeLists.txt +++ b/kdevplatform/CMakeLists.txt @@ -2,8 +2,9 @@ # E.g. for KDevelop 5.2.0 => SOVERSION 52 (we only promise ABI compatibility between patch version updates) set(KDEVPLATFORM_SOVERSION ${KDEVELOP_SOVERSION}) -# Increase this to reset incompatible item-repositories -set(KDEV_ITEMREPOSITORY_VERSION 87) +# Increase this to reset incompatible item-repositories. +# Changing KDEVELOP_VERSION automatically resets the itemrepository as well. +set(KDEV_ITEMREPOSITORY_INCREMENT 0) set(KDevPlatform_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) set(KDevPlatform_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/kdevplatform/config-kdevplatform.h.cmake b/kdevplatform/config-kdevplatform.h.cmake index 7e3bdd9e0a..ddb6cb407a 100644 --- a/kdevplatform/config-kdevplatform.h.cmake +++ b/kdevplatform/config-kdevplatform.h.cmake @@ -1,6 +1,11 @@ #ifndef CONFIG_KDEVPLATFORM_H #define CONFIG_KDEVPLATFORM_H -#define KDEV_ITEMREPOSITORY_VERSION @KDEV_ITEMREPOSITORY_VERSION@ +#include "kdevelop_version.h" + +#define KDEV_ITEMREPOSITORY_VERSION (KDEVELOP_VERSION_MAJOR << 24) \ + + (KDEVELOP_VERSION_MINOR << 16) \ + + (KDEVELOP_VERSION_PATCH << 8) \ + + @KDEV_ITEMREPOSITORY_INCREMENT@ #endif diff --git a/kdevplatform/serialization/itemrepositoryregistry.cpp b/kdevplatform/serialization/itemrepositoryregistry.cpp index f95e4a83d9..d623b9ef1c 100644 --- a/kdevplatform/serialization/itemrepositoryregistry.cpp +++ b/kdevplatform/serialization/itemrepositoryregistry.cpp @@ -74,7 +74,7 @@ bool shouldClear(const QString& path) } if (!dir.exists(QStringLiteral("version_%1").arg(staticItemRepositoryVersion()))) { - qCWarning(SERIALIZATION) << "version-hint not found, seems to be an old version"; + qCWarning(SERIALIZATION) << "version mismatch or no version hint; expected version:" << staticItemRepositoryVersion(); return true; } From 6d4591fb1733f4490d77d9e6a1e619b31767d49b Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 16 Nov 2017 17:49:14 +0100 Subject: [PATCH 030/108] Fix crash deep inside VcsOverlayProxyModel::data() Summary: VcsOverlayProxyModel::data() calls ProjectController::changesModel() which currently is a non-const method which might create an instance of ProjectChangesModel which in turn triggers some KJobs. Avoid that by instantiating ProjectChangesModel() immediately during startup. I don't think that has a real performance impact. BUG: 384162 FIXED-IN: 5.2.1 Reviewers: apol Reviewed By: apol Subscribers: mwolff, dfaure, brauch, apol, kdevelop-devel Differential Revision: https://phabricator.kde.org/D8852 --- kdevplatform/shell/projectcontroller.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/kdevplatform/shell/projectcontroller.cpp b/kdevplatform/shell/projectcontroller.cpp index 2d19b637d8..d687c269d2 100644 --- a/kdevplatform/shell/projectcontroller.cpp +++ b/kdevplatform/shell/projectcontroller.cpp @@ -105,7 +105,7 @@ class ProjectControllerPrivate ProjectBuildSetModel* buildset; bool m_foundProjectFile; //Temporary flag used while searching the hierarchy for a project file bool m_cleaningUp; //Temporary flag enabled while destroying the project-controller - QPointer m_changesModel; + ProjectChangesModel* m_changesModel = nullptr; QHash< IProject*, QPointer > m_parseJobs; // parse jobs that add files from the project to the background parser. explicit ProjectControllerPrivate( ProjectController* p ) @@ -640,6 +640,8 @@ void ProjectController::initialize() connect( this, &ProjectController::projectClosed, d->buildset, &ProjectBuildSetModel::projectClosed ); + d->m_changesModel = new ProjectChangesModel(this); + loadSettings(false); d->dialog = new ProjectDialogProvider(d.data()); @@ -1140,9 +1142,6 @@ ProjectBuildSetModel* ProjectController::buildSetModel() ProjectChangesModel* ProjectController::changesModel() { - if(!d->m_changesModel) - d->m_changesModel=new ProjectChangesModel(this); - return d->m_changesModel; } From 0e43fa96553163374bfc359dc7e86ed8c242258b Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 21 Nov 2017 00:11:41 +0100 Subject: [PATCH 031/108] test_kdevformatsource: Fix crash on Windows Unit test is still not fixed though. Problem: ``` 22:30:32 FAIL! : KDevelop::TestKdevFormatSource::testNoCommands() Compared values are not the same 22:30:32 Actual (initTest(formatFileData)): 0 22:30:32 Expected (true) : 1 22:30:32 C:\CI\workspace\KDevelop kdevelop stable-kf5-qt5 WindowsMSVCQt5.9\kdevplatform\util\tests\test_kdevformatsource.cpp(53) : failure location 22:30:32 QFATAL : KDevelop::TestKdevFormatSource::testNoCommands() ASSERT failure in QTest::fetchData(): "Test data requested, but no testdata available.", file C:\CM-Build\MSVCQt5.9\build\libs\qt5\qtbase\work\qtbase-opensource-src-5.9.1\src\testlib\qtestcase.cpp, line 1105 ``` --- .../util/tests/test_kdevformatsource.cpp | 35 ++++++++++--------- .../util/tests/test_kdevformatsource.h | 11 +++++- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/kdevplatform/util/tests/test_kdevformatsource.cpp b/kdevplatform/util/tests/test_kdevformatsource.cpp index ee725663c2..7ad67bad1d 100644 --- a/kdevplatform/util/tests/test_kdevformatsource.cpp +++ b/kdevplatform/util/tests/test_kdevformatsource.cpp @@ -23,13 +23,22 @@ #include #include -#include #include +#include +#include QTEST_MAIN(KDevelop::TestKdevFormatSource) using namespace KDevelop; +TestKdevFormatSource::TestKdevFormatSource() +{ +} + +TestKdevFormatSource::~TestKdevFormatSource() +{ +} + void TestKdevFormatSource::testNotFound_data() { static const QStringList formatFileData = {}; @@ -128,21 +137,14 @@ bool TestKdevFormatSource::initTest(const QStringList& formatFileData) QTest::addColumn("isApplied"); QTest::addColumn("lines"); - QString workPath = QStandardPaths::standardLocations(QStandardPaths::TempLocation).first(); - workPath += QLatin1String("/test_kdevformatsource/"); - - if (QDir(workPath).exists() && !QDir(workPath).removeRecursively()) { - qDebug() << "unable to remove existing directory" << workPath; - return false; - } - - if (!mkPath(workPath)) - return false; + m_temporaryDir.reset(new QTemporaryDir); + const QString workPath = m_temporaryDir->path(); + qDebug() << "Using temporary dir:" << workPath; - if (!mkPath(workPath + "src1")) + if (!mkPath(workPath + "/src1")) return false; - if (!mkPath(workPath + "src2")) + if (!mkPath(workPath + "/src2")) return false; if (!QDir::setCurrent(workPath)) { @@ -152,14 +154,14 @@ bool TestKdevFormatSource::initTest(const QStringList& formatFileData) m_sources.resize(3); - m_sources[0].path = workPath + "src1/source_1.cpp"; + m_sources[0].path = workPath + "/src1/source_1.cpp"; m_sources[0].lines = QStringList({ QStringLiteral("void foo(int x) {"), QStringLiteral(" printf(\"squared x = %d\\n\", x * x);"), QStringLiteral("}") }); - m_sources[1].path = workPath + "src2/source_2.cpp"; + m_sources[1].path = workPath + "/src2/source_2.cpp"; m_sources[1].lines = QStringList({ QStringLiteral("void bar(double x) {"), QStringLiteral(" x = sqrt(x);"), @@ -167,7 +169,7 @@ bool TestKdevFormatSource::initTest(const QStringList& formatFileData) QStringLiteral("}") }); - m_sources[2].path = workPath + "source_3.cpp"; + m_sources[2].path = workPath + "/source_3.cpp"; m_sources[2].lines = QStringList({ QStringLiteral("void baz(double x, double y) {"), QStringLiteral(" double z = pow(x, y);"), @@ -232,6 +234,7 @@ bool TestKdevFormatSource::writeLines(const QString& path, const QStringList& li for (const QString& line : lines) { outStream << line << "\n"; } + outStream.flush(); outFile.close(); return true; diff --git a/kdevplatform/util/tests/test_kdevformatsource.h b/kdevplatform/util/tests/test_kdevformatsource.h index 8cfd020967..8abb3b6328 100644 --- a/kdevplatform/util/tests/test_kdevformatsource.h +++ b/kdevplatform/util/tests/test_kdevformatsource.h @@ -19,8 +19,11 @@ #pragma once #include +#include #include +class QTemporaryDir; + namespace KDevelop { @@ -30,9 +33,14 @@ struct Source QStringList lines; }; -class TestKdevFormatSource: public QObject { +class TestKdevFormatSource : public QObject +{ Q_OBJECT +public: + TestKdevFormatSource(); + ~TestKdevFormatSource() override; + private Q_SLOTS: void testNotFound(); void testNotFound_data(); @@ -57,6 +65,7 @@ private Q_SLOTS: bool writeLines(const QString& path, const QStringList& lines) const; bool readLines(const QString& path, QStringList& lines) const; + QScopedPointer m_temporaryDir; QVector m_sources; }; From 80536b4c4c620bc1e768056fb6529659f4e9b74e Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Tue, 21 Nov 2017 06:04:41 +0100 Subject: [PATCH 032/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- .../classes/qdialog_pimpl/qdialog_pimpl.desktop | 4 ++++ file_templates/classes/qt_widget/qt_widget.desktop | 4 ++++ kdevplatform/interfaces/kdevelopplugin.desktop | 2 ++ plugins/appwizard/kdevappwizard.json | 7 +++++++ plugins/appwizard/kdevappwizard.knsrc | 2 ++ plugins/bazaar/kdevbazaar.json | 5 +++++ plugins/classbrowser/kdevclassbrowser.json | 13 +++++++++++++ plugins/codeutils/kdevcodeutils.json | 13 +++++++++++++ plugins/contextbrowser/kdevcontextbrowser.json | 13 +++++++++++++ plugins/cvs/kdevcvs.json | 4 ++++ plugins/documentswitcher/kdevdocumentswitcher.json | 13 +++++++++++++ plugins/documentview/kdevdocumentview.json | 7 +++++++ .../settings/kcm_documentview_settings.desktop | 11 +++++++++++ plugins/execute/kdevexecute.json | 13 +++++++++++++ plugins/executescript/kdevexecutescript.json | 13 +++++++++++++ plugins/externalscript/kdevexternalscript.json | 13 +++++++++++++ plugins/filemanager/kdevfilemanager.json | 5 +++++ plugins/filetemplates/kdevfiletemplates.json | 13 +++++++++++++ plugins/filetemplates/kdevfiletemplates.knsrc | 3 +++ .../genericprojectmanager/kdevgenericmanager.json | 1 + plugins/git/kdevgit.json | 4 ++++ plugins/grepview/kdevgrepview.json | 13 +++++++++++++ plugins/konsole/kdevkonsoleview.json | 7 +++++++ plugins/openwith/kdevopenwith.json | 13 +++++++++++++ plugins/outlineview/kdevoutlineview.json | 12 ++++++++++++ plugins/patchreview/kdevpatchreview.json | 13 +++++++++++++ plugins/perforce/kdevperforce.json | 2 ++ plugins/problemreporter/kdevproblemreporter.json | 13 +++++++++++++ plugins/projectfilter/kdevprojectfilter.json | 7 +++++++ .../projectmanagerview/kdevprojectmanagerview.json | 7 +++++++ plugins/quickopen/kdevquickopen.json | 14 ++++++++++++++ plugins/sourceformatter/kdevsourceformatter.json | 1 + .../standardoutputview/kdevstandardoutputview.json | 14 ++++++++++++++ plugins/subversion/kdevsubversion.json | 7 +++++++ plugins/switchtobuddy/kdevswitchtobuddy.json | 13 +++++++++++++ plugins/testview/kdevtestview.json | 13 +++++++++++++ plugins/vcschangesview/kdevvcschangesview.json | 7 +++++++ plugins/welcomepage/kdevwelcomepage.json | 7 +++++++ 38 files changed, 326 insertions(+) diff --git a/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop b/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop index 3837089f51..d7520d3cb8 100644 --- a/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop +++ b/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop @@ -179,6 +179,7 @@ OutputFile={{ name }}.cpp [UI] Name=User Interface +Name[bg]=Потребителски интерфейс Name[bs]=Korisnički interfejs Name[ca]=Interfície d'usuari Name[ca@valencia]=Interfície d'usuari @@ -195,13 +196,16 @@ Name[gl]=Interface de usuario Name[hu]=Felhasználói felület Name[it]=Interfaccia utente Name[kk]=Пайдаланушы интерфейсі +Name[lv]=Lietotāja saskarne Name[mr]=वापरकर्ता संवाद Name[nb]=Brukerflate Name[nds]=Böversiet Name[nl]=Gebruikersinterface +Name[pa]=ਯੂਜ਼ਰ ਇੰਟਰਫੇਸ Name[pl]=Interfejs użytkownika Name[pt]=Interface do Utilizador Name[pt_BR]=Interface do usuário +Name[ro]=Interfață utilizator Name[ru]=Пользовательский интерфейс Name[sk]=Užívateľské rozhranie Name[sl]=Uporabniški vmesnik diff --git a/file_templates/classes/qt_widget/qt_widget.desktop b/file_templates/classes/qt_widget/qt_widget.desktop index a5159d2d04..ad4c902a86 100644 --- a/file_templates/classes/qt_widget/qt_widget.desktop +++ b/file_templates/classes/qt_widget/qt_widget.desktop @@ -174,6 +174,7 @@ OutputFile={{ name }}.cpp [UI] Name=User Interface +Name[bg]=Потребителски интерфейс Name[bs]=Korisnički interfejs Name[ca]=Interfície d'usuari Name[ca@valencia]=Interfície d'usuari @@ -190,13 +191,16 @@ Name[gl]=Interface de usuario Name[hu]=Felhasználói felület Name[it]=Interfaccia utente Name[kk]=Пайдаланушы интерфейсі +Name[lv]=Lietotāja saskarne Name[mr]=वापरकर्ता संवाद Name[nb]=Brukerflate Name[nds]=Böversiet Name[nl]=Gebruikersinterface +Name[pa]=ਯੂਜ਼ਰ ਇੰਟਰਫੇਸ Name[pl]=Interfejs użytkownika Name[pt]=Interface do Utilizador Name[pt_BR]=Interface do usuário +Name[ro]=Interfață utilizator Name[ru]=Пользовательский интерфейс Name[sk]=Užívateľské rozhranie Name[sl]=Uporabniški vmesnik diff --git a/kdevplatform/interfaces/kdevelopplugin.desktop b/kdevplatform/interfaces/kdevelopplugin.desktop index c5db2106a6..4a37871aee 100644 --- a/kdevplatform/interfaces/kdevelopplugin.desktop +++ b/kdevplatform/interfaces/kdevelopplugin.desktop @@ -3,12 +3,14 @@ Type=ServiceType X-KDE-ServiceType=KDevelop/Plugin X-KDE-Derived=KPluginInfo Name=KDevelop Plugin +Name[bg]=KDevelop приставка Name[ca]=Connector del KDevelop Name[ca@valencia]=Connector del KDevelop Name[cs]=Modul KDevelop Name[de]=KDevelop-Modul Name[es]=Complemento de KDevelop Name[fr]=Module externe pour KDevelop +Name[hr]=KDevelop priključak Name[it]=Estensione per KDevelop Name[nb]=KDevelop programtillegg Name[nl]=Plugin van KDevelop diff --git a/plugins/appwizard/kdevappwizard.json b/plugins/appwizard/kdevappwizard.json index 1e3703141b..92e30a719e 100644 --- a/plugins/appwizard/kdevappwizard.json +++ b/plugins/appwizard/kdevappwizard.json @@ -12,13 +12,19 @@ "Description[ca@valencia]": "Assistent d'aplicació", "Description[ca]": "Assistent d'aplicació", "Description[cs]": "Průvodce aplikací", + "Description[de]": "Anwendungsassistent", "Description[es]": "Asistente de aplicaciones", + "Description[et]": "Rakenduse nõustaja", + "Description[fi]": "Opastettu sovelluksen luonti", "Description[fr]": "Assistant application", + "Description[gl]": "Asistente para aplicativos", "Description[it]": "Procedura guidata per applicazioni", "Description[nl]": "Programma-assistent", "Description[pl]": "Pomocnik programu", "Description[pt]": "Assistente de Aplicações", + "Description[pt_BR]": "Assistente de aplicativo", "Description[sk]": "Sprievodca aplikáciou", + "Description[sl]": "Čarovnik za programe", "Description[sv]": "Programguide", "Description[tr]": "Uygulama Sihirbazı", "Description[uk]": "Майстер створення програм", @@ -39,6 +45,7 @@ "Name[nl]": "Nieuwe projectenassistent", "Name[pl]": "Pomocnik nowego projektu", "Name[pt]": "Assistente de Novos Projectos", + "Name[ru]": "Мастер создания проекта", "Name[sk]": "Sprievodca novým projektom", "Name[sv]": "Ny projektguide", "Name[tr]": "Yeni Proje Sihirbazı", diff --git a/plugins/appwizard/kdevappwizard.knsrc b/plugins/appwizard/kdevappwizard.knsrc index d565b664aa..627ead4296 100644 --- a/plugins/appwizard/kdevappwizard.knsrc +++ b/plugins/appwizard/kdevappwizard.knsrc @@ -4,6 +4,7 @@ Name[ca]=Plantilles d'aplicació (SDK) Name[ca@valencia]=Plantilles d'aplicació (SDK) Name[cs]=Šablony aplikací (SDK) Name[de]=Anwendungsvorlagen (SDK) +Name[en_GB]=Application Templates (SDK) Name[es]=Plantillas de aplicaciones (SDK) Name[fr]=Modèle d'application (SDK) Name[it]=Modelli di applicazione (SDK) @@ -11,6 +12,7 @@ Name[nl]=Toepassingsjablonen (SDK) Name[pl]=Szablony aplikacji (SDK) Name[pt]=Modelos de Aplicações (SDK) Name[sk]=Aplikačné šablóny (SDK) +Name[sl]=Predloge programov (SDK) Name[sv]=Programmallar (SDK) Name[tr]=Uygulama Şablonları (SDK) Name[uk]=Шаблони програм (SDK) diff --git a/plugins/bazaar/kdevbazaar.json b/plugins/bazaar/kdevbazaar.json index b119672db2..ebcd3ceced 100644 --- a/plugins/bazaar/kdevbazaar.json +++ b/plugins/bazaar/kdevbazaar.json @@ -14,11 +14,15 @@ "Description[ca]": "Aquest connector integra el Bazaar al KDevelop", "Description[cs]": "Tento modul integruje podporu pro Bazaar v KDevelop", "Description[es]": "Este complemento integra Bazaar en KDevelop", + "Description[et]": "See plugin lõimib Bazaari KDevelopiga", + "Description[fi]": "Tämä liitännäinen integroi Bazaarin KDevelop-ympäristöön", "Description[fr]": "Ce module intègre Bazaar dans KDevelop", + "Description[gl]": "Este complemento integra Bazaar con KDevelop", "Description[it]": "Questa estensione integra Bazaar in KDevelop", "Description[nl]": "Deze plugin integreert Bazaar in KDevelop", "Description[pl]": "Ta wtyczka udostępnia Bazaar w KDevelopie", "Description[pt]": "Este 'plugin' integra o Bazaar no KDevelop", + "Description[pt_BR]": "Esta extensão integra o Bazaar ao KDevelop", "Description[sk]": "Tento plugin integruje Bazaar do KDevelop.", "Description[sv]": "Insticksprogrammet integrerar Bazaar i KDevelop", "Description[tr]": "Bu eklenti Bazaar uygulamasını KDevelop ile bütünleştirir", @@ -38,6 +42,7 @@ "Name[it]": "Supporto per Bazaar", "Name[nb]": "Bazaar-støtte", "Name[nl]": "Ondersteuning van Bazaar", + "Name[nn]": "DPMS-støtte", "Name[pl]": "Obsługa Bazaar", "Name[pt]": "Suporte para o Bazaar", "Name[sk]": "Podpora Bazaar", diff --git a/plugins/classbrowser/kdevclassbrowser.json b/plugins/classbrowser/kdevclassbrowser.json index 7c18912049..ba5d12a8cb 100644 --- a/plugins/classbrowser/kdevclassbrowser.json +++ b/plugins/classbrowser/kdevclassbrowser.json @@ -10,13 +10,19 @@ "Description": "This plugin provides a browsable model of the currently parsed classes and other items.", "Description[ca@valencia]": "Este connector proporciona un model navegable de les classes analitzades actualment i altres elements.", "Description[ca]": "Aquest connector proporciona un model navegable de les classes analitzades actualment i altres elements.", + "Description[de]": "Dieses Modul bietet eine Liste der aktuell eingelesenen Klassen und anderer Elemente.", "Description[es]": "Este complemento proporciona un modelo navegable de las clases actualmente analizadas y de otros elementos.", + "Description[et]": "See plugin pakub parajasti parsitavate klasside ja teiste elementide sirvitavat mudelit.", + "Description[fi]": "Tämä liitännäinen tarjoaa selattavan mallin nykyisellään jäsennetyistä luokista ja muista kohteista.", "Description[fr]": "Ce module fournit un modèle navigable des classes actuellement analysées et d'autres éléments.", + "Description[gl]": "Este complemento fornece un modelo navegábel das clases e outros elementos que estean procesados.", "Description[it]": "Questa estensione fornisce un modello navigabile delle classi attualmente analizzate e di altri elementi.", "Description[nl]": "Deze plugin levert een model om door te bladeren van de nu ontlede klasse's en andere items.", "Description[pl]": "Ta wtyczka udostępnia możliwy do przeglądania model przeanalizowanych klas i innych elementów.", "Description[pt]": "Este 'plugin' oferece uma visão navegável sobre as classes e outros itens que estejam a ser processados de momento.", + "Description[pt_BR]": "Este plugin fornece um modelo navegável das classes atualmente analisadas e outros itens.", "Description[sk]": "Tento plugin poskytuje prehliadateľný model aktuálne analyzovanej triedy a iných položiek.", + "Description[sl]": "Vstavek vgradi model trenutno razčlenjenih razredov in drugih predmetov, po katerih je mogoče brskati.", "Description[sv]": "Insticksprogrammet tillhandahåller en bläddringsbar modell av klasser och andra objekt som för närvarande har tolkats.", "Description[tr]": "Bu eklenti mevcut ayrıştırılmış sınıfların ve diğer öğelerin taranabilir bir modelini sağlar.", "Description[uk]": "За допомогою цього додатка можна створити придатну для перегляду модель класів та інших елементів, над якими ви працюєте.", @@ -29,14 +35,21 @@ "Name[ca@valencia]": "Navegador de classes", "Name[ca]": "Navegador de classes", "Name[cs]": "Prohlížeč tříd", + "Name[de]": "Klassen-Browser", "Name[es]": "Navegador de clases", + "Name[et]": "Klassibrauser", + "Name[fi]": "Luokkaselain", "Name[fr]": "Navigateur de classes", + "Name[gl]": "Navegador de clases", "Name[it]": "Navigatore delle classi", "Name[nb]": "Klasseleser", "Name[nl]": "Klassen-browser", "Name[pl]": "Przeglądarka klas", "Name[pt]": "Navegador de Classes", + "Name[pt_BR]": "Navegador de classes", + "Name[ru]": "Дерево классов", "Name[sk]": "Prehliadač tried", + "Name[sl]": "Brskalnik po razredih", "Name[sv]": "Klassbläddrare", "Name[tr]": "Sınıf Tarayıcı", "Name[uk]": "Переглядач класів", diff --git a/plugins/codeutils/kdevcodeutils.json b/plugins/codeutils/kdevcodeutils.json index 7c8ffc1716..21e7782c22 100644 --- a/plugins/codeutils/kdevcodeutils.json +++ b/plugins/codeutils/kdevcodeutils.json @@ -5,13 +5,19 @@ "Description[ca@valencia]": "Col·lecció de diverses utilitats que augmenten la productivitat durant la programació.", "Description[ca]": "Col·lecció de diverses utilitats que augmenten la productivitat durant la programació.", "Description[cs]": "Kolekce různých pomůcek, pro zvýšení produktivity při programování.", + "Description[de]": "Sammlung verschiedener Werkzeuge, die die Produktivität während des Programmierens erhöhen.", "Description[es]": "Colección de diversas utilidades que incrementan la productividad al programar.", + "Description[et]": "Mitmesugused tööriistad, mis suurendavad produktiivsust programmeerimisel.", + "Description[fi]": "Kokoelma sekalaisia työkaluja, jotka lisäävät ohjelmointisi tuottavuutta.", "Description[fr]": "Collection d'utilitaires variés qui améliorent la productivité pour programmer.", + "Description[gl]": "Colección de varias utilidades que aumentan a produtividade durante a programación.", "Description[it]": "Raccolta di vari programmi di utilità che aumentano la produttività durante la programmazione.", "Description[nl]": "Verzameling van hulpprogramma's die de productiviteit vergroot bij het programmeren.", "Description[pl]": "Zbiór różnych narzędzi zwiększających produktywność podczas programowania.", "Description[pt]": "Uma colecção de vários utilitários que aumentam a produtividade durante o desenvolvimento.", + "Description[pt_BR]": "Uma coleção de vários utilitários que aumentam a produtividade durante a programação.", "Description[sk]": "Zbierka rôznych utilít, ktoré zvyšujú produktivitu počas programovania.", + "Description[sl]": "Zbirka raznih pripomočkov, ki povečajo učinkovitost med programiranjem.", "Description[sv]": "Samling av diverse verktyg för att öka produktiviteten vid programmering.", "Description[tr]": "Programlama sırasında verimliliği artıran çeşitli yardımcı araçlar koleksiyonu.", "Description[uk]": "Збірка різноманітних допоміжних програм, яка підвищує продуктивність програмування.", @@ -22,14 +28,21 @@ "Name": "Code Utilities", "Name[ca@valencia]": "Utilitats de codi", "Name[ca]": "Utilitats de codi", + "Name[de]": "Quelltext-Werkzeuge", "Name[es]": "Utilidades de código fuente", + "Name[et]": "Kooditööriistad", + "Name[fi]": "Koodityökalut", "Name[fr]": "Utilitaires de code", + "Name[gl]": "Utilidades de código", "Name[it]": "Utilità per il codice", "Name[nb]": "Kodeverktøy", "Name[nl]": "Hulpmiddelen bij coderen", "Name[pl]": "Narzędzia kodu", "Name[pt]": "Utilitários de Código", + "Name[pt_BR]": "Utilitários de código", + "Name[ru]": "Утилиты для работы с кодом", "Name[sk]": "Nástroje kódu", + "Name[sl]": "Pripomočki za kodo", "Name[sv]": "Kodverktyg", "Name[tr]": "Kod Araçları", "Name[uk]": "Допоміжні засоби", diff --git a/plugins/contextbrowser/kdevcontextbrowser.json b/plugins/contextbrowser/kdevcontextbrowser.json index c601bd9356..2ee9ca0db1 100644 --- a/plugins/contextbrowser/kdevcontextbrowser.json +++ b/plugins/contextbrowser/kdevcontextbrowser.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Este connector mostra informació quant al context del llenguatge actual en una vista lateral i ressalta les declaracions i els usos apropiats.", "Description[ca]": "Aquest connector mostra informació quant al context del llenguatge actual en una vista lateral i ressalta les declaracions i els usos apropiats.", "Description[cs]": "Tento zásuvný modul ukazuje v bočním pohledu informace o současném jazykovém kontextu a zvýrazňuje důležité deklarace a použití.", + "Description[de]": "Dieses Modul zeigt Informationen über den aktuellen Sprachkontext an und hebt die wichtigen Deklarationen und Vorkommen hervor.", "Description[es]": "Este complemento muestra información de contexto sobre el lenguaje actual en una vista lateral, resaltando declaraciones relevantes y sus usos.", + "Description[et]": "See plugin pakub külgvaates teavet aktiivse keele konteksti kohta ning tõstab esile asjakohased deklaratsioonid ja kasutused.", + "Description[fi]": "Tämä liitännäinen näyttää tietoja nykyisestä kielikontekstista sivunäkymässä ja korostaa olennaisia esittelyjä ja käyttöjä.", "Description[fr]": "Ce module affiche des informations à propos du contexte du langage courant dans une vue latérale, et met en évidence les déclarations et utilisations reliées.", + "Description[gl]": "Este complemento mostra información sobre o contexto da linguaxe actual nunha vista lateral, e realza as declaracións e utilizacións relevantes.", "Description[it]": "Questa estensione mostra le informazioni sul contesto del linguaggio corrente in una vista laterale, mettendo in evidenza le dichiarazioni e gli usi.", "Description[nl]": "Deze plugin toont informatie over de huidige taalcontext in een zijvak en accentueert relevante declaraties en gebruik.", "Description[pl]": "Ta wtyczka pokazuje informacje dotyczące kontekstu bieżącego języka w widoku bocznym, podświetla deklaracja i ich użycia.", "Description[pt]": "Este 'plugin' mostra informações sobre o contexto da linguagem actual numa vista lateral, assim como realça as declarações e utilizações relevantes.", + "Description[pt_BR]": "Este plugin mostra informações sobre a linguagem utilizada no momento, numa visão lateral, e destaca declarações relevantes e seus usos.", "Description[sk]": "Tento plugin zobrazuje informácie o aktuálnom jazykovom kontexte v božnom pohľade, a zvýrazní relevantné deklarácie a použitia.", + "Description[sl]": "Vstavek prikazuje podatke o trenutnem kontekstu jezika in poudari pomembne deklaracije in uporabe.", "Description[sv]": "Insticksprogrammet visar information om nuvarande språksammanhang i en sidovy, och markerar relevanta deklarationer och användningar.", "Description[tr]": "Bu eklenti yan görünümde mevcut dil bağlamıyla ilgili bilgi gösterir, ve ilgili tanımlamaları ve kullanımları vurgular.", "Description[uk]": "За допомогою цього додатка можна переглянути у перегляді на бічній панелі відомості про поточний контекст мови, а також підсвітити пов’язані оголошення і випадки використання.", @@ -30,14 +36,21 @@ "Name[ca@valencia]": "Navegador de codi", "Name[ca]": "Navegador de codi", "Name[cs]": "Prohlížeč kódu", + "Name[de]": "Quelltext-Browser", "Name[es]": "Navegador de código", + "Name[et]": "Koodibrauser", + "Name[fi]": "Koodiselain", "Name[fr]": "Navigateur de code", + "Name[gl]": "Navegador do código", "Name[it]": "Navigatore del codice", "Name[nb]": "Kodeleser", "Name[nl]": "Broncode-browser", "Name[pl]": "Przeglądarka kodu", "Name[pt]": "Navegador do Código", + "Name[pt_BR]": "Navegador de código", + "Name[ru]": "Навигация по коду", "Name[sk]": "Prehliadač kódu", + "Name[sl]": "Brskalnik po kodi", "Name[sv]": "Kodbläddrare", "Name[tr]": "Kod Tarayıcı", "Name[uk]": "Переглядач коду", diff --git a/plugins/cvs/kdevcvs.json b/plugins/cvs/kdevcvs.json index 9972110533..923180fb03 100644 --- a/plugins/cvs/kdevcvs.json +++ b/plugins/cvs/kdevcvs.json @@ -12,11 +12,15 @@ "Description[ca]": "Aquest connector integra el CVS al KDevelop", "Description[cs]": "Tento modul integruje podporu pro CVS v KDevelop", "Description[es]": "Este complemento integra CVS en KDevelop", + "Description[et]": "See plugin lõimib CVS-i KDevelopiga", + "Description[fi]": "Tämä liitännäinen integroi CVS:n KDevelopiin", "Description[fr]": "Ce module intègre CVS dans KDevelop", + "Description[gl]": "Este complemento integra CVS en KDevelop", "Description[it]": "Questa estensione integra CVS in KDevelop", "Description[nl]": "Deze plugin integreert CVS in KDevelop", "Description[pl]": "Ta wtyczka udostępnia obsługę CVS w KDevelopie", "Description[pt]": "Este 'plugin' integra o CVS no KDevelop", + "Description[pt_BR]": "Esta extensão integra o CVS ao KDevelop", "Description[sk]": "Tento plugin integruje CVS do KDevelop.", "Description[sv]": "Insticksprogrammet integrerar CVS i KDevelop", "Description[tr]": "Bu eklenti CVS uygulamasını KDevelop ile bütünleştirir", diff --git a/plugins/documentswitcher/kdevdocumentswitcher.json b/plugins/documentswitcher/kdevdocumentswitcher.json index c88e3a4c52..3c7f4a8e0f 100644 --- a/plugins/documentswitcher/kdevdocumentswitcher.json +++ b/plugins/documentswitcher/kdevdocumentswitcher.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Un commutador del document usat més recentment per KDevPlatform.", "Description[ca]": "Un commutador del document usat més recentment per KDevPlatform.", "Description[cs]": "Přepínač nedávno použitých dokumentů pro KDevPlatform", + "Description[de]": "Ein Umschalter zwischen zuletzt geöffneten Dokumenten für KDevPlatform.", "Description[es]": "Un cambiador de documentos recientemente usados para KDevPlatform.", + "Description[et]": "KDevPlatformi viimati kasutatud dokumentide vahetaja", + "Description[fi]": "Vaihtaa tiedostoja niiden käyttöjärjestyksen perusteella", "Description[fr]": "Un changeur de document dernièrement utilisé pour KDevPlatform.", + "Description[gl]": "Un selector entre documentos empregados recentemente para KDevPlatform.", "Description[it]": "Uno scambia documento utilizzato più di recente per KDevPlatform.", "Description[nl]": "De meest-recent-gebruikte documentwisselaar voor KDevPlatform.", "Description[pl]": "Przełączanie między ostatnio używanymi dokumentacji w KDevPlatform.", "Description[pt]": "Um selector dos documentos usados mais recentemente para o KDevPlatform.", + "Description[pt_BR]": "Um seletor dos documentos mais recentes para o KDevPlatform.", "Description[sk]": "Prepínač posledných použitých dokumentov pre KDevPlatform.", + "Description[sl]": "Vstavek za preklapljanje med nazadnje uporabljenimi dokumenti.", "Description[sv]": "Byte till senast använda dokument för KDevelop-plattformen.", "Description[tr]": "KDevPlatform için en-son-kullanılan belge seçici bir eklenti.", "Description[uk]": "Перемикач останніх використаних документів для KDevPlatform.", @@ -30,14 +36,21 @@ "Name[ca@valencia]": "Commutador del document usat més recentment", "Name[ca]": "Commutador del document usat més recentment", "Name[cs]": "Přepínač nedávno používaných dokumentů ", + "Name[de]": "Zuletzt-Verwendet-Dokumentumschalter", "Name[es]": "Selector de documentos usados recientemente", + "Name[et]": "Viimati kasutatud dokumentide vahetaja", + "Name[fi]": "Viimeksi käytetty ensin -tiedostovaihtaja", "Name[fr]": "Commutateur de documents parmi les plus récemment utilisés", + "Name[gl]": "Selector entre documentos empregados recentemente", "Name[it]": "Scambia documento utilizzato più di recente", "Name[nb]": "Sist-brukte dokumentbytter", "Name[nl]": "Meest-recent-gebruikte documentwisselaar", "Name[pl]": "Przełączanie między ostatnio używanymi dokumentami", "Name[pt]": "Selector dos Documentos Usados Mais Recentemente", + "Name[pt_BR]": "Seletor dos documentos usados mais recentemente", + "Name[ru]": "Переключатель недавних документов", "Name[sk]": "Prepínač posledných použitých dokumentov", + "Name[sl]": "Preklapljanje med nazadnje uporabljenimi dokumenti", "Name[sv]": "Byte till senast använda dokument", "Name[tr]": "Yakın Zamanda En Çok Kullanılan Belgeleri Seçici", "Name[uk]": "Перемикач нещодавно використаних документів", diff --git a/plugins/documentview/kdevdocumentview.json b/plugins/documentview/kdevdocumentview.json index 3bf1221de2..4440e16e07 100644 --- a/plugins/documentview/kdevdocumentview.json +++ b/plugins/documentview/kdevdocumentview.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Este connector mostra una visualització gràfica de tots els documents carregats actualment, separats per tipus MIME.", "Description[ca]": "Aquest connector mostra una visualització gràfica de tots els documents carregats actualment, separats per tipus MIME.", "Description[cs]": "Tento zásuvný modul zobrazuje grafický pohled všech aktuálně načtených dokumentů a odděluje je podle typu MIME.", + "Description[de]": "Dieses Modul zeigt alle aktuell geladenen Dokumente getrennt nach ihren MIME-Typen an.", "Description[es]": "Este complemento muestra una vista gráfica de todos los documentos actualmente cargados y los separa por su tipo MIME.", + "Description[et]": "See plugin näitab graafiliselt kõiki laaditud dokumente ja eraldab need MIME tüübi alusel.", + "Description[fi]": "Tämä liitännäinen näyttää kaikkien parhaillaan ladattujen tiedostojen graafisen näkymän ja erottelee ne MIME-tyypin perusteella.", "Description[fr]": "Ce module affiche une vue graphique de tous les documents actuellement chargés et les sépare par type MIME.", + "Description[gl]": "Este complemento mostra unha vista gráfica de todos os documentos que están cargados e sepáraos segundo o seu tipo mime.", "Description[it]": "Questa estensione mostra una vista grafica di tutti i documenti attualmente caricati e li separa per il tipo MIME.", "Description[nl]": "Deze plugin toont een grafische voorstelling van alle nu geladen documenten en scheidt deze door het mimetype.", "Description[pl]": "Ta wtyczka udostępnia graficzny widok wszystkich obecnie wczytanych dokumentów i dzieli je według typu MIME.", "Description[pt]": "Este 'plugin' mostra uma vista gráfica sobre todos os documentos abertos de momento e separa-os pelo seu tipo MIME.", + "Description[pt_BR]": "Este plugin mostra uma vista gráfica sobre todos os documentos carregados no momento e separa-os por tipo MIME.", "Description[sk]": "Tento plugin zobrazí grafický pohľad všetkých dokumentov aktuálne načítaných a rozdelí ich podľa mimetype.", + "Description[sl]": "Ta vstavek prikazuje vse trenutno naložene dokumente in jih ločuje glede na vrsto MIME.", "Description[sv]": "Insticksprogrammet visar en grafisk vy av alla dokument som för närvarande har laddats och delar upp dem enligt Mime-typ.", "Description[tr]": "Bu eklenti o anda yüklenmiş olan tüm belgeleri grafiksel bir görünümde gösterir ve mime türlerine göre ayırır.", "Description[uk]": "Цей додаток відображає у графічному вигляді всі відкриті документи і впорядковує їх за типом MIME.", @@ -38,6 +44,7 @@ "Name[nl]": "Documentweergave", "Name[pl]": "Widok dokumentu", "Name[pt]": "Área de Documentos", + "Name[ru]": "Панель документов", "Name[sk]": "Pohľad na dokumenty", "Name[sv]": "Dokumentvisning", "Name[tr]": "Belge Görünümü", diff --git a/plugins/documentview/settings/kcm_documentview_settings.desktop b/plugins/documentview/settings/kcm_documentview_settings.desktop index 11c537174c..d85933f2f5 100644 --- a/plugins/documentview/settings/kcm_documentview_settings.desktop +++ b/plugins/documentview/settings/kcm_documentview_settings.desktop @@ -11,6 +11,8 @@ X-KDE-ParentComponents=kdevelop X-KDE-CfgDlgHierarchy=CORE Name=Document View +Name[bg]=Изглед за документи +Name[bs]=Pregled Dokumenta Name[ca]=Visor de document Name[ca@valencia]=Visor de document Name[cs]=Pohled na dokumenty @@ -18,20 +20,28 @@ Name[de]=Dokumentansicht Name[es]=Vista de documento Name[fr]=Vue Document Name[ga]=Amharc Cáipéise +Name[gl]=Vista do documento Name[it]=Vista documento +Name[ja]=文書ビュー +Name[kk]=Құжат көрінісі Name[nb]=Dokumentvisning Name[nds]=Dokmenten-Ansicht Name[nl]=Documentweergave Name[pl]=Widok dokumentu Name[pt]=Área de Documentos +Name[pt_BR]=Área de documentos +Name[ru]=Панель документов Name[sk]=Pohľad na dokumenty +Name[sl]=Prikaz dokumentov Name[sv]=Dokumentvisning Name[tr]=Belge Görünümü +Name[ug]=پۈتۈك كۆرۈنۈشى Name[uk]=Перегляд документів Name[x-test]=xxDocument Viewxx Name[zh_CN]=文档视图 Name[zh_TW]=文件檢視 Comment=Configure Document View settings +Comment[bg]=Настройки на изгледа за документи Comment[ca]=Configura els arranjaments del visor de document Comment[ca@valencia]=Configura els arranjaments del visor de document Comment[cs]=Upravit nastavení zobrazení dokumentu @@ -52,6 +62,7 @@ Comment[ne]=कागजात दृश्य सेटिङ कन्फि Comment[nl]=Documentweergave-instellingen configureren Comment[pl]=Przeglądarka dokumentacji: konfiguracja Comment[pt]=Configurar as opções da Área de Documentos +Comment[pt_BR]=Configurar as opções da área de documentos Comment[sk]=Nastaviť možnosti zobrazenia dokumentov Comment[sv]=Anpassa inställningar av dokumentvisning Comment[tr]=Belge Görünümü Ayarlarını Yapılandır diff --git a/plugins/execute/kdevexecute.json b/plugins/execute/kdevexecute.json index 4d13a37a4d..b27868bbe5 100644 --- a/plugins/execute/kdevexecute.json +++ b/plugins/execute/kdevexecute.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Este connector permet executar programes sense «instrumentor», és a dir, nativament per a la màquina actual.", "Description[ca]": "Aquest connector permet executar programes sense «instrumentor», és a dir, nativament per a la màquina actual.", "Description[cs]": "Tento zásuvný modul umožňuje běh programů bez jakéhokoliv prostředníka, takže běží přirozeně na současném hostiteli.", + "Description[de]": "Dieses Modul erlaubt das Ausführen von Programmen im Kontext des Betriebssystems.", "Description[es]": "Este complemento permite ejecutar programas sin instrumentador (es decir, de forma nativa) en la máquina actual.", + "Description[et]": "See plugin võimaldab panna programme aktiivses masinas tööle ilma instrumentaatorita, s.t loomulikult.", + "Description[fi]": "Tämä liitännäinen mahdollistaa ohjelmien suorittamisen ilman välikappaletta, ts. natiivisti nykyisellä tietokoneella.", "Description[fr]": "Ce module permet d'exécuter des programmes sans instrumentation, c'est-à-dire de manière native sur l'hôte courant.", + "Description[gl]": "Este complemento permite executar programas sen instrumentador, i.e. de xeito nativo na máquina actual.", "Description[it]": "Questa estensione permette l'esecuzione dei programmi senza instrumentor, vale a dire nativamente da parte dell'host attuale.", "Description[nl]": "Deze plugin staat het uitvoeren van programma's toe zonder hulpprogramma, dwz. van nature op de huidige host.", "Description[pl]": "Wtyczka ta pozwala na uruchamianie programów bez instrumentora, np. natywnie przez obecnego hosta.", "Description[pt]": "Este 'plugin' permite a execução de programas sem instrumentação, i.e. nativamente na máquina-anfitriã actual.", + "Description[pt_BR]": "Este plugin permite executar programas sem orquestrador, ou seja, nativamente pelo computador hospedeiro.", "Description[sk]": "Tento plugin umožňuje spustenie programov bez inštrumentora, teda natívne aktuálnym hostiteľom.", + "Description[sl]": "Vstavek omogoča zaganjanje programov, za katere v KDevelop ni posebnega grafičnega vmesnika.", "Description[sv]": "Insticksprogrammet tillåter att program utan instrumentering körs, dvs. direkt av nuvarande värddator.", "Description[tr]": "Bu eklenti programların ek araç olmadan çalıştırılabilmesini sağlar, örn. mevcut istemci ile doğal olarak.", "Description[uk]": "За допомогою цього додатка можна запускати програми безпосередньо на поточному вузлі.", @@ -30,14 +36,21 @@ "Name[ca@valencia]": "Executa programes", "Name[ca]": "Executa programes", "Name[cs]": "Spustit programy", + "Name[de]": "Programme ausführen", "Name[es]": "Ejecutar programas", + "Name[et]": "Programmide täitmine", + "Name[fi]": "Ohjelmien suorittaminen", "Name[fr]": "Exécuter des programmes", + "Name[gl]": "Executar programas", "Name[it]": "Esegui i programmi", "Name[nb]": "Kjør programmer", "Name[nl]": "Programma's uitvoeren", "Name[pl]": "Wykonaj programy", "Name[pt]": "Execução de Programas", + "Name[pt_BR]": "Executar programas", + "Name[ru]": "Запуск программ", "Name[sk]": "Spustiť programy", + "Name[sl]": "Izvedi programe", "Name[sv]": "Kör program", "Name[tr]": "Uygulamaları Çalıştır", "Name[uk]": "Виконання програм", diff --git a/plugins/executescript/kdevexecutescript.json b/plugins/executescript/kdevexecutescript.json index eaea2a1797..31cd4fd5ad 100644 --- a/plugins/executescript/kdevexecutescript.json +++ b/plugins/executescript/kdevexecutescript.json @@ -10,13 +10,19 @@ "Description[ca@valencia]": "Este connector permet executar scripts.", "Description[ca]": "Aquest connector permet executar scripts.", "Description[cs]": "Tento modul umožňuje spouštění skriptů.", + "Description[de]": "Dieses Modul ermöglicht das Ausführen von Skripten.", "Description[es]": "Este complemento permite la ejecución de scripts.", + "Description[et]": "See plugin võimaldab käivitada skripte.", + "Description[fi]": "Tämä liitännäinen mahdollistaa skriptien suorittamisen.", "Description[fr]": "Ce module permet d'exécuter des scripts.", + "Description[gl]": "Este complemento permite a execución de scripts.", "Description[it]": "Questa estensione permette l'esecuzione degli script.", "Description[nl]": "Deze plugin staat het uitvoeren van scripts toe.", "Description[pl]": "Wtyczka ta pozwala na uruchamianie skryptów.", "Description[pt]": "Este 'plugin' permite a execução de programas.", + "Description[pt_BR]": "Este plugin permite a execução de scripts.", "Description[sk]": "Tento plugin povoľuje spúšťanie skriptov.", + "Description[sl]": "Ta vstavek omogoča zaganjanje skript.", "Description[sv]": "Insticksprogrammet gör det möjligt att köra skript.", "Description[tr]": "Bu eklenti betiklerin çalıştırılmasını sağlar.", "Description[uk]": "За допомогою цього додатка можна запускати скрипти.", @@ -29,14 +35,21 @@ "Name[ca@valencia]": "Executa scripts", "Name[ca]": "Executa scripts", "Name[cs]": "Spustit skripty", + "Name[de]": "Skripte ausführen", "Name[es]": "Ejecutar scripts", + "Name[et]": "Skriptide käivitamine", + "Name[fi]": "Skriptien suorittaminen", "Name[fr]": "Exécution de scripts", + "Name[gl]": "Executar scripts", "Name[it]": "Esegui script", "Name[nb]": "Kjør skripter", "Name[nl]": "Scripts uitvoeren", "Name[pl]": "Wykonaj skrypty", "Name[pt]": "Executar Programas", + "Name[pt_BR]": "Executar scripts", + "Name[ru]": "Запуск сценариев", "Name[sk]": "Spustiť skripty", + "Name[sl]": "Izvedi skripte", "Name[sv]": "Kör skript", "Name[tr]": "Betikleri Çalıştır", "Name[uk]": "Виконання скриптів", diff --git a/plugins/externalscript/kdevexternalscript.json b/plugins/externalscript/kdevexternalscript.json index cfb0fce4af..6fa79e1549 100644 --- a/plugins/externalscript/kdevexternalscript.json +++ b/plugins/externalscript/kdevexternalscript.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Executa scripts externs o aplicacions per a manipular el contingut de l'editor o altres accions arbitràries.", "Description[ca]": "Executa scripts externs o aplicacions per a manipular el contingut de l'editor o altres accions arbitràries.", "Description[cs]": "Spouštějte externí skripty nebo aplikace a pracujte s obsahem editoru nebo dělejte jiné libovolné akce.", + "Description[de]": "Führen Sie externe Skripte oder Programme zum Verändern des Editorinhalts oder für beliebige andere Aktionen aus.", "Description[es]": "Ejecutar scripts externos o aplicaciones para manipular el contenido del editor o realizar otras acciones.", + "Description[et]": "Välised skriptid või rakendused, mis võimaldavad muuta redaktori sisu või ette võtta mingeid muid toiminguid.", + "Description[fi]": "Suorittaa ulkoisia skriptejä tai sovelluksia editorisisällön manipuloimiseksi tai muiden satunnaisten tehtävien tekemiseksi.", "Description[fr]": "Exécuter des scripts externes ou des applications pour manipuler les contenus de l'éditeur ou autres actions arbitraires.", + "Description[gl]": "Executa scripts externos ou aplicativos para manipular os contidos do editor ou levar a cabo outras accións.", "Description[it]": "Avvia script o applicazioni esterne per manipolare il contenuto dell'editor o per eseguire altre azioni.", "Description[nl]": "Externe scripts of programma's uitvoeren om de inhoud van de bewerker te manipuleren of andere acties uit te voeren.", "Description[pl]": "Uruchamiaj zewnętrzne skrypty lub programy, aby manipulować zawartością edytora lub innymi dowolnymi działaniami.", "Description[pt]": "Executa programas ou aplicações externas para manipular o conteúdo do editor ou para efectuar outras acções arbitrárias.", + "Description[pt_BR]": "Execute scripts externos ou aplicativos para manipular os conteúdos do editor ou para fazer outras ações ordinárias.", "Description[sk]": "Spustí externé skripty alebo aplikácie na manipuláciu s obsahom editora alebo robí iné ľubovoľné akcie.", + "Description[sl]": "Zaganjajte zunanje skripte ali programe, ki upravljajo z vsebino urejevalnika ali pa opravljajo druga poljubna dejanja.", "Description[sv]": "Kör externa skript eller program för att behandla editorns innehåll eller utför andra godtyckliga åtgärder.", "Description[tr]": "Düzenleyici içeriğini değiştirmek veya diğer keyfi eylemler için dış betikler veya uygulamalar çalıştır.", "Description[uk]": "Запускає зовнішні скрипти або програми для обробки текстових даних редактора або виконання інших потрібних дій.", @@ -30,14 +36,21 @@ "Name[ca@valencia]": "Scripts externs", "Name[ca]": "Scripts externs", "Name[cs]": "Externí skripty", + "Name[de]": "Externe Skripte", "Name[es]": "Scripts externos", + "Name[et]": "Välised skriptid", + "Name[fi]": "Ulkoiset skriptit", "Name[fr]": "Scripts externes", + "Name[gl]": "Scripts externos", "Name[it]": "Script esterni", "Name[nb]": "Eksterne skripter", "Name[nl]": "Externe scripts", "Name[pl]": "Zewnętrzne skrypty", "Name[pt]": "Programas Externos", + "Name[pt_BR]": "Scripts externos", + "Name[ru]": "Внешние сценарии", "Name[sk]": "Externé skripty", + "Name[sl]": "Zunanji skripti", "Name[sv]": "Externa skript", "Name[tr]": "Dış Betikler", "Name[uk]": "Зовнішні скрипти", diff --git a/plugins/filemanager/kdevfilemanager.json b/plugins/filemanager/kdevfilemanager.json index 18e5bf2e11..3b49173376 100644 --- a/plugins/filemanager/kdevfilemanager.json +++ b/plugins/filemanager/kdevfilemanager.json @@ -13,11 +13,15 @@ "Description[ca]": "Aquest connector proporciona un gestor de fitxers al KDevelop.", "Description[cs]": "Tento modul do KDevelop přináší správce souborů.", "Description[es]": "Este complemento proporciona un gestor de archivos a KDevelop.", + "Description[et]": "See plugin võimaldab kasutada KDevelopis failihaldurit.", + "Description[fi]": "Tämä liitännäinen tuo tiedostohallinnan KDevelopiin.", "Description[fr]": "Ce module apporte un gestionnaire de fichiers à KDevelop", + "Description[gl]": "Este complemento incorpora un xestor de ficheiros no KDevelop.", "Description[it]": "Questa estensione porta un gestore di file in KDevelop.", "Description[nl]": "Deze plugin brengt een bestandsbeheerder in KDevelop.", "Description[pl]": "Ta wtyczka udostępnia zarządzanie plikami w KDevelopie.", "Description[pt]": "Este 'plugin' traz um gestor de ficheiros para o KDevelop.", + "Description[pt_BR]": "Este plugin provê um gerenciador de arquivos ao KDevelop.", "Description[sk]": "Tento plugin prináša správcu súborov do KDevelop.", "Description[sv]": "Insticksprogrammet integrerar en filhanterare i KDevelop.", "Description[tr]": "Bu eklenti KDevelop için bir dosya yöneticisi sağlar.", @@ -39,6 +43,7 @@ "Name[nl]": "KDE Bestandsbeheerder-integratie", "Name[pl]": "Integracja zarządzania plikami KDE", "Name[pt]": "Integração com o Gestor de Ficheiros do KDE", + "Name[ru]": "Интеграция файлового менеджера KDE", "Name[sk]": "Integrácia správcu súborov KDE", "Name[sv]": "Integrering av KDE:s filhanterare", "Name[tr]": "KDE Dosya Yöneticisi Bütünleşmesi", diff --git a/plugins/filetemplates/kdevfiletemplates.json b/plugins/filetemplates/kdevfiletemplates.json index e82535e4dd..a05f2924dd 100644 --- a/plugins/filetemplates/kdevfiletemplates.json +++ b/plugins/filetemplates/kdevfiletemplates.json @@ -12,13 +12,19 @@ "Description[ca@valencia]": "Gestiona les plantilles dels fitxers de codi font", "Description[ca]": "Gestiona les plantilles dels fitxers de codi font", "Description[cs]": "Spravuje šablony pro zdrojové soubory", + "Description[de]": "Verwaltung von Vorlagen für Quelltextdateien", "Description[es]": "Gestiona plantillas para archivos de código fuente", + "Description[et]": "Lähtekoodi failide mallide haldamine", + "Description[fi]": "Hallitsee lähdekooditiedostojen malleja", "Description[fr]": "Gère les modèles de fichiers sources", + "Description[gl]": "Xestiona modelos para os ficheiros de fonte", "Description[it]": "Gestisce i modelli per i file sorgente", "Description[nl]": "Beheert sjablonen voor broncodebestanden", "Description[pl]": "Zarządza szablonami dla plików źródłowych", "Description[pt]": "Gere os modelos de ficheiros de código", + "Description[pt_BR]": "Gerencia os modelos dos arquivos de código", "Description[sk]": "Spravuje šablóny pre zdrojové súbory", + "Description[sl]": "Upravlja predloge za datoteke z izvorno kodo", "Description[sv]": "Hanterar mallar för källkodsfiler", "Description[tr]": "Kaynak dosyaları için şablonları yönetir", "Description[uk]": "Керування шаблонами для початкових файлів коду", @@ -31,14 +37,21 @@ "Name[ca@valencia]": "Configuració de les plantilles de fitxer", "Name[ca]": "Configuració de les plantilles de fitxer", "Name[cs]": "Nastavení šablon souborů", + "Name[de]": "Einrichtung der Dateivorlagen", "Name[es]": "Configuración de plantillas de archivos", + "Name[et]": "Failimallide seadistamine", + "Name[fi]": "Tiedostomallien asetukset", "Name[fr]": "Configuration des modèles de fichiers", + "Name[gl]": "Configuración dos modelos de ficheiros", "Name[it]": "Configurazione dei file dei modelli", "Name[nb]": "Oppsett av fil-maler", "Name[nl]": "Configuratie van sjabloonbestanden", "Name[pl]": "Ustawienia szablonów plików", "Name[pt]": "Configuração dos Modelos de Ficheiros", + "Name[pt_BR]": "Configuração dos modelos de arquivos", + "Name[ru]": "Настройка шаблонов файлов", "Name[sk]": "Nastavenie šablón súborov", + "Name[sl]": "Nastavitev predlog dokumentov", "Name[sv]": "Inställning av filmallar", "Name[tr]": "Dosya Şablon Yapılandırması", "Name[uk]": "Налаштовування шаблонів файлів", diff --git a/plugins/filetemplates/kdevfiletemplates.knsrc b/plugins/filetemplates/kdevfiletemplates.knsrc index cf663c104c..1a8249e4bb 100644 --- a/plugins/filetemplates/kdevfiletemplates.knsrc +++ b/plugins/filetemplates/kdevfiletemplates.knsrc @@ -3,6 +3,8 @@ Name=File Templates (SDK) Name[ca]=Plantilles de fitxer (SDK) Name[ca@valencia]=Plantilles de fitxer (SDK) Name[cs]=Šablony souborů (SDK) +Name[de]=Dateivorlagen (SDK) +Name[en_GB]=File Templates (SDK) Name[es]=Plantillas de archivos (SDK) Name[fr]=Modèles de fichiers (SDK) Name[it]=Modelli di file (SDK) @@ -10,6 +12,7 @@ Name[nl]=Bestandssjablonen (SDK) Name[pl]=Szablony plików (SDK) Name[pt]=Modelos de Ficheiros (SDK) Name[sk]=Súborové šablóny (SDK) +Name[sl]=Predloge datotek (SDK) Name[sv]=Filmallar (SDK) Name[tr]=Dosya Şablonları (SDK) Name[uk]=Шаблони файлів (SDK) diff --git a/plugins/genericprojectmanager/kdevgenericmanager.json b/plugins/genericprojectmanager/kdevgenericmanager.json index f53282e55d..d92c388a2f 100644 --- a/plugins/genericprojectmanager/kdevgenericmanager.json +++ b/plugins/genericprojectmanager/kdevgenericmanager.json @@ -38,6 +38,7 @@ "Name[nl]": "Generieke projectenbeheerder", "Name[pl]": "Zwykłe zarządzanie projektami", "Name[pt]": "Gestor de Projectos Genérico", + "Name[ru]": "Управление произвольными проектами", "Name[sk]": "Všeobecný správca projektov", "Name[sv]": "Generell projekthantering", "Name[tr]": "Genel Proje Yöneticisi", diff --git a/plugins/git/kdevgit.json b/plugins/git/kdevgit.json index cf28b3aa28..6dcc2909ce 100644 --- a/plugins/git/kdevgit.json +++ b/plugins/git/kdevgit.json @@ -13,11 +13,15 @@ "Description[ca]": "Aquest connector integra el Git al KDevelop", "Description[cs]": "Tento modul integruje podporu pro Git v KDevelop", "Description[es]": "Este complemento integra Git en KDevelop", + "Description[et]": "See plugin lõimib Giti KDevelopiga", + "Description[fi]": "Tämä liitännäinen integroi Git-ohjelman KDevelop-ympäristöön", "Description[fr]": "Ce module externe intègre la gestion de Git dans KDevelop", + "Description[gl]": "Este complemento integra Git en KDevelop", "Description[it]": "Questa estensione integra Git in KDevelop", "Description[nl]": "Deze plug-in integreert Git in KDevelop", "Description[pl]": "Wtyczka ta integruje Git z KDevelop", "Description[pt]": "Este 'plugin' integra o Git no KDevelop", + "Description[pt_BR]": "Este plugin integra o Git ao KDevelop", "Description[sk]": "Tento plugin integruje GIT do KDevelop.", "Description[sv]": "Insticksprogrammet integrerar Git i KDevelop", "Description[tr]": "Bu eklenti Git uygulamasını KDevelop ile bütünleştirir", diff --git a/plugins/grepview/kdevgrepview.json b/plugins/grepview/kdevgrepview.json index 7729f53da3..e2ca4ce6dd 100644 --- a/plugins/grepview/kdevgrepview.json +++ b/plugins/grepview/kdevgrepview.json @@ -5,13 +5,19 @@ "Description[ca@valencia]": "Permet la busca ràpida de múltiples fitxers usant patrons o expressions regulars. I també permet substitucions.", "Description[ca]": "Permet la cerca ràpida de múltiples fitxers usant patrons o expressions regulars. I també permet substitucions.", "Description[cs]": "Umožní rychlé vyhledávání více souborů za použití řetězců nebo regulárních výrazů. Umožní také jejich nahrazování.", + "Description[de]": "Ermöglicht es, Dateien mit Hilfe von Mustern und regulären Ausdrücken zu durchsuchen bzw. Ersetzungen vorzunehmen.", "Description[es]": "Permite la búsqueda rápida en múltiples archivos usando patrones o expresiones regulares. También permite realizar sustituciones.", + "Description[et]": "Lubab mustreid või regulaaravaldisi kasutades kiiresti paljudes failides teksti otsida, samuti asendada.", + "Description[fi]": "Mahdollistaa nopean useiden tiedostojen etsinnän käyttäen malleja tai säännöllisiä lausekkeita. Sallii myös korvauksen.", "Description[fr]": "Permet de rechercher rapidement dans plusieurs fichiers en utilisant des motifs ou des expressions rationnelles. Et permet de le remplacer aussi.", + "Description[gl]": "Permite facer unha busca rápida en varios ficheiros empregando padróns ou expresións regulares, e tamén realizar substitucións.", "Description[it]": "Consente la ricerca veloce di file multipli usando espressioni regolari o modelli. E consente anche di sostituirli.", "Description[nl]": "Staat toe snel te zoeken naar meerdere bestanden met gebruik van patronen of reguliere expressies. Staat ook vervanging toe.", "Description[pl]": "Pozwala na szybkie znajdowanie wielu plików wykorzystując wzorce lub regularne wyrażenia. Pozwala także na ich zastępowanie.", "Description[pt]": "Permite a pesquisa rápida em vários ficheiros, usando padrões ou expressões regulares. Permite também a sua substituição.", + "Description[pt_BR]": "Permite pesquisar rapidamente em vários arquivos, usando padrões ou expressões regulares e também realizar substituições.", "Description[sk]": "Umožní rýchle hľadanie viacerých súborov pomocou vzorov alebo regulárnych výrazov a umožní ich nahradiť.", + "Description[sl]": "Omogoča hitro iskanje po več datotekah z uporabo vzorcev ali regularnih izrazov. Omogoča tudi zamenjave.", "Description[sv]": "Tillåter snabb sökning i flera filer med mönster eller reguljära uttryck, och tillåter dessutom ersättning.", "Description[tr]": "Kalıplar veya düzenli ifadeler kullanarak birden çok dosyada hızlı aramaya izin verir. Yer değiştirmeye de izin verir.", "Description[uk]": "Надає можливості швидкого пошуку та заміни у декількох файлів на основі шаблонів або формальних виразів.", @@ -23,14 +29,21 @@ "Name[ca@valencia]": "Busca i substitució en fitxers", "Name[ca]": "Cerca i substitució en fitxers", "Name[cs]": "Hledat-nahradit v souborech", + "Name[de]": "In Dateien suchen/ersetzen", "Name[es]": "Buscar/sustituir en archivos", + "Name[et]": "Failides otsimine ja asendamine", + "Name[fi]": "Etsi ja korvaa tiedostoista", "Name[fr]": "Chercher / Remplacer dans les fichiers", + "Name[gl]": "Buscar/Substituír nos ficheiros", "Name[it]": "Cerca/Sostituisci nei file", "Name[nb]": "Finn/erstatt i filer", "Name[nl]": "Zoeken/vervangen in bestanden", "Name[pl]": "Znajdź/zastąp w plikach", "Name[pt]": "Procurar/Substituir nos Ficheiros", + "Name[pt_BR]": "Procurar/substituir nos arquivos", + "Name[ru]": "Поиск/замена в файлах", "Name[sk]": "Hľadať/nahradiť v súboroch", + "Name[sl]": "Najdi/zamenjaj v datotekah", "Name[sv]": "Sök eller ersätt i filer", "Name[tr]": "Bu Dosyalarda Bul ve Değiştir", "Name[uk]": "Пошук або заміна у файлах", diff --git a/plugins/konsole/kdevkonsoleview.json b/plugins/konsole/kdevkonsoleview.json index cb5f71d057..91ded46e4a 100644 --- a/plugins/konsole/kdevkonsoleview.json +++ b/plugins/konsole/kdevkonsoleview.json @@ -5,13 +5,19 @@ "Description[ca@valencia]": "Este connector proporciona al KDevelop un Konsole incrustat per accedir de manera ràpida i fàcil a la línia d'ordes.", "Description[ca]": "Aquest connector proporciona al KDevelop un Konsole incrustat per accedir de manera ràpida i fàcil a la línia d'ordres.", "Description[cs]": "Tento zásuvný modul poskytuje vestavěnou konzoli KDevelopu pro rychlý a jednoduchý přístup do příkazové řádky.", + "Description[de]": "Dieses Modul stattet KDevelop mit einer eingebetteten Konsole zum einfachen Zugriff auf die Befehlszeile aus.", "Description[es]": "Este complemento proporciona una consola integrada a KDevelop para acceder a la línea de órdenes de forma rápida y fácil.", + "Description[et]": "See plugin pakub KDevelopile põimitud konsooli käsurea kiireks ja lihtsaks kasutamiseks.", + "Description[fi]": "Tämä liitännäinen tarjoaa KDevelop-ohjelmalle upotetun pääteikkunan nopeaan ja helppoon komentorivityöskentelyyn.", "Description[fr]": "Ce module apporte à KDevelop une konsole intégrée pour un accès à la ligne de commande rapide et facile.", + "Description[gl]": "Este complemento fornécelle a KDevelop un konsole integrado para dispor de acceso rápido e sinxelo á liña de ordes.", "Description[it]": "Questa estensione dota KDevelop di una console integrata per un rapido e semplice accesso alla riga di comando.", "Description[nl]": "Deze plugin biedt KDevelop een ingebed konsole voor snelle en gemakkelijke toegang tot commandoregels.", "Description[pl]": "Ta wtyczka dodaje do KDevelopa wbudowaną konsolę umożliwiając szybki i łatwy dostęp do wiersza poleceń.", "Description[pt]": "Este 'plugin' oferece ao KDevelop um Konsole incorporado para aceder rápida e facilmente à linha de comandos.", + "Description[pt_BR]": "Este plugin fornece ao KDevelop um terminal embutido para acesso rápido e fácil à linha de comando.", "Description[sk]": "Tento plugin poskytuje KDevelop so zabudovanou konzolou na rýchly a ľahký prístup k príkazovému riadku.", + "Description[sl]": "Vstavek v KDevelop vgradi program Konsole za hiter in preprost dostop do ukazne vrstice.", "Description[sv]": "Insticksprogrammet ger KDevelop en inbyggd terminal för snabb och enkel åtkomst av kommandoraden.", "Description[tr]": "Bu eklenti hızlı ve kolay komut satırı erişimi için KDevelop'a gömülü bir uçbirim sağlar.", "Description[uk]": "За допомогою цього додатка у KDevelop можна буде скористатися вбудованою konsole, яка пришвидшить і полегшить доступ до командного рядка.", @@ -31,6 +37,7 @@ "Name[nl]": "Console-integratie", "Name[pl]": "Integracja Konsoli", "Name[pt]": "Integração com o Konsole", + "Name[ru]": "Интеграция Konsole", "Name[sk]": "Integrácia Konsole", "Name[sv]": "Integrering av Konsole", "Name[tr]": "Konsole Bütünleşmesi", diff --git a/plugins/openwith/kdevopenwith.json b/plugins/openwith/kdevopenwith.json index eb1f664c64..9b7721dd18 100644 --- a/plugins/openwith/kdevopenwith.json +++ b/plugins/openwith/kdevopenwith.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Este connector permet obrir fitxers amb les aplicacions externes associades.", "Description[ca]": "Aquest connector permet obrir fitxers amb les aplicacions externes associades.", "Description[cs]": "Tento modul umožňuje otevření souborů přiřazenými externími aplikacemi.", + "Description[de]": "Mit diesem Modul können Dateien mit ihnen zugewiesenen externen Anwendungen gestartet werden.", "Description[es]": "Este complemento permite abrir archivos con las aplicaciones externas asociadas.", + "Description[et]": "See plugin võimaldab avada väliste rakendustega seostatud faile.", + "Description[fi]": "Tämä liitännäinen mahdollistaa ulkoisiin sovelluksiin liitettyjen tiedostojen avaamisen.", "Description[fr]": "Ce module permet d'ouvrir des fichiers en association avec des applications externes.", + "Description[gl]": "Este complemento permítelle abrir ficheiros cos aplicativos externos asociados.", "Description[it]": "Questa estensione permette di aprire i file con le relative applicazioni esterne.", "Description[nl]": "Deze plugin biedt u het openen van bestanden met geassocieerde externe toepassingen.", "Description[pl]": "Ta wtyczka umożliwia otwieranie plików, z którymi są powiązane zewnętrzne programy.", "Description[pt]": "Este 'plugin' permite abrir os ficheiros com as aplicações externas associadas.", + "Description[pt_BR]": "Este plugin permite abrir os arquivos com os aplicativos externos associados.", "Description[sk]": "Tento plugin umožňuje otvoriť súbory s asociovanými externými aplikáciami.", + "Description[sl]": "Vstavek omogoča odpiranje datotek v povezanih zunanjih programih.", "Description[sv]": "Insticksprogrammet tillåter att öppna filer med tillhörande externa program.", "Description[tr]": "Bu eklenti ilişkilendirilmiş dış uygulamalar ile dosyalar açmayı sağlar.", "Description[uk]": "За допомогою цього додатка ви зможете відкривати файли у пов’язаній з ними зовнішній програмі.", @@ -30,14 +36,21 @@ "Name[ca@valencia]": "Obri amb", "Name[ca]": "Obre amb", "Name[cs]": "Otevřít pomocí", + "Name[de]": "Öffnen mit", "Name[es]": "Abrir con", + "Name[et]": "Avamine rakendusega", + "Name[fi]": "Avaa ohjelmalla", "Name[fr]": "Ouvrir avec", + "Name[gl]": "Abrir con", "Name[it]": "Apri con", "Name[nb]": "Åpne med", "Name[nl]": "Openen met", "Name[pl]": "Otwórz za pomocą", "Name[pt]": "Abrir Com", + "Name[pt_BR]": "Abrir com", + "Name[ru]": "Открыть с помощью", "Name[sk]": "Otvoriť s", + "Name[sl]": "Odpri z", "Name[sv]": "Öppna med", "Name[tr]": "Birlikte Aç", "Name[uk]": "Відкриття у зовнішніх програмах", diff --git a/plugins/outlineview/kdevoutlineview.json b/plugins/outlineview/kdevoutlineview.json index 705448fb88..be411b0995 100644 --- a/plugins/outlineview/kdevoutlineview.json +++ b/plugins/outlineview/kdevoutlineview.json @@ -11,13 +11,19 @@ "Description": "This plugin provides a view to show the outline of the currently open document.", "Description[ca@valencia]": "Este connector proporciona una visualització que mostra una visió general del document obert actualment.", "Description[ca]": "Aquest connector proporciona una visualització que mostra una visió general del document obert actualment.", + "Description[de]": "Dieses Modul zeigt eine Ansicht der Funktions-Kurzinfos im aktuell geöffneten Dokument.", "Description[es]": "Este complemento proporciona una vista para mostrar el boceto del documento actualmente abierto.", + "Description[et]": "See plugin pakub parajasti avatud dokumendi struktuuri vaadet.", + "Description[fi]": "Tämä liitännäinen tarjoaa näkymän, jossa näkyy tällä hetkellä avoimen tiedoston rakenne.", "Description[fr]": "Ce module fournit une vue pour afficher le plan du document ouvert", + "Description[gl]": "Este complemento fornece unha vista para mostrar o esquema do documento actual.", "Description[it]": "Questa estensione fornisce una vista che mostra uno schema di massima del documento attualmente aperto.", "Description[nl]": "Deze plugin biedt zicht op de outline van het nu geopende document.", "Description[pl]": "Ta wtyczka dostarcza zarys obecnie otwartego dokumentu.", "Description[pt]": "Este 'plugin' oferece uma visão geral sobre o documento aberto de momento.", + "Description[pt_BR]": "Este plugin fornece uma visão geral do documento que estiver aberto.", "Description[sk]": "Tento plugin poskytuje pohľad na zobrazenie obrysu aktuálne otvoreného dokumentu.", + "Description[sl]": "Ta vstavek ponuja prikaz za oris trenutno odprtega dokumenta.", "Description[sv]": "Insticksprogrammet tillhandahåller en vy för att visa dispositionen av dokumentet som för närvarande är öppet.", "Description[tr]": "Bu eklenti mevcut açık dosyanın çerçevesini görüntülemeyi sağlar.", "Description[uk]": "За допомогою цього додатка можна переглянути схему поточного відкритого документа.", @@ -30,12 +36,18 @@ "Name[ca@valencia]": "Visió general", "Name[ca]": "Visió general", "Name[cs]": "Obrys", + "Name[de]": "Funktions-Kurzinfo", "Name[es]": "Boceto", + "Name[et]": "Struktuur", + "Name[fi]": "Rakenne", "Name[fr]": "Plan", + "Name[gl]": "Esquema", "Name[it]": "Schema di massima", "Name[pl]": "Zarys", "Name[pt]": "Visão Geral", + "Name[pt_BR]": "Contorno", "Name[sk]": "Obrys", + "Name[sl]": "Oris", "Name[sv]": "Disposition", "Name[tr]": "Çerçeve", "Name[uk]": "Схема", diff --git a/plugins/patchreview/kdevpatchreview.json b/plugins/patchreview/kdevpatchreview.json index d69df5d933..575c03f621 100644 --- a/plugins/patchreview/kdevpatchreview.json +++ b/plugins/patchreview/kdevpatchreview.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Este connector permet revisar pedaços directament en l'editor.", "Description[ca]": "Aquest connector permet revisar pedaços directament en l'editor.", "Description[cs]": "Tento zásuvný modul umožňuje prohlížení záplat přímo v editoru.", + "Description[de]": "Dieses Modul ermöglicht es, Patches direkt im Editor durchzusehen.", "Description[es]": "Este complemento permite la revisión de parches directamente en el editor.", + "Description[et]": "See plugin võimaldab paiku üle vaadata otse redaktoris.", + "Description[fi]": "Tämä liitännäinen salli korjausten katselmoinnin suoraan editorissa.", "Description[fr]": "Ce module permet de passer en revue des correctifs directement dans l'éditeur.", + "Description[gl]": "Este complemento permite revisar parches directamente no editor.", "Description[it]": "Questa estensione permette di rivedere le patch direttamente nell'editor.", "Description[nl]": "Deze plugin laat patches herzien direct in de editor.", "Description[pl]": "Ta wtyczka pozwala na przeglądanie poprawek bezpośrednio w edytorze.", "Description[pt]": "Este 'plugin' permite a revisão das modificações directamente no editor.", + "Description[pt_BR]": "Este plugin permite obter as modificações diretamente no editor.", "Description[sk]": "Tento plugin umožňuje zhodnotenie záplat priamo v editore.", + "Description[sl]": "Vstavek omogoča pregled popravkov neposredno v urejevalniku.", "Description[sv]": "Insticksprogrammet gör det möjligt att direkt granska programfixar i editorn.", "Description[tr]": "Bu eklenti yamaların doğrudan düzenleyici içerisinde gözden geçirilmesini sağlar.", "Description[uk]": "За допомогою цього додатка ви зможете рецензувати латки безпосередньо у редакторі.", @@ -30,14 +36,21 @@ "Name[ca@valencia]": "Revisió del pedaç", "Name[ca]": "Revisió del pedaç", "Name[cs]": "Kontrola záplat", + "Name[de]": "Patch-Durchsicht", "Name[es]": "Revisión de parches", + "Name[et]": "Paikade läbivaatus", + "Name[fi]": "Korjauksen katselmointi", "Name[fr]": "Révision de correctifs", + "Name[gl]": "Revisor de parches", "Name[it]": "Revisione patch", "Name[nb]": "Lappegjennomgang", "Name[nl]": "Patchoverzicht", "Name[pl]": "Ocena łatki", "Name[pt]": "Revisão da Modificação", + "Name[pt_BR]": "Revisão da modificação", + "Name[ru]": "Рецензирование патчей", "Name[sk]": "Zhodnotenie záplaty", + "Name[sl]": "Pregled popravkov", "Name[sv]": "Granska programfixar", "Name[tr]": "Yama Gözden Geçirmesi", "Name[uk]": "Рецензування латки", diff --git a/plugins/perforce/kdevperforce.json b/plugins/perforce/kdevperforce.json index 15c4384e85..77b7b8f8e0 100644 --- a/plugins/perforce/kdevperforce.json +++ b/plugins/perforce/kdevperforce.json @@ -11,6 +11,7 @@ "Description[ca@valencia]": "Proporciona integració amb el sistema de control de versions Perforce", "Description[ca]": "Proporciona integració amb el sistema de control de versions Perforce", "Description[cs]": "Poskytuje integraci Perforce Version Control System", + "Description[de]": "Bietet Integration mit der Perforce-Versionsverwaltung", "Description[es]": "Proporciona integración con el sistema de control de versiones Perforce", "Description[fr]": "Fournit une intégration avec le système de contrôle de version Perforce", "Description[it]": "Fornisce l'integrazione con il sistema di controllo versione Perforce", @@ -18,6 +19,7 @@ "Description[pl]": "Dostarcza integrację z systemem kontroli wersji Perforce", "Description[pt]": "Oferece a Integração com o Sistema de Controlo de Versões Perforce", "Description[sk]": "Poskytuje integráciu s verzionovacím systémom Perforce", + "Description[sl]": "Ponuja vgradnjo sistema za nadzor različic Perforce", "Description[sv]": "Tillhandahåller integrering med Perforce versionskontrollsystem", "Description[tr]": "Perforce Sürüm Denetim Sistemi ile Bütünleşme Sağlar", "Description[uk]": "Забезпечує інтеграцію з системою керування версіями Perforce", diff --git a/plugins/problemreporter/kdevproblemreporter.json b/plugins/problemreporter/kdevproblemreporter.json index d0667ea252..868d2a00fc 100644 --- a/plugins/problemreporter/kdevproblemreporter.json +++ b/plugins/problemreporter/kdevproblemreporter.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Este connector permet mostrar errors en el codi font.", "Description[ca]": "Aquest connector permet mostrar errors en el codi font.", "Description[cs]": "Tento zásuvný modul ukazuje chyby ve zdrojovém kódu.", + "Description[de]": "Dieses Modul zeigt Fehler im Quelltext an.", "Description[es]": "Este complemento muestra errores en el código fuente.", + "Description[et]": "See plugin näitab vigu lähtekoodis.", + "Description[fi]": "Tämä liitännäinen näyttää virheet lähdekoodissa.", "Description[fr]": "Ce module affiche les erreurs dans le code source.", + "Description[gl]": "Esta extensión mostra erros no código fonte.", "Description[it]": "Questa estensione mostra gli errori nel codice sorgente.", "Description[nl]": "Deze plugin toont fouten in broncode", "Description[pl]": "Ta wtyczka pokazuje błędy w kodzie źródłowym.", "Description[pt]": "Este 'plugin' mostra os erros no código-fonte.", + "Description[pt_BR]": "Este plugin apresenta os erros no código-fonte.", "Description[sk]": "Tento plugin ukáže chyby v zdrojovom kóde.", + "Description[sl]": "Vstavek prikazuje napake v izvorni kodi.", "Description[sv]": "Insticksprogrammet visar fel i källkod.", "Description[tr]": "Bu eklenti kaynak koddaki hataları gösterir.", "Description[uk]": "За допомогою цього додатка можна переглянути повідомлення про помилки у коді.", @@ -30,14 +36,21 @@ "Name[ca@valencia]": "Vista del notificador de problemes", "Name[ca]": "Vista del notificador de problemes", "Name[cs]": "Pohled oznamovatele problému", + "Name[de]": "Ansicht für Fehlerberichte", "Name[es]": "Vista del notificador de problemas", + "Name[et]": "Probleemide teavitaja vaade", + "Name[fi]": "Ongelmailmoitinnäkymä", "Name[fr]": "Vue du rapporteur de problèmes", + "Name[gl]": "Vista do relator de problemas", "Name[it]": "Vista segnalazione problemi", "Name[nb]": "Problemmeldervisning", "Name[nl]": "Probleemrapporteuroverzicht", "Name[pl]": "Widok raportów o problemach", "Name[pt]": "Área de Relatórios de Erros", + "Name[pt_BR]": "Área do relatórios de erros", + "Name[ru]": "Панель диагностики проблем", "Name[sk]": "Pohľad na zadávač problémov", + "Name[sl]": "Prikaz poročevalca o težavah", "Name[sv]": "Problemrapporteringsvisning", "Name[tr]": "Sorun Bildirici Görünümü", "Name[uk]": "Перегляд інструмента звітування про проблеми", diff --git a/plugins/projectfilter/kdevprojectfilter.json b/plugins/projectfilter/kdevprojectfilter.json index fd2e377b63..972157f466 100644 --- a/plugins/projectfilter/kdevprojectfilter.json +++ b/plugins/projectfilter/kdevprojectfilter.json @@ -10,13 +10,19 @@ "Description": "Configure which files and folders inside the project folder should be included or excluded.", "Description[ca@valencia]": "Configura quins fitxers i carpetes dins de la carpeta del projecte s'han d'incloure o excloure.", "Description[ca]": "Configura quins fitxers i carpetes dins de la carpeta del projecte s'han d'incloure o excloure.", + "Description[de]": "Legt fest, welche Dateien und Ordner innerhalb des Projektordners ein- oder ausgeschlossen werden sollen.", "Description[es]": "Configurar los archivos y carpetas que pertenecen a la carpeta del proyecto y que deben ser incluidos o excluidos.", + "Description[et]": "Määramine, millised projektikataloogi failid ja kataloogid kaasata või välja jätta.", + "Description[fi]": "Valitse, mitkä projektikansiossa olevat tiedostot ja kansiot pitäisi ottaa mukaan ja mitkä pitäisi jättää pois.", "Description[fr]": "Configurer quels fichiers et dossiers à l'intérieur du dossier projet doivent être inclus ou exclus.", + "Description[gl]": "Configurar cales ficheiros e cartafoles dentro do cartafol do proxecto deben incluírse ou excluírse.", "Description[it]": "Configura quali file e cartelle nella cartella del progetto devono essere incluse o escluse.", "Description[nl]": "Stel in welke bestanden en mappen in de projectmap meegenomen of uitgesloten moeten worden.", "Description[pl]": "Ustaw jakie pliki i katalogi wewnątrz katalogu projektu mają być uwzględniane albo wykluczane.", "Description[pt]": "Configurar os ficheiros ou pastas, dentro da pasta do projecto, que deverão ser incluídos ou excluídos.", + "Description[pt_BR]": "Configura os arquivos e pastas, dentro da pasta do projeto, que devem ser incluídos ou excluídos.", "Description[sk]": "Nastaviť, ktoré súbory a priečinky v priečinku projektu majú byť zahrnuté alebo vylúčené.", + "Description[sl]": "Nastavi katere datoteke in mape znotraj mape projekta naj bodo vključene ali izključene.", "Description[sv]": "Anpassa vilka filer och kataloger inne i projektkatalogen som ska inkluderas eller exkluderas.", "Description[tr]": "Proje klasörü içerisindeki hangi dosya ve klasörlerin dahil edilip edilmeyeceğini yapılandır.", "Description[uk]": "За допомогою цього модуля можна визначити, які файли і теки у теці проекту має бути включено або виключено з його складу.", @@ -36,6 +42,7 @@ "Name[nl]": "Projectfilter", "Name[pl]": "Filtr projektu", "Name[pt]": "Filtro de Projectos", + "Name[ru]": "Фильтр проекта", "Name[sk]": "Filter projektu", "Name[sv]": "Projektfilter", "Name[tr]": "Proje Süzgeci", diff --git a/plugins/projectmanagerview/kdevprojectmanagerview.json b/plugins/projectmanagerview/kdevprojectmanagerview.json index f43c2484aa..730150a7b3 100644 --- a/plugins/projectmanagerview/kdevprojectmanagerview.json +++ b/plugins/projectmanagerview/kdevprojectmanagerview.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Vos permet gestionar els continguts del projecte.", "Description[ca]": "Us permet gestionar els continguts del projecte.", "Description[cs]": "Umožňuje spravovat obsah projektu.", + "Description[de]": "Lässt Sie den Inhalt Ihres Projekts verwalten.", "Description[es]": "Le permite gestionar el contenido del proyecto.", + "Description[et]": "Projektide sisu haldamine.", + "Description[fi]": "Mahdollistaa projektien sisällön hallinnan.", "Description[fr]": "Vous laisse gérer le contenu du projet.", + "Description[gl]": "Permítelle xestionar os contidos do proxecto.", "Description[it]": "Consente di gestire i contenuti del progetto.", "Description[nl]": "Laat u de projectinhoud beheren.", "Description[pl]": "Pozwala tobie na zarządzanie zawartością projektu.", "Description[pt]": "Permite-lhe gerir o conteúdo do projecto.", + "Description[pt_BR]": "Permite-lhe gerenciar o conteúdo do projeto.", "Description[sk]": "Umožní vám spravovať obsah projektu.", + "Description[sl]": "Pomaga vam upravljati z vsebino projekta.", "Description[sv]": "Låter dig hantera projektets innehåll.", "Description[tr]": "Proje içeriğini yönetmenizi sağlar.", "Description[uk]": "Надає вам змогу керувати вмістом проектів.", @@ -38,6 +44,7 @@ "Name[nl]": "Projectbeheerder-overzicht", "Name[pl]": "Widok zarządzania projektem", "Name[pt]": "Área do Gestor de Projectos", + "Name[ru]": "Панель управления проектами", "Name[sk]": "Pohľad na správcu projektu", "Name[sv]": "Projekthanteringsvisning", "Name[tr]": "Proje Yöneticisi Görünümü", diff --git a/plugins/quickopen/kdevquickopen.json b/plugins/quickopen/kdevquickopen.json index bb573f4610..ff5f4f7f24 100644 --- a/plugins/quickopen/kdevquickopen.json +++ b/plugins/quickopen/kdevquickopen.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Este connector permet un ràpid accés als fitxers del projecte i a elements del llenguatge com classes/funcions.", "Description[ca]": "Aquest connector permet un ràpid accés als fitxers del projecte i a elements del llenguatge com classes/funcions.", "Description[cs]": "Tento zásuvný modul umožňuje rychlý přístup k souborům projektu a položkám jazyka jako jsou třídy a funkce.", + "Description[de]": "Dieses Modul bietet schnellen Zugriff auf Projektdateien und Sprachelemente wie Klassen und Funktionen.", "Description[es]": "Este complemento permite acceder rápidamente a los archivos del proyecto y a elementos del lenguaje, como clases y funciones.", + "Description[et]": "See plugin pakub kiiret ligipääsu projekti failidele ja keele elementidele, näiteks klassidele ja funktsioonidele.", + "Description[fi]": "Tämä liitännäinen mahdollistaa projektitiedostojen nopean haun ja kielialkiot kuten luokat/funktiot.", "Description[fr]": "Ce module permet un accès rapide aux fichiers du projet et aux éléments de langage comme les classes / fonctions.", + "Description[gl]": "Este complemento permite acceder rapidamente a ficheiros de proxecto e elementos da linguaxe como clases e funcións.", "Description[it]": "Questa estensione permette di accedere rapidamente ai file di progetto e agli elementi del linguaggio come le classi/funzioni.", "Description[nl]": "Deze plugin biedt snel toegamg tot projectbestanden en taal-items zoals classes/functies.", "Description[pl]": "Ta wtyczka pozwala na szybki dostęp do plików projektu i elementów języka takich jak klasy i funkcje.", "Description[pt]": "Este 'plugin' permite o acesso rápido aos ficheiros dos projectos e aos itens das linguagens, como as classes ou funções.", + "Description[pt_BR]": "Este plugin permite o rápido acesso a arquivos de projeto e itens da linguagem como classes/funções.", "Description[sk]": "Tento plugin umožňuje rýchly prístup k súborom projektu a položiek jazyka ako triedy/funkcie.", + "Description[sl]": "Vstavek omogoča hiter dostop do projektnih datotek in predmetov kot so razredi in funkcije.", "Description[sv]": "Insticksprogrammet ger snabb åtkomst av projektfiler och språkobjekt som klasser och funktioner.", "Description[tr]": "Bu eklenti proje dosyalarına ve sınıflar/fonksiyonlar gibi dil öğelerine hızlı erişim sağlar.", "Description[uk]": "За допомогою цього додатка можна пришвидшити доступ до файлів проектів і елементів мови на зразок класів або функцій.", @@ -30,18 +36,26 @@ "Name[ca@valencia]": "Obertura ràpida", "Name[ca]": "Obertura ràpida", "Name[cs]": "Rychle otevřít", + "Name[de]": "Schnellöffner", "Name[es]": "Apertura rápida", + "Name[et]": "Kiiravamine", + "Name[fi]": "Pika-avaus", "Name[fr]": "Ouverture rapide", + "Name[gl]": "Apertura rápida", "Name[it]": "Apertura veloce", "Name[nb]": "Hurtigåpne", "Name[nl]": "Snel openen", "Name[pl]": "Szybkie otwarcie", "Name[pt]": "Abertura Rápida", + "Name[pt_BR]": "Abertura rápida", + "Name[ru]": "Быстрый переход", "Name[sk]": "Rýchlo otvoriť", + "Name[sl]": "Hitro odpiranje", "Name[sv]": "Snabböppna", "Name[tr]": "Hızlı Aç", "Name[uk]": "Швидке відкриття", "Name[x-test]": "xxQuick Openxx", + "Name[zh_CN]": "快速打开", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/sourceformatter/kdevsourceformatter.json b/plugins/sourceformatter/kdevsourceformatter.json index 8ef1579d1a..41c16cfde4 100644 --- a/plugins/sourceformatter/kdevsourceformatter.json +++ b/plugins/sourceformatter/kdevsourceformatter.json @@ -30,6 +30,7 @@ "Name[nl]": "Broncode-formatteerprogramma", "Name[pl]": "Formatowanie źródeł", "Name[pt]": "Formatação de Código", + "Name[ru]": "Форматирование кода", "Name[sk]": "Formátovač zdroja", "Name[sv]": "Källkodsformatering", "Name[tr]": "Kaynak Biçimlendirici", diff --git a/plugins/standardoutputview/kdevstandardoutputview.json b/plugins/standardoutputview/kdevstandardoutputview.json index 55e0a1883c..9356ff8e09 100644 --- a/plugins/standardoutputview/kdevstandardoutputview.json +++ b/plugins/standardoutputview/kdevstandardoutputview.json @@ -5,14 +5,21 @@ "Description[ca@valencia]": "Proporciona una vista d'eina d'eixida de text per a utilitzar en altres connectors, per a visualitzar missatges del compilador, per exemple.", "Description[ca]": "Proporciona una vista d'eina de sortida de text per a utilitzar en altres connectors, per a visualitzar missatges del compilador, per exemple.", "Description[cs]": "Umožňuje používat jiným zásuvným modulům nástrojový pohled textového výstupu, aby ukázal různé věci, jako třeba zprávy kompilátoru.", + "Description[de]": "Stellt eine Textausgabe für andere Module zur Verfügung, um Dinge wie Compiler-Nachrichten anzuzeigen.", "Description[es]": "Proporciona un visor de salida de texto para que otros complementos muestren cosas como mensajes del compilador, por ejemplo.", + "Description[et]": "Teistele pluginatele kättesaadav tekstiväljundi tööriistavaade, mis näitab kompilaatori teateid ja muud.", + "Description[fi]": "Tarjoaa tekstitulostetyökalunäkymän muille liitännäisille käytettäväksi, näyttää asiat kuin kääntäjäviestit.", "Description[fr]": "Fournit un outil d'affichage de la sortie texte pour utilisation par d'autres modules, pour afficher des choses comme des messages de compilateur.", + "Description[gl]": "Fornece unha ferramenta de saída de texto a outros complementos, para mostrar cousas como mensaxes do compilador.", "Description[it]": "Fornisce una vista strumenti testuale che può essere usata dalla estensioni per mostrare cose come i messaggi del compilatore.", "Description[nl]": "Levert tekstuitvoer van hulpmiddelen voor andere te gebruiken plugins, om zaken te tonen zoals berichten van compilers.", "Description[pl]": "Zapewnia widok narzędzia wyjścia tekstu dla wykorzystania w innych wtyczkach, aby pokazać rzeczy takie jak komunikaty kompilatora.", "Description[pt]": "Oferece uma área de texto para os outros 'plugins' usarem, para apresentar algumas coisas, como as mensagens do compilador.", + "Description[pt_BR]": "Oferece uma área de resultados de texto para os outros plugins usarem, de modo a mostrar coisas como as mensagens do compilador.", "Description[sk]": "Poskytuje textový výstup pohľadu nástrojov pre iné pluginy na použitie, na zobrazenie napríklad správy prekladača.", + "Description[sl]": "Drugim vstavkom ponuja okno za prikaz besedilnega izhoda, na primer za sporočila izgrajevalnika.", "Description[sv]": "Tillhandahåller en verktygsvy för textutmatning som andra insticksprogram kan använda för att visa saker som kompilatormeddelanden.", + "Description[tr]": "Diğer eklentilerin derleyici iletileri gibi şeyleri göstermesi için metin çıktı araç görünümü sağlar.", "Description[uk]": "Забезпечує роботу панелі показу текстових даних інших додатків, зокрема попереджень компілятора.", "Description[x-test]": "xxProvides a text output toolview for other plugins to use, to show things like compiler messages.xx", "Description[zh_CN]": "提供让其它插件使用的文本输出工具视图,以便显示诸如编译器消息的信息。", @@ -22,14 +29,21 @@ "Name[ca@valencia]": "Vista de l'eixida", "Name[ca]": "Vista de la sortida", "Name[cs]": "Pohled na výstup", + "Name[de]": "Ansicht für Ausgaben", "Name[es]": "Vista de la salida", + "Name[et]": "Väljundivaade", + "Name[fi]": "Tulostenäkymä", "Name[fr]": "Vue de la sortie", + "Name[gl]": "Vista da saída", "Name[it]": "Vista output", "Name[nb]": "Utdata-visning", "Name[nl]": "Uitvoerweergave", "Name[pl]": "Widok wyjścia", "Name[pt]": "Área de Resultados", + "Name[pt_BR]": "Área de resultados", + "Name[ru]": "Панель вывода", "Name[sk]": "Pohľad na výstup", + "Name[sl]": "Prikaz izhoda", "Name[sv]": "Utmatningsvisning", "Name[tr]": "Çıktı Görünümü", "Name[uk]": "Перегляд виводу", diff --git a/plugins/subversion/kdevsubversion.json b/plugins/subversion/kdevsubversion.json index cc2c675467..4148b9ac4f 100644 --- a/plugins/subversion/kdevsubversion.json +++ b/plugins/subversion/kdevsubversion.json @@ -29,14 +29,21 @@ "Name[ca@valencia]": "Implementació del Subversion", "Name[ca]": "Implementació del Subversion", "Name[cs]": "Podpora subversion", + "Name[de]": "Subversion-Unterstützung", "Name[es]": "Implementación de Subversion", + "Name[et]": "Subversioni toetus", + "Name[fi]": "Subversion-tuki", "Name[fr]": "Prise en charge de Subversion", + "Name[gl]": "Soporte de Subversion", "Name[it]": "Supporto per Subversion", "Name[nb]": "Støtte for subversion", "Name[nl]": "Ondersteuning van subversion", "Name[pl]": "Obsługa Subversion", "Name[pt]": "Suporte para o Subversion", + "Name[pt_BR]": "Suporte a Subversion", + "Name[ru]": "Поддержка Subversion", "Name[sk]": "Podpora subversion", + "Name[sl]": "Podpora za Subversion", "Name[sv]": "Subversion-stöd", "Name[tr]": "Suversion Desteği", "Name[uk]": "Підтримка Subversion", diff --git a/plugins/switchtobuddy/kdevswitchtobuddy.json b/plugins/switchtobuddy/kdevswitchtobuddy.json index acdc591e6e..0e2447c7b4 100644 --- a/plugins/switchtobuddy/kdevswitchtobuddy.json +++ b/plugins/switchtobuddy/kdevswitchtobuddy.json @@ -4,13 +4,19 @@ "Description": "Allows switching between buddy documents like implementation and header file.", "Description[ca@valencia]": "Permet commutar entre documents associats com fitxers d'implementacions i de capçaleres.", "Description[ca]": "Permet commutar entre documents associats com fitxers d'implementacions i de capçaleres.", + "Description[de]": "Ermöglicht das Umschalten zwischen verwandten Dokumenten wie Implementations- und Header-Dateien.", "Description[es]": "Permite cambiar entre documentos asociados, como la implementación y el archivo de cabecera.", + "Description[et]": "Võimaldab lülituda sõltlasdokumentide, näiteks teostus- ja päisefaili vahel.", + "Description[fi]": "Mahdollistaa vaihtamisen yhteen kuuluvien tiedostojen, kuten toteutus- ja otsikkotiedoston, välillä.", "Description[fr]": "Permet de basculer entre des documents amis comme l'implémentation et le fichier d'en-tête.", + "Description[gl]": "Permite trocar entre documentos tipo buddy como implementación e ficheiro de cabeceira.", "Description[it]": "Consente il passaggio tra i documenti associati come implementazioni e file header.", "Description[nl]": "Biedt omschakelen tussen buddy-documenten zoals implementatie en header-bestand.", "Description[pl]": "Pozwala na przełączanie pomiędzy stowarzyszonymi dokumentami takimi jak pliki implementacji i nagłówków.", "Description[pt]": "Permite a alternância entre os documentos associados, como o ficheiro de implementação ou o de inclusão.", + "Description[pt_BR]": "Permite a mudança de documentos associados, como os arquivos de implementação e de inclusão.", "Description[sk]": "Umožňuje prepínanie medzi dokumentmi priateľov ako súbor implementácie a hlavičky.", + "Description[sl]": "Omogoča preklapljanje med prijateljskimi dokumenti kot na primer izvedbo in datoteko glave.", "Description[sv]": "Tillåter byte mellan samhörande dokument som implementerings- och deklarationsfiler.", "Description[tr]": "Uygulama ve başlık dosyası gibi ilişkili belgeler arasında geçişe izin verir.", "Description[uk]": "Надає змогу перемикатися на споріднені документи, зокрема файли з реалізацією та файли заголовків.", @@ -21,14 +27,21 @@ "Name": "Switch to Buddy", "Name[ca@valencia]": "Commuta a associat", "Name[ca]": "Commuta a associat", + "Name[de]": "Zu verwandtem Element wechseln", "Name[es]": "Cambiar al asociado", + "Name[et]": "Lülitumine sõltlasele", + "Name[fi]": "Vaihda yhteen kuuluvaan tiedostoon", "Name[fr]": "Passage à Buddy", + "Name[gl]": "Pasar a Buddy", "Name[it]": "Passa al file associato", "Name[nb]": "Bytt til kamerat", "Name[nl]": "Naar Buddy omschakelen", "Name[pl]": "Przełącz do stowarzyszonego", "Name[pt]": "Mudar para o Ficheiro Associado", + "Name[pt_BR]": "Mudar para o arquivo associado", + "Name[ru]": "Переход к связанному", "Name[sk]": "Prepnúť na Buddy", + "Name[sl]": "Preklopi na prijatelja", "Name[sv]": "Byt till samhörande", "Name[tr]": "Dosta Geçiş Yap", "Name[uk]": "Перемикання на споріднений", diff --git a/plugins/testview/kdevtestview.json b/plugins/testview/kdevtestview.json index 0ac7594744..91b57f0e3c 100644 --- a/plugins/testview/kdevtestview.json +++ b/plugins/testview/kdevtestview.json @@ -11,13 +11,19 @@ "Description[ca@valencia]": "Vos permet veure i executar proves unitàries.", "Description[ca]": "Us permet veure i executar proves unitàries.", "Description[cs]": "Umožňuje vám zobrazit a spouštět unit testy.", + "Description[de]": "Unit-Tests anzeigen und ausführen.", "Description[es]": "Le permite ver y ejecutar pruebas unitarias.", + "Description[et]": "Ühiktestide näitamine ja käivitamine.", + "Description[fi]": "Mahdollistaa yksikkötestien tarkastelemisen ja suorittamisen.", "Description[fr]": "Vous permet de voir et exécuter des tests unitaires.", + "Description[gl]": "Permite ver e executar probas unitarias.", "Description[it]": "Consente di vedere ed eseguire i test d'unità.", "Description[nl]": "Laat u testen van eenheden zien en uitvoeren.", "Description[pl]": "Pozwala tobie na obejrzenie i uruchomienie testów jednostkowych.", "Description[pt]": "Permite-lhe ver e executar testes unitários.", + "Description[pt_BR]": "Permite-lhe ver e executar testes unitários.", "Description[sk]": "Umožní vám vidieť a spustiť unit testy.", + "Description[sl]": "Omogoča ogled in zagon preizkusov enot.", "Description[sv]": "Låter dig titta på och köra enhetstester.", "Description[tr]": "Birim testlerini görmenizi ve çalıştırmanızı sağlar.", "Description[uk]": "Надає вам змогу переглядати і виконувати перевірки модулів.", @@ -30,14 +36,21 @@ "Name[ca@valencia]": "Vista de proves unitàries", "Name[ca]": "Vista de proves unitàries", "Name[cs]": "Pohled na Unit testy", + "Name[de]": "Unittest-Ansicht", "Name[es]": "Vista de la prueba unitaria", + "Name[et]": "Ühiktestide vaade", + "Name[fi]": "Yksikkötestinäkymä", "Name[fr]": "Affichage des tests unitaires", + "Name[gl]": "Vista de probas unitarias", "Name[it]": "Vista test d'unità", "Name[nb]": "Enhetstest-visning", "Name[nl]": "Weergave van test van eenheid", "Name[pl]": "Widok jednostkowego testu", "Name[pt]": "Área de Testes Unitários", + "Name[pt_BR]": "Exibição de testes unitários", + "Name[ru]": "Панель модульных тестов", "Name[sk]": "Pohľad unit testov", + "Name[sl]": "Prikaz preizkusov enot", "Name[sv]": "Visning av enhetstester", "Name[tr]": "Birim Test Görünümü", "Name[uk]": "Перегляд перевірок модулів", diff --git a/plugins/vcschangesview/kdevvcschangesview.json b/plugins/vcschangesview/kdevvcschangesview.json index 39a42cc93a..a65ac45f9a 100644 --- a/plugins/vcschangesview/kdevvcschangesview.json +++ b/plugins/vcschangesview/kdevvcschangesview.json @@ -12,13 +12,19 @@ "Description": "This plugin provides integration between the projects and their VCS infrastructure", "Description[ca@valencia]": "Este connector proporciona la integració entre els projectes i la seua infraestructura de VCS", "Description[ca]": "Aquest connector proporciona la integració entre els projectes i la seva infraestructura de VCS", + "Description[de]": "Dieses Modul stellt eine Integration zwischen Projekten und ihrer VCS-Infrastruktur her.", "Description[es]": "Este complemento proporciona integración entre los proyectos y su infraestructura VCS", + "Description[et]": "See plugin võimaldab lõimida projektid ja nende versioonihalduse infrastruktuuri", + "Description[fi]": "Tämä liitännäinen tarjoaa projektien ja niiden versionhallintajärjestelmien välisen integraation", "Description[fr]": "Ce module fournit une intégration entre les projets et leur infrastructure de contrôle de version", + "Description[gl]": "Este complemento fornece integración entre os proxectos e a súa infraestrutura VCS", "Description[it]": "Questa estensione fornisce integrazione tra i progetti e la loro infrastruttura VCS", "Description[nl]": "Deze plugin geeft integratie tussen de projecten en hun VCS-infrastructuur", "Description[pl]": "Wtyczka ta zapewnia integracje pomiędzy projektami i ich infrastrukturą systemu kontroli wersji (VCS)", "Description[pt]": "Este 'plugin' oferece a integração entre os projectos e a sua infra-estrutura de controlo de versões", + "Description[pt_BR]": "Este plugin fornece a integração entre os projetos e sua infraestrutura de VCS", "Description[sk]": "Tento plugin poskytuje integráciu medzi projektami a ich VCS infraštruktúrou", + "Description[sl]": "Ta vstavek ponuja most med projekti in njihovo infrastrukturo nadzora različic", "Description[sv]": "Det här insticksprogrammet tillhandahåller integrering mellan projekten och deras VCS infrastruktur", "Description[tr]": "Bu eklenti projeler ile VCS altyapıları arasında bütünleşme sağlar", "Description[uk]": "За допомогою цього додатка забезпечується інтеграція між проектами та інфраструктурою системи керування версіями (VCS)", @@ -39,6 +45,7 @@ "Name[nl]": "VCS-integratie", "Name[pl]": "Integracja VCS", "Name[pt]": "Integração com o SCV", + "Name[ru]": "Интеграция VCS", "Name[sk]": "Integrácia VCS", "Name[sv]": "Integrering av VCS", "Name[tr]": "Sürüm Kontrol Sistemi Bütünleşmesi", diff --git a/plugins/welcomepage/kdevwelcomepage.json b/plugins/welcomepage/kdevwelcomepage.json index 60d919185b..87bfb3cfc7 100644 --- a/plugins/welcomepage/kdevwelcomepage.json +++ b/plugins/welcomepage/kdevwelcomepage.json @@ -11,6 +11,7 @@ "Description[pl]": "Dostarcza stronę powitania widoczną przy pustych sesjach", "Description[pt]": "Oferece a página de boas-vindas que fica visível numa sessão vazia", "Description[sk]": "Poskytuje uvítaciu stránku viditeľnú v prázdnom sedení", + "Description[sl]": "Ponuja pozdravni zaslon, ki je viden v prazni seji", "Description[sv]": "Tillhandahåller välkomstsidan synlig i en tom session", "Description[tr]": "Boş oturumda görünen hoşgeldin sayfasını sağlar", "Description[uk]": "Забезпечує роботу сторінки вітання, яку програма показує, якщо сеанс порожній", @@ -21,13 +22,19 @@ "Name[ca@valencia]": "Pàgina de benvinguda del KDevelop", "Name[ca]": "Pàgina de benvinguda del KDevelop", "Name[cs]": "Uvítací stránka KDevelop", + "Name[de]": "KDevelop-Startseite", "Name[es]": "Página de bienvenida de KDevelop", + "Name[et]": "KDevelopi tervituslehekülg", + "Name[fi]": "KDevelopin tervetulosivu", "Name[fr]": "Page d'accueil de KDevelop", + "Name[gl]": "Páxina de benvida de KDevelop", "Name[it]": "Pagina di benvenuto di KDevelop", "Name[nl]": "Welkomstpagina van KDevelop", "Name[pl]": "Strona powitalna KDevelop", "Name[pt]": "Página de Boas-Vindas do KDevelop", + "Name[pt_BR]": "Página de boas-vindas do KDevelop", "Name[sk]": "Uvítacia stránka KDevelop", + "Name[sl]": "Pozdravna stran za KDevelop", "Name[sv]": "KDevelop välkomstsida", "Name[tr]": "KDevelop Karşılama Sayfası", "Name[uk]": "Сторінка вітання KDevelop", From be15d465ee2fb2f7abd3b4354fd40b2bf1afaef0 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 21 Nov 2017 11:25:08 +0100 Subject: [PATCH 033/108] Minor: Fix conversion warning under MSVC --- kdevplatform/serialization/indexedstring.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kdevplatform/serialization/indexedstring.cpp b/kdevplatform/serialization/indexedstring.cpp index 91584dfd50..e55a0f2f0b 100644 --- a/kdevplatform/serialization/indexedstring.cpp +++ b/kdevplatform/serialization/indexedstring.cpp @@ -261,7 +261,7 @@ IndexedString::IndexedString(const QString& string) {} IndexedString::IndexedString(const char* str) - : IndexedString(str, str ? strlen(str) : 0) + : IndexedString(str, str ? qstrlen(str) : 0) {} IndexedString::IndexedString(const QByteArray& str) From d35089979661c11a09480c78219588c51b62db62 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Tue, 21 Nov 2017 12:27:15 +0100 Subject: [PATCH 034/108] Remove bogus translations from template files Scripty meanwhile has been instructed to skip such files --- app_templates/cpp/CMake/cmake_kdevplugin/src/%{APPNAMELC}.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/app_templates/cpp/CMake/cmake_kdevplugin/src/%{APPNAMELC}.json b/app_templates/cpp/CMake/cmake_kdevplugin/src/%{APPNAMELC}.json index 9ca38b6403..e4a61a3260 100644 --- a/app_templates/cpp/CMake/cmake_kdevplugin/src/%{APPNAMELC}.json +++ b/app_templates/cpp/CMake/cmake_kdevplugin/src/%{APPNAMELC}.json @@ -1,10 +1,8 @@ { "KPlugin": { "Description": "%{APPNAME}", - "Description[x-test]": "xx%{APPNAME}xx", "Id": "%{APPNAMELC}", "Name": "%{APPNAME}", - "Name[x-test]": "xx%{APPNAME}xx", "ServiceTypes": [ "KDevelop/Plugin" ] From 191aebfc069175daf464c8264fe6731088b0e430 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Mon, 13 Nov 2017 09:47:27 +0100 Subject: [PATCH 035/108] debuggercommon: Fix build on Windows --- plugins/debuggercommon/tests/debuggees/CMakeLists.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/debuggercommon/tests/debuggees/CMakeLists.txt b/plugins/debuggercommon/tests/debuggees/CMakeLists.txt index ee283acb9f..26cc428c3b 100644 --- a/plugins/debuggercommon/tests/debuggees/CMakeLists.txt +++ b/plugins/debuggercommon/tests/debuggees/CMakeLists.txt @@ -4,11 +4,13 @@ function(add_debuggable_executable target) ecm_mark_nongui_executable(${target}) # force debug symbols for our debuggees, disable optimizations if (WIN32) - set(_flags "/0d") + # Avoid "cl : Command line warning D9025 : overriding '/O2' with '/Od'" warnings + # Thus set COMPILE_FLAGS_RELEASE instead of COMPILE_FLAGS + # COMPILE_FLAGS_DEBUG should already have the desired flags + set_target_properties(${target} PROPERTIES COMPILE_FLAGS_RELEASE "/DEBUG /Od") else() - set(_flags "-O0") + set_target_properties(${target} PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -O0") endif() - set_target_properties(${target} PROPERTIES COMPILE_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} ${_flags}") endfunction() add_debuggable_executable(debuggee_debugee SRCS debugee.cpp) From 70977244a0141e403bf95259b8c06b04c0b2fd76 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 21 Nov 2017 14:23:45 +0100 Subject: [PATCH 036/108] test_path: Fix test under Windows --- kdevplatform/util/tests/test_path.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/kdevplatform/util/tests/test_path.cpp b/kdevplatform/util/tests/test_path.cpp index 648c7b39a1..207c0112cc 100644 --- a/kdevplatform/util/tests/test_path.cpp +++ b/kdevplatform/util/tests/test_path.cpp @@ -281,7 +281,11 @@ void TestPath::testPath() QCOMPARE(optUrl.isRemote(), optUrl.isValid() && !optUrl.isLocalFile()); QCOMPARE(optUrl.isRemote(), optUrl.isValid() && !optUrl.remotePrefix().isEmpty()); - url.setPath(url.path() + "/test/foo/bar"); + if (url.path() == QLatin1Char('/')) { + url.setPath("/test/foo/bar"); + } else { + url.setPath(url.path() + "/test/foo/bar"); + } if (url.scheme().isEmpty()) { url.setScheme(QStringLiteral("file")); } @@ -588,10 +592,14 @@ void TestPath::testHasParent_data() QTest::addColumn("hasParent"); QTest::newRow("empty") << QString() << false; +#ifdef Q_OS_WIN + QTest::newRow("\\") << QStringLiteral("\\") << true; // true b/c parent could be e.g. 'C:' +#else QTest::newRow("/") << QStringLiteral("/") << false; QTest::newRow("/foo") << QStringLiteral("/foo") << true; QTest::newRow("/foo/bar") << QStringLiteral("/foo/bar") << true; QTest::newRow("//foo/bar") << QStringLiteral("//foo/bar") << true; +#endif QTest::newRow("http://foo.bar") << QStringLiteral("http://foo.bar") << false; QTest::newRow("http://foo.bar/") << QStringLiteral("http://foo.bar/") << false; QTest::newRow("http://foo.bar/asdf") << QStringLiteral("http://foo.bar/asdf") << true; From e3df584fc983c81163e31d761976d873527c758d Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 21 Nov 2017 14:24:52 +0100 Subject: [PATCH 037/108] test_path: Doesn't need a KDevelop shell --- kdevplatform/util/tests/test_path.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/kdevplatform/util/tests/test_path.cpp b/kdevplatform/util/tests/test_path.cpp index 207c0112cc..970c5a2424 100644 --- a/kdevplatform/util/tests/test_path.cpp +++ b/kdevplatform/util/tests/test_path.cpp @@ -24,9 +24,6 @@ #include -#include -#include - #include #include @@ -109,14 +106,10 @@ void runBenchmark() void TestPath::initTestCase() { - // TODO: is this really needed? It doesn't seem like any kdevelop shell is needed - AutoTestShell::init(); - TestCore::initialize(Core::NoUi); } void TestPath::cleanupTestCase() { - TestCore::shutdown(); } void TestPath::bench_qurl() From 7e61e01d966c416d08584c98bf48a602db03e4a9 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 21 Nov 2017 14:44:43 +0100 Subject: [PATCH 038/108] test_backgroundparser: Don't hang under Windows File was still locked by the QTemporaryFile object and the subsequent Document::saveAs() failed and causes a popup. --- .../backgroundparser/tests/test_backgroundparser.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/kdevplatform/language/backgroundparser/tests/test_backgroundparser.cpp b/kdevplatform/language/backgroundparser/tests/test_backgroundparser.cpp index fae0233177..1c62892c4f 100644 --- a/kdevplatform/language/backgroundparser/tests/test_backgroundparser.cpp +++ b/kdevplatform/language/backgroundparser/tests/test_backgroundparser.cpp @@ -307,9 +307,15 @@ void TestBackgroundparser::benchmarkDocumentChanges() QVERIFY(editor); KTextEditor::Document* doc = editor->createDocument(this); QVERIFY(doc); - QTemporaryFile file; - QVERIFY(file.open()); - doc->saveAs(QUrl::fromLocalFile(file.fileName())); + + QString tmpFileName; + { + QTemporaryFile file; + QVERIFY(file.open()); + tmpFileName = file.fileName(); + } + + doc->saveAs(QUrl::fromLocalFile(tmpFileName)); DocumentChangeTracker tracker(doc); From 5c37d75bc36af1ec2e9a6dcaf5fd26badbccc6f3 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Tue, 21 Nov 2017 18:02:11 +0100 Subject: [PATCH 039/108] Fix compilation with Qt <5.8, QString::operator==(QChar) only added after --- kdevplatform/util/tests/test_path.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kdevplatform/util/tests/test_path.cpp b/kdevplatform/util/tests/test_path.cpp index 970c5a2424..89886e4df7 100644 --- a/kdevplatform/util/tests/test_path.cpp +++ b/kdevplatform/util/tests/test_path.cpp @@ -274,7 +274,7 @@ void TestPath::testPath() QCOMPARE(optUrl.isRemote(), optUrl.isValid() && !optUrl.isLocalFile()); QCOMPARE(optUrl.isRemote(), optUrl.isValid() && !optUrl.remotePrefix().isEmpty()); - if (url.path() == QLatin1Char('/')) { + if (url.path() == QLatin1String("/")) { url.setPath("/test/foo/bar"); } else { url.setPath(url.path() + "/test/foo/bar"); From d551c341203dc118573139ade14dff4f7da1f1f4 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 21 Nov 2017 22:42:14 +0100 Subject: [PATCH 040/108] templates: Add some debugging output ... to debug template archive loading issues under Windows --- kdevplatform/language/codegen/templateengine.cpp | 13 ++++++++++++- plugins/appwizard/appwizardplugin.cpp | 4 ++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/kdevplatform/language/codegen/templateengine.cpp b/kdevplatform/language/codegen/templateengine.cpp index 14176b5aa5..e70b6b5c89 100644 --- a/kdevplatform/language/codegen/templateengine.cpp +++ b/kdevplatform/language/codegen/templateengine.cpp @@ -21,6 +21,7 @@ #include "templateengine.h" +#include "debug.h" #include "templateengine_p.h" #include "codedescription.h" @@ -44,7 +45,17 @@ TemplateEngine::TemplateEngine() { d->engine.setSmartTrimEnabled(true); - addTemplateDirectories(QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kdevcodegen/templates"), QStandardPaths::LocateDirectory)); + qCDebug(LANGUAGE) << "Generic data locations:" << QStandardPaths::standardLocations(QStandardPaths::GenericDataLocation); + + const auto templateDirectories = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, + QStringLiteral("kdevcodegen/templates"), QStandardPaths::LocateDirectory); + + if (!templateDirectories.isEmpty()) { + qCDebug(LANGUAGE) << "Found template directories:" << templateDirectories; + addTemplateDirectories(QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kdevcodegen/templates"), QStandardPaths::LocateDirectory)); + } else { + qCWarning(LANGUAGE) << "No template directories found -- templating engine will not work!"; + } Grantlee::registerMetaType(); Grantlee::registerMetaType(); diff --git a/plugins/appwizard/appwizardplugin.cpp b/plugins/appwizard/appwizardplugin.cpp index 70e6207a12..bc1538d5cf 100644 --- a/plugins/appwizard/appwizardplugin.cpp +++ b/plugins/appwizard/appwizardplugin.cpp @@ -214,6 +214,8 @@ QString AppWizardPlugin::createProject(const ApplicationInfo& info) } QString templateName = templateInfo.baseName(); + qCDebug(PLUGIN_APPWIZARD) << "Searching archive for template name:" << templateName; + QString templateArchive; const QStringList filters = {templateName + QStringLiteral(".*")}; const QStringList matchesPaths = QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("kdevappwizard/templates/"), QStandardPaths::LocateDirectory); @@ -229,6 +231,8 @@ QString AppWizardPlugin::createProject(const ApplicationInfo& info) return QString(); } + qCDebug(PLUGIN_APPWIZARD) << "Using template archive:" << templateArchive; + QUrl dest = info.location; //prepare variable substitution hash From 527cffd923b1c565bb3ec18e82f77fe852207861 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Wed, 22 Nov 2017 10:48:31 +0100 Subject: [PATCH 041/108] test_docker: Prefer QVERIFY over Q_ASSERT --- plugins/docker/tests/test_docker.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/plugins/docker/tests/test_docker.cpp b/plugins/docker/tests/test_docker.cpp index e13947a8d0..8064b1ce60 100644 --- a/plugins/docker/tests/test_docker.cpp +++ b/plugins/docker/tests/test_docker.cpp @@ -56,17 +56,15 @@ class DockerTest: public QObject m_initialRuntime = ICore::self()->runtimeController()->currentRuntime(); auto plugin = ICore::self()->pluginController()->loadPlugin("kdevdocker"); - Q_ASSERT(plugin); + QVERIFY(plugin); QSignalSpy spy(plugin, SIGNAL(imagesListed())); - Q_ASSERT(spy.wait()); - + QVERIFY(spy.wait()); auto projectPath = QUrl::fromLocalFile(QFINDTESTDATA("testproject/test.kdev4")); - qDebug() << "wuuu" << projectPath; TestCore::self()->projectController()->openProject(projectPath); QSignalSpy spy2(TestCore::self()->projectController(), &IProjectController::projectOpened); - Q_ASSERT(spy2.wait()); + QVERIFY(spy2.wait()); } IRuntime* m_initialRuntime; From a65be45e55c261643458a02f1909f2a263134957 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Wed, 22 Nov 2017 11:10:01 +0100 Subject: [PATCH 042/108] appimage: Bump to Qt 5.9.2 --- appimage/Dockerfile | 6 +++--- appimage/kdevelop-recipe-centos6.sh | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/appimage/Dockerfile b/appimage/Dockerfile index 63a8a0a102..5f6a57d45d 100644 --- a/appimage/Dockerfile +++ b/appimage/Dockerfile @@ -5,7 +5,7 @@ RUN cd /tmp && wget http://opensource.wandisco.com/rhel/6/svn-1.9/RPMS/x86_64/su RUN echo ". /opt/rh/devtoolset-4/enable && chmod +x /opt/rh/python27/enable && . /opt/rh/python27/enable" >> /root/.bashrc -ENV LC_ALL=en_US.UTF-8 LANG=en_us.UTF-8 QTVERSION=5.9.1 QTVERSION_SHORT=5.9 LLVM_VERSION=5.0.0 LLVM_ROOT=/opt/llvm/ LD_LIBRARY_PATH=$QTDIR/lib/ +ENV LC_ALL=en_US.UTF-8 LANG=en_us.UTF-8 QTVERSION=5.9.2 QTVERSION_SHORT=5.9 LLVM_VERSION=5.0.0 LLVM_ROOT=/opt/llvm/ LD_LIBRARY_PATH=$QTDIR/lib/ ENV QTDIR=/usr/local/Qt-${QTVERSION}/ RUN bash -c "ln -sf /opt/rh/devtoolset-4/root/usr/bin/g++ /usr/bin/g++ && ln -sf /opt/rh/devtoolset-4/root/usr/bin/c++ /usr/bin/c++" @@ -17,8 +17,8 @@ RUN bash -c "export MAKEFLAGS=-j$(nproc) && cd /qt/qt-everywhere-opensource-src- RUN ln -sf /usr/local/Qt-${QTVERSION}/bin/qmake /usr/bin/qmake-qt5 # Build qtwebkit -RUN bash -c "mkdir -p /qtwk && cd /qtwk && wget http://download.qt.io/archive/qt/${QTVERSION_SHORT}/${QTVERSION}/submodules/qtwebkit-opensource-src-${QTVERSION}.tar.xz && tar xvf qtwebkit-opensource-src-${QTVERSION}.tar.xz" -RUN bash -c "cd /qtwk/qtwebkit-opensource-src-${QTVERSION} && $QTDIR/bin/qmake && make -j$(nproc) || make -j$(nproc) && make -j$(nproc) install && rm -Rf /qtwk" +RUN bash -c "mkdir -p /qtwk && cd /qtwk && wget http://download.qt.io/archive/qt/${QTVERSION_SHORT}/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz && tar xvf qtwebkit-opensource-src-5.9.1.tar.xz" +RUN bash -c "cd /qtwk/qtwebkit-opensource-src-5.9.1 && $QTDIR/bin/qmake && make -j$(nproc) || make -j$(nproc) && make -j$(nproc) install && rm -Rf /qtwk" # Install ninja RUN bash -c "yum install unzip && mkdir -p /tmp/deploy && cd /tmp/deploy && wget https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-linux.zip && unzip ninja-linux.zip && mv -f ninja /usr/local/bin && cd .. && rm -Rf deploy" diff --git a/appimage/kdevelop-recipe-centos6.sh b/appimage/kdevelop-recipe-centos6.sh index a24c726707..fcd227045d 100755 --- a/appimage/kdevelop-recipe-centos6.sh +++ b/appimage/kdevelop-recipe-centos6.sh @@ -19,7 +19,7 @@ git_pull_rebase_helper() SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -QTVERSION=5.9.1 +QTVERSION=5.9.2 QTVERSION_SHORT=5.9 QTDIR=/usr/local/Qt-${QTVERSION}/ From a35de90ce596a7859c99c04bf62e1a7e09914bbc Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Wed, 22 Nov 2017 00:29:10 +0100 Subject: [PATCH 043/108] Fix progress widget on bottom bar not being shown in some sessions Reviewers: #kdevelop, flherne Reviewed By: #kdevelop, flherne Subscribers: flherne, apol, kdevelop-devel Differential Revision: https://phabricator.kde.org/D8929 --- kdevplatform/sublime/mainwindow.cpp | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/kdevplatform/sublime/mainwindow.cpp b/kdevplatform/sublime/mainwindow.cpp index ef2233715a..1faa91df11 100644 --- a/kdevplatform/sublime/mainwindow.cpp +++ b/kdevplatform/sublime/mainwindow.cpp @@ -222,8 +222,8 @@ void MainWindow::saveSettings() if (area()) group += '_' + area()->objectName(); KConfigGroup cg = KSharedConfig::openConfig()->group(group); - /* This will try to save window size, too. But it's OK, since we - won't use this information when loading. */ + // This will try to save also the window size and the enabled state of the statusbar. + // But it's OK, since we won't use this information when loading. saveMainWindowSettings(cg); //debugToolBar visibility is stored separately to allow a area dependent default value @@ -253,15 +253,10 @@ void MainWindow::loadSettings() // What follows is copy-paste from applyMainWindowSettings. Unfortunately, // we don't really want that one to try restoring window size, and we also // cannot stop it from doing that in any clean way. - QStatusBar* sb = findChild(); - if (sb) { - QString entry = cg.readEntry("StatusBar", "Enabled"); - if ( entry == QLatin1String("Disabled") ) - sb->hide(); - else - sb->show(); - } - + // We also do not want that one do it for the enabled state of the statusbar: + // KMainWindow scans the widget tree for a QStatusBar-inheriting instance and + // set enabled state by the config value stored by the key "StatusBar", + // while the QStatusBar subclass used in sublime should always be enabled. QMenuBar* mb = findChild(); if (mb) { QString entry = cg.readEntry ("MenuBar", "Enabled"); From 9bd590c57fd2f10fbe03ae3138082065e79ed364 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Wed, 22 Nov 2017 21:37:15 +0100 Subject: [PATCH 044/108] cvs: Use K_PLUGIN_FACTORY_WITH_JSON properly --- plugins/cvs/cvsplugin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/cvs/cvsplugin.cpp b/plugins/cvs/cvsplugin.cpp index 5066d884a8..ca9cc6538f 100644 --- a/plugins/cvs/cvsplugin.cpp +++ b/plugins/cvs/cvsplugin.cpp @@ -49,7 +49,7 @@ #include #include -K_PLUGIN_FACTORY(KDevCvsFactory, registerPlugin();) +K_PLUGIN_FACTORY_WITH_JSON(KDevCvsFactory, "kdevcvs.json", registerPlugin();) // K_EXPORT_PLUGIN(KDevCvsFactory(KAboutData("kdevcvs", "kdevcvs", ki18n("CVS"), "0.1", ki18n("Support for CVS version control system"), KAboutData::License_GPL))) class KDevCvsViewFactory: public KDevelop::IToolViewFactory From aeade80ad5a39d74eef2de4857e9e5f6f2d1efc1 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Wed, 22 Nov 2017 18:36:52 +0100 Subject: [PATCH 045/108] Add debug output for isVersionControlled function --- kdevplatform/shell/project.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/kdevplatform/shell/project.cpp b/kdevplatform/shell/project.cpp index d8b11e3513..57bd7399cf 100644 --- a/kdevplatform/shell/project.cpp +++ b/kdevplatform/shell/project.cpp @@ -372,8 +372,16 @@ class ProjectPrivate foreach( IPlugin* p, plugins ) { IBasicVersionControl* iface = p->extension(); - if( iface && iface->isVersionControlled( topItem->path().toUrl() ) ) + if (!iface) { + continue; + } + + const auto url = topItem->path().toUrl(); + qCDebug(SHELL) << "Checking whether" << url << "is version controlled by" << iface->name(); + if(iface->isVersionControlled(url)) { + qDebug(SHELL) << "Detected that" << url << "is a" << iface->name() << "project"; + vcsPlugin = p; projectGroup.writeEntry("VersionControlSupport", pluginManager->pluginInfo(p).pluginId()); projectGroup.sync(); From e7d900981c04fbd969e4ba3c9b4ede16f0f8ffd1 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Wed, 22 Nov 2017 21:42:25 +0100 Subject: [PATCH 046/108] appimage: Fixup dockerfile For Qt 5.9: - install xkeyboard-config to fix xkb-config-root lookup - pass -qt-xkbcommon-x11 instead of old -qt-xkbcommon to configure --- appimage/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/appimage/Dockerfile b/appimage/Dockerfile index 5f6a57d45d..e08cba3ee4 100644 --- a/appimage/Dockerfile +++ b/appimage/Dockerfile @@ -1,6 +1,6 @@ FROM centos:6.8 -RUN yum -y update && yum -y install wget && yum -y install centos-release-scl epel-release && yum -y update && yum -y install devtoolset-4-gcc devtoolset-4-gcc-c++ devtoolset-4-binutils wget tar bzip2 git libtool which fuse fuse-devel libpng-devel automake cppunit-devel cmake glibc-headers libstdc++-devel gcc-c++ freetype-devel fontconfig-devel libxml2-devel libstdc++-devel libXrender-devel patch xcb-util-keysyms-devel libXi-devel libudev-devel.x86_64 openssl-devel sqlite-devel.x86_64 gperftools.x86_64 gperf.x86_64 libicu-devel.x86_64 boost-devel.x86_64 libxslt-devel.x86_64 docbook-style-xsl.noarch python27.x86_64 cmake3.x86_64 ruby bison flex bison-devel ruby-devel flex-devel xz pcre-devel pcre2-devel pcre pcre2 mesa-libEGL-devel mesa-libGL-devel glib-devel gettext perl-URI.noarch bzip2-devel.x86_64 subversion-devel.x86_64 subversion.x86_64 sqlite2-devel.x86_64 hunspell-devel aspell-devel hspell-devel vim sudo unzip +RUN yum -y update && yum -y install wget && yum -y install centos-release-scl epel-release && yum -y update && yum -y install devtoolset-4-gcc devtoolset-4-gcc-c++ devtoolset-4-binutils wget tar bzip2 git libtool which fuse fuse-devel libpng-devel automake cppunit-devel cmake glibc-headers libstdc++-devel gcc-c++ freetype-devel fontconfig-devel libxml2-devel libstdc++-devel libXrender-devel patch xcb-util-keysyms-devel libXi-devel libudev-devel.x86_64 openssl-devel sqlite-devel.x86_64 gperftools.x86_64 gperf.x86_64 libicu-devel.x86_64 boost-devel.x86_64 libxslt-devel.x86_64 docbook-style-xsl.noarch python27.x86_64 cmake3.x86_64 ruby bison flex bison-devel ruby-devel flex-devel xz pcre-devel pcre2-devel pcre pcre2 mesa-libEGL-devel mesa-libGL-devel glib-devel gettext perl-URI.noarch bzip2-devel.x86_64 subversion-devel.x86_64 subversion.x86_64 sqlite2-devel.x86_64 hunspell-devel aspell-devel hspell-devel vim sudo unzip xkeyboard-config RUN cd /tmp && wget http://opensource.wandisco.com/rhel/6/svn-1.9/RPMS/x86_64/subversion-1.9.4-3.x86_64.rpm http://opensource.wandisco.com/rhel/6/svn-1.9/RPMS/x86_64/subversion-devel-1.9.4-3.x86_64.rpm http://opensource.wandisco.com/rhel/6/svn-1.9/RPMS/x86_64/serf-1.3.7-1.x86_64.rpm && yum -y install subversion* serf*; rm subversion* serf* RUN echo ". /opt/rh/devtoolset-4/enable && chmod +x /opt/rh/python27/enable && . /opt/rh/python27/enable" >> /root/.bashrc @@ -11,8 +11,8 @@ ENV QTDIR=/usr/local/Qt-${QTVERSION}/ RUN bash -c "ln -sf /opt/rh/devtoolset-4/root/usr/bin/g++ /usr/bin/g++ && ln -sf /opt/rh/devtoolset-4/root/usr/bin/c++ /usr/bin/c++" # Build Qt5 -RUN bash -c "mkdir -p /qt && cd /qt && wget http://download.qt.io/archive/qt/${QTVERSION_SHORT}/${QTVERSION}/single/qt-everywhere-opensource-src-${QTVERSION}.tar.xz && tar xvf qt-everywhere-opensource-src-${QTVERSION}.tar.xz" -RUN bash -c "export MAKEFLAGS=-j$(nproc) && cd /qt/qt-everywhere-opensource-src-${QTVERSION} && ./configure -v -skip qt3d -skip qtgamepad -platform linux-g++ -qt-pcre -qt-xcb -qt-xkbcommon -xkb-config-root /usr/share/X11/xkb -no-pch -nomake tests -nomake examples -confirm-license -opensource && make -j$(nproc) || make -j 1 install; make -j$(nproc) install && rm -Rf /qt" +RUN bash -c "mkdir -p /qt && cd /qt && wget http://download.qt.io/archive/qt/${QTVERSION_SHORT}/${QTVERSION}/single/qt-everywhere-opensource-src-${QTVERSION}.tar.xz && tar xvf qt-everywhere-opensource-src-${QTVERSION}.tar.xz " +RUN bash -c "export MAKEFLAGS=-j$(nproc) && cd /qt/qt-everywhere-opensource-src-${QTVERSION} && ./configure -v -skip qt3d -skip qtgamepad -platform linux-g++ -qt-pcre -qt-xcb -qt-xkbcommon-x11 -xkb-config-root /usr/share/X11/xkb -no-pch -nomake tests -nomake examples -confirm-license -opensource && make -j$(nproc) || make -j 1 install; make -j$(nproc) install && rm -Rf /qt" RUN ln -sf /usr/local/Qt-${QTVERSION}/bin/qmake /usr/bin/qmake-qt5 From f4363a0863414e46fd6d91c5690ce6aec39c587f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20J=2EV=2E=20Bertin?= Date: Wed, 22 Nov 2017 22:00:07 +0100 Subject: [PATCH 047/108] kdevelop: prevent empty dockwidget context menuitems Summary: This patch prevents dock widgets (toolviews) from having empty items in their context menus. Most the corresponding actions can probably not be represented in menus anyway and are thus unlikely to do anything when triggered through a menu. The average user doesn't know that though. The patch achieves this by filtering out QActions that would not have a title in `IdealDockWidget::contextMenuRequested()` but also adds a menu item text to two actions which I think make sense to include in the context menu. (Doing this makes it possible to hide the toolview's toolbar in more situations, gaining a bit of vertical space.) BUG: 386911 FIXED-IN: 5.2.1 Test Plan: Works as intended on Mac and Linux/X11 . I understand there may be another way to detect QActions that cannot be represented in menus but haven't yet found such an alternative. Such an alternative could be used in addition to the empty text check which I think should be done as argued in the summary. Individual plugins can also override `IToolViewFactor::contextMenuActions()`. Reviewers: kfunk Reviewed By: kfunk Subscribers: kdevelop-devel Tags: #kdevelop Differential Revision: https://phabricator.kde.org/D8954 --- kdevplatform/sublime/idealdockwidget.cpp | 9 ++++++++- plugins/contextbrowser/contextbrowserview.cpp | 3 +++ plugins/outlineview/outlinewidget.cpp | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/kdevplatform/sublime/idealdockwidget.cpp b/kdevplatform/sublime/idealdockwidget.cpp index 4f63ec1507..91cda624f5 100644 --- a/kdevplatform/sublime/idealdockwidget.cpp +++ b/kdevplatform/sublime/idealdockwidget.cpp @@ -100,7 +100,14 @@ void IdealDockWidget::contextMenuRequested(const QPoint &point) QList< QAction* > viewActions = m_view->contextMenuActions(); if(!viewActions.isEmpty()) { - menu.addActions(viewActions); + // add the view's actions to the context menu, + // checking each if it can be represented + foreach (const auto action, viewActions) { + if (!action->text().isEmpty() && !action->iconText().isEmpty()) { + // avoid adding empty menu items + menu.addAction(action); + } + } menu.addSeparator(); } diff --git a/plugins/contextbrowser/contextbrowserview.cpp b/plugins/contextbrowser/contextbrowserview.cpp index e08be57cc1..33f81c6ec6 100644 --- a/plugins/contextbrowser/contextbrowserview.cpp +++ b/plugins/contextbrowser/contextbrowserview.cpp @@ -182,6 +182,9 @@ ContextBrowserView::ContextBrowserView( ContextBrowserPlugin* plugin, QWidget* p m_declarationMenuAction = new QAction(QIcon::fromTheme(QStringLiteral("code-class")), QString(), this); m_declarationMenuAction->setToolTip(i18n("Declaration menu")); + // expose the declaration menu via the context menu; allows hiding the toolbar to save some space + // (this will not make it behave like a submenu though) + m_declarationMenuAction->setText(m_declarationMenuAction->toolTip()); connect(m_declarationMenuAction, &QAction::triggered, this, &ContextBrowserView::declarationMenu); addAction(m_declarationMenuAction); m_lockAction = new KToggleAction(QIcon::fromTheme(QStringLiteral("object-unlocked")), i18n("Lock Current View"), this); diff --git a/plugins/outlineview/outlinewidget.cpp b/plugins/outlineview/outlinewidget.cpp index 6358b4a254..40f09d9526 100644 --- a/plugins/outlineview/outlinewidget.cpp +++ b/plugins/outlineview/outlinewidget.cpp @@ -57,6 +57,8 @@ OutlineWidget::OutlineWidget(QWidget* parent, OutlineViewPlugin* plugin) // sort action m_sortAlphabeticallyAction = new QAction(QIcon::fromTheme(QStringLiteral("view-sort-ascending")), QString(), this); m_sortAlphabeticallyAction->setToolTip(i18n("Sort alphabetically")); + // reuse the tooltip so the action will show up in the context menu: + m_sortAlphabeticallyAction->setText(m_sortAlphabeticallyAction->toolTip()); m_sortAlphabeticallyAction->setCheckable(true); connect(m_sortAlphabeticallyAction, &QAction::triggered, this, [this](bool sort) { // calling sort with -1 will restore the original order From 8622a1bc8cfed51161a92e3e6e553ab7e95aaf70 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Wed, 22 Nov 2017 22:38:22 +0100 Subject: [PATCH 048/108] cvs: Fix porting bug in QDir usage QDir::absoluteDir() does always return a QDir instance pointing to the file's path *not including the file name*. Very bad API... That's not what we want here. We'd like to have the exact same path. A similar patch has been made in the Git plugin a while ago, see: 623fe1839054d0e9863ec71d3e3837bb098abb4d --- plugins/cvs/cvsproxy.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/cvs/cvsproxy.cpp b/plugins/cvs/cvsproxy.cpp index 54b025fb12..c557ba333b 100644 --- a/plugins/cvs/cvsproxy.cpp +++ b/plugins/cvs/cvsproxy.cpp @@ -40,7 +40,7 @@ CvsProxy::~CvsProxy() bool CvsProxy::isValidDirectory(const QUrl& dirPath) const { const QFileInfo fsObject( dirPath.toLocalFile() ); - QDir dir = fsObject.isDir() ? fsObject.absoluteDir() : fsObject.dir(); + QDir dir = fsObject.isDir() ? QDir(fsObject.filePath()) : fsObject.dir(); return dir.exists(QStringLiteral("CVS")); } @@ -48,7 +48,7 @@ bool CvsProxy::isValidDirectory(const QUrl& dirPath) const bool CvsProxy::isVersionControlled(const QUrl& filePath) const { const QFileInfo fsObject( filePath.toLocalFile() ); - QDir dir = fsObject.isDir() ? fsObject.absoluteDir() : fsObject.dir(); + QDir dir = fsObject.isDir() ? QDir(fsObject.filePath()) : fsObject.dir(); if( !dir.cd(QStringLiteral("CVS")) ) return false; From 4182c472369aa834e62944d05c4461ea0a99b93d Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Thu, 23 Nov 2017 00:00:04 +0100 Subject: [PATCH 049/108] Use kdevelop icon for all plugins without an existing own icon --- plugins/android/kdevandroid.json | 2 +- plugins/cvs/kdevcvs.json | 2 +- plugins/docker/kdevdocker.json | 2 +- plugins/flatpak/kdevflatpak.json | 2 +- plugins/gdb/kdevgdb.json | 2 +- plugins/lldb/kdevlldb.json | 2 +- plugins/vcschangesview/kdevvcschangesview.json | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/android/kdevandroid.json b/plugins/android/kdevandroid.json index 693d6b194c..b70e152dc3 100644 --- a/plugins/android/kdevandroid.json +++ b/plugins/android/kdevandroid.json @@ -24,7 +24,7 @@ "Description[uk]": "Надає доступ до середовищ виконання Android", "Description[x-test]": "xxExposes Android runtimesxx", "Description[zh_CN]": "暴露 Android 运行时", - "Icon": "android", + "Icon": "kdevelop", "Id": "kdevandroid", "License": "GPL", "Name": "Android Support", diff --git a/plugins/cvs/kdevcvs.json b/plugins/cvs/kdevcvs.json index 923180fb03..69da3402fb 100644 --- a/plugins/cvs/kdevcvs.json +++ b/plugins/cvs/kdevcvs.json @@ -27,7 +27,7 @@ "Description[uk]": "За допомогою цього додатка можна інтегрувати CVS до KDevelop", "Description[x-test]": "xxThis plugin integrates CVS to KDevelopxx", "Description[zh_CN]": "此插件将 CVS 整合到 KDevelop", - "Icon": "cervisia", + "Icon": "kdevelop", "Id": "kdevcvs", "License": "GPL", "Name": "CVS Support", diff --git a/plugins/docker/kdevdocker.json b/plugins/docker/kdevdocker.json index aa96ee98b3..d7ece9e205 100644 --- a/plugins/docker/kdevdocker.json +++ b/plugins/docker/kdevdocker.json @@ -24,7 +24,7 @@ "Description[uk]": "Надає доступ до середовищ виконання Docker", "Description[x-test]": "xxExposes Docker runtimesxx", "Description[zh_CN]": "暴露 Docker 运行时", - "Icon": "docker", + "Icon": "kdevelop", "Id": "kdevdocker", "License": "GPL", "Name": "Docker Support", diff --git a/plugins/flatpak/kdevflatpak.json b/plugins/flatpak/kdevflatpak.json index 9c1f9a4d06..9df79d8959 100644 --- a/plugins/flatpak/kdevflatpak.json +++ b/plugins/flatpak/kdevflatpak.json @@ -24,7 +24,7 @@ "Description[uk]": "Надає доступ до середовищ виконання Flatpak", "Description[x-test]": "xxExposes Flatpak runtimesxx", "Description[zh_CN]": "暴露 Flatpak 运行时", - "Icon": "flatpak", + "Icon": "kdevelop", "Id": "kdevflatpak", "License": "GPL", "Name": "Flatpak Support", diff --git a/plugins/gdb/kdevgdb.json b/plugins/gdb/kdevgdb.json index b5c4253dd7..0b1dfa2927 100644 --- a/plugins/gdb/kdevgdb.json +++ b/plugins/gdb/kdevgdb.json @@ -22,7 +22,7 @@ "Description[uk]": "Цей додаток надає можливість користуватися клієнтським інтерфейсом GDB, зневадника вихідного коду на C, C++ тощо.", "Description[x-test]": "xxThis plugin provides a frontend for GDB, a source-level debugger for C, C++ and more.xx", "Description[zh_CN]": "此插件提供了 GDB 前端,GDB 是一个源码级的 C、C++ 等多语言的调试器。", - "Icon": "debugger", + "Icon": "kdevelop", "Id": "kdevgdb", "License": "GPL", "Name": "GDB Support", diff --git a/plugins/lldb/kdevlldb.json b/plugins/lldb/kdevlldb.json index ad5a555fc2..6580abdb1c 100644 --- a/plugins/lldb/kdevlldb.json +++ b/plugins/lldb/kdevlldb.json @@ -19,7 +19,7 @@ "Description[uk]": "Цей додаток є обгорткою до LLDB, високошвидкісного засобу діагностики коду мовами C/Obj-C/C++.", "Description[x-test]": "xxThis plugin provides a frontend for LLDB, a next generation, high-performance C/Obj-C/C++ debugger.xx", "Description[zh_CN]": "此插件提供了 GDB 前端,GDB 是一个源码级的 C、C++ 等多语言的调试器。", - "Icon": "debugger", + "Icon": "kdevelop", "Id": "kdevlldb", "License": "GPL", "Name": "LLDB Support", diff --git a/plugins/vcschangesview/kdevvcschangesview.json b/plugins/vcschangesview/kdevvcschangesview.json index a65ac45f9a..00dab80aed 100644 --- a/plugins/vcschangesview/kdevvcschangesview.json +++ b/plugins/vcschangesview/kdevvcschangesview.json @@ -30,7 +30,7 @@ "Description[uk]": "За допомогою цього додатка забезпечується інтеграція між проектами та інфраструктурою системи керування версіями (VCS)", "Description[x-test]": "xxThis plugin provides integration between the projects and their VCS infrastructurexx", "Description[zh_CN]": "此插件提供工程和它们的代码管理系统的集成", - "Icon": "git", + "Icon": "kdevelop", "Id": "kdevvcschangesviewplugin", "License": "GPL", "Name": "VCS Integration", From 26fe4c7e87847215a910fd98ee4c43a9bdf9f1ac Mon Sep 17 00:00:00 2001 From: Lars DIECKOW Date: Thu, 23 Nov 2017 00:50:07 +0000 Subject: [PATCH 050/108] Use 'rm -f' on tempfile, in case 'rm' is aliased to 'rm -i'. BUG: 379652 FIXED-IN: 5.2.1 --- kdevplatform/util/kdevplatform_shell_environment.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kdevplatform/util/kdevplatform_shell_environment.sh b/kdevplatform/util/kdevplatform_shell_environment.sh index 46d954d662..54f2261875 100755 --- a/kdevplatform/util/kdevplatform_shell_environment.sh +++ b/kdevplatform/util/kdevplatform_shell_environment.sh @@ -786,7 +786,7 @@ function setenv! { executeInAppSync "if ! [ -e $(getCurrentShellEnvPath) ]; then touch $(getCurrentShellEnvPath); fi" "" fi source $TEMP - rm $TEMP + rm -f $TEMP } function showenv! { From 161e09e5767688b43f1d81bbe0d2448b1dd651db Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 23 Nov 2017 10:57:35 +0100 Subject: [PATCH 051/108] shell: Add more debug output if no plugins found That's mainly for debugging the Windows CI --- kdevplatform/shell/plugincontroller.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kdevplatform/shell/plugincontroller.cpp b/kdevplatform/shell/plugincontroller.cpp index 43e73ed57d..1e29f7c75c 100644 --- a/kdevplatform/shell/plugincontroller.cpp +++ b/kdevplatform/shell/plugincontroller.cpp @@ -289,7 +289,11 @@ PluginController::PluginController(Core *core) } }); - qCDebug(SHELL) << "Found" << newPlugins.size() << " plugins:" << foundPlugins; + qCDebug(SHELL) << "Found" << newPlugins.size() << "plugins:" << foundPlugins; + if (newPlugins.isEmpty()) { + qCWarning(SHELL) << "Did not find any plugins, check your environment."; + qCWarning(SHELL) << " Note: QT_PLUGIN_PATH is set to:" << qgetenv("QT_PLUGIN_PATH"); + } d->plugins = newPlugins; From 9e9ddb6fcae80758a8e211e87bdf56cec109ee82 Mon Sep 17 00:00:00 2001 From: Francis Herne Date: Thu, 23 Nov 2017 11:08:33 +0000 Subject: [PATCH 052/108] CMake: Explicity use old behaviour for automoc of generated files. This avoids a large number of verbose warnings when using CMake 3.10. --- CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index d60aa8ccd0..2644edaadd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,10 @@ include(CheckFunctionExists) include(KDEInstallDirs) include(KDECMakeSettings) +if(POLICY CMP0071) + cmake_policy(SET CMP0071 OLD) +endif() + set(QT_MIN_VERSION "5.5.0") find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Widgets Concurrent Quick QuickWidgets) if(BUILD_TESTING) From 967df1e875a701bc78537506438c6a935b67bd16 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 23 Nov 2017 12:28:47 +0100 Subject: [PATCH 053/108] cmake: Add a note why we're setting CMP0071 --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2644edaadd..1ba959c3f2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,6 +32,9 @@ include(KDEInstallDirs) include(KDECMakeSettings) if(POLICY CMP0071) + # CMake 3.10 generates warnings when projects combine AUTOMOC with qt5_wrap_ui() or qt5_add_resources() + # Avoid that by setting this policy (cf. https://bugreports.qt.io/browse/QTBUG-63442) + # Note: Once we depend on a Qt which has this fix (likely Qt 5.9.4+), remove this cmake_policy(SET CMP0071 OLD) endif() From d1d19bada7be7ef37947a3297daea380795fe424 Mon Sep 17 00:00:00 2001 From: Francis Herne Date: Wed, 22 Nov 2017 14:15:25 +0000 Subject: [PATCH 054/108] CMakeLists.txt: Append KF5 macros to CMAKE_AUTOMOC_MACRO_NAMES CMake 3.9 introduced bogus automoc warnings of the form: "The file includes the moc file "foo.moc", but does not contain a Q_OBJECT, Q_GADGET or Q_NAMESPACE macro." These are caused by use of KF5-provided macros that it doesn't recognise, and obscure the real compiler output. CMake 3.10+ can be told extra macros to accept, which avoids the warnings. Ideally this should be done either in ECM or in each framework that exports these macros, but this solves the problem for us in the meantime. Differential Revision: https://phabricator.kde.org/D8951 --- CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ba959c3f2..38ca426b01 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,14 @@ set(KDEV_PLUGIN_VERSION 30) find_package (ECM 5.14.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${KDevelop_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) +if(NOT CMAKE_VERSION VERSION_LESS "3.10.0") + # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know about other macros. + # 3.10+ lets us provide more macro names that require automoc. + # Remove this when depending on a Frameworks or ECM version that solves this upstream. + list(APPEND CMAKE_AUTOMOC_MACRO_NAMES + "K_PLUGIN_FACTORY_WITH_JSON" "K_EXPORT_PLASMA_DATAENGINE_WITH_JSON" "K_EXPORT_PLASMA_RUNNER") +endif() + include(KDECompilerSettings NO_POLICY_SCOPE) # needs to be first, as set policies influence following macros include(ECMOptionalAddSubdirectory) include(ECMInstallIcons) From f537d64007e1bacbc5954a1fd3e4ba05a7ac5a73 Mon Sep 17 00:00:00 2001 From: Sven Brauch Date: Thu, 23 Nov 2017 13:15:57 +0100 Subject: [PATCH 055/108] fix compile warning --- kdevplatform/vcs/models/vcsannotationmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kdevplatform/vcs/models/vcsannotationmodel.cpp b/kdevplatform/vcs/models/vcsannotationmodel.cpp index 2b80969c04..ac8cc5ca14 100644 --- a/kdevplatform/vcs/models/vcsannotationmodel.cpp +++ b/kdevplatform/vcs/models/vcsannotationmodel.cpp @@ -153,7 +153,7 @@ QVariant VcsAnnotationModel::data( int line, Qt::ItemDataRole role ) const } else if( role == Qt::DisplayRole ) { return QVariant( QStringLiteral("%1 ").arg(aline.date().date().year()) + abbreviateLastName(aline.author()) ); - } else if( role == KTextEditor::AnnotationModel::GroupIdentifierRole ) + } else if( role == (int) KTextEditor::AnnotationModel::GroupIdentifierRole ) { return aline.revision().revisionValue(); } else if( role == Qt::ToolTipRole ) From b060b4d3a871094243dd2a4a0bca8c6bdeb1af65 Mon Sep 17 00:00:00 2001 From: Sven Brauch Date: Thu, 23 Nov 2017 13:16:53 +0100 Subject: [PATCH 056/108] Set version number to 5.2.1 --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 38ca426b01..ca8bab6b66 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0) -project(KDevelop VERSION 5.2.0) +project(KDevelop VERSION 5.2.1) # KDevelop SOVERSION # E.g. for KDevelop 5.2.0 => SOVERSION 52 (we only promise ABI compatibility between patch version updates) From aa5163b76db21d0abbd90304c423275da22ac056 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Thu, 23 Nov 2017 21:40:36 +0100 Subject: [PATCH 057/108] Fix kdevelop! to use new version of "pss" cmld argument with kdevelop v5 (old single dash version with more than one character is not supported by QCommandLineParser) --- app/kdevelop! | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/kdevelop! b/app/kdevelop! index 88fb659f09..5d97a25664 100755 --- a/app/kdevelop! +++ b/app/kdevelop! @@ -24,7 +24,7 @@ export APPLICATION=KDevelop if ! [ "$KDEV_ATTACHED_PID" ]; then ARGS="" if [ $# -eq 0 ]; then - ARGS="-pss" + ARGS="--pss" else ARGS="$@" fi From d8b111cb5ae52c60571c1bbe6293565f5dee7415 Mon Sep 17 00:00:00 2001 From: David Faure Date: Sat, 25 Nov 2017 12:20:37 +0100 Subject: [PATCH 058/108] QtCreator shortcuts: fix Alt-Left/Alt-Right. --- shortcuts/QtCreator | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/shortcuts/QtCreator b/shortcuts/QtCreator index 45136e0012..bd1334742e 100644 --- a/shortcuts/QtCreator +++ b/shortcuts/QtCreator @@ -49,8 +49,10 @@ - - + + + + From 213a14554fe6985bcf086ccd4b61fcd30ead0817 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 27 Nov 2017 05:48:54 +0100 Subject: [PATCH 059/108] GIT_SILENT made messages (after extraction) --- org.kde.kdevelop.appdata.xml | 5 +++++ plugins/clang/kdevclang.xml | 2 ++ 2 files changed, 7 insertions(+) diff --git a/org.kde.kdevelop.appdata.xml b/org.kde.kdevelop.appdata.xml index 319c3ef7e8..5f46411aa1 100644 --- a/org.kde.kdevelop.appdata.xml +++ b/org.kde.kdevelop.appdata.xml @@ -33,6 +33,8 @@

Featureful, plugin-extensible IDE for C/C++ and other programming languages És un IDE, extensible amb connectors, amb totes les característiques per a C/C++ i altres llenguatges de programació. És un IDE, extensible amb connectors, amb totes les característiques per a C/C++ i altres llenguatges de programació. + Eine leistungsfähige integrierte Entwicklungsumgebung (IDE) für C/C++ und andere Programmiersprachen, die durch Module erweitert werden kann. + Featureful, plugin-extensible IDE for C/C++ and other programming languages Entorno de desarrollo integrado para C/C++ y otros lenguajes de programación con múltiples funcionalidades y que se puede extender con complementos. Environnement de développement complet et extensible pour le C/C++ et d'autres langages de programmation. IDE per C/C++ e altri linguaggi di programmazione completo ed estensibile @@ -49,6 +51,7 @@

KDevelop is a Free and Open Source integrated development environment (IDE).

El KDevelop és un entorn de desenvolupament integrat (IDE) lliure i de codi obert.

El KDevelop és un entorn de desenvolupament integrat (IDE) lliure i de codi obert.

+

KDevelop is a Free and Open Source integrated development environment (IDE).

KDevelop es un entorno de desarrollo integrado (IDE) libre y de código abierto.

KDevelop est un environnement de développement intégré (IDE) libre et en open source.

KDevelop è un ambiente di sviluppo integrato (IDE) libero e open source.

@@ -64,6 +67,7 @@

It provides editing, navigation and debugging features for several programming languages, as well as integration with multiple build systems and version-control systems, using a plugin-based architecture.

Proporciona característiques per a l'edició, navegació i depuració per a diversos llenguatges de programació, així com la integració amb múltiples sistemes de construcció i sistemes de control de versions, emprant una arquitectura basada en connectors.

Proporciona característiques per a l'edició, navegació i depuració per a diversos llenguatges de programació, així com la integració amb múltiples sistemes de construcció i sistemes de control de versions, emprant una arquitectura basada en connectors.

+

It provides editing, navigation and debugging features for several programming languages, as well as integration with multiple build systems and version-control systems, using a plugin-based architecture.

Proporciona funciones de edición, navegación y depuración para varios lenguajes de programación, además de integración con diversos sistemas de compilación y de control de versiones, usando una arquitectura basada en complementos.

Il fournit des fonctionnalités d'édition, navigation et débogage pour plusieurs langages de programmation, ainsi que l'intégration de multiples systèmes de compilation et de gestion de révision, en utilisant une architecture extensible.

Fornisce funzionalità di modifica, navigazione debug per vari linguaggi di programmazione, così come l'integrazione con vari sistemi di compilazione e di controllo versione, tramite l'uso di architettura basata sulle estensioni.

@@ -79,6 +83,7 @@

KDevelop has parser backends for C, C++ and Javascript/QML, with further external plugins supporting e.g. PHP or Python.

El KDevelop disposa de dorsals d'analitzador per a C, C ++ i Javascript/QML, amb altres connectors externs que implementen, p. ex., PHP o Python.

El KDevelop disposa de dorsals d'analitzador per a C, C ++ i Javascript/QML, amb altres connectors externs que implementen, p. ex., PHP o Python.

+

KDevelop has parser backends for C, C++ and Javascript/QML, with further external plugins supporting e.g. PHP or Python.

KDevelop dispone de motores de análisis sintáctico para C, C++ y JavaScript/QML, además de complementos externos (por ejemplo, para PHP o para Python).

KDevelop intègre des parseurs pour le C, le C++ et Javascript/QML, avec des modules externes pour prendre en charge PHP, Python, etc.

KDevelop ha dei motori di analisi per C, C++ e JavaScript/QML, come ulteriori estensioni esterne che supportano, ad esempio, PHP o Python.

diff --git a/plugins/clang/kdevclang.xml b/plugins/clang/kdevclang.xml index ccf4bed910..2eaa068b42 100644 --- a/plugins/clang/kdevclang.xml +++ b/plugins/clang/kdevclang.xml @@ -36,6 +36,8 @@ Codi font en C per a CUDA de NVIDIA Codi font en C per a CUDA de NVIDIA Zdrojový kód NVIDIA CUDA C + NVIDIA CUDA C Quelltext + NVIDIA CUDA C source code Código fuente NVIDIA CUDA C Codice sorgente CUDA C di NVIDIA NVIDIA CUDA C broncode From eb89ac10e6104b3e4dac6dfbcf5b64b02636ccde Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 27 Nov 2017 06:56:34 +0100 Subject: [PATCH 060/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- app/org.kde.kdevelop.desktop | 2 ++ app/org.kde.kdevelop_ps.desktop | 1 + .../cpp/QMake/qmake_qt5guiapp/qmake_qt5guiapp.kdevtemplate | 2 ++ file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop | 2 ++ file_templates/classes/qobject_pimpl/qobject_pimpl.desktop | 2 ++ file_templates/classes/qt_interface/qt_interface.desktop | 2 ++ kdevplatform/interfaces/kdevelopplugin.desktop | 1 + plugins/android/kdevandroid.json | 1 + plugins/bazaar/kdevbazaar.json | 1 + plugins/custom-buildsystem/kdevcustombuildsystem.json | 1 + plugins/cvs/kdevcvs.json | 1 + .../docker/dockerfile-template/dockerfile-template.desktop | 5 +++++ .../documentview/settings/kcm_documentview_settings.desktop | 2 ++ plugins/filemanager/kdevfilemanager.json | 1 + .../flatpak-template/flatpak-builder-manifest.desktop | 4 ++++ plugins/flatpak/kdevflatpak.json | 1 + plugins/git/kdevgit.json | 1 + plugins/heaptrack/kdevheaptrack.json | 2 ++ plugins/perforce/kdevperforce.json | 1 + plugins/subversion/kdevsubversion.json | 1 + 20 files changed, 34 insertions(+) diff --git a/app/org.kde.kdevelop.desktop b/app/org.kde.kdevelop.desktop index f8664d209d..4fbc23eedf 100644 --- a/app/org.kde.kdevelop.desktop +++ b/app/org.kde.kdevelop.desktop @@ -73,6 +73,8 @@ GenericName[zh_TW]=整合開發環境 Comment=Plugin-extensible IDE for C/C++ and other programming languages Comment[ca]=Un IDE ampliable amb connectors per al C/C++ i altres llenguatges de programació Comment[ca@valencia]=Un IDE ampliable amb connectors per al C/C++ i altres llenguatges de programació +Comment[de]=Eine integrierte Entwicklungsumgebung (IDE) für C/C++ und andere Programmiersprachen, die durch Module erweitert werden kann. +Comment[en_GB]=Plugin-extensible IDE for C/C++ and other programming languages Comment[es]=Entorno de desarrollo integrado para C/C++ y otros lenguajes de programación que se puede extender con complementos Comment[fr]=Il s'agit d'un environnement de développement complet et extensible pour le C / C++ et d'autres langages de programmation. Comment[it]=IDE estensibile per C/C++ ed altri linguaggi di programmazione diff --git a/app/org.kde.kdevelop_ps.desktop b/app/org.kde.kdevelop_ps.desktop index defde5edc8..e0a17b63f4 100644 --- a/app/org.kde.kdevelop_ps.desktop +++ b/app/org.kde.kdevelop_ps.desktop @@ -68,6 +68,7 @@ GenericName[zh_TW]=整合開發環境(選擇要開始的工作階段) Comment=Plugin-extensible IDE for C/C++ and other programming languages (Pick Session to start with) Comment[ca]=Un IDE ampliable amb connectors per al C/C++ i altres llenguatges de programació (trieu Sessió per a començar-hi) Comment[ca@valencia]=Un IDE ampliable amb connectors per al C/C++ i altres llenguatges de programació (trieu Sessió per a començar-hi) +Comment[en_GB]=Plugin-extensible IDE for C/C++ and other programming languages (Pick Session to start with) Comment[es]=Entorno de desarrollo integrado para C/C++ y otros lenguajes de programación que se puede extender con complementos (escoger sesión con la que empezar) Comment[fr]=Il s'agit d'un environnement de développement complet et extensible pour le C / C++ et d'autres langages de programmation (sélectionnez la session avec laquelle vous voulez commencer). Comment[it]=IDE estensibile per C/C++ ed altri linguaggi di programmazione (Scegliere la sessione con cui iniziare) diff --git a/app_templates/cpp/QMake/qmake_qt5guiapp/qmake_qt5guiapp.kdevtemplate b/app_templates/cpp/QMake/qmake_qt5guiapp/qmake_qt5guiapp.kdevtemplate index 6ed64f0df2..e0c896b5aa 100644 --- a/app_templates/cpp/QMake/qmake_qt5guiapp/qmake_qt5guiapp.kdevtemplate +++ b/app_templates/cpp/QMake/qmake_qt5guiapp/qmake_qt5guiapp.kdevtemplate @@ -3,6 +3,7 @@ Name=QMake Qt5 QWidgets GUI Application Name[ca]=Una aplicació IGU per a QMake Qt5 QWidgets Name[ca@valencia]=Una aplicació IGU per a QMake Qt5 QWidgets Name[cs]=Aplikace prostředí QMake Qt5 QWidgets +Name[en_GB]=QMake Qt5 QWidgets GUI Application Name[es]=Aplicación con interfaz gráfica con QWidgets de Qt5 y QMake Name[fr]=Une application graphique avec Qt5, QMake et QWidgets Name[it]=Applicazione con GUI in QWidgets di Qt5 e QMake @@ -20,6 +21,7 @@ Comment=Generate a QMake/Qt5 based GUI application (crossplatform compatible) Comment[ca]=Genera una aplicació IGU basada en QMake/Qt5 (compatible amb multiplataforma) Comment[ca@valencia]=Genera una aplicació IGU basada en QMake/Qt5 (compatible amb multiplataforma) Comment[cs]=Vytvořit aplikaci založenou na QMake/Qt5 (multiplatformní) +Comment[en_GB]=Generate a QMake/Qt5 based GUI application (crossplatform compatible) Comment[es]=Genera una aplicación con interfaz gráfica basada en QMake/Qt5 (compatible multiplataforma) Comment[fr]=Générer une application graphique basée sur QMake/Qt5 (compatible multi-plate-forme) Comment[it]=Genera un'applicazione basata su QMake/Qt5 con interfaccia utente grafica (compatibile multipiattaforma) diff --git a/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop b/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop index d7520d3cb8..8988198d28 100644 --- a/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop +++ b/file_templates/classes/qdialog_pimpl/qdialog_pimpl.desktop @@ -2,6 +2,7 @@ Name=Dialog (pimpl) with a UI File Name[ca]=Diàleg (pimpl) amb un fitxer IU Name[ca@valencia]=Diàleg (pimpl) amb un fitxer IU +Name[en_GB]=Dialogue (pimpl) with a UI File Name[es]=Diálogo (pimpl) con un archivo de interfaz gráfica Name[fr]=Dialogue (pimpl) avec un fichier d'interface utilisateur Name[it]=Finestra di dialogo (pimpl) con un file UI @@ -17,6 +18,7 @@ Name[zh_CN]=使用 UI 文件的对话框 (pimpl) Comment=QDialog subclass with a separate Qt Designer file and private implementation Comment[ca]=Subclasse QDialog amb un fitxer separat del Qt Designer i una implementació privada Comment[ca@valencia]=Subclasse QDialog amb un fitxer separat del Qt Designer i una implementació privada +Comment[en_GB]=QDialog subclass with a separate Qt Designer file and private implementation Comment[es]=Subclase de QDialog con un archivo separado del Diseñador de Qt y una implementación privada Comment[fr]=Sous-classe QDialog avec un fichier Qt  Designer séparé et une implémentation privée Comment[it]=Sottoclasse di QDialog con un file separato di Qt Designer e implementazione privata diff --git a/file_templates/classes/qobject_pimpl/qobject_pimpl.desktop b/file_templates/classes/qobject_pimpl/qobject_pimpl.desktop index 8a597a314f..d554318975 100644 --- a/file_templates/classes/qobject_pimpl/qobject_pimpl.desktop +++ b/file_templates/classes/qobject_pimpl/qobject_pimpl.desktop @@ -3,6 +3,7 @@ Name=QObject pimpl subclass Name[ca]=Subclasse QObject «pimpl» Name[ca@valencia]=Subclasse QObject «pimpl» Name[cs]=Podtřída QObject pimpl +Name[en_GB]=QObject pimpl subclass Name[es]=Subclase «pimpl» de QObject Name[fr]=Sous-classe QObject Name[it]=Sottoclasse pimpl di QObject @@ -19,6 +20,7 @@ Name[zh_CN]=QObject pimpl 子类 Comment=QObject subclass with private implementation Comment[ca]=Una subclasse QObject amb implementació privada Comment[ca@valencia]=Una subclasse QObject amb implementació privada +Comment[en_GB]=QObject subclass with private implementation Comment[es]=Una subclase de QObject con una implementación privada Comment[fr]=Une sous-classe QObject avec une implémentation privée Comment[it]=Una sottoclasse di QObject con un'implementazione privata diff --git a/file_templates/classes/qt_interface/qt_interface.desktop b/file_templates/classes/qt_interface/qt_interface.desktop index e0c6a9a14f..a7ebd492dd 100644 --- a/file_templates/classes/qt_interface/qt_interface.desktop +++ b/file_templates/classes/qt_interface/qt_interface.desktop @@ -3,6 +3,7 @@ Name=QObject interface class Name[ca]=Classe d'interfície QObject Name[ca@valencia]=Classe d'interfície QObject Name[cs]=Třída QObject interface +Name[en_GB]=QObject interface class Name[es]=Clase de interfaz para QObject Name[fr]=Classe d'interface QObject Name[it]=Classe interfaccia di QObject @@ -19,6 +20,7 @@ Name[zh_CN]=QObject 接口类 Comment=QObject interface class with properties Comment[ca]=Classe d'interfície QObject amb propietats Comment[ca@valencia]=Classe d'interfície QObject amb propietats +Comment[en_GB]=QObject interface class with properties Comment[es]=Clase de interfaz para QObject con propiedades Comment[fr]=Interface QObject avec des propriétés Comment[it]=Classe interfaccia di QObject con delle proprietà diff --git a/kdevplatform/interfaces/kdevelopplugin.desktop b/kdevplatform/interfaces/kdevelopplugin.desktop index 4a37871aee..d1a8662bfb 100644 --- a/kdevplatform/interfaces/kdevelopplugin.desktop +++ b/kdevplatform/interfaces/kdevelopplugin.desktop @@ -8,6 +8,7 @@ Name[ca]=Connector del KDevelop Name[ca@valencia]=Connector del KDevelop Name[cs]=Modul KDevelop Name[de]=KDevelop-Modul +Name[en_GB]=KDevelop Plugin Name[es]=Complemento de KDevelop Name[fr]=Module externe pour KDevelop Name[hr]=KDevelop priključak diff --git a/plugins/android/kdevandroid.json b/plugins/android/kdevandroid.json index b70e152dc3..2a0661f49f 100644 --- a/plugins/android/kdevandroid.json +++ b/plugins/android/kdevandroid.json @@ -31,6 +31,7 @@ "Name[ca@valencia]": "Implementació de l'Android", "Name[ca]": "Implementació de l'Android", "Name[cs]": "Podpora Androidu", + "Name[de]": "Unterstützung für Android", "Name[es]": "Implementación de Android", "Name[fr]": "Prise en charge d'Android", "Name[it]": "Supporto per Android", diff --git a/plugins/bazaar/kdevbazaar.json b/plugins/bazaar/kdevbazaar.json index ebcd3ceced..e47da9da22 100644 --- a/plugins/bazaar/kdevbazaar.json +++ b/plugins/bazaar/kdevbazaar.json @@ -13,6 +13,7 @@ "Description[ca@valencia]": "Este connector integra el Bazaar al KDevelop", "Description[ca]": "Aquest connector integra el Bazaar al KDevelop", "Description[cs]": "Tento modul integruje podporu pro Bazaar v KDevelop", + "Description[de]": "Dieses Modul integriert Bazaar in KDevelop", "Description[es]": "Este complemento integra Bazaar en KDevelop", "Description[et]": "See plugin lõimib Bazaari KDevelopiga", "Description[fi]": "Tämä liitännäinen integroi Bazaarin KDevelop-ympäristöön", diff --git a/plugins/custom-buildsystem/kdevcustombuildsystem.json b/plugins/custom-buildsystem/kdevcustombuildsystem.json index 3449a86156..1c1726f65b 100644 --- a/plugins/custom-buildsystem/kdevcustombuildsystem.json +++ b/plugins/custom-buildsystem/kdevcustombuildsystem.json @@ -28,6 +28,7 @@ "Name[ca@valencia]": "Sistema de construcció personalitzat", "Name[ca]": "Sistema de construcció personalitzat", "Name[cs]": "Vlastní systém pro sestavení", + "Name[de]": "Eigenes Build-System", "Name[es]": "Sistema de construcción personalizado", "Name[fr]": "Système personnalisé de compilation", "Name[it]": "Sistema di compilazione personalizzato", diff --git a/plugins/cvs/kdevcvs.json b/plugins/cvs/kdevcvs.json index 69da3402fb..343e4e30b3 100644 --- a/plugins/cvs/kdevcvs.json +++ b/plugins/cvs/kdevcvs.json @@ -11,6 +11,7 @@ "Description[ca@valencia]": "Este connector integra el CVS al KDevelop", "Description[ca]": "Aquest connector integra el CVS al KDevelop", "Description[cs]": "Tento modul integruje podporu pro CVS v KDevelop", + "Description[de]": "Dieses Modul integriert CVS in KDevelop.", "Description[es]": "Este complemento integra CVS en KDevelop", "Description[et]": "See plugin lõimib CVS-i KDevelopiga", "Description[fi]": "Tämä liitännäinen integroi CVS:n KDevelopiin", diff --git a/plugins/docker/dockerfile-template/dockerfile-template.desktop b/plugins/docker/dockerfile-template/dockerfile-template.desktop index 6be259c547..b7ace35b0e 100644 --- a/plugins/docker/dockerfile-template/dockerfile-template.desktop +++ b/plugins/docker/dockerfile-template/dockerfile-template.desktop @@ -3,6 +3,8 @@ Name=Dockerfile Name[ca]=Dockerfile Name[ca@valencia]=Dockerfile Name[cs]=Dockerfile +Name[de]=Dockerfile +Name[en_GB]=Dockerfile Name[es]=Dockerfile Name[fr]=Fichier Docker Name[it]=Dockerfile @@ -18,6 +20,7 @@ Name[zh_CN]=Dockerfile Comment=A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image Comment[ca]=Un Dockerfile és un document de text que conté totes les ordres que un usuari hauria de cridar per a muntar una imatge Comment[ca@valencia]=Un Dockerfile és un document de text que conté totes les ordes que un usuari hauria de cridar per a muntar una imatge +Comment[en_GB]=A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image Comment[es]=Un «Dockerfile» es un documento de texto que contiene todas las órdenes que puede invocar el usuario en la línea de órdenes para ensamblar una imagen Comment[fr]=Un fichier Docker est un document texte qui contient toutes les commandes qu'un utilisateur pourrait taper en ligne de commande pour assembler une image Comment[it]=Un file Dockerfile è un documento di testo che contiene tutti i comandi che un utente può chiamare da riga di comando per assemblare un'immagine @@ -35,6 +38,8 @@ Language=JSON Language[ca]=JSON Language[ca@valencia]=JSON Language[cs]=JSON +Language[de]=JSON +Language[en_GB]=JSON Language[es]=JSON Language[fr]=JSON Language[it]=JSON diff --git a/plugins/documentview/settings/kcm_documentview_settings.desktop b/plugins/documentview/settings/kcm_documentview_settings.desktop index d85933f2f5..0e239efc3e 100644 --- a/plugins/documentview/settings/kcm_documentview_settings.desktop +++ b/plugins/documentview/settings/kcm_documentview_settings.desktop @@ -17,6 +17,7 @@ Name[ca]=Visor de document Name[ca@valencia]=Visor de document Name[cs]=Pohled na dokumenty Name[de]=Dokumentansicht +Name[en_GB]=Document View Name[es]=Vista de documento Name[fr]=Vue Document Name[ga]=Amharc Cáipéise @@ -47,6 +48,7 @@ Comment[ca@valencia]=Configura els arranjaments del visor de document Comment[cs]=Upravit nastavení zobrazení dokumentu Comment[de]=Einstellungen für Dokumentansicht Comment[el]=Ρύθμιση επιλογών προβολής εγγράφου +Comment[en_GB]=Configure Document View settings Comment[es]=Configurar las preferencias de la vista de documento Comment[et]=Dokumendivaate valikute seadistamine Comment[fr]=Configurer les paramètres de la vue Document diff --git a/plugins/filemanager/kdevfilemanager.json b/plugins/filemanager/kdevfilemanager.json index 3b49173376..35f8052b99 100644 --- a/plugins/filemanager/kdevfilemanager.json +++ b/plugins/filemanager/kdevfilemanager.json @@ -12,6 +12,7 @@ "Description[ca@valencia]": "Este connector proporciona un gestor de fitxers al KDevelop.", "Description[ca]": "Aquest connector proporciona un gestor de fitxers al KDevelop.", "Description[cs]": "Tento modul do KDevelop přináší správce souborů.", + "Description[de]": "Diese Modul fügt eine Dateiverwaltung zu KDevelop hinzu.", "Description[es]": "Este complemento proporciona un gestor de archivos a KDevelop.", "Description[et]": "See plugin võimaldab kasutada KDevelopis failihaldurit.", "Description[fi]": "Tämä liitännäinen tuo tiedostohallinnan KDevelopiin.", diff --git a/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop b/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop index 0b41ed2794..a05b489537 100644 --- a/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop +++ b/plugins/flatpak/flatpak-template/flatpak-builder-manifest.desktop @@ -2,6 +2,7 @@ Name=Flatpak Builder Manifest Name[ca]=Manifest del constructor Flatpak Name[ca@valencia]=Manifest del constructor Flatpak +Name[en_GB]=Flatpak Builder Manifest Name[es]=Manifiesto de construcción de Flatpak Name[fr]=Manifest de construction Flatpak Name[it]=Manifesto di Flatpak Builder @@ -17,6 +18,7 @@ Name[zh_CN]=Flatpak 构建器清单文件 Comment=A file to configure how a project is built by flatpak Comment[ca]=Un fitxer per a configurar com serà construït un projecte per Flatpak Comment[ca@valencia]=Un fitxer per a configurar com serà construït un projecte per Flatpak +Comment[en_GB]=A file to configure how a project is built by flatpak Comment[es]=Un archivo para configurar cómo construye flatpak un proyecto Comment[fr]=Un fichier pour configurer comment un projet est construit par Flatpak Comment[it]=Un file per configurare come il progetto viene generato da flatpak @@ -34,6 +36,8 @@ Language=JSON Language[ca]=JSON Language[ca@valencia]=JSON Language[cs]=JSON +Language[de]=JSON +Language[en_GB]=JSON Language[es]=JSON Language[fr]=JSON Language[it]=JSON diff --git a/plugins/flatpak/kdevflatpak.json b/plugins/flatpak/kdevflatpak.json index 9df79d8959..092c818744 100644 --- a/plugins/flatpak/kdevflatpak.json +++ b/plugins/flatpak/kdevflatpak.json @@ -31,6 +31,7 @@ "Name[ca@valencia]": "Implementació del Flatpak", "Name[ca]": "Implementació del Flatpak", "Name[cs]": "Podpora pro Flatpak", + "Name[de]": "Flatpak-Unterstützung", "Name[es]": "Implementación de Flatpak", "Name[fr]": "Prise en charge de Flatpak", "Name[it]": "Supporto per Flatpak", diff --git a/plugins/git/kdevgit.json b/plugins/git/kdevgit.json index 6dcc2909ce..074e6fb0ed 100644 --- a/plugins/git/kdevgit.json +++ b/plugins/git/kdevgit.json @@ -12,6 +12,7 @@ "Description[ca@valencia]": "Este connector integra el Git al KDevelop", "Description[ca]": "Aquest connector integra el Git al KDevelop", "Description[cs]": "Tento modul integruje podporu pro Git v KDevelop", + "Description[de]": "Dieses Modul integriert Git in KDevelop.", "Description[es]": "Este complemento integra Git en KDevelop", "Description[et]": "See plugin lõimib Giti KDevelopiga", "Description[fi]": "Tämä liitännäinen integroi Git-ohjelman KDevelop-ympäristöön", diff --git a/plugins/heaptrack/kdevheaptrack.json b/plugins/heaptrack/kdevheaptrack.json index 149dd479aa..a9d057cbdb 100644 --- a/plugins/heaptrack/kdevheaptrack.json +++ b/plugins/heaptrack/kdevheaptrack.json @@ -13,6 +13,7 @@ "Description[ca@valencia]": "Este connector integra el Heaptrack al KDevelop", "Description[ca]": "Aquest connector integra el Heaptrack al KDevelop", "Description[cs]": "Tento modul integruje Heaptrack do KDevelop", + "Description[de]": "Dieses Modul integriert Heaptrack in KDevelop", "Description[es]": "Este complemento integra Heaptrack en KDevelop", "Description[fr]": "Ce module externe intègre Heaptrack à KDevelop", "Description[it]": "Questa estensione integra Heaptrack in KDevelop", @@ -33,6 +34,7 @@ "Name[ca@valencia]": "Implementació del Heaptrack", "Name[ca]": "Implementació del Heaptrack", "Name[cs]": "Podpora Heaptracku", + "Name[de]": "Heaptrack-Unterstützung", "Name[es]": "Implementación de Heaptrack", "Name[fr]": "Prise en charge Heaptrack", "Name[it]": "Supporto per Heaptrack", diff --git a/plugins/perforce/kdevperforce.json b/plugins/perforce/kdevperforce.json index 77b7b8f8e0..eadccb496f 100644 --- a/plugins/perforce/kdevperforce.json +++ b/plugins/perforce/kdevperforce.json @@ -31,6 +31,7 @@ "Name[ca@valencia]": "Implementació del Perforce", "Name[ca]": "Implementació del Perforce", "Name[cs]": "Podpora Perforce", + "Name[de]": "Perforce-Unterstützung", "Name[es]": "Implementación de Perforce", "Name[fr]": "Prise en charge de Perforce", "Name[it]": "Supporto per Perforce", diff --git a/plugins/subversion/kdevsubversion.json b/plugins/subversion/kdevsubversion.json index 4148b9ac4f..c652cf59a7 100644 --- a/plugins/subversion/kdevsubversion.json +++ b/plugins/subversion/kdevsubversion.json @@ -11,6 +11,7 @@ "Description[ca@valencia]": "Este connector integra el Subversion en el KDevelop.", "Description[ca]": "Aquest connector integra el Subversion en el KDevelop.", "Description[cs]": "Tento modul integruje podporu pro subversion v KDevelop", + "Description[de]": "Dieses Modul integriert Subversion in KDevelop.", "Description[es]": "Este complemento integra Subversion en KDevelop.", "Description[fr]": "Ce module intègre Subversion dans KDevelop.", "Description[it]": "Questa estensione integra Subversion in KDevelop.", From fda10aeff1b9116db19508b7008406f3c6d88aac Mon Sep 17 00:00:00 2001 From: Aleix Pol Date: Mon, 27 Nov 2017 10:57:14 +0100 Subject: [PATCH 061/108] Make sure the flatpak filename rx is what we expected it to be (cherry picked from commit 2aec8448c949acf22367eec1d35a1a272975eb43) --- plugins/flatpak/flatpakplugin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/flatpak/flatpakplugin.cpp b/plugins/flatpak/flatpakplugin.cpp index 4a1ebf1e81..32d2fed368 100644 --- a/plugins/flatpak/flatpakplugin.cpp +++ b/plugins/flatpak/flatpakplugin.cpp @@ -164,7 +164,7 @@ KDevelop::ContextMenuExtension FlatpakPlugin::contextMenuExtension(KDevelop::Con } } - const QRegularExpression nameRx(".*\\..*\\.*.json$"); + const QRegularExpression nameRx(".*\\..*\\..*\\.json$"); for(auto it = urls.begin(); it != urls.end(); ) { if (it->isLocalFile() && it->path().contains(nameRx)) { ++it; From 4bc8cb5e964c16a622961b6dc0c6acf52699436c Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Thu, 30 Nov 2017 13:19:38 +0100 Subject: [PATCH 062/108] port last away from deprecated kate modeline "remove-trailing-space-save" --- kdevplatform/language/highlighting/codehighlighting.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kdevplatform/language/highlighting/codehighlighting.cpp b/kdevplatform/language/highlighting/codehighlighting.cpp index 5e5ecb3fb4..6e22462146 100644 --- a/kdevplatform/language/highlighting/codehighlighting.cpp +++ b/kdevplatform/language/highlighting/codehighlighting.cpp @@ -639,4 +639,4 @@ void CodeHighlighting::aboutToRemoveText( const KTextEditor::Range& range ) } -// kate: space-indent on; indent-width 2; replace-trailing-space-save on; show-tabs on; tab-indents on; tab-width 2; +// kate: space-indent on; indent-width 2; remove-trailing-spaces all; show-tabs on; tab-indents on; tab-width 2; From b4fd209b0fd4e1854a3bcb794cf04e9d56f69540 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 4 Dec 2017 06:12:24 +0100 Subject: [PATCH 063/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- plugins/appwizard/kdevappwizard.json | 1 - plugins/bazaar/kdevbazaar.json | 1 - plugins/classbrowser/kdevclassbrowser.json | 2 -- plugins/codeutils/kdevcodeutils.json | 2 -- plugins/contextbrowser/kdevcontextbrowser.json | 2 -- plugins/cvs/kdevcvs.json | 1 - plugins/documentswitcher/kdevdocumentswitcher.json | 2 -- plugins/documentview/kdevdocumentview.json | 1 - plugins/execute/kdevexecute.json | 2 -- plugins/executescript/kdevexecutescript.json | 2 -- plugins/externalscript/kdevexternalscript.json | 2 -- plugins/filemanager/kdevfilemanager.json | 1 - plugins/filetemplates/kdevfiletemplates.json | 2 -- plugins/git/kdevgit.json | 1 - plugins/grepview/kdevgrepview.json | 2 -- plugins/konsole/kdevkonsoleview.json | 1 - plugins/openwith/kdevopenwith.json | 2 -- plugins/outlineview/kdevoutlineview.json | 2 -- plugins/patchreview/kdevpatchreview.json | 2 -- plugins/problemreporter/kdevproblemreporter.json | 2 -- plugins/projectfilter/kdevprojectfilter.json | 1 - plugins/projectmanagerview/kdevprojectmanagerview.json | 1 - plugins/quickopen/kdevquickopen.json | 2 -- plugins/standardoutputview/kdevstandardoutputview.json | 2 -- plugins/subversion/kdevsubversion.json | 1 - plugins/switchtobuddy/kdevswitchtobuddy.json | 2 -- plugins/testview/kdevtestview.json | 2 -- plugins/vcschangesview/kdevvcschangesview.json | 1 - plugins/welcomepage/kdevwelcomepage.json | 1 - 29 files changed, 46 deletions(-) diff --git a/plugins/appwizard/kdevappwizard.json b/plugins/appwizard/kdevappwizard.json index 92e30a719e..0706836aed 100644 --- a/plugins/appwizard/kdevappwizard.json +++ b/plugins/appwizard/kdevappwizard.json @@ -15,7 +15,6 @@ "Description[de]": "Anwendungsassistent", "Description[es]": "Asistente de aplicaciones", "Description[et]": "Rakenduse nõustaja", - "Description[fi]": "Opastettu sovelluksen luonti", "Description[fr]": "Assistant application", "Description[gl]": "Asistente para aplicativos", "Description[it]": "Procedura guidata per applicazioni", diff --git a/plugins/bazaar/kdevbazaar.json b/plugins/bazaar/kdevbazaar.json index e47da9da22..9548c93ea0 100644 --- a/plugins/bazaar/kdevbazaar.json +++ b/plugins/bazaar/kdevbazaar.json @@ -16,7 +16,6 @@ "Description[de]": "Dieses Modul integriert Bazaar in KDevelop", "Description[es]": "Este complemento integra Bazaar en KDevelop", "Description[et]": "See plugin lõimib Bazaari KDevelopiga", - "Description[fi]": "Tämä liitännäinen integroi Bazaarin KDevelop-ympäristöön", "Description[fr]": "Ce module intègre Bazaar dans KDevelop", "Description[gl]": "Este complemento integra Bazaar con KDevelop", "Description[it]": "Questa estensione integra Bazaar in KDevelop", diff --git a/plugins/classbrowser/kdevclassbrowser.json b/plugins/classbrowser/kdevclassbrowser.json index ba5d12a8cb..8b489e0261 100644 --- a/plugins/classbrowser/kdevclassbrowser.json +++ b/plugins/classbrowser/kdevclassbrowser.json @@ -13,7 +13,6 @@ "Description[de]": "Dieses Modul bietet eine Liste der aktuell eingelesenen Klassen und anderer Elemente.", "Description[es]": "Este complemento proporciona un modelo navegable de las clases actualmente analizadas y de otros elementos.", "Description[et]": "See plugin pakub parajasti parsitavate klasside ja teiste elementide sirvitavat mudelit.", - "Description[fi]": "Tämä liitännäinen tarjoaa selattavan mallin nykyisellään jäsennetyistä luokista ja muista kohteista.", "Description[fr]": "Ce module fournit un modèle navigable des classes actuellement analysées et d'autres éléments.", "Description[gl]": "Este complemento fornece un modelo navegábel das clases e outros elementos que estean procesados.", "Description[it]": "Questa estensione fornisce un modello navigabile delle classi attualmente analizzate e di altri elementi.", @@ -38,7 +37,6 @@ "Name[de]": "Klassen-Browser", "Name[es]": "Navegador de clases", "Name[et]": "Klassibrauser", - "Name[fi]": "Luokkaselain", "Name[fr]": "Navigateur de classes", "Name[gl]": "Navegador de clases", "Name[it]": "Navigatore delle classi", diff --git a/plugins/codeutils/kdevcodeutils.json b/plugins/codeutils/kdevcodeutils.json index 21e7782c22..7f6afb7412 100644 --- a/plugins/codeutils/kdevcodeutils.json +++ b/plugins/codeutils/kdevcodeutils.json @@ -8,7 +8,6 @@ "Description[de]": "Sammlung verschiedener Werkzeuge, die die Produktivität während des Programmierens erhöhen.", "Description[es]": "Colección de diversas utilidades que incrementan la productividad al programar.", "Description[et]": "Mitmesugused tööriistad, mis suurendavad produktiivsust programmeerimisel.", - "Description[fi]": "Kokoelma sekalaisia työkaluja, jotka lisäävät ohjelmointisi tuottavuutta.", "Description[fr]": "Collection d'utilitaires variés qui améliorent la productivité pour programmer.", "Description[gl]": "Colección de varias utilidades que aumentan a produtividade durante a programación.", "Description[it]": "Raccolta di vari programmi di utilità che aumentano la produttività durante la programmazione.", @@ -31,7 +30,6 @@ "Name[de]": "Quelltext-Werkzeuge", "Name[es]": "Utilidades de código fuente", "Name[et]": "Kooditööriistad", - "Name[fi]": "Koodityökalut", "Name[fr]": "Utilitaires de code", "Name[gl]": "Utilidades de código", "Name[it]": "Utilità per il codice", diff --git a/plugins/contextbrowser/kdevcontextbrowser.json b/plugins/contextbrowser/kdevcontextbrowser.json index 2ee9ca0db1..31b6ab53d5 100644 --- a/plugins/contextbrowser/kdevcontextbrowser.json +++ b/plugins/contextbrowser/kdevcontextbrowser.json @@ -14,7 +14,6 @@ "Description[de]": "Dieses Modul zeigt Informationen über den aktuellen Sprachkontext an und hebt die wichtigen Deklarationen und Vorkommen hervor.", "Description[es]": "Este complemento muestra información de contexto sobre el lenguaje actual en una vista lateral, resaltando declaraciones relevantes y sus usos.", "Description[et]": "See plugin pakub külgvaates teavet aktiivse keele konteksti kohta ning tõstab esile asjakohased deklaratsioonid ja kasutused.", - "Description[fi]": "Tämä liitännäinen näyttää tietoja nykyisestä kielikontekstista sivunäkymässä ja korostaa olennaisia esittelyjä ja käyttöjä.", "Description[fr]": "Ce module affiche des informations à propos du contexte du langage courant dans une vue latérale, et met en évidence les déclarations et utilisations reliées.", "Description[gl]": "Este complemento mostra información sobre o contexto da linguaxe actual nunha vista lateral, e realza as declaracións e utilizacións relevantes.", "Description[it]": "Questa estensione mostra le informazioni sul contesto del linguaggio corrente in una vista laterale, mettendo in evidenza le dichiarazioni e gli usi.", @@ -39,7 +38,6 @@ "Name[de]": "Quelltext-Browser", "Name[es]": "Navegador de código", "Name[et]": "Koodibrauser", - "Name[fi]": "Koodiselain", "Name[fr]": "Navigateur de code", "Name[gl]": "Navegador do código", "Name[it]": "Navigatore del codice", diff --git a/plugins/cvs/kdevcvs.json b/plugins/cvs/kdevcvs.json index 343e4e30b3..5cbd9dc0b5 100644 --- a/plugins/cvs/kdevcvs.json +++ b/plugins/cvs/kdevcvs.json @@ -14,7 +14,6 @@ "Description[de]": "Dieses Modul integriert CVS in KDevelop.", "Description[es]": "Este complemento integra CVS en KDevelop", "Description[et]": "See plugin lõimib CVS-i KDevelopiga", - "Description[fi]": "Tämä liitännäinen integroi CVS:n KDevelopiin", "Description[fr]": "Ce module intègre CVS dans KDevelop", "Description[gl]": "Este complemento integra CVS en KDevelop", "Description[it]": "Questa estensione integra CVS in KDevelop", diff --git a/plugins/documentswitcher/kdevdocumentswitcher.json b/plugins/documentswitcher/kdevdocumentswitcher.json index 3c7f4a8e0f..9b4d660d2b 100644 --- a/plugins/documentswitcher/kdevdocumentswitcher.json +++ b/plugins/documentswitcher/kdevdocumentswitcher.json @@ -14,7 +14,6 @@ "Description[de]": "Ein Umschalter zwischen zuletzt geöffneten Dokumenten für KDevPlatform.", "Description[es]": "Un cambiador de documentos recientemente usados para KDevPlatform.", "Description[et]": "KDevPlatformi viimati kasutatud dokumentide vahetaja", - "Description[fi]": "Vaihtaa tiedostoja niiden käyttöjärjestyksen perusteella", "Description[fr]": "Un changeur de document dernièrement utilisé pour KDevPlatform.", "Description[gl]": "Un selector entre documentos empregados recentemente para KDevPlatform.", "Description[it]": "Uno scambia documento utilizzato più di recente per KDevPlatform.", @@ -39,7 +38,6 @@ "Name[de]": "Zuletzt-Verwendet-Dokumentumschalter", "Name[es]": "Selector de documentos usados recientemente", "Name[et]": "Viimati kasutatud dokumentide vahetaja", - "Name[fi]": "Viimeksi käytetty ensin -tiedostovaihtaja", "Name[fr]": "Commutateur de documents parmi les plus récemment utilisés", "Name[gl]": "Selector entre documentos empregados recentemente", "Name[it]": "Scambia documento utilizzato più di recente", diff --git a/plugins/documentview/kdevdocumentview.json b/plugins/documentview/kdevdocumentview.json index 4440e16e07..1c2bb70563 100644 --- a/plugins/documentview/kdevdocumentview.json +++ b/plugins/documentview/kdevdocumentview.json @@ -14,7 +14,6 @@ "Description[de]": "Dieses Modul zeigt alle aktuell geladenen Dokumente getrennt nach ihren MIME-Typen an.", "Description[es]": "Este complemento muestra una vista gráfica de todos los documentos actualmente cargados y los separa por su tipo MIME.", "Description[et]": "See plugin näitab graafiliselt kõiki laaditud dokumente ja eraldab need MIME tüübi alusel.", - "Description[fi]": "Tämä liitännäinen näyttää kaikkien parhaillaan ladattujen tiedostojen graafisen näkymän ja erottelee ne MIME-tyypin perusteella.", "Description[fr]": "Ce module affiche une vue graphique de tous les documents actuellement chargés et les sépare par type MIME.", "Description[gl]": "Este complemento mostra unha vista gráfica de todos os documentos que están cargados e sepáraos segundo o seu tipo mime.", "Description[it]": "Questa estensione mostra una vista grafica di tutti i documenti attualmente caricati e li separa per il tipo MIME.", diff --git a/plugins/execute/kdevexecute.json b/plugins/execute/kdevexecute.json index b27868bbe5..7ceeca998c 100644 --- a/plugins/execute/kdevexecute.json +++ b/plugins/execute/kdevexecute.json @@ -14,7 +14,6 @@ "Description[de]": "Dieses Modul erlaubt das Ausführen von Programmen im Kontext des Betriebssystems.", "Description[es]": "Este complemento permite ejecutar programas sin instrumentador (es decir, de forma nativa) en la máquina actual.", "Description[et]": "See plugin võimaldab panna programme aktiivses masinas tööle ilma instrumentaatorita, s.t loomulikult.", - "Description[fi]": "Tämä liitännäinen mahdollistaa ohjelmien suorittamisen ilman välikappaletta, ts. natiivisti nykyisellä tietokoneella.", "Description[fr]": "Ce module permet d'exécuter des programmes sans instrumentation, c'est-à-dire de manière native sur l'hôte courant.", "Description[gl]": "Este complemento permite executar programas sen instrumentador, i.e. de xeito nativo na máquina actual.", "Description[it]": "Questa estensione permette l'esecuzione dei programmi senza instrumentor, vale a dire nativamente da parte dell'host attuale.", @@ -39,7 +38,6 @@ "Name[de]": "Programme ausführen", "Name[es]": "Ejecutar programas", "Name[et]": "Programmide täitmine", - "Name[fi]": "Ohjelmien suorittaminen", "Name[fr]": "Exécuter des programmes", "Name[gl]": "Executar programas", "Name[it]": "Esegui i programmi", diff --git a/plugins/executescript/kdevexecutescript.json b/plugins/executescript/kdevexecutescript.json index 31cd4fd5ad..35f8eeac99 100644 --- a/plugins/executescript/kdevexecutescript.json +++ b/plugins/executescript/kdevexecutescript.json @@ -13,7 +13,6 @@ "Description[de]": "Dieses Modul ermöglicht das Ausführen von Skripten.", "Description[es]": "Este complemento permite la ejecución de scripts.", "Description[et]": "See plugin võimaldab käivitada skripte.", - "Description[fi]": "Tämä liitännäinen mahdollistaa skriptien suorittamisen.", "Description[fr]": "Ce module permet d'exécuter des scripts.", "Description[gl]": "Este complemento permite a execución de scripts.", "Description[it]": "Questa estensione permette l'esecuzione degli script.", @@ -38,7 +37,6 @@ "Name[de]": "Skripte ausführen", "Name[es]": "Ejecutar scripts", "Name[et]": "Skriptide käivitamine", - "Name[fi]": "Skriptien suorittaminen", "Name[fr]": "Exécution de scripts", "Name[gl]": "Executar scripts", "Name[it]": "Esegui script", diff --git a/plugins/externalscript/kdevexternalscript.json b/plugins/externalscript/kdevexternalscript.json index 6fa79e1549..0402b09066 100644 --- a/plugins/externalscript/kdevexternalscript.json +++ b/plugins/externalscript/kdevexternalscript.json @@ -14,7 +14,6 @@ "Description[de]": "Führen Sie externe Skripte oder Programme zum Verändern des Editorinhalts oder für beliebige andere Aktionen aus.", "Description[es]": "Ejecutar scripts externos o aplicaciones para manipular el contenido del editor o realizar otras acciones.", "Description[et]": "Välised skriptid või rakendused, mis võimaldavad muuta redaktori sisu või ette võtta mingeid muid toiminguid.", - "Description[fi]": "Suorittaa ulkoisia skriptejä tai sovelluksia editorisisällön manipuloimiseksi tai muiden satunnaisten tehtävien tekemiseksi.", "Description[fr]": "Exécuter des scripts externes ou des applications pour manipuler les contenus de l'éditeur ou autres actions arbitraires.", "Description[gl]": "Executa scripts externos ou aplicativos para manipular os contidos do editor ou levar a cabo outras accións.", "Description[it]": "Avvia script o applicazioni esterne per manipolare il contenuto dell'editor o per eseguire altre azioni.", @@ -39,7 +38,6 @@ "Name[de]": "Externe Skripte", "Name[es]": "Scripts externos", "Name[et]": "Välised skriptid", - "Name[fi]": "Ulkoiset skriptit", "Name[fr]": "Scripts externes", "Name[gl]": "Scripts externos", "Name[it]": "Script esterni", diff --git a/plugins/filemanager/kdevfilemanager.json b/plugins/filemanager/kdevfilemanager.json index 35f8052b99..c7d03a5228 100644 --- a/plugins/filemanager/kdevfilemanager.json +++ b/plugins/filemanager/kdevfilemanager.json @@ -15,7 +15,6 @@ "Description[de]": "Diese Modul fügt eine Dateiverwaltung zu KDevelop hinzu.", "Description[es]": "Este complemento proporciona un gestor de archivos a KDevelop.", "Description[et]": "See plugin võimaldab kasutada KDevelopis failihaldurit.", - "Description[fi]": "Tämä liitännäinen tuo tiedostohallinnan KDevelopiin.", "Description[fr]": "Ce module apporte un gestionnaire de fichiers à KDevelop", "Description[gl]": "Este complemento incorpora un xestor de ficheiros no KDevelop.", "Description[it]": "Questa estensione porta un gestore di file in KDevelop.", diff --git a/plugins/filetemplates/kdevfiletemplates.json b/plugins/filetemplates/kdevfiletemplates.json index a05f2924dd..fc3b485f3b 100644 --- a/plugins/filetemplates/kdevfiletemplates.json +++ b/plugins/filetemplates/kdevfiletemplates.json @@ -15,7 +15,6 @@ "Description[de]": "Verwaltung von Vorlagen für Quelltextdateien", "Description[es]": "Gestiona plantillas para archivos de código fuente", "Description[et]": "Lähtekoodi failide mallide haldamine", - "Description[fi]": "Hallitsee lähdekooditiedostojen malleja", "Description[fr]": "Gère les modèles de fichiers sources", "Description[gl]": "Xestiona modelos para os ficheiros de fonte", "Description[it]": "Gestisce i modelli per i file sorgente", @@ -40,7 +39,6 @@ "Name[de]": "Einrichtung der Dateivorlagen", "Name[es]": "Configuración de plantillas de archivos", "Name[et]": "Failimallide seadistamine", - "Name[fi]": "Tiedostomallien asetukset", "Name[fr]": "Configuration des modèles de fichiers", "Name[gl]": "Configuración dos modelos de ficheiros", "Name[it]": "Configurazione dei file dei modelli", diff --git a/plugins/git/kdevgit.json b/plugins/git/kdevgit.json index 074e6fb0ed..2c4905f646 100644 --- a/plugins/git/kdevgit.json +++ b/plugins/git/kdevgit.json @@ -15,7 +15,6 @@ "Description[de]": "Dieses Modul integriert Git in KDevelop.", "Description[es]": "Este complemento integra Git en KDevelop", "Description[et]": "See plugin lõimib Giti KDevelopiga", - "Description[fi]": "Tämä liitännäinen integroi Git-ohjelman KDevelop-ympäristöön", "Description[fr]": "Ce module externe intègre la gestion de Git dans KDevelop", "Description[gl]": "Este complemento integra Git en KDevelop", "Description[it]": "Questa estensione integra Git in KDevelop", diff --git a/plugins/grepview/kdevgrepview.json b/plugins/grepview/kdevgrepview.json index e2ca4ce6dd..49fd49b056 100644 --- a/plugins/grepview/kdevgrepview.json +++ b/plugins/grepview/kdevgrepview.json @@ -8,7 +8,6 @@ "Description[de]": "Ermöglicht es, Dateien mit Hilfe von Mustern und regulären Ausdrücken zu durchsuchen bzw. Ersetzungen vorzunehmen.", "Description[es]": "Permite la búsqueda rápida en múltiples archivos usando patrones o expresiones regulares. También permite realizar sustituciones.", "Description[et]": "Lubab mustreid või regulaaravaldisi kasutades kiiresti paljudes failides teksti otsida, samuti asendada.", - "Description[fi]": "Mahdollistaa nopean useiden tiedostojen etsinnän käyttäen malleja tai säännöllisiä lausekkeita. Sallii myös korvauksen.", "Description[fr]": "Permet de rechercher rapidement dans plusieurs fichiers en utilisant des motifs ou des expressions rationnelles. Et permet de le remplacer aussi.", "Description[gl]": "Permite facer unha busca rápida en varios ficheiros empregando padróns ou expresións regulares, e tamén realizar substitucións.", "Description[it]": "Consente la ricerca veloce di file multipli usando espressioni regolari o modelli. E consente anche di sostituirli.", @@ -32,7 +31,6 @@ "Name[de]": "In Dateien suchen/ersetzen", "Name[es]": "Buscar/sustituir en archivos", "Name[et]": "Failides otsimine ja asendamine", - "Name[fi]": "Etsi ja korvaa tiedostoista", "Name[fr]": "Chercher / Remplacer dans les fichiers", "Name[gl]": "Buscar/Substituír nos ficheiros", "Name[it]": "Cerca/Sostituisci nei file", diff --git a/plugins/konsole/kdevkonsoleview.json b/plugins/konsole/kdevkonsoleview.json index 91ded46e4a..2d8c6c77d5 100644 --- a/plugins/konsole/kdevkonsoleview.json +++ b/plugins/konsole/kdevkonsoleview.json @@ -8,7 +8,6 @@ "Description[de]": "Dieses Modul stattet KDevelop mit einer eingebetteten Konsole zum einfachen Zugriff auf die Befehlszeile aus.", "Description[es]": "Este complemento proporciona una consola integrada a KDevelop para acceder a la línea de órdenes de forma rápida y fácil.", "Description[et]": "See plugin pakub KDevelopile põimitud konsooli käsurea kiireks ja lihtsaks kasutamiseks.", - "Description[fi]": "Tämä liitännäinen tarjoaa KDevelop-ohjelmalle upotetun pääteikkunan nopeaan ja helppoon komentorivityöskentelyyn.", "Description[fr]": "Ce module apporte à KDevelop une konsole intégrée pour un accès à la ligne de commande rapide et facile.", "Description[gl]": "Este complemento fornécelle a KDevelop un konsole integrado para dispor de acceso rápido e sinxelo á liña de ordes.", "Description[it]": "Questa estensione dota KDevelop di una console integrata per un rapido e semplice accesso alla riga di comando.", diff --git a/plugins/openwith/kdevopenwith.json b/plugins/openwith/kdevopenwith.json index 9b7721dd18..241074b9c3 100644 --- a/plugins/openwith/kdevopenwith.json +++ b/plugins/openwith/kdevopenwith.json @@ -14,7 +14,6 @@ "Description[de]": "Mit diesem Modul können Dateien mit ihnen zugewiesenen externen Anwendungen gestartet werden.", "Description[es]": "Este complemento permite abrir archivos con las aplicaciones externas asociadas.", "Description[et]": "See plugin võimaldab avada väliste rakendustega seostatud faile.", - "Description[fi]": "Tämä liitännäinen mahdollistaa ulkoisiin sovelluksiin liitettyjen tiedostojen avaamisen.", "Description[fr]": "Ce module permet d'ouvrir des fichiers en association avec des applications externes.", "Description[gl]": "Este complemento permítelle abrir ficheiros cos aplicativos externos asociados.", "Description[it]": "Questa estensione permette di aprire i file con le relative applicazioni esterne.", @@ -39,7 +38,6 @@ "Name[de]": "Öffnen mit", "Name[es]": "Abrir con", "Name[et]": "Avamine rakendusega", - "Name[fi]": "Avaa ohjelmalla", "Name[fr]": "Ouvrir avec", "Name[gl]": "Abrir con", "Name[it]": "Apri con", diff --git a/plugins/outlineview/kdevoutlineview.json b/plugins/outlineview/kdevoutlineview.json index be411b0995..e5e9cda7d8 100644 --- a/plugins/outlineview/kdevoutlineview.json +++ b/plugins/outlineview/kdevoutlineview.json @@ -14,7 +14,6 @@ "Description[de]": "Dieses Modul zeigt eine Ansicht der Funktions-Kurzinfos im aktuell geöffneten Dokument.", "Description[es]": "Este complemento proporciona una vista para mostrar el boceto del documento actualmente abierto.", "Description[et]": "See plugin pakub parajasti avatud dokumendi struktuuri vaadet.", - "Description[fi]": "Tämä liitännäinen tarjoaa näkymän, jossa näkyy tällä hetkellä avoimen tiedoston rakenne.", "Description[fr]": "Ce module fournit une vue pour afficher le plan du document ouvert", "Description[gl]": "Este complemento fornece unha vista para mostrar o esquema do documento actual.", "Description[it]": "Questa estensione fornisce una vista che mostra uno schema di massima del documento attualmente aperto.", @@ -39,7 +38,6 @@ "Name[de]": "Funktions-Kurzinfo", "Name[es]": "Boceto", "Name[et]": "Struktuur", - "Name[fi]": "Rakenne", "Name[fr]": "Plan", "Name[gl]": "Esquema", "Name[it]": "Schema di massima", diff --git a/plugins/patchreview/kdevpatchreview.json b/plugins/patchreview/kdevpatchreview.json index 575c03f621..7100f4c16f 100644 --- a/plugins/patchreview/kdevpatchreview.json +++ b/plugins/patchreview/kdevpatchreview.json @@ -14,7 +14,6 @@ "Description[de]": "Dieses Modul ermöglicht es, Patches direkt im Editor durchzusehen.", "Description[es]": "Este complemento permite la revisión de parches directamente en el editor.", "Description[et]": "See plugin võimaldab paiku üle vaadata otse redaktoris.", - "Description[fi]": "Tämä liitännäinen salli korjausten katselmoinnin suoraan editorissa.", "Description[fr]": "Ce module permet de passer en revue des correctifs directement dans l'éditeur.", "Description[gl]": "Este complemento permite revisar parches directamente no editor.", "Description[it]": "Questa estensione permette di rivedere le patch direttamente nell'editor.", @@ -39,7 +38,6 @@ "Name[de]": "Patch-Durchsicht", "Name[es]": "Revisión de parches", "Name[et]": "Paikade läbivaatus", - "Name[fi]": "Korjauksen katselmointi", "Name[fr]": "Révision de correctifs", "Name[gl]": "Revisor de parches", "Name[it]": "Revisione patch", diff --git a/plugins/problemreporter/kdevproblemreporter.json b/plugins/problemreporter/kdevproblemreporter.json index 868d2a00fc..f72237615a 100644 --- a/plugins/problemreporter/kdevproblemreporter.json +++ b/plugins/problemreporter/kdevproblemreporter.json @@ -14,7 +14,6 @@ "Description[de]": "Dieses Modul zeigt Fehler im Quelltext an.", "Description[es]": "Este complemento muestra errores en el código fuente.", "Description[et]": "See plugin näitab vigu lähtekoodis.", - "Description[fi]": "Tämä liitännäinen näyttää virheet lähdekoodissa.", "Description[fr]": "Ce module affiche les erreurs dans le code source.", "Description[gl]": "Esta extensión mostra erros no código fonte.", "Description[it]": "Questa estensione mostra gli errori nel codice sorgente.", @@ -39,7 +38,6 @@ "Name[de]": "Ansicht für Fehlerberichte", "Name[es]": "Vista del notificador de problemas", "Name[et]": "Probleemide teavitaja vaade", - "Name[fi]": "Ongelmailmoitinnäkymä", "Name[fr]": "Vue du rapporteur de problèmes", "Name[gl]": "Vista do relator de problemas", "Name[it]": "Vista segnalazione problemi", diff --git a/plugins/projectfilter/kdevprojectfilter.json b/plugins/projectfilter/kdevprojectfilter.json index 972157f466..608ec95c67 100644 --- a/plugins/projectfilter/kdevprojectfilter.json +++ b/plugins/projectfilter/kdevprojectfilter.json @@ -13,7 +13,6 @@ "Description[de]": "Legt fest, welche Dateien und Ordner innerhalb des Projektordners ein- oder ausgeschlossen werden sollen.", "Description[es]": "Configurar los archivos y carpetas que pertenecen a la carpeta del proyecto y que deben ser incluidos o excluidos.", "Description[et]": "Määramine, millised projektikataloogi failid ja kataloogid kaasata või välja jätta.", - "Description[fi]": "Valitse, mitkä projektikansiossa olevat tiedostot ja kansiot pitäisi ottaa mukaan ja mitkä pitäisi jättää pois.", "Description[fr]": "Configurer quels fichiers et dossiers à l'intérieur du dossier projet doivent être inclus ou exclus.", "Description[gl]": "Configurar cales ficheiros e cartafoles dentro do cartafol do proxecto deben incluírse ou excluírse.", "Description[it]": "Configura quali file e cartelle nella cartella del progetto devono essere incluse o escluse.", diff --git a/plugins/projectmanagerview/kdevprojectmanagerview.json b/plugins/projectmanagerview/kdevprojectmanagerview.json index 730150a7b3..85ab98fe67 100644 --- a/plugins/projectmanagerview/kdevprojectmanagerview.json +++ b/plugins/projectmanagerview/kdevprojectmanagerview.json @@ -14,7 +14,6 @@ "Description[de]": "Lässt Sie den Inhalt Ihres Projekts verwalten.", "Description[es]": "Le permite gestionar el contenido del proyecto.", "Description[et]": "Projektide sisu haldamine.", - "Description[fi]": "Mahdollistaa projektien sisällön hallinnan.", "Description[fr]": "Vous laisse gérer le contenu du projet.", "Description[gl]": "Permítelle xestionar os contidos do proxecto.", "Description[it]": "Consente di gestire i contenuti del progetto.", diff --git a/plugins/quickopen/kdevquickopen.json b/plugins/quickopen/kdevquickopen.json index ff5f4f7f24..cb3a4edb58 100644 --- a/plugins/quickopen/kdevquickopen.json +++ b/plugins/quickopen/kdevquickopen.json @@ -14,7 +14,6 @@ "Description[de]": "Dieses Modul bietet schnellen Zugriff auf Projektdateien und Sprachelemente wie Klassen und Funktionen.", "Description[es]": "Este complemento permite acceder rápidamente a los archivos del proyecto y a elementos del lenguaje, como clases y funciones.", "Description[et]": "See plugin pakub kiiret ligipääsu projekti failidele ja keele elementidele, näiteks klassidele ja funktsioonidele.", - "Description[fi]": "Tämä liitännäinen mahdollistaa projektitiedostojen nopean haun ja kielialkiot kuten luokat/funktiot.", "Description[fr]": "Ce module permet un accès rapide aux fichiers du projet et aux éléments de langage comme les classes / fonctions.", "Description[gl]": "Este complemento permite acceder rapidamente a ficheiros de proxecto e elementos da linguaxe como clases e funcións.", "Description[it]": "Questa estensione permette di accedere rapidamente ai file di progetto e agli elementi del linguaggio come le classi/funzioni.", @@ -39,7 +38,6 @@ "Name[de]": "Schnellöffner", "Name[es]": "Apertura rápida", "Name[et]": "Kiiravamine", - "Name[fi]": "Pika-avaus", "Name[fr]": "Ouverture rapide", "Name[gl]": "Apertura rápida", "Name[it]": "Apertura veloce", diff --git a/plugins/standardoutputview/kdevstandardoutputview.json b/plugins/standardoutputview/kdevstandardoutputview.json index 9356ff8e09..d6694ddba6 100644 --- a/plugins/standardoutputview/kdevstandardoutputview.json +++ b/plugins/standardoutputview/kdevstandardoutputview.json @@ -8,7 +8,6 @@ "Description[de]": "Stellt eine Textausgabe für andere Module zur Verfügung, um Dinge wie Compiler-Nachrichten anzuzeigen.", "Description[es]": "Proporciona un visor de salida de texto para que otros complementos muestren cosas como mensajes del compilador, por ejemplo.", "Description[et]": "Teistele pluginatele kättesaadav tekstiväljundi tööriistavaade, mis näitab kompilaatori teateid ja muud.", - "Description[fi]": "Tarjoaa tekstitulostetyökalunäkymän muille liitännäisille käytettäväksi, näyttää asiat kuin kääntäjäviestit.", "Description[fr]": "Fournit un outil d'affichage de la sortie texte pour utilisation par d'autres modules, pour afficher des choses comme des messages de compilateur.", "Description[gl]": "Fornece unha ferramenta de saída de texto a outros complementos, para mostrar cousas como mensaxes do compilador.", "Description[it]": "Fornisce una vista strumenti testuale che può essere usata dalla estensioni per mostrare cose come i messaggi del compilatore.", @@ -32,7 +31,6 @@ "Name[de]": "Ansicht für Ausgaben", "Name[es]": "Vista de la salida", "Name[et]": "Väljundivaade", - "Name[fi]": "Tulostenäkymä", "Name[fr]": "Vue de la sortie", "Name[gl]": "Vista da saída", "Name[it]": "Vista output", diff --git a/plugins/subversion/kdevsubversion.json b/plugins/subversion/kdevsubversion.json index c652cf59a7..3bed938aa9 100644 --- a/plugins/subversion/kdevsubversion.json +++ b/plugins/subversion/kdevsubversion.json @@ -33,7 +33,6 @@ "Name[de]": "Subversion-Unterstützung", "Name[es]": "Implementación de Subversion", "Name[et]": "Subversioni toetus", - "Name[fi]": "Subversion-tuki", "Name[fr]": "Prise en charge de Subversion", "Name[gl]": "Soporte de Subversion", "Name[it]": "Supporto per Subversion", diff --git a/plugins/switchtobuddy/kdevswitchtobuddy.json b/plugins/switchtobuddy/kdevswitchtobuddy.json index 0e2447c7b4..dce39c47ba 100644 --- a/plugins/switchtobuddy/kdevswitchtobuddy.json +++ b/plugins/switchtobuddy/kdevswitchtobuddy.json @@ -7,7 +7,6 @@ "Description[de]": "Ermöglicht das Umschalten zwischen verwandten Dokumenten wie Implementations- und Header-Dateien.", "Description[es]": "Permite cambiar entre documentos asociados, como la implementación y el archivo de cabecera.", "Description[et]": "Võimaldab lülituda sõltlasdokumentide, näiteks teostus- ja päisefaili vahel.", - "Description[fi]": "Mahdollistaa vaihtamisen yhteen kuuluvien tiedostojen, kuten toteutus- ja otsikkotiedoston, välillä.", "Description[fr]": "Permet de basculer entre des documents amis comme l'implémentation et le fichier d'en-tête.", "Description[gl]": "Permite trocar entre documentos tipo buddy como implementación e ficheiro de cabeceira.", "Description[it]": "Consente il passaggio tra i documenti associati come implementazioni e file header.", @@ -30,7 +29,6 @@ "Name[de]": "Zu verwandtem Element wechseln", "Name[es]": "Cambiar al asociado", "Name[et]": "Lülitumine sõltlasele", - "Name[fi]": "Vaihda yhteen kuuluvaan tiedostoon", "Name[fr]": "Passage à Buddy", "Name[gl]": "Pasar a Buddy", "Name[it]": "Passa al file associato", diff --git a/plugins/testview/kdevtestview.json b/plugins/testview/kdevtestview.json index 91b57f0e3c..cd0f8e83f3 100644 --- a/plugins/testview/kdevtestview.json +++ b/plugins/testview/kdevtestview.json @@ -14,7 +14,6 @@ "Description[de]": "Unit-Tests anzeigen und ausführen.", "Description[es]": "Le permite ver y ejecutar pruebas unitarias.", "Description[et]": "Ühiktestide näitamine ja käivitamine.", - "Description[fi]": "Mahdollistaa yksikkötestien tarkastelemisen ja suorittamisen.", "Description[fr]": "Vous permet de voir et exécuter des tests unitaires.", "Description[gl]": "Permite ver e executar probas unitarias.", "Description[it]": "Consente di vedere ed eseguire i test d'unità.", @@ -39,7 +38,6 @@ "Name[de]": "Unittest-Ansicht", "Name[es]": "Vista de la prueba unitaria", "Name[et]": "Ühiktestide vaade", - "Name[fi]": "Yksikkötestinäkymä", "Name[fr]": "Affichage des tests unitaires", "Name[gl]": "Vista de probas unitarias", "Name[it]": "Vista test d'unità", diff --git a/plugins/vcschangesview/kdevvcschangesview.json b/plugins/vcschangesview/kdevvcschangesview.json index 00dab80aed..47c7e19cd5 100644 --- a/plugins/vcschangesview/kdevvcschangesview.json +++ b/plugins/vcschangesview/kdevvcschangesview.json @@ -15,7 +15,6 @@ "Description[de]": "Dieses Modul stellt eine Integration zwischen Projekten und ihrer VCS-Infrastruktur her.", "Description[es]": "Este complemento proporciona integración entre los proyectos y su infraestructura VCS", "Description[et]": "See plugin võimaldab lõimida projektid ja nende versioonihalduse infrastruktuuri", - "Description[fi]": "Tämä liitännäinen tarjoaa projektien ja niiden versionhallintajärjestelmien välisen integraation", "Description[fr]": "Ce module fournit une intégration entre les projets et leur infrastructure de contrôle de version", "Description[gl]": "Este complemento fornece integración entre os proxectos e a súa infraestrutura VCS", "Description[it]": "Questa estensione fornisce integrazione tra i progetti e la loro infrastruttura VCS", diff --git a/plugins/welcomepage/kdevwelcomepage.json b/plugins/welcomepage/kdevwelcomepage.json index 87bfb3cfc7..f59086ce11 100644 --- a/plugins/welcomepage/kdevwelcomepage.json +++ b/plugins/welcomepage/kdevwelcomepage.json @@ -25,7 +25,6 @@ "Name[de]": "KDevelop-Startseite", "Name[es]": "Página de bienvenida de KDevelop", "Name[et]": "KDevelopi tervituslehekülg", - "Name[fi]": "KDevelopin tervetulosivu", "Name[fr]": "Page d'accueil de KDevelop", "Name[gl]": "Páxina de benvida de KDevelop", "Name[it]": "Pagina di benvenuto di KDevelop", From 64535f161f9ff1d37c32a2414c1a89b64b6fec79 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Tue, 5 Dec 2017 05:32:56 +0100 Subject: [PATCH 064/108] GIT_SILENT made messages (after extraction) --- org.kde.kdevelop.appdata.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/org.kde.kdevelop.appdata.xml b/org.kde.kdevelop.appdata.xml index 5f46411aa1..63844f8813 100644 --- a/org.kde.kdevelop.appdata.xml +++ b/org.kde.kdevelop.appdata.xml @@ -51,6 +51,7 @@

KDevelop is a Free and Open Source integrated development environment (IDE).

El KDevelop és un entorn de desenvolupament integrat (IDE) lliure i de codi obert.

El KDevelop és un entorn de desenvolupament integrat (IDE) lliure i de codi obert.

+

KDevelop ist eine integrierte Entwicklungsumgebung (Frei und Open Source).

KDevelop is a Free and Open Source integrated development environment (IDE).

KDevelop es un entorno de desarrollo integrado (IDE) libre y de código abierto.

KDevelop est un environnement de développement intégré (IDE) libre et en open source.

From 8e20d4d906258a306138239ab2711f4a3e684888 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Tue, 5 Dec 2017 06:21:59 +0100 Subject: [PATCH 065/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- file_templates/classes/qobject_pimpl/qobject_pimpl.desktop | 1 + file_templates/classes/qt_interface/qt_interface.desktop | 2 ++ 2 files changed, 3 insertions(+) diff --git a/file_templates/classes/qobject_pimpl/qobject_pimpl.desktop b/file_templates/classes/qobject_pimpl/qobject_pimpl.desktop index d554318975..b213948892 100644 --- a/file_templates/classes/qobject_pimpl/qobject_pimpl.desktop +++ b/file_templates/classes/qobject_pimpl/qobject_pimpl.desktop @@ -20,6 +20,7 @@ Name[zh_CN]=QObject pimpl 子类 Comment=QObject subclass with private implementation Comment[ca]=Una subclasse QObject amb implementació privada Comment[ca@valencia]=Una subclasse QObject amb implementació privada +Comment[de]=QObject-Unterklasse mit privater Implementierung Comment[en_GB]=QObject subclass with private implementation Comment[es]=Una subclase de QObject con una implementación privada Comment[fr]=Une sous-classe QObject avec une implémentation privée diff --git a/file_templates/classes/qt_interface/qt_interface.desktop b/file_templates/classes/qt_interface/qt_interface.desktop index a7ebd492dd..5f7100d191 100644 --- a/file_templates/classes/qt_interface/qt_interface.desktop +++ b/file_templates/classes/qt_interface/qt_interface.desktop @@ -3,6 +3,7 @@ Name=QObject interface class Name[ca]=Classe d'interfície QObject Name[ca@valencia]=Classe d'interfície QObject Name[cs]=Třída QObject interface +Name[de]=QObject-Schnittstellenklasse Name[en_GB]=QObject interface class Name[es]=Clase de interfaz para QObject Name[fr]=Classe d'interface QObject @@ -20,6 +21,7 @@ Name[zh_CN]=QObject 接口类 Comment=QObject interface class with properties Comment[ca]=Classe d'interfície QObject amb propietats Comment[ca@valencia]=Classe d'interfície QObject amb propietats +Comment[de]=QObject-Schnittstellenklasse mit Eigenschaften Comment[en_GB]=QObject interface class with properties Comment[es]=Clase de interfaz para QObject con propiedades Comment[fr]=Interface QObject avec des propriétés From 98dc5bee03e7b54a31f7b514509f10f786314150 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Wed, 6 Dec 2017 08:54:34 +0100 Subject: [PATCH 066/108] Fix thread not being tagged as "(running)" Code accidentally dropped in 0f623d54c4db06ee91fa020d549d65a23039fde3 --- plugins/debuggercommon/miframestackmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/debuggercommon/miframestackmodel.cpp b/plugins/debuggercommon/miframestackmodel.cpp index 643ef28076..5abbe2bb39 100644 --- a/plugins/debuggercommon/miframestackmodel.cpp +++ b/plugins/debuggercommon/miframestackmodel.cpp @@ -80,7 +80,7 @@ void MIFrameStackModel::handleThreadInfo(const ResultRecord& r) if (threadMI[QStringLiteral("state")].literal() == QLatin1String("stopped")) { threadItem.name = getFunctionOrAddress(threadMI[QStringLiteral("frame")]); } else { - i18n("(running)"); + threadItem.name = i18n("(running)"); } threadsList << threadItem; } From b8de65ddb7a9890629ed5471b82b8fbef5cd67c2 Mon Sep 17 00:00:00 2001 From: Christoph Roick Date: Thu, 7 Dec 2017 23:41:50 +0100 Subject: [PATCH 067/108] Amend 5c95479cee5a to fix crash when pasting files in projectmanager - pasting more than one file in a folder lead to a crash - use back() instead of rbegin() to conserve Qt 5.5 compatability (cherry picked from commit f3229baa137b965529c3d8685070010ff392b593) --- plugins/projectmanagerview/cutcopypastehelpers.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/projectmanagerview/cutcopypastehelpers.cpp b/plugins/projectmanagerview/cutcopypastehelpers.cpp index 51cdd6982f..24311e1669 100644 --- a/plugins/projectmanagerview/cutcopypastehelpers.cpp +++ b/plugins/projectmanagerview/cutcopypastehelpers.cpp @@ -170,9 +170,9 @@ SourceToDestinationMap mapSourceToDestination(const Path::List& sourcePaths, con SourceToDestinationMap result; for (const Path& path : sortedPaths) { - if (!result.filteredPaths.isEmpty() && std::reverse_iterator(result.filteredPaths.constBegin())->isParentOf(path)) { + if (!result.filteredPaths.isEmpty() && result.filteredPaths.back().isParentOf(path)) { // think: "/tests" - const Path& previousPath = *std::reverse_iterator(result.filteredPaths.constBegin()); + const Path& previousPath = result.filteredPaths.back(); // think: "/dest" + "/".relativePath("/tests/abc.cpp") = /dest/tests/abc.cpp result.finalPaths[previousPath].append(Path(destinationPath, previousPath.parent().relativePath(path))); } else { From 32e17f9e7530349964d439793c3dc0fc3819488a Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Sat, 9 Dec 2017 06:09:10 +0100 Subject: [PATCH 068/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- plugins/cppcheck/kdevcppcheck.json | 2 +- plugins/manpage/kdevmanpage.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/cppcheck/kdevcppcheck.json b/plugins/cppcheck/kdevcppcheck.json index ed892e8ea2..a7dc875353 100644 --- a/plugins/cppcheck/kdevcppcheck.json +++ b/plugins/cppcheck/kdevcppcheck.json @@ -31,7 +31,7 @@ "Category": "Analyzers", "Description": "This plugin integrates Cppcheck (static analysis tool) to KDevelop", "Description[ca@valencia]": "Este connector integra el Cppcheck (eina per a l'anàlisi estàtic) al KDevelop", - "Description[ca]": "Aquest connector integra el Cppcheck (eina per a l'anàlisi estàtic) al KDevelop", + "Description[ca]": "Aquest connector integra el Cppcheck (eina per a l'anàlisi estàtica) al KDevelop", "Description[cs]": "Tento modul integruje Cppcheck (statický analytický nástroj) do KDevelop", "Description[de]": "Dieses Modul integriert Cppcheck (Werkzeug zur statischen Analyse) in KDevelop", "Description[es]": "Este complemento integra Cppcheck (herramienta de análisis sintáctico) en KDevelop", diff --git a/plugins/manpage/kdevmanpage.json b/plugins/manpage/kdevmanpage.json index 8b43540225..77c624b336 100644 --- a/plugins/manpage/kdevmanpage.json +++ b/plugins/manpage/kdevmanpage.json @@ -28,7 +28,7 @@ "License": "GPL", "Name": "Man Pages", "Name[ca@valencia]": "Pàgines man", - "Name[ca]": "Pàgines man", + "Name[ca]": "Pàgines «man»", "Name[cs]": "Manuálové stránky", "Name[de]": "Handbuch-Seiten", "Name[es]": "Páginas de manual", From a2dcaf1b6d73d32fef09f74e09ac6bf3e60e3279 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Sun, 10 Dec 2017 06:10:55 +0100 Subject: [PATCH 069/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- plugins/quickopen/kdevquickopen.json | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/quickopen/kdevquickopen.json b/plugins/quickopen/kdevquickopen.json index cb3a4edb58..d6bd8c5520 100644 --- a/plugins/quickopen/kdevquickopen.json +++ b/plugins/quickopen/kdevquickopen.json @@ -53,7 +53,6 @@ "Name[tr]": "Hızlı Aç", "Name[uk]": "Швидке відкриття", "Name[x-test]": "xxQuick Openxx", - "Name[zh_CN]": "快速打开", "ServiceTypes": [ "KDevelop/Plugin" ] From e58eb2cc21adb80bfb54c82c39691a342f980167 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Sun, 10 Dec 2017 19:04:32 +0100 Subject: [PATCH 070/108] Remove unused GenericName property from plugin metadata --- kdevplatform/interfaces/iplugin.h | 3 --- plugins/cppcheck/kdevcppcheck.json | 22 ---------------------- plugins/heaptrack/kdevheaptrack.json | 2 -- 3 files changed, 27 deletions(-) diff --git a/kdevplatform/interfaces/iplugin.h b/kdevplatform/interfaces/iplugin.h index f78127e96f..aa3d58cd46 100644 --- a/kdevplatform/interfaces/iplugin.h +++ b/kdevplatform/interfaces/iplugin.h @@ -60,7 +60,6 @@ struct ProjectConfigOptions; * Type=Service * Exec=blubb * Name= - * GenericName= * Comment= * Icon= * ServiceTypes=KDevelop/Plugin @@ -83,8 +82,6 @@ struct ProjectConfigOptions; * Description of parameters in .desktop file: * - Name is a translatable name of a plugin, it is used in the plugin * selection list (required); - * - GenericName is a translatable generic name of a plugin, it should - * describe in general what the plugin can do (required); * - Comment is a short description about the plugin (optional); * - Icon is a plugin icon (preferred); * X-KDE-librarythis is the name of the .so file to load for this plugin (required); diff --git a/plugins/cppcheck/kdevcppcheck.json b/plugins/cppcheck/kdevcppcheck.json index a7dc875353..9e90afb82b 100644 --- a/plugins/cppcheck/kdevcppcheck.json +++ b/plugins/cppcheck/kdevcppcheck.json @@ -1,26 +1,4 @@ { - "GenericName": "Cppcheck Support", - "GenericName[ast]": "Sofitu Cppcheck", - "GenericName[bs]": "Cppcheck podrška", - "GenericName[ca@valencia]": "Implementació del Cppcheck", - "GenericName[ca]": "Implementació del Cppcheck", - "GenericName[cs]": "Podpora Cppcheck", - "GenericName[de]": "Cppcheck-Unterstützung", - "GenericName[es]": "Uso de Cppcheck", - "GenericName[fi]": "Cppcheck-tuki", - "GenericName[fr]": "Prise en charge de Cppcheck", - "GenericName[gl]": "Integración de Cppcheck", - "GenericName[hu]": "Cppcheck támogatás", - "GenericName[nl]": "Ondersteuning van CPPCheck", - "GenericName[pl]": "Obsługa Cppcheck", - "GenericName[pt]": "Suporte para o Cppcheck", - "GenericName[pt_BR]": "Suporte ao Cppcheck", - "GenericName[sk]": "Podpora Cppcheck", - "GenericName[sv]": "Stöd för Cppcheck", - "GenericName[tr]": "Cppcheck Desteği", - "GenericName[uk]": "Підтримка Cppcheck", - "GenericName[x-test]": "xxCppcheck Supportxx", - "GenericName[zh_CN]": "Cppcheck 支持", "KPlugin": { "Authors": [ { diff --git a/plugins/heaptrack/kdevheaptrack.json b/plugins/heaptrack/kdevheaptrack.json index a9d057cbdb..be7110e073 100644 --- a/plugins/heaptrack/kdevheaptrack.json +++ b/plugins/heaptrack/kdevheaptrack.json @@ -1,6 +1,4 @@ { - "GenericName": "Heaptrack Support", - "GenericName[x-test]": "xxHeaptrack Supportxx", "KPlugin": { "Authors": [ { From aa92de6aaa74e0183ac522b8eb9193569795a4de Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 11 Dec 2017 06:02:06 +0100 Subject: [PATCH 071/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- plugins/cppcheck/kdevcppcheck.json | 2 +- plugins/manpage/kdevmanpage.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/cppcheck/kdevcppcheck.json b/plugins/cppcheck/kdevcppcheck.json index 9e90afb82b..6181b4efed 100644 --- a/plugins/cppcheck/kdevcppcheck.json +++ b/plugins/cppcheck/kdevcppcheck.json @@ -8,7 +8,7 @@ ], "Category": "Analyzers", "Description": "This plugin integrates Cppcheck (static analysis tool) to KDevelop", - "Description[ca@valencia]": "Este connector integra el Cppcheck (eina per a l'anàlisi estàtic) al KDevelop", + "Description[ca@valencia]": "Este connector integra el Cppcheck (eina per a l'anàlisi estàtica) al KDevelop", "Description[ca]": "Aquest connector integra el Cppcheck (eina per a l'anàlisi estàtica) al KDevelop", "Description[cs]": "Tento modul integruje Cppcheck (statický analytický nástroj) do KDevelop", "Description[de]": "Dieses Modul integriert Cppcheck (Werkzeug zur statischen Analyse) in KDevelop", diff --git a/plugins/manpage/kdevmanpage.json b/plugins/manpage/kdevmanpage.json index 77c624b336..e585e4fb4e 100644 --- a/plugins/manpage/kdevmanpage.json +++ b/plugins/manpage/kdevmanpage.json @@ -27,7 +27,7 @@ "Id": "KDevManPage", "License": "GPL", "Name": "Man Pages", - "Name[ca@valencia]": "Pàgines man", + "Name[ca@valencia]": "Pàgines «man»", "Name[ca]": "Pàgines «man»", "Name[cs]": "Manuálové stránky", "Name[de]": "Handbuch-Seiten", From 8ccaf0cceaccf50a4a776bf59710c87320e55d30 Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Tue, 12 Dec 2017 19:16:43 +0100 Subject: [PATCH 072/108] Fix missing KF5ItemModels dep in KDevPlatform cmake config file Used in public API/link interface of KDevPlatformUtil --- kdevplatform/KDevPlatformConfig.cmake.in | 1 + 1 file changed, 1 insertion(+) diff --git a/kdevplatform/KDevPlatformConfig.cmake.in b/kdevplatform/KDevPlatformConfig.cmake.in index 8905df8844..019682c16e 100644 --- a/kdevplatform/KDevPlatformConfig.cmake.in +++ b/kdevplatform/KDevPlatformConfig.cmake.in @@ -18,6 +18,7 @@ find_dependency(KF5ConfigWidgets "@KF5_DEP_VERSION@") find_dependency(KF5GuiAddons "@KF5_DEP_VERSION@") find_dependency(KF5I18n "@KF5_DEP_VERSION@") find_dependency(KF5IconThemes "@KF5_DEP_VERSION@") +find_dependency(KF5ItemModels "@KF5_DEP_VERSION@") find_dependency(KF5ItemViews "@KF5_DEP_VERSION@") find_dependency(KF5JobWidgets "@KF5_DEP_VERSION@") find_dependency(KF5KCMUtils "@KF5_DEP_VERSION@") From 1824f0601979fc6d0d067402e837d9e7118eb67b Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Thu, 21 Dec 2017 13:22:01 +0100 Subject: [PATCH 073/108] TemplatesModel: remove broken and unneeded paths addition Missed a / separator at the end of dataPath, but intention was also duplicating the addition as done later in the model setup --- kdevplatform/language/codegen/templatesmodel.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/kdevplatform/language/codegen/templatesmodel.cpp b/kdevplatform/language/codegen/templatesmodel.cpp index 017c93ff32..7144a65f37 100644 --- a/kdevplatform/language/codegen/templatesmodel.cpp +++ b/kdevplatform/language/codegen/templatesmodel.cpp @@ -102,10 +102,6 @@ TemplatesModel::TemplatesModel(const QString& typePrefix, QObject* parent) : QStandardItemModel(parent) , d(new TemplatesModelPrivate(typePrefix)) { - const QStringList dataPaths = {QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)}; - foreach(const QString& dataPath, dataPaths) { - addDataPath(dataPath); - } } TemplatesModel::~TemplatesModel() = default; From 42a8ddee4ede0347ecd478175434b37912eb782f Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 1 Jan 2018 06:12:36 +0100 Subject: [PATCH 074/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- plugins/appwizard/kdevappwizard.json | 2 -- plugins/bazaar/kdevbazaar.json | 2 -- plugins/classbrowser/kdevclassbrowser.json | 1 - plugins/codeutils/kdevcodeutils.json | 2 -- plugins/contextbrowser/kdevcontextbrowser.json | 1 - plugins/cvs/kdevcvs.json | 2 -- plugins/documentswitcher/kdevdocumentswitcher.json | 2 -- plugins/documentview/kdevdocumentview.json | 2 -- .../documentview/settings/kcm_documentview_settings.desktop | 1 - plugins/execute/kdevexecute.json | 2 -- plugins/executescript/kdevexecutescript.json | 2 -- plugins/externalscript/kdevexternalscript.json | 1 - plugins/filemanager/kdevfilemanager.json | 2 -- plugins/filetemplates/kdevfiletemplates.json | 2 -- plugins/genericprojectmanager/kdevgenericmanager.json | 2 -- plugins/git/kdevgit.json | 2 -- plugins/grepview/kdevgrepview.json | 2 -- plugins/konsole/kdevkonsoleview.json | 2 -- plugins/openwith/kdevopenwith.json | 1 - plugins/outlineview/kdevoutlineview.json | 1 - plugins/patchreview/kdevpatchreview.json | 1 - plugins/problemreporter/kdevproblemreporter.json | 2 -- plugins/projectfilter/kdevprojectfilter.json | 3 +-- plugins/projectmanagerview/kdevprojectmanagerview.json | 2 -- plugins/quickopen/kdevquickopen.json | 1 - plugins/standardoutputview/kdevstandardoutputview.json | 1 - plugins/subversion/kdevsubversion.json | 1 - plugins/switchtobuddy/kdevswitchtobuddy.json | 2 -- plugins/testview/kdevtestview.json | 2 -- plugins/vcschangesview/kdevvcschangesview.json | 2 -- plugins/welcomepage/kdevwelcomepage.json | 1 - 31 files changed, 1 insertion(+), 51 deletions(-) diff --git a/plugins/appwizard/kdevappwizard.json b/plugins/appwizard/kdevappwizard.json index 0706836aed..9d8665edfe 100644 --- a/plugins/appwizard/kdevappwizard.json +++ b/plugins/appwizard/kdevappwizard.json @@ -28,7 +28,6 @@ "Description[tr]": "Uygulama Sihirbazı", "Description[uk]": "Майстер створення програм", "Description[x-test]": "xxApplication Wizardxx", - "Description[zh_CN]": "应用程序向导", "Icon": "project-development-new-template", "Id": "kdevappwizard", "License": "GPL", @@ -50,7 +49,6 @@ "Name[tr]": "Yeni Proje Sihirbazı", "Name[uk]": "Майстер створення проекту", "Name[x-test]": "xxNew Project Wizardxx", - "Name[zh_CN]": "新工程向导", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/bazaar/kdevbazaar.json b/plugins/bazaar/kdevbazaar.json index 9548c93ea0..47cf7ed478 100644 --- a/plugins/bazaar/kdevbazaar.json +++ b/plugins/bazaar/kdevbazaar.json @@ -28,7 +28,6 @@ "Description[tr]": "Bu eklenti Bazaar uygulamasını KDevelop ile bütünleştirir", "Description[uk]": "За допомогою цього додатка можна інтегрувати Bazaar до KDevelop", "Description[x-test]": "xxThis plugin integrates Bazaar to KDevelopxx", - "Description[zh_CN]": "此插件将 Bazaar 整合到 KDevelop", "Icon": "bazaar", "Id": "kdevbazaar", "License": "GPL", @@ -50,7 +49,6 @@ "Name[tr]": "Bazaar Desteği", "Name[uk]": "Підтримка Bazaar", "Name[x-test]": "xxBazaar Supportxx", - "Name[zh_CN]": "Bazaar 支持", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/classbrowser/kdevclassbrowser.json b/plugins/classbrowser/kdevclassbrowser.json index 8b489e0261..09779cc1d3 100644 --- a/plugins/classbrowser/kdevclassbrowser.json +++ b/plugins/classbrowser/kdevclassbrowser.json @@ -26,7 +26,6 @@ "Description[tr]": "Bu eklenti mevcut ayrıştırılmış sınıfların ve diğer öğelerin taranabilir bir modelini sağlar.", "Description[uk]": "За допомогою цього додатка можна створити придатну для перегляду модель класів та інших елементів, над якими ви працюєте.", "Description[x-test]": "xxThis plugin provides a browsable model of the currently parsed classes and other items.xx", - "Description[zh_CN]": "此插件提供了一个当前已分析类和其它项目的可浏览化视窗模型。", "Icon": "code-class", "Id": "kdevclassbrowser", "License": "GPL", diff --git a/plugins/codeutils/kdevcodeutils.json b/plugins/codeutils/kdevcodeutils.json index 7f6afb7412..e7e9f06755 100644 --- a/plugins/codeutils/kdevcodeutils.json +++ b/plugins/codeutils/kdevcodeutils.json @@ -21,7 +21,6 @@ "Description[tr]": "Programlama sırasında verimliliği artıran çeşitli yardımcı araçlar koleksiyonu.", "Description[uk]": "Збірка різноманітних допоміжних програм, яка підвищує продуктивність програмування.", "Description[x-test]": "xxCollection of various utilities that increase productivity while programming.xx", - "Description[zh_CN]": "多种提升编程生产力的工具集合。", "Icon": "help-hint", "Id": "kdevcodeutils", "Name": "Code Utilities", @@ -45,7 +44,6 @@ "Name[tr]": "Kod Araçları", "Name[uk]": "Допоміжні засоби", "Name[x-test]": "xxCode Utilitiesxx", - "Name[zh_CN]": "代码工具", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/contextbrowser/kdevcontextbrowser.json b/plugins/contextbrowser/kdevcontextbrowser.json index 31b6ab53d5..4ec0154b24 100644 --- a/plugins/contextbrowser/kdevcontextbrowser.json +++ b/plugins/contextbrowser/kdevcontextbrowser.json @@ -27,7 +27,6 @@ "Description[tr]": "Bu eklenti yan görünümde mevcut dil bağlamıyla ilgili bilgi gösterir, ve ilgili tanımlamaları ve kullanımları vurgular.", "Description[uk]": "За допомогою цього додатка можна переглянути у перегляді на бічній панелі відомості про поточний контекст мови, а також підсвітити пов’язані оголошення і випадки використання.", "Description[x-test]": "xxThis plugin shows information about the current language context in a side view, and highlights relevant declarations and uses.xx", - "Description[zh_CN]": "此插件在侧边视图中显示关于当前语言上下文的信息,并加亮突出相关的声明和调用。", "Icon": "code-context", "Id": "kdevcontextbrowser", "License": "GPL", diff --git a/plugins/cvs/kdevcvs.json b/plugins/cvs/kdevcvs.json index 5cbd9dc0b5..fc289cfd6c 100644 --- a/plugins/cvs/kdevcvs.json +++ b/plugins/cvs/kdevcvs.json @@ -26,7 +26,6 @@ "Description[tr]": "Bu eklenti CVS uygulamasını KDevelop ile bütünleştirir", "Description[uk]": "За допомогою цього додатка можна інтегрувати CVS до KDevelop", "Description[x-test]": "xxThis plugin integrates CVS to KDevelopxx", - "Description[zh_CN]": "此插件将 CVS 整合到 KDevelop", "Icon": "kdevelop", "Id": "kdevcvs", "License": "GPL", @@ -47,7 +46,6 @@ "Name[tr]": "CVS Desteği", "Name[uk]": "Підтримка CVS", "Name[x-test]": "xxCVS Supportxx", - "Name[zh_CN]": "CVS 支持", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/documentswitcher/kdevdocumentswitcher.json b/plugins/documentswitcher/kdevdocumentswitcher.json index 9b4d660d2b..b5c5dc51b9 100644 --- a/plugins/documentswitcher/kdevdocumentswitcher.json +++ b/plugins/documentswitcher/kdevdocumentswitcher.json @@ -27,7 +27,6 @@ "Description[tr]": "KDevPlatform için en-son-kullanılan belge seçici bir eklenti.", "Description[uk]": "Перемикач останніх використаних документів для KDevPlatform.", "Description[x-test]": "xxA most-recently-used document switcher for KDevPlatform.xx", - "Description[zh_CN]": "KDevPlatform 的最近经常使用文档的切换器。", "Icon": "document-open-recent", "Id": "kdevdocumentswitcher", "License": "GPL", @@ -53,7 +52,6 @@ "Name[tr]": "Yakın Zamanda En Çok Kullanılan Belgeleri Seçici", "Name[uk]": "Перемикач нещодавно використаних документів", "Name[x-test]": "xxMost-Recently-Used Document Switcherxx", - "Name[zh_CN]": "最近经常使用文档切换器", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/documentview/kdevdocumentview.json b/plugins/documentview/kdevdocumentview.json index 1c2bb70563..7a393ea97b 100644 --- a/plugins/documentview/kdevdocumentview.json +++ b/plugins/documentview/kdevdocumentview.json @@ -27,7 +27,6 @@ "Description[tr]": "Bu eklenti o anda yüklenmiş olan tüm belgeleri grafiksel bir görünümde gösterir ve mime türlerine göre ayırır.", "Description[uk]": "Цей додаток відображає у графічному вигляді всі відкриті документи і впорядковує їх за типом MIME.", "Description[x-test]": "xxThis plugin displays a graphical view of all documents currently loaded and separates them by mimetype.xx", - "Description[zh_CN]": "此插件显示当前已装入文档的图形视图并按照 mime 类型分类。", "Icon": "document-preview", "Id": "kdevdocumentview", "License": "LGPL", @@ -49,7 +48,6 @@ "Name[tr]": "Belge Görünümü", "Name[uk]": "Перегляд документів", "Name[x-test]": "xxDocument Viewxx", - "Name[zh_CN]": "文档视图", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/documentview/settings/kcm_documentview_settings.desktop b/plugins/documentview/settings/kcm_documentview_settings.desktop index 0e239efc3e..43d972905e 100644 --- a/plugins/documentview/settings/kcm_documentview_settings.desktop +++ b/plugins/documentview/settings/kcm_documentview_settings.desktop @@ -39,7 +39,6 @@ Name[tr]=Belge Görünümü Name[ug]=پۈتۈك كۆرۈنۈشى Name[uk]=Перегляд документів Name[x-test]=xxDocument Viewxx -Name[zh_CN]=文档视图 Name[zh_TW]=文件檢視 Comment=Configure Document View settings Comment[bg]=Настройки на изгледа за документи diff --git a/plugins/execute/kdevexecute.json b/plugins/execute/kdevexecute.json index 7ceeca998c..754cfb398a 100644 --- a/plugins/execute/kdevexecute.json +++ b/plugins/execute/kdevexecute.json @@ -27,7 +27,6 @@ "Description[tr]": "Bu eklenti programların ek araç olmadan çalıştırılabilmesini sağlar, örn. mevcut istemci ile doğal olarak.", "Description[uk]": "За допомогою цього додатка можна запускати програми безпосередньо на поточному вузлі.", "Description[x-test]": "xxThis plugin allows running of programs with no instrumentor, ie. natively by the current host.xx", - "Description[zh_CN]": "此插件允许以无操作者方式运行程序,例如,当前主机的原生方式。", "Icon": "system-run", "Id": "kdevexecute", "License": "GPL", @@ -53,7 +52,6 @@ "Name[tr]": "Uygulamaları Çalıştır", "Name[uk]": "Виконання програм", "Name[x-test]": "xxExecute Programsxx", - "Name[zh_CN]": "执行程序", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/executescript/kdevexecutescript.json b/plugins/executescript/kdevexecutescript.json index 35f8eeac99..1fb6a2e5ed 100644 --- a/plugins/executescript/kdevexecutescript.json +++ b/plugins/executescript/kdevexecutescript.json @@ -26,7 +26,6 @@ "Description[tr]": "Bu eklenti betiklerin çalıştırılmasını sağlar.", "Description[uk]": "За допомогою цього додатка можна запускати скрипти.", "Description[x-test]": "xxThis plugin allows running of scripts.xx", - "Description[zh_CN]": "此插件可以执行脚本.", "Icon": "system-run", "Id": "kdevexecutescript", "License": "GPL", @@ -52,7 +51,6 @@ "Name[tr]": "Betikleri Çalıştır", "Name[uk]": "Виконання скриптів", "Name[x-test]": "xxExecute Scriptsxx", - "Name[zh_CN]": "执行脚本", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/externalscript/kdevexternalscript.json b/plugins/externalscript/kdevexternalscript.json index 0402b09066..0e329158cd 100644 --- a/plugins/externalscript/kdevexternalscript.json +++ b/plugins/externalscript/kdevexternalscript.json @@ -27,7 +27,6 @@ "Description[tr]": "Düzenleyici içeriğini değiştirmek veya diğer keyfi eylemler için dış betikler veya uygulamalar çalıştır.", "Description[uk]": "Запускає зовнішні скрипти або програми для обробки текстових даних редактора або виконання інших потрібних дій.", "Description[x-test]": "xxRun external scripts or applications to manipulate the editor contents or do other arbitrary actions.xx", - "Description[zh_CN]": "运行外部脚本或应用程序来处理编辑器内容或者执行其它任意动作。", "Icon": "system-run", "Id": "kdevexternalscript", "License": "GPL", diff --git a/plugins/filemanager/kdevfilemanager.json b/plugins/filemanager/kdevfilemanager.json index c7d03a5228..7fee430214 100644 --- a/plugins/filemanager/kdevfilemanager.json +++ b/plugins/filemanager/kdevfilemanager.json @@ -27,7 +27,6 @@ "Description[tr]": "Bu eklenti KDevelop için bir dosya yöneticisi sağlar.", "Description[uk]": "За допомогою цього додатка можна отримати доступ до менеджера файлів у KDevelop.", "Description[x-test]": "xxThis plugin brings a filemanager to KDevelop.xx", - "Description[zh_CN]": "此插件为 KDevelop 提供了一个文件管理器。", "Icon": "system-file-manager", "Id": "kdevfilemanager", "License": "GPL", @@ -49,7 +48,6 @@ "Name[tr]": "KDE Dosya Yöneticisi Bütünleşmesi", "Name[uk]": "Інтеграція засобу керування файлами KDE", "Name[x-test]": "xxKDE File Manager Integrationxx", - "Name[zh_CN]": "KDE 文件管理器整合", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/filetemplates/kdevfiletemplates.json b/plugins/filetemplates/kdevfiletemplates.json index fc3b485f3b..49113031fa 100644 --- a/plugins/filetemplates/kdevfiletemplates.json +++ b/plugins/filetemplates/kdevfiletemplates.json @@ -28,7 +28,6 @@ "Description[tr]": "Kaynak dosyaları için şablonları yönetir", "Description[uk]": "Керування шаблонами для початкових файлів коду", "Description[x-test]": "xxManages templates for source filesxx", - "Description[zh_CN]": "管理源文件的模板", "Icon": "code-class", "Id": "kdevfiletemplates", "License": "GPL", @@ -54,7 +53,6 @@ "Name[tr]": "Dosya Şablon Yapılandırması", "Name[uk]": "Налаштовування шаблонів файлів", "Name[x-test]": "xxFile Templates Configurationxx", - "Name[zh_CN]": "文件模板配置", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/genericprojectmanager/kdevgenericmanager.json b/plugins/genericprojectmanager/kdevgenericmanager.json index d92c388a2f..f667810ea7 100644 --- a/plugins/genericprojectmanager/kdevgenericmanager.json +++ b/plugins/genericprojectmanager/kdevgenericmanager.json @@ -23,7 +23,6 @@ "Description[tr]": "KDevelop uygulamasının genel projeleri yönetmesine izin ver", "Description[uk]": "За допомогою цього додатка можна увімкнути керування загальними проектами у KDevelop", "Description[x-test]": "xxAllow KDevelop to manage generic projectsxx", - "Description[zh_CN]": "允许 KDevelop 管理常规工程", "Icon": "kdevelop", "Id": "KDevGenericManager", "Name": "Generic Project Manager", @@ -44,7 +43,6 @@ "Name[tr]": "Genel Proje Yöneticisi", "Name[uk]": "Звичайний засіб керування проектом", "Name[x-test]": "xxGeneric Project Managerxx", - "Name[zh_CN]": "常规工程管理器", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/git/kdevgit.json b/plugins/git/kdevgit.json index 2c4905f646..28823dd7ef 100644 --- a/plugins/git/kdevgit.json +++ b/plugins/git/kdevgit.json @@ -27,7 +27,6 @@ "Description[tr]": "Bu eklenti Git uygulamasını KDevelop ile bütünleştirir", "Description[uk]": "Цей додаток інтегрує Git із KDevelop", "Description[x-test]": "xxThis plugin integrates Git to KDevelopxx", - "Description[zh_CN]": "此插件对 KDevelop 整合 Git", "Icon": "git", "Id": "kdevgit", "License": "GPL", @@ -47,7 +46,6 @@ "Name[tr]": "Git Desteği", "Name[uk]": "Підтримка Git", "Name[x-test]": "xxGit Supportxx", - "Name[zh_CN]": "Git 支持", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/grepview/kdevgrepview.json b/plugins/grepview/kdevgrepview.json index 49fd49b056..b8834dae77 100644 --- a/plugins/grepview/kdevgrepview.json +++ b/plugins/grepview/kdevgrepview.json @@ -21,7 +21,6 @@ "Description[tr]": "Kalıplar veya düzenli ifadeler kullanarak birden çok dosyada hızlı aramaya izin verir. Yer değiştirmeye de izin verir.", "Description[uk]": "Надає можливості швидкого пошуку та заміни у декількох файлів на основі шаблонів або формальних виразів.", "Description[x-test]": "xxAllows fast searching of multiple files using patterns or regular expressions. And allow to replace it too.xx", - "Description[zh_CN]": "可以用模式或正则表达式快速搜索多个文件,还可以替换。", "Icon": "kfind", "Id": "kdevgrepview", "Name": "Find/Replace In Files", @@ -46,7 +45,6 @@ "Name[tr]": "Bu Dosyalarda Bul ve Değiştir", "Name[uk]": "Пошук або заміна у файлах", "Name[x-test]": "xxFind/Replace In Filesxx", - "Name[zh_CN]": "在文件中查找/替换", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/konsole/kdevkonsoleview.json b/plugins/konsole/kdevkonsoleview.json index 2d8c6c77d5..b45e3878c2 100644 --- a/plugins/konsole/kdevkonsoleview.json +++ b/plugins/konsole/kdevkonsoleview.json @@ -21,7 +21,6 @@ "Description[tr]": "Bu eklenti hızlı ve kolay komut satırı erişimi için KDevelop'a gömülü bir uçbirim sağlar.", "Description[uk]": "За допомогою цього додатка у KDevelop можна буде скористатися вбудованою konsole, яка пришвидшить і полегшить доступ до командного рядка.", "Description[x-test]": "xxThis plugin provides KDevelop with an embedded konsole for quick and easy command line access.xx", - "Description[zh_CN]": "此插件为 KDevelop 提供了一个快速方便地访问命令行的嵌入式控制台。", "Icon": "utilities-terminal", "Id": "kdevkonsoleview", "Name": "Konsole Integration", @@ -42,7 +41,6 @@ "Name[tr]": "Konsole Bütünleşmesi", "Name[uk]": "Інтеграція з Konsole", "Name[x-test]": "xxKonsole Integrationxx", - "Name[zh_CN]": "Konsole 整合", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/openwith/kdevopenwith.json b/plugins/openwith/kdevopenwith.json index 241074b9c3..617fea2ea0 100644 --- a/plugins/openwith/kdevopenwith.json +++ b/plugins/openwith/kdevopenwith.json @@ -27,7 +27,6 @@ "Description[tr]": "Bu eklenti ilişkilendirilmiş dış uygulamalar ile dosyalar açmayı sağlar.", "Description[uk]": "За допомогою цього додатка ви зможете відкривати файли у пов’язаній з ними зовнішній програмі.", "Description[x-test]": "xxThis plugin allows one to open files with associated external applications.xx", - "Description[zh_CN]": "此插件允许使用关联的外部应用程序打开文件。", "Icon": "document-open", "Id": "kdevopenwith", "License": "GPL", diff --git a/plugins/outlineview/kdevoutlineview.json b/plugins/outlineview/kdevoutlineview.json index e5e9cda7d8..ef679db4d3 100644 --- a/plugins/outlineview/kdevoutlineview.json +++ b/plugins/outlineview/kdevoutlineview.json @@ -27,7 +27,6 @@ "Description[tr]": "Bu eklenti mevcut açık dosyanın çerçevesini görüntülemeyi sağlar.", "Description[uk]": "За допомогою цього додатка можна переглянути схему поточного відкритого документа.", "Description[x-test]": "xxThis plugin provides a view to show the outline of the currently open document.xx", - "Description[zh_CN]": "此插件提供了一个当前显示当前打开文档的概要的视图。", "Icon": "code-class", "Id": "KDevOutlineView", "License": "LGPL", diff --git a/plugins/patchreview/kdevpatchreview.json b/plugins/patchreview/kdevpatchreview.json index 7100f4c16f..cdf4b23c9f 100644 --- a/plugins/patchreview/kdevpatchreview.json +++ b/plugins/patchreview/kdevpatchreview.json @@ -27,7 +27,6 @@ "Description[tr]": "Bu eklenti yamaların doğrudan düzenleyici içerisinde gözden geçirilmesini sağlar.", "Description[uk]": "За допомогою цього додатка ви зможете рецензувати латки безпосередньо у редакторі.", "Description[x-test]": "xxThis plugin allows reviewing patches directly in the editor.xx", - "Description[zh_CN]": "此插件允许在编辑器中直接审阅补丁。", "Icon": "applications-engineering", "Id": "kdevpatchreview", "License": "GPL", diff --git a/plugins/problemreporter/kdevproblemreporter.json b/plugins/problemreporter/kdevproblemreporter.json index f72237615a..cfae28fcf3 100644 --- a/plugins/problemreporter/kdevproblemreporter.json +++ b/plugins/problemreporter/kdevproblemreporter.json @@ -27,7 +27,6 @@ "Description[tr]": "Bu eklenti kaynak koddaki hataları gösterir.", "Description[uk]": "За допомогою цього додатка можна переглянути повідомлення про помилки у коді.", "Description[x-test]": "xxThis plugin shows errors in source code.xx", - "Description[zh_CN]": "此插件显示源代码中的错误。", "Icon": "emblem-important", "Id": "kdevproblemreporter", "License": "LGPL", @@ -53,7 +52,6 @@ "Name[tr]": "Sorun Bildirici Görünümü", "Name[uk]": "Перегляд інструмента звітування про проблеми", "Name[x-test]": "xxProblem Reporter Viewxx", - "Name[zh_CN]": "错误汇报视图", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/projectfilter/kdevprojectfilter.json b/plugins/projectfilter/kdevprojectfilter.json index 608ec95c67..9f8371a0bb 100644 --- a/plugins/projectfilter/kdevprojectfilter.json +++ b/plugins/projectfilter/kdevprojectfilter.json @@ -26,7 +26,6 @@ "Description[tr]": "Proje klasörü içerisindeki hangi dosya ve klasörlerin dahil edilip edilmeyeceğini yapılandır.", "Description[uk]": "За допомогою цього модуля можна визначити, які файли і теки у теці проекту має бути включено або виключено з його складу.", "Description[x-test]": "xxConfigure which files and folders inside the project folder should be included or excluded.xx", - "Description[zh_CN]": "配置项目文件中哪些文件被加入或排除。", "Icon": "view-filter", "Id": "KDevProjectFilter", "Name": "Project Filter", @@ -47,7 +46,7 @@ "Name[tr]": "Proje Süzgeci", "Name[uk]": "Фільтр проекту", "Name[x-test]": "xxProject Filterxx", - "Name[zh_CN]": "项目过滤器", + "Name[zh_CN]": "工程过滤器", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/projectmanagerview/kdevprojectmanagerview.json b/plugins/projectmanagerview/kdevprojectmanagerview.json index 85ab98fe67..08b7424978 100644 --- a/plugins/projectmanagerview/kdevprojectmanagerview.json +++ b/plugins/projectmanagerview/kdevprojectmanagerview.json @@ -27,7 +27,6 @@ "Description[tr]": "Proje içeriğini yönetmenizi sağlar.", "Description[uk]": "Надає вам змогу керувати вмістом проектів.", "Description[x-test]": "xxLets you manage the project contents.xx", - "Description[zh_CN]": "让您管理项目内容。", "Icon": "kdevelop", "Id": "KDevProjectManagerView", "License": "LGPL", @@ -49,7 +48,6 @@ "Name[tr]": "Proje Yöneticisi Görünümü", "Name[uk]": "Перегляд керування проектами", "Name[x-test]": "xxProject Manager Viewxx", - "Name[zh_CN]": "工程管理器视图", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/quickopen/kdevquickopen.json b/plugins/quickopen/kdevquickopen.json index d6bd8c5520..8fc3b0e28e 100644 --- a/plugins/quickopen/kdevquickopen.json +++ b/plugins/quickopen/kdevquickopen.json @@ -27,7 +27,6 @@ "Description[tr]": "Bu eklenti proje dosyalarına ve sınıflar/fonksiyonlar gibi dil öğelerine hızlı erişim sağlar.", "Description[uk]": "За допомогою цього додатка можна пришвидшити доступ до файлів проектів і елементів мови на зразок класів або функцій.", "Description[x-test]": "xxThis plugin allows quick access to project files and language-items like classes/functions.xx", - "Description[zh_CN]": "此插件允许快速访问工程文件和诸如类/函数的语言项目。", "Icon": "quickopen", "Id": "kdevquickopen", "License": "GPL", diff --git a/plugins/standardoutputview/kdevstandardoutputview.json b/plugins/standardoutputview/kdevstandardoutputview.json index d6694ddba6..7ce38da63f 100644 --- a/plugins/standardoutputview/kdevstandardoutputview.json +++ b/plugins/standardoutputview/kdevstandardoutputview.json @@ -21,7 +21,6 @@ "Description[tr]": "Diğer eklentilerin derleyici iletileri gibi şeyleri göstermesi için metin çıktı araç görünümü sağlar.", "Description[uk]": "Забезпечує роботу панелі показу текстових даних інших додатків, зокрема попереджень компілятора.", "Description[x-test]": "xxProvides a text output toolview for other plugins to use, to show things like compiler messages.xx", - "Description[zh_CN]": "提供让其它插件使用的文本输出工具视图,以便显示诸如编译器消息的信息。", "Icon": "kdevelop", "Id": "KDevStandardOutputView", "Name": "Output View", diff --git a/plugins/subversion/kdevsubversion.json b/plugins/subversion/kdevsubversion.json index 3bed938aa9..a1a67a86b7 100644 --- a/plugins/subversion/kdevsubversion.json +++ b/plugins/subversion/kdevsubversion.json @@ -48,7 +48,6 @@ "Name[tr]": "Suversion Desteği", "Name[uk]": "Підтримка Subversion", "Name[x-test]": "xxSubversion Supportxx", - "Name[zh_CN]": "Subversion 支持", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/switchtobuddy/kdevswitchtobuddy.json b/plugins/switchtobuddy/kdevswitchtobuddy.json index dce39c47ba..26caf5a2f0 100644 --- a/plugins/switchtobuddy/kdevswitchtobuddy.json +++ b/plugins/switchtobuddy/kdevswitchtobuddy.json @@ -20,7 +20,6 @@ "Description[tr]": "Uygulama ve başlık dosyası gibi ilişkili belgeler arasında geçişe izin verir.", "Description[uk]": "Надає змогу перемикатися на споріднені документи, зокрема файли з реалізацією та файли заголовків.", "Description[x-test]": "xxAllows switching between buddy documents like implementation and header file.xx", - "Description[zh_CN]": "允许在伙伴文件中切换,如实现与头文件", "Icon": "document-multiple", "Id": "kdevswitchtobuddy", "Name": "Switch to Buddy", @@ -44,7 +43,6 @@ "Name[tr]": "Dosta Geçiş Yap", "Name[uk]": "Перемикання на споріднений", "Name[x-test]": "xxSwitch to Buddyxx", - "Name[zh_CN]": "切换至伙伴文件", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/testview/kdevtestview.json b/plugins/testview/kdevtestview.json index cd0f8e83f3..276f6c2768 100644 --- a/plugins/testview/kdevtestview.json +++ b/plugins/testview/kdevtestview.json @@ -27,7 +27,6 @@ "Description[tr]": "Birim testlerini görmenizi ve çalıştırmanızı sağlar.", "Description[uk]": "Надає вам змогу переглядати і виконувати перевірки модулів.", "Description[x-test]": "xxLets you see and run unit tests.xx", - "Description[zh_CN]": "让您查看并运行单元测试。", "Icon": "preflight-verifier", "Id": "kdevtestview", "License": "GPL", @@ -53,7 +52,6 @@ "Name[tr]": "Birim Test Görünümü", "Name[uk]": "Перегляд перевірок модулів", "Name[x-test]": "xxUnit Test Viewxx", - "Name[zh_CN]": "单元测试视图", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/vcschangesview/kdevvcschangesview.json b/plugins/vcschangesview/kdevvcschangesview.json index 47c7e19cd5..684fa03513 100644 --- a/plugins/vcschangesview/kdevvcschangesview.json +++ b/plugins/vcschangesview/kdevvcschangesview.json @@ -28,7 +28,6 @@ "Description[tr]": "Bu eklenti projeler ile VCS altyapıları arasında bütünleşme sağlar", "Description[uk]": "За допомогою цього додатка забезпечується інтеграція між проектами та інфраструктурою системи керування версіями (VCS)", "Description[x-test]": "xxThis plugin provides integration between the projects and their VCS infrastructurexx", - "Description[zh_CN]": "此插件提供工程和它们的代码管理系统的集成", "Icon": "kdevelop", "Id": "kdevvcschangesviewplugin", "License": "GPL", @@ -50,7 +49,6 @@ "Name[tr]": "Sürüm Kontrol Sistemi Bütünleşmesi", "Name[uk]": "Інтеграція з системами керування версіями", "Name[x-test]": "xxVCS Integrationxx", - "Name[zh_CN]": "VCS 工程集成", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/welcomepage/kdevwelcomepage.json b/plugins/welcomepage/kdevwelcomepage.json index f59086ce11..4cf3c58365 100644 --- a/plugins/welcomepage/kdevwelcomepage.json +++ b/plugins/welcomepage/kdevwelcomepage.json @@ -38,7 +38,6 @@ "Name[tr]": "KDevelop Karşılama Sayfası", "Name[uk]": "Сторінка вітання KDevelop", "Name[x-test]": "xxKDevelop Welcome Pagexx", - "Name[zh_CN]": "KDevelop 欢迎页面", "ServiceTypes": [ "KDevelop/Plugin" ] From 8ceabdb79e270afd538a922efe866fd7998741ef Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Thu, 4 Jan 2018 06:10:37 +0100 Subject: [PATCH 075/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- app/org.kde.kdevelop_ps.desktop | 1 + 1 file changed, 1 insertion(+) diff --git a/app/org.kde.kdevelop_ps.desktop b/app/org.kde.kdevelop_ps.desktop index e0a17b63f4..b8bd1e278e 100644 --- a/app/org.kde.kdevelop_ps.desktop +++ b/app/org.kde.kdevelop_ps.desktop @@ -68,6 +68,7 @@ GenericName[zh_TW]=整合開發環境(選擇要開始的工作階段) Comment=Plugin-extensible IDE for C/C++ and other programming languages (Pick Session to start with) Comment[ca]=Un IDE ampliable amb connectors per al C/C++ i altres llenguatges de programació (trieu Sessió per a començar-hi) Comment[ca@valencia]=Un IDE ampliable amb connectors per al C/C++ i altres llenguatges de programació (trieu Sessió per a començar-hi) +Comment[de]=Eine integrierte Entwicklungsumgebung (IDE) für C/C++ und andere Programmiersprachen, die durch Module erweitert werden kann. Wählen Sie eine Sitzung zum Starten aus. Comment[en_GB]=Plugin-extensible IDE for C/C++ and other programming languages (Pick Session to start with) Comment[es]=Entorno de desarrollo integrado para C/C++ y otros lenguajes de programación que se puede extender con complementos (escoger sesión con la que empezar) Comment[fr]=Il s'agit d'un environnement de développement complet et extensible pour le C / C++ et d'autres langages de programmation (sélectionnez la session avec laquelle vous voulez commencer). From 4e3879f78d42d644263e444d4bc9e0c220da0e88 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Sat, 6 Jan 2018 06:11:43 +0100 Subject: [PATCH 076/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- plugins/appwizard/kdevappwizard.json | 2 ++ plugins/bazaar/kdevbazaar.json | 2 ++ plugins/classbrowser/kdevclassbrowser.json | 1 + plugins/codeutils/kdevcodeutils.json | 2 ++ plugins/contextbrowser/kdevcontextbrowser.json | 1 + plugins/cvs/kdevcvs.json | 2 ++ plugins/documentswitcher/kdevdocumentswitcher.json | 2 ++ plugins/documentview/kdevdocumentview.json | 2 ++ plugins/documentview/settings/kcm_documentview_settings.desktop | 1 + plugins/execute/kdevexecute.json | 2 ++ plugins/executescript/kdevexecutescript.json | 2 ++ plugins/externalscript/kdevexternalscript.json | 1 + plugins/filemanager/kdevfilemanager.json | 2 ++ plugins/filetemplates/kdevfiletemplates.json | 2 ++ plugins/genericprojectmanager/kdevgenericmanager.json | 2 ++ plugins/git/kdevgit.json | 2 ++ plugins/grepview/kdevgrepview.json | 2 ++ plugins/konsole/kdevkonsoleview.json | 2 ++ plugins/okteta/kdevokteta.json | 1 + plugins/openwith/kdevopenwith.json | 1 + plugins/outlineview/kdevoutlineview.json | 1 + plugins/patchreview/kdevpatchreview.json | 1 + plugins/problemreporter/kdevproblemreporter.json | 2 ++ plugins/projectfilter/kdevprojectfilter.json | 1 + plugins/projectmanagerview/kdevprojectmanagerview.json | 2 ++ plugins/quickopen/kdevquickopen.json | 2 ++ plugins/sourceformatter/kdevsourceformatter.json | 1 + plugins/standardoutputview/kdevstandardoutputview.json | 1 + plugins/subversion/kdevsubversion.json | 1 + plugins/switchtobuddy/kdevswitchtobuddy.json | 2 ++ plugins/testview/kdevtestview.json | 2 ++ plugins/vcschangesview/kdevvcschangesview.json | 2 ++ plugins/welcomepage/kdevwelcomepage.json | 1 + 33 files changed, 53 insertions(+) diff --git a/plugins/appwizard/kdevappwizard.json b/plugins/appwizard/kdevappwizard.json index 9d8665edfe..0706836aed 100644 --- a/plugins/appwizard/kdevappwizard.json +++ b/plugins/appwizard/kdevappwizard.json @@ -28,6 +28,7 @@ "Description[tr]": "Uygulama Sihirbazı", "Description[uk]": "Майстер створення програм", "Description[x-test]": "xxApplication Wizardxx", + "Description[zh_CN]": "应用程序向导", "Icon": "project-development-new-template", "Id": "kdevappwizard", "License": "GPL", @@ -49,6 +50,7 @@ "Name[tr]": "Yeni Proje Sihirbazı", "Name[uk]": "Майстер створення проекту", "Name[x-test]": "xxNew Project Wizardxx", + "Name[zh_CN]": "新工程向导", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/bazaar/kdevbazaar.json b/plugins/bazaar/kdevbazaar.json index 47cf7ed478..9548c93ea0 100644 --- a/plugins/bazaar/kdevbazaar.json +++ b/plugins/bazaar/kdevbazaar.json @@ -28,6 +28,7 @@ "Description[tr]": "Bu eklenti Bazaar uygulamasını KDevelop ile bütünleştirir", "Description[uk]": "За допомогою цього додатка можна інтегрувати Bazaar до KDevelop", "Description[x-test]": "xxThis plugin integrates Bazaar to KDevelopxx", + "Description[zh_CN]": "此插件将 Bazaar 整合到 KDevelop", "Icon": "bazaar", "Id": "kdevbazaar", "License": "GPL", @@ -49,6 +50,7 @@ "Name[tr]": "Bazaar Desteği", "Name[uk]": "Підтримка Bazaar", "Name[x-test]": "xxBazaar Supportxx", + "Name[zh_CN]": "Bazaar 支持", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/classbrowser/kdevclassbrowser.json b/plugins/classbrowser/kdevclassbrowser.json index 09779cc1d3..8b489e0261 100644 --- a/plugins/classbrowser/kdevclassbrowser.json +++ b/plugins/classbrowser/kdevclassbrowser.json @@ -26,6 +26,7 @@ "Description[tr]": "Bu eklenti mevcut ayrıştırılmış sınıfların ve diğer öğelerin taranabilir bir modelini sağlar.", "Description[uk]": "За допомогою цього додатка можна створити придатну для перегляду модель класів та інших елементів, над якими ви працюєте.", "Description[x-test]": "xxThis plugin provides a browsable model of the currently parsed classes and other items.xx", + "Description[zh_CN]": "此插件提供了一个当前已分析类和其它项目的可浏览化视窗模型。", "Icon": "code-class", "Id": "kdevclassbrowser", "License": "GPL", diff --git a/plugins/codeutils/kdevcodeutils.json b/plugins/codeutils/kdevcodeutils.json index e7e9f06755..7f6afb7412 100644 --- a/plugins/codeutils/kdevcodeutils.json +++ b/plugins/codeutils/kdevcodeutils.json @@ -21,6 +21,7 @@ "Description[tr]": "Programlama sırasında verimliliği artıran çeşitli yardımcı araçlar koleksiyonu.", "Description[uk]": "Збірка різноманітних допоміжних програм, яка підвищує продуктивність програмування.", "Description[x-test]": "xxCollection of various utilities that increase productivity while programming.xx", + "Description[zh_CN]": "多种提升编程生产力的工具集合。", "Icon": "help-hint", "Id": "kdevcodeutils", "Name": "Code Utilities", @@ -44,6 +45,7 @@ "Name[tr]": "Kod Araçları", "Name[uk]": "Допоміжні засоби", "Name[x-test]": "xxCode Utilitiesxx", + "Name[zh_CN]": "代码工具", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/contextbrowser/kdevcontextbrowser.json b/plugins/contextbrowser/kdevcontextbrowser.json index 4ec0154b24..31b6ab53d5 100644 --- a/plugins/contextbrowser/kdevcontextbrowser.json +++ b/plugins/contextbrowser/kdevcontextbrowser.json @@ -27,6 +27,7 @@ "Description[tr]": "Bu eklenti yan görünümde mevcut dil bağlamıyla ilgili bilgi gösterir, ve ilgili tanımlamaları ve kullanımları vurgular.", "Description[uk]": "За допомогою цього додатка можна переглянути у перегляді на бічній панелі відомості про поточний контекст мови, а також підсвітити пов’язані оголошення і випадки використання.", "Description[x-test]": "xxThis plugin shows information about the current language context in a side view, and highlights relevant declarations and uses.xx", + "Description[zh_CN]": "此插件在侧边视图中显示关于当前语言上下文的信息,并加亮突出相关的声明和调用。", "Icon": "code-context", "Id": "kdevcontextbrowser", "License": "GPL", diff --git a/plugins/cvs/kdevcvs.json b/plugins/cvs/kdevcvs.json index fc289cfd6c..5cbd9dc0b5 100644 --- a/plugins/cvs/kdevcvs.json +++ b/plugins/cvs/kdevcvs.json @@ -26,6 +26,7 @@ "Description[tr]": "Bu eklenti CVS uygulamasını KDevelop ile bütünleştirir", "Description[uk]": "За допомогою цього додатка можна інтегрувати CVS до KDevelop", "Description[x-test]": "xxThis plugin integrates CVS to KDevelopxx", + "Description[zh_CN]": "此插件将 CVS 整合到 KDevelop", "Icon": "kdevelop", "Id": "kdevcvs", "License": "GPL", @@ -46,6 +47,7 @@ "Name[tr]": "CVS Desteği", "Name[uk]": "Підтримка CVS", "Name[x-test]": "xxCVS Supportxx", + "Name[zh_CN]": "CVS 支持", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/documentswitcher/kdevdocumentswitcher.json b/plugins/documentswitcher/kdevdocumentswitcher.json index b5c5dc51b9..9b4d660d2b 100644 --- a/plugins/documentswitcher/kdevdocumentswitcher.json +++ b/plugins/documentswitcher/kdevdocumentswitcher.json @@ -27,6 +27,7 @@ "Description[tr]": "KDevPlatform için en-son-kullanılan belge seçici bir eklenti.", "Description[uk]": "Перемикач останніх використаних документів для KDevPlatform.", "Description[x-test]": "xxA most-recently-used document switcher for KDevPlatform.xx", + "Description[zh_CN]": "KDevPlatform 的最近经常使用文档的切换器。", "Icon": "document-open-recent", "Id": "kdevdocumentswitcher", "License": "GPL", @@ -52,6 +53,7 @@ "Name[tr]": "Yakın Zamanda En Çok Kullanılan Belgeleri Seçici", "Name[uk]": "Перемикач нещодавно використаних документів", "Name[x-test]": "xxMost-Recently-Used Document Switcherxx", + "Name[zh_CN]": "最近经常使用文档切换器", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/documentview/kdevdocumentview.json b/plugins/documentview/kdevdocumentview.json index 7a393ea97b..1c2bb70563 100644 --- a/plugins/documentview/kdevdocumentview.json +++ b/plugins/documentview/kdevdocumentview.json @@ -27,6 +27,7 @@ "Description[tr]": "Bu eklenti o anda yüklenmiş olan tüm belgeleri grafiksel bir görünümde gösterir ve mime türlerine göre ayırır.", "Description[uk]": "Цей додаток відображає у графічному вигляді всі відкриті документи і впорядковує їх за типом MIME.", "Description[x-test]": "xxThis plugin displays a graphical view of all documents currently loaded and separates them by mimetype.xx", + "Description[zh_CN]": "此插件显示当前已装入文档的图形视图并按照 mime 类型分类。", "Icon": "document-preview", "Id": "kdevdocumentview", "License": "LGPL", @@ -48,6 +49,7 @@ "Name[tr]": "Belge Görünümü", "Name[uk]": "Перегляд документів", "Name[x-test]": "xxDocument Viewxx", + "Name[zh_CN]": "文档视图", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/documentview/settings/kcm_documentview_settings.desktop b/plugins/documentview/settings/kcm_documentview_settings.desktop index 43d972905e..0e239efc3e 100644 --- a/plugins/documentview/settings/kcm_documentview_settings.desktop +++ b/plugins/documentview/settings/kcm_documentview_settings.desktop @@ -39,6 +39,7 @@ Name[tr]=Belge Görünümü Name[ug]=پۈتۈك كۆرۈنۈشى Name[uk]=Перегляд документів Name[x-test]=xxDocument Viewxx +Name[zh_CN]=文档视图 Name[zh_TW]=文件檢視 Comment=Configure Document View settings Comment[bg]=Настройки на изгледа за документи diff --git a/plugins/execute/kdevexecute.json b/plugins/execute/kdevexecute.json index 754cfb398a..7ceeca998c 100644 --- a/plugins/execute/kdevexecute.json +++ b/plugins/execute/kdevexecute.json @@ -27,6 +27,7 @@ "Description[tr]": "Bu eklenti programların ek araç olmadan çalıştırılabilmesini sağlar, örn. mevcut istemci ile doğal olarak.", "Description[uk]": "За допомогою цього додатка можна запускати програми безпосередньо на поточному вузлі.", "Description[x-test]": "xxThis plugin allows running of programs with no instrumentor, ie. natively by the current host.xx", + "Description[zh_CN]": "此插件允许以无操作者方式运行程序,例如,当前主机的原生方式。", "Icon": "system-run", "Id": "kdevexecute", "License": "GPL", @@ -52,6 +53,7 @@ "Name[tr]": "Uygulamaları Çalıştır", "Name[uk]": "Виконання програм", "Name[x-test]": "xxExecute Programsxx", + "Name[zh_CN]": "执行程序", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/executescript/kdevexecutescript.json b/plugins/executescript/kdevexecutescript.json index 1fb6a2e5ed..35f8eeac99 100644 --- a/plugins/executescript/kdevexecutescript.json +++ b/plugins/executescript/kdevexecutescript.json @@ -26,6 +26,7 @@ "Description[tr]": "Bu eklenti betiklerin çalıştırılmasını sağlar.", "Description[uk]": "За допомогою цього додатка можна запускати скрипти.", "Description[x-test]": "xxThis plugin allows running of scripts.xx", + "Description[zh_CN]": "此插件可以执行脚本.", "Icon": "system-run", "Id": "kdevexecutescript", "License": "GPL", @@ -51,6 +52,7 @@ "Name[tr]": "Betikleri Çalıştır", "Name[uk]": "Виконання скриптів", "Name[x-test]": "xxExecute Scriptsxx", + "Name[zh_CN]": "执行脚本", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/externalscript/kdevexternalscript.json b/plugins/externalscript/kdevexternalscript.json index 0e329158cd..0402b09066 100644 --- a/plugins/externalscript/kdevexternalscript.json +++ b/plugins/externalscript/kdevexternalscript.json @@ -27,6 +27,7 @@ "Description[tr]": "Düzenleyici içeriğini değiştirmek veya diğer keyfi eylemler için dış betikler veya uygulamalar çalıştır.", "Description[uk]": "Запускає зовнішні скрипти або програми для обробки текстових даних редактора або виконання інших потрібних дій.", "Description[x-test]": "xxRun external scripts or applications to manipulate the editor contents or do other arbitrary actions.xx", + "Description[zh_CN]": "运行外部脚本或应用程序来处理编辑器内容或者执行其它任意动作。", "Icon": "system-run", "Id": "kdevexternalscript", "License": "GPL", diff --git a/plugins/filemanager/kdevfilemanager.json b/plugins/filemanager/kdevfilemanager.json index 7fee430214..c7d03a5228 100644 --- a/plugins/filemanager/kdevfilemanager.json +++ b/plugins/filemanager/kdevfilemanager.json @@ -27,6 +27,7 @@ "Description[tr]": "Bu eklenti KDevelop için bir dosya yöneticisi sağlar.", "Description[uk]": "За допомогою цього додатка можна отримати доступ до менеджера файлів у KDevelop.", "Description[x-test]": "xxThis plugin brings a filemanager to KDevelop.xx", + "Description[zh_CN]": "此插件为 KDevelop 提供了一个文件管理器。", "Icon": "system-file-manager", "Id": "kdevfilemanager", "License": "GPL", @@ -48,6 +49,7 @@ "Name[tr]": "KDE Dosya Yöneticisi Bütünleşmesi", "Name[uk]": "Інтеграція засобу керування файлами KDE", "Name[x-test]": "xxKDE File Manager Integrationxx", + "Name[zh_CN]": "KDE 文件管理器整合", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/filetemplates/kdevfiletemplates.json b/plugins/filetemplates/kdevfiletemplates.json index 49113031fa..fc3b485f3b 100644 --- a/plugins/filetemplates/kdevfiletemplates.json +++ b/plugins/filetemplates/kdevfiletemplates.json @@ -28,6 +28,7 @@ "Description[tr]": "Kaynak dosyaları için şablonları yönetir", "Description[uk]": "Керування шаблонами для початкових файлів коду", "Description[x-test]": "xxManages templates for source filesxx", + "Description[zh_CN]": "管理源文件的模板", "Icon": "code-class", "Id": "kdevfiletemplates", "License": "GPL", @@ -53,6 +54,7 @@ "Name[tr]": "Dosya Şablon Yapılandırması", "Name[uk]": "Налаштовування шаблонів файлів", "Name[x-test]": "xxFile Templates Configurationxx", + "Name[zh_CN]": "文件模板配置", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/genericprojectmanager/kdevgenericmanager.json b/plugins/genericprojectmanager/kdevgenericmanager.json index f667810ea7..d92c388a2f 100644 --- a/plugins/genericprojectmanager/kdevgenericmanager.json +++ b/plugins/genericprojectmanager/kdevgenericmanager.json @@ -23,6 +23,7 @@ "Description[tr]": "KDevelop uygulamasının genel projeleri yönetmesine izin ver", "Description[uk]": "За допомогою цього додатка можна увімкнути керування загальними проектами у KDevelop", "Description[x-test]": "xxAllow KDevelop to manage generic projectsxx", + "Description[zh_CN]": "允许 KDevelop 管理常规工程", "Icon": "kdevelop", "Id": "KDevGenericManager", "Name": "Generic Project Manager", @@ -43,6 +44,7 @@ "Name[tr]": "Genel Proje Yöneticisi", "Name[uk]": "Звичайний засіб керування проектом", "Name[x-test]": "xxGeneric Project Managerxx", + "Name[zh_CN]": "常规工程管理器", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/git/kdevgit.json b/plugins/git/kdevgit.json index 28823dd7ef..2c4905f646 100644 --- a/plugins/git/kdevgit.json +++ b/plugins/git/kdevgit.json @@ -27,6 +27,7 @@ "Description[tr]": "Bu eklenti Git uygulamasını KDevelop ile bütünleştirir", "Description[uk]": "Цей додаток інтегрує Git із KDevelop", "Description[x-test]": "xxThis plugin integrates Git to KDevelopxx", + "Description[zh_CN]": "此插件对 KDevelop 整合 Git", "Icon": "git", "Id": "kdevgit", "License": "GPL", @@ -46,6 +47,7 @@ "Name[tr]": "Git Desteği", "Name[uk]": "Підтримка Git", "Name[x-test]": "xxGit Supportxx", + "Name[zh_CN]": "Git 支持", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/grepview/kdevgrepview.json b/plugins/grepview/kdevgrepview.json index b8834dae77..49fd49b056 100644 --- a/plugins/grepview/kdevgrepview.json +++ b/plugins/grepview/kdevgrepview.json @@ -21,6 +21,7 @@ "Description[tr]": "Kalıplar veya düzenli ifadeler kullanarak birden çok dosyada hızlı aramaya izin verir. Yer değiştirmeye de izin verir.", "Description[uk]": "Надає можливості швидкого пошуку та заміни у декількох файлів на основі шаблонів або формальних виразів.", "Description[x-test]": "xxAllows fast searching of multiple files using patterns or regular expressions. And allow to replace it too.xx", + "Description[zh_CN]": "可以用模式或正则表达式快速搜索多个文件,还可以替换。", "Icon": "kfind", "Id": "kdevgrepview", "Name": "Find/Replace In Files", @@ -45,6 +46,7 @@ "Name[tr]": "Bu Dosyalarda Bul ve Değiştir", "Name[uk]": "Пошук або заміна у файлах", "Name[x-test]": "xxFind/Replace In Filesxx", + "Name[zh_CN]": "在文件中查找/替换", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/konsole/kdevkonsoleview.json b/plugins/konsole/kdevkonsoleview.json index b45e3878c2..2d8c6c77d5 100644 --- a/plugins/konsole/kdevkonsoleview.json +++ b/plugins/konsole/kdevkonsoleview.json @@ -21,6 +21,7 @@ "Description[tr]": "Bu eklenti hızlı ve kolay komut satırı erişimi için KDevelop'a gömülü bir uçbirim sağlar.", "Description[uk]": "За допомогою цього додатка у KDevelop можна буде скористатися вбудованою konsole, яка пришвидшить і полегшить доступ до командного рядка.", "Description[x-test]": "xxThis plugin provides KDevelop with an embedded konsole for quick and easy command line access.xx", + "Description[zh_CN]": "此插件为 KDevelop 提供了一个快速方便地访问命令行的嵌入式控制台。", "Icon": "utilities-terminal", "Id": "kdevkonsoleview", "Name": "Konsole Integration", @@ -41,6 +42,7 @@ "Name[tr]": "Konsole Bütünleşmesi", "Name[uk]": "Інтеграція з Konsole", "Name[x-test]": "xxKonsole Integrationxx", + "Name[zh_CN]": "Konsole 整合", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/okteta/kdevokteta.json b/plugins/okteta/kdevokteta.json index 4e7a4e453f..d55ec1431e 100644 --- a/plugins/okteta/kdevokteta.json +++ b/plugins/okteta/kdevokteta.json @@ -44,6 +44,7 @@ "Name[tr]": "Hex Düzenleyici", "Name[uk]": "Шістнадцятковий редактор", "Name[x-test]": "xxHex Editorxx", + "Name[zh_CN]": "十六进制编辑器", "ServiceTypes": [ "KDevelop/Plugin" ], diff --git a/plugins/openwith/kdevopenwith.json b/plugins/openwith/kdevopenwith.json index 617fea2ea0..241074b9c3 100644 --- a/plugins/openwith/kdevopenwith.json +++ b/plugins/openwith/kdevopenwith.json @@ -27,6 +27,7 @@ "Description[tr]": "Bu eklenti ilişkilendirilmiş dış uygulamalar ile dosyalar açmayı sağlar.", "Description[uk]": "За допомогою цього додатка ви зможете відкривати файли у пов’язаній з ними зовнішній програмі.", "Description[x-test]": "xxThis plugin allows one to open files with associated external applications.xx", + "Description[zh_CN]": "此插件允许使用关联的外部应用程序打开文件。", "Icon": "document-open", "Id": "kdevopenwith", "License": "GPL", diff --git a/plugins/outlineview/kdevoutlineview.json b/plugins/outlineview/kdevoutlineview.json index ef679db4d3..e5e9cda7d8 100644 --- a/plugins/outlineview/kdevoutlineview.json +++ b/plugins/outlineview/kdevoutlineview.json @@ -27,6 +27,7 @@ "Description[tr]": "Bu eklenti mevcut açık dosyanın çerçevesini görüntülemeyi sağlar.", "Description[uk]": "За допомогою цього додатка можна переглянути схему поточного відкритого документа.", "Description[x-test]": "xxThis plugin provides a view to show the outline of the currently open document.xx", + "Description[zh_CN]": "此插件提供了一个当前显示当前打开文档的概要的视图。", "Icon": "code-class", "Id": "KDevOutlineView", "License": "LGPL", diff --git a/plugins/patchreview/kdevpatchreview.json b/plugins/patchreview/kdevpatchreview.json index cdf4b23c9f..7100f4c16f 100644 --- a/plugins/patchreview/kdevpatchreview.json +++ b/plugins/patchreview/kdevpatchreview.json @@ -27,6 +27,7 @@ "Description[tr]": "Bu eklenti yamaların doğrudan düzenleyici içerisinde gözden geçirilmesini sağlar.", "Description[uk]": "За допомогою цього додатка ви зможете рецензувати латки безпосередньо у редакторі.", "Description[x-test]": "xxThis plugin allows reviewing patches directly in the editor.xx", + "Description[zh_CN]": "此插件允许在编辑器中直接审阅补丁。", "Icon": "applications-engineering", "Id": "kdevpatchreview", "License": "GPL", diff --git a/plugins/problemreporter/kdevproblemreporter.json b/plugins/problemreporter/kdevproblemreporter.json index cfae28fcf3..f72237615a 100644 --- a/plugins/problemreporter/kdevproblemreporter.json +++ b/plugins/problemreporter/kdevproblemreporter.json @@ -27,6 +27,7 @@ "Description[tr]": "Bu eklenti kaynak koddaki hataları gösterir.", "Description[uk]": "За допомогою цього додатка можна переглянути повідомлення про помилки у коді.", "Description[x-test]": "xxThis plugin shows errors in source code.xx", + "Description[zh_CN]": "此插件显示源代码中的错误。", "Icon": "emblem-important", "Id": "kdevproblemreporter", "License": "LGPL", @@ -52,6 +53,7 @@ "Name[tr]": "Sorun Bildirici Görünümü", "Name[uk]": "Перегляд інструмента звітування про проблеми", "Name[x-test]": "xxProblem Reporter Viewxx", + "Name[zh_CN]": "错误汇报视图", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/projectfilter/kdevprojectfilter.json b/plugins/projectfilter/kdevprojectfilter.json index 9f8371a0bb..fd86ebe4cf 100644 --- a/plugins/projectfilter/kdevprojectfilter.json +++ b/plugins/projectfilter/kdevprojectfilter.json @@ -26,6 +26,7 @@ "Description[tr]": "Proje klasörü içerisindeki hangi dosya ve klasörlerin dahil edilip edilmeyeceğini yapılandır.", "Description[uk]": "За допомогою цього модуля можна визначити, які файли і теки у теці проекту має бути включено або виключено з його складу.", "Description[x-test]": "xxConfigure which files and folders inside the project folder should be included or excluded.xx", + "Description[zh_CN]": "配置项目文件中哪些文件被加入或排除。", "Icon": "view-filter", "Id": "KDevProjectFilter", "Name": "Project Filter", diff --git a/plugins/projectmanagerview/kdevprojectmanagerview.json b/plugins/projectmanagerview/kdevprojectmanagerview.json index 08b7424978..85ab98fe67 100644 --- a/plugins/projectmanagerview/kdevprojectmanagerview.json +++ b/plugins/projectmanagerview/kdevprojectmanagerview.json @@ -27,6 +27,7 @@ "Description[tr]": "Proje içeriğini yönetmenizi sağlar.", "Description[uk]": "Надає вам змогу керувати вмістом проектів.", "Description[x-test]": "xxLets you manage the project contents.xx", + "Description[zh_CN]": "让您管理项目内容。", "Icon": "kdevelop", "Id": "KDevProjectManagerView", "License": "LGPL", @@ -48,6 +49,7 @@ "Name[tr]": "Proje Yöneticisi Görünümü", "Name[uk]": "Перегляд керування проектами", "Name[x-test]": "xxProject Manager Viewxx", + "Name[zh_CN]": "工程管理器视图", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/quickopen/kdevquickopen.json b/plugins/quickopen/kdevquickopen.json index 8fc3b0e28e..cb3a4edb58 100644 --- a/plugins/quickopen/kdevquickopen.json +++ b/plugins/quickopen/kdevquickopen.json @@ -27,6 +27,7 @@ "Description[tr]": "Bu eklenti proje dosyalarına ve sınıflar/fonksiyonlar gibi dil öğelerine hızlı erişim sağlar.", "Description[uk]": "За допомогою цього додатка можна пришвидшити доступ до файлів проектів і елементів мови на зразок класів або функцій.", "Description[x-test]": "xxThis plugin allows quick access to project files and language-items like classes/functions.xx", + "Description[zh_CN]": "此插件允许快速访问工程文件和诸如类/函数的语言项目。", "Icon": "quickopen", "Id": "kdevquickopen", "License": "GPL", @@ -52,6 +53,7 @@ "Name[tr]": "Hızlı Aç", "Name[uk]": "Швидке відкриття", "Name[x-test]": "xxQuick Openxx", + "Name[zh_CN]": "快速打开", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/sourceformatter/kdevsourceformatter.json b/plugins/sourceformatter/kdevsourceformatter.json index 41c16cfde4..d8ad22add6 100644 --- a/plugins/sourceformatter/kdevsourceformatter.json +++ b/plugins/sourceformatter/kdevsourceformatter.json @@ -36,6 +36,7 @@ "Name[tr]": "Kaynak Biçimlendirici", "Name[uk]": "Форматування коду", "Name[x-test]": "xxSource Formatterxx", + "Name[zh_CN]": "源代码格式化器", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/standardoutputview/kdevstandardoutputview.json b/plugins/standardoutputview/kdevstandardoutputview.json index 7ce38da63f..d6694ddba6 100644 --- a/plugins/standardoutputview/kdevstandardoutputview.json +++ b/plugins/standardoutputview/kdevstandardoutputview.json @@ -21,6 +21,7 @@ "Description[tr]": "Diğer eklentilerin derleyici iletileri gibi şeyleri göstermesi için metin çıktı araç görünümü sağlar.", "Description[uk]": "Забезпечує роботу панелі показу текстових даних інших додатків, зокрема попереджень компілятора.", "Description[x-test]": "xxProvides a text output toolview for other plugins to use, to show things like compiler messages.xx", + "Description[zh_CN]": "提供让其它插件使用的文本输出工具视图,以便显示诸如编译器消息的信息。", "Icon": "kdevelop", "Id": "KDevStandardOutputView", "Name": "Output View", diff --git a/plugins/subversion/kdevsubversion.json b/plugins/subversion/kdevsubversion.json index a1a67a86b7..3bed938aa9 100644 --- a/plugins/subversion/kdevsubversion.json +++ b/plugins/subversion/kdevsubversion.json @@ -48,6 +48,7 @@ "Name[tr]": "Suversion Desteği", "Name[uk]": "Підтримка Subversion", "Name[x-test]": "xxSubversion Supportxx", + "Name[zh_CN]": "Subversion 支持", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/switchtobuddy/kdevswitchtobuddy.json b/plugins/switchtobuddy/kdevswitchtobuddy.json index 26caf5a2f0..dce39c47ba 100644 --- a/plugins/switchtobuddy/kdevswitchtobuddy.json +++ b/plugins/switchtobuddy/kdevswitchtobuddy.json @@ -20,6 +20,7 @@ "Description[tr]": "Uygulama ve başlık dosyası gibi ilişkili belgeler arasında geçişe izin verir.", "Description[uk]": "Надає змогу перемикатися на споріднені документи, зокрема файли з реалізацією та файли заголовків.", "Description[x-test]": "xxAllows switching between buddy documents like implementation and header file.xx", + "Description[zh_CN]": "允许在伙伴文件中切换,如实现与头文件", "Icon": "document-multiple", "Id": "kdevswitchtobuddy", "Name": "Switch to Buddy", @@ -43,6 +44,7 @@ "Name[tr]": "Dosta Geçiş Yap", "Name[uk]": "Перемикання на споріднений", "Name[x-test]": "xxSwitch to Buddyxx", + "Name[zh_CN]": "切换至伙伴文件", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/testview/kdevtestview.json b/plugins/testview/kdevtestview.json index 276f6c2768..cd0f8e83f3 100644 --- a/plugins/testview/kdevtestview.json +++ b/plugins/testview/kdevtestview.json @@ -27,6 +27,7 @@ "Description[tr]": "Birim testlerini görmenizi ve çalıştırmanızı sağlar.", "Description[uk]": "Надає вам змогу переглядати і виконувати перевірки модулів.", "Description[x-test]": "xxLets you see and run unit tests.xx", + "Description[zh_CN]": "让您查看并运行单元测试。", "Icon": "preflight-verifier", "Id": "kdevtestview", "License": "GPL", @@ -52,6 +53,7 @@ "Name[tr]": "Birim Test Görünümü", "Name[uk]": "Перегляд перевірок модулів", "Name[x-test]": "xxUnit Test Viewxx", + "Name[zh_CN]": "单元测试视图", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/vcschangesview/kdevvcschangesview.json b/plugins/vcschangesview/kdevvcschangesview.json index 684fa03513..47c7e19cd5 100644 --- a/plugins/vcschangesview/kdevvcschangesview.json +++ b/plugins/vcschangesview/kdevvcschangesview.json @@ -28,6 +28,7 @@ "Description[tr]": "Bu eklenti projeler ile VCS altyapıları arasında bütünleşme sağlar", "Description[uk]": "За допомогою цього додатка забезпечується інтеграція між проектами та інфраструктурою системи керування версіями (VCS)", "Description[x-test]": "xxThis plugin provides integration between the projects and their VCS infrastructurexx", + "Description[zh_CN]": "此插件提供工程和它们的代码管理系统的集成", "Icon": "kdevelop", "Id": "kdevvcschangesviewplugin", "License": "GPL", @@ -49,6 +50,7 @@ "Name[tr]": "Sürüm Kontrol Sistemi Bütünleşmesi", "Name[uk]": "Інтеграція з системами керування версіями", "Name[x-test]": "xxVCS Integrationxx", + "Name[zh_CN]": "VCS 工程集成", "ServiceTypes": [ "KDevelop/Plugin" ] diff --git a/plugins/welcomepage/kdevwelcomepage.json b/plugins/welcomepage/kdevwelcomepage.json index 4cf3c58365..f59086ce11 100644 --- a/plugins/welcomepage/kdevwelcomepage.json +++ b/plugins/welcomepage/kdevwelcomepage.json @@ -38,6 +38,7 @@ "Name[tr]": "KDevelop Karşılama Sayfası", "Name[uk]": "Сторінка вітання KDevelop", "Name[x-test]": "xxKDevelop Welcome Pagexx", + "Name[zh_CN]": "KDevelop 欢迎页面", "ServiceTypes": [ "KDevelop/Plugin" ] From 56416bdde6325e0b4435cb348943d14c695a5b6e Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Fri, 22 Dec 2017 21:39:48 +0100 Subject: [PATCH 077/108] Set toolbar/toolbutton font on quickopen line edit Summary: The quickopen line edit is shown in the toolbar and thus should follow the font style of the other tool bar actions. So far, it did not do that. Now we manually force the toolbar font to ensure the font style is homogeneous. Subscribers: kdevelop-devel Differential Revision: https://phabricator.kde.org/D9481 (cherry picked from commit d0705822a2fa0b27d69057196d5dea98fec1c54a) --- plugins/quickopen/quickopenplugin.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/quickopen/quickopenplugin.cpp b/plugins/quickopen/quickopenplugin.cpp index a414228355..7d451c2339 100644 --- a/plugins/quickopen/quickopenplugin.cpp +++ b/plugins/quickopen/quickopenplugin.cpp @@ -930,6 +930,7 @@ QuickOpenLineEdit::QuickOpenLineEdit(QuickOpenWidgetCreator* creator) : m_widget , m_forceUpdate(false) , m_widgetCreator(creator) { + setFont(qApp->font("QToolButton")); setMinimumWidth(200); setMaximumWidth(400); From 2f2ac007eaca75e056aa224cd719c5ff1f4ca04e Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Fri, 22 Dec 2017 00:13:22 +0100 Subject: [PATCH 078/108] Format comments before setting them on the DUChain This removes the /// and /* ... */ prefixes. Not only does this make the stuff way more readable, it also fixes our JSON tests... (cherry picked from commit c31f202700d0ffe750bb6301430b29dd2d80b360) --- plugins/clang/duchain/builder.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/clang/duchain/builder.cpp b/plugins/clang/duchain/builder.cpp index 6454bd6b73..9d119ac044 100644 --- a/plugins/clang/duchain/builder.cpp +++ b/plugins/clang/duchain/builder.cpp @@ -949,7 +949,7 @@ void Visitor::setDeclData(CXCursor cursor, Declaration *decl, bool setComment) c { if (setComment) #if CINDEX_VERSION_MINOR < 100 // FIXME https://bugs.llvm.org/show_bug.cgi?id=35333 - decl->setComment(QByteArray(clang_getCString(clang_Cursor_getRawCommentText(cursor)))); + decl->setComment(KDevelop::formatComment(QByteArray(clang_getCString(clang_Cursor_getRawCommentText(cursor))))); #else decl->setComment(makeComment(clang_Cursor_getParsedComment(cursor))); #endif From 9761e029d65cefa1a4c074101061b3e4e5b78e77 Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Fri, 22 Dec 2017 00:12:30 +0100 Subject: [PATCH 079/108] Format comments before setting them on the DUChain Summary: This removes the /// and /* ... */ prefixes. Not only does this make the stuff way more readable, it also fixes our JSON tests... Return proper non-C++ specific includes/defines for non-project files When we query the includes/defines for a file outside of any project we always returned the C++ compiler includes/defines. This was because we never tried to guess the language type then, since we operated only on ProjectBaseItems pointers which are obviously nullptr for files outside of any project. Instead, operate on QString path representations like elsewhere in the IADM already. This allows us to guess the language type even for C, ObjC and Cuda files when they are not part of a project. No unit test is added, but I found this while working on a separate feature that has a proper unit test attached. Handle _Complex types We just create a delayed type that holds the string representation. This is enough to get the type displayed in the tooltips and it also removes the pesky warnings from the command line about unhandled types. Subscribers: kdevelop-devel Differential Revision: https://phabricator.kde.org/D9472 (cherry picked from commit 96b95928dae30f57fba1707099bff5560eb43894) --- plugins/clang/duchain/builder.cpp | 3 ++- plugins/clang/tests/files/purec.c | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/plugins/clang/duchain/builder.cpp b/plugins/clang/duchain/builder.cpp index 9d119ac044..e4115be3af 100644 --- a/plugins/clang/duchain/builder.cpp +++ b/plugins/clang/duchain/builder.cpp @@ -597,7 +597,7 @@ struct Visitor return t; } - template = dummy> + template = dummy> AbstractType *createType(CXType type, CXCursor /*parent*/) { return createDelayedType(type); @@ -1353,6 +1353,7 @@ AbstractType *Visitor::makeType(CXType type, CXCursor parent) #if CINDEX_VERSION_MINOR >= 38 UseKind(CXType_Float128); #endif + UseKind(CXType_Complex); case CXType_Invalid: return nullptr; default: diff --git a/plugins/clang/tests/files/purec.c b/plugins/clang/tests/files/purec.c index 2314d9cce1..33f50c5a05 100644 --- a/plugins/clang/tests/files/purec.c +++ b/plugins/clang/tests/files/purec.c @@ -1,3 +1,16 @@ typedef enum { Zero, One } Foobar; /// "identifier" : "foo" static const Foobar foo = 0 == 1; + +#include + +/// "type" : { "toString" : "_Complex float" } +float complex f_z = I * I; +/// "type" : { "toString" : "_Complex double" } +double complex d_z = I * I; +/// "type" : { "toString" : "_Complex long double" } +long double complex ld_z = I * I; +/// "type" : { "toString" : "const _Complex long double" } +const long double complex c_z = I * I; +/// "type" : { "toString" : "volatile _Complex float" } +volatile float complex v_z = I * I; From 4a9455fdbbad8c3497a0675144215a7465ad144c Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Wed, 10 Jan 2018 09:34:43 +0100 Subject: [PATCH 080/108] Only set CMAKE_AUTOMOC_MACRO_NAMES with KF5 < 5.42 Reviewers: #kdevelop, flherne, kfunk Reviewed By: #kdevelop, kfunk Subscribers: kdevelop-devel Differential Revision: https://phabricator.kde.org/D9778 --- CMakeLists.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ca8bab6b66..26465cb78d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,14 +12,6 @@ set(KDEV_PLUGIN_VERSION 30) find_package (ECM 5.14.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${KDevelop_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) -if(NOT CMAKE_VERSION VERSION_LESS "3.10.0") - # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know about other macros. - # 3.10+ lets us provide more macro names that require automoc. - # Remove this when depending on a Frameworks or ECM version that solves this upstream. - list(APPEND CMAKE_AUTOMOC_MACRO_NAMES - "K_PLUGIN_FACTORY_WITH_JSON" "K_EXPORT_PLASMA_DATAENGINE_WITH_JSON" "K_EXPORT_PLASMA_RUNNER") -endif() - include(KDECompilerSettings NO_POLICY_SCOPE) # needs to be first, as set policies influence following macros include(ECMOptionalAddSubdirectory) include(ECMInstallIcons) @@ -89,6 +81,14 @@ set_package_properties(KDevelop-PG-Qt PROPERTIES find_package(SharedMimeInfo REQUIRED) +if(NOT CMAKE_VERSION VERSION_LESS "3.10.0" AND KF5_VERSION VERSION_LESS "5.42.0") + # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know about other macros. + # 3.10+ lets us provide more macro names that require automoc. + # KF5 >= 5.42 takes care itself of adding its macros in its cmake config files + list(APPEND CMAKE_AUTOMOC_MACRO_NAMES + "K_PLUGIN_FACTORY_WITH_JSON" "K_EXPORT_PLASMA_DATAENGINE_WITH_JSON" "K_EXPORT_PLASMA_RUNNER") +endif() + add_definitions( -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050500 From 64c125114edbb1df2b8d06b82a3ba05a7d85e320 Mon Sep 17 00:00:00 2001 From: Laurent Montel Date: Sun, 7 Jan 2018 11:02:34 +0100 Subject: [PATCH 081/108] Remove unused file (cherry picked from commit c2031c5dcdc5ab0d77e0935392103a30f606293c) --- .reviewboardrc | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 .reviewboardrc diff --git a/.reviewboardrc b/.reviewboardrc deleted file mode 100644 index b4e20125f7..0000000000 --- a/.reviewboardrc +++ /dev/null @@ -1,3 +0,0 @@ -REPOSITORY = "git://anongit.kde.org/kdevelop" -REVIEWBOARD_URL = "https://git.reviewboard.kde.org" -TARGET_GROUPS = "kdevelop" From 3881efbda3e74b2afd62ee9e06c902569bd230f4 Mon Sep 17 00:00:00 2001 From: Laurent Montel Date: Sun, 7 Jan 2018 11:02:47 +0100 Subject: [PATCH 082/108] Remove unused file (cherry picked from commit d212fa1d09421045849f6f6d73161af7f72448f0) --- plugins/clang/.reviewboardrc | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 plugins/clang/.reviewboardrc diff --git a/plugins/clang/.reviewboardrc b/plugins/clang/.reviewboardrc deleted file mode 100644 index cd1ef2aa08..0000000000 --- a/plugins/clang/.reviewboardrc +++ /dev/null @@ -1,3 +0,0 @@ -REPOSITORY = "kdev-clang" -REVIEWBOARD_URL = "https://git.reviewboard.kde.org" -TARGET_GROUPS = "kdevelop" From f2a6941e086cdf506c8fb1798c52982bff43792d Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Wed, 10 Jan 2018 10:31:16 +0100 Subject: [PATCH 083/108] Cache ProblemPointers per translation unit Summary: For visibility purposes, all 'inclue file not found' errors are associated with all files in a TU, since these usually completely break the interpretation of a file. But in some situations, this triggers a severe performance degradation: When the TU has a deep include stack depth and a file is not found somewhere at the bottom of the stack, then it will have one child diagnostic for every "included from ..." file higher up in the stack. Now if we would repeatedly build and intern the KDevelop::Problem representation for these diagnostics, for every file in the TU, we sometimes ended up spending *minutes* to create all the problems in ParseSession::problemsForFile! To workaround this situation, cache the ProblemPointer in the ParseSessionData for a given translation unit. This way, we will only convert a given diagnostic and its child diagnostics once per TU instead of once per file contained in a TU. In my case this brings down the time spent in problemsForFile for a single TU from ~7min (sic!) down to ~12s. While the latter is still a lot, this is already much more bearable. BUG: 386720 Reviewers: #kdevelop Subscribers: kdevelop-devel Differential Revision: https://phabricator.kde.org/D9772 --- plugins/clang/duchain/parsesession.cpp | 9 ++++++++- plugins/clang/duchain/parsesession.h | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/clang/duchain/parsesession.cpp b/plugins/clang/duchain/parsesession.cpp index 24dbf2ba85..b19f41b230 100644 --- a/plugins/clang/duchain/parsesession.cpp +++ b/plugins/clang/duchain/parsesession.cpp @@ -380,6 +380,7 @@ QByteArray ParseSessionData::writeDefinesFile(const QMap& defi void ParseSessionData::setUnit(CXTranslationUnit unit) { m_unit = unit; + m_diagnosticsCache.clear(); if (m_unit) { const ClangString unitFile(clang_getTranslationUnitSpelling(unit)); m_file = clang_getFile(m_unit, unitFile.c_str()); @@ -449,6 +450,8 @@ QList ParseSession::problemsForFile(CXFile file) const // extra clang diagnostics const uint numDiagnostics = clang_getNumDiagnostics(d->m_unit); problems.reserve(numDiagnostics); + d->m_diagnosticsCache.resize(numDiagnostics); + for (uint i = 0; i < numDiagnostics; ++i) { auto diagnostic = clang_getDiagnostic(d->m_unit, i); @@ -461,7 +464,11 @@ QList ParseSession::problemsForFile(CXFile file) const continue; } - ProblemPointer problem(ClangDiagnosticEvaluator::createProblem(diagnostic, d->m_unit)); + auto& problem = d->m_diagnosticsCache[i]; + if (!problem) { + problem = ClangDiagnosticEvaluator::createProblem(diagnostic, d->m_unit); + } + problems << problem; clang_disposeDiagnostic(diagnostic); diff --git a/plugins/clang/duchain/parsesession.h b/plugins/clang/duchain/parsesession.h index 163eae1390..a2374744e8 100644 --- a/plugins/clang/duchain/parsesession.h +++ b/plugins/clang/duchain/parsesession.h @@ -79,6 +79,8 @@ class KDEVCLANGPRIVATE_EXPORT ParseSessionData : public KDevelop::IAstContainer /// TODO: share this file for all TUs that use the same defines (probably most in a project) /// best would be a PCH, if possible QTemporaryFile m_definesFile; + // cached ProblemPointer representation for diagnostics + QVector m_diagnosticsCache; }; /** From 94ed49aceac454f9b1fba8b65ba63e5c7562f8c6 Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Wed, 10 Jan 2018 11:03:04 +0100 Subject: [PATCH 084/108] Performance: Reuse the global icon loader Summary: I just found a noticeable GUI hang when showing a problem widget for a missing include path. There, the profiler pointed me at KIconLoader which was reconstructed whenever we query for the icon representing the severity of a problem. By reusing the global icon loader, we can get the information from the cache which is significantly faster. Reviewers: #kdevelop Subscribers: kdevelop-devel Differential Revision: https://phabricator.kde.org/D9783 --- .../duchain/navigation/problemnavigationcontext.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kdevplatform/language/duchain/navigation/problemnavigationcontext.cpp b/kdevplatform/language/duchain/navigation/problemnavigationcontext.cpp index 39bd7505c9..1ae2adfe45 100644 --- a/kdevplatform/language/duchain/navigation/problemnavigationcontext.cpp +++ b/kdevplatform/language/duchain/navigation/problemnavigationcontext.cpp @@ -55,11 +55,11 @@ QString iconForSeverity(IProblem::Severity severity) QString htmlImg(const QString& iconName, KIconLoader::Group group) { - KIconLoader loader; - const int size = loader.currentSize(group); + auto* loader = KIconLoader::global(); + const int size = loader->currentSize(group); return QStringLiteral("") .arg(size) - .arg(loader.iconPath(iconName, group)); + .arg(loader->iconPath(iconName, group)); } } From f0fbcb7e6f52037c42d3155c404166077ccc3e75 Mon Sep 17 00:00:00 2001 From: Sven Brauch Date: Sat, 13 Jan 2018 22:57:33 +0100 Subject: [PATCH 085/108] fix crash when stopping process Differential Revision: https://phabricator.kde.org/D9858 (cherry picked from commit 71f7bed96dd0954635c2793c681ba8a5da9ba318) --- kdevplatform/shell/runtimecontroller.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kdevplatform/shell/runtimecontroller.cpp b/kdevplatform/shell/runtimecontroller.cpp index e2ad831a05..22b83bdbdb 100644 --- a/kdevplatform/shell/runtimecontroller.cpp +++ b/kdevplatform/shell/runtimecontroller.cpp @@ -41,7 +41,7 @@ class IdentityRuntime : public IRuntime connect(process, &QProcess::errorOccurred, #endif this, [process](QProcess::ProcessError error) { - qCWarning(SHELL) << "error:" << error << process->program() << process->errorString(); + qCWarning(SHELL) << "process finished with error:" << error; }); process->start(); } @@ -52,7 +52,7 @@ class IdentityRuntime : public IRuntime connect(process, &QProcess::errorOccurred, #endif this, [process](QProcess::ProcessError error) { - qCWarning(SHELL) << "error:" << error << process->program() << process->errorString(); + qCWarning(SHELL) << "process finished with error:" << error; }); process->start(); } From 2adeca0d03f35f846dc0e0d21dffa608cf4687b6 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Mon, 15 Jan 2018 13:10:49 +0100 Subject: [PATCH 086/108] Minor: Fix -Wunused-lambda-capture warning --- kdevplatform/shell/runtimecontroller.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kdevplatform/shell/runtimecontroller.cpp b/kdevplatform/shell/runtimecontroller.cpp index 22b83bdbdb..6556e8942e 100644 --- a/kdevplatform/shell/runtimecontroller.cpp +++ b/kdevplatform/shell/runtimecontroller.cpp @@ -40,7 +40,7 @@ class IdentityRuntime : public IRuntime #else connect(process, &QProcess::errorOccurred, #endif - this, [process](QProcess::ProcessError error) { + this, [](QProcess::ProcessError error) { qCWarning(SHELL) << "process finished with error:" << error; }); process->start(); @@ -51,7 +51,7 @@ class IdentityRuntime : public IRuntime #else connect(process, &QProcess::errorOccurred, #endif - this, [process](QProcess::ProcessError error) { + this, [](QProcess::ProcessError error) { qCWarning(SHELL) << "process finished with error:" << error; }); process->start(); From e6ee67c23ae333d2ea4129bf507c5a389684c960 Mon Sep 17 00:00:00 2001 From: Dan Weatherill Date: Mon, 15 Jan 2018 21:02:09 +0100 Subject: [PATCH 087/108] work around bug in kLineEdit Summary: a bug in kLineEdit causes spurious emission of textEdited signals when calling setText(). This in turn causes spurious calls of compilerEdited() when selecting a compiler in the compilers window, which leads to a segfault (e.g. this bug https://bugs.kde.org/show_bug.cgi?id=373004) and I think some duplicates also. I have submitted also a patch to kcompletion, https://phabricator.kde.org/D9808 This is a workaround for those systems until that is fixed Reviewers: #kdevelop, apol, mwolff Reviewed By: #kdevelop, mwolff Subscribers: mwolff, anthonyfieroni, kdevelop-devel Tags: #kdevelop Differential Revision: https://phabricator.kde.org/D9809 BUG: 373004 FIXED-IN: 5.2.2 --- .../tests/test_compilerprovider.cpp | 1 + .../compilerprovider/widget/compilerswidget.cpp | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp b/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp index 8b9fdb728f..86bc304708 100644 --- a/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp +++ b/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp @@ -25,6 +25,7 @@ #include #include +#include #include #include diff --git a/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp b/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp index f4487196c8..530ccd7442 100644 --- a/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp +++ b/plugins/custom-definesandincludes/compilerprovider/widget/compilerswidget.cpp @@ -33,6 +33,7 @@ #include #include #include +#include #include "ui_compilerswidget.h" #include "compilersmodel.h" @@ -162,7 +163,15 @@ void CompilersWidget::compilerSelected(const QModelIndex& index) auto compiler = index.data(CompilersModel::CompilerDataRole); if (compiler.value()) { m_ui->compilerName->setText(compiler.value()->name()); + + //NOTE: there is a bug in kLineEdit, which causes textEdited signal to be + // spuriously emitted on calling setText(). See bug report here: + // https://bugs.kde.org/show_bug.cgi?id=388798 + // The resulting spurious call of compilerEdited then fails with an assert. + //Work around this bug until it is fixed upstream by disabling signals here + const QSignalBlocker blocker(m_ui->compilerPath); m_ui->compilerPath->setText(compiler.value()->path()); + enableItems(true); } else { enableItems(false); @@ -194,6 +203,10 @@ void CompilersWidget::enableItems(bool enable) if(!enable) { m_ui->compilerName->clear(); + + //NOTE: this is to work around the + //spurious signal bug in kLineEdit + const QSignalBlocker blocker(m_ui->compilerPath); m_ui->compilerPath->clear(); } } From 7add59d4e142a42d395a6cf07a406870f68d590e Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Tue, 16 Jan 2018 14:03:50 +0100 Subject: [PATCH 088/108] Also unbreak QtPrintersTest::testQByteArray Reviewers: #kdevelop Subscribers: kdevelop-devel Differential Revision: https://phabricator.kde.org/D9924 (cherry picked from commit a6093e7ed7b3dca83aaea25747ac9b8a5ffc85d7) --- plugins/gdb/unittests/test_gdbprinters.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/plugins/gdb/unittests/test_gdbprinters.cpp b/plugins/gdb/unittests/test_gdbprinters.cpp index 8f760d665b..1096538d88 100644 --- a/plugins/gdb/unittests/test_gdbprinters.cpp +++ b/plugins/gdb/unittests/test_gdbprinters.cpp @@ -113,11 +113,14 @@ void QtPrintersTest::testQByteArray() gdb.execute("break qbytearray.cpp:5"); gdb.execute("run"); QByteArray out = gdb.execute("print ba"); - QVERIFY(out.contains("\"test byte array\"")); - QVERIFY(out.contains("[0] = 116 't'")); - QVERIFY(out.contains("[4] = 32 ' '")); + qDebug() << out; + QVERIFY(out.contains("\"\xE6\x98\xAF'\\\"\\\\u6211\"")); + QVERIFY(out.contains("[0] = -26 '\\346'")); + QVERIFY(out.contains("[3] = 39 '\\''")); + QVERIFY(out.contains("[4] = 34 '\"'")); gdb.execute("next"); - QVERIFY(gdb.execute("print ba").contains("\"test byte arrayx\"")); + out = gdb.execute("print ba"); + QVERIFY(out.contains("\"\xE6\x98\xAF'\\\"\\\\u6211x\"")); } void QtPrintersTest::testQListContainer_data() From 7a47aa5cc869a216fd9239602a28598d4c11a630 Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Tue, 16 Jan 2018 13:55:04 +0100 Subject: [PATCH 089/108] Unbreak QtPrintersTest::testQString Summary: Someone changed the test clients without adapting the GDB printer tests... Reviewers: #kdevelop Subscribers: kdevelop-devel Differential Revision: https://phabricator.kde.org/D9923 (cherry picked from commit f4dd6425f3436fec1a75736d59812eb7ce2a5ebb) --- plugins/gdb/unittests/test_gdbprinters.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/gdb/unittests/test_gdbprinters.cpp b/plugins/gdb/unittests/test_gdbprinters.cpp index 1096538d88..bae2fa1998 100644 --- a/plugins/gdb/unittests/test_gdbprinters.cpp +++ b/plugins/gdb/unittests/test_gdbprinters.cpp @@ -102,9 +102,9 @@ void QtPrintersTest::testQString() GdbProcess gdb(QStringLiteral("debuggee_qstring")); gdb.execute("break qstring.cpp:5"); gdb.execute("run"); - QVERIFY(gdb.execute("print s").contains("\"test string\"")); + QVERIFY(gdb.execute("print s").contains("\"test最后一个不是特殊字符'\\\"\\\\u6211\"")); gdb.execute("next"); - QVERIFY(gdb.execute("print s").contains("\"test stringx\"")); + QVERIFY(gdb.execute("print s").contains("\"test最后一个不是特殊字符'\\\"\\\\u6211x\"")); } void QtPrintersTest::testQByteArray() From a2a4632e9401bc32c7345fc2c17a33fbc22c86a3 Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Tue, 16 Jan 2018 14:25:20 +0100 Subject: [PATCH 090/108] Unbreak the GDB QUrl pretty printer test Summary: By changing the test client back to what it expects. Blindly also adapt the LLDB test which introduced the regression in the first place. Note that I cannot run the LLDB test locally, so I'm not sure whether the test passes there. Still, don't break GDB tests, people are using those... Reviewers: #kdevelop Subscribers: kdevelop-devel Differential Revision: https://phabricator.kde.org/D9922 (cherry picked from commit eeb8c640deb51c016ffdcefe83fae11f218dfae3) --- plugins/debuggercommon/tests/debuggees/qurl.cpp | 2 +- plugins/lldb/unittests/test_lldbformatters.cpp | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/debuggercommon/tests/debuggees/qurl.cpp b/plugins/debuggercommon/tests/debuggees/qurl.cpp index e840d2385d..218a683161 100644 --- a/plugins/debuggercommon/tests/debuggees/qurl.cpp +++ b/plugins/debuggercommon/tests/debuggees/qurl.cpp @@ -1,6 +1,6 @@ #include int main() { - QUrl u(QStringLiteral("http://www.kdevelop.org/foo")); + QUrl u(QStringLiteral("http://user@www.kdevelop.org:12345/foo?xyz=bar#asdf")); return 0; } diff --git a/plugins/lldb/unittests/test_lldbformatters.cpp b/plugins/lldb/unittests/test_lldbformatters.cpp index 5b4bbf6a60..ec54c0e302 100644 --- a/plugins/lldb/unittests/test_lldbformatters.cpp +++ b/plugins/lldb/unittests/test_lldbformatters.cpp @@ -941,15 +941,15 @@ void LldbFormattersTest::testQUrl() WAIT_FOR_A_WHILE_AND_IDLE(m_session, 50); QList> children; - children.append({QStringLiteral("(port)"), QStringLiteral("-1")}); + children.append({QStringLiteral("(port)"), QStringLiteral("12345")}); children.append({QStringLiteral("(scheme)"), QStringLiteral("\"http\"")}); - children.append({QStringLiteral("(userName)"), QStringLiteral("")}); + children.append({QStringLiteral("(userName)"), QStringLiteral("user")}); children.append({QStringLiteral("(password)"), QStringLiteral("")}); children.append({QStringLiteral("(host)"), QStringLiteral("\"www.kdevelop.org\"")}); children.append({QStringLiteral("(path)"), QStringLiteral("\"/foo\"")}); - children.append({QStringLiteral("(query)"), QStringLiteral("")}); - children.append({QStringLiteral("(fragment)"), QStringLiteral("")}); - VERIFY_LOCAL(0, "u", "\"http://www.kdevelop.org/foo\"", children); + children.append({QStringLiteral("(query)"), QStringLiteral("xyz=bar")}); + children.append({QStringLiteral("(fragment)"), QStringLiteral("asdf")}); + VERIFY_LOCAL(0, "u", "\"http://user@www.kdevelop.org:12345/foo?xyz=bar#asdf\"", children); } void LldbFormattersTest::testQUuid() From ad234814927813d5cf39cda527877b381ab92892 Mon Sep 17 00:00:00 2001 From: Peifeng Yu Date: Tue, 16 Jan 2018 13:26:59 -0500 Subject: [PATCH 091/108] Properly quote expected string value in lldb formatter unittests Summary: Sorry about breaking gdb printer tests. I must have forgotten adapting them when merging lldb and gdb tests. Anyway, this patch uses correct expected values in lldb tests. Reviewers: kfunk, #kdevelop Reviewed By: kfunk, #kdevelop Subscribers: kdevelop-devel Differential Revision: https://phabricator.kde.org/D9929 (cherry picked from commit 06298b24fee156bc4e482d470fc7b737f45ec709) --- plugins/lldb/unittests/test_lldbformatters.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/lldb/unittests/test_lldbformatters.cpp b/plugins/lldb/unittests/test_lldbformatters.cpp index ec54c0e302..af29d9a92d 100644 --- a/plugins/lldb/unittests/test_lldbformatters.cpp +++ b/plugins/lldb/unittests/test_lldbformatters.cpp @@ -943,12 +943,12 @@ void LldbFormattersTest::testQUrl() QList> children; children.append({QStringLiteral("(port)"), QStringLiteral("12345")}); children.append({QStringLiteral("(scheme)"), QStringLiteral("\"http\"")}); - children.append({QStringLiteral("(userName)"), QStringLiteral("user")}); + children.append({QStringLiteral("(userName)"), QStringLiteral("\"user\"")}); children.append({QStringLiteral("(password)"), QStringLiteral("")}); children.append({QStringLiteral("(host)"), QStringLiteral("\"www.kdevelop.org\"")}); children.append({QStringLiteral("(path)"), QStringLiteral("\"/foo\"")}); - children.append({QStringLiteral("(query)"), QStringLiteral("xyz=bar")}); - children.append({QStringLiteral("(fragment)"), QStringLiteral("asdf")}); + children.append({QStringLiteral("(query)"), QStringLiteral("\"xyz=bar\"")}); + children.append({QStringLiteral("(fragment)"), QStringLiteral("\"asdf\"")}); VERIFY_LOCAL(0, "u", "\"http://user@www.kdevelop.org:12345/foo?xyz=bar#asdf\"", children); } From c6f68e54af897a1ae1beefc2f11303eedf237851 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 16 Jan 2018 23:45:19 +0100 Subject: [PATCH 092/108] test_path: Fix unit tests There's a behaviorial change in Qt, starting with qtbase.git commit f62768d046528636789f901ac79e2cfa1843a7b7 (included in Qt 5.9.3). See commit diff for details. (cherry picked from commit 8eb7bc717d3c96cac806851a7e6e80dfa3006594) --- kdevplatform/util/tests/test_path.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/kdevplatform/util/tests/test_path.cpp b/kdevplatform/util/tests/test_path.cpp index 89886e4df7..6fea9ba94f 100644 --- a/kdevplatform/util/tests/test_path.cpp +++ b/kdevplatform/util/tests/test_path.cpp @@ -427,8 +427,12 @@ void TestPath::testPathAddData() QUrl baseUrl = QUrl::fromUserInput(base); if (QDir::isRelativePath(pathToAdd)) { baseUrl = resolvedUrl(baseUrl, QUrl(pathToAdd)); - } else { + } else if (QDir::isRelativePath(pathToAdd) || baseUrl.path() != QLatin1String("/")) { + // if pathToAdd == /absolute && baseUrl == "/", below call would lead to an invalid QUrl + // with qtbase.git/f62768d046528636789f901ac79e2cfa1843a7b7 baseUrl.setPath(baseUrl.path() + pathToAdd); + } else { + baseUrl.setPath(pathToAdd); } baseUrl = baseUrl.adjusted(QUrl::NormalizePathSegments); From 8d47edae98b65d9fc643d562c185f6b0aaef3fec Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 16 Jan 2018 23:56:31 +0100 Subject: [PATCH 093/108] test_gdb: Don't hang in GdbTest::testCoreFile KProcess::execute(...) by default waits indefinitely. Set a timeout. (cherry picked from commit a485241c96e221f3844d96f35a94a37752be7d6b) --- plugins/gdb/unittests/test_gdb.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/gdb/unittests/test_gdb.cpp b/plugins/gdb/unittests/test_gdb.cpp index 4c1ee7c406..c8a7ddfc1b 100644 --- a/plugins/gdb/unittests/test_gdb.cpp +++ b/plugins/gdb/unittests/test_gdb.cpp @@ -1041,14 +1041,14 @@ void GdbTest::testCoreFile() + findExecutable(QStringLiteral("debuggee_crash")).toLocalFile(); debugeeProcess.start(); debugeeProcess.waitForFinished(); - qDebug() << debugeeProcess.readAll(); + qDebug() << "Debuggee output:\n" << debugeeProcess.readAll(); bool coreFileFound = f.exists(); if (!coreFileFound) { // Try to use coredumpctl auto coredumpctl = QStandardPaths::findExecutable(QStringLiteral("coredumpctl")); if (!coredumpctl.isEmpty()) { - KProcess::execute(coredumpctl, {"-1", "-o", f.absoluteFilePath(), "dump", "debuggee_crash"}); + KProcess::execute(coredumpctl, {"-1", "-o", f.absoluteFilePath(), "dump", "debuggee_crash"}, 5000); coreFileFound = f.exists(); } } From 2e7407940956bbcc41fca0adb00be1a4b4fa958a Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Wed, 17 Jan 2018 00:02:49 +0100 Subject: [PATCH 094/108] test_compilerprovider: Do not load all plugins --- .../compilerprovider/tests/test_compilerprovider.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp b/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp index 86bc304708..f62b950cb6 100644 --- a/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp +++ b/plugins/custom-definesandincludes/compilerprovider/tests/test_compilerprovider.cpp @@ -85,7 +85,7 @@ void testAddingEntry(SettingsManager* settings, KConfig* config){ void TestCompilerProvider::initTestCase() { - AutoTestShell::init(); + AutoTestShell::init({QStringLiteral("kdevdefinesandincludesmanager"), QStringLiteral("KDevCustomBuildSystem"), QStringLiteral("KDevStandardOutputView")}); TestCore::initialize(); } From 6e1ed6699780b044cfdc2dcb74c74b3a27761903 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Wed, 17 Jan 2018 09:35:13 +0100 Subject: [PATCH 095/108] test_shell*: Speed up tests ... and try to fix hang on CI... --- kdevplatform/shell/tests/test_shellbuddy.cpp | 2 +- kdevplatform/shell/tests/test_shelldocumentoperation.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kdevplatform/shell/tests/test_shellbuddy.cpp b/kdevplatform/shell/tests/test_shellbuddy.cpp index a0b466b8f3..fb7e51d694 100644 --- a/kdevplatform/shell/tests/test_shellbuddy.cpp +++ b/kdevplatform/shell/tests/test_shellbuddy.cpp @@ -82,7 +82,7 @@ class TestBuddyFinder : public KDevelop::IBuddyDocumentFinder void TestShellBuddy::initTestCase() { - AutoTestShell::init(); + AutoTestShell::init({{}}); // do not load plugins at all TestCore::initialize(); m_documentController = Core::self()->documentController(); m_uiController = Core::self()->uiControllerInternal(); diff --git a/kdevplatform/shell/tests/test_shelldocumentoperation.cpp b/kdevplatform/shell/tests/test_shelldocumentoperation.cpp index 5b4c638475..aa0e6fc604 100644 --- a/kdevplatform/shell/tests/test_shelldocumentoperation.cpp +++ b/kdevplatform/shell/tests/test_shelldocumentoperation.cpp @@ -41,7 +41,7 @@ using namespace KDevelop; void TestShellDocumentOperation::initTestCase() { - AutoTestShell::init(); + AutoTestShell::init({{}}); // do not load plugins at all TestCore::initialize(); } From 59a0edf7552e6c8d72e2e090a667358fdc9bd1de Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Wed, 17 Jan 2018 10:53:16 +0100 Subject: [PATCH 096/108] test_documentcontroller: Speed up test --- kdevplatform/shell/tests/test_documentcontroller.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kdevplatform/shell/tests/test_documentcontroller.cpp b/kdevplatform/shell/tests/test_documentcontroller.cpp index d833e959cf..54603f7939 100644 --- a/kdevplatform/shell/tests/test_documentcontroller.cpp +++ b/kdevplatform/shell/tests/test_documentcontroller.cpp @@ -40,7 +40,7 @@ using namespace KDevelop; void TestDocumentController::initTestCase() { - AutoTestShell::init(); + AutoTestShell::init({{}}); // do not load plugins at all TestCore::initialize(); Core::self()->languageController()->backgroundParser()->disableProcessing(); m_subject = Core::self()->documentController(); From 51233ccddf0c294edc7055bdccd80f5d3d933a62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miha=20=C4=8Can=C4=8Dula?= Date: Thu, 18 Jan 2018 09:25:09 +0100 Subject: [PATCH 097/108] Fix ctestsuites unit test Use enable_testing() to always create a CTestTestfile, and prune the test project after each test run to remove any stale files. (cherry picked from commit 8f265cca47f605aa0843433800df67a07fae4301) --- .../cmake/tests/manual/unit_tests_kde/CMakeLists.txt | 2 +- plugins/cmake/tests/test_ctestfindsuites.cpp | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/cmake/tests/manual/unit_tests_kde/CMakeLists.txt b/plugins/cmake/tests/manual/unit_tests_kde/CMakeLists.txt index 3bb9e85459..71706dd44b 100644 --- a/plugins/cmake/tests/manual/unit_tests_kde/CMakeLists.txt +++ b/plugins/cmake/tests/manual/unit_tests_kde/CMakeLists.txt @@ -8,7 +8,7 @@ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(ECMAddTests) -set(ENABLE_TESTING ON) +enable_testing() set(CMAKE_AUTOMOC ON) ecm_add_test(test.cpp TEST_NAME cmake-test-unittestskde) diff --git a/plugins/cmake/tests/test_ctestfindsuites.cpp b/plugins/cmake/tests/test_ctestfindsuites.cpp index 144ecb2fee..bc69dfdb14 100644 --- a/plugins/cmake/tests/test_ctestfindsuites.cpp +++ b/plugins/cmake/tests/test_ctestfindsuites.cpp @@ -32,6 +32,8 @@ #include #include #include +#include +#include #include #include #include @@ -39,6 +41,7 @@ #include #include +#include using namespace KDevelop; @@ -61,7 +64,12 @@ void TestCTestFindSuites::initTestCase() void TestCTestFindSuites::cleanup() { - foreach(IProject* p, ICore::self()->projectController()->projects()) { + foreach(IProject* p, ICore::self()->projectController()->projects()) + { + if (p && p->buildSystemManager() && p->buildSystemManager()->builder()) + { + p->buildSystemManager()->builder()->prune(p)->exec(); + } ICore::self()->projectController()->closeProject(p); } QVERIFY(ICore::self()->projectController()->projects().isEmpty()); From 39c110e3fdb08230eb2cb58831ebb8ad92f44296 Mon Sep 17 00:00:00 2001 From: Milian Wolff Date: Tue, 16 Jan 2018 14:20:39 +0100 Subject: [PATCH 098/108] Link against KF5::Purpose if it's available Summary: The lib is not experimental anymore. Reviewers: #kdevelop, apol Subscribers: kdevelop-devel Differential Revision: https://phabricator.kde.org/D9921 (cherry picked from commit 831cf5f98d78ddf64655456cd84ff166d45141d8) --- plugins/patchreview/CMakeLists.txt | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/plugins/patchreview/CMakeLists.txt b/plugins/patchreview/CMakeLists.txt index 2649487bac..9449d7cb0f 100644 --- a/plugins/patchreview/CMakeLists.txt +++ b/plugins/patchreview/CMakeLists.txt @@ -4,13 +4,17 @@ set_package_properties(LibKompareDiff2 PROPERTIES TYPE REQUIRED ) -find_package(KDEExperimentalPurpose QUIET) -set_package_properties(KDEExperimentalPurpose PROPERTIES DESCRIPTION "EXPERIMENTAL. Support for patch sharing" - URL "https://projects.kde.org/projects/playground/libs/purpose" +find_package(KF5Purpose CONFIG QUIET) +set_package_properties(KF5Purpose PROPERTIES DESCRIPTION "Support for patch sharing" TYPE OPTIONAL ) - - +if (NOT KF5Purpose_FOUND) + find_package(KDEExperimentalPurpose QUIET) + set_package_properties(KDEExperimentalPurpose PROPERTIES DESCRIPTION "EXPERIMENTAL. Support for patch sharing" + URL "https://projects.kde.org/projects/playground/libs/purpose" + TYPE OPTIONAL + ) +endif() add_definitions(-DTRANSLATION_DOMAIN=\"kdevpatchreview\") kde_enable_exceptions() @@ -49,7 +53,10 @@ target_link_libraries(kdevpatchreview KF5::TextEditor KF5::Parts ) -if (KDEExperimentalPurpose_FOUND) +if (KF5Purpose_FOUND) + target_compile_definitions(kdevpatchreview PRIVATE WITH_PURPOSE) + target_link_libraries(kdevpatchreview KF5::PurposeWidgets) +elseif (KDEExperimentalPurpose_FOUND) target_compile_definitions(kdevpatchreview PRIVATE WITH_PURPOSE) target_link_libraries(kdevpatchreview KDEExperimental::PurposeWidgets) endif() From 57e452e5a16b43d8eee57d524253baced24b4f0c Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Thu, 18 Jan 2018 14:42:50 +0100 Subject: [PATCH 099/108] debuggercommon: Remove number of lines printed ... without losing any information though. Also, instead of: Debugger state changed to: QFlags(0x2|0x100) "" We now get something like (for Qt >= v5.8.0): Debugger state changed to: QFlags(s_appNotStarted|s_dbgBusy) "" - changes: QFlags(s_none) --- plugins/debuggercommon/CMakeLists.txt | 1 + plugins/debuggercommon/dbgglobal.cpp | 22 ++++++++++++++++++++++ plugins/debuggercommon/dbgglobal.h | 7 +++++++ plugins/debuggercommon/midebugger.cpp | 4 +++- plugins/debuggercommon/midebugsession.cpp | 3 +-- 5 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 plugins/debuggercommon/dbgglobal.cpp diff --git a/plugins/debuggercommon/CMakeLists.txt b/plugins/debuggercommon/CMakeLists.txt index 2bd2795ea2..f6b395f592 100644 --- a/plugins/debuggercommon/CMakeLists.txt +++ b/plugins/debuggercommon/CMakeLists.txt @@ -5,6 +5,7 @@ set(debuggercommon_SRCS mi/miparser.cpp mi/micommand.cpp mi/micommandqueue.cpp + dbgglobal.cpp dialogs/selectcoredialog.cpp # debug session & debugger midebugger.cpp diff --git a/plugins/debuggercommon/dbgglobal.cpp b/plugins/debuggercommon/dbgglobal.cpp new file mode 100644 index 0000000000..7d1982848f --- /dev/null +++ b/plugins/debuggercommon/dbgglobal.cpp @@ -0,0 +1,22 @@ +/* This file is part of the KDE project + Copyright (C) 2018 Kevin Funk + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public License + along with this library; see the file COPYING.LIB. If not, write to + the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ + +#include "dbgglobal.h" + +#include "moc_dbgglobal.cpp" diff --git a/plugins/debuggercommon/dbgglobal.h b/plugins/debuggercommon/dbgglobal.h index 2744e2f8fe..9cf0ca9e31 100644 --- a/plugins/debuggercommon/dbgglobal.h +++ b/plugins/debuggercommon/dbgglobal.h @@ -18,10 +18,14 @@ #ifndef _DBGGLOBAL_H_ #define _DBGGLOBAL_H_ +#include #include namespace KDevMI { +#if QT_VERSION >= QT_VERSION_CHECK(5,8,0) +Q_NAMESPACE +#endif enum DBGStateFlag { @@ -46,6 +50,9 @@ enum DBGStateFlag /// Set when the debugger failed to start s_dbgFailedStart = 1 << 13, }; +#if QT_VERSION >= QT_VERSION_CHECK(5,8,0) +Q_ENUM_NS(DBGStateFlag) +#endif Q_DECLARE_FLAGS(DBGStateFlags, DBGStateFlag) enum DataType { typeUnknown, typeValue, typePointer, typeReference, diff --git a/plugins/debuggercommon/midebugger.cpp b/plugins/debuggercommon/midebugger.cpp index dce505ee28..621beeb30a 100644 --- a/plugins/debuggercommon/midebugger.cpp +++ b/plugins/debuggercommon/midebugger.cpp @@ -146,7 +146,9 @@ void MIDebugger::readyReadStandardError() void MIDebugger::processLine(const QByteArray& line) { - qCDebug(DEBUGGERCOMMON) << "Debugger (" << m_process->pid() <<") output: " << line; + if (line != "(gdb) ") { + qCDebug(DEBUGGERCOMMON) << "Debugger output (pid =" << m_process->pid() << "): " << line; + } FileSymbol file; file.contents = line; diff --git a/plugins/debuggercommon/midebugsession.cpp b/plugins/debuggercommon/midebugsession.cpp index 58d9bb7794..f7539d216e 100644 --- a/plugins/debuggercommon/midebugsession.cpp +++ b/plugins/debuggercommon/midebugsession.cpp @@ -442,7 +442,6 @@ void MIDebugSession::debuggerStateChange(DBGStateFlags oldState, DBGStateFlags n out += QString::number(i); } } - qCDebug(DEBUGGERCOMMON) << "Debugger state change:" << out; } } @@ -488,7 +487,7 @@ void MIDebugSession::handleDebuggerStateChange(DBGStateFlags oldState, DBGStateF } // And now? :-) - qCDebug(DEBUGGERCOMMON) << "Debugger state changed to: " << newState << message; + qCDebug(DEBUGGERCOMMON) << "Debugger state changed to:" << newState << message << "- changes:" << changedState; if (!message.isEmpty()) emit showMessage(message, 3000); From 9aca2af179e1a8ad11bad9cf0d32469430c5c2d9 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Fri, 2 Feb 2018 07:13:48 +0100 Subject: [PATCH 100/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- plugins/appwizard/kdevappwizard.json | 1 + plugins/bazaar/kdevbazaar.json | 1 + plugins/cvs/kdevcvs.json | 1 + plugins/docker/kdevdocker.json | 1 + plugins/documentview/kdevdocumentview.json | 1 + plugins/filemanager/kdevfilemanager.json | 1 + plugins/genericprojectmanager/kdevgenericmanager.json | 2 ++ plugins/git/kdevgit.json | 1 + plugins/konsole/kdevkonsoleview.json | 1 + plugins/projectfilter/kdevprojectfilter.json | 1 + plugins/projectmanagerview/kdevprojectmanagerview.json | 1 + plugins/sourceformatter/kdevsourceformatter.json | 1 + plugins/vcschangesview/kdevvcschangesview.json | 1 + 13 files changed, 14 insertions(+) diff --git a/plugins/appwizard/kdevappwizard.json b/plugins/appwizard/kdevappwizard.json index 0706836aed..fa796c0cdf 100644 --- a/plugins/appwizard/kdevappwizard.json +++ b/plugins/appwizard/kdevappwizard.json @@ -39,6 +39,7 @@ "Name[de]": "Projekt-Assistent", "Name[es]": "Asistente de nuevo proyecto", "Name[fr]": "Assistant de création de nouveau projet", + "Name[gl]": "Asistente para proxectos novos", "Name[it]": "Procedura guidata nuovo progetto", "Name[nb]": "Veiviser for nytt prosjekt", "Name[nl]": "Nieuwe projectenassistent", diff --git a/plugins/bazaar/kdevbazaar.json b/plugins/bazaar/kdevbazaar.json index 9548c93ea0..1ee3d1a00f 100644 --- a/plugins/bazaar/kdevbazaar.json +++ b/plugins/bazaar/kdevbazaar.json @@ -39,6 +39,7 @@ "Name[de]": "Bazaar-Unterstützung", "Name[es]": "Implementación de Bazaar", "Name[fr]": "Prise en charge de Bazaar", + "Name[gl]": "Compatibilidade con Bazaar", "Name[it]": "Supporto per Bazaar", "Name[nb]": "Bazaar-støtte", "Name[nl]": "Ondersteuning van Bazaar", diff --git a/plugins/cvs/kdevcvs.json b/plugins/cvs/kdevcvs.json index 5cbd9dc0b5..4cc6015e59 100644 --- a/plugins/cvs/kdevcvs.json +++ b/plugins/cvs/kdevcvs.json @@ -37,6 +37,7 @@ "Name[de]": "CVS-Unterstützung", "Name[es]": "Implementación de CVS", "Name[fr]": "Prise en charge de CVS", + "Name[gl]": "Compatibilidade con CVS", "Name[it]": "Supporto per CVS", "Name[nb]": "CVS-støtte", "Name[nl]": "CVS-ondersteuning", diff --git a/plugins/docker/kdevdocker.json b/plugins/docker/kdevdocker.json index d7ece9e205..af0b869359 100644 --- a/plugins/docker/kdevdocker.json +++ b/plugins/docker/kdevdocker.json @@ -34,6 +34,7 @@ "Name[de]": "Docker-Unterstützung", "Name[es]": "Implementación de Docker", "Name[fr]": "Prise en charge de Docker", + "Name[gl]": "Integración de Docker", "Name[it]": "Supporto per Docker", "Name[nl]": "Ondersteuning van Docker", "Name[pl]": "Obsługa Docker", diff --git a/plugins/documentview/kdevdocumentview.json b/plugins/documentview/kdevdocumentview.json index 1c2bb70563..726e71e8e9 100644 --- a/plugins/documentview/kdevdocumentview.json +++ b/plugins/documentview/kdevdocumentview.json @@ -38,6 +38,7 @@ "Name[de]": "Dokumentansicht", "Name[es]": "Vista de documento", "Name[fr]": "Vue Document", + "Name[gl]": "Vista do documento", "Name[it]": "Vista documento", "Name[nb]": "Dokumentvisning", "Name[nl]": "Documentweergave", diff --git a/plugins/filemanager/kdevfilemanager.json b/plugins/filemanager/kdevfilemanager.json index c7d03a5228..953b98c7e5 100644 --- a/plugins/filemanager/kdevfilemanager.json +++ b/plugins/filemanager/kdevfilemanager.json @@ -38,6 +38,7 @@ "Name[de]": "Integration der KDE-Dateiverwaltung", "Name[es]": "Integración del gestor de archivos de KDE", "Name[fr]": "Intégration du gestionnaire de fichiers de KDE", + "Name[gl]": "Integración co xestor de ficheiros de KDE", "Name[it]": "Integrazione gestore di file di KDE", "Name[nb]": "Integrasjon med KDE filbehandler", "Name[nl]": "KDE Bestandsbeheerder-integratie", diff --git a/plugins/genericprojectmanager/kdevgenericmanager.json b/plugins/genericprojectmanager/kdevgenericmanager.json index d92c388a2f..497f13669a 100644 --- a/plugins/genericprojectmanager/kdevgenericmanager.json +++ b/plugins/genericprojectmanager/kdevgenericmanager.json @@ -14,6 +14,7 @@ "Description[de]": "Zum Verwalten allgemeiner Projekte in KDevelop", "Description[es]": "Permite que KDevelop gestione proyectos genéricos", "Description[fr]": "Permet à KDevelop de gérer des projets génériques", + "Description[gl]": "Permítelle a KDevelop xestionar proxectos xenéricos", "Description[it]": "Permette a KDevelop di gestire progetti generici", "Description[nl]": "Sta toe dat KDevelop generieke projecten beheert", "Description[pl]": "Zezwól KDevelopowi na zarządzanie zwykłymi projektami", @@ -33,6 +34,7 @@ "Name[de]": "Allgemeine Projektverwaltung", "Name[es]": "Gestor de proyectos genérico", "Name[fr]": "Gestionnaire de projets générique", + "Name[gl]": "Xestor de proxectos xenérico", "Name[it]": "Gestore progetto generico", "Name[nb]": "Generisk prosjektbehandler", "Name[nl]": "Generieke projectenbeheerder", diff --git a/plugins/git/kdevgit.json b/plugins/git/kdevgit.json index 2c4905f646..e6bd61fb98 100644 --- a/plugins/git/kdevgit.json +++ b/plugins/git/kdevgit.json @@ -38,6 +38,7 @@ "Name[de]": "Git-Unterstützung", "Name[es]": "Implementación de Git", "Name[fr]": "Prise en charge de Git", + "Name[gl]": "Compatibilidade con Git", "Name[it]": "Supporto per Git", "Name[nl]": "Git-ondersteuning", "Name[pl]": "Obsługa Git", diff --git a/plugins/konsole/kdevkonsoleview.json b/plugins/konsole/kdevkonsoleview.json index 2d8c6c77d5..a76eec5638 100644 --- a/plugins/konsole/kdevkonsoleview.json +++ b/plugins/konsole/kdevkonsoleview.json @@ -31,6 +31,7 @@ "Name[de]": "Konsole-Integration", "Name[es]": "Integración de Konsole", "Name[fr]": "Intégration de Konsole", + "Name[gl]": "Integración con Konsole", "Name[it]": "Integrazione di Konsole", "Name[nb]": "Konsole-integrering", "Name[nl]": "Console-integratie", diff --git a/plugins/projectfilter/kdevprojectfilter.json b/plugins/projectfilter/kdevprojectfilter.json index fd86ebe4cf..24b8b19922 100644 --- a/plugins/projectfilter/kdevprojectfilter.json +++ b/plugins/projectfilter/kdevprojectfilter.json @@ -36,6 +36,7 @@ "Name[de]": "Projektfilter", "Name[es]": "Filtro de proyectos", "Name[fr]": "Filtre de projet", + "Name[gl]": "Filtro do proxecto", "Name[it]": "Filtro progetto", "Name[nb]": "Prosjektfilter", "Name[nl]": "Projectfilter", diff --git a/plugins/projectmanagerview/kdevprojectmanagerview.json b/plugins/projectmanagerview/kdevprojectmanagerview.json index 85ab98fe67..cce1a7b864 100644 --- a/plugins/projectmanagerview/kdevprojectmanagerview.json +++ b/plugins/projectmanagerview/kdevprojectmanagerview.json @@ -38,6 +38,7 @@ "Name[de]": "Ansicht für Projektverwaltung", "Name[es]": "Vista del gestor de proyectos", "Name[fr]": "Vue du gestionnaire de projets", + "Name[gl]": "Vista do xestor de proxectos", "Name[it]": "Vista gestore progetto", "Name[nb]": "Prosjektbehandlervisning", "Name[nl]": "Projectbeheerder-overzicht", diff --git a/plugins/sourceformatter/kdevsourceformatter.json b/plugins/sourceformatter/kdevsourceformatter.json index d8ad22add6..5ffa7e0939 100644 --- a/plugins/sourceformatter/kdevsourceformatter.json +++ b/plugins/sourceformatter/kdevsourceformatter.json @@ -25,6 +25,7 @@ "Name[de]": "Quelltextformatierer", "Name[es]": "Formateador de código fuente", "Name[fr]": "Formateur de sources", + "Name[gl]": "Formatador de código", "Name[it]": "Formattatore sorgenti", "Name[nb]": "Kildeformattering", "Name[nl]": "Broncode-formatteerprogramma", diff --git a/plugins/vcschangesview/kdevvcschangesview.json b/plugins/vcschangesview/kdevvcschangesview.json index 47c7e19cd5..40a9955484 100644 --- a/plugins/vcschangesview/kdevvcschangesview.json +++ b/plugins/vcschangesview/kdevvcschangesview.json @@ -39,6 +39,7 @@ "Name[de]": "VCS-Integration", "Name[es]": "Integración de VCS", "Name[fr]": "Intégration de VCS", + "Name[gl]": "Integración con VCS", "Name[it]": "Integrazione VCS", "Name[nb]": "VCS-integrering", "Name[nl]": "VCS-integratie", From bda9fd5a29ddc72a7804d1178f540d458aa4453a Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Mon, 5 Feb 2018 06:49:32 +0100 Subject: [PATCH 101/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- plugins/documentview/settings/kcm_documentview_settings.desktop | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/documentview/settings/kcm_documentview_settings.desktop b/plugins/documentview/settings/kcm_documentview_settings.desktop index 0e239efc3e..14cea6282a 100644 --- a/plugins/documentview/settings/kcm_documentview_settings.desktop +++ b/plugins/documentview/settings/kcm_documentview_settings.desktop @@ -23,7 +23,6 @@ Name[fr]=Vue Document Name[ga]=Amharc Cáipéise Name[gl]=Vista do documento Name[it]=Vista documento -Name[ja]=文書ビュー Name[kk]=Құжат көрінісі Name[nb]=Dokumentvisning Name[nds]=Dokmenten-Ansicht From 291158cd9e87e84dd07e4537d1414f2fe48dde66 Mon Sep 17 00:00:00 2001 From: Kevin Funk Date: Tue, 6 Feb 2018 13:43:45 +0100 Subject: [PATCH 102/108] documentswitcher: Allow to cancel with Escape key Related: https://phabricator.kde.org/D10306 --- plugins/documentswitcher/documentswitchertreeview.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugins/documentswitcher/documentswitchertreeview.cpp b/plugins/documentswitcher/documentswitchertreeview.cpp index a690e1a8ca..8d55767ac3 100644 --- a/plugins/documentswitcher/documentswitchertreeview.cpp +++ b/plugins/documentswitcher/documentswitchertreeview.cpp @@ -38,7 +38,12 @@ DocumentSwitcherTreeView::DocumentSwitcherTreeView(DocumentSwitcherPlugin* plugi void DocumentSwitcherTreeView::keyPressEvent(QKeyEvent* event) { - QTreeView::keyPressEvent(event); + if (event->key() == Qt::Key_Escape) { + event->accept(); + hide(); + } else { + QTreeView::keyPressEvent(event); + } } void DocumentSwitcherTreeView::keyReleaseEvent(QKeyEvent* event) From b7dd5a0e94da11f3cc64c7d639d5524de8468311 Mon Sep 17 00:00:00 2001 From: l10n daemon script Date: Tue, 13 Feb 2018 07:02:09 +0100 Subject: [PATCH 103/108] SVN_SILENT made messages (.desktop file) - always resolve ours In case of conflict in i18n, keep the version of the branch "ours" To resolve a particular conflict, "git checkout --ours path/to/file.desktop" --- .../cpp/QMake/qmake_qt5guiapp/qmake_qt5guiapp.kdevtemplate | 2 +- plugins/android/kdevandroid.json | 1 + plugins/cmake/kdevcmakemanager.json | 2 +- plugins/docker/dockerfile-template/dockerfile-template.desktop | 2 +- plugins/gdb/kdevgdb.json | 1 + plugins/ghprovider/kdevghprovider.json | 1 + plugins/okteta/kdevokteta.json | 3 ++- plugins/subversion/kdevsubversion.json | 1 + 8 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app_templates/cpp/QMake/qmake_qt5guiapp/qmake_qt5guiapp.kdevtemplate b/app_templates/cpp/QMake/qmake_qt5guiapp/qmake_qt5guiapp.kdevtemplate index e0c896b5aa..4ba41cd243 100644 --- a/app_templates/cpp/QMake/qmake_qt5guiapp/qmake_qt5guiapp.kdevtemplate +++ b/app_templates/cpp/QMake/qmake_qt5guiapp/qmake_qt5guiapp.kdevtemplate @@ -23,7 +23,7 @@ Comment[ca@valencia]=Genera una aplicació IGU basada en QMake/Qt5 (compatible a Comment[cs]=Vytvořit aplikaci založenou na QMake/Qt5 (multiplatformní) Comment[en_GB]=Generate a QMake/Qt5 based GUI application (crossplatform compatible) Comment[es]=Genera una aplicación con interfaz gráfica basada en QMake/Qt5 (compatible multiplataforma) -Comment[fr]=Générer une application graphique basée sur QMake/Qt5 (compatible multi-plate-forme) +Comment[fr]=Générer une application graphique fondée sur QMake/Qt5 (compatible multi-plate-forme) Comment[it]=Genera un'applicazione basata su QMake/Qt5 con interfaccia utente grafica (compatibile multipiattaforma) Comment[nl]=Op QMake/Qt5 gebaseerde GUI-toepassing genereren (crossplatform compatibel) Comment[pl]=Uwórz aplikację opartą na interfejsie użytkownika QMake/Qt5 (zgodne na wielu platformach) diff --git a/plugins/android/kdevandroid.json b/plugins/android/kdevandroid.json index 2a0661f49f..d6e184d667 100644 --- a/plugins/android/kdevandroid.json +++ b/plugins/android/kdevandroid.json @@ -36,6 +36,7 @@ "Name[fr]": "Prise en charge d'Android", "Name[it]": "Supporto per Android", "Name[nl]": "Ondersteuning voor Android", + "Name[nn]": "Android-støtte", "Name[pl]": "Obsługa Androida", "Name[pt]": "Suporte para o Android", "Name[sk]": "Podpora Androidu", diff --git a/plugins/cmake/kdevcmakemanager.json b/plugins/cmake/kdevcmakemanager.json index 6b6f88ee48..cc8df70193 100644 --- a/plugins/cmake/kdevcmakemanager.json +++ b/plugins/cmake/kdevcmakemanager.json @@ -16,7 +16,7 @@ "Description[es]": "Permite que KDevelop gestione proyectos basados en CMake", "Description[et]": "Võimaldab KDevelopil hallata CMake'i põhiseid projekte", "Description[fi]": "Sallii KDevelop-ohjelman hallinnoida CMake-perustaisia projekteja", - "Description[fr]": "Permet à KDevelop de gérer des projets basés sur CMake", + "Description[fr]": "Permet à KDevelop de gérer des projets fondés sur CMake", "Description[gl]": "Permítelle a KDevelop xestionar proxectos baseados en CMake.", "Description[it]": "Permette a KDevelop di gestire i progetti basati su CMake", "Description[nl]": "Staat KDevelop toe om op CMake gebaseerde projecten te beheren", diff --git a/plugins/docker/dockerfile-template/dockerfile-template.desktop b/plugins/docker/dockerfile-template/dockerfile-template.desktop index b7ace35b0e..432de41b97 100644 --- a/plugins/docker/dockerfile-template/dockerfile-template.desktop +++ b/plugins/docker/dockerfile-template/dockerfile-template.desktop @@ -22,7 +22,7 @@ Comment[ca]=Un Dockerfile és un document de text que conté totes les ordres qu Comment[ca@valencia]=Un Dockerfile és un document de text que conté totes les ordes que un usuari hauria de cridar per a muntar una imatge Comment[en_GB]=A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image Comment[es]=Un «Dockerfile» es un documento de texto que contiene todas las órdenes que puede invocar el usuario en la línea de órdenes para ensamblar una imagen -Comment[fr]=Un fichier Docker est un document texte qui contient toutes les commandes qu'un utilisateur pourrait taper en ligne de commande pour assembler une image +Comment[fr]=Un fichier Docker est un document texte qui contient toutes les commandes qu'un utilisateur pourrait saisir en ligne de commande pour assembler une image Comment[it]=Un file Dockerfile è un documento di testo che contiene tutti i comandi che un utente può chiamare da riga di comando per assemblare un'immagine Comment[nl]=Een Dockerbestand is een tekstdocument dat alle opdrachten bevat die een gebruiker zou kunnen aanroepen op de opdrachtregel om een image samen te stellen Comment[pl]=Plik dokowany jest plikiem tekstowym, który zawiera wszystkie polecenia, które użytkownik może wydać w wierszu poleceń, aby złożyć obraz diff --git a/plugins/gdb/kdevgdb.json b/plugins/gdb/kdevgdb.json index 0b1dfa2927..29f9575b6e 100644 --- a/plugins/gdb/kdevgdb.json +++ b/plugins/gdb/kdevgdb.json @@ -37,6 +37,7 @@ "Name[gl]": "Compatibilidade con GDB", "Name[it]": "Supporto per GDB", "Name[nl]": "Ondersteuning voor GDB", + "Name[nn]": "GDB-støtte", "Name[pl]": "Obsługa GDB", "Name[pt]": "Suporte para o GDB", "Name[pt_BR]": "Suporte ao GDB", diff --git a/plugins/ghprovider/kdevghprovider.json b/plugins/ghprovider/kdevghprovider.json index b250aeb5c0..dbc0af6d2d 100644 --- a/plugins/ghprovider/kdevghprovider.json +++ b/plugins/ghprovider/kdevghprovider.json @@ -35,6 +35,7 @@ "Name[fr]": "Fournisseur GitHub", "Name[it]": "Fornitore GitHub", "Name[nl]": "Github-leverancier", + "Name[nn]": "GitHub-tilbydar", "Name[pl]": "Dostawca GitHub", "Name[pt]": "Fornecedor do GitHub", "Name[sk]": "Poskytovateľ GitHub", diff --git a/plugins/okteta/kdevokteta.json b/plugins/okteta/kdevokteta.json index d55ec1431e..78b30bdba3 100644 --- a/plugins/okteta/kdevokteta.json +++ b/plugins/okteta/kdevokteta.json @@ -4,6 +4,7 @@ { "Email": "kossebau@kde.org", "Name": "Friedrich W. H. Kossebau", + "Name[nn]": "Friedrich W.H. Kossebau", "Name[x-test]": "xxFriedrich W. H. Kossebauxx" } ], @@ -13,7 +14,7 @@ "Description[ca]": "Permet la visualització i edició de les dades sense processar dels fitxers (basat en l'Okteta)", "Description[de]": "Ermöglicht das Betrachten und Bearbeiten der Rohdaten von Dateien (basiert auf Okteta)", "Description[es]": "Activa la visualización y la edición de datos de archivos en bruto (basado en Okteta)", - "Description[fr]": "Permet de visualiser et éditer les données brutes de fichiers (basé sur Okteta)", + "Description[fr]": "Permet l'aperçu et l'édition des données brutes de fichiers (repose sur Okteta)", "Description[it]": "Abilita la visualizzazione e la modifica dei dati grezzi dei file (basato su Okteta)", "Description[nl]": "Schakelt het bekijken en bewerken van de ruwe gegevens van bestanden in (gebaseerd op Okteta)", "Description[pl]": "Umożliwia oglądanie i edytowanie nieprzetworzonych danych pliku (w oparciu o Oktetę)", diff --git a/plugins/subversion/kdevsubversion.json b/plugins/subversion/kdevsubversion.json index 3bed938aa9..259a333ffa 100644 --- a/plugins/subversion/kdevsubversion.json +++ b/plugins/subversion/kdevsubversion.json @@ -38,6 +38,7 @@ "Name[it]": "Supporto per Subversion", "Name[nb]": "Støtte for subversion", "Name[nl]": "Ondersteuning van subversion", + "Name[nn]": "Subversion-støtte", "Name[pl]": "Obsługa Subversion", "Name[pt]": "Suporte para o Subversion", "Name[pt_BR]": "Suporte a Subversion", From 7dc0a29cb874e172b877159bb8f89f2deede5c91 Mon Sep 17 00:00:00 2001 From: Aleksey Midenkov Date: Sat, 11 Nov 2017 17:49:35 +0300 Subject: [PATCH 104/108] Check KDEV_PLUGIN_PREFIX for loaded plugins [fixes #7] --- kdevplatform/shell/plugincontroller.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kdevplatform/shell/plugincontroller.cpp b/kdevplatform/shell/plugincontroller.cpp index 1e29f7c75c..1d920bec6e 100644 --- a/kdevplatform/shell/plugincontroller.cpp +++ b/kdevplatform/shell/plugincontroller.cpp @@ -86,7 +86,10 @@ bool hasMandatoryProperties( const KPluginMetaData& info ) if (mode.isEmpty()) { return false; } - + static const QString plugin_prefix = qgetenv("KDEV_PLUGIN_PREFIX"); + if (!plugin_prefix.isEmpty() && info.fileName().contains(plugin_prefix)) { + return true; + } // when the plugin is installed into the versioned plugin path, it's good to go if (info.fileName().contains(QLatin1String("/kdevplatform/" QT_STRINGIFY(KDEVELOP_PLUGIN_VERSION) "/"))) { return true; From 19eff083d61930c1b960c3e208852b70aa309d37 Mon Sep 17 00:00:00 2001 From: Aleksey Midenkov Date: Sun, 12 Nov 2017 23:11:28 +0300 Subject: [PATCH 105/108] Don't open empty documents on startup --- kdevplatform/shell/documentcontroller.cpp | 24 +++++++++++-------- kdevplatform/shell/workingsets/workingset.cpp | 4 ++++ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/kdevplatform/shell/documentcontroller.cpp b/kdevplatform/shell/documentcontroller.cpp index f100103540..1b922f35b5 100644 --- a/kdevplatform/shell/documentcontroller.cpp +++ b/kdevplatform/shell/documentcontroller.cpp @@ -233,15 +233,19 @@ class DocumentControllerPrivate return nullptr; } - KSharedConfig::openConfig()->group("Open File").writeEntry( "Last Open File Directory", url.adjusted(QUrl::RemoveFilename) ); - - // clean it and resolve possible symlink - url = url.adjusted( QUrl::NormalizePathSegments ); - if ( url.isLocalFile() ) - { - QString path = QFileInfo( url.toLocalFile() ).canonicalFilePath(); - if ( !path.isEmpty() ) - url = QUrl::fromLocalFile( path ); + bool emptyDocument = DocumentController::isEmptyDocumentUrl(url); + if (!emptyDocument) { + KSharedConfig::openConfig()->group("Open File"). + writeEntry( "Last Open File Directory", url.adjusted(QUrl::RemoveFilename) ); + + // clean it and resolve possible symlink + url = url.adjusted( QUrl::NormalizePathSegments ); + if ( url.isLocalFile() ) + { + QString path = QFileInfo( url.toLocalFile() ).canonicalFilePath(); + if ( !path.isEmpty() ) + url = QUrl::fromLocalFile( path ); + } } //get a part document @@ -250,7 +254,7 @@ class DocumentControllerPrivate { QMimeType mimeType; - if (DocumentController::isEmptyDocumentUrl(url)) + if (emptyDocument) { mimeType = QMimeDatabase().mimeTypeForName(QStringLiteral("text/plain")); } diff --git a/kdevplatform/shell/workingsets/workingset.cpp b/kdevplatform/shell/workingsets/workingset.cpp index 1d483762ff..fa0096c6bb 100644 --- a/kdevplatform/shell/workingsets/workingset.cpp +++ b/kdevplatform/shell/workingsets/workingset.cpp @@ -138,6 +138,10 @@ void WorkingSet::saveFromArea( Sublime::Area* a, Sublime::AreaIndex * area, KCon //The working set config gets an updated list of files QString docSpec = view->document()->documentSpecifier(); + if (DocumentController::isEmptyDocumentUrl(QUrl(docSpec))) { + continue; + } + //only save the documents from protocols KIO understands //otherwise we try to load kdev:// too early if (!KProtocolInfo::isKnownProtocol(QUrl(docSpec))) { From e2b9c3a12ef5d51251fb44cceba404150ccf3865 Mon Sep 17 00:00:00 2001 From: Aleksey Midenkov Date: Sun, 12 Nov 2017 18:19:01 +0300 Subject: [PATCH 106/108] [BRANCH START] Directory for New document fix --- kdevplatform/interfaces/idocumentcontroller.h | 3 ++ kdevplatform/shell/documentcontroller.cpp | 34 ++++++++++++------- kdevplatform/shell/documentcontroller.h | 3 +- kdevplatform/shell/mainwindow_actions.cpp | 3 +- .../shell/tests/test_documentcontroller.cpp | 6 ++-- 5 files changed, 32 insertions(+), 17 deletions(-) diff --git a/kdevplatform/interfaces/idocumentcontroller.h b/kdevplatform/interfaces/idocumentcontroller.h index 3d8fe7a783..b81c0b6cc5 100644 --- a/kdevplatform/interfaces/idocumentcontroller.h +++ b/kdevplatform/interfaces/idocumentcontroller.h @@ -103,6 +103,9 @@ class KDEVPLATFORMINTERFACES_EXPORT IDocumentController: public QObject { */ virtual KTextEditor::View* activeTextDocumentView() const = 0; + virtual QString currentDirectory() const = 0; + virtual QUrl nextEmptyDocumentUrl() const = 0; + public Q_SLOTS: /** * Opens a new or existing document. diff --git a/kdevplatform/shell/documentcontroller.cpp b/kdevplatform/shell/documentcontroller.cpp index 1b922f35b5..f184977c48 100644 --- a/kdevplatform/shell/documentcontroller.cpp +++ b/kdevplatform/shell/documentcontroller.cpp @@ -119,17 +119,12 @@ class DocumentControllerPrivate OpenFileResult showOpenFile() const { - QUrl dir; - if ( controller->activeDocument() ) { - dir = controller->activeDocument()->url().adjusted(QUrl::RemoveFilename); - } else { - const auto cfg = KSharedConfig::openConfig()->group("Open File"); - dir = cfg.readEntry( "Last Open File Directory", Core::self()->projectController()->projectsBaseDirectory() ); - } + auto ui = Core::self()->uiControllerInternal(); + QUrl dir(controller->currentDirectory()); const auto caption = i18n("Open File"); const auto filter = i18n("*|Text File\n"); - auto parent = Core::self()->uiControllerInternal()->defaultMainWindow(); + auto parent = ui->defaultMainWindow(); // use special dialogs in a KDE session, native dialogs elsewhere if (qEnvironmentVariableIsSet("KDE_FULL_SESSION")) { @@ -1008,7 +1003,7 @@ QStringList DocumentController::documentTypes() const static const QRegularExpression& emptyDocumentPattern() { - static const QRegularExpression pattern(QStringLiteral("^/%1(?:\\s\\((\\d+)\\))?$").arg(EMPTY_DOCUMENT_URL)); + static const QRegularExpression pattern(QStringLiteral("^/(.+/)?%1(?:\\s\\((\\d+)\\))?$").arg(EMPTY_DOCUMENT_URL)); return pattern; } @@ -1017,7 +1012,22 @@ bool DocumentController::isEmptyDocumentUrl(const QUrl &url) return emptyDocumentPattern().match(url.toDisplayString(QUrl::PreferLocalFile)).hasMatch(); } -QUrl DocumentController::nextEmptyDocumentUrl() +QString DocumentController::currentDirectory() const +{ + if ( activeDocument() ) { + return activeDocument()->url().adjusted(QUrl::RemoveScheme | QUrl::RemoveFilename).toString(); + } + auto ui = Core::self()->uiControllerInternal(); + auto toolView = ui->findToolView(i18n("Projects"), nullptr, IUiController::FindFlags::None); + if (toolView) { + } else { + const auto cfg = KSharedConfig::openConfig()->group("Open File"); + return cfg.readEntry( "Last Open File Directory", Core::self()->projectController()->projectsBaseDirectory() ).toString(); + } + return "/"; +} + +QUrl DocumentController::nextEmptyDocumentUrl() const { int nextEmptyDocNumber = 0; const auto& pattern = emptyDocumentPattern(); @@ -1035,9 +1045,9 @@ QUrl DocumentController::nextEmptyDocumentUrl() QUrl url; if (nextEmptyDocNumber > 0) - url = QUrl::fromLocalFile(QStringLiteral("/%1 (%2)").arg(EMPTY_DOCUMENT_URL).arg(nextEmptyDocNumber)); + url = QUrl::fromLocalFile(currentDirectory() + QStringLiteral("%1 (%2)").arg(EMPTY_DOCUMENT_URL).arg(nextEmptyDocNumber)); else - url = QUrl::fromLocalFile('/' + EMPTY_DOCUMENT_URL); + url = QUrl::fromLocalFile(currentDirectory() + EMPTY_DOCUMENT_URL); return url; } diff --git a/kdevplatform/shell/documentcontroller.h b/kdevplatform/shell/documentcontroller.h index 8070ec8523..d134b72a03 100644 --- a/kdevplatform/shell/documentcontroller.h +++ b/kdevplatform/shell/documentcontroller.h @@ -102,7 +102,8 @@ class KDEVPLATFORMSHELL_EXPORT DocumentController: public IDocumentController { /**checks that url is an url of empty document*/ static bool isEmptyDocumentUrl(const QUrl &url); - static QUrl nextEmptyDocumentUrl(); + QString currentDirectory() const; + QUrl nextEmptyDocumentUrl() const; IDocumentFactory* factory(const QString& mime) const override; diff --git a/kdevplatform/shell/mainwindow_actions.cpp b/kdevplatform/shell/mainwindow_actions.cpp index 8b75f74176..2244422ba4 100644 --- a/kdevplatform/shell/mainwindow_actions.cpp +++ b/kdevplatform/shell/mainwindow_actions.cpp @@ -187,7 +187,8 @@ void MainWindowPrivate::toggleFullScreen(bool fullScreen) void MainWindowPrivate::fileNew() { - Core::self()->documentControllerInternal()->openDocument(DocumentController::nextEmptyDocumentUrl()); + auto doc = Core::self()->documentControllerInternal(); + doc->openDocument(doc->nextEmptyDocumentUrl()); } void MainWindowPrivate::viewAddNewToolView() diff --git a/kdevplatform/shell/tests/test_documentcontroller.cpp b/kdevplatform/shell/tests/test_documentcontroller.cpp index 54603f7939..5a948d90f5 100644 --- a/kdevplatform/shell/tests/test_documentcontroller.cpp +++ b/kdevplatform/shell/tests/test_documentcontroller.cpp @@ -176,14 +176,14 @@ QUrl TestDocumentController::createFile(const QTemporaryDir& dir, const QString& void TestDocumentController::testEmptyUrl() { - const auto first = DocumentController::nextEmptyDocumentUrl(); + const auto first = m_subject->nextEmptyDocumentUrl(); QVERIFY(DocumentController::isEmptyDocumentUrl(first)); - QCOMPARE(DocumentController::nextEmptyDocumentUrl(), first); + QCOMPARE(m_subject->nextEmptyDocumentUrl(), first); auto doc = m_subject->openDocumentFromText(QString()); QCOMPARE(doc->url(), first); - const auto second = DocumentController::nextEmptyDocumentUrl(); + const auto second = m_subject->nextEmptyDocumentUrl(); QVERIFY(first != second); QVERIFY(DocumentController::isEmptyDocumentUrl(second)); From 70cf2fcf280346095fc6553981956093bf7bef1e Mon Sep 17 00:00:00 2001 From: Aleksey Midenkov Date: Sun, 12 Nov 2017 22:09:08 +0300 Subject: [PATCH 107/108] Progress Known bug: Untitled files get prepended with '//' on restart --- kdevplatform/interfaces/idocumentcontroller.h | 2 +- kdevplatform/project/projectmodel.cpp | 13 ++++++++++ kdevplatform/project/projectmodel.h | 2 ++ kdevplatform/shell/documentcontroller.cpp | 25 +++++++++++++------ kdevplatform/shell/documentcontroller.h | 3 ++- .../projectmanagerview/projectmanagerview.cpp | 11 ++++++-- 6 files changed, 44 insertions(+), 12 deletions(-) diff --git a/kdevplatform/interfaces/idocumentcontroller.h b/kdevplatform/interfaces/idocumentcontroller.h index b81c0b6cc5..668a31a571 100644 --- a/kdevplatform/interfaces/idocumentcontroller.h +++ b/kdevplatform/interfaces/idocumentcontroller.h @@ -103,8 +103,8 @@ class KDEVPLATFORMINTERFACES_EXPORT IDocumentController: public QObject { */ virtual KTextEditor::View* activeTextDocumentView() const = 0; - virtual QString currentDirectory() const = 0; virtual QUrl nextEmptyDocumentUrl() const = 0; + virtual void updateDirectoryHint(const QString&) = 0; public Q_SLOTS: /** diff --git a/kdevplatform/project/projectmodel.cpp b/kdevplatform/project/projectmodel.cpp index 2aae7e1a28..86825e25c3 100644 --- a/kdevplatform/project/projectmodel.cpp +++ b/kdevplatform/project/projectmodel.cpp @@ -455,6 +455,19 @@ QString ProjectBaseItem::baseName() const return text(); } +QString ProjectBaseItem::directory() const +{ + ProjectBaseItem *item; + if ((item = folder())) + return item->path().path(); + if ((item = file())) + return item->path().toUrl().adjusted( + QUrl::RemoveScheme | + QUrl::RemoveFilename | + QUrl::StripTrailingSlash).toString(); + return project()->projectItem()->path().path(); +} + void ProjectBaseItem::setPath( const Path& path) { Q_D(ProjectBaseItem); diff --git a/kdevplatform/project/projectmodel.h b/kdevplatform/project/projectmodel.h index 559df60845..a44d3b2df8 100644 --- a/kdevplatform/project/projectmodel.h +++ b/kdevplatform/project/projectmodel.h @@ -216,6 +216,8 @@ class KDEVPLATFORMPROJECT_EXPORT ProjectBaseItem */ QString baseName() const; + QString directory() const; + /** * Renames the item to the new name. * @returns status information whether the renaming succeeded. diff --git a/kdevplatform/shell/documentcontroller.cpp b/kdevplatform/shell/documentcontroller.cpp index f184977c48..a7899c022a 100644 --- a/kdevplatform/shell/documentcontroller.cpp +++ b/kdevplatform/shell/documentcontroller.cpp @@ -120,7 +120,7 @@ class DocumentControllerPrivate OpenFileResult showOpenFile() const { auto ui = Core::self()->uiControllerInternal(); - QUrl dir(controller->currentDirectory()); + QUrl dir = QUrl::fromLocalFile(controller->currentDirectory()); const auto caption = i18n("Open File"); const auto filter = i18n("*|Text File\n"); @@ -554,6 +554,7 @@ class DocumentControllerPrivate QPointer closeAllOthers; KRecentFilesAction* fileOpenRecent; KTextEditor::Document* globalTextEditorInstance; + QString directoryHint; }; DocumentController::DocumentController( QObject *parent ) @@ -1012,19 +1013,27 @@ bool DocumentController::isEmptyDocumentUrl(const QUrl &url) return emptyDocumentPattern().match(url.toDisplayString(QUrl::PreferLocalFile)).hasMatch(); } +void DocumentController::updateDirectoryHint(const QString& path) +{ + d->directoryHint = path; +} + QString DocumentController::currentDirectory() const { if ( activeDocument() ) { - return activeDocument()->url().adjusted(QUrl::RemoveScheme | QUrl::RemoveFilename).toString(); + QUrl url = activeDocument()->url().adjusted( + QUrl::RemoveScheme | + QUrl::RemoveFilename | + QUrl::StripTrailingSlash); + return url.toString(); } - auto ui = Core::self()->uiControllerInternal(); - auto toolView = ui->findToolView(i18n("Projects"), nullptr, IUiController::FindFlags::None); - if (toolView) { + if (!d->directoryHint.isEmpty()) { + return d->directoryHint; } else { const auto cfg = KSharedConfig::openConfig()->group("Open File"); return cfg.readEntry( "Last Open File Directory", Core::self()->projectController()->projectsBaseDirectory() ).toString(); } - return "/"; + return QString(); } QUrl DocumentController::nextEmptyDocumentUrl() const @@ -1045,9 +1054,9 @@ QUrl DocumentController::nextEmptyDocumentUrl() const QUrl url; if (nextEmptyDocNumber > 0) - url = QUrl::fromLocalFile(currentDirectory() + QStringLiteral("%1 (%2)").arg(EMPTY_DOCUMENT_URL).arg(nextEmptyDocNumber)); + url = QUrl::fromLocalFile(currentDirectory() + '/' + QStringLiteral("%1 (%2)").arg(EMPTY_DOCUMENT_URL).arg(nextEmptyDocNumber)); else - url = QUrl::fromLocalFile(currentDirectory() + EMPTY_DOCUMENT_URL); + url = QUrl::fromLocalFile(currentDirectory() + '/' + EMPTY_DOCUMENT_URL); return url; } diff --git a/kdevplatform/shell/documentcontroller.h b/kdevplatform/shell/documentcontroller.h index d134b72a03..e4bdc82114 100644 --- a/kdevplatform/shell/documentcontroller.h +++ b/kdevplatform/shell/documentcontroller.h @@ -102,8 +102,9 @@ class KDEVPLATFORMSHELL_EXPORT DocumentController: public IDocumentController { /**checks that url is an url of empty document*/ static bool isEmptyDocumentUrl(const QUrl &url); + QUrl nextEmptyDocumentUrl() const override; + void updateDirectoryHint(const QString& path) override; QString currentDirectory() const; - QUrl nextEmptyDocumentUrl() const; IDocumentFactory* factory(const QString& mime) const override; diff --git a/plugins/projectmanagerview/projectmanagerview.cpp b/plugins/projectmanagerview/projectmanagerview.cpp index d71ae29edc..2ecd4fdb1f 100644 --- a/plugins/projectmanagerview/projectmanagerview.cpp +++ b/plugins/projectmanagerview/projectmanagerview.cpp @@ -173,11 +173,18 @@ void ProjectManagerView::selectionChanged() { m_ui->buildSetView->selectionChanged(); QList selected; + bool updated = false; foreach( const QModelIndex& idx, m_ui->projectTreeView->selectionModel()->selectedRows() ) { - selected << ICore::self()->projectController()->projectModel()->itemFromIndex(indexFromView( idx )); + auto item = ICore::self()->projectController()->projectModel()->itemFromIndex(indexFromView( idx )); + if (item) { + selected << item; + if (!updated) { + ICore::self()->documentController()->updateDirectoryHint(item->directory()); + updated = true; + } + } } - selected.removeAll(nullptr); KDevelop::ICore::self()->selectionController()->updateSelection( new ProjectManagerViewItemContext( selected, this ) ); } From 187596bf9122e618f0ed0070dae7e8f477aaa6bf Mon Sep 17 00:00:00 2001 From: Aleksey Midenkov Date: Sun, 12 Nov 2017 23:32:27 +0300 Subject: [PATCH 108/108] Reverted directory for New document --- kdevplatform/interfaces/idocumentcontroller.h | 1 - kdevplatform/shell/documentcontroller.cpp | 26 +++++++++++-------- kdevplatform/shell/documentcontroller.h | 2 +- kdevplatform/shell/mainwindow_actions.cpp | 3 +-- .../shell/tests/test_documentcontroller.cpp | 6 ++--- 5 files changed, 20 insertions(+), 18 deletions(-) diff --git a/kdevplatform/interfaces/idocumentcontroller.h b/kdevplatform/interfaces/idocumentcontroller.h index 668a31a571..398dc9aef2 100644 --- a/kdevplatform/interfaces/idocumentcontroller.h +++ b/kdevplatform/interfaces/idocumentcontroller.h @@ -103,7 +103,6 @@ class KDEVPLATFORMINTERFACES_EXPORT IDocumentController: public QObject { */ virtual KTextEditor::View* activeTextDocumentView() const = 0; - virtual QUrl nextEmptyDocumentUrl() const = 0; virtual void updateDirectoryHint(const QString&) = 0; public Q_SLOTS: diff --git a/kdevplatform/shell/documentcontroller.cpp b/kdevplatform/shell/documentcontroller.cpp index a7899c022a..1e42280d4d 100644 --- a/kdevplatform/shell/documentcontroller.cpp +++ b/kdevplatform/shell/documentcontroller.cpp @@ -119,12 +119,11 @@ class DocumentControllerPrivate OpenFileResult showOpenFile() const { - auto ui = Core::self()->uiControllerInternal(); QUrl dir = QUrl::fromLocalFile(controller->currentDirectory()); const auto caption = i18n("Open File"); const auto filter = i18n("*|Text File\n"); - auto parent = ui->defaultMainWindow(); + auto parent = Core::self()->uiControllerInternal()->defaultMainWindow(); // use special dialogs in a KDE session, native dialogs elsewhere if (qEnvironmentVariableIsSet("KDE_FULL_SESSION")) { @@ -1004,7 +1003,10 @@ QStringList DocumentController::documentTypes() const static const QRegularExpression& emptyDocumentPattern() { - static const QRegularExpression pattern(QStringLiteral("^/(.+/)?%1(?:\\s\\((\\d+)\\))?$").arg(EMPTY_DOCUMENT_URL)); + /* A hack that binds empty document to directory tree. + * It must be always bound to root dir, otherwise it may clash with existing + * files. */ + static const QRegularExpression pattern(QStringLiteral("^/%1(?:\\s\\((\\d+)\\))?$").arg(EMPTY_DOCUMENT_URL)); return pattern; } @@ -1021,11 +1023,13 @@ void DocumentController::updateDirectoryHint(const QString& path) QString DocumentController::currentDirectory() const { if ( activeDocument() ) { - QUrl url = activeDocument()->url().adjusted( - QUrl::RemoveScheme | - QUrl::RemoveFilename | - QUrl::StripTrailingSlash); - return url.toString(); + QUrl url = activeDocument()->url(); + if (!isEmptyDocumentUrl(url)) { + return url.adjusted( + QUrl::RemoveScheme | + QUrl::RemoveFilename | + QUrl::StripTrailingSlash).toString(); + } } if (!d->directoryHint.isEmpty()) { return d->directoryHint; @@ -1036,7 +1040,7 @@ QString DocumentController::currentDirectory() const return QString(); } -QUrl DocumentController::nextEmptyDocumentUrl() const +QUrl DocumentController::nextEmptyDocumentUrl() { int nextEmptyDocNumber = 0; const auto& pattern = emptyDocumentPattern(); @@ -1054,9 +1058,9 @@ QUrl DocumentController::nextEmptyDocumentUrl() const QUrl url; if (nextEmptyDocNumber > 0) - url = QUrl::fromLocalFile(currentDirectory() + '/' + QStringLiteral("%1 (%2)").arg(EMPTY_DOCUMENT_URL).arg(nextEmptyDocNumber)); + url = QUrl::fromLocalFile(QStringLiteral("/%1 (%2)").arg(EMPTY_DOCUMENT_URL).arg(nextEmptyDocNumber)); else - url = QUrl::fromLocalFile(currentDirectory() + '/' + EMPTY_DOCUMENT_URL); + url = QUrl::fromLocalFile('/' + EMPTY_DOCUMENT_URL); return url; } diff --git a/kdevplatform/shell/documentcontroller.h b/kdevplatform/shell/documentcontroller.h index e4bdc82114..a4de94fd80 100644 --- a/kdevplatform/shell/documentcontroller.h +++ b/kdevplatform/shell/documentcontroller.h @@ -102,7 +102,7 @@ class KDEVPLATFORMSHELL_EXPORT DocumentController: public IDocumentController { /**checks that url is an url of empty document*/ static bool isEmptyDocumentUrl(const QUrl &url); - QUrl nextEmptyDocumentUrl() const override; + static QUrl nextEmptyDocumentUrl(); void updateDirectoryHint(const QString& path) override; QString currentDirectory() const; diff --git a/kdevplatform/shell/mainwindow_actions.cpp b/kdevplatform/shell/mainwindow_actions.cpp index 2244422ba4..8b75f74176 100644 --- a/kdevplatform/shell/mainwindow_actions.cpp +++ b/kdevplatform/shell/mainwindow_actions.cpp @@ -187,8 +187,7 @@ void MainWindowPrivate::toggleFullScreen(bool fullScreen) void MainWindowPrivate::fileNew() { - auto doc = Core::self()->documentControllerInternal(); - doc->openDocument(doc->nextEmptyDocumentUrl()); + Core::self()->documentControllerInternal()->openDocument(DocumentController::nextEmptyDocumentUrl()); } void MainWindowPrivate::viewAddNewToolView() diff --git a/kdevplatform/shell/tests/test_documentcontroller.cpp b/kdevplatform/shell/tests/test_documentcontroller.cpp index 5a948d90f5..54603f7939 100644 --- a/kdevplatform/shell/tests/test_documentcontroller.cpp +++ b/kdevplatform/shell/tests/test_documentcontroller.cpp @@ -176,14 +176,14 @@ QUrl TestDocumentController::createFile(const QTemporaryDir& dir, const QString& void TestDocumentController::testEmptyUrl() { - const auto first = m_subject->nextEmptyDocumentUrl(); + const auto first = DocumentController::nextEmptyDocumentUrl(); QVERIFY(DocumentController::isEmptyDocumentUrl(first)); - QCOMPARE(m_subject->nextEmptyDocumentUrl(), first); + QCOMPARE(DocumentController::nextEmptyDocumentUrl(), first); auto doc = m_subject->openDocumentFromText(QString()); QCOMPARE(doc->url(), first); - const auto second = m_subject->nextEmptyDocumentUrl(); + const auto second = DocumentController::nextEmptyDocumentUrl(); QVERIFY(first != second); QVERIFY(DocumentController::isEmptyDocumentUrl(second));