Commit 65ebef95 authored by Christoph Cullmann's avatar Christoph Cullmann

Merge branch 'master' into lsp

parents d034c47d 967e5b01
......@@ -23,7 +23,6 @@ Name[ga]=Brabhsálaí Cúl-Loirg
Name[gl]=Navegador de trazados inversos
Name[hu]=Visszakövetési böngésző
Name[ia]=Navigator de tracia de retro
Name[id]=Penelusur Lacak-balik
Name[is]=Afturrakningarvafri
Name[it]=Navigatore di backtrace
Name[ja]=バックトレースブラウザ
......@@ -67,9 +66,11 @@ Comment[de]=Ansicht zur Navigation in C/C++ Backtraces
Comment[el]=Προβολή C/C++ εργαλείου πλοήγησης Backtrace
Comment[en_GB]=C/C++ Backtrace navigation tool view
Comment[es]=Vista de la herramienta del navegador de trazado inverso de C/C++
Comment[eu]=C/C++ aztarnetan nabigatzeko tresnaren ikuspegia
Comment[fi]=C/C++-pinolistausnavigointinäkymä
Comment[fr]=Vue des outils de navigation dans les piles d'appels C/C++
Comment[gl]=Vista da ferramenta de navegación por trazados inversos de C e C++
Comment[id]=Tampilan alat navigasi Backtrace C/C++
Comment[it]=Vista dello strumento di navigazione di backtrace C/C++
Comment[ko]=C/C++ 역추적 탐색기 도구 보기
Comment[nl]=C/C++ Backtrace hulpmiddel voor navigatieweergave
......
......@@ -11,6 +11,7 @@ Name[de]=Dateisystem-Browser
Name[el]=Περιηγητής συστήματος αρχείων
Name[en_GB]=File System Browser
Name[es]=Navegador del sistema de archivos
Name[eu]=Fitxategi-sistemaren arakatzailea
Name[fi]=Tiedostojärjestelmäselain
Name[fr]=Explorateur du système de fichiers
Name[gl]=Navegador do sistema de ficheiros
......@@ -51,7 +52,7 @@ Comment[gl]=Vista da utilidade de navegador do sistema de ficheiros
Comment[he]=כלי לתצוגת מערכת קבצים
Comment[hu]=Fájlböngésző - Eszköznézet
Comment[ia]=Vista de instrumento de navigator de systema de file
Comment[id]=Tampilan alat penelusur file sistem
Comment[id]=Tampilan alat penelusur sistem file
Comment[it]=Strumento di selezione dei file
Comment[ja]=ファイルシステムブラウザ・ツールビュー
Comment[kk]=Файл жүйесін шолу құралы
......
......@@ -10,6 +10,7 @@ Name[de]=Dokumentbaumansicht
Name[el]=Προβολή δενδρικής δομής εγγράφων
Name[en_GB]=Document Tree View
Name[es]=Vista en árbol de documentos
Name[eu]=Dokumentuen zuhaitz-ikuspegia
Name[fi]=Tiedostopuunäkymä
Name[fr]=Arborescence des documents
Name[gl]=Vista da árbore de documentos
......@@ -47,7 +48,7 @@ Comment[gl]=Mostra os documentos abertos nunha árbore de ficheiros.
Comment[he]=הצג את המסמכים הפתוחים בעץ הקבצים
Comment[hu]=Megnyitott dokumentumok megjelenítése fastruktúrában
Comment[ia]=Monstra le documentos aperite in un arbore de file
Comment[id]=Tampilkan bukaan dokumen dalam hierarki file
Comment[id]=Mendisplaikan dokumen yang terbuka dalam sebuah hierarki file
Comment[it]=Visualizza i documenti aperti in un albero dei file
Comment[ko]=열린 문서를 파일 트리 구조로 표시합니다
Comment[nl]=Toont de geopende documenten in een boomstructuur
......
......@@ -83,7 +83,7 @@ Comment[gl]=Fornece unha interface simple para o GDB
Comment[he]=מספק ממשק פשוט עבור GDB
Comment[hu]=Egyszerű GDB előtétprogram
Comment[ia]=Il forni un simple fronte per GDB
Comment[id]=Sediakan sebuah ujung-depan GDB sederhana
Comment[id]=Menyediakan sebuah frontend GDB yang sederhana
Comment[it]=Una semplice interfaccia GDB
Comment[kk]=Қарапайым GDB интерфейсі
Comment[km]=ផ្ដល់​ផ្នែក​ខាង​មុខ​របស់​ GDB សាមញ្ញ​
......
......@@ -80,7 +80,7 @@ Comment[gl]=Compila ou constrúe e procesa as mensaxes de erro
Comment[he]=בנייה ופיענוח של שגיאות בנייה
Comment[hu]=Fordítás vagy Make művelet a hibaüzenetek feldolgozásával
Comment[ia]=Compila o face e analysa messages de error
Comment[id]=Kompilasi atau Buat dan parse pesan error
Comment[id]=Compile atau Make dan uraikan pesan error
Comment[it]=Compila o esegui make ed elabora i messaggi di errore
Comment[ja]=コンパイルまたは make してエラーメッセージを解析します
Comment[kk]=Компиляция не жинақтау және талдау қателіктер хабарламалары
......
......@@ -61,7 +61,7 @@ QVariant ConnectionModel::data(const QModelIndex &index, int role) const
break;
case Qt::UserRole:
return qVariantFromValue<Connection>(m_connections.value(key));
return QVariant::fromValue<Connection>(m_connections.value(key));
break;
case Qt::DecorationRole:
......
......@@ -247,6 +247,9 @@ void KateConsole::cd (const QString & path)
command = QStringLiteral(":cd ") + path + QStringLiteral("\n");
}
}
// Send prior Ctrl-E, Ctrl-U to ensure the line is empty
sendInput(QStringLiteral("\x05\x15"));
sendInput(command);
}
......
......@@ -10,6 +10,7 @@ Name[de]=Werkzeugansicht für Terminal
Name[el]=Προβολή εργαλείου τερματικού
Name[en_GB]=Terminal Tool View
Name[es]=Vista de la herramienta de terminal
Name[eu]=Terminalaren ikuspegi-tresna
Name[fi]=Päätenäkymä
Name[fr]=Vue des outils du terminal
Name[gl]=Vista da utilidade de terminal
......@@ -35,9 +36,11 @@ Comment[de]=Stellt ein Terminal mit KDE's Konsole bereit
Comment[el]=Έτοιμο τερματικό, με χρήση του γραφικού συστατικού της κονσόλας του KDE
Comment[en_GB]=Have a terminal at the ready, using KDE's Konsole widget
Comment[es]=Tenga un terminal disponible usando el widget Konsole de KDE
Comment[eu]=Izan terminal bat prest, KDEren Konsole trepeta erabiliz
Comment[fi]=Pidä pääte valmiina KDE:n Konsole-sovelmalla
Comment[fr]=Gardez un terminal à disposition grâce au composant graphique Konsole de KDE
Comment[gl]=Teña un terminal a man co trebello de Konsole de KDE
Comment[id]=Memiliki sebuah terminal yang sudah siap, menggunakan widget Konsole KDE punya
Comment[it]=Avere un terminale pronto, usando l'oggetto Konsole di KDE
Comment[ko]=KDE의 Konsole 위젯을 사용하여 곧바로 터미널 열기
Comment[nl]=Een terminal gereed hebben, met gebruik van de Konsole-widget van KDE
......
......@@ -54,9 +54,11 @@ Comment[de]=Ein Modul zur automatischen Vervollständigung für D, das den DCD-A
Comment[el]=Πρόσθετο αυτόματης συμπλήρωσης για την D, με τη χρήση του εξυπηρετητή αυτόματης συμπλήρωσης DCD
Comment[en_GB]=Autocompletion Plugin for D, using the DCD autocompletion server
Comment[es]=Complemento de completado automático para D que utiliza el servidor de completado automático DCD.
Comment[eu]=D-ren osatze-automatikoaren plugina, DCD osatze-automatikoaren zerbitzaria erabiliz
Comment[fi]=DCD-automaattitäydennyspalvelinta käyttävä automaattitäydennysliitännäinen D:lle
Comment[fr]=Composant externe d'auto-complètement pour le langage D qui utilise le serveur d'auto-complètement DCD
Comment[gl]=Complemento de completado automático para D que emprega o servidor de completado automático DCD
Comment[id]=Plugin Autocompletion untuk D, menggunakan server autocompletion DCD
Comment[it]=Estensione di completamento automatico per D, che usa il server di completamento automatico DCD
Comment[ko]=DCD를 자동 완성 서버로 사용하는 D 자동 완성 플러그인
Comment[nl]=Plug-in voor automatisch aanvullen voor D, met gebruikmaking van de DCD-server voor automatisch aanvullen
......
......@@ -55,6 +55,7 @@
"Description[ia]": "Vide preliminarmente le documento in le formato objectivo",
"Description[it]": "Anteprima del documento nel formato di destinazione",
"Description[ko]": "문서를 대상 형식으로 미리 보기",
"Description[ml]": "ടാർഗെറ്റ് ഫോർമാറ്റിൽ പ്രമാണം തിരനോട്ടം ചെയ്യുക",
"Description[nl]": "Het document bekijken in het doelformaat",
"Description[nn]": "Førehandsvis dokumentet i målformatet",
"Description[pl]": "Podejrzyj dokument w formacie docelowym",
......@@ -91,6 +92,7 @@
"Name[ia]": "Vista preliminar de documento",
"Name[it]": "Anteprima del documento",
"Name[ko]": "문서 미리 보기",
"Name[ml]": "പ്രമാണ പ്രിവ്യൂ",
"Name[nl]": "Voorbeeld van document",
"Name[nn]": "Førehandsvising av dokument",
"Name[pl]": "Podgląd dokumentu",
......
......@@ -51,7 +51,7 @@ Name[sr@latin]=Projektni priključak
Name[sv]=Projektinsticksprogram
Name[tg]=Плагини лоиҳа
Name[tr]=Proje Eklentisi
Name[uk]=Додаток проектів
Name[uk]=Додаток проєктів
Name[x-test]=xxProject Pluginxx
Name[zh_CN]=工程插件
Name[zh_TW]=專案外掛程式
......@@ -63,6 +63,7 @@ Comment[de]=Integration von Git und anderen Versionsverwaltungen für Quelltexte
Comment[el]=Ενσωμάτωση με το Git και με άλλα συστήματα ελέγχου πηγαίου κώδικα
Comment[en_GB]=Integration with Git and other source control systems
Comment[es]=Integración con Git y otros sistemas de control de código fuente
Comment[eu]=Git eta beste sorburu kontrolerako sistemekin bateratzea
Comment[fi]=Integrointi Gitiin ja muihin versionhallintajärjestelmiin
Comment[fr]=Intégration avec Git et d'autres systèmes de contrôle de version
Comment[gl]=Integración con Git e outros sistemas de control de código fonte
......
......@@ -55,6 +55,7 @@ Comment[de]=Replicode, eine konstruktivistische KI-Programmiersprache und Laufze
Comment[el]=Replicode (κονστρουκτιβιστική ΑΙ γλώσσα και εκτελέσιμη εφαρμογή)
Comment[en_GB]=Replicode (constructivist AI language and runtime)
Comment[es]=Replicode (lenguaje y biblioteca en tiempo de ejecución de IA constructivista)
Comment[eu]=Replicode (AI lengoaia eta exekuzio garaiko liburutegi eraikitzailea)
Comment[fi]=Replicode (konstruktivistinen AI-kieli ja -ajonaikaisympäristö)
Comment[fr]=Replicode (langage et exécutif IA constructive)
Comment[gl]=Replicode (linguaxe de intelixencia artificial constructivista e motor)
......
......@@ -65,6 +65,7 @@ Comment[de]=Suchen und Ersetzen in Dokumenten, Ordnern oder Projekten
Comment[el]=Αναζήτηση και αντικατάσταση σε έγγραφα, φακέλους ή έργα
Comment[en_GB]=Search and replace in documents, folders, or projects
Comment[es]=Buscar y sustituir en documentos, carpetas y proyectos
Comment[eu]=Bilatu eta ordeztu dokumentuetan, karpetetan, edo proiektuetan
Comment[fi]=Etsi ja korvaa tiedostoissa, kansioissa tai projekteissa
Comment[fr]=Trouver et remplacer dans des documents, des dossiers ou des projets
Comment[gl]=Buscar e substituír en documentos, cartafoles ou proxectos
......@@ -79,7 +80,7 @@ Comment[ru]=Поиск и замена в открытых документах
Comment[sk]=Hľadať & nahradiť v otvorených dokumentoch alebo v súboroch na disku
Comment[sv]=Sök och ersätt i dokument, kataloger eller projekt
Comment[tr]=Belgelerde, dizin ve projelerde ara ve değiştir
Comment[uk]=Пошук з заміною у відкритих документах,теках або проектах
Comment[uk]=Пошук з заміною у відкритих документах,теках або проєктах
Comment[x-test]=xxSearch and replace in documents, folders, or projectsxx
Comment[zh_CN]=在文档,文件夹或项目中搜索和替换
Comment[zh_TW]=在檔案、資料夾或專案中搜尋並取代
......@@ -11,6 +11,7 @@ Name[de]=Werkzeugansicht für Textbausteine
Name[el]=Προβολή εργαλείου τμημάτων κώδικα
Name[en_GB]=Snippets Tool View
Name[es]=Vista de la herramienta de fragmentos de código
Name[eu]=Testu-zatien tresnaren ikuspegia
Name[fi]=Leiketyökalunäkymä
Name[fr]=Vue des outils de fragments de code
Name[gl]=Vista da ferramenta de fragmentos
......@@ -37,6 +38,7 @@ Comment[de]=Verwaltung Ihrer Textbausteine oder Herunterladen neuer Textbaustein
Comment[el]=Διαχειριστείτε τμήματα κώδικα ή κάετε λήψη νέων
Comment[en_GB]=Manage your code snippets or download new ones
Comment[es]=Gestione sus fragmentos de código o descargue otros nuevos
Comment[eu]=Kudeatu zure kodearen testu-zatiak edo jeitsi berriak
Comment[fi]=Hallitse koodileikkeitäsi ja lataa uusia
Comment[fr]=Gérez vos fragments de code et téléchargez-en de nouveaux
Comment[gl]=Xestione os seus fragmentos de código ou descargue novos
......
add_definitions(-DTRANSLATION_DOMAIN=\"katesymbolviewer\")
########### next target ###############
set(katesymbolviewerplugin_PART_SRCS cpp_parser.cpp tcl_parser.cpp fortran_parser.cpp perl_parser.cpp
php_parser.cpp xslt_parser.cpp ruby_parser.cpp python_parser.cpp bash_parser.cpp ecma_parser.cpp plugin_katesymbolviewer.cpp )
php_parser.cpp xslt_parser.cpp xml_parser.cpp ruby_parser.cpp python_parser.cpp bash_parser.cpp ecma_parser.cpp plugin_katesymbolviewer.cpp )
# resource for ui file and stuff
qt5_add_resources(katesymbolviewerplugin_PART_SRCS plugin.qrc)
......
......@@ -332,6 +332,8 @@ void KatePluginSymbolViewerView::parseSymbols()
parseCppSymbols();
else if (hlModeName == QLatin1String("xslt"))
parseXsltSymbols();
else if (hlModeName == QLatin1String("XML") || hlModeName == QLatin1String("HTML"))
parseXMLSymbols();
else if (hlModeName == QLatin1String("Bash"))
parseBashSymbols();
else if (hlModeName == QLatin1String("ActionScript 2.0") ||
......
......@@ -133,6 +133,7 @@ class KatePluginSymbolViewerView : public QObject, public KXMLGUIClient
void parsePythonSymbols(void);
void parseRubySymbols(void);
void parseXsltSymbols(void);
void parseXMLSymbols(void);
void parsePhpSymbols(void);
void parseBashSymbols(void);
void parseEcmaSymbols(void);
......
/***************************************************************************
xml_parser.cpp - Produce a rudimentary list of tags/elements
present in XML or HTML files. In the tree view of the
symbolviewer plugin the list is grouped by the element type.
-------------------
begin : May 3 2019
author : 20019 Andreas Hohenegger based on
xslt_parser.cpp by jiri Tyr
email : hohenegger@gmail.com
***************************************************************************/
/***************************************************************************
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
***************************************************************************/
#include "plugin_katesymbolviewer.h"
void KatePluginSymbolViewerView::parseXMLSymbols(void)
{
if (!m_mainWindow->activeView())
return;
m_struct->setText(i18n("Show Tags"));
QString cl;
QString stripped;
char comment = 0;
int i;
QPixmap cls( ( const char** ) class_xpm );
QPixmap sct( ( const char** ) struct_xpm );
QTreeWidgetItem *node = nullptr;
QTreeWidgetItem *topNode = nullptr;
KTextEditor::Document *kv = m_mainWindow->activeView()->document();
m_symbols->setRootIsDecorated(0);
for (i=0; i<kv->lines(); i++) {
cl = kv->line(i);
cl = cl.trimmed();
if(cl.indexOf(QRegularExpression(QLatin1String("<!--"))) >= 0) {
comment = 1;
}
if(cl.indexOf(QRegularExpression(QLatin1String("-->"))) >= 0) {
comment = 0;
continue;
}
if (comment==1) {
continue;
}
if(cl.indexOf(QRegularExpression(QLatin1String("^<[a-zA-Z_]+[a-zA-Z0-9_\\.\\-]*"))) == 0 && m_struct->isChecked()){
/* Get the tag type */
QString type;
QRegularExpressionMatch match;
QRegularExpression re(QLatin1String("^<([a-zA-Z_]+[a-zA-Z0-9_\\.\\-]*)"));
if (cl.contains(re, &match))
type = match.captured(1);
else
continue;
QString stripped = cl.remove(QRegularExpression(QLatin1String("^<[a-zA-Z_]+[a-zA-Z0-9_\\.\\-]* *")));
stripped = stripped.remove(QRegularExpression(QLatin1String(" */*>.*")));
if (m_treeOn->isChecked()) {
/* See if group already exists */
QList<QTreeWidgetItem*> reslist = m_symbols->findItems(type, Qt::MatchExactly);
if(reslist.isEmpty()) {
topNode = new QTreeWidgetItem(m_symbols, QStringList(type));
topNode->setIcon(0, QIcon(cls));
if (m_expandOn->isChecked()) {
m_symbols->expandItem(topNode);
}
} else {
topNode = reslist[0];
}
node = new QTreeWidgetItem(topNode);
topNode->addChild(node);
} else {
node = new QTreeWidgetItem(m_symbols);
}
node->setIcon(0, QIcon(sct));
node->setText(0, stripped);
node->setText(1, QString::number( i, 10));
}
}
}
/* This file is part of the KDE project
*
* Copyright (C) 2018 Gregor Mi <codestruct@posteo.org>
* Copyright (C) 2019 Dominik Haumann <dhaumann@kde.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
......@@ -74,4 +75,9 @@ void KateTabSwitcherTest::testLongestCommonPrefix_data()
strs.push_back(QStringLiteral("a"));
strs.push_back(QStringLiteral("a"));
QTest::newRow("two equal strings") << strs << QStringLiteral("a");
strs.clear();
strs.push_back(QStringLiteral("/home/autolink"));
strs.push_back(QStringLiteral("/home/async"));
QTest::newRow("find correct path prefix") << strs << QStringLiteral("/home/");
}
/* This file is part of the KDE project
Copyright (C) 2014 Dominik Haumann <dhaumann@kde.org>
Copyright (C) 2014-2019 Dominik Haumann <dhaumann@kde.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
......@@ -123,8 +123,9 @@ void TabSwitcherPluginView::setupActions()
void TabSwitcherPluginView::setupModel()
{
const auto documents = KTextEditor::Editor::instance()->application()->documents();
// initial fill of model
foreach (auto doc, KTextEditor::Editor::instance()->application()->documents()) {
for (auto doc : documents) {
registerDocument(doc);
}
}
......@@ -135,7 +136,7 @@ void TabSwitcherPluginView::registerDocument(KTextEditor::Document * document)
m_documents.insert(document);
// add to model
m_model->insertRow(0, detail::FilenameListItem(document));
m_model->insertDocument(0, document);
// track document name changes
connect(document, &KTextEditor::Document::documentNameChanged, this, &TabSwitcherPluginView::updateDocumentName);
......@@ -150,18 +151,10 @@ void TabSwitcherPluginView::unregisterDocument(KTextEditor::Document * document)
m_documents.remove(document);
// remove from model
const auto rowCount = m_model->rowCount();
for (int i = 0; i < rowCount; ++i) {
auto doc = m_model->item(i)->document;
if (doc == document) {
m_model->removeRow(i);
m_model->removeDocument(document);
// disconnect documentNameChanged() signal
disconnect(document, nullptr, this, nullptr);
break;
}
}
// disconnect documentNameChanged() signal
disconnect(document, nullptr, this, nullptr);
}
void TabSwitcherPluginView::updateDocumentName(KTextEditor::Document * document)
......@@ -170,15 +163,9 @@ void TabSwitcherPluginView::updateDocumentName(KTextEditor::Document * document)
return;
}
const auto rowCount = m_model->rowCount();
for (int i = 0; i < rowCount; ++i) {
auto doc = m_model->item(i)->document;
if (doc == document) {
m_model->updateItem(m_model->item(i), document->documentName(), document->url().toLocalFile());
//m_model->item(i)->setText(document->documentName());
break;
}
}
// update all items, since a document URL change menas we have to recalculate
// common prefix path of all items.
m_model->updateItems();
}
void TabSwitcherPluginView::raiseView(KTextEditor::View * view)
......@@ -187,8 +174,7 @@ void TabSwitcherPluginView::raiseView(KTextEditor::View * view)
return;
}
unregisterDocument(view->document());
registerDocument(view->document());
m_model->raiseDocument(view->document());
}
void TabSwitcherPluginView::walk(const int from, const int to)
......@@ -269,7 +255,7 @@ void TabSwitcherPluginView::activateView(const QModelIndex & index)
const int row = m_treeView->selectionModel()->selectedRows().first().row();
auto doc = m_model->item(row)->document;
auto doc = m_model->item(row);
m_mainWindow->activateView(doc);
m_treeView->hide();
......
......@@ -40,9 +40,10 @@ public:
FilenameListItem(KTextEditor::Document* doc);
KTextEditor::Document *document;
QIcon icon;
QString documentName;
QString fullPath;
QIcon icon() const;
QString documentName() const;
QString fullPath() const;
/**
* calculated from documentName and fullPath
*/
......@@ -57,30 +58,52 @@ class TabswitcherFilesModel : public QAbstractTableModel
public:
explicit TabswitcherFilesModel(QObject *parent = nullptr);
virtual ~TabswitcherFilesModel() = default;
TabswitcherFilesModel(const FilenameList & data);
bool insertRow(int row, const FilenameListItem & item);
bool removeRow(int row);
bool insertDocument(int row, KTextEditor::Document * document);
bool removeDocument(KTextEditor::Document * document);
/**
* Clears all data from the model
*/
void clear();
int rowCount() const;
/**
* NOTE: The returned pointer will become invalid as soon as the underlying vector changes.
*/
FilenameListItem * item(int row) const;
KTextEditor::Document * item(int row) const;
/**
* Move the document to row 0.
*/
void raiseDocument(KTextEditor::Document * document);
/*
* Use this method to update an item.
* NOTE: This could be improved if we allow KTextEditor::Document to go into this interface.
* Then we could search and update by KTextEditor::Document.
* Use this method to update all items.
* This is typically needed when a document name changes, since then the prefix paths change,
* so all items need an update.
*/
void updateItems();
/**
* Reimplemented to return the column count of top-level items.
*/
void updateItem(FilenameListItem * item, QString const & documentName, QString const & fullPath);
int columnCount(const QModelIndex & parent = QModelIndex()) const override;
protected:
int columnCount(const QModelIndex & parent) const override;
int rowCount(const QModelIndex & parent) const override;
/**
* Reimplemented to return the top-level row count.
*/
int rowCount(const QModelIndex & parent = QModelIndex()) const override;
/**
* Returns the data for the requested model index.
*/
QVariant data(const QModelIndex & index, int role) const override;
/**
* Reimplemented to remove the specified rows.
* The paret is always ignored since this is a table model.
*/
bool removeRows(int row, int count, const QModelIndex & parent = QModelIndex()) override;
private:
FilenameList data_;
};
......
......@@ -11,6 +11,7 @@ Name[de]=Dokumentumschalter
Name[el]=Εναλλαγή εγγράφου
Name[en_GB]=Document Switcher
Name[es]=Selector de documentos
Name[eu]=Dokumentu-aldatzailea
Name[fi]=Tiedostovaihtaja
Name[fr]=Changeur de document
Name[gl]=Alternador de documentos
......@@ -38,6 +39,7 @@ Comment[de]=Schnellwechsler für Dokumente mit Alt+Tabulator
Comment[el]=Γρήγορη εναλλαγή εγγράφου με Alt+Tab
Comment[en_GB]=Quick document switching with Alt+Tab behaviour
Comment[es]=Cambio rápido de documento con el comportamiento de Alt+Tab
Comment[eu]=Dokumentu arteko aldatze azkarra Alt+Tab jokabidearekin
Comment[fi]=Tiedostojen pikavaihtaja Alt+Sarkain-toiminnalla
Comment[fr]=Commutateur rapide de documents utilisant le comportement de la combinaison alt + tab
Comment[gl]=Comportamento de alternancia rápida entre documentos mediante Alt+Tab.
......
/* This file is part of the KDE project
*
* Copyright (C) 2018 Gregor Mi <codestruct@posteo.org>
* Copyright (C) 2019 Dominik Haumann <dhaumann@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 "tstestapp.h"
#include "../tabswitcherfilesmodel.h"
......@@ -29,7 +49,7 @@ class TsTestApp::Impl
public:
void insert_1_item()
{
model.insertRow(0, detail::FilenameListItem(addDoc(QStringLiteral("/home/user2/folder1/abc.d"))));
model.insertDocument(0, addDoc(QStringLiteral("/home/user2/folder1/abc.d")));
treeview1->resizeColumnToContents(0);
}
......@@ -44,13 +64,13 @@ public:
model.clear();
auto icon = QIcon::fromTheme(QLatin1String("document-export"));
model.insertRow(model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gregor/logs/notifications/multimedia-system.log"))));
model.insertRow(model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gregor/dev/src/kservicemenueditor-0.2a/servicemenueditor"))));
model.insertRow(model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gregor/kde/src/kdesrc-build/kdesrc-build"))));
model.insertRow(model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gregor/node_modules/autolinker/README.md"))));
model.insertRow(model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gregor/node_modules/autolinker/package.json"))));
model.insertRow(model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gregor/node_modules/autolinker/LICENSE"))));
model.insertRow(model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gregor/node_modules/asynckit/package.json"))));
model.insertDocument(model.rowCount(), addDoc(QStringLiteral("/home/gregor/logs/notifications/multimedia-system.log")));
model.insertDocument(model.rowCount(), addDoc(QStringLiteral("/home/gregor/dev/src/kservicemenueditor-0.2a/servicemenueditor")));
model.insertDocument(model.rowCount(), addDoc(QStringLiteral("/home/gregor/kde/src/kdesrc-build/kdesrc-build")));
model.insertDocument(model.rowCount(), addDoc(QStringLiteral("/home/gregor/node_modules/autolinker/README.md")));
model.insertDocument(model.rowCount(), addDoc(QStringLiteral("/home/gregor/node_modules/autolinker/package.json")));
model.insertDocument(model.rowCount(), addDoc(QStringLiteral("/home/gregor/node_modules/autolinker/LICENSE")));
model.insertDocument(model.rowCount(), addDoc(QStringLiteral("/home/gregor/node_modules/asynckit/package.json")));
treeview1->resizeColumnToContents(0);
}
......@@ -90,11 +110,11 @@ TsTestApp::TsTestApp(QWidget *parent) :
impl_->treeview1->setRootIsDecorated(false);
auto icon = QIcon::fromTheme(QLatin1String("edit-undo"));
impl_->model.insertRow(impl_->model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gm/projects/proj1/src/file1.h"))));
impl_->model.insertRow(impl_->model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gm/projects/proj1/src/file2.cpp"))));
impl_->model.insertRow(impl_->model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gm/dev/file3.py"))));
impl_->model.insertRow(impl_->model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gm/dev/file3kjaskdfkljasdfklj089asdfkjklasdjf90asdfsdfkj.py"))));
impl_->model.insertRow(impl_->model.rowCount(), detail::FilenameListItem(addDoc(QStringLiteral("/home/gm/dev/proj2/asldfkjasdfk/asdlfkjasd;faf/;ajsdkfgjaskdfgasdf/file3.py"))));
impl_->model.insertDocument(impl_->model.rowCount(), addDoc(QStringLiteral("/home/gm/projects/proj1/src/file1.h")));
impl_->model.insertDocument(impl_->model.rowCount(), addDoc(QStringLiteral("/home/gm/projects/proj1/src/file2.cpp")));
impl_->model.insertDocument(impl_->model.rowCount(), addDoc(QStringLiteral("/home/gm/dev/file3.py")));
impl_->model.insertDocument(impl_->model.rowCount(), addDoc(QStringLiteral("/home/gm/dev/file3kjaskdfkljasdfklj089asdfkjklasdjf90asdfsdfkj.py")));
impl_->model.insertDocument(impl_->model.rowCount(), addDoc(QStringLiteral("/home/gm/dev/proj2/asldfkjasdfk/asdlfkjasd;faf/;ajsdkfgjaskdfgasdf/file3.py")));
//impl_->insert_a_item();
//impl_->remove_a_item();
......
/* This file is part of the KDE project
*
* Copyright (C) 2018 Gregor Mi <codestruct@posteo.org>
* Copyright (C) 2019 Dominik Haumann <dhaumann@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.
*/
#pragma once
#include <QMainWindow>
......
......@@ -107,7 +107,7 @@
<p xml:lang="ia">Kate es un editor de texto per multi-documento, multi-vista. Illo ha characteristicas como codefolding (plicamento de codice), dynamic word wrap (excision dynamic de parolas), un consolle incorpporate, un interfacie de plugin extensive e alcun supporto preliminari per le scripting.</p>
<p xml:lang="id">Kate adalah editor teks multi-dokumen multi-tampilan oleh KDE. Ini fitur hal-hal seperti codefolding, syntaxhighlighting, bungkus kata dinamis, konsol tertanam, antarmuka plugin yang luas dan beberapa dukungan scripting awal.</p>
<p xml:lang="it">Kate è un editor di testi multi-documento e multi-vista di KDE. È dotato di funzionalità come il raggruppamento del codice, l'evidenziazione della sintassi, a capo automatico dinamico, una console integrata, un'interfaccia potenziabile tramite estensioni e qualche supporto preliminare per la creazione di script.</p>
<p xml:lang="ko">Kate는 KDE의 다문서 다화면 텍스트 편집기입니다. 코드 접기, 구문 강조, 동적 워드랩, 내장된 콘솔, 플러그인 인터페이스, 스크립트 기능을 지원합니다.</p>
<p xml:lang="ko">Kate는 KDE의 다문서 다화면 텍스트 편집기입니다. 코드 접기, 구문 강조, 동적 줄 바꿈, 내장된 콘솔, 플러그인 인터페이스, 스크립트 기능을 지원합니다.</p>
<p xml:lang="nl">Kate is een multi-document, multi-view tekstbewerker door 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="nn">Kate er eit skriveprogram frå KDE som kan handsama fleire dokument og fleire visingar samtidig. Det har funksjonar som kodefalding, syntaksmerking, dymamisk linjebryting, ein innebygd terminalemulator, eit omfattande grensesnitt for programtillegg og enkel skriptstøtte.</p>
<p xml:lang="pl">Kate jest wielodokumentowym, wielowidokowym edytorem tekstu stworzonym przez 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>
......@@ -270,7 +270,7 @@
<li xml:lang="ia">CR, CRLF, LF supporto de nove linea</li>
<li xml:lang="id">Dukungan CR, CRLF, LF newline</li>
<li xml:lang="it">Supporto ritorno a capo CR, CRLF, LF</li>
<li xml:lang="ko">CR, CRLF, LF 새 줄</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="nn">Støtte for linjeskift med CR, CRLF eller LF</li>
......@@ -509,7 +509,7 @@
<li xml:lang="gl">Funcionalidade de desfacer e refacer sen limitacións.</li>
<li xml:lang="hu">Végtelen visszavonás/újra végrehajtás</li>
<li xml:lang="ia">Supporto per annullation e re-facer infinite</li>
<li xml:lang="id">Dukungan takjadi/jadilagi tak terbatas</li>
<li xml:lang="id">Dukungan urungkan/lanjurkan tak terbatas</li>
<li xml:lang="it">Supporto annulla/rifai infinito</li>
<li xml:lang="ko">무한 실행 취소/다시 실행 지원</li>
<li xml:lang="nb">Ubegrenset støtte for angring/omgjøring</li>
......@@ -909,6 +909,7 @@
<caption xml:lang="el">Επεξεργασία κώδικα με το Kate</caption>
<caption xml:lang="en-GB">Editing code with Kate</caption>
<caption xml:lang="es">Edición de código con Kate</caption>
<caption xml:lang="eu">Kate-rekin kodea editatzea</caption>
<caption xml:lang="fi">Koodin muokkaus Katella</caption>
<caption xml:lang="fr">Édition de code avec Kate</caption>
<caption xml:lang="gl">Editando código con Kate</caption>
......
......@@ -486,10 +486,6 @@ void KateApp::remoteMessageReceived(const QString &message, QObject *)
}
if (auto win = activeKateMainWindow()) {
// like QtSingleApplication
win->setWindowState(win->windowState() & ~Qt::WindowMinimized);
win->raise();
win->activateWindow();
}
// try to activate current window
m_adaptor.activate();
}
......@@ -42,6 +42,9 @@ void KateAppAdaptor::activate()
win->setWindowState(win->windowState() & ~Qt::WindowMinimized);
win->raise();
win->activateWindow();
// try to raise window, see bug 407288
KWindowSystem::raiseWindow(win->winId());
}
bool KateAppAdaptor::openUrl(const QString &url, const QString &encoding)
......
......@@ -39,7 +39,6 @@
#include <KConfigGroup>
#include <KSharedConfig>
#include <KPluralHandlingSpinBox>
#include <KComboBox>
#include <QDesktopServices>
#include <QCheckBox>
......@@ -48,6 +47,7 @@
#include <QGroupBox>
#include <QLabel>
#include <QVBoxLayout>
#include <QComboBox>
KateConfigDialog::KateConfigDialog(KateMainWindow *parent, KTextEditor::View *view)
: KPageDialog(parent)
......@@ -153,14 +153,14 @@ KateConfigDialog::KateConfigDialog(KateMainWindow *parent, KTextEditor::View *vi
hlayout = new QHBoxLayout(buttonGroup);
label = new QLabel(i18n("&Match Mode:"), buttonGroup);
hlayout->addWidget(label);
m_cmbQuickOpenMatchMode = new KComboBox(buttonGroup);
m_cmbQuickOpenMatchMode = new QComboBox(buttonGroup);
hlayout->addWidget(m_cmbQuickOpenMatchMode);
label->setBuddy(m_cmbQuickOpenMatchMode);
m_cmbQuickOpenMatchMode->addItem(i18n("Filename"), QVariant(KateQuickOpenModel::Columns::FileName));