[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/CMakeLists.txt
|
@@ -4,6 +4,7 @@
# minimal requirements
cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR)
set (QT_MIN_VERSION "5.2.0")
+set(KF5_DEP_VERSION "5.6.0")
# set the kate version, used for part / kate / kwrite
set (KATE_VERSION_MAJOR 5)
@@ -30,13 +31,20 @@
include(KDECMakeSettings)
include(KDECompilerSettings)
-find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Core DBus Widgets Script Sql Test)
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED Core DBus Widgets Script Sql)
+
+if(BUILD_TESTING)
+ find_package(Qt5Test ${QT_MIN_VERSION} CONFIG REQUIRED)
+endif()
# Load the frameworks we need
-find_package(KF5 REQUIRED COMPONENTS
+find_package(KF5 "${KF5_DEP_VERSION}" REQUIRED COMPONENTS
+ Activities
Config
+ Crash
DocTools
GuiAddons
+ IconThemes
I18n
Init
JobWidgets
@@ -45,6 +53,7 @@
TextEditor
WindowSystem
XmlGui
+ IconThemes
)
# use sane compile flags
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/CommitPolicy.txt
^
|
@@ -1,67 +1,4 @@
-== THIS IS A DRAFT ==
-
-This document is a work in progress, and may be incomplete and / or inaccurate.
-
-Please help improve it!
-
-== About this document ==
-
So you want to participate in developing kate? Great! The project is always in need of helping hands.
-However, trying to help, and being helpful is not always the same thing. Therefore, we would like to ask
-you to read through this document, '''before''' you start comitting to this repository. We try to keep
-this text short, and limit it to some of the most important pitfalls, only, and we will focus mostly on
-issues which are specific to kate, as opposed to generic guidelines. '''Common sense applies.'''
-
-In writing this document, we will assume that you have developer access to the repository. However, if
-you don't, the same basic rules apply for sending patches, too.
-
-== General rules ==
-
-# If you have the slightest doubt, '''ask'''!
-#* This is probably the most important rule. Communicate, discuss, ask questions.
-#* For small technical questions, the fatest way to get an answer is typically IRC (irc://irc.kde.org/kate for the kate specific channel; often irc://irc.kde.org/kde-devel is also a good place to ask).
-#* For questions that may need a broader discussion, or some time to think about, the mailing list is generally the best place to ask: kwrite-devel@kde.org . In fact, if you plan to contribute more than just once, it is highly recommended that you subscribe.
-#* For feedback on a concrete patch, reviewboard.kde.org is suited, best.
-# Understand what you are doing.
-#* Do not commit code that you don't understand, even if it appears to fix problems. '''Ask''' instead (see above).
-# Test you code.
-#* Test your code to make sure it really does what you think it does. Then test that it doesn't break anything. Then test again.
-# Respect schedules and agreements.
-#* Make sure you are aware of the current [http://techbase.kde.org/Schedules Release Schedules], and the associated freezes in the different branches.
-#* Generally it is a good idea to have a look at the last few weeks of the [http://lists.kde.org/?l=kwrite-devel&r=1&w=2 mailing list archive], to see if there may be any reasons against committing certain changes at that time.
-#* If in any doubt: Ask.
-# Respect copyright and licences.
-#* In the open source world, a lot of copying and re-use of code is permitted. But please make sure you have checked and understood the applicable terms, in each case.
-#* If in any doubt: Ask.
-# Use bugs.kde.org
-#* If the bug you are about to fix has been annoying you for ages, probably others have noted it before, too. If you think the feature you're about to implement is a must have, then others might have had the same idea. Please be sure to check bugs.kde.org for existing reports / requests. This might contain important considerations that you did not think about, yet. And of course it is important to close the corresponding reports after the bug has been fixed / feature committed, in order to keep bug database managable. Taking some time for bookkeeping is an important part of developing in a community project.
-
-== Coding style ==
-
-# Respect coding conventions and style, kate.git follows the kdelibs coding style: http://techbase.kde.org/Policies/Kdelibs_Coding_Style
-#* Don't just write in your personal style. Tastes differ, and if we mix all sorts of styles, the code just gets harder to read.
-#* In general, please try to follow the coding style of the surrounding code.
-# Use four spaces to indent.
-# Whenever possible use title case includes without directory, e.g. '''#include <QLabel>'''
-
-== Kate specific rules ==
-
-The main sub-directories of this repository are "kate" and "kwrite". Very
-differnt guidelines apply to these, so make sure you understand what is or is not allowed in each sub-project.
-
-=== kate / kwrite ===
-
-These directories hold code that is specific to the stand-alone applications kate and kwrite. As such it is
-application code, and this means that, generally, there is no need to care about source or binary compatibility.
-Changes in this directory do not affect applications other than kate or kwrite, and thus they are ''relatively''
-safe. However, please be aware that both kate and kwrite are productivity tools, used extensively by a large userbase.
-Often, these users will use kate/kwrite in ways that you have never even thought about, or use features, which even
-core contributors may not be aware of. Please be careful that you don't break existing features and workflows, unless
-you have very good reason to do so. If in any doubt: Ask.
-
-When implementing new features, please take a moment to think about whether they be limited to kate, or whether they
-should be implemented in the kate part, in order to make them accessible to all applications using katepart. As a
-generic rule of thumb: If the feature (or a similar feature) could be useful in kwrite, then it should probably
-go into katepart. If the feature might be useful in applications such as kdevelop, kile, quanta, rkward, etc. then it
-should probably be implemented in katepart. If in any doubt: Ask.
+However, before you start comitting to this repository, read
+https://techbase.kde.org/Projects/Kate/Commit_Policy
\ No newline at end of file
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/CMakeLists.txt
^
|
@@ -1,12 +1,13 @@
-# detect aditional frameworks
-find_package(KF5 OPTIONAL_COMPONENTS Wallet Plasma Service ItemModels Notifications ThreadWeaver)
+# detect additional frameworks
+find_package(KF5 "${KF5_DEP_VERSION}" OPTIONAL_COMPONENTS Wallet Plasma Service ItemModels Notifications ThreadWeaver NewStuff)
set_package_properties(KF5Wallet PROPERTIES PURPOSE "Required to build the katesql addon")
set_package_properties(KF5Plasma PROPERTIES PURPOSE "Required to build the sessionapplet addon")
set_package_properties(KF5Service PROPERTIES PURPOSE "Required to build the sessionapplet addon")
set_package_properties(KF5ItemModels PROPERTIES PURPOSE "Required to build the project, konsole addon")
-set_package_properties(KF5Notifications PROPERTIES PURPOSE "Required to build the katebuild, close-except-like addon")
+set_package_properties(KF5Notifications PROPERTIES PURPOSE "Required to build the katebuild, close-except-like addons")
set_package_properties(KF5ThreadWeaver PROPERTIES PURPOSE "Required to build the project addon")
+set_package_properties(KF5NewStuff PROPERTIES PURPOSE "Required to build the snippets addon")
# document switcher
ecm_optional_add_subdirectory (filetree)
@@ -26,8 +27,10 @@
# ALT+Tab like tab switcher
ecm_optional_add_subdirectory (tabswitcher)
-# snippets
-ecm_optional_add_subdirectory (snippets)
+if(KF5NewStuff_FOUND)
+ # snippets
+ ecm_optional_add_subdirectory (snippets)
+endif()
# ctags
ecm_optional_add_subdirectory (kate-ctags)
@@ -63,6 +66,9 @@
# list symbols and functions in a file
ecm_optional_add_subdirectory (symbolviewer)
+# replicode integration
+ecm_optional_add_subdirectory (replicode)
+
#add_subdirectory( textfilter )
#add_subdirectory( mailfiles )
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/backtracebrowser/katebacktracebrowserplugin.desktop
^
|
@@ -3,7 +3,6 @@
ServiceTypes=KTextEditor/Plugin
X-KDE-Library=katebacktracebrowserplugin
Name=Backtrace Browser
-Name[ast]=Desaminador de trazaos inversos
Name[bg]=Преглед на backtrace
Name[bs]=Pregledač kontratraga
Name[ca]=Navegador de traça inversa
@@ -58,7 +57,6 @@
Name[zh_CN]=回溯浏览器
Name[zh_TW]=回溯追蹤瀏覽器
Comment=Backtrace navigation tool view
-Comment[ast]=Vista de la ferramienta del desaminador de trazáu inversu
Comment[bg]=Инструмент за преглед на данни от backtrace
Comment[bs]=Alatka prikaza za kretanje kroz kontratrag
Comment[ca]=Vista d'eina del navegador per a la traça inversa
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/close-except-like/close_except_plugin.cpp
^
|
@@ -37,7 +37,6 @@
#include <KPassivePopup>
#include <KPluginFactory>
#include <KPluginLoader>
-#include <KTextEditor/Editor>
#include <QtCore/QFileInfo>
#include <QUrl>
#include <kio/global.h>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filebrowser/katebookmarkhandler.cpp
^
|
@@ -20,7 +20,6 @@
*/
#include "katebookmarkhandler.h"
-#include "katebookmarkhandler.moc"
#include "katefilebrowser.h"
#include <kdiroperator.h>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filebrowser/katefilebrowser.cpp
^
|
@@ -22,7 +22,6 @@
//BEGIN Includes
#include "katefilebrowser.h"
-#include "katefilebrowser.moc"
#include "katebookmarkhandler.h"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filebrowser/katefilebrowserconfig.cpp
^
|
@@ -20,7 +20,6 @@
*/
#include "katefilebrowserconfig.h"
-#include "katefilebrowserconfig.moc"
#include "katefilebrowser.h"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filebrowser/katefilebrowserplugin.desktop
^
|
@@ -4,7 +4,6 @@
X-KDE-Library=katefilebrowserplugin
Name=File system browser
Name[ar]=متصفح نظام الملفات
-Name[ast]=Restolador del sistema de ficheros
Name[bg]=Файлова система
Name[bs]=Pregledač datotečnog sistema
Name[ca]=Navegador del sistema de fitxers
@@ -61,7 +60,6 @@
Name[zh_CN]=文件系统浏览器
Name[zh_TW]=檔案系統瀏覽器
Comment=File system browser tool view
-Comment[ast]=Ferramienta de visualización del restolador del sistema de ficheros
Comment[bg]=Инструмент за разглеждане на файловата система
Comment[bs]=Prikaz pregledača datotečnog sistema
Comment[ca]=Vista d'eina del navegador pel sistema de fitxers
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filetemplates/plugin/filetemplates.cpp
^
|
@@ -32,7 +32,6 @@
#include <kdirwatch.h>
#include <kfiledialog.h>
#include <kicondialog.h>
-#include <kiconloader.h>
#include <kio/netaccess.h>
#include <klineedit.h>
#include <klocalizedstring.h>
@@ -70,7 +69,6 @@
#include <kpluginfactory.h>
#include <kpluginloader.h>
-#include <kaboutdata.h>
#include <kmenu.h>
//END Includes
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filetemplates/plugin/katefiletemplates.desktop
^
|
@@ -5,7 +5,6 @@
X-KDE-Library=katefiletemplates
Name=File Templates
Name[ar]=قوالب الملفات
-Name[ast]=Plantíes de ficheros
Name[bg]=Файлови шаблони
Name[bs]=Šabloni datoteka
Name[ca]=Plantilles de fitxer
@@ -62,7 +61,6 @@
Name[zh_CN]=文件模板
Name[zh_TW]=檔案樣本
Comment=Create new files from templates
-Comment[ast]=Facer ficheros nuevos a partir de plantíes
Comment[bg]=Създаване на нови файлове от шаблони
Comment[bs]=Pravite nove datoteke prema šablonima
Comment[ca]=Crea fitxers nous a partir de plantilles
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filetree/autotests/document_dummy.cpp
^
|
@@ -19,4 +19,3 @@
*/
#include "document_dummy.h"
-#include "document_dummy.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filetree/autotests/filetree_model_test.cpp
^
|
@@ -893,6 +893,5 @@
qDeleteAll(documents);
}
-#include "filetree_model_test.moc"
// kate: space-indent on; indent-width 2; replace-tabs on;
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filetree/katefiletree.cpp
^
|
@@ -127,7 +127,7 @@
void KateFileTree::setModel(QAbstractItemModel *model)
{
- Q_ASSERT(qobject_cast<KateFileTreeProxyModel *>(model)); // we dont' realy work with anything else
+ Q_ASSERT(qobject_cast<KateFileTreeProxyModel *>(model)); // we don't really work with anything else
QTreeView::setModel(model);
}
@@ -308,14 +308,14 @@
// display "open with" dialog
KOpenWithDialog dlg(list);
if (dlg.exec()) {
- KRun::run(*dlg.service(), list, this);
+ KRun::runService(*dlg.service(), list, this);
}
return;
}
KService::Ptr app = KService::serviceByDesktopPath(openWith);
if (app) {
- KRun::run(*app, list, this);
+ KRun::runService(*app, list, this);
} else {
KMessageBox::error(this, i18n("Application '%1' not found.", openWith), i18n("Application not found"));
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filetree/katefiletreemodel.cpp
^
|
@@ -29,7 +29,7 @@
#include <KColorScheme>
#include <KColorUtils>
#include <KLocalizedString>
-#include <kiconutils.h>
+#include <KIconUtils>
#include <ktexteditor/document.h>
#include <ktexteditor/editor.h>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filetree/katefiletreeplugin.cpp
^
|
@@ -33,7 +33,6 @@
#include <KActionCollection>
#include <KLocalizedString>
#include <KConfigGroup>
-#include <KIconLoader>
#include <KXMLGUIFactory>
#include <KXmlGuiWindow>
#include <KToolBar>
@@ -132,7 +131,7 @@
KXMLGUIClient::setComponentName(QLatin1String("katefiletree"), i18n("Kate File Tree"));
setXMLFile(QLatin1String("ui.rc"));
- m_toolView = mainWindow->createToolView(plug, QLatin1String("kate_private_plugin_katefiletreeplugin"), KTextEditor::MainWindow::Left, SmallIcon(QLatin1String("document-open")), i18n("Documents"));
+ m_toolView = mainWindow->createToolView(plug, QLatin1String("kate_private_plugin_katefiletreeplugin"), KTextEditor::MainWindow::Left, QIcon::fromTheme(QLatin1String("document-open")), i18n("Documents"));
Q_ASSERT(m_toolView->layout());
m_toolView->layout()->setMargin(0);
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/filetree/katefiletreeproxymodel.cpp
^
|
@@ -31,7 +31,7 @@
void KateFileTreeProxyModel::setSourceModel(QAbstractItemModel *model)
{
- Q_ASSERT(qobject_cast<KateFileTreeModel *>(model)); // we don't realy work with anything else
+ Q_ASSERT(qobject_cast<KateFileTreeModel *>(model)); // we don't really work with anything else
QSortFilterProxyModel::setSourceModel(model);
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/gdbplugin/configview.cpp
^
|
@@ -425,7 +425,6 @@
void ConfigView::setAdvancedOptions()
{
QStringList tmp = m_targetCombo->itemData(m_targetCombo->currentIndex()).toStringList();
- QStringList newList;
// make sure we have enough strings;
while (tmp.count() < CustomStartIndex) tmp << QString();
@@ -435,9 +434,7 @@
}
// Remove the strings that are not part of the advanced settings
- for(int i=0; i<GDBIndex; i++) {
- newList << tmp.takeFirst();
- }
+ for(int i=0; i<GDBIndex; i++) tmp.takeFirst();
m_advanced->setConfigs(tmp);
}
@@ -450,7 +447,7 @@
// make sure we have enough strings;
while (newList.count() < GDBIndex) newList << QString();
// Remove old advanced settings
- while (newList.count() >= GDBIndex) newList.takeLast();
+ while (newList.count() > GDBIndex) newList.takeLast();
if (m_advanced->exec() == QDialog::Accepted) {
// save the new values
@@ -522,5 +519,4 @@
m_arguments->setText(tmp[ArgsIndex]);
}
-#include "configview.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/gdbplugin/debugview.cpp
^
|
@@ -22,7 +22,6 @@
// Boston, MA 02110-1301, USA.
#include "debugview.h"
-#include "debugview.moc"
#include <QRegExp>
#include <QFile>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/gdbplugin/kategdbplugin.desktop
^
|
@@ -3,7 +3,6 @@
ServiceTypes=KTextEditor/Plugin
X-KDE-Library=kategdbplugin
Name=GDB
-Name[ast]=GDB
Name[bg]=GDB
Name[bs]=GDB
Name[ca]=GDB
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/kate-ctags/katectagsplugin.desktop
^
|
@@ -58,7 +58,6 @@
Name[zh_CN]=CTags
Name[zh_TW]=CTags
Comment=Look up definitions/declarations with CTags
-Comment[ast]=Guetar definiciones/declaraciones con CTags
Comment[bg]=Проверка на дефиниции и декларации с CTag
Comment[bs]=Tražite definicije i deklaracije C‑tagsom
Comment[ca]=Cerca definicions/declaracions amb CTags
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/katebuild-plugin/KBProcess.cpp
^
|
@@ -77,4 +77,4 @@
#endif
QProcess::start(prog, args);
-}
\ No newline at end of file
+}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/katebuild-plugin/SelectTargetView.cpp
^
|
@@ -30,7 +30,7 @@
public:
TargetFilterProxyModel(QObject *parent): QSortFilterProxyModel(parent) {}
- bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const
+ bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const Q_DECL_OVERRIDE
{
if (m_filter.isEmpty()) {
return true;
@@ -58,7 +58,7 @@
invalidateFilter();
}
- Qt::ItemFlags flags(const QModelIndex &index) const
+ Qt::ItemFlags flags(const QModelIndex &index) const Q_DECL_OVERRIDE
{
if (!index.isValid()) {
return 0;
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/katebuild-plugin/TargetHtmlDelegate.cpp
^
|
@@ -62,6 +62,12 @@
else {
str = index.data().toString();
}
+
+ if (option.state & QStyle::State_Selected) {
+ str = QStringLiteral("<font color=\"%1\">").arg(option.palette.highlightedText().color().name())
+ + str
+ + QStringLiteral("</font>");
+ }
doc.setHtml(str);
doc.setDocumentMargin(2);
@@ -83,8 +89,7 @@
if (index.column() == 0 && index.internalId() != TargetModel::InvalidIndex) {
painter->translate(25, 0);
}
- QAbstractTextDocumentLayout::PaintContext pcontext;
- doc.documentLayout()->draw(painter, pcontext);
+ doc.drawContents(painter);
painter->restore();
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/katebuild-plugin/katebuildplugin.desktop
^
|
@@ -3,7 +3,6 @@
ServiceTypes=KTextEditor/Plugin
X-KDE-Library=katebuildplugin
Name=Build Plugin
-Name[ast]=Complementu de construcción
Name[bg]=Приставка за построяване
Name[bs]=Priključak za gradnju
Name[ca]=Connector de construcció
@@ -58,7 +57,6 @@
Name[zh_CN]=构建插件
Name[zh_TW]=編譯外掛程式
Comment=Compile or Make and parse error messages
-Comment[ast]=Compilar o usar make y analizar mensaxes d'error
Comment[bs]=Kompilovanje ili spravljanje i raščlanjivanje grešaka
Comment[ca]=Compila o construeix amb Make i analitza els missatges d'error
Comment[ca@valencia]=Compila o construeix amb Make i analitza els missatges d'error
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/katebuild-plugin/plugin_katebuild.cpp
^
|
@@ -1,7 +1,7 @@
/* plugin_katebuild.c Kate Plugin
**
** Copyright (C) 2013 by Alexander Neundorf <neundorf@kde.org>
-** Copyright (C) 2006-2014 by Kåre Särs <kare.sars@iki.fi>
+** Copyright (C) 2006-2015 by Kåre Särs <kare.sars@iki.fi>
** Copyright (C) 2011 by Ian Wakeling <ian.wakeling@ntlworld.com>
**
** This code is mostly a modification of the GPL'ed Make plugin
@@ -45,7 +45,6 @@
#include <KXMLGUIFactory>
#include <KActionCollection>
-#include <QAction>
#include <kmessagebox.h>
#include <knotification.h>
@@ -583,6 +582,11 @@
/******************************************************************/
bool KateBuildView::buildCurrentTarget()
{
+ if (m_proc->state() != QProcess::NotRunning) {
+ displayBuildResult(i18n("Already building..."), KTextEditor::Message::Warning);
+ return false;
+ }
+
QFileInfo docFInfo = docUrl().toLocalFile(); // docUrl() saves the current document
QModelIndex ind = m_targetsUi->targetsView->currentIndex();
@@ -635,13 +639,14 @@
KTextEditor::View *kv = m_win->activeView();
if (!kv) return;
- QPointer<KTextEditor::Message> message = new KTextEditor::Message(xi18nc("@info", "<title>Make Results:</title><nl/><pre><code>%1</code></pre>", msg), level);
- message->setWordWrap(true);
- message->setPosition(KTextEditor::Message::BottomInView);
- message->setAutoHide(5000);
- message->setAutoHideMode(KTextEditor::Message::Immediate);
- message->setView(kv);
- kv->document()->postMessage(message);
+ delete m_infoMessage;
+ m_infoMessage = new KTextEditor::Message(xi18nc("@info", "<title>Make Results:</title><nl/>%1", msg), level);
+ m_infoMessage->setWordWrap(true);
+ m_infoMessage->setPosition(KTextEditor::Message::BottomInView);
+ m_infoMessage->setAutoHide(5000);
+ m_infoMessage->setAutoHideMode(KTextEditor::Message::Immediate);
+ m_infoMessage->setView(kv);
+ kv->document()->postMessage(m_infoMessage);
}
/******************************************************************/
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/katebuild-plugin/plugin_katebuild.h
^
|
@@ -2,7 +2,7 @@
#define PLUGIN_KATEBUILD_H
/* plugin_katebuild.h Kate Plugin
**
-** Copyright (C) 2008-2014 by Kåre Särs <kare.sars@iki.fi>
+** Copyright (C) 2008-2015 by Kåre Särs <kare.sars@iki.fi>
**
** This code is almost a total rewrite of the GPL'ed Make plugin
** by Adriaan de Groot.
@@ -28,6 +28,7 @@
#include <QRegExp>
#include <QString>
#include <QStack>
+#include <QPointer>
#include "KBProcess.h"
#include <KTextEditor/MainWindow>
@@ -149,6 +150,8 @@
unsigned int m_numWarnings;
QString m_prevItemContent;
QModelIndex m_previousIndex;
+ QPointer<KTextEditor::Message> m_infoMessage;
+
/**
* current project plugin view, if any
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/katebuild-plugin/targets.cpp
^
|
@@ -18,7 +18,6 @@
// Boston, MA 02110-1301, USA.
#include "targets.h"
-#include "targets.moc"
#include <klocalizedstring.h>
#include <QIcon>
#include <QEvent>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/katesql/katesql.desktop
^
|
@@ -3,7 +3,6 @@
ServiceTypes=KTextEditor/Plugin
X-KDE-Library=katesqlplugin
Name=SQL Plugin
-Name[ast]=Complementu SQL
Name[bg]=Приставка за SQL
Name[bs]=Priključak za SQL
Name[ca]=Connector SQL
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/katesql/katesqlview.cpp
^
|
@@ -41,7 +41,6 @@
#include <kconfig.h>
#include <kconfiggroup.h>
#include <kcombobox.h>
-#include <kconfig.h>
#include <KSharedConfig>
#include <KXMLGUIFactory>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/katesql/outputwidget.cpp
^
|
@@ -22,7 +22,6 @@
#include "dataoutputwidget.h"
#include "textoutputwidget.h"
#include "klocalizedstring.h"
-#include "kiconloader.h"
KateSQLOutputWidget::KateSQLOutputWidget (QWidget *parent)
: QTabWidget (parent)
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/konsole/kateconsole.cpp
^
|
@@ -21,7 +21,6 @@
#include "kateconsole.h"
-#include <kiconloader.h>
#include <klocalizedstring.h>
#include <ktexteditor/document.h>
#include <ktexteditor/view.h>
@@ -92,7 +91,7 @@
: QObject(mainWindow),m_plugin(plugin)
{
// init console
- QWidget *toolview = mainWindow->createToolView (plugin, QStringLiteral("kate_private_plugin_katekonsoleplugin"), KTextEditor::MainWindow::Bottom, SmallIcon(QStringLiteral("utilities-terminal")), i18n("Terminal"));
+ QWidget *toolview = mainWindow->createToolView (plugin, QStringLiteral("kate_private_plugin_katekonsoleplugin"), KTextEditor::MainWindow::Bottom, QIcon::fromTheme(QStringLiteral("utilities-terminal")), i18n("Terminal"));
m_console = new KateConsole(m_plugin, mainWindow, toolview);
// register this view
@@ -225,7 +224,20 @@
return;
m_currentPath = path;
- sendInput(QStringLiteral("cd ") + KShell::quoteArg(m_currentPath) + QLatin1Char('\n'));
+ QString command = QStringLiteral(" cd ") + KShell::quoteArg(m_currentPath) + QLatin1Char('\n');
+
+ // special handling for some interpreters
+ TerminalInterface *t = qobject_cast<TerminalInterface *>(m_part);
+ if (t) {
+ // ghci doesn't allow \space dir names, does allow spaces in dir names
+ // irb can take spaces or \space but doesn't allow " 'path' "
+ if (t->foregroundProcessName() == QStringLiteral("irb") ) {
+ command = QStringLiteral("Dir.chdir(\"") + path + QStringLiteral("\") \n") ;
+ } else if(t->foregroundProcessName() == QStringLiteral("ghc")) {
+ command = QStringLiteral(":cd ") + path + QStringLiteral("\n");
+ }
+ }
+ sendInput(command);
}
void KateConsole::sendInput( const QString& text )
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/konsole/katekonsoleplugin.desktop
^
|
@@ -3,7 +3,6 @@
ServiceTypes=KTextEditor/Plugin
X-KDE-Library=katekonsoleplugin
Name=Terminal tool view
-Name[ast]=Vista de la ferramienta de terminal
Name[bs]=Prikaz terminala
Name[ca]=Vista d'eina del terminal
Name[ca@valencia]=Eina de vista del terminal
@@ -57,7 +56,6 @@
Name[zh_CN]=终端工具视图
Name[zh_TW]=終端機工具檢視
Comment=Toolview embedding a terminal widget
-Comment[ast]=Vista de ferramienta qu'integra un widget de terminal
Comment[bs]=Grafička kontrola ugrađenog terminala
Comment[ca]=Vista d'eina que incrusta un estri de terminal
Comment[ca@valencia]=Eina de vista que incrusta un estri de terminal
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/kttsd/kate_kttsd.desktop
^
|
@@ -59,7 +59,6 @@
Name[zh_CN]=Jovie 语音合成
Name[zh_TW]=Jovie 文字轉語音
Comment=Adds a menu entry for speaking the text
-Comment[ast]=Amestar una entrada al menú pa lleer el testu
Comment[bg]=Добавяне на запис в менюто за изговаряне на текст
Comment[bs]=Dodaje stavku menija za izgovaranje teksta
Comment[ca]=Afegeix una entrada al menú per parlar el text
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/mailfiles/katemailfiles.cpp
^
|
@@ -23,8 +23,6 @@
#include "katemailfilesdialog.h"
-#include <kicon.h>
-#include <kiconloader.h>
#include <ktexteditor/document.h>
#include <ktexteditor/view.h>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/mailfiles/katemailfilesdialog.cpp
^
|
@@ -129,6 +129,5 @@
resize( width(), minimumHeight() );
}
-#include "katemailfilesdialog.moc"
// kate: space-indent on; indent-width 2; replace-tabs on;
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/mailfiles/katemailfilesplugin.desktop
^
|
@@ -4,7 +4,6 @@
X-KDE-Library=katemailfilesplugin
X-Kate-Version=2.8
Name=Mail files
-Name[ast]=Ficheros de corréu
Name[bg]=Файлове по пощата
Name[bs]=Slanje e‑poštom
Name[ca]=Envia fitxers per correu
@@ -60,7 +59,6 @@
Name[zh_CN]=邮寄文件
Name[zh_TW]=郵件檔案
Comment=Send files via email
-Comment[ast]=Unviar ficheros por e-mail
Comment[bg]=Изпращане на файлове по пощата
Comment[bs]=Šaljite datoteke e‑poštom
Comment[ca]=Envia fitxers per correu electrònic
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/pate/src/engine.cpp
^
|
@@ -199,7 +199,7 @@
}
/**
- * \todo Make sure noone tries to use uninitialized engine!
+ * \todo Make sure no one tries to use uninitialized engine!
* (Or enable exceptions for this module, so this case wouldn't even araise?)
*/
QString Pate::Engine::tryInitializeGetFailureReason()
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/pate/src/kate/api.py
^
|
@@ -121,7 +121,7 @@
@contextlib.contextmanager
def makeAtomicUndo(document):
- ''' Context manager to make sure startEditing syncronized w/
+ ''' Context manager to make sure startEditing synchronized w/
endEditing for particular document.
'''
document.startEditing()
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/pate/src/pate.desktop
^
|
@@ -53,7 +53,7 @@
Name[zh_TW]=Python 外掛程式
Comment=Pâté host for Python plugins
Comment[bs]=Pâté host za Python dodatke
-Comment[ca]=Amfitrió Pâté pels connectors en Python
+Comment[ca]=Màquina Pâté pels connectors en Python
Comment[ca@valencia]=Servidor Pâté pels connectors del Python
Comment[cs]=Nástroj pro použití modulů Pythonu
Comment[da]=Pâté-vært for Python-plugins
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/pate/src/plugins/format.py
^
|
@@ -83,7 +83,7 @@
@return tuple w/ current range, list of nested ranges
and list of positions of break characters
- @note Assume cursor positioned whithin that range already.
+ @note Assume cursor positioned within that range already.
'''
document = kate.activeDocument()
view = kate.activeView()
@@ -277,7 +277,7 @@
originalText = document.text(textRange)
#kate.qDebug("Original text:\n'" + originalText + "'")
- # Slice text whithin a given range into pieces to be realigned
+ # Slice text within a given range into pieces to be realigned
ranges = list()
prevPos = textRange.start()
breakCh = None
@@ -358,7 +358,7 @@
)
return
- # Going to format a text whithin a selected range
+ # Going to format a text within a selected range
lineStr = document.line(r.start().line())
lineStrStripped = lineStr.lstrip()
indent = len(lineStr) - len(lineStrStripped)
@@ -431,7 +431,7 @@
)
return
- # Going to unformat a text whithin a selected range
+ # Going to unformat a text within a selected range
text = boostUnformatText(r, breakPositions)
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/pate/src/plugins/gdb/qgdb.py
^
|
@@ -223,7 +223,7 @@
if status:
raise QGdbException("{}: unexpected status {}, {}, {}".format(command, status, result, records))
#
- # Return the result information and any preceeding records.
+ # Return the result information and any preceding records.
#
if captureConsole:
if result:
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/pate/src/plugins/gid/__init__.py
^
|
@@ -338,7 +338,7 @@
Entries are grouped under the file in which the hits are searched. Each
entry shows the matched text, the line and column of the match. If so
- enabled, entries which are defintions according to etags are highlighted.
+ enabled, entries which are definitions according to etags are highlighted.
If the output takes a long time to generate, the user is given options
to continue or abort.
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/pate/src/plugins/js_utils/js_engine.py
^
|
@@ -116,4 +116,4 @@
print('OK')
else:
errors = JSLint['errors']
- pprint(errors)
\ No newline at end of file
+ pprint(errors)
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/pate/src/plugins/libkatepate/common.py
^
|
@@ -59,7 +59,7 @@
if not doc.lineLength(pos.line()):
return KTextEditor.Range(pos, pos)
- lineStr = doc.line(pos.line()) # Get the current line as string to analyse
+ lineStr = doc.line(pos.line()) # Get the current line as string to analyze
found = False
cc = pos.column() # (pre)initialize 'current column'
# NOTE If cursor positioned at the end of a line, column()
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/project/CMakeLists.txt
^
|
@@ -35,6 +35,7 @@
target_link_libraries(kateprojectplugin
KF5::TextEditor
KF5::Parts KF5::I18n
+ KF5::GuiAddons
Qt5::Script KF5::ItemViews KF5::ItemModels KF5::IconThemes KF5::ThreadWeaver
${PROJECT_OPTIONAL_LIBS}
)
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/project/kateproject.cpp
^
|
@@ -36,6 +36,7 @@
KateProject::KateProject(ThreadWeaver::Queue *weaver)
: QObject()
+ , m_fileLastModified()
, m_notesDocument(nullptr)
, m_untrackedDocumentsRoot(nullptr)
, m_weaver(weaver)
@@ -73,11 +74,13 @@
/**
* open the file for reading, bail out on error!
*/
+ m_fileLastModified = QDateTime();
QFile file(m_fileName);
if (!file.open(QFile::ReadOnly)) {
return false;
}
+ m_fileLastModified = QFileInfo(m_fileName).lastModified();
/**
* parse the whole file, bail out again on error!
*/
@@ -370,10 +373,10 @@
KateProjectItem *item = static_cast<KateProjectItem *>(itemForFile(file));
if (item && item->data(Qt::UserRole + 3).toBool()) {
unregisterUntrackedItem(item);
+ m_file2Item->remove(file);
}
}
- m_file2Item->remove(file);
m_documents.remove(document);
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/project/kateproject.h
^
|
@@ -21,6 +21,7 @@
#ifndef KATE_PROJECT_H
#define KATE_PROJECT_H
+#include <QDateTime>
#include <QMap>
#include <QSharedPointer>
#include <QTextDocument>
@@ -98,6 +99,12 @@
}
/**
+ * Return the time when the project file has been modified last.
+ * @return QFileInfo::lastModified()
+ */
+ QDateTime fileLastModified() const { return m_fileLastModified; }
+
+ /**
* Accessor to project map containing the whole project info.
* @return project info
*/
@@ -227,6 +234,12 @@
void unregisterUntrackedItem(const KateProjectItem *item);
private:
+
+ /**
+ * Last modification time of the project file
+ */
+ QDateTime m_fileLastModified;
+
/**
* project file name
*/
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/project/kateprojectitem.cpp
^
|
@@ -28,7 +28,8 @@
#include <QCoreApplication>
#include <QMimeDatabase>
-#include <KIconLoader>
+#include <KIconUtils>
+
#include <KTextEditor/Document>
KateProjectItem::KateProjectItem(Type type, const QString &text)
@@ -52,10 +53,9 @@
if (doc->isModified()) {
if (m_emblem.isEmpty()) {
- m_icon = new QIcon(KIconLoader::global()->loadIcon(QStringLiteral("document-save"), KIconLoader::Small));
+ m_icon = new QIcon(QIcon::fromTheme(QStringLiteral("document-save")));
} else {
- QStringList emblems(m_emblem);
- m_icon = new QIcon(KIconLoader::global()->loadIcon(QStringLiteral("document-save") , KIconLoader::Small, 0, KIconLoader::DefaultState, emblems));
+ m_icon = new QIcon(KIconUtils::addOverlay(QIcon::fromTheme(QStringLiteral("document-save")), QIcon(m_emblem), Qt::TopLeftCorner));
}
}
emitDataChanged();
@@ -89,7 +89,6 @@
* but never query gui stuff!
*/
Q_ASSERT(QThread::currentThread() == QCoreApplication::instance()->thread());
-
return QVariant(*icon());
}
@@ -104,20 +103,21 @@
switch (m_type) {
case Project:
- m_icon = new QIcon(KIconLoader::global()->loadIcon(QStringLiteral("folder-documents"), KIconLoader::Small));
+ m_icon = new QIcon(QIcon::fromTheme(QStringLiteral("folder-documents")));
break;
case Directory:
- m_icon = new QIcon(KIconLoader::global()->loadIcon(QStringLiteral("folder"), KIconLoader::Small));
+ m_icon = new QIcon(QIcon::fromTheme(QStringLiteral("folder")));
break;
case File: {
QString iconName = QMimeDatabase().mimeTypeForUrl(QUrl::fromLocalFile(data(Qt::UserRole).toString())).iconName();
QStringList emblems;
if (!m_emblem.isEmpty()) {
- emblems << m_emblem;
+ m_icon = new QIcon(KIconUtils::addOverlay(QIcon::fromTheme(iconName), QIcon(m_emblem), Qt::TopLeftCorner));
+ } else {
+ m_icon = new QIcon(QIcon::fromTheme(iconName));
}
- m_icon = new QIcon(KIconLoader::global()->loadMimeTypeIcon(iconName, KIconLoader::Small, 0, KIconLoader::DefaultState, emblems));
break;
}
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/project/kateprojectplugin.cpp
^
|
@@ -19,7 +19,6 @@
*/
#include "kateprojectplugin.h"
-#include "kateprojectplugin.moc"
#include "kateproject.h"
#include "kateprojectconfigpage.h"
@@ -239,7 +238,10 @@
QString fileName = QDir(path).filePath(ProjectFileName);
for (KateProject * project : m_projects) {
if (project->fileName() == fileName) {
- project->reload();
+ QDateTime lastModified = QFileInfo(fileName).lastModified();
+ if (project->fileLastModified().isNull() || (lastModified > project->fileLastModified())) {
+ project->reload();
+ }
break;
}
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/project/kateprojectpluginview.cpp
^
|
@@ -33,7 +33,6 @@
#include <kaboutdata.h>
#include <KLocalizedString>
#include <KXMLGUIFactory>
-#include <KIconLoader>
#include <QAction>
#include <QDialog>
@@ -131,15 +130,15 @@
/**
* create toolviews
*/
- m_toolView = m_mainWindow->createToolView(m_plugin, QStringLiteral("kateproject"), KTextEditor::MainWindow::Left, SmallIcon(QStringLiteral("project-open")), i18n("Projects"));
- m_toolInfoView = m_mainWindow->createToolView(m_plugin, QStringLiteral("kateprojectinfo"), KTextEditor::MainWindow::Bottom, SmallIcon(QStringLiteral("view-choose")), i18n("Current Project"));
+ m_toolView = m_mainWindow->createToolView(m_plugin, QStringLiteral("kateproject"), KTextEditor::MainWindow::Left, QIcon::fromTheme(QStringLiteral("project-open")), i18n("Projects"));
+ m_toolInfoView = m_mainWindow->createToolView(m_plugin, QStringLiteral("kateprojectinfo"), KTextEditor::MainWindow::Bottom, QIcon::fromTheme(QStringLiteral("view-choose")), i18n("Current Project"));
/**
* create the combo + buttons for the toolViews + stacked widgets
*/
m_projectsCombo = new QComboBox(m_toolView);
m_reloadButton = new QToolButton(m_toolView);
- m_reloadButton->setIcon(SmallIcon(QStringLiteral("view-refresh")));
+ m_reloadButton->setIcon(QIcon::fromTheme(QStringLiteral("view-refresh")));
QHBoxLayout *layout = new QHBoxLayout();
layout->setSpacing(0);
layout->addWidget(m_projectsCombo);
@@ -173,7 +172,7 @@
*/
m_stackedProjectViews->addWidget(view);
m_stackedProjectInfoViews->addWidget(infoView);
- m_projectsCombo->addItem(SmallIcon(QStringLiteral("project-open")), project->name(), project->fileName());
+ m_projectsCombo->addItem(QIcon::fromTheme(QStringLiteral("project-open")), project->name(), project->fileName());
/**
* remember and return it
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode
^
|
+(directory)
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/CMakeLists.txt
^
|
@@ -0,0 +1,31 @@
+project(katereplicodeplugin)
+
+add_definitions(-DTRANSLATION_DOMAIN=\"kate-replicode-plugin\")
+
+# Set source variables
+set(katereplicode_SRCS
+ replicodeplugin.cpp
+ replicodeconfigpage.cpp
+ replicodeconfig.cpp
+ replicodesettings.cpp
+ replicodeview.cpp
+)
+
+# Generate files
+ki18n_wrap_ui(ui_SRCS config.ui)
+#qt5_wrap_ui(ui_SRCS config.ui)
+add_library(katereplicodeplugin MODULE ${katereplicode_SRCS} ${ui_SRCS})
+
+# Link it all together
+target_link_libraries(katereplicodeplugin
+ KF5::TextEditor
+ KF5::IconThemes
+ KF5::I18n
+)
+
+kcoreaddons_desktop_to_json(katereplicodeplugin katereplicodeplugin.desktop)
+
+# Install
+install(TARGETS katereplicodeplugin DESTINATION ${PLUGIN_INSTALL_DIR}/ktexteditor)
+install(FILES ui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/katereplicodeplugin)
+
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/Messages.sh
^
|
@@ -0,0 +1,5 @@
+#! /bin/sh
+$EXTRACTRC `find . -name \*.ui` >> rc.cpp
+$XGETTEXT *.cpp -o $podir/kate-replicode-plugin.pot
+rm -f rc.cpp
+
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/config.ui
^
|
@@ -0,0 +1,631 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>tabWidget</class>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>461</width>
+ <height>530</height>
+ </rect>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="run">
+ <attribute name="title">
+ <string>Run</string>
+ </attribute>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_34">
+ <property name="text">
+ <string>Run time (milliseconds):</string>
+ </property>
+ <property name="buddy">
+ <cstring>runTime</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QSpinBox" name="runTime">
+ <property name="maximum">
+ <number>2147483647</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_35">
+ <property name="text">
+ <string>Probe level:</string>
+ </property>
+ <property name="buddy">
+ <cstring>probeLevel</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="probeLevel">
+ <property name="maximum">
+ <number>2147483647</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="userOpsLabel">
+ <property name="text">
+ <string>User operations layout module:</string>
+ </property>
+ <property name="buddy">
+ <cstring>userModulePath</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="KUrlRequester" name="userModulePath"/>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="userClassLabel">
+ <property name="text">
+ <string>User classes file:</string>
+ </property>
+ <property name="buddy">
+ <cstring>userClassPath</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="KUrlRequester" name="userClassPath"/>
+ </item>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Base period:</string>
+ </property>
+ <property name="buddy">
+ <cstring>basePeriod</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1">
+ <widget class="QSpinBox" name="basePeriod">
+ <property name="maximum">
+ <number>2147483647</number>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Reduction core count</string>
+ </property>
+ <property name="buddy">
+ <cstring>reductionCoreCount</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="1">
+ <widget class="QSpinBox" name="reductionCoreCount">
+ <property name="maximum">
+ <number>2147483647</number>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Time core count</string>
+ </property>
+ <property name="buddy">
+ <cstring>timeCoreCount</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="6" column="1">
+ <widget class="QSpinBox" name="timeCoreCount">
+ <property name="maximum">
+ <number>2147483647</number>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="system">
+ <attribute name="title">
+ <string>System</string>
+ </attribute>
+ <layout class="QFormLayout" name="formLayout_2">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_6">
+ <property name="text">
+ <string>Model inertia success rate threshold:</string>
+ </property>
+ <property name="buddy">
+ <cstring>modelInertiaSuccessRate</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QDoubleSpinBox" name="modelInertiaSuccessRate">
+ <property name="decimals">
+ <number>7</number>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_7">
+ <property name="text">
+ <string>Model inertia count threshold:</string>
+ </property>
+ <property name="buddy">
+ <cstring>modelInertiacount</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="modelInertiacount">
+ <property name="maximum">
+ <number>2147483647</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_8">
+ <property name="text">
+ <string>Targeted pattern extractor delta success rate threshold:</string>
+ </property>
+ <property name="buddy">
+ <cstring>tpxDeltaSuccessRate</cstring>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QDoubleSpinBox" name="tpxDeltaSuccessRate">
+ <property name="decimals">
+ <number>7</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Minimum simulation time horizon:</string>
+ </property>
+ <property name="buddy">
+ <cstring>minSimTimeHoriz</cstring>
+ </property>
+ </widget>
+ </item>
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/katereplicodeplugin.desktop
^
|
@@ -0,0 +1,116 @@
+[Desktop Entry]
+Type=Service
+ServiceTypes=KTextEditor/Plugin
+X-KDE-Library=katereplicodeplugin
+
+Name=Replicode
+Name[ca]=Replicode
+Name[ca@valencia]=Replicode
+Name[da]=Replicode
+Name[de]=Replicode
+Name[el]=Replicode
+Name[en_GB]=Replicode
+Name[es]=Replicode
+Name[et]=Replicode
+Name[fa]=جایگزینی
+Name[fi]=Replicode
+Name[fr]=Replicode
+Name[gl]=Replicode
+Name[hu]=Replicode
+Name[ia]=Replicode
+Name[it]=Replicode
+Name[ko]=Replicode
+Name[nb]=Replicode
+Name[nds]=Replicode
+Name[nl]=Replicode
+Name[pl]=Replicode
+Name[pt]=Replicode
+Name[pt_BR]=Replicode
+Name[ro]=Replicode
+Name[ru]=Replicode
+Name[sk]=Replikovať
+Name[sl]=Replicode
+Name[sr]=Репликод
+Name[sr@ijekavian]=Репликод
+Name[sr@ijekavianlatin]=Replicode
+Name[sr@latin]=Replicode
+Name[sv]=Replicode
+Name[tr]=Replicode
+Name[uk]=Replicode
+Name[x-test]=xxReplicodexx
+Name[zh_CN]=Replicode
+Name[zh_TW]=Replicode
+Comment=Replicode
+Comment[ca]=Replicode
+Comment[ca@valencia]=Replicode
+Comment[da]=Replicode
+Comment[de]=Replicode
+Comment[el]=Replicode
+Comment[en_GB]=Replicode
+Comment[es]=Replicode
+Comment[et]=Replicode
+Comment[fa]=جایگزینی
+Comment[fi]=Replicode
+Comment[fr]=Replicode
+Comment[gl]=Replicode
+Comment[hu]=Replicode
+Comment[ia]=Replicode
+Comment[it]=Replicode
+Comment[ko]=Replicode
+Comment[nb]=Replicode
+Comment[nds]=Replicode
+Comment[nl]=Replicode
+Comment[pl]=Replicode
+Comment[pt]=Replicode
+Comment[pt_BR]=Replicode
+Comment[ro]=Replicode
+Comment[ru]=Replicode
+Comment[sk]=Replikovať
+Comment[sl]=Replicode
+Comment[sr]=Репликод
+Comment[sr@ijekavian]=Репликод
+Comment[sr@ijekavianlatin]=Replicode
+Comment[sr@latin]=Replicode
+Comment[sv]=Replicode
+Comment[tr]=Replicode
+Comment[uk]=Replicode
+Comment[x-test]=xxReplicodexx
+Comment[zh_CN]=Replicode
+Comment[zh_TW]=Replicode
+GenericName=Replicode
+GenericName[ca]=Replicode
+GenericName[ca@valencia]=Replicode
+GenericName[da]=Replicode
+GenericName[de]=Replicode
+GenericName[el]=Replicode
+GenericName[en_GB]=Replicode
+GenericName[es]=Replicode
+GenericName[et]=Replicode
+GenericName[fa]=جایگزینی
+GenericName[fi]=Replicode
+GenericName[fr]=Replicode
+GenericName[gl]=Replicode
+GenericName[hu]=Replicode
+GenericName[ia]=Replicode
+GenericName[it]=Replicode
+GenericName[ko]=Replicode
+GenericName[nb]=Replicode
+GenericName[nds]=Replicode
+GenericName[nl]=Replicode
+GenericName[pl]=Replicode
+GenericName[pt]=Replicode
+GenericName[pt_BR]=Replicode
+GenericName[ro]=Replicode
+GenericName[ru]=Replicode
+GenericName[sk]=Replikovať
+GenericName[sl]=Replicode
+GenericName[sr]=Репликод
+GenericName[sr@ijekavian]=Репликод
+GenericName[sr@ijekavianlatin]=Replicode
+GenericName[sr@latin]=Replicode
+GenericName[sv]=Replicode
+GenericName[tr]=Replicode
+GenericName[uk]=Replicode
+GenericName[x-test]=xxReplicodexx
+GenericName[zh_CN]=Replicode
+GenericName[zh_TW]=Replicode
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/replicodeconfig.cpp
^
|
@@ -0,0 +1,143 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Martin Sandsmark <martin.sandsmark@kde.org>
+
+ 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., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "replicodeconfig.h"
+#include "ui_config.h"
+#include "replicodesettings.h"
+
+enum TraceLevels {
+ CompositeInputs = 1 << 0,
+ CompositeOutputs = 1 << 1,
+ ModelInputs = 1 << 2,
+ ModelOutputs = 1 << 3,
+ PredictionMonitoring = 1 << 4,
+ GoalMonitoring = 1 << 5,
+ ModelRevision = 1 << 6,
+ ModelCompositeInjection = 1 << 7
+};
+
+ReplicodeConfig::ReplicodeConfig(QWidget* parent): QTabWidget(parent), m_ui(new Ui_tabWidget), m_settings(new ReplicodeSettings(this))
+{
+ m_ui->setupUi(this);
+ load();
+}
+
+ReplicodeConfig::~ReplicodeConfig()
+{
+ delete m_ui;
+}
+
+void ReplicodeConfig::load()
+{
+ m_ui->basePeriod->setValue(m_settings->basePeriod);
+ m_ui->debug->setChecked(m_settings->debug);
+ m_ui->debugWindows->setValue(m_settings->debugWindows);
+ m_ui->decObjFile->setText(m_settings->decompilationFilePath);
+ m_ui->decompileModels->setChecked(m_settings->decompileModels);
+ m_ui->decompileObjects->setChecked(m_settings->decompileObjects);
+ m_ui->dumpModelsFile->setText(m_settings->modelsPath);
+ m_ui->dumpObjFile->setText(m_settings->objectsPath);
+ m_ui->floatTolerance->setValue(m_settings->floatTolerance);
+ m_ui->goalPredSuccessRes->setValue(m_settings->goalPredictionSuccessResilience);
+ m_ui->ignoreNamedModels->setChecked(m_settings->ignoreNamedModels);
+ m_ui->maxSimTimeHoriz->setValue(m_settings->maximumSimulationTimeHorizon);
+ m_ui->minSimTimeHoriz->setValue(m_settings->minimumSimulationTimeHorizon);
+ m_ui->modelInertiacount->setValue(m_settings->mdlInertiaCountThreshold);
+ m_ui->modelInertiaSuccessRate->setValue(m_settings->mdlInertiaSuccessRateThreshold);
+ m_ui->notifMarkerRes->setValue(m_settings->notificationMarkerResilience);
+ m_ui->perfSamplePeriod->setValue(m_settings->perfSamplingPeriod);
+ m_ui->primaryTimeHoriz->setValue(m_settings->primaryTimeHorizon);
+ m_ui->probeLevel->setValue(m_settings->probeLevel);
+ m_ui->reductionCoreCount->setValue(m_settings->reductionCoreCount);
+ m_ui->runTime->setValue(m_settings->runTime);
+ m_ui->secondaryTimeHoriz->setValue(m_settings->secondaryTimeHorizon);
+ m_ui->simTimeHoriz->setValue(m_settings->simulationTimeHorizon);
+ m_ui->testModels->setChecked(m_settings->testModels);
+ m_ui->testObj->setChecked(m_settings->testObjects);
+ m_ui->timeCoreCount->setValue(m_settings->timeCoreCount);
+ m_ui->timerTolerance->setValue(m_settings->timeTolerance);
+ m_ui->tpxDeltaSuccessRate->setValue(m_settings->tpxDeltaSuccessRateThreshold);
+ m_ui->tpxTimeHoriz->setValue(m_settings->tpxTimehorizon);
+ m_ui->userClassPath->setText(m_settings->userClassPath);
+ m_ui->userModulePath->setText(m_settings->userOperatorPath);
+
+ m_ui->traceCompInputs->setChecked(m_settings->traceLevels & CompositeInputs);
+ m_ui->traceCompOutputs->setChecked(m_settings->traceLevels & CompositeOutputs);
+ m_ui->traceModelIn->setChecked(m_settings->traceLevels & ModelInputs);
+ m_ui->traceModelOut->setChecked(m_settings->traceLevels & ModelOutputs);
+ m_ui->tracePredMon->setChecked(m_settings->traceLevels & PredictionMonitoring);
+ m_ui->traceGoalMon->setChecked(m_settings->traceLevels & GoalMonitoring);
+ m_ui->traceModelRev->setChecked(m_settings->traceLevels & ModelRevision);
+ m_ui->traceModComInj->setChecked(m_settings->traceLevels & ModelCompositeInjection);
+}
+
+void ReplicodeConfig::save()
+{
+ m_settings->basePeriod = m_ui->basePeriod->value();
+ m_settings->debug = m_ui->debug->isChecked();
+ m_settings->debugWindows = m_ui->debugWindows->value();
+ m_settings->decompilationFilePath = m_ui->decObjFile->text();
+ m_settings->decompileModels = m_ui->decompileModels->isChecked();
+ m_settings->decompileObjects = m_ui->decompileObjects->isChecked();
+ m_settings->modelsPath = m_ui->dumpModelsFile->text();
+ m_settings->objectsPath = m_ui->dumpObjFile->text();
+ m_settings->floatTolerance = m_ui->floatTolerance->value();
+ m_settings->goalPredictionSuccessResilience = m_ui->goalPredSuccessRes->value();
+ m_settings->ignoreNamedModels = m_ui->ignoreNamedModels->isChecked();
+ m_settings->maximumSimulationTimeHorizon = m_ui->maxSimTimeHoriz->value();
+ m_settings->minimumSimulationTimeHorizon = m_ui->minSimTimeHoriz->value();
+ m_settings->mdlInertiaCountThreshold = m_ui->modelInertiacount->value();
+ m_settings->mdlInertiaSuccessRateThreshold = m_ui->modelInertiaSuccessRate->value();
+ m_settings->notificationMarkerResilience = m_ui->notifMarkerRes->value();
+ m_settings->perfSamplingPeriod = m_ui->perfSamplePeriod->value();
+ m_settings->primaryTimeHorizon = m_ui->primaryTimeHoriz->value();
+ m_settings->probeLevel = m_ui->probeLevel->value();
+ m_settings->reductionCoreCount = m_ui->reductionCoreCount->value();
+ m_settings->runTime = m_ui->runTime->value();
+ m_settings->secondaryTimeHorizon = m_ui->secondaryTimeHoriz->value();
+ m_settings->simulationTimeHorizon = m_ui->simTimeHoriz->value();
+ m_settings->testModels = m_ui->testModels->isChecked();
+ m_settings->testObjects = m_ui->testObj->isChecked();
+ m_settings->timeCoreCount = m_ui->timeCoreCount->value();
+ m_settings->timeTolerance = m_ui->timerTolerance->value();
+ m_settings->tpxDeltaSuccessRateThreshold = m_ui->tpxDeltaSuccessRate->value();
+ m_settings->tpxTimehorizon = m_ui->tpxTimeHoriz->value();
+ m_settings->userClassPath = m_ui->userClassPath->text();
+ m_settings->userOperatorPath = m_ui->userModulePath->text();
+
+ int trace = 0;
+ if (m_ui->traceCompInputs->isChecked()) trace |= CompositeInputs;
+ if (m_ui->traceCompOutputs->isChecked()) trace |= CompositeOutputs;
+ if (m_ui->traceModelIn->isChecked()) trace |= ModelInputs;
+ if (m_ui->traceModelOut->isChecked()) trace |= ModelOutputs;
+ if (m_ui->tracePredMon->isChecked()) trace |= PredictionMonitoring;
+ if (m_ui->traceGoalMon->isChecked()) trace |= GoalMonitoring;
+ if (m_ui->traceModelRev->isChecked()) trace |= ModelRevision;
+ if (m_ui->traceModComInj->isChecked()) trace |= ModelCompositeInjection;
+ m_settings->traceLevels = trace;
+ m_settings->save();
+}
+
+void ReplicodeConfig::reset()
+{
+ m_settings->setDefaults();
+ load();
+}
+
+
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/replicodeconfig.h
^
|
@@ -0,0 +1,47 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Martin Sandsmark <martin.sandsmark@kde.org>
+
+ 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., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+#ifndef REPLICODECONFIG_H
+#define REPLICODECONFIG_H
+
+#include <QVariant>
+#include <QTabWidget>
+
+class Ui_tabWidget;
+class ReplicodeSettings;
+
+class ReplicodeConfig : public QTabWidget
+{
+ Q_OBJECT
+public:
+ explicit ReplicodeConfig(QWidget *parent = 0);
+ virtual ~ReplicodeConfig();
+
+public Q_SLOTS:
+ void reset();
+ void save();
+ void load();
+
+ ReplicodeSettings *settingsObject() { save(); return m_settings; }
+
+private:
+ Ui_tabWidget *m_ui;
+ ReplicodeSettings *m_settings;
+};
+
+#endif//REPLICODECONFIG_H
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/replicodeconfigpage.cpp
^
|
@@ -0,0 +1,70 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Martin Sandsmark <martin.sandsmark@kde.org>
+
+ 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., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "replicodeconfigpage.h"
+#include "replicodeconfig.h"
+#include <KUrlRequester>
+#include <KConfigGroup>
+#include <KConfig>
+#include <KSharedConfig>
+
+#include <QGridLayout>
+#include <QLayout>
+#include <klocalizedstring.h>
+#include <QLabel>
+#include <QTabWidget>
+
+ReplicodeConfigPage::ReplicodeConfigPage(QWidget *parent) : KTextEditor::ConfigPage(parent), m_config(new ReplicodeConfig(this))
+{
+ QGridLayout *gridlayout = new QGridLayout;
+ setLayout(gridlayout);
+ gridlayout->addWidget(new QLabel(i18n("Path to replicode executor:")), 0, 0);
+
+ m_requester = new KUrlRequester;
+ m_requester->setMode(KFile::File | KFile::ExistingOnly);
+ gridlayout->addWidget(m_requester, 0, 1);
+
+ gridlayout->addWidget(m_config, 1, 0, 1, 2);
+
+ reset();
+
+ connect(m_requester, SIGNAL(textChanged(QString)), SIGNAL(changed()));
+}
+
+void ReplicodeConfigPage::apply()
+{
+ KConfigGroup config(KSharedConfig::openConfig(), QStringLiteral("Replicode"));
+ config.writeEntry("replicodePath", m_requester->text());
+ m_config->save();
+}
+
+void ReplicodeConfigPage::reset()
+{
+ KConfigGroup config(KSharedConfig::openConfig(), QStringLiteral("Replicode"));
+ m_requester->setText(config.readEntry<QString>("replicodePath", QString()));
+ m_config->load();
+}
+
+void ReplicodeConfigPage::defaults()
+{
+ m_requester->setText(QString());
+ m_config->reset();
+}
+
+#include "replicodeconfigpage.moc"
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/replicodeconfigpage.h
^
|
@@ -0,0 +1,44 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Martin Sandsmark <martin.sandsmark@kde.org>
+
+ 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., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+#ifndef REPLICODEPLUGINCONFIGPAGE_H
+#define REPLICODEPLUGINCONFIGPAGE_H
+#include <KTextEditor/ConfigPage>
+
+class KUrlRequester;
+class ReplicodeConfig;
+
+class ReplicodeConfigPage : public KTextEditor::ConfigPage
+{
+ Q_OBJECT
+
+public:
+ ReplicodeConfigPage(QWidget *parent = 0);
+ QString name () const { return QStringLiteral("replicode"); }
+
+public Q_SLOTS:
+ void apply();
+ void reset();
+ void defaults();
+
+private:
+ KUrlRequester *m_requester;
+ ReplicodeConfig *m_config;
+};
+
+#endif//REPLICODEPLUGINCONFIGPAGE_H
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/replicodeplugin.cpp
^
|
@@ -0,0 +1,47 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Martin Sandsmark <martin.sandsmark@kde.org>
+
+ 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., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "replicodeplugin.h"
+#include "replicodeconfigpage.h"
+
+#include <KPluginFactory>
+#include <KPluginLoader>
+
+#include <KTextEditor/Application>
+
+K_PLUGIN_FACTORY_WITH_JSON (KateReplicodePluginFactory, "katereplicodeplugin.json", registerPlugin<ReplicodePlugin>();)
+
+ReplicodePlugin::ReplicodePlugin(QObject* parent, const QList< QVariant > &args)
+: KTextEditor::Plugin(qobject_cast<KTextEditor::Application*>(parent))
+{
+ Q_UNUSED(args);
+}
+
+ReplicodePlugin::~ReplicodePlugin()
+{
+}
+
+KTextEditor::ConfigPage* ReplicodePlugin::configPage(int number, QWidget* parent)
+{
+ Q_UNUSED(number);
+ Q_ASSERT(number == 0);
+ return new ReplicodeConfigPage(parent);
+}
+
+#include "replicodeplugin.moc"
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/replicodeplugin.h
^
|
@@ -0,0 +1,45 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Martin Sandsmark <martin.sandsmark@kde.org>
+
+ 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., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+#ifndef REPLICODEPLUGIN_H
+#define REPLICODEPLUGIN_H
+
+#include <KTextEditor/Plugin>
+#include <KTextEditor/ConfigPage>
+#include "replicodeview.h"
+
+class ReplicodePlugin : public KTextEditor::Plugin
+{
+ Q_OBJECT
+
+ public:
+ // Constructor
+ explicit ReplicodePlugin(QObject *parent = 0, const QList<QVariant> &args = QList<QVariant>());
+ // Destructor
+ virtual ~ReplicodePlugin();
+
+ QObject *createView(KTextEditor::MainWindow *mainWindow) {
+ return new ReplicodeView(this, mainWindow);
+ }
+
+ // Config interface
+ int configPages () const { return 1; }
+ KTextEditor::ConfigPage *configPage (int number = 0, QWidget *parent = 0);
+};
+
+#endif
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/replicodesettings.cpp
^
|
@@ -0,0 +1,212 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Martin Sandsmark <martin.sandsmark@kde.org>
+
+ 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., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#include "replicodesettings.h"
+#include <QXmlStreamWriter>
+#include <QSettings>
+#include <QDebug>
+#include <QString>
+
+ReplicodeSettings::ReplicodeSettings(QObject *parent) :
+ QObject(parent)
+{
+ load();
+}
+
+void ReplicodeSettings::load()
+{
+ QSettings settings(QStringLiteral("replicode"), QStringLiteral("replicode"));
+
+ settings.beginGroup(QStringLiteral("Load"));
+ userOperatorPath = settings.value(QStringLiteral("User Operator Module Path"), QString()).toString();
+ userClassPath = settings.value(QStringLiteral("User Class File Path"), QString()).toString();
+ sourcePath = settings.value(QStringLiteral("Source File Path"), QString()).toString();
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Init"));
+ basePeriod = settings.value(QStringLiteral("Base Period"), 50000).toInt();
+ reductionCoreCount = settings.value(QStringLiteral("Reduction Core Count"), 6).toInt();
+ timeCoreCount = settings.value(QStringLiteral("Time Core Count"), 2).toInt();
+
+ settings.beginGroup(QStringLiteral("System"));
+ mdlInertiaSuccessRateThreshold = settings.value(QStringLiteral("Model Inertia Success Rate Threshold"), 0.9).toFloat();
+ mdlInertiaCountThreshold = settings.value(QStringLiteral("Model Inertia Count Threshold"), 6).toInt();
+ tpxDeltaSuccessRateThreshold = settings.value(QStringLiteral("Targeted Pattern Extractor Delta Success Rate Threshold"), 0.1).toFloat();
+ minimumSimulationTimeHorizon = settings.value(QStringLiteral("Minimum Simulation Time Horizon"), 0).toInt();
+ maximumSimulationTimeHorizon = settings.value(QStringLiteral("Maximum Simulation Time Horizon"), 0).toInt();
+ simulationTimeHorizon = settings.value(QStringLiteral("Simulation Time Horizon"), 0.3).toFloat();
+ tpxTimehorizon = settings.value(QStringLiteral("Targeted Pattern Extractor Time Horizon"), 500000).toInt();
+ perfSamplingPeriod = settings.value(QStringLiteral("Perf Sampling Period"), 250000).toInt();
+ floatTolerance = settings.value(QStringLiteral("Float Tolerance"), 0.00001).toFloat();
+ timeTolerance = settings.value(QStringLiteral("Timer Tolerance"), 10000).toInt();
+ primaryTimeHorizon = settings.value(QStringLiteral("Primary Time Horizon"), 3600000).toInt();
+ secondaryTimeHorizon = settings.value(QStringLiteral("Secondary Time Horizon"), 7200000).toInt();
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Debug"));
+ debug = settings.value(QStringLiteral("Debug"), true).toBool();
+ debugWindows = settings.value(QStringLiteral("Debug Windows"), 1).toInt();
+ traceLevels = settings.value(QStringLiteral("Trace Levels"), QStringLiteral("CC")).toString().toInt(0, 16);
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Resilience"));
+ notificationMarkerResilience = settings.value(QStringLiteral("Notification Marker Resilience"), 1).toInt();
+ goalPredictionSuccessResilience = settings.value(QStringLiteral("Goal Prediction Success Resilience"), 1000).toInt();
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Objects"));
+ getObjects = settings.value(QStringLiteral("Get Objects"), true).toBool();
+ decompileObjects = settings.value(QStringLiteral("Decompile Objects"), true).toBool();
+ decompilationFilePath = settings.value(QStringLiteral("Decompilation Files Paths"), QString()).toString();
+ ignoreNamedObjects = settings.value(QStringLiteral("Ignore Named Objects"), false).toBool();
+ objectsPath = settings.value(QStringLiteral("Objects Path"), QString()).toString();
+ testObjects = settings.value(QStringLiteral("Test Objects"), false).toBool();
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Run"));
+ runTime = settings.value(QStringLiteral("Run Time"), 1080).toInt();
+ probeLevel = settings.value(QStringLiteral("Probe Level"), 2).toInt();
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Models"));
+ getModels = settings.value(QStringLiteral("Get Models"), false).toBool();
+ decompileModels = settings.value(QStringLiteral("Decompile Models"), false).toBool();
+ ignoreNamedModels = settings.value(QStringLiteral("Ignore Named Models"), true).toBool();
+ modelsPath = settings.value(QStringLiteral("Models Path"), QString()).toString();
+ testModels = settings.value(QStringLiteral("Test Models"), false).toBool();
+ settings.endGroup();
+}
+
+void ReplicodeSettings::save()
+{
+ QSettings settings(QStringLiteral("replicode"), QStringLiteral("replicode"));
+
+ settings.beginGroup(QStringLiteral("Load"));
+ settings.setValue(QStringLiteral("User Operator Module Path"), userOperatorPath);
+ settings.setValue(QStringLiteral("User Class File Path"), userClassPath);
+ settings.setValue(QStringLiteral("Source File Path"), sourcePath);
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Init"));
+ settings.setValue(QStringLiteral("Base Period"), basePeriod);
+ settings.setValue(QStringLiteral("Reduction Core Count"), reductionCoreCount);
+ settings.setValue(QStringLiteral("Time Core Count"), timeCoreCount);
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("System"));
+ settings.setValue(QStringLiteral("Model Inertia Success Rate Threshold"), mdlInertiaSuccessRateThreshold);
+ settings.setValue(QStringLiteral("Model Inertia Count Threshold"), mdlInertiaCountThreshold);
+ settings.setValue(QStringLiteral("Targeted Pattern Extractor Delta Success Rate Threshold"), tpxDeltaSuccessRateThreshold);
+ settings.setValue(QStringLiteral("Minimum Simulation Time Horizon"), minimumSimulationTimeHorizon);
+ settings.setValue(QStringLiteral("Maximum Simulation Time Horizon"), maximumSimulationTimeHorizon);
+ settings.setValue(QStringLiteral("Simulation Time Horizon"), simulationTimeHorizon);
+ settings.setValue(QStringLiteral("Targeted Pattern Extractor Time Horizon"), tpxTimehorizon);
+ settings.setValue(QStringLiteral("Perf Sampling Period"), perfSamplingPeriod);
+ settings.setValue(QStringLiteral("Float Tolerance"), floatTolerance);
+ settings.setValue(QStringLiteral("Timer Tolerance"), timeTolerance);
+ settings.setValue(QStringLiteral("Primary Time Horizon"), primaryTimeHorizon);
+ settings.setValue(QStringLiteral("Secondary Time Horizon"), secondaryTimeHorizon);
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Debug"));
+ settings.setValue(QStringLiteral("Debug"), debug);
+ settings.setValue(QStringLiteral("Debug Windows"), debugWindows);
+ settings.setValue(QStringLiteral("Trace Levels"), QString::number(traceLevels, 16));
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Resilience"));
+ settings.setValue(QStringLiteral("Notification Marker Resilience"), notificationMarkerResilience);
+ settings.setValue(QStringLiteral("Goal Prediction Success Resilience"), goalPredictionSuccessResilience);
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Objects"));
+ settings.setValue(QStringLiteral("Get Objects"), getObjects);
+ settings.setValue(QStringLiteral("Decompile Objects"), decompileObjects);
+ settings.setValue(QStringLiteral("Decompilation Files Paths"), decompilationFilePath);
+ settings.setValue(QStringLiteral("Ignore Named Objects"), ignoreNamedObjects);
+ settings.setValue(QStringLiteral("Objects Path"), objectsPath);
+ settings.setValue(QStringLiteral("Test Objects"), testObjects);
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Run"));
+ settings.setValue(QStringLiteral("Run Time"), runTime);
+ settings.setValue(QStringLiteral("Probe Level"), probeLevel);
+ settings.endGroup();
+
+ settings.beginGroup(QStringLiteral("Models"));
+ settings.setValue(QStringLiteral("Get Models"), getModels);
+ settings.setValue(QStringLiteral("Decompile Models"), decompileModels);
+ settings.setValue(QStringLiteral("Ignore Named Models"), ignoreNamedModels);
+ settings.setValue(QStringLiteral("Models Path"), modelsPath);
+ settings.setValue(QStringLiteral("Test Models"), testModels);
+}
+
+void ReplicodeSettings::setDefaults()
+{
+ // Load
+ userOperatorPath = QString();
+ userClassPath = QString();
+ sourcePath = QString();
+
+ // Init
+ basePeriod = 50000;
+ reductionCoreCount = 6;
+ timeCoreCount = 2;
+
+ // System
+ mdlInertiaSuccessRateThreshold = 0.9;
+ mdlInertiaCountThreshold = 6;
+ tpxDeltaSuccessRateThreshold = 0.1;
+ minimumSimulationTimeHorizon = 0;
+ maximumSimulationTimeHorizon = 0;
+ simulationTimeHorizon = 0.3;
+ tpxTimehorizon = 500000;
+ perfSamplingPeriod = 250000;
+ floatTolerance = 0.00001;
+ timeTolerance = 10000;
+ primaryTimeHorizon = 3600000;
+ secondaryTimeHorizon = 7200000;
+
+ //Debug
+ debug = true;
+ debugWindows = 1;
+ traceLevels = 0xCC;
+
+ // Debug Resilience
+ notificationMarkerResilience = 1;
+ goalPredictionSuccessResilience = 1000;
+
+ // Debug Objects
+ getObjects = true;
+ decompileObjects = true;
+ decompilationFilePath = QString();
+ ignoreNamedObjects = false;
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/replicodesettings.h
^
|
@@ -0,0 +1,97 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Martin Sandsmark <martin.sandsmark@kde.org>
+
+ 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., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef REPLICODESETTINGS_H
+#define REPLICODESETTINGS_H
+
+#include <QObject>
+
+class QIODevice;
+
+class ReplicodeSettings : public QObject
+{
+ Q_OBJECT
+public:
+ explicit ReplicodeSettings(QObject *parent = 0);
+ void load();
+ void save();
+ void setDefaults();
+
+ ///////
+ // Load
+ QString userOperatorPath;
+ QString userClassPath;
+ QString sourcePath;
+
+ ///////
+ // Init
+ int basePeriod;
+ int reductionCoreCount;
+ int timeCoreCount;
+
+ /////////
+ // System
+ int perfSamplingPeriod;
+ float floatTolerance;
+ int timeTolerance;
+ int primaryTimeHorizon;
+ int secondaryTimeHorizon;
+
+ // Model
+ float mdlInertiaSuccessRateThreshold;
+ int mdlInertiaCountThreshold;
+
+ // Targeted Pattern Extractor
+ float tpxDeltaSuccessRateThreshold;
+ int tpxTimehorizon;
+
+ // Simulation
+ int minimumSimulationTimeHorizon;
+ int maximumSimulationTimeHorizon;
+ float simulationTimeHorizon;
+
+ ////////
+ // Debug
+ bool debug;
+ int notificationMarkerResilience;
+ int goalPredictionSuccessResilience;
+ int debugWindows;
+ int traceLevels;
+
+ bool getObjects;
+ bool decompileObjects;
+ QString decompilationFilePath;
+ bool ignoreNamedObjects;
+ QString objectsPath;
+ bool testObjects;
+
+ //////
+ // Run
+ int runTime;
+ int probeLevel;
+
+ bool getModels;
+ bool decompileModels;
+ bool ignoreNamedModels;
+ QString modelsPath;
+ bool testModels;
+
+};
+
+#endif // REPLICODESETTINGS_H
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/replicodeview.cpp
^
|
@@ -0,0 +1,234 @@
+#include "replicodeview.h"
+
+
+#include <QtGlobal>
+#include <QProcess>
+#include <QTemporaryFile>
+#include <QPushButton>
+#include "replicodesettings.h"
+#include "replicodeconfig.h"
+
+#include <KXMLGUIFactory>
+#include <klocalizedstring.h>
+
+#include <QAction>
+#include <QDebug>
+#include <QFileInfo>
+#include <QFormLayout>
+#include <QListWidget>
+#include <QLocale>
+#include <QMessageBox>
+#include <QVBoxLayout>
+
+#include <KSharedConfig>
+#include <KAboutData>
+#include <KActionCollection>
+#include <KConfigGroup>
+#include <KIconLoader>
+#include <KTextEditor/Document>
+#include <KTextEditor/MainWindow>
+#include <KTextEditor/View>
+
+ReplicodeView::ReplicodeView(KTextEditor::Plugin *plugin, KTextEditor::MainWindow* mainWindow) :
+ QObject(mainWindow),
+ m_mainWindow(mainWindow),
+ m_executor(0)
+{
+ m_runAction = new QAction(QIcon(QStringLiteral("code-block")), i18n("Run replicode"), this);
+ actionCollection()->setDefaultShortcut(m_runAction, Qt::Key_F8);
+ connect(m_runAction, SIGNAL(triggered()), SLOT(runReplicode()));
+ actionCollection()->addAction(QStringLiteral("katereplicode_run"), m_runAction);
+
+ m_stopAction = new QAction(QIcon(QStringLiteral("process-stop")), i18n("Stop replicode"), this);
+ actionCollection()->setDefaultShortcut(m_stopAction, Qt::Key_F9);
+ connect(m_stopAction, SIGNAL(triggered()), SLOT(stopReplicode()));
+ actionCollection()->addAction(QStringLiteral("katereplicode_stop"), m_stopAction);
+ m_stopAction->setEnabled(false);
+
+ m_toolview = m_mainWindow->createToolView(
+ plugin,
+ QStringLiteral("kate_private_plugin_katereplicodeplugin_run"),
+ KTextEditor::MainWindow::Bottom,
+ SmallIcon(QStringLiteral("code-block")),
+ i18n("Replicode Output"));
+ m_replicodeOutput = new QListWidget(m_toolview);
+ m_replicodeOutput->setSelectionMode(QAbstractItemView::ContiguousSelection);
+ connect(m_replicodeOutput, SIGNAL(itemActivated(QListWidgetItem*)), SLOT(outputClicked(QListWidgetItem*)));
+ m_mainWindow->hideToolView(m_toolview);
+
+ m_configSidebar = m_mainWindow->createToolView(
+ plugin,
+ QStringLiteral("kate_private_plugin_katereplicodeplugin_config")
+ , KTextEditor::MainWindow::Right,
+ SmallIcon(QStringLiteral("code-block")),
+ i18n("Replicode Config"));
+ m_configView = new ReplicodeConfig(m_configSidebar);
+
+ m_runButton = new QPushButton(i18nc("shortcut for action", "Run (%1)", m_runAction->shortcut().toString()));
+ m_stopButton = new QPushButton(i18nc("shortcut for action", "Stop (%1)", m_stopAction->shortcut().toString()));
+ m_stopButton->setEnabled(false);
+
+ QFormLayout *l = qobject_cast<QFormLayout*>(m_configView->widget(0)->layout());
+ Q_ASSERT(l);
+ l->addRow(m_runButton, m_stopButton);
+ connect(m_runButton, SIGNAL(clicked()), m_runAction, SLOT(trigger()));
+ connect(m_stopButton, SIGNAL(clicked()), m_stopAction, SLOT(trigger()));
+
+ m_mainWindow->guiFactory()->addClient(this);
+ connect(m_mainWindow, SIGNAL(viewChanged(KTextEditor::View*)), SLOT(viewChanged()));
+}
+
+ReplicodeView::~ReplicodeView()
+{
+ m_mainWindow->guiFactory()->removeClient(this);
+ delete m_executor;
+}
+
+void ReplicodeView::viewChanged()
+{
+ if (m_mainWindow->activeView() && m_mainWindow->activeView()->document() && m_mainWindow->activeView()->document()->url().fileName().endsWith(QStringLiteral(".replicode"))) {
+ m_mainWindow->showToolView(m_configSidebar);
+ } else {
+ m_mainWindow->hideToolView(m_configSidebar);
+ m_mainWindow->hideToolView(m_toolview);
+ }
+}
+
+void ReplicodeView::runReplicode()
+{
+ m_mainWindow->showToolView(m_toolview);
+ KTextEditor::View *editor = m_mainWindow->activeView();
+ if (!editor || !editor->document()) {
+ QMessageBox::warning(m_mainWindow->window(), i18n("Unable to find active file"), i18n("Can't find active file to run!"));
+ return;
+ }
+
+ if (editor->document()->isEmpty()) {
+ QMessageBox::warning(m_mainWindow->window(), i18n("Empty document"), i18n("Can't execute an empty document"));
+ return;
+ }
+
+ QFileInfo sourceFile = QFileInfo(editor->document()->url().toLocalFile());
+
+ if (!sourceFile.isReadable()) {
+ QMessageBox::warning(m_mainWindow->window(), i18n("No file"), i18n("Unable to open source file for reading."));
+ return;
+ }
+
+ KConfigGroup config(KSharedConfig::openConfig(), QStringLiteral("Replicode"));
+ QString executorPath = config.readEntry<QString>("replicodePath", QString());
+ if (executorPath.isEmpty()) {
+ QMessageBox::warning(m_mainWindow->window(), i18n("Can't find replicode executor"), i18n("Unable to find replicode executor.\nPlease go to settings and set the path to the Replicode executor."));
+ return;
+ }
+
+ if (m_configView->settingsObject()->userOperatorPath.isEmpty()) {
+ QMessageBox::warning(m_mainWindow->window(), i18n("Can't find user operator library"), i18n("Unable to find user operator library.\nPlease go to settings and set the path to the library."));
+ }
+
+ m_configView->settingsObject()->sourcePath = editor->document()->url().toLocalFile();
+ m_configView->load();
+ m_configView->settingsObject()->save();
+
+ m_replicodeOutput->clear();
+
+ if (m_executor) delete m_executor;
+ m_executor = new QProcess(this);
+ m_executor->setWorkingDirectory(sourceFile.canonicalPath());
+ connect(m_executor, SIGNAL(readyReadStandardError()), SLOT(gotStderr()));
+ connect(m_executor, SIGNAL(readyReadStandardOutput()), SLOT(gotStdout()));
+ connect(m_executor, SIGNAL(finished(int)), SLOT(replicodeFinished()));
+ connect(m_executor, SIGNAL(error(QProcess::ProcessError)), SLOT(runErrored(QProcess::ProcessError)));
+ qDebug() << executorPath << sourceFile.canonicalPath();
+ m_completed = false;
+ m_executor->start(executorPath, QStringList(), QProcess::ReadOnly);
+
+ m_runAction->setEnabled(false);
+ m_runButton->setEnabled(false);
+ m_stopAction->setEnabled(true);
+ m_stopButton->setEnabled(true);
+}
+
+void ReplicodeView::stopReplicode()
+{
+ if (m_executor) {
+ m_executor->kill();
+ }
+}
+
+void ReplicodeView::outputClicked(QListWidgetItem *item)
+{
+ QString output = item->text();
+ QStringList pieces = output.split(QLatin1Char(':'));
+
+ if (pieces.length() < 2) return;
+
+ QFileInfo file(pieces[0]);
+ if (!file.isReadable()) return;
+
+ bool ok = false;
+ int lineNumber = pieces[1].toInt(&ok);
+ qDebug() << lineNumber;
+ if (!ok) return;
+
+ KTextEditor::View *doc = m_mainWindow->openUrl(QUrl::fromLocalFile(pieces[0]));
+ doc->setCursorPosition(KTextEditor::Cursor(lineNumber, 0));
+ qDebug() << doc->cursorPosition().line();
+}
+
+void ReplicodeView::runErrored(QProcess::ProcessError error)
+{
+ Q_UNUSED(error);
+ QListWidgetItem *item = new QListWidgetItem(i18n("Replicode execution failed: %1", m_executor->errorString()));
+ item->setForeground(Qt::red);
+ m_replicodeOutput->addItem(item);
+ m_replicodeOutput->scrollToBottom();
+ m_completed = true;
+}
+
+void ReplicodeView::replicodeFinished()
+{
+ if (!m_completed) {
+ QListWidgetItem *item = new QListWidgetItem(i18n("Replicode execution finished!"));
+ item->setForeground(Qt::blue);
+ m_replicodeOutput->addItem(item);
+ m_replicodeOutput->scrollToBottom();
+ }
+
+ m_runAction->setEnabled(true);
+ m_runButton->setEnabled(true);
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/replicodeview.h
^
|
@@ -0,0 +1,72 @@
+/* This file is part of the KDE project
+ Copyright (C) 2014 Martin Sandsmark <martin.sandsmark@kde.org>
+
+ 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., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef REPLICODEVIEW_H
+#define REPLICODEVIEW_H
+
+#include <QProcess>
+#include <KXMLGUIClient>
+#include <KTextEditor/Plugin>
+#include <KTextEditor/SessionConfigInterface>
+
+class QListWidgetItem;
+class QListWidget;
+class QTemporaryFile;
+class QProcess;
+class QListWidget;
+class QPushButton;
+class QAction;
+class ReplicodeConfig;
+
+class ReplicodeView : public QObject, public KXMLGUIClient, public KTextEditor::SessionConfigInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(KTextEditor::SessionConfigInterface)
+
+ public:
+ explicit ReplicodeView(KTextEditor::Plugin *plugin, KTextEditor::MainWindow *mainWindow);
+ ~ReplicodeView();
+ void readSessionConfig(const KConfigGroup&) {}
+ void writeSessionConfig(KConfigGroup&) {}
+
+ private Q_SLOTS:
+ void runReplicode();
+ void stopReplicode();
+ void replicodeFinished();
+ void gotStderr();
+ void gotStdout();
+ void runErrored(QProcess::ProcessError);
+ void outputClicked(QListWidgetItem *item);
+ void viewChanged();
+
+ private:
+ KTextEditor::MainWindow *m_mainWindow;
+ QProcess *m_executor;
+ QListWidget *m_replicodeOutput;
+ QWidget *m_toolview;
+ QWidget *m_configSidebar;
+ QPushButton *m_runButton;
+ QPushButton *m_stopButton;
+ QAction *m_runAction;
+ QAction *m_stopAction;
+ ReplicodeConfig *m_configView;
+ bool m_completed;
+};
+
+#endif
|
[-]
[+]
|
Added |
kate-5.0.0+git1.tar.xz/addons/replicode/ui.rc
^
|
@@ -0,0 +1,10 @@
+<!DOCTYPE kpartgui>
+<gui name="katereplicode-plugin" library="katereplicodeplugin" version="7">
+<MenuBar>
+ <Menu name="projects"><Text>&Projects</Text>
+ <Separator />
+ <Action name="katereplicode_run" />
+ <Action name="katereplicode_stop" />
+ </Menu>
+</MenuBar>
+</gui>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/search/FolderFilesList.cpp
^
|
@@ -24,6 +24,8 @@
#include <QFileInfo>
#include <QFileInfoList>
#include <QDebug>
+#include <QMimeDatabase>
+#include <QMimeType>
FolderFilesList::FolderFilesList(QObject *parent) : QThread(parent) {}
@@ -87,8 +89,11 @@
return;
}
if (item.isFile()) {
- if (!m_binary && false /* KMimeType::isBinaryData(item.absoluteFilePath()) FIXME KF5 */) {
- return;
+ if (!m_binary) {
+ QMimeType mimeType = QMimeDatabase().mimeTypeForFile(item);
+ if (!mimeType.inherits(QStringLiteral("text/plain"))) {
+ return;
+ }
}
m_files << item.absoluteFilePath();
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/search/plugin_search.cpp
^
|
@@ -40,7 +40,6 @@
#include <kurlcompletion.h>
#include <klineedit.h>
#include <kcolorscheme.h>
-#include <kiconloader.h>
#include <KXMLGUIFactory>
#include <KConfigGroup>
@@ -89,7 +88,7 @@
TreeWidgetItem(QTreeWidget* parent, const QStringList &list):QTreeWidgetItem(parent, list){}
TreeWidgetItem(QTreeWidgetItem* parent, const QStringList &list):QTreeWidgetItem(parent, list){}
private:
- bool operator<(const QTreeWidgetItem &other)const {
+ bool operator<(const QTreeWidgetItem &other) const Q_DECL_OVERRIDE {
if (childCount() == 0) {
int line = data(0, ReplaceMatches::LineRole).toInt();
int column = data(0, ReplaceMatches::ColumnRole).toInt();
@@ -231,7 +230,7 @@
m_toolView = mainWin->createToolView (plugin, QStringLiteral("kate_plugin_katesearch"),
KTextEditor::MainWindow::Bottom,
- SmallIcon(QStringLiteral("edit-find")),
+ QIcon::fromTheme(QStringLiteral("edit-find")),
i18n("Search and Replace"));
ContainerWidget *container = new ContainerWidget(m_toolView);
@@ -260,14 +259,14 @@
m_ui.resultTabWidget->tabBar()->setSelectionBehaviorOnRemove(QTabBar::SelectLeftTab);
KAcceleratorManager::setNoAccel(m_ui.resultTabWidget);
- m_ui.displayOptions->setIcon(SmallIcon(QStringLiteral("arrow-down-double")));
- m_ui.searchButton->setIcon(SmallIcon(QStringLiteral("edit-find")));
- m_ui.stopButton->setIcon(SmallIcon(QStringLiteral("process-stop")));
- m_ui.searchPlaceCombo->setItemIcon(0, SmallIcon(QStringLiteral("text-plain")));
- m_ui.searchPlaceCombo->setItemIcon(1, SmallIcon(QStringLiteral("folder")));
- m_ui.folderUpButton->setIcon(SmallIcon(QStringLiteral("go-up")));
- m_ui.currentFolderButton->setIcon(SmallIcon(QStringLiteral("view-refresh")));
- m_ui.newTabButton->setIcon(SmallIcon(QStringLiteral("tab-new")));
+ m_ui.displayOptions->setIcon(QIcon::fromTheme(QStringLiteral("arrow-down-double")));
+ m_ui.searchButton->setIcon(QIcon::fromTheme(QStringLiteral("edit-find")));
+ m_ui.stopButton->setIcon(QIcon::fromTheme(QStringLiteral("process-stop")));
+ m_ui.searchPlaceCombo->setItemIcon(0, QIcon::fromTheme(QStringLiteral("text-plain")));
+ m_ui.searchPlaceCombo->setItemIcon(1, QIcon::fromTheme(QStringLiteral("folder")));
+ m_ui.folderUpButton->setIcon(QIcon::fromTheme(QStringLiteral("go-up")));
+ m_ui.currentFolderButton->setIcon(QIcon::fromTheme(QStringLiteral("view-refresh")));
+ m_ui.newTabButton->setIcon(QIcon::fromTheme(QStringLiteral("tab-new")));
m_ui.filterCombo->setToolTip(i18n("Comma separated list of file types to search in. Example: \"*.cpp,*.h\"\n"));
m_ui.excludeCombo->setToolTip(i18n("Comma separated list of files and directories to exclude from the search. Example: \"build*\""));
@@ -491,13 +490,18 @@
QKeyEvent *k = static_cast<QKeyEvent *>(e);
if (k->key() == Qt::Key_Escape && k->modifiers() == Qt::NoModifier) {
-
- if (m_toolView->isVisible()) {
- m_mainWindow->hideToolView(m_toolView);
+ static ulong lastTimeStamp;
+ if (lastTimeStamp == k->timestamp()) {
+ // Same as previous... This looks like a bug somewhere...
+ return;
}
- else {
+ lastTimeStamp = k->timestamp();
+ if (!m_matchRanges.isEmpty()) {
clearMarks();
}
+ else if (m_toolView->isVisible()) {
+ m_mainWindow->hideToolView(m_toolView);
+ }
}
}
@@ -587,7 +591,7 @@
QList<KTextEditor::Document*> openList;
for (int i=0; i<m_kateApp->documents().size(); i++) {
- int index = fileList.indexOf(m_kateApp->documents()[i]->url().toString());
+ int index = fileList.indexOf(m_kateApp->documents()[i]->url().toLocalFile());
if (index != -1) {
openList << m_kateApp->documents()[i];
fileList.removeAt(index);
@@ -1670,11 +1674,7 @@
}
}
}
- if ((obj == m_toolView) && (ke->key() == Qt::Key_Escape)) {
- m_mainWindow->hideToolView(m_toolView);
- event->accept();
- return true;
- }
+ // NOTE: Qt::Key_Escape is handeled by handleEsc
}
return QObject::eventFilter(obj, event);
}
@@ -1690,7 +1690,7 @@
QMenu* menu = contextMenu->addMenu(i18n("Add..."));
if (!menu) return;
- menu->setIcon(SmallIcon(QStringLiteral("list-add")));
+ menu->setIcon(QIcon::fromTheme(QStringLiteral("list-add")));
actionPointers << menuEntry(menu, QStringLiteral("^"), QStringLiteral(""), i18n("Beginning of line"));
actionPointers << menuEntry(menu, QStringLiteral("$"), QStringLiteral(""), i18n("End of line"));
@@ -1767,7 +1767,7 @@
if (!projectFileName.isEmpty()) {
if (m_ui.searchPlaceCombo->count() < 3) {
// add "in Project"
- m_ui.searchPlaceCombo->addItem (SmallIcon(QStringLiteral("project-open")), i18n("Current Project"));
+ m_ui.searchPlaceCombo->addItem (QIcon::fromTheme(QStringLiteral("project-open")), i18n("Current Project"));
if (m_switchToProjectModeWhenAvailable) {
// switch to search "in Project"
m_switchToProjectModeWhenAvailable = false;
@@ -1775,7 +1775,7 @@
}
// add "in Open Projects"
- m_ui.searchPlaceCombo->addItem(SmallIcon(QStringLiteral("project-open")), i18n("All Open Projects"));
+ m_ui.searchPlaceCombo->addItem(QIcon::fromTheme(QStringLiteral("project-open")), i18n("All Open Projects"));
}
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/sessionapplet/CMakeLists.txt
^
|
@@ -1,4 +1,6 @@
project(katesessionapplet)
+add_definitions(-DTRANSLATION_DOMAIN=\"plasma_applet_org.kde.plasma.katesessions\")
+
plasma_install_package(applet org.kde.plasma.katesessions)
add_subdirectory(engine)
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/sessionapplet/applet/contents/ui/katesessions.qml
^
|
@@ -159,9 +159,9 @@
onRemove: clipboardSource.service(uuid, "remove")
onNewSession:clipboardSource.newSession(sessionName)
}
- NewSessionDialog {
- id: newsessiondialog
- }
+ //NewSessionDialog {
+ // id: newsessiondialog
+ //}
}
}
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/sessionapplet/applet/metadata.desktop
^
|
@@ -1,60 +1,25 @@
[Desktop Entry]
-Name=Kate Session Applet
-Name[ast]=Miniaplicación de sesiones de Kate
-Name[bg]=Сесии на Kate
-Name[bs]=Programčić Kate sesije
-Name[ca]=Miniaplicació de sessió del Kate
-Name[ca@valencia]=Miniaplicació de sessió del Kate
-Name[cs]=Applet sezení Kate
-Name[da]=Panelprogram til Kate-session
-Name[de]=Kate-Sitzungsverwaltung
-Name[el]=Μικροεφαρμογή συνεδρίας Kate
-Name[en_GB]=Kate Session Applet
-Name[es]=Miniaplicación de sesiones de Kate
-Name[et]=Kate seansi aplett
-Name[eu]=Kate saioaren miniaplikazioa
-Name[fi]=Kate-istuntosovelma
-Name[fr]=Applet de sessions pour Kate
-Name[ga]=Feidhmchláirín Seisiúin Kate
-Name[gl]=Applet de sesións de Kate
-Name[he]=יישומון הפעלות של Kate
-Name[hu]=Kate munkamenet-menü
-Name[ia]=Applet de session de Kate
-Name[it]=Applet di sessioni di Kate
-Name[ja]=Kate セッションアプレット
-Name[kk]=Kate сеанс апплеті
-Name[km]=អាប់ភ្លេតសម័យ Kate
-Name[ko]=Kate 세션 애플릿
-Name[lt]=Kate sesijų programėlė
-Name[lv]=Kate sesiju sīklietotne
-Name[mr]=केट सत्र एप्लेट
-Name[nb]=Kate øktvelger
-Name[nds]=Kate-Törnlüttprogramm
-Name[nl]=Kate sessieapplet
+Name=Kate Sessions
+Name[ca]=Sessions del Kate
+Name[de]=Kate-Sitzungen
+Name[en_GB]=Kate Sessions
+Name[gl]=Sesións de Kate
+Name[ko]=Kate 세션
+Name[nl]=Kate-sessies
Name[nn]=Kate-øktveljar
-Name[pa]=ਕੇਟ ਸ਼ੈਸ਼ਨ ਐਪਲਿਟ
-Name[pl]=Aplet sesji Kate
-Name[pt]='Applet' de Sessões do Kate
-Name[pt_BR]=Miniaplicativo de sessões do Kate
-Name[ro]=Miniaplicație de sesiune Kate
-Name[ru]=Kate: сеансы
-Name[si]=Kate වාර ඇප්ලටය
-Name[sk]=Applet Kate sedenia
-Name[sl]=Aplet sej za Kate
+Name[pl]=Sesje Kate
+Name[pt]=Sessões do Kate
+Name[pt_BR]=Sessões do Kate
+Name[sk]=Sedenia Kate
+Name[sl]=Seje programa Kate
Name[sr]=Кејтине сесије
Name[sr@ijekavian]=Кејтине сесије
Name[sr@ijekavianlatin]=Kateine sesije
Name[sr@latin]=Kateine sesije
-Name[sv]=Kate sessionsminiprogram
-Name[tg]=Барномаи мониторинги Кейт
-Name[tr]=Kate Oturum Programcığı
-Name[ug]=Kate ئەڭگىمە قوللانچاق
-Name[uk]=Аплет сеансів Kate
-Name[x-test]=xxKate Session Appletxx
-Name[zh_CN]=Kate 会话小程序
-Name[zh_TW]=Kate 工作階段小程式
+Name[sv]=Kate-sessioner
+Name[uk]=Сеанси Kate
+Name[x-test]=xxKate Sessionsxx
Comment=Kate Session Launcher
-Comment[ast]=Llanzador de sesiones de Kate
Comment[bg]=Зареждане на сесии на Kate
Comment[bs]=Pokretač Kate sesija
Comment[ca]=Llançador de la sessió del Kate
@@ -88,7 +53,7 @@
Comment[nl]=Kate sessiestarter
Comment[nn]=Start Kate-økter
Comment[pa]=ਕੇਟ ਸ਼ੈਸ਼ਨ ਲਾਂਚਰ
-Comment[pl]=Program uruchamiający sesję Kate
+Comment[pl]=Uruchamia sesję Kate
Comment[pt]=Lançador de Sessões do Kate
Comment[pt_BR]=Lançamento de sessões do Kate
Comment[ro]=Lansator de sesiuni Kate
@@ -124,4 +89,3 @@
X-KDE-PluginInfo-Category=Utilities
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL
-X-KDE-PluginInfo-EnabledByDefault=true
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/sessionapplet/engine/CMakeLists.txt
^
|
@@ -1,7 +1,7 @@
# Plasma Data Engine
set(plasma_engine_katesessions_SRCS katesessionsengine.cpp katesessionsmodel.cpp katesessionsjob.cpp katesessionsservice.cpp)
add_library(plasma_engine_katesessions MODULE ${plasma_engine_katesessions_SRCS})
-kservice_desktop_to_json(plasma_engine_katesessions plasma-dataengine-katesessions.desktop)
+kcoreaddons_desktop_to_json(plasma_engine_katesessions plasma-dataengine-katesessions.desktop)
target_link_libraries(plasma_engine_katesessions
# Qt5::DBus
Qt5::Widgets # QAction
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/sessionapplet/engine/katesessionsmodel.cpp
^
|
@@ -23,7 +23,6 @@
#include <QTreeView>
#include <QVBoxLayout>
#include <QGraphicsGridLayout>
-#include <KIconLoader>
#include <QGraphicsProxyWidget>
#include <QListWidgetItem>
#include <QStandardItemModel>
@@ -130,4 +129,3 @@
return hash;
}
-#include "katesessionsmodel.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/sessionapplet/engine/plasma-dataengine-katesessions.desktop
^
|
@@ -1,60 +1,25 @@
[Desktop Entry]
-Name=Kate Session Applet
-Name[ast]=Miniaplicación de sesiones de Kate
-Name[bg]=Сесии на Kate
-Name[bs]=Programčić Kate sesije
-Name[ca]=Miniaplicació de sessió del Kate
-Name[ca@valencia]=Miniaplicació de sessió del Kate
-Name[cs]=Applet sezení Kate
-Name[da]=Panelprogram til Kate-session
-Name[de]=Kate-Sitzungsverwaltung
-Name[el]=Μικροεφαρμογή συνεδρίας Kate
-Name[en_GB]=Kate Session Applet
-Name[es]=Miniaplicación de sesiones de Kate
-Name[et]=Kate seansi aplett
-Name[eu]=Kate saioaren miniaplikazioa
-Name[fi]=Kate-istuntosovelma
-Name[fr]=Applet de sessions pour Kate
-Name[ga]=Feidhmchláirín Seisiúin Kate
-Name[gl]=Applet de sesións de Kate
-Name[he]=יישומון הפעלות של Kate
-Name[hu]=Kate munkamenet-menü
-Name[ia]=Applet de session de Kate
-Name[it]=Applet di sessioni di Kate
-Name[ja]=Kate セッションアプレット
-Name[kk]=Kate сеанс апплеті
-Name[km]=អាប់ភ្លេតសម័យ Kate
-Name[ko]=Kate 세션 애플릿
-Name[lt]=Kate sesijų programėlė
-Name[lv]=Kate sesiju sīklietotne
-Name[mr]=केट सत्र एप्लेट
-Name[nb]=Kate øktvelger
-Name[nds]=Kate-Törnlüttprogramm
-Name[nl]=Kate sessieapplet
+Name=Kate Sessions
+Name[ca]=Sessions del Kate
+Name[de]=Kate-Sitzungen
+Name[en_GB]=Kate Sessions
+Name[gl]=Sesións de Kate
+Name[ko]=Kate 세션
+Name[nl]=Kate-sessies
Name[nn]=Kate-øktveljar
-Name[pa]=ਕੇਟ ਸ਼ੈਸ਼ਨ ਐਪਲਿਟ
-Name[pl]=Aplet sesji Kate
-Name[pt]='Applet' de Sessões do Kate
-Name[pt_BR]=Miniaplicativo de sessões do Kate
-Name[ro]=Miniaplicație de sesiune Kate
-Name[ru]=Kate: сеансы
-Name[si]=Kate වාර ඇප්ලටය
-Name[sk]=Applet Kate sedenia
-Name[sl]=Aplet sej za Kate
+Name[pl]=Sesje Kate
+Name[pt]=Sessões do Kate
+Name[pt_BR]=Sessões do Kate
+Name[sk]=Sedenia Kate
+Name[sl]=Seje programa Kate
Name[sr]=Кејтине сесије
Name[sr@ijekavian]=Кејтине сесије
Name[sr@ijekavianlatin]=Kateine sesije
Name[sr@latin]=Kateine sesije
-Name[sv]=Kate sessionsminiprogram
-Name[tg]=Барномаи мониторинги Кейт
-Name[tr]=Kate Oturum Programcığı
-Name[ug]=Kate ئەڭگىمە قوللانچاق
-Name[uk]=Аплет сеансів Kate
-Name[x-test]=xxKate Session Appletxx
-Name[zh_CN]=Kate 会话小程序
-Name[zh_TW]=Kate 工作階段小程式
+Name[sv]=Kate-sessioner
+Name[uk]=Сеанси Kate
+Name[x-test]=xxKate Sessionsxx
Comment=Kate Session Launcher
-Comment[ast]=Llanzador de sesiones de Kate
Comment[bg]=Зареждане на сесии на Kate
Comment[bs]=Pokretač Kate sesija
Comment[ca]=Llançador de la sessió del Kate
@@ -88,7 +53,7 @@
Comment[nl]=Kate sessiestarter
Comment[nn]=Start Kate-økter
Comment[pa]=ਕੇਟ ਸ਼ੈਸ਼ਨ ਲਾਂਚਰ
-Comment[pl]=Program uruchamiający sesję Kate
+Comment[pl]=Uruchamia sesję Kate
Comment[pt]=Lançador de Sessões do Kate
Comment[pt_BR]=Lançamento de sessões do Kate
Comment[ro]=Lansator de sesiuni Kate
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/snippets/CMakeLists.txt
^
|
@@ -1,9 +1,6 @@
project (katesnippets)
add_definitions(-DTRANSLATION_DOMAIN=\"katesnippetsplugin\")
-# Load the frameworks we need
-find_package(KF5 REQUIRED COMPONENTS NewStuff)
-
########### next target ###############
set(katesnippetsplugin_PART_SRCS katesnippets.cpp
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/snippets/editsnippet.cpp
^
|
@@ -206,4 +206,3 @@
m_topBoxModified = true;
}
-#include "editsnippet.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/snippets/editsnippet.ui
^
|
@@ -65,7 +65,7 @@
<item>
<widget class="QLabel" name="snippetLabel">
<property name="text">
- <string><html><head/><body><p>The text your snippet will insert into the document. <a href="A snippet can contain editable fields. They can be cycled by pressing Tab. The following expressions can be used in the template text to create fields: &lt;br&gt;&lt;tt&gt;${field_name}&lt;/tt&gt; creates a simple, editable field. All subsequent occurences of the same field_name create fields which mirror the contents of the first during editing.&lt;br&gt;&lt;tt&gt;${field_name=default}&lt;/tt&gt; can be used to specify a default value for the field. &lt;tt&gt;default&lt;/tt&gt; can be any JavaScript expression.&lt;br&gt;Use &lt;tt&gt;${field_name=&quot;text&amp;quot;}&lt;/tt&gt; to specify a fixed string as default value.&lt;br&gt;&lt;tt&gt;${func(other_field1, other_field2, ...)}&lt;/tt&gt; can be used to create a field which evaluates a JavaScript function on each edit and contains its contents. See the &quot;Scripts&quot; tab for more information.&lt;br&gt;&lt;tt&gt;${cursor}&lt;/tt&gt; can be used to mark the end position of the cursor after everything else was filled in."><span style=" text-decoration: underline; color:#0000ff;">More...</span></a></p></body></html></string>
+ <string><html><head/><body><p>The text your snippet will insert into the document. <a href="A snippet can contain editable fields. They can be cycled by pressing Tab. The following expressions can be used in the template text to create fields: &lt;br&gt;&lt;tt&gt;${field_name}&lt;/tt&gt; creates a simple, editable field. All subsequent occurrences of the same field_name create fields which mirror the contents of the first during editing.&lt;br&gt;&lt;tt&gt;${field_name=default}&lt;/tt&gt; can be used to specify a default value for the field. &lt;tt&gt;default&lt;/tt&gt; can be any JavaScript expression.&lt;br&gt;Use &lt;tt&gt;${field_name=&quot;text&amp;quot;}&lt;/tt&gt; to specify a fixed string as default value.&lt;br&gt;&lt;tt&gt;${func(other_field1, other_field2, ...)}&lt;/tt&gt; can be used to create a field which evaluates a JavaScript function on each edit and contains its contents. See the &quot;Scripts&quot; tab for more information.&lt;br&gt;&lt;tt&gt;${cursor}&lt;/tt&gt; can be used to mark the end position of the cursor after everything else was filled in."><span style=" text-decoration: underline; color:#0000ff;">More...</span></a></p></body></html></string>
</property>
<property name="textFormat">
<enum>Qt::RichText</enum>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/snippets/katesnippets.cpp
^
|
@@ -28,7 +28,6 @@
#include <KActionCollection>
#include <KXMLGUIFactory>
-#include <KIconLoader>
#include <KToolBar>
#include <KLocalizedString>
#include <KPluginFactory>
@@ -62,7 +61,7 @@
// Toolview for snippets
m_toolView.reset(mainWindow->createToolView(0, QLatin1String("kate_private_plugin_katesnippetsplugin"),
KTextEditor::MainWindow::Right,
- SmallIcon(QLatin1String("document-new")),
+ QIcon::fromTheme(QLatin1String("document-new")),
i18n("Snippets")));
m_toolView->setLayout(new QHBoxLayout());
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/snippets/snippetcompletionmodel.cpp
^
|
@@ -186,4 +186,3 @@
}
-#include "snippetcompletionmodel.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/snippets/snippetrepository.cpp
^
|
@@ -404,4 +404,3 @@
QStandardItem::setData(value, role);
}
-#include "snippetrepository.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/snippets/snippetstore.cpp
^
|
@@ -131,4 +131,3 @@
}
-#include "snippetstore.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/snippets/snippetview.cpp
^
|
@@ -45,7 +45,7 @@
class SnippetFilterModel : public QSortFilterProxyModel {
public:
SnippetFilterModel(QObject* parent = 0) : QSortFilterProxyModel(parent) { };
- bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const {
+ bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const Q_DECL_OVERRIDE {
auto index = sourceModel()->index(sourceRow, 0, sourceParent);
auto item = SnippetStore::self()->itemFromIndex(index);
if ( ! item ) {
@@ -372,4 +372,3 @@
}
-#include "snippetview.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/symbolviewer/katesymbolviewerplugin.desktop
^
|
@@ -3,7 +3,6 @@
ServiceTypes=KTextEditor/Plugin
X-KDE-Library=katesymbolviewerplugin
Name=Symbol Viewer
-Name[ast]=Visor de símbolos
Name[bg]=Преглед на символи
Name[bs]=Prikazivač simbola
Name[ca]=Visor de símbols
@@ -58,7 +57,6 @@
Name[zh_CN]=符号查看器
Name[zh_TW]=符號檢視器
Comment=Extract and show reference symbols from source
-Comment[ast]=Estrayer y amosar símbolos de referencia del códigu fonte
Comment[bg]=Извличане и показване на символи, използвани в кода
Comment[bs]=Izvlači i prikazuje simbole iz izvora
Comment[ca]=Extreu i visualitza símbols de referència des del codi font
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/symbolviewer/plugin_katesymbolviewer.cpp
^
|
@@ -49,7 +49,6 @@
#include <kaboutdata.h>
#include <ktoggleaction.h>
#include <KActionCollection>
-#include <kiconloader.h>
#include <KXMLGUIFactory>
#include <KConfigGroup>
#include <KSharedConfig>
@@ -125,6 +124,7 @@
m_symbols = new QTreeWidget();
m_symbols->setLayoutDirection( Qt::LeftToRight );
layout->addWidget(m_symbols, 10);
+ layout->setContentsMargins(0,0,0,0);
connect(m_symbols, SIGNAL(itemActivated(QTreeWidgetItem*,int)), this, SLOT(goToSymbol(QTreeWidgetItem*)));
connect(m_symbols, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(slotShowContextMenu(QPoint)));
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/symbolviewer/plugin_katesymbolviewer.h
^
|
@@ -37,9 +37,6 @@
#include <klocalizedstring.h>
-//#include <kiconloader.h>
-//#include <kconfig.h>
-
/**
* Plugin's config page
*/
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/tabswitcher/tabswitcher.cpp
^
|
@@ -27,7 +27,6 @@
#include <KTextEditor/View>
#include <KActionCollection>
-#include <KIconLoader>
#include <KLocalizedString>
#include <KPluginFactory>
#include <KXMLGUIFactory>
@@ -129,8 +128,7 @@
static QIcon iconForDocument(KTextEditor::Document * doc)
{
- const QString iconName = QMimeDatabase().mimeTypeForUrl(doc->url()).iconName();
- return QIcon(KIconLoader::global()->loadMimeTypeIcon(iconName, KIconLoader::Small));
+ return QIcon::fromTheme(QMimeDatabase().mimeTypeForUrl(doc->url()).iconName());
}
void TabSwitcherPluginView::setupModel()
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/tabswitcher/tabswitcherplugin.desktop
^
|
@@ -12,6 +12,7 @@
Name[es]=Selector de documentos
Name[fi]=Tiedostovaihtaja
Name[fr]=Commutateur rapide de documents
+Name[gl]=Alternador de documentos
Name[hu]=Dokumentumváltó
Name[ko]=문서 전환기
Name[nb]=Dokumentbytter
@@ -20,6 +21,7 @@
Name[pl]=Przełącznik dokumentów
Name[pt]=Selector de documentos
Name[pt_BR]=Seletor de documentos
+Name[ru]=Переключатель документов
Name[sk]=Prepínač dokumentov
Name[sl]=Preklapljanje med dokumenti
Name[sr]=Мењач докумената
@@ -42,12 +44,13 @@
Comment[es]=Cambio rápido de documento con el comportamiento de Alt+Tab
Comment[fi]=Tiedostojen pikavaihtaja Alt+Sarkain-toiminnalla
Comment[fr]=Commutateur rapide de documents semblable au comportement de la combinaison alt + tab
+Comment[gl]=Comportamento de alternancia rápida entre documentos mediante Alt+Tab.
Comment[hu]=Gyors dokumentumváltás az ALT+Tab működésével
Comment[ko]=Alt+Tab과 비슷하게 작동하는 빠른 문서 전환기
Comment[nb]=Raskt dokumentbytte med ALT+Tab-oppførsel
Comment[nds]=Fix Dokmenten mit Alt+Tab-Bedregen wesseln
Comment[nl]=Snel van document wisselen met ALT+Tab
-Comment[pl]=Szybkie przełączanie dokumentów przy użyciu klawiszy Alt+Tab
+Comment[pl]=Szybko przełącza dokumenty przy użyciu klawiszy Alt+Tab
Comment[pt]=Mudança rápida de documentos com o comportamento do Alt+Tab
Comment[pt_BR]=Troca rápida de documentos com o comportamento do Alt+Tab
Comment[sk]=Rýchle prepínanie dokumentov so správaním Alt+Tab
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/textfilter/katetextfilter.desktop
^
|
@@ -4,7 +4,6 @@
X-KDE-Library=katetextfilterplugin
X-Kate-Version=2.8
Name=Text Filter
-Name[ast]=Filtru de testu
Name[bg]=Текстов филтър
Name[bs]=Filter teksta
Name[ca]=Filtre de text
@@ -60,7 +59,6 @@
Name[zh_CN]=文本过滤
Name[zh_TW]=文字過濾器
Comment=Easy text filtering
-Comment[ast]=Filtráu cenciellu de testu
Comment[bg]=Лесно филтриране на текст
Comment[bs]=Lako filtriranje teksta
Comment[ca]=Filtratge fàcil del text
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/xmlcheck/katexmlcheck.desktop
^
|
@@ -4,7 +4,6 @@
X-KDE-Library=katexmlcheckplugin
X-Kate-Version=2.9
Name=XML Validation
-Name[ast]=Validación XML
Name[bg]=Валидиране на XML
Name[bs]=Ovjera XML‑a
Name[ca]=Validació de l'XML
@@ -61,7 +60,6 @@
Name[zh_CN]=XML 校验
Name[zh_TW]=XML 檢查器
Comment=Validates XML files using xmllint
-Comment[ast]=Valida ficheros XML usando xmllint
Comment[bg]=Валидиране на XML-файлове с помощта на xmllint
Comment[bs]=Overava XML datoteke naredbom xmllint
Comment[ca]=Valida els fitxers XML usant el «xmllint»
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/xmlcheck/plugin_katexmlcheck.cpp
^
|
@@ -77,7 +77,7 @@
PluginKateXMLCheckView::PluginKateXMLCheckView(Kate::MainWindow *mainwin)
: Kate::PluginView (mainwin), Kate::XMLGUIClient(PluginKateXMLCheckFactory::componentData()),win(mainwin)
{
- dock = win->createToolView("kate_plugin_xmlcheck_ouputview", Kate::MainWindow::Bottom, SmallIcon("misc"), i18n("XML Checker Output"));
+ dock = win->createToolView("kate_plugin_xmlcheck_ouputview", Kate::MainWindow::Bottom, QIcon::fromTheme("misc"), i18n("XML Checker Output"));
listview = new QTreeWidget( dock );
m_tmp_file=0;
m_proc=0;
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/addons/xmltools/katexmltools.desktop
^
|
@@ -3,7 +3,6 @@
ServiceTypes=KTextEditor/Plugin
X-KDE-Library=katexmltoolsplugin
Name=XML Completion
-Name[ast]=Terminación XML
Name[bg]=Довършване на XML
Name[bs]=Dopuna XML‑a
Name[ca]=Compleció XML
@@ -60,7 +59,6 @@
Name[zh_CN]=XML 补全
Name[zh_TW]=XML 補完
Comment=Lists XML elements, attributes, attribute values and entities allowed by DTD
-Comment[ast]=Llista elementos XML, atributos, valores d'atributos y entidaes permitíes pola DTD
Comment[bg]=Списък с XML елементи, атрибути, стойности на атрибути и entity-та, дефинирани от DTD
Comment[bs]=Nabraja XML elemente, atribute, vrijednosti atributa i entitete koje DTD dozvoljava
Comment[ca]=Llista els elements XML, atributs, valors dels atributs i entitats permeses per la DTD
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/config.h.cmake
^
|
@@ -6,6 +6,5 @@
#define KATE_VERSION "${KATE_VERSION}"
#cmakedefine HAVE_CTERMID 1
-#cmakedefine KActivities_FOUND 1
#endif
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/autotests/session_manager_test.cpp
^
|
@@ -152,7 +152,7 @@
const QString file = m_tempdir->path() + QLatin1String("/foo.katesession");
QVERIFY(QFile(file).remove());
- QTRY_COMPARE_WITH_TIMEOUT(m_manager->sessionList().size(), 1, 1000); // that should be enought for KDirWatch to kick in
+ QTRY_COMPARE_WITH_TIMEOUT(m_manager->sessionList().size(), 1, 1000); // that should be enough for KDirWatch to kick in
QCOMPARE(m_manager->activeSession()->name(), QLatin1String("bar"));
}
@@ -165,5 +165,4 @@
QCOMPARE(m.sessionList().size(), 2);
}
-#include "session_manager_test.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/autotests/session_test.cpp
^
|
@@ -146,5 +146,4 @@
QCOMPARE(s->file(), m_tmpfile->fileName()); // on purpose, orthogonal
}
-#include "session_test.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/autotests/sessions_action_test.cpp
^
|
@@ -95,5 +95,4 @@
*/
}
-#include "sessions_action_test.moc"
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/data/org.kde.kate.appdata.xml
^
|
@@ -4,6 +4,7 @@
<metadata_license>CC0-1.0</metadata_license>
<project_license>LGPL-2.1+</project_license>
<name>Kate</name>
+ <name xml:lang="bs">Kate</name>
<name xml:lang="ca">Kate</name>
<name xml:lang="cs">Kate</name>
<name xml:lang="da">Kate</name>
@@ -11,8 +12,12 @@
<name xml:lang="en-GB">Kate</name>
<name xml:lang="es">Kate</name>
<name xml:lang="fi">Kate</name>
+ <name xml:lang="gl">Kate</name>
+ <name xml:lang="hu">Kate</name>
+ <name xml:lang="ko">Kate</name>
<name xml:lang="nb">Kate</name>
<name xml:lang="nl">Kate</name>
+ <name xml:lang="pa">ਕੇਟ</name>
<name xml:lang="pl">Kate</name>
<name xml:lang="pt">Kate</name>
<name xml:lang="pt-BR">Kate</name>
@@ -23,19 +28,25 @@
<name xml:lang="sr-ijekavian">Кејт</name>
<name xml:lang="sr-ijekavianlatin">Kate</name>
<name xml:lang="sv">Kate</name>
+ <name xml:lang="tr">Kate</name>
<name xml:lang="uk">Kate</name>
<name xml:lang="x-test">xxKatexx</name>
<name xml:lang="zh-CN">Kate</name>
<name xml:lang="zh-TW">Kate</name>
<summary>Advanced Text Editor</summary>
+ <summary xml:lang="bs">Napredni uređivač teksta</summary>
<summary xml:lang="ca">Editor de text avançat</summary>
<summary xml:lang="cs">Pokročilý textový editor</summary>
<summary xml:lang="de">Erweiterter Texteditor</summary>
<summary xml:lang="en-GB">Advanced Text Editor</summary>
<summary xml:lang="es">Editor de texto avanzado</summary>
<summary xml:lang="fi">Kehittynyt tekstimuokkain</summary>
+ <summary xml:lang="gl">Editor avanzado de textos</summary>
+ <summary xml:lang="hu">Speciális szövegszerkesztő</summary>
+ <summary xml:lang="ko">고급 텍스트 편집기</summary>
<summary xml:lang="nb">Avansert skriveprogram</summary>
<summary xml:lang="nl">Geavanceerde teksteditor</summary>
+ <summary xml:lang="pa">ਤਕਨੀਕੀ ਟੈਕਸਟ ਐਡੀਟਰ</summary>
<summary xml:lang="pl">Zaawansowany edytor tekstu</summary>
<summary xml:lang="pt">Editor de Texto Avançado</summary>
<summary xml:lang="pt-BR">Editor de Texto Avançado</summary>
@@ -46,6 +57,7 @@
<summary xml:lang="sr-ijekavian">Напредни уређивач текста</summary>
<summary xml:lang="sr-ijekavianlatin">Napredni uređivač teksta</summary>
<summary xml:lang="sv">Avancerad texteditor</summary>
+ <summary xml:lang="tr">Gelişmiş Metin Düzenleyici</summary>
<summary xml:lang="uk">Потужний текстовий редактор</summary>
<summary xml:lang="x-test">xxAdvanced Text Editorxx</summary>
<summary xml:lang="zh-CN">高级文本编辑器</summary>
@@ -55,10 +67,13 @@
Kate is a multi-document, multi-view text editor for KDE. It features stuff like codefolding, syntaxhighlighting,
dynamic word wrap, an embedded console, an extensive plugin interface and some preliminary scripting support.
</p>
- <p xml:lang="ca">El Kate és un editor de text multidocument, i multivista pel KDE. Té funcionalitats com el plegat de codi, ressaltat de sintaxi, ajust dinàmic de paraules, una consola incrustada, una interfície extensa de connectors i una implementació preliminar per crear scripts.</p>
+ <p xml:lang="ca">El Kate és un editor de text multidocument, i multivista pel KDE. Té funcionalitats com el plegat de codi, ressaltat de sintaxi, ajust dinàmic de les paraules, una consola incrustada, una interfície extensa de connectors i una implementació preliminar per crear scripts.</p>
<p xml:lang="en-GB">Kate is a multi-document, multi-view text editor for KDE. It features stuff like codefolding, syntaxhighlighting, dynamic word wrap, an embedded console, an extensive plugin interface and some preliminary scripting support.</p>
<p xml:lang="es">Kate es un editor de texto para KDE que puede abrir varios documentos a la vez y que cuenta con varios modos de vista. Entre otras funcionalidades dispone de plegado de código, resaltado de sintaxis, justificado de línea dinámico, consola integrada, una amplia interfaz para complementos y admite scripts de manera preliminar.</p>
<p xml:lang="fi">Kate on usean tiedoston ja usean näkymän tekstimuokkain eli tekstieditori KDE:lle. Siinä on koodin laskostus, syntaksin korostus, dynaaminen rivitys, upotettu konsoli, kattava liitännäisrajapinta sekä alustava skriptaustuki.</p>
+ <p xml:lang="gl">Kate é un editor de texto para KDE que permite traballar en varios documentos e con varias vistas ao mesmo tempo. Conta con moitas funcionalidades, como pregado de código, salientado de sintaxe, axuste dinámico de texto, un terminal integrado, unha extensa interface para o desenvolvemento de complementos e funcionalidades preliminares de scripting.</p>
+ <p xml:lang="hu">A Kate egy többdokumentumos, többnézetes szövegszerkesztő a KDE-hez. A szolgáltatásai közé tartozik például a kódösszecsukás, szintaxiskiemelés, dinamikus szótördelés, beágyazott konzol, bővíthető bővítmény-interfész és a szkriptelés támogatása.</p>
+ <p xml:lang="ko">Kate는 KDE용 다문서 다화면 텍스트 편집기입니다. 코드 접기, 구문 강조, 동적 워드랩, 내장된 콘솔, 플러그인 인터페이스, 스크립트 기능을 지원합니다.</p>
<p xml:lang="nb">Kate er en tekstredigerer for KDE som kan behandle flere dokumenter og flere visninger samtidig. Den har funksjoner som kodebryting, syntaksmerking, dymamisk ordbryting, et grensesnitt for mange programtillegg og litt preliminær støtte for skripting.</p>
<p xml:lang="nl">Kate is een multi-document, multi-view tekstbewerker voor KDE. Het bevat functies zoals opvouwen van code, accentuering van syntaxis, dynamisch afbreken van de regel, een ingebed console, een extensieve plug-in-interface en enige beginnende ondersteuning voor scripts.</p>
<p xml:lang="pl">Kate jest wielodokumentowym, wielowidokowym edytorem tekstu dla KDE. Umożliwia zwijanie kodu, podświetlanie składni, dynamiczne zawijanie wyrazów, osadzoną konsolę, rozbudowany interfejs dla wtyczek i zapewnia podstawową obsługę skryptów.</p>
@@ -71,18 +86,24 @@
<p xml:lang="sr-ijekavian">Кејт је вишедокументски, вишеприказни уређивач текста за КДЕ. Поседује могућности као што су сажимање кода, истицање синтаксе, динамички прелом текста, угнежђени терминал, опсежно сучеље за прикључке и основна подршка за скриптовање.</p>
<p xml:lang="sr-ijekavianlatin">Kate je višedokumentski, višeprikazni uređivač teksta za KDE. Poseduje mogućnosti kao što su sažimanje koda, isticanje sintakse, dinamički prelom teksta, ugnežđeni terminal, opsežno sučelje za priključke i osnovna podrška za skriptovanje.</p>
<p xml:lang="sv">Kate är en texteditor för KDE med flera dokument och multipla vyer. Den har funktioner som kodvikning, syntaxfärgläggning, dynamisk radbrytning, en inbäddad terminal, ett omfattande insticksgränssnitt och visst preliminärt stöd för skript.</p>
+ <p xml:lang="tr">Kate KDE için çoklu belge ile çalışabilen, çoklu görünümlü bir metin düzenleyicisidir. Kod katlama, sözdizimi vurgulaması, dinamik sözcük kaydırma, gömülü bir uç birim, geniş eklenti arayüzü ve bazı basit betik desteği özellikleri vardır.</p>
<p xml:lang="uk">Kate — текстовий редактор для KDE, у якому передбачено можливість одночасної роботи з декількома документами на декількох панелях перегляду. У програмі передбачено багато корисних можливостей, зокрема згортання коду, підсвічування синтаксичних конструкцій, динамічне перенесення рядків, вбудована консоль, гнучкий інтерфейс для роботи з додатками та базова підтримка роботи зі скриптами.</p>
<p xml:lang="x-test">xxKate is a multi-document, multi-view text editor for KDE. It features stuff like codefolding, syntaxhighlighting, dynamic word wrap, an embedded console, an extensive plugin interface and some preliminary scripting support.xx</p>
<p xml:lang="zh-TW">Kate 是 KDE 內的進階編輯器,可同時編輯多個文件。它的功能包括像是源碼封裝,語法突顯,動態折行,嵌入主控台,延伸外掛程式介面與一些基本的文稿支援等等。</p>
<p>Features:</p>
+ <p xml:lang="bs">Svojstva:</p>
<p xml:lang="ca">Característiques:</p>
<p xml:lang="cs">Vlastnosti:</p>
<p xml:lang="de">Funktionen:</p>
<p xml:lang="en-GB">Features:</p>
<p xml:lang="es">Funcionalidades:</p>
<p xml:lang="fi">Ominaisuuksia:</p>
+ <p xml:lang="gl">Funcionalidades:</p>
+ <p xml:lang="hu">Szolgáltatások:</p>
+ <p xml:lang="ko">기능:</p>
<p xml:lang="nb">Funksjoner:</p>
<p xml:lang="nl">Mogelijkheden:</p>
+ <p xml:lang="pa">ਫੀਚਰ:</p>
<p xml:lang="pl">Możliwości:</p>
<p xml:lang="pt">Funcionalidades:</p>
<p xml:lang="pt-BR">Funcionalidades:</p>
@@ -93,6 +114,7 @@
<p xml:lang="sr-ijekavian">Могућности:</p>
<p xml:lang="sr-ijekavianlatin">Mogućnosti:</p>
<p xml:lang="sv">Funktioner:</p>
+ <p xml:lang="tr">Özellikler:</p>
<p xml:lang="uk">Можливості:</p>
<p xml:lang="x-test">xxFeatures:xx</p>
<p xml:lang="zh-CN">功能:</p>
@@ -103,8 +125,12 @@
<li xml:lang="en-GB">MDI, window splitting, window tabbing</li>
<li xml:lang="es">MDI, división de ventana, pestañas de ventana</li>
<li xml:lang="fi">Monen tiedoston käyttöliittymä (MDI), ikkunoiden jakaminen ja välilehdet</li>
+ <li xml:lang="gl">Capacidade para traballar en varios documentos á vez, coa posibilidade de dividir a xanela e usar lapelas.</li>
+ <li xml:lang="hu">MDI, ablakfelosztás, ablaklapok</li>
+ <li xml:lang="ko">MDI, 창 나누기, 탭 기능</li>
<li xml:lang="nb">MDI, vindusdeling, vindusfaner</li>
<li xml:lang="nl">MDI, splitsing van vensters, tabbladen</li>
+ <li xml:lang="pa">MDI, ਵਿੰਡੋ ਵੰਡਣਾ, ਵਿੰਡੋ ਟੈਬ ਦੇ ਰੂਪ ਵਿੱਚ ਰੱਖਣਾ</li>
<li xml:lang="pl">MDI, dzielenie okna, okna w kartach</li>
<li xml:lang="pt">MDI, divisão de janelas, janelas em páginas</li>
<li xml:lang="pt-BR">MDI, divisão de janelas, janelas em abas</li>
@@ -115,18 +141,24 @@
<li xml:lang="sr-ijekavian">МДИ, подела прозора, прозори под језичцима</li>
<li xml:lang="sr-ijekavianlatin">MDI, podela prozora, prozori pod jezičcima</li>
<li xml:lang="sv">Flerfönster, fönsterdelning, fönsterflikar</li>
+ <li xml:lang="tr">MDI, pencere bölme, sekmeli pencereler</li>
<li xml:lang="uk">Інтерфейс для одночасної роботи з багатьма документами, поділ вікна програми, можливість роботи із вкладками.</li>
<li xml:lang="x-test">xxMDI, window splitting, window tabbingxx</li>
<li xml:lang="zh-TW">MDI,視窗分割,視窗分頁</li>
<li>Spell checking</li>
+ <li xml:lang="bs">Provjera ispravnog pisanja riječi</li>
<li xml:lang="ca">Verificació de l'ortografia</li>
<li xml:lang="cs">Kontrola pravopisu</li>
<li xml:lang="de">Rechtschreibprüfung</li>
<li xml:lang="en-GB">Spell checking</li>
<li xml:lang="es">Revisión de la ortografía</li>
<li xml:lang="fi">Oikeinkirjoituksen tarkistus</li>
+ <li xml:lang="gl">Corrección ortográfica.</li>
+ <li xml:lang="hu">Helyesírás-ellenőrzés</li>
+ <li xml:lang="ko">맞춤법 검사</li>
<li xml:lang="nb">Stavekontroll</li>
<li xml:lang="nl">Spellingcontrole</li>
+ <li xml:lang="pa">ਸ਼ਬਦ-ਜੋੜ ਜਾਂਚ</li>
<li xml:lang="pl">Sprawdzanie pisowni</li>
<li xml:lang="pt">Verificação ortográfica</li>
<li xml:lang="pt-BR">Verificação ortográfica</li>
@@ -137,17 +169,23 @@
<li xml:lang="sr-ijekavian">провера правописа</li>
<li xml:lang="sr-ijekavianlatin">provera pravopisa</li>
<li xml:lang="sv">Stavningskontroll</li>
+ <li xml:lang="tr">Yazım denetimi</li>
<li xml:lang="uk">Перевірка правопису.</li>
<li xml:lang="x-test">xxSpell checkingxx</li>
<li xml:lang="zh-CN">拼写检查</li>
<li xml:lang="zh-TW">拼字檢查</li>
<li>CR, CRLF, LF newline support</li>
<li xml:lang="ca">Implementació per línia nova CR, CRLF, LF</li>
+ <li xml:lang="de">Unterstützung für CR, CRLF, LF am Zeilenende</li>
<li xml:lang="en-GB">CR, CRLF, LF newline support</li>
<li xml:lang="es">Admite fin de línea CR, CRLF, LF</li>
<li xml:lang="fi">Tuki useille rivinvaihdoille: CR, CRLF ja LF</li>
+ <li xml:lang="gl">Compatíbel cos fins de liña CR, CRLF e LF.</li>
+ <li xml:lang="hu">CR, CRLF, LF új sor támogatás</li>
+ <li xml:lang="ko">CR, CRLF, LF 새 줄 지원</li>
<li xml:lang="nb">Støtte for ny linje med CR, CRLF eller LF</li>
<li xml:lang="nl">Ondersteuning van CR, CRLF, LF nieuwe-regel</li>
+ <li xml:lang="pa">CR, CRLF, LF ਨਵੀਂ-ਲਾਈਨ ਸਹਿਯੋਗ</li>
<li xml:lang="pl">Obsługa znaków nowego wiersza CR, CRLF, LF</li>
<li xml:lang="pt">suporte de mudanças de linha com CR, CRLF, LF</li>
<li xml:lang="pt-BR">Suporte de mudança de linha com CR, CRLF, LF</li>
@@ -158,16 +196,23 @@
<li xml:lang="sr-ijekavian">подршка за различите крајеве редова (ЦР, ЛФ, ЦР+ЛФ)</li>
<li xml:lang="sr-ijekavianlatin">podrška za različite krajeve redova (CR, LF, CR+LF)</li>
<li xml:lang="sv">Stöd för nyrad med CR, CRLF, LF</li>
+ <li xml:lang="tr">CR, CRLF, LF yeni satır desteği</li>
<li xml:lang="uk">Підтримка форматів розриву рядків CR, CRLF та LF.</li>
<li xml:lang="x-test">xxCR, CRLF, LF newline supportxx</li>
+ <li xml:lang="zh-CN">CR, CRLF, LF 换行支持</li>
<li xml:lang="zh-TW">CR, CRLF, LF 等換行符號支援</li>
<li>Encoding support (utf-8, utf-16, ascii etc.)</li>
<li xml:lang="ca">Implementació de codificacions (UTF-8, UTF-16, ASCII, etc.)</li>
+ <li xml:lang="de">Unterstützung für Kodierungen (utf-8, utf-16, ascii usw.)</li>
<li xml:lang="en-GB">Encoding support (utf-8, utf-16, ascii etc.)</li>
<li xml:lang="es">Admite codificación ( (utf-8, utf-16, ascii, etc.)</li>
<li xml:lang="fi">Merkistökoodaustuki (UTF-8, UTF-16, ASCII jne.)</li>
+ <li xml:lang="gl">Compatíbel con varios sistemas de codificación de texto (UTF-8, UTF-16, ASCII, etc.).</li>
+ <li xml:lang="hu">Különböző kódolások támogatása (UTF-8, UTF-16, ASCII, stb)</li>
+ <li xml:lang="ko">인코딩 지원(UTF-8, UTF-16, ASCII 등)</li>
<li xml:lang="nb">Støtte for tegnkoding (utf-8. utf-16, ascii osv.)</li>
<li xml:lang="nl">Ondersteuning voor codering (utf-8, utf-16, ascii etc.)</li>
+ <li xml:lang="pa">ਇੰਕੋਡਿੰਗ ਸਹਿਯੋਗ (utf-8, utf-16, ascii ਆਦਿ)</li>
<li xml:lang="pl">Obsługa kodowań (utf-8, utf-16, ascii itp.)</li>
<li xml:lang="pt">Suporte para codificações de caracteres (utf-8, utf-16, ascii etc.)</li>
<li xml:lang="pt-BR">Suporte para codificação de caracteres (utf-8, utf-16, ascii, etc.)</li>
@@ -178,8 +223,10 @@
<li xml:lang="sr-ijekavian">подршка за кодирања (УТФ‑8, УТФ‑16, аски, итд.)</li>
<li xml:lang="sr-ijekavianlatin">podrška za kodiranja (UTF‑8, UTF‑16, ASCII, itd.)</li>
<li xml:lang="sv">Kodningsstöd (UTF-8, UTF-16, ASCII etc.)</li>
+ <li xml:lang="tr">Kodlama desteği (utf-8, utf-16, ascii vb.)</li>
<li xml:lang="uk">Підтримка різноманітних кодувань (utf-8, utf-16, ascii тощо).</li>
<li xml:lang="x-test">xxEncoding support (utf-8, utf-16, ascii etc.)xx</li>
+ <li xml:lang="zh-CN">编码支持 (utf-8,utf-16,ascii 等。)</li>
<li xml:lang="zh-TW">編碼支援(UTF-8,UTF-16,ASCII 等)</li>
<li>Encoding conversion</li>
<li xml:lang="ca">Conversió de codificació</li>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/data/org.kde.kate.desktop
^
|
@@ -1,7 +1,6 @@
[Desktop Entry]
GenericName=Advanced Text Editor
GenericName[ar]=محرر نصوص متقدّم
-GenericName[ast]=Editor de testu avanzáu
GenericName[bg]=Усъвършенстван текстов редактор
GenericName[bs]=Napredni uređivač teksta
GenericName[ca]=Editor de text avançat
@@ -60,7 +59,6 @@
GenericName[zh_TW]=進階文字編輯器
Name=Kate
Name[ar]=كيت
-Name[ast]=Kate
Name[be]=Kate
Name[bg]=Kate
Name[bs]=Kate
@@ -121,7 +119,7 @@
Name[zh_TW]=Kate
MimeType=text/plain;
Exec=kate -b %U
-X-KDE-StartupNotify=true
+StartupNotify=true
X-KDE-HasTempFileOption=true
Icon=kate
X-DocPath=kate/index.html
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/CMakeLists.txt
^
|
@@ -52,7 +52,9 @@
KF5::IconThemes
KF5::WindowSystem
KF5::GuiAddons
- KF5::DBusAddons)
+ KF5::DBusAddons
+ KF5::Crash
+ KF5::Activities)
generate_export_header(kdeinit_kate
EXPORT_FILE_NAME kateprivate_export.h
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/kateapp.cpp
^
|
@@ -151,10 +151,8 @@
} else if (!m_args.isSet(QStringLiteral("stdin")) && (m_args.positionalArguments().count() == 0)) { // only start session if no files specified
// let the user choose session if possible
if (!sessionManager()->chooseSession()) {
-#ifdef Q_WS_X11
// we will exit kate now, notify the rest of the world we are done
- KStartupInfo::appStarted(startupId());
-#endif
+ KStartupInfo::appStarted(KStartupInfo::startupId());
return false;
}
} else {
@@ -167,9 +165,7 @@
}
// notify about start
-#ifdef Q_WS_X11
- KStartupInfo::setNewStartupId(activeKateMainWindow(), startupId());
-#endif
+ KStartupInfo::setNewStartupId(activeKateMainWindow(), KStartupInfo::startupId());
QTextCodec *codec = m_args.isSet(QStringLiteral("encoding")) ? QTextCodec::codecForName(m_args.value(QStringLiteral("encoding")).toUtf8()) : 0;
bool tempfileSet = m_args.isSet(QStringLiteral("tempfile"));
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/kateapp.h
^
|
@@ -301,7 +301,7 @@
/**
* Ask app to quit. The app might interact with the user and decide that
- * quiting is not possible and return false.
+ * quitting is not possible and return false.
*
* \return true if the app could quit
*/
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/kateconfigdialog.cpp
^
|
@@ -33,7 +33,6 @@
#include <KTextEditor/ConfigPage>
-#include <KIconLoader>
#include <KStandardAction>
#include <KLocalizedString>
#include <KConfigGroup>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/katedocmanager.cpp
^
|
@@ -32,7 +32,6 @@
#include <KCodecs>
#include <KMessageBox>
#include <KIO/DeleteJob>
-#include <KIconLoader>
#include <KColorScheme>
#include <KLocalizedString>
#include <KConfigGroup>
@@ -253,7 +252,7 @@
/**
* never ever empty the whole document list
- * do this before documentsDeleted is emited, to have no flicker
+ * do this before documentsDeleted is emitted, to have no flicker
*/
if (m_docList.isEmpty()) {
createDoc();
@@ -565,12 +564,8 @@
void KateDocManager::slotModChanged1(KTextEditor::Document *doc)
{
- const KateDocumentInfo *info = documentInfo(doc);
-
- if (info && info->modifiedOnDisc) {
- QMetaObject::invokeMethod(KateApp::self()->activeKateMainWindow(), "queueModifiedOnDisc",
+ QMetaObject::invokeMethod(KateApp::self()->activeKateMainWindow(), "queueModifiedOnDisc",
Qt::QueuedConnection, Q_ARG(KTextEditor::Document *, doc));
- }
}
void KateDocManager::documentOpened()
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/katedocmanager.h
^
|
@@ -141,7 +141,7 @@
/**
* This signal is emitted when the \p document was created.
- * This is emited after the initial documentCreated for internal use in view manager
+ * This is emitted after the initial documentCreated for internal use in view manager
*/
void documentCreatedViewManager(KTextEditor::Document *document);
@@ -179,7 +179,7 @@
/**
* This signal is emitted before the documents batch is going to be deleted
*
- * note that the batch can be interupted in the middle and only some
+ * note that the batch can be interrupted in the middle and only some
* of the documents may be actually deleted. See documentsDeleted() signal.
*/
void aboutToDeleteDocuments(const QList<KTextEditor::Document *> &);
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/katemainwindow.cpp
^
|
@@ -76,6 +76,7 @@
#include <QToolButton>
#include <QTimer>
#include <QFontDatabase>
+#include <QDir>
#include <ktexteditor/sessionconfiginterface.h>
//END
@@ -787,7 +788,7 @@
void KateMainWindow::mSlotFixOpenWithMenu()
{
// dh: in bug #307699, this slot is called when launching the Kate application
- // unfortunately, noone ever could reproduce except users.
+ // unfortunately, no one ever could reproduce except users.
KTextEditor::View *activeView = m_viewManager->activeView();
if (! activeView) {
return;
@@ -828,14 +829,14 @@
// display "open with" dialog
KOpenWithDialog dlg(list);
if (dlg.exec()) {
- KRun::run(*dlg.service(), list, this);
+ KRun::runService(*dlg.service(), list, this);
}
return;
}
KService::Ptr app = KService::serviceByDesktopPath(openWith);
if (app) {
- KRun::run(*app, list, this);
+ KRun::runService(*app, list, this);
} else {
KMessageBox::error(this, i18n("Application '%1' not found.", openWith), i18n("Application not found"));
}
@@ -929,7 +930,12 @@
if (m_viewManager->activeView()->document()->url().isEmpty() || (!m_paShowPath || !m_paShowPath->isChecked())) {
c = ((KTextEditor::Document *)m_viewManager->activeView()->document())->documentName();
} else {
- c = m_viewManager->activeView()->document()->url().toString();
+ c = m_viewManager->activeView()->document()->url().toString(QUrl::PreferLocalFile);
+
+ const QString homePath = QDir::homePath();
+ if (c.startsWith(homePath)) {
+ c = QStringLiteral("~") + c.right(c.length() - homePath.length());
+ }
}
QString sessName = KateApp::self()->sessionManager()->activeSession()->name();
@@ -1034,8 +1040,9 @@
if (!m_modNotification) {
return;
}
+ bool modOnDisk = (uint)KateApp::self()->documentManager()->documentInfo(doc)->modifiedOnDisc;
- if (s_modOnHdDialog == 0) {
+ if (s_modOnHdDialog == 0 && modOnDisk) {
DocVector list;
list.append(doc);
@@ -1045,7 +1052,7 @@
s_modOnHdDialog->exec();
delete s_modOnHdDialog; // s_modOnHdDialog is set to 0 in destructor of KateMwModOnHdDialog (jowenn!!!)
m_modignore = false;
- } else {
+ } else if (s_modOnHdDialog != 0) {
s_modOnHdDialog->addDocument(doc);
}
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/katemainwindow.h
^
|
@@ -307,7 +307,7 @@
* @return all views
*/
QList<KTextEditor::View *> views() {
- return viewManager()->views().keys();
+ return viewManager()->views();
}
/**
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/katemdi.cpp
^
|
@@ -27,7 +27,6 @@
#include <KActionCollection>
#include <KActionMenu>
#include <KConfigGroup>
-#include <KIconLoader>
#include <KMessageBox>
#include <KXMLGUIFactory>
#include <KLocalizedString>
@@ -488,12 +487,12 @@
}
}
- menu->addSection(SmallIcon(QStringLiteral("view_remove")), i18n("Behavior"));
+ menu->addSection(QIcon::fromTheme(QStringLiteral("view_remove")), i18n("Behavior"));
menu->addAction(w->persistent ? QIcon::fromTheme(QStringLiteral("view-restore")) : QIcon::fromTheme(QStringLiteral("view-fullscreen")),
w->persistent ? i18n("Make Non-Persistent") : i18n("Make Persistent")) -> setData(10);
- menu->addSection(SmallIcon(QStringLiteral("move")), i18n("Move To"));
+ menu->addSection(QIcon::fromTheme(QStringLiteral("move")), i18n("Move To"));
if (position() != 0) {
menu->addAction(QIcon::fromTheme(QStringLiteral("go-previous")), i18n("Left Sidebar"))->setData(0);
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/katemwmodonhddialog.cpp
^
|
@@ -327,7 +327,14 @@
break;
}
}
- new KateDocItem(doc, m_stateTexts[(uint)KateApp::self()->documentManager()->documentInfo(doc)->modifiedOnDiscReason ], twDocuments);
+ uint reason = (uint)KateApp::self()->documentManager()->documentInfo(doc)->modifiedOnDiscReason;
+ if (reason) {
+ new KateDocItem(doc, m_stateTexts[reason], twDocuments);
+ }
+
+ if (! twDocuments->topLevelItemCount()) {
+ accept();
+ }
}
void KateMwModOnHdDialog::keyPressEvent(QKeyEvent *event)
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/katepluginmanager.cpp
^
|
@@ -70,14 +70,23 @@
defaultPlugins.insert (QLatin1String("tabswitcherplugin"));
defaultPlugins.insert (QLatin1String("kateprojectplugin"));
defaultPlugins.insert (QLatin1String("katesearchplugin"));
- m_pluginList.clear ();
- Q_FOREACH(const KPluginMetaData &metaData, plugins) {
+ m_pluginList.clear();
+ QVectorIterator<KPluginMetaData> i(plugins);
+ i.toBack();
+ QSet<QString> unique;
+ while (i.hasPrevious()) {
KatePluginInfo info;
- info.metaData = metaData;
+ info.metaData = i.previous();
+
+ // only load plugins once, even if found multiple times!
+ if (unique.contains(info.saveName()))
+ continue;
+
info.defaultLoad = defaultPlugins.contains(info.saveName());
info.load = false;
info.plugin = nullptr;
m_pluginList.push_back(info);
+ unique.insert (info.saveName());
}
/**
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/katequickopen.cpp
^
|
@@ -158,23 +158,15 @@
/**
* get views in lru order
*/
- QMap<qint64, KTextEditor::View *> sortedViews;
- QHashIterator<KTextEditor::View *, QPair<bool, qint64> > i(m_mainWindow->viewManager()->views());
- while (i.hasNext()) {
- i.next();
- sortedViews[i.value().second] = i.key();
- }
+ const QList<KTextEditor::View *> sortedViews(m_mainWindow->viewManager()->sortedViews());
/**
* now insert them in order
*/
QModelIndex idxToSelect;
int linecount = 0;
- QMapIterator<qint64, KTextEditor::View *> i2(sortedViews);
- while (i2.hasNext()) {
- i2.next();
-
- KTextEditor::Document *doc = i2.value()->document();
+ foreach (KTextEditor::View *view, sortedViews) {
+ KTextEditor::Document *doc = view->document();
if (alreadySeenDocs.contains(doc)) {
continue;
@@ -260,9 +252,6 @@
itemName->setData(qVariantFromValue(QUrl::fromLocalFile(file)), UrlRole);
itemName->setData(QString::fromLatin1("%1: %2").arg(fi.fileName()).arg(file), SortFilterRole);
itemName->setEditable(false);
- QFont font = itemName->font();
- font.setBold(true);
- itemName->setFont(font);
QStandardItem *itemUrl = new QStandardItem(file);
itemUrl->setEditable(false);
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/katesavemodifieddialog.cpp
^
|
@@ -22,7 +22,6 @@
#include <KGuiItem>
#include <KStandardGuiItem>
-#include <KIconLoader>
#include <KMessageBox>
#include <KLocalizedString>
@@ -51,17 +50,16 @@
}
void setState(enum STATE state) {
m_state = state;
- KIconLoader *loader = KIconLoader::global();
switch (state) {
case InitialState:
setIcon(0, QIcon());
break;
case SaveOKState:
- setIcon(0, loader->loadIcon(QStringLiteral("dialog-ok"), KIconLoader::NoGroup,/*height()*/16));
+ setIcon(0, QIcon::fromTheme(QStringLiteral("dialog-ok")));
// QStringLiteral("ok") icon should probably be QStringLiteral("dialog-success"), but we don't have that icon in KDE 4.0
break;
case SaveFailedState:
- setIcon(0, loader->loadIcon(QStringLiteral("dialog-error"), KIconLoader::NoGroup,/*height()*/16));
+ setIcon(0, QIcon::fromTheme(QStringLiteral("dialog-error")));
break;
}
}
@@ -78,7 +76,7 @@
}
virtual ~KateSaveModifiedDocumentCheckListItem()
{}
- virtual bool synchronousSave(QWidget *dialogParent) {
+ virtual bool synchronousSave(QWidget *dialogParent) Q_DECL_OVERRIDE {
if (m_document->url().isEmpty()) {
const QUrl url = QFileDialog::getSaveFileUrl(dialogParent, i18n("Save As (%1)", m_document->documentName()));
if (!url.isEmpty()) {
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/katetabbar.h
^
|
@@ -237,7 +237,7 @@
// current tab width: when closing tabs with the mouse, we keep
// the tab width fixed until the mouse leaves the tab bar. This
- // way the user can keep klicking the close button without moving
+ // way the user can keep clicking the close button without moving
// the ouse.
qreal m_currentTabWidth;
bool m_keepTabWidth;
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/kateviewmanager.cpp
^
|
@@ -39,9 +39,7 @@
#include <KLocalizedString>
#include <KXMLGUIFactory>
-#ifdef KActivities_FOUND
-#include <kactivities/resourceinstance.h>
-#endif
+#include <KActivities/ResourceInstance>
#include <QFileDialog>
#include <QStyle>
@@ -76,13 +74,13 @@
connect(this, SIGNAL(viewChanged(KTextEditor::View*)), this, SLOT(slotViewChanged()));
connect(KateApp::self()->documentManager(), SIGNAL(documentCreatedViewManager(KTextEditor::Document*)), this, SLOT(documentCreated(KTextEditor::Document*)));
-
+
/**
* before document is really deleted: cleanup all views!
*/
connect(KateApp::self()->documentManager(), SIGNAL(documentWillBeDeleted(KTextEditor::Document*))
, this, SLOT(documentWillBeDeleted(KTextEditor::Document*)));
-
+
/**
* handle document deletion transactions
* disable view creation in between
@@ -92,15 +90,15 @@
, this, SLOT(aboutToDeleteDocuments(const QList<KTextEditor::Document *> &)));
connect(KateApp::self()->documentManager(), SIGNAL(documentsDeleted(const QList<KTextEditor::Document *> &))
, this, SLOT(documentsDeleted(const QList<KTextEditor::Document *> &)));
-
+
// register all already existing documents
m_blockViewCreationAndActivation = true;
-
+
const QList<KTextEditor::Document *> &docs = KateApp::self()->documentManager()->documentList();
foreach(KTextEditor::Document * doc, docs) {
documentCreated(doc);
}
-
+
m_blockViewCreationAndActivation = false;
// init done
@@ -362,7 +360,7 @@
if (!activeView()) {
activateView(doc);
}
-
+
/**
* check if we have any empty viewspaces and give them a view
*/
@@ -450,8 +448,12 @@
/**
* remember this view, active == false, min age set
+ * create activity resource
*/
- m_views[view] = QPair<bool, qint64> (false, m_minAge--);
+ m_views[view].active = false;
+ m_views[view].lruAge = m_minAge--;
+ m_views[view].activityResource = new KActivities::ResourceInstance(view->window()->winId(), view);
+ m_views[view].activityResource->setUri(doc->url());
// disable settings dialog action
delete view->actionCollection()->action(QStringLiteral("set_confdlg"));
@@ -462,12 +464,6 @@
viewCreated(view);
-#ifdef KActivities_FOUND
- Q_ASSERT(!m_activityResources.contains(view)); // view was just created -> cannot be in hash
- m_activityResources[view] = new KActivities::ResourceInstance(view->window()->winId(), view);
- m_activityResources[view]->setUri(doc->url());
-#endif
-
if (!vs) {
activateView(view);
}
@@ -493,10 +489,6 @@
m_guiMergedView = nullptr;
}
-#ifdef KActivities_FOUND
- m_activityResources.remove(view);
-#endif
-
// remove view from mapping and memory !!
m_views.remove(view);
delete view;
@@ -530,10 +522,10 @@
m_activeViewRunning = true;
- QHashIterator<KTextEditor::View *, QPair<bool, qint64> > it(m_views);
+ QHashIterator<KTextEditor::View *, ViewData> it(m_views);
while (it.hasNext()) {
it.next();
- if (it.value().first) {
+ if (it.value().active) {
m_activeViewRunning = false;
return it.key();
}
@@ -575,11 +567,11 @@
void KateViewManager::setActiveView(KTextEditor::View *view)
{
if (activeView()) {
- m_views[activeView()].first = false;
+ m_views[activeView()].active = false;
}
if (view) {
- m_views[view].first = true;
+ m_views[view].active = true;
}
}
@@ -601,7 +593,7 @@
{
KTextEditor::View *view = activeView();
if (view) {
- m_views[view].first = false;
+ m_views[view].active = false;
activateView(view);
}
}
@@ -612,18 +604,11 @@
return;
}
-#ifdef KActivities_FOUND
- if (m_activityResources.contains(view)) {
- m_activityResources[view]->setUri(view->document()->url());
- m_activityResources[view]->notifyFocusedIn();
- }
-#endif
-
Q_ASSERT (m_views.contains(view));
- if (!m_views[view].first) {
+ if (!m_views[view].active) {
// avoid flicker
KateUpdateDisabler disableUpdates (mainWindow());
-
+
if (!activeViewSpace()->showView(view)) {
// since it wasn't found, give'em a new one
createView(view->document());
@@ -653,9 +638,13 @@
}
// remember age of this view
- m_views[view].second = m_minAge--;
-
+ m_views[view].lruAge = m_minAge--;
+
emit viewChanged(view);
+
+ // inform activity manager
+ m_views[view].activityResource->setUri(view->document()->url());
+ m_views[view].activityResource->notifyFocusedIn();
}
}
@@ -719,7 +708,7 @@
closeList.append(v);
}
}
-
+
while (!closeList.isEmpty()) {
deleteView(closeList.takeFirst());
}
@@ -746,7 +735,7 @@
if (!currentSplitter) {
return;
}
-
+
// avoid flicker
KateUpdateDisabler disableUpdates (mainWindow());
@@ -821,7 +810,7 @@
if (!currentSplitter || (currentSplitter->count() == 1)) {
return;
}
-
+
// avoid flicker
KateUpdateDisabler disableUpdates (mainWindow());
@@ -996,16 +985,12 @@
*/
qDeleteAll(m_viewSpaceList);
m_viewSpaceList.clear();
-
+
/**
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/kateviewmanager.h
^
|
@@ -26,15 +26,14 @@
#include <QPointer>
#include <QList>
#include <QSplitter>
+#include <QMap>
#include <config.h>
-#ifdef KActivities_FOUND
namespace KActivities
{
class ResourceInstance;
}
-#endif
namespace KTextEditor {
class View;
@@ -152,7 +151,7 @@
/**
* This signal is emitted before the documents batch is going to be deleted
*
- * note that the batch can be interupted in the middle and only some
+ * note that the batch can be interrupted in the middle and only some
* of the documents may be actually deleted. See documentsDeleted() signal.
*
* @param documents documents we want to delete, may not be deleted
@@ -251,12 +250,26 @@
void toggleSplitterOrientation();
/**
- * central storage of all views known in the view manager
- * maps the view to active state + lru age of the view
- * important: smallest age ==> latest used view
+ * Get a list of all views.
+ * @return all views
+ */
+ QList<KTextEditor::View *> views() const {
+ return m_views.keys();
+ }
+
+ /**
+ * get views in lru order
+ * @return views in lru order
*/
- const QHash<KTextEditor::View *, QPair<bool, qint64> > &views() const {
- return m_views;
+ QList<KTextEditor::View *> sortedViews() const
+ {
+ QMap<qint64, KTextEditor::View *> sortedViews;
+ QHashIterator<KTextEditor::View *, ViewData> i(m_views);
+ while (i.hasNext()) {
+ i.next();
+ sortedViews[i.value().lruAge] = i.key();
+ }
+ return sortedViews.values();
}
private:
@@ -274,10 +287,6 @@
QList<KateViewSpace *> m_viewSpaceList;
-#ifdef KActivities_FOUND
- QHash<KTextEditor::View *, KActivities::ResourceInstance *> m_activityResources;
-#endif
-
bool m_blockViewCreationAndActivation;
bool m_activeViewRunning;
@@ -285,11 +294,42 @@
int m_splitterIndex; // used during saving splitter config.
/**
+ * View meta data
+ */
+ class ViewData {
+ public:
+ /**
+ * Default constructor
+ */
+ ViewData()
+ : active(false)
+ , lruAge(0)
+ , activityResource(Q_NULLPTR)
+ {
+ }
+
+ /**
+ * view active?
+ */
+ bool active;
+
+ /**
+ * lru age of the view
+ * important: smallest age ==> latest used view
+ */
+ qint64 lruAge;
+
+ /**
+ * activity resource for the view
+ */
+ KActivities::ResourceInstance *activityResource;
+ };
+
+ /**
* central storage of all views known in the view manager
- * maps the view to active state + lru age of the view
- * important: smallest age ==> latest used view
+ * maps the view to meta data
*/
- QHash<KTextEditor::View *, QPair<bool, qint64> > m_views;
+ QHash<KTextEditor::View *, ViewData> m_views;
/**
* current minimal age
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/main.cpp
^
|
@@ -25,6 +25,7 @@
#include <KAboutData>
#include <KLocalizedString>
+#include <KStartupInfo>
#include <kdbusservice.h>
#include <QByteArray>
@@ -46,6 +47,11 @@
QApplication app(argc, argv);
/**
+ * enable high dpi support
+ */
+ app.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
+
+ /**
* Connect application with translation catalogs
*/
KLocalizedString::setApplicationDomain("kate");
@@ -390,10 +396,12 @@
QDBusConnection::sessionBus().connect(serviceName, QStringLiteral("/MainApplication"), QStringLiteral("org.kde.Kate.Application"), QStringLiteral("documentClosed"), waiter, SLOT(documentClosed(QString)));
}
- #ifdef Q_WS_X11
+ // KToolInvocation (and KRun) will wait until we register on dbus
+ KDBusService dbusService(KDBusService::Multiple);
+ dbusService.unregister();
+
// make the world happy, we are started, kind of...
KStartupInfo::appStarted();
- #endif
// this will wait until exiting is emitted by the used instance, if wanted...
return needToBlock ? app.exec() : 0;
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kate/src/session/katesessionchooser.cpp
^
|
@@ -33,7 +33,6 @@
#include <QMenu>
#include <QPushButton>
#include <QVBoxLayout>
-#include <QPushButton>
#include <QHeaderView>
//BEGIN CHOOSER DIALOG
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kwrite/CMakeLists.txt
^
|
@@ -5,6 +5,8 @@
set(kwrite_KDEINIT_SRCS main.cpp kwrite.cpp)
+
+
kf5_add_kdeinit_executable(kwrite ${kwrite_KDEINIT_SRCS})
target_link_libraries(kdeinit_kwrite
KF5::TextEditor
@@ -12,6 +14,8 @@
KF5::KIOFileWidgets
KF5::DBusAddons
KF5::IconThemes
+ KF5::Crash
+ KF5::Activities
)
install(TARGETS kwrite ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kwrite/kwrite.cpp
^
|
@@ -42,9 +42,7 @@
#include <KIO/Job>
#include <KJobWidgets>
-#ifdef KActivities_FOUND
-#include <kactivities/resourceinstance.h>
-#endif
+#include <KActivities/ResourceInstance>
#include <QTimer>
#include <QTextCodec>
@@ -65,9 +63,7 @@
, m_paShowPath(0)
, m_paShowMenuBar(0)
, m_paShowStatusBar(0)
-#ifdef KActivities_FOUND
- , m_activityResource(0)
-#endif
+ , m_activityResource(0)
{
if (!doc) {
doc = KTextEditor::Editor::instance()->createDocument(0);
@@ -87,7 +83,7 @@
setupActions();
// signals for the statusbar
- connect(m_view->document(), SIGNAL(modifiedChanged(KTextEditor::Document*)), this, SLOT(documentNameChanged()));
+ connect(m_view->document(), &KTextEditor::Document::modifiedChanged, this, &KWrite::modifiedChanged);
connect(m_view->document(), SIGNAL(documentNameChanged(KTextEditor::Document*)), this, SLOT(documentNameChanged()));
connect(m_view->document(), SIGNAL(readWriteChanged(KTextEditor::Document*)), this, SLOT(documentNameChanged()));
connect(m_view->document(), SIGNAL(documentUrlChanged(KTextEditor::Document*)), this, SLOT(urlChanged()));
@@ -144,8 +140,9 @@
void KWrite::setupActions()
{
- actionCollection()->addAction(KStandardAction::Close, QStringLiteral("file_close"), this, SLOT(slotFlush()))
- ->setWhatsThis(i18n("Use this command to close the current document"));
+ m_closeAction = actionCollection()->addAction(KStandardAction::Close, QStringLiteral("file_close"), this, SLOT(slotFlush()));
+ m_closeAction->setWhatsThis(i18n("Use this command to close the current document"));
+ m_closeAction->setDisabled(true);
// setup File menu
actionCollection()->addAction(KStandardAction::New, QStringLiteral("file_new"), this, SLOT(slotNew()))
@@ -175,7 +172,7 @@
actionCollection()->addAction(m_paShowStatusBar->objectName(), m_paShowStatusBar);
m_paShowStatusBar->setWhatsThis(i18n("Use this command to show or hide the view's statusbar"));
- m_paShowPath = new KToggleAction(i18n("Sho&w Path"), this);
+ m_paShowPath = new KToggleAction(i18n("Sho&w Path in Titlebar"), this);
actionCollection()->addAction(QStringLiteral("set_showPath"), m_paShowPath);
connect(m_paShowPath, SIGNAL(triggered()), this, SLOT(documentNameChanged()));
m_paShowPath->setWhatsThis(i18n("Show the complete document path in the window caption"));
@@ -195,13 +192,14 @@
// load on url
void KWrite::loadURL(const QUrl &url)
{
-#ifdef KActivities_FOUND
+ m_view->document()->openUrl(url);
+
if (!m_activityResource) {
m_activityResource = new KActivities::ResourceInstance(winId(), this);
}
- m_activityResource->setUri(url);
-#endif
- m_view->document()->openUrl(url);
+ m_activityResource->setUri(m_view->document()->url());
+
+ m_closeAction->setEnabled(true);
}
// is closing the window wanted by user ?
@@ -222,7 +220,15 @@
void KWrite::slotFlush()
{
- m_view->document()->closeUrl();
+ if (m_view->document()->closeUrl()) {
+ m_closeAction->setDisabled(true);
+ }
+}
+
+void KWrite::modifiedChanged()
+{
+ documentNameChanged();
+ m_closeAction->setEnabled(true);
}
void KWrite::slotNew()
@@ -500,24 +506,31 @@
if (m_view->document()->url().isEmpty()) {
setCaption(i18n("Untitled") + readOnlyCaption + QStringLiteral(" [*]"), m_view->document()->isModified());
- } else {
- QString c;
- if (!m_paShowPath->isChecked()) {
- c = m_view->document()->url().fileName();
-
- //File name shouldn't be too long - Maciek
- if (c.length() > 64) {
- c = c.left(64) + QStringLiteral("...");
- }
- } else {
- c = m_view->document()->url().toString();
-
- //File name shouldn't be too long - Maciek
- if (c.length() > 64) {
- c = QStringLiteral("...") + c.right(64);
- }
+ return;
+ }
+
+ QString c;
+
+ if (m_paShowPath->isChecked()) {
+ c = m_view->document()->url().toString(QUrl::PreferLocalFile);
+
+ const QString homePath = QDir::homePath();
+ if (c.startsWith(homePath)) {
+ c = QStringLiteral("~") + c.right(c.length() - homePath.length());
}
- setCaption(c + readOnlyCaption + QStringLiteral(" [*]"), m_view->document()->isModified());
+ //File name shouldn't be too long - Maciek
+ if (c.length() > 64) {
+ c = QStringLiteral("...") + c.right(64);
+ }
+ } else {
+ c = m_view->document()->url().fileName();
+
+ //File name shouldn't be too long - Maciek
+ if (c.length() > 64) {
+ c = c.left(64) + QStringLiteral("...");
+ }
}
+
+ setCaption(c + readOnlyCaption + QStringLiteral(" [*]"), m_view->document()->isModified());
}
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kwrite/kwrite.h
^
|
@@ -32,12 +32,10 @@
class QLabel;
-#ifdef KActivities_FOUND
namespace KActivities
{
-class ResourceInstance;
+ class ResourceInstance;
}
-#endif
class KToggleAction;
class KRecentFilesAction;
@@ -83,6 +81,7 @@
void editKeys();
void editToolbars();
void aboutEditor();
+ void modifiedChanged();
private Q_SLOTS:
void slotNewToolbarConfig();
@@ -96,7 +95,7 @@
* adds a changed URL to the recent files
*/
void urlChanged();
-
+
/**
* Overwrite size hint for better default window sizes
* @return size hint
@@ -128,10 +127,8 @@
KToggleAction *m_paShowPath;
KToggleAction *m_paShowMenuBar;
KToggleAction *m_paShowStatusBar;
-
-#ifdef KActivities_FOUND
+ QAction *m_closeAction;
KActivities::ResourceInstance *m_activityResource;
-#endif
static QList<KTextEditor::Document *> docList;
static QList<KWrite *> winList;
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kwrite/main.cpp
^
|
@@ -43,6 +43,11 @@
QApplication app(argc, argv);
/**
+ * enable high dpi support
+ */
+ app.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
+
+ /**
* Connect application with translation catalogs
*/
KLocalizedString::setApplicationDomain("kwrite");
@@ -116,7 +121,7 @@
* set the program icon
*/
QApplication::setWindowIcon(QIcon::fromTheme(QLatin1String("accessories-text-editor")));
-
+
/**
* Create command line parser and feed it with known options
*/
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kwrite/org.kde.kwrite.appdata.xml
^
|
@@ -4,6 +4,7 @@
<metadata_license>CC0-1.0</metadata_license>
<project_license>LGPL-2.1+</project_license>
<name>KWrite</name>
+ <name xml:lang="bs">Kwrite</name>
<name xml:lang="ca">KWrite</name>
<name xml:lang="cs">KWrite</name>
<name xml:lang="da">KWrite</name>
@@ -11,8 +12,12 @@
<name xml:lang="en-GB">KWrite</name>
<name xml:lang="es">KWrite</name>
<name xml:lang="fi">KWrite</name>
+ <name xml:lang="gl">KWrite</name>
+ <name xml:lang="hu">KWrite</name>
+ <name xml:lang="ko">KWrite</name>
<name xml:lang="nb">KWrite</name>
<name xml:lang="nl">KWrite</name>
+ <name xml:lang="pa">ਕੇ-ਰਾਈਟ</name>
<name xml:lang="pl">KWrite</name>
<name xml:lang="pt">KWrite</name>
<name xml:lang="pt-BR">KWrite</name>
@@ -23,19 +28,25 @@
<name xml:lang="sr-ijekavian">К‑писање</name>
<name xml:lang="sr-ijekavianlatin">K‑pisanje</name>
<name xml:lang="sv">Kwrite</name>
+ <name xml:lang="tr">KWrite</name>
<name xml:lang="uk">KWrite</name>
<name xml:lang="x-test">xxKWritexx</name>
<name xml:lang="zh-CN">KWrite</name>
<name xml:lang="zh-TW">KWrite</name>
<summary>Text Editor</summary>
+ <summary xml:lang="bs">Uređivač teksta</summary>
<summary xml:lang="ca">Editor de text</summary>
<summary xml:lang="cs">Textový editor</summary>
<summary xml:lang="de">Texteditor</summary>
<summary xml:lang="en-GB">Text Editor</summary>
<summary xml:lang="es">Editor de texto</summary>
<summary xml:lang="fi">Tekstimuokkain</summary>
+ <summary xml:lang="gl">Editor de textos</summary>
+ <summary xml:lang="hu">Szövegszerkesztő</summary>
+ <summary xml:lang="ko">텍스트 편집기</summary>
<summary xml:lang="nb">Tekstredigering</summary>
<summary xml:lang="nl">Teksteditor</summary>
+ <summary xml:lang="pa">ਟੈਕਸਟ ਐਡੀਟਰ</summary>
<summary xml:lang="pl">Edytor tekstu</summary>
<summary xml:lang="pt">Editor de Texto</summary>
<summary xml:lang="pt-BR">Editor de Texto</summary>
@@ -46,6 +57,7 @@
<summary xml:lang="sr-ijekavian">Уређивач текста</summary>
<summary xml:lang="sr-ijekavianlatin">Uređivač teksta</summary>
<summary xml:lang="sv">Texteditor</summary>
+ <summary xml:lang="tr">Metin Düzenleyici</summary>
<summary xml:lang="uk">Текстовий редактор</summary>
<summary xml:lang="x-test">xxText Editorxx</summary>
<summary xml:lang="zh-CN">文本编辑器</summary>
@@ -54,11 +66,14 @@
<p>
KWrite is a text editor for KDE, based on the Kate's editor component.
</p>
- <p xml:lang="ca">El KWrite és un editor de text pel KDE, basat en el component editor del Kate.</p>
+ <p xml:lang="ca">El KWrite és un editor de text pel KDE, basat en el component d'edició del Kate.</p>
<p xml:lang="de">KWrite ist ein Texteditor für KDE auf der Basis der Kate-Editorkomponente.</p>
<p xml:lang="en-GB">KWrite is a text editor for KDE, based on the Kate's editor component.</p>
<p xml:lang="es">KWrite es un editor de texto para KDE basado en el componente de edición de Kate.</p>
<p xml:lang="fi">KWrite on tekstimuokkain eli tekstieditori KDE:lle. Se perustuu Katen muokkainosaan.</p>
+ <p xml:lang="gl">KWrite é un editor de texto para KDE baseado no compoñente de editor de Kate.</p>
+ <p xml:lang="hu">A KWrite egy, a Kate szerkesztőkomponensén alapuló szövegszerkesztő a KDE-hez.</p>
+ <p xml:lang="ko">KWrite는 Kate 편집기 구성 요소를 사용하는 KDE 텍스트 편집기입니다.</p>
<p xml:lang="nb">KWrite er en tekstredigerer for KDE, basert på Kates redigeringskomponent.</p>
<p xml:lang="nl">KWrite is een tekstbewerker voor KDE, gebaseerd op de tekstbewerkercomponent van Kate.</p>
<p xml:lang="pl">KWrite jest edytorem tekstu dla KDE, opartym na edytorze Kate.</p>
@@ -71,19 +86,25 @@
<p xml:lang="sr-ijekavian">К‑писање је уређивач текста за КДЕ, на основу уређивачке компоненте Кејт.</p>
<p xml:lang="sr-ijekavianlatin">K‑pisanje je uređivač teksta za KDE, na osnovu uređivačke komponente Kate.</p>
<p xml:lang="sv">Kwrite är en texteditor för KDE, baserad på editorkomponenten i Kate.</p>
+ <p xml:lang="tr">KWrite, Kate'in düzenleyici bileşeni tabanlı KDE için bir metin düzenleyicisidir.</p>
<p xml:lang="uk">KWrite — текстовий редактор для KDE, заснований на компоненті редактора Kate.</p>
<p xml:lang="x-test">xxKWrite is a text editor for KDE, based on the Kate's editor component.xx</p>
<p xml:lang="zh-CN">KWrite 是 KDE 的文本编辑器,基于 Kate 的编辑器组件。</p>
<p xml:lang="zh-TW">KWrite 是一套 KDE 的文字編輯器,基於 Kate 的編輯器組件。</p>
<p>Features:</p>
+ <p xml:lang="bs">Svojstva:</p>
<p xml:lang="ca">Característiques:</p>
<p xml:lang="cs">Vlastnosti:</p>
<p xml:lang="de">Funktionen:</p>
<p xml:lang="en-GB">Features:</p>
<p xml:lang="es">Funcionalidades:</p>
<p xml:lang="fi">Ominaisuuksia:</p>
+ <p xml:lang="gl">Funcionalidades:</p>
+ <p xml:lang="hu">Szolgáltatások:</p>
+ <p xml:lang="ko">기능:</p>
<p xml:lang="nb">Funksjoner:</p>
<p xml:lang="nl">Mogelijkheden:</p>
+ <p xml:lang="pa">ਫੀਚਰ:</p>
<p xml:lang="pl">Możliwości:</p>
<p xml:lang="pt">Funcionalidades:</p>
<p xml:lang="pt-BR">Funcionalidades:</p>
@@ -94,6 +115,7 @@
<p xml:lang="sr-ijekavian">Могућности:</p>
<p xml:lang="sr-ijekavianlatin">Mogućnosti:</p>
<p xml:lang="sv">Funktioner:</p>
+ <p xml:lang="tr">Özellikler:</p>
<p xml:lang="uk">Можливості:</p>
<p xml:lang="x-test">xxFeatures:xx</p>
<p xml:lang="zh-CN">功能:</p>
@@ -105,6 +127,9 @@
<li xml:lang="en-GB">Syntax highlighting according to the file type</li>
<li xml:lang="es">Resaltado de sintaxis según el tipo de archivo</li>
<li xml:lang="fi">Syntaksin korostus tiedostotyypin perusteella</li>
+ <li xml:lang="gl">Realce de sintaxe segundo o tipo do ficheiro.</li>
+ <li xml:lang="hu">Szintaxiskiemelés a fájlnak megfelelően</li>
+ <li xml:lang="ko">파일 형식별 구문 강조</li>
<li xml:lang="nb">Syntaksfremheving etter filtype</li>
<li xml:lang="nl">Syntaxisaccentuering volgens bestandstype</li>
<li xml:lang="pl">Podświetlanie składni według rodzaju pliku</li>
@@ -117,19 +142,25 @@
<li xml:lang="sr-ijekavian">истицање синтаксе према типу фајла</li>
<li xml:lang="sr-ijekavianlatin">isticanje sintakse prema tipu fajla</li>
<li xml:lang="sv">Syntaxfärgläggning enligt filtyp</li>
+ <li xml:lang="tr">Dosya türüne göre sözdizimi vurgulama</li>
<li xml:lang="uk">Підсвічування синтаксичних конструкцій відповідно до типу файла.</li>
<li xml:lang="x-test">xxSyntax highlighting according to the file typexx</li>
<li xml:lang="zh-CN">按文件类型进行语法高亮</li>
<li xml:lang="zh-TW">根據檔案型態做語法突顯</li>
<li>Word completion</li>
+ <li xml:lang="bs">Dopuna riječi</li>
<li xml:lang="ca">Compleció de paraules</li>
<li xml:lang="cs">Dokončování slov</li>
<li xml:lang="de">Wortvervollständigung</li>
<li xml:lang="en-GB">Word completion</li>
<li xml:lang="es">Comletado de palabras</li>
<li xml:lang="fi">Sanantäydennys</li>
+ <li xml:lang="gl">Completado de palabras.</li>
+ <li xml:lang="hu">Szókiegészítés</li>
+ <li xml:lang="ko">단어 완성</li>
<li xml:lang="nb">Fullføring av ord</li>
<li xml:lang="nl">Woordaanvulling</li>
+ <li xml:lang="pa">ਸ਼ਬਦ ਪੂਰਨੇ</li>
<li xml:lang="pl">Uzupełnianie słów</li>
<li xml:lang="pt">Completação de palavras</li>
<li xml:lang="pt-BR">Completação de palavras</li>
@@ -140,19 +171,25 @@
<li xml:lang="sr-ijekavian">допуна речи</li>
<li xml:lang="sr-ijekavianlatin">dopuna reči</li>
<li xml:lang="sv">Ordkomplettering</li>
+ <li xml:lang="tr">Kelime tamamlama</li>
<li xml:lang="uk">Завершення слів.</li>
<li xml:lang="x-test">xxWord completionxx</li>
<li xml:lang="zh-CN">单词补全</li>
<li xml:lang="zh-TW">文字補完</li>
<li>Auto-indentation</li>
+ <li xml:lang="bs">Automatsko uvlačenje</li>
<li xml:lang="ca">Sagnat automàtic</li>
<li xml:lang="cs">Automaticky odsadit</li>
<li xml:lang="de">Automatisches einrücken</li>
<li xml:lang="en-GB">Auto-indentation</li>
<li xml:lang="es">Sangrado automático</li>
<li xml:lang="fi">Automaattinen sisennys</li>
+ <li xml:lang="gl">Sangrado automático.</li>
+ <li xml:lang="hu">Automatikus behúzás</li>
+ <li xml:lang="ko">자동 들여쓰기</li>
<li xml:lang="nb">Automatisk innrykk</li>
<li xml:lang="nl">Automatisch inspringen</li>
+ <li xml:lang="pa">ਸਵੈ-ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ</li>
<li xml:lang="pl">Automatyczne wcięcia</li>
<li xml:lang="pt">Indentação automática</li>
<li xml:lang="pt-BR">Recuo automático</li>
@@ -163,6 +200,7 @@
<li xml:lang="sr-ijekavian">аутоматско увлачење</li>
<li xml:lang="sr-ijekavianlatin">automatsko uvlačenje</li>
<li xml:lang="sv">Automatisk indentering</li>
+ <li xml:lang="tr">Otomatik girintileme</li>
<li xml:lang="uk">Автовідступ.</li>
<li xml:lang="x-test">xxAuto-indentationxx</li>
<li xml:lang="zh-CN">自动缩进</li>
@@ -174,8 +212,12 @@
<li xml:lang="en-GB">Plugin support</li>
<li xml:lang="es">Uso de complementos</li>
<li xml:lang="fi">Liitännäistuki</li>
+ <li xml:lang="gl">Compatibilidade con complementos.</li>
+ <li xml:lang="hu">Bővíthetőség kiegészítőkkel</li>
+ <li xml:lang="ko">플러그인 지 원</li>
<li xml:lang="nb">Støtte for programtillegg</li>
<li xml:lang="nl">Ondersteuning van plug-ins</li>
+ <li xml:lang="pa">ਪਲੱਗਇਨ ਸਹਿਯੋਗ</li>
<li xml:lang="pl">Obsługa wtyczek</li>
<li xml:lang="pt">Suporte para 'plugins'</li>
<li xml:lang="pt-BR">Suporte a plugins</li>
@@ -186,19 +228,25 @@
<li xml:lang="sr-ijekavian">подршка за прикључке</li>
<li xml:lang="sr-ijekavianlatin">podrška za priključke</li>
<li xml:lang="sv">Stöd för insticksprogram</li>
+ <li xml:lang="tr">Eklenti desteği</li>
<li xml:lang="uk">Підтримка додатків.</li>
<li xml:lang="x-test">xxPlugin supportxx</li>
<li xml:lang="zh-CN">插件支持</li>
<li xml:lang="zh-TW">外掛程式支援</li>
<li>Vi input mode</li>
+ <li xml:lang="bs">Vi editor režim unosa</li>
<li xml:lang="ca">Mode d'entrada del Vi</li>
|
[-]
[+]
|
Changed |
kate-5.0.0+git1.tar.xz/kwrite/org.kde.kwrite.desktop
^
|
@@ -112,7 +112,7 @@
Name[zh_TW]=KWrite
MimeType=text/plain;
Exec=kwrite %U
-X-KDE-StartupNotify=true
+StartupNotify=true
Icon=accessories-text-editor
X-DocPath=kwrite/index.html
Type=Application
|