...
 
Commits (35)
......@@ -9,8 +9,8 @@ set(KF5_DEP_VERSION "5.40.0")
# KDE Application Version, managed by release script
set (KDE_APPLICATIONS_VERSION_MAJOR "19")
set (KDE_APPLICATIONS_VERSION_MINOR "07")
set (KDE_APPLICATIONS_VERSION_MICRO "70")
set (KDE_APPLICATIONS_VERSION_MINOR "08")
set (KDE_APPLICATIONS_VERSION_MICRO "3")
set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")
# we need some parts of the ECM CMake helpers
......
......@@ -44,6 +44,7 @@
#include <QAction>
#include <QDir>
#include <QLineEdit>
#include <QStyle>
#include <QVBoxLayout>
//END Includes
......@@ -53,7 +54,6 @@ KateFileBrowser::KateFileBrowser(KTextEditor::MainWindow *mainWindow,
: QWidget (parent)
, m_mainWindow(mainWindow)
{
QVBoxLayout *mainLayout = new QVBoxLayout(this);
mainLayout->setContentsMargins(0, 0, 0, 0);
mainLayout->setSpacing(0);
......@@ -62,6 +62,12 @@ KateFileBrowser::KateFileBrowser(KTextEditor::MainWindow *mainWindow,
m_toolbar->setMovable(false);
m_toolbar->setToolButtonStyle(Qt::ToolButtonIconOnly);
m_toolbar->setContextMenuPolicy(Qt::NoContextMenu);
// ensure reasonable icons sizes, like e.g. the quick-open and co. icons
// the normal toolbar sizes are TOO large, e.g. for scaled stuff even more!
const int iconSize = style()->pixelMetric(QStyle::PM_ButtonIconSize, nullptr, this);
m_toolbar->setIconSize(QSize(iconSize, iconSize));
mainLayout->addWidget(m_toolbar);
// includes some actions, but not hooked into the shortcut dialog atm
......@@ -243,7 +249,7 @@ void KateFileBrowser::openSelectedFiles()
if (KMessageBox::questionYesNo(this,i18np("You are trying to open 1 file, are you sure?", "You are trying to open %1 files, are you sure?", list.count()))
== KMessageBox::No) return;
}
foreach (const KFileItem& item, list)
{
m_mainWindow->openUrl(item.url());
......@@ -334,7 +340,7 @@ void KateFileBrowser::setupActions()
optionsMenu->addAction(m_autoSyncFolder);
m_actionCollection->addAction(QStringLiteral("configure"), optionsMenu);
//
// Remove all shortcuts due to shortcut clashes (e.g. F5: reload, Ctrl+B: bookmark)
// BUGS: #188954, #236368
......
......@@ -15,6 +15,7 @@ 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
Name[id]=Penelusur Sistem File
Name[it]=Selettore dei file
Name[ko]=파일 시스템 탐색기
Name[nl]=Bestandssysteembrowser
......
......@@ -39,7 +39,7 @@
#include <QAction>
#include <QApplication>
#include <QVBoxLayout>
#include <QStyle>
#include "katefiletreedebug.h"
......@@ -133,22 +133,20 @@ KateFileTreePluginView::KateFileTreePluginView(KTextEditor::MainWindow *mainWind
m_toolView = mainWindow->createToolView(plug, QStringLiteral("kate_private_plugin_katefiletreeplugin"), KTextEditor::MainWindow::Left, QIcon::fromTheme(QStringLiteral("document-open")), i18n("Documents"));
Q_ASSERT(m_toolView->layout());
m_toolView->layout()->setContentsMargins(0, 0, 0, 0);
m_toolView->layout()->setSpacing(0);
auto mainLayout = m_toolView->layout();
// create toolbar
m_toolbar = new KToolBar(m_toolView);
m_toolbar->setMovable(false);
m_toolbar->setToolButtonStyle(Qt::ToolButtonIconOnly);
m_toolbar->setContextMenuPolicy(Qt::NoContextMenu);
mainLayout->addWidget(m_toolbar);
// ensure reasonable icons sizes, like e.g. the quick-open and co. icons
// the normal toolbar sizes are TOO large, e.g. for scaled stuff even more!
const int iconSize = m_toolView->style()->pixelMetric(QStyle::PM_ButtonIconSize, nullptr, m_toolView);
m_toolbar->setIconSize(QSize(iconSize, iconSize));
// create filetree
m_fileTree = new KateFileTree(m_toolView);
m_fileTree->setSortingEnabled(true);
mainLayout->addWidget(m_fileTree);
connect(m_fileTree, &KateFileTree::activateDocument, this, &KateFileTreePluginView::activateDocument);
connect(m_fileTree, &KateFileTree::viewModeChanged, this, &KateFileTreePluginView::viewModeChanged);
......
......@@ -6,6 +6,7 @@ Name=Document Tree View
Name[ast]=Vista n'árbole de documentos
Name[ca]=Vista en arbre de documents
Name[ca@valencia]=Vista en arbre de documents
Name[cs]=Pohled na Strom dokumentu
Name[de]=Dokumentbaumansicht
Name[el]=Προβολή δενδρικής δομής εγγράφων
Name[en_GB]=Document Tree View
......@@ -14,6 +15,7 @@ Name[eu]=Dokumentuen zuhaitz-ikuspegia
Name[fi]=Tiedostopuunäkymä
Name[fr]=Arborescence des documents
Name[gl]=Vista da árbore de documentos
Name[id]=Tampilan Hierarki Dokumen
Name[it]=Vista dell'albero del documento
Name[ko]=문서 전환기
Name[nl]=Documentboomstructuur
......
......@@ -44,6 +44,7 @@
#include <qtimer.h>
#include <QApplication>
#include <QClipboard>
#include <QStyle>
#include <QTime>
DataOutputWidget::DataOutputWidget(QWidget *parent)
......@@ -60,7 +61,11 @@ DataOutputWidget::DataOutputWidget(QWidget *parent)
KToolBar *toolbar = new KToolBar(this);
toolbar->setOrientation(Qt::Vertical);
toolbar->setToolButtonStyle(Qt::ToolButtonIconOnly);
toolbar->setIconSize(QSize(16, 16));
// ensure reasonable icons sizes, like e.g. the quick-open and co. icons
// the normal toolbar sizes are TOO large, e.g. for scaled stuff even more!
const int iconSize = style()->pixelMetric(QStyle::PM_ButtonIconSize, nullptr, this);
toolbar->setIconSize(QSize(iconSize, iconSize));
/// TODO: disable actions if no results are displayed or selected
......
......@@ -27,6 +27,7 @@
#include <qlayout.h>
#include <qtextedit.h>
#include <qdatetime.h>
#include <QStyle>
TextOutputWidget::TextOutputWidget(QWidget *parent)
: QWidget(parent)
......@@ -49,7 +50,11 @@ TextOutputWidget::TextOutputWidget(QWidget *parent)
KToolBar *toolbar = new KToolBar(this);
toolbar->setOrientation(Qt::Vertical);
toolbar->setToolButtonStyle(Qt::ToolButtonIconOnly);
toolbar->setIconSize(QSize(16, 16));
// ensure reasonable icons sizes, like e.g. the quick-open and co. icons
// the normal toolbar sizes are TOO large, e.g. for scaled stuff even more!
const int iconSize = style()->pixelMetric(QStyle::PM_ButtonIconSize, nullptr, this);
toolbar->setIconSize(QSize(iconSize, iconSize));
/// TODO: disable actions if no results are displayed
......
......@@ -14,6 +14,7 @@ Name[eu]=Terminalaren ikuspegi-tresna
Name[fi]=Päätenäkymä
Name[fr]=Vue des outils du terminal
Name[gl]=Vista da utilidade de terminal
Name[id]=Tampilan Alat Terminal
Name[it]=Vista dello strumento Terminale
Name[ko]=터미널 도구 보기
Name[nl]=Terminalweergave
......
......@@ -4,31 +4,48 @@ ServiceTypes=KTextEditor/Plugin
X-KDE-Library=lspclientplugin
Name=LSP Client
Name[ca]=Client LSP
Name[cs]=Klient LSP
Name[de]=LSP-CLient
Name[en_GB]=LSP Client
Name[es]=Cliente LSP
Name[eu]=LSP bezeroa
Name[fr]=Client LSP
Name[gl]=Cliente de LSP
Name[id]=Klien LSP
Name[it]=Client LSP
Name[ko]=LSP 클라이언트
Name[nl]=LSP-client
Name[nn]=LSP-klient
Name[pl]=Klient LSP
Name[pt]=Cliente de LSP
Name[pt_BR]=Cliente LSP
Name[ru]=Клиент LSP
Name[sk]=LSP Client
Name[sv]=LSP-klient
Name[uk]=Клієнт LSP
Name[x-test]=xxLSP Clientxx
Name[zh_CN]=LSP 客户端
Name[zh_TW]=LSP 客戶端
Comment=Language Server Protocol Client
Comment[ca]=Client del protocol de servidor de llenguatge
Comment[cs]=Klient pro Language Server Protocol
Comment[de]=Sprachserverprotokoll-Client
Comment[en_GB]=Language Server Protocol Client
Comment[es]=Cliente del protocolo de servidor de lenguaje
Comment[eu]=Lengoaia Zerbitzari Protokolo bezeroa
Comment[fr]=Client Language Server Protocol
Comment[gl]=Cliente do protocolo de servidor de linguaxes
Comment[it]=Client Language Server Protocol
Comment[ko]=언어 서버 프로토콜 클라이언트
Comment[nl]=Language Server Protocol Client
Comment[nn]=Klient for Language Server Protocol
Comment[pl]=Klient protokołu języka serwera
Comment[pt]=Cliente de Language Server Protocol (LSP)
Comment[pt_BR]=Cliente de Language Server Protocol (LSP)
Comment[ru]=Поддержка Language Server Protocol
Comment[sk]=Language Server Protocol Client
Comment[sv]=Klient för språkserverprotokollet (Language Server Protocol)
Comment[uk]=Клієнт протоколу сервера мов (LSP)
Comment[x-test]=xxLanguage Server Protocol Clientxx
Comment[zh_CN]=语言服务器协议客户端
Comment[zh_TW]=「語言伺服器協定」客戶端
......@@ -162,13 +162,12 @@ public:
};
int count = 0;
auto const None = LSPClientServer::State::None;
for (const auto & el: m_servers) {
for (const auto & s: el) {
disconnect(s.get(), nullptr, this, nullptr);
if (s->state() != None) {
if (s->state() != LSPClientServer::State::None) {
auto handler = [&q, &count, s] () {
if (s->state() != None) {
if (s->state() != LSPClientServer::State::None) {
if (--count == 0) {
q.quit();
}
......
......@@ -50,6 +50,7 @@ Comment=Autocompletion Plugin for D, using the DCD autocompletion server
Comment[ast]=Complementu d'autocompletáu pa D qu'usa'l sirvidor d'autocompletáu DCD
Comment[ca]=Connector de compleció automàtica pel D, que usa el servidor de compleció automàtica DCD
Comment[ca@valencia]=Connector de compleció automàtica pel D, que usa el servidor de compleció automàtica DCD
Comment[cs]=Automatické doplňování D využívající server pro automatické doplňování DCD
Comment[de]=Ein Modul zur automatischen Vervollständigung für D, das den DCD-Auto-Vervollständigungs-Server benutzt
Comment[el]=Πρόσθετο αυτόματης συμπλήρωσης για την D, με τη χρήση του εξυπηρετητή αυτόματης συμπλήρωσης DCD
Comment[en_GB]=Autocompletion Plugin for D, using the DCD autocompletion server
......
......@@ -18,6 +18,7 @@
"Name[fr]": "Friedrich W. H. Kossebau",
"Name[gl]": "Friedrich W. H. Kossebau",
"Name[ia]": "Friedrich W. H. Kossebau",
"Name[id]": "Friedrich W. H. Kossebau",
"Name[it]": "Friedrich W. H. Kossebau",
"Name[ko]": "Friedrich W. H. Kossebau",
"Name[nl]": "Friedrich W. H. Kossebau",
......@@ -53,6 +54,7 @@
"Description[fr]": "Aperçu du document dans le format de destination",
"Description[gl]": "Previsualizar o documento no formato de destino.",
"Description[ia]": "Vide preliminarmente le documento in le formato objectivo",
"Description[id]": "Pratinjaukan dokumen di dalam format sasaran",
"Description[it]": "Anteprima del documento nel formato di destinazione",
"Description[ko]": "문서를 대상 형식으로 미리 보기",
"Description[ml]": "ടാർഗെറ്റ് ഫോർമാറ്റിൽ പ്രമാണം തിരനോട്ടം ചെയ്യുക",
......@@ -90,6 +92,7 @@
"Name[fr]": "Aperçu de document",
"Name[gl]": "Vista previa do documento",
"Name[ia]": "Vista preliminar de documento",
"Name[id]": "Pratinjau Dokumen",
"Name[it]": "Anteprima del documento",
"Name[ko]": "문서 미리 보기",
"Name[ml]": "പ്രമാണ പ്രിവ്യൂ",
......
......@@ -39,11 +39,6 @@ KateProjectInfoViewTerminal::KateProjectInfoViewTerminal(KateProjectPluginView *
m_layout = new QVBoxLayout(this);
m_layout->setSpacing(0);
m_layout->setContentsMargins(0, 0, 0, 0);
/**
* initial terminal creation
*/
loadTerminal();
}
KateProjectInfoViewTerminal::~KateProjectInfoViewTerminal()
......@@ -64,6 +59,16 @@ KPluginFactory *KateProjectInfoViewTerminal::pluginFactory()
return s_pluginFactory = KPluginLoader(QStringLiteral("konsolepart")).factory();
}
void KateProjectInfoViewTerminal::showEvent(QShowEvent *)
{
/**
* we delay the terminal construction until we have some part to have a usable WINDOWID, see bug 411965
*/
if (!m_konsolePart) {
loadTerminal();
}
}
void KateProjectInfoViewTerminal::loadTerminal()
{
/**
......
......@@ -70,6 +70,13 @@ private Q_SLOTS:
*/
void overrideShortcut(QKeyEvent *event, bool &override);
protected:
/**
* the konsole get shown
* @param ev show event
*/
void showEvent(QShowEvent *ev) override;
private:
/**
* plugin factory for the terminal
......
......@@ -59,6 +59,7 @@ Comment=Integration with Git and other source control systems
Comment[ast]=Integración con Git y otros sistemes de control de códigu
Comment[ca]=Integració amb el Git i altres sistemes de control de codi font
Comment[ca@valencia]=Integració amb el Git i altres sistemes de control de codi font
Comment[cs]=Integrace s Gitem a jinými verzovacími systémy
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
......@@ -67,6 +68,7 @@ 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
Comment[id]=Integrasi dengan Git dan sistem kendali sumber lainnya
Comment[it]=Integrazione con Git e con altri sistemi di controllo del sorgente
Comment[ko]=Git 및 다른 버전 관리 시스템 통합
Comment[nl]=Integratie met Git en andere controlesystemen voor broncode
......
......@@ -59,6 +59,7 @@ 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)
Comment[id]=Replicode (runtime dan bahasa AI konstruktivis)
Comment[it]=Replicode (linguaggio costruttivista per IA ed l'esecuzione)
Comment[ko]=Replicode(건설적 AI 언어 및 런타임)
Comment[nl]=Replicode (constructivistische AI taal en runtime)
......
......@@ -20,7 +20,7 @@ Name[fr]=Auto-complètement Rust
Name[gl]=Completación automática de Rust
Name[hu]=Rust kódkiegészítés
Name[ia]=Autocompletion de codice Rust
Name[id]=Rust code completion
Name[id]=Penyelesaian kode Rust
Name[it]=Completamento del codice Rust
Name[ko]=Rust 자동 완성
Name[nb]=Rust kodefullføring
......@@ -60,7 +60,7 @@ Comment[fr]=Auto-complètement pour le code source Rust
Comment[gl]=Completación automática de código Rust.
Comment[hu]=Kódkiegészítés Rust forráskódokhoz
Comment[ia]=Completion de codice pro le codice fonte de Rust
Comment[id]=Penyempurnaan kode untuk kode sumber Rust
Comment[id]=Penyelesaian kode untuk kode sumber Rust
Comment[it]=Completamento del codice sorgente Rust
Comment[ko]=Rust 코드 자동 완성
Comment[nb]=Kodefullføring for Rust kildekode
......
......@@ -61,6 +61,7 @@ Comment=Search and replace in documents, folders, or projects
Comment[ast]=Gueta y troca nos documentos, carpetes o proyeutos
Comment[ca]=Cerca i substitució en documents, carpetes o projectes
Comment[ca@valencia]=Cerca i substitució en documents, carpetes o projectes
Comment[cs]=Najít a nahradit v dokumentech, složkách nebo projektech
Comment[de]=Suchen und Ersetzen in Dokumenten, Ordnern oder Projekten
Comment[el]=Αναζήτηση και αντικατάσταση σε έγγραφα, φακέλους ή έργα
Comment[en_GB]=Search and replace in documents, folders, or projects
......@@ -69,6 +70,7 @@ 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
Comment[id]=Cari dan ganti di dokumen, folder, atau projek
Comment[it]=Cerca e sostituisci nei documenti, nelle cartelle o nei progetti
Comment[ko]=문서, 폴더, 프로젝트에서 찾아 바꾸기
Comment[nl]=Zoeken en vervangen in documenten, mappen of projecten
......
......@@ -952,7 +952,7 @@ void KatePluginSearchView::startSearch()
m_ui.displayOptions->setDisabled(true);
m_ui.replaceCheckedBtn->setDisabled(true);
m_ui.replaceButton->setDisabled(true);
m_ui.stopAndNext->setCurrentIndex(1);
m_ui.stopAndNext->setCurrentWidget(m_ui.stopButton);
m_ui.replaceCombo->setDisabled(true);
m_ui.searchPlaceCombo->setDisabled(true);
m_ui.useRegExp->setDisabled(true);
......@@ -1175,7 +1175,7 @@ void KatePluginSearchView::searchDone()
m_ui.newTabButton->setDisabled(false);
m_ui.searchCombo->setDisabled(false);
m_ui.searchButton->setDisabled(false);
m_ui.stopAndNext->setCurrentIndex(0);
m_ui.stopAndNext->setCurrentWidget(m_ui.nextButton);
m_ui.displayOptions->setDisabled(false);
m_ui.replaceCombo->setDisabled(false);
m_ui.searchPlaceCombo->setDisabled(false);
......@@ -1377,7 +1377,7 @@ void KatePluginSearchView::replaceChecked()
return;
}
m_ui.stopAndNext->setCurrentIndex(1);
m_ui.stopAndNext->setCurrentWidget(m_ui.stopButton);
m_ui.displayOptions->setChecked(false);
m_ui.displayOptions->setDisabled(true);
m_ui.newTabButton->setDisabled(true);
......@@ -1425,7 +1425,7 @@ void KatePluginSearchView::replaceStatus(const QUrl &url, int replacedInFile, in
void KatePluginSearchView::replaceDone()
{
m_ui.stopAndNext->setCurrentIndex(0);
m_ui.stopAndNext->setCurrentWidget(m_ui.nextButton);
m_ui.replaceCombo->setDisabled(false);
m_ui.newTabButton->setDisabled(false);
m_ui.searchCombo->setDisabled(false);
......@@ -1998,23 +1998,23 @@ void KatePluginSearchView::onResize(const QSize& size)
if(!m_isLeftRight && vertical) {
m_isLeftRight = true;
m_ui.gridLayout->addWidget(m_ui.searchCombo, 0, 1, 1, 8);
m_ui.gridLayout->addWidget(m_ui.findLabel, 0, 0);
m_ui.gridLayout->addWidget(m_ui.searchButton, 1, 0, 1, 2);
m_ui.gridLayout->addWidget(m_ui.nextButton, 1, 2);
m_ui.gridLayout->addWidget(m_ui.stopAndNext, 1, 2);
m_ui.gridLayout->addWidget(m_ui.searchPlaceCombo, 1, 3, 1, 3);
m_ui.gridLayout->addWidget(m_ui.displayOptions, 1, 6);
m_ui.gridLayout->addWidget(m_ui.matchCase, 1, 7);
m_ui.gridLayout->addWidget(m_ui.useRegExp, 1, 8);
m_ui.gridLayout->addWidget(m_ui.replaceCombo, 2, 1, 1, 8);
m_ui.gridLayout->addWidget(m_ui.replaceLabel, 2, 0);
m_ui.gridLayout->addWidget(m_ui.replaceButton, 3, 0, 1, 2);
m_ui.gridLayout->addWidget(m_ui.replaceCheckedBtn, 3, 2);
m_ui.gridLayout->addWidget(m_ui.expandResults, 3, 7);
m_ui.gridLayout->addWidget(m_ui.newTabButton, 3, 8);
m_ui.gridLayout->setColumnStretch(4, 2);
m_ui.gridLayout->setColumnStretch(2, 0);
}
......@@ -2023,11 +2023,11 @@ void KatePluginSearchView::onResize(const QSize& size)
m_ui.gridLayout->addWidget(m_ui.searchCombo, 0, 2);
m_ui.gridLayout->addWidget(m_ui.findLabel, 0, 1);
m_ui.gridLayout->addWidget(m_ui.searchButton, 0, 3);
m_ui.gridLayout->addWidget(m_ui.nextButton, 0, 4);
m_ui.gridLayout->addWidget(m_ui.stopAndNext, 0, 4);
m_ui.gridLayout->addWidget(m_ui.searchPlaceCombo, 0, 5, 1, 4);
m_ui.gridLayout->addWidget(m_ui.matchCase, 1, 5);
m_ui.gridLayout->addWidget(m_ui.useRegExp, 1, 6);
m_ui.gridLayout->addWidget(m_ui.replaceCombo, 1, 2);
m_ui.gridLayout->addWidget(m_ui.replaceLabel, 1, 1);
m_ui.gridLayout->addWidget(m_ui.replaceButton, 1, 3);
......@@ -2035,10 +2035,10 @@ void KatePluginSearchView::onResize(const QSize& size)
m_ui.gridLayout->addWidget(m_ui.expandResults, 1, 8);
m_ui.gridLayout->addWidget(m_ui.newTabButton, 0, 0);
m_ui.gridLayout->addWidget(m_ui.displayOptions, 1, 0);
m_ui.gridLayout->setColumnStretch(4, 0);
m_ui.gridLayout->setColumnStretch(2, 2);
m_ui.findLabel->setAlignment(Qt::AlignRight);
m_ui.replaceLabel->setAlignment(Qt::AlignRight);
}
......
......@@ -60,38 +60,14 @@
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QPushButton" name="nextButton">
<property name="enabled">
<bool>false</bool>
</property>
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Next</string>
</property>
......@@ -99,47 +75,14 @@
<string>Next</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="stopButtonPage">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>0</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="stopButton">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<property name="toolTip">
<string>Stop</string>
</property>
<property name="text">
<string>Stop</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item row="0" column="5" colspan="5">
......
......@@ -15,6 +15,7 @@ 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
Name[id]=Tampilan Alat Snippet
Name[it]=Vista dello strumento per i frammenti di testo
Name[ko]=스니펫 도구 보기
Name[nl]=Weergave van hulpmiddel voor fragmenten
......@@ -34,6 +35,7 @@ Comment=Manage your code snippets or download new ones
Comment[ast]=Xestiona snippets de códigu o baxa otros nuevos
Comment[ca]=Gestiona els retalls de codi o en baixa de nous
Comment[ca@valencia]=Gestiona els retalls de codi o en baixa de nous
Comment[cs]=Spravujte vaše ústřižky kódu nebo si stáhněte nové
Comment[de]=Verwaltung Ihrer Textbausteine oder Herunterladen neuer Textbausteine
Comment[el]=Διαχειριστείτε τμήματα κώδικα ή κάετε λήψη νέων
Comment[en_GB]=Manage your code snippets or download new ones
......@@ -42,6 +44,7 @@ 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
Comment[id]=Kelola kode snippet-mu atau unduh yang barunya
Comment[it]=Gestisce i tuoi frammenti di codice o ne scarica dei nuovi
Comment[ko]=내 코드 스니펫을 관리하고 새로운 스니펫 다운로드
Comment[nl]=Uw codefragmenten beheren of nieuwe downloaden
......
......@@ -326,7 +326,7 @@ void KatePluginSymbolViewerView::parseSymbols()
parsePhpSymbols();
else if (hlModeName == QLatin1String("Tcl/Tk"))
parseTclSymbols();
else if (hlModeName == QLatin1String("Fortran"))
else if (hlModeName.contains(QLatin1String("Fortran")))
parseFortranSymbols();
else if (hlModeName == QLatin1String("Perl"))
parsePerlSymbols();
......
......@@ -15,6 +15,7 @@ Name[eu]=Dokumentu-aldatzailea
Name[fi]=Tiedostovaihtaja
Name[fr]=Changeur de document
Name[gl]=Alternador de documentos
Name[id]=Pengalih dokumen
Name[it]=Scambiatore di documenti
Name[ko]=문서 전환기
Name[nl]=Documentenwisselaar
......@@ -43,6 +44,7 @@ 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.
Comment[id]=Pengalihan dokumen cepat pakai perilaku ALT+Tab
Comment[it]=Cambio rapido dei documenti con Alt+Tab
Comment[ko]=Alt+Tab과 비슷하게 작동하는 빠른 문서 전환기
Comment[nl]=Snel van document wisselen met Alt+Tab
......
......@@ -74,6 +74,7 @@ Comment[fi]=Käsittele tekstiä päätekomennoin
Comment[fr]=Traiter du texte à l'aide des commandes du terminal
Comment[gl]=Procesar texto usando ordes do terminal
Comment[ia]=Tracta texto usante commandos de terminal
Comment[id]=Teks proses menggunakan perintah terminal
Comment[it]=Elabora il testo usando i comandi da terminale
Comment[ko]=터미널 명령으로 텍스트 처리
Comment[nl]=Tekst verwerken met commando's op de terminal
......
......@@ -27,7 +27,7 @@ Name[gl]=Validación de XML
Name[he]=אימות XML
Name[hu]=XML-ellenőrző
Name[ia]=Validation XML
Name[id]=Validasi XML
Name[id]=Absahkan XML
Name[it]=Validazione XML
Name[ja]=XML 検証
Name[kk]=XML-ды тексеруі
......@@ -84,7 +84,7 @@ Comment[gl]=Valida ficheiros XML usando xmllint
Comment[he]=מאמת קבצי XML בעזרת xmllint
Comment[hu]=XML-fájlok ellenőrzése az xmllint programmal
Comment[ia]=Valida files XML per usar xmllint
Comment[id]=Validasi file XML dengan xmllint
Comment[id]=Absahkan file XML dengan xmllint
Comment[it]=Convalida i file XML usando xmllint
Comment[ja]=xmllint で XML ファイルを検証します
Comment[kk]=xmllint көмегімен XML файлдарды тексеру
......
......@@ -183,7 +183,7 @@
<li xml:lang="eu">MDI, leiho-zatitzea, leihoak fitxa gisa antolatzea</li>
<li xml:lang="fi">Monen tiedoston käyttöliittymä (MDI), ikkunoiden jakaminen ja välilehdet</li>
<li xml:lang="fr">Interface multi-documents, fenêtres scindées, organisation par onglets</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="gl">Interface para varios documentos, división das xanelas, xanelas con lapelas</li>
<li xml:lang="hu">MDI, ablakfelosztás, ablaklapok</li>
<li xml:lang="ia">MDI, window splitting (division de fenestra), window tabbing (schedas de fenestra)</li>
<li xml:lang="id">MDI, pemisahan window, penambahan tab window</li>
......@@ -747,7 +747,7 @@
<li xml:lang="eu">Osagarrien arkitektura aplikazioarentzako eta editore osagaiarentzako</li>
<li xml:lang="fi">Liitännäisarkkitehtuuri sovellukselle ja muokkainosalle</li>
<li xml:lang="fr">Architecture à modules complémentaires pour l'application et le composant éditeur</li>
<li xml:lang="gl">Arquitectura de complementos para o aplicativo e o compoñente do editor.</li>
<li xml:lang="gl">Arquitectura de complementos para a aplicación e o compoñente do editor</li>
<li xml:lang="hu">Bővítmények támogatása az alkalmazásban és a szerkesztő komponensben</li>
<li xml:lang="ia">Archiutectura de plugin per le componente de editor e application</li>
<li xml:lang="id">Arsitektur pengaya untuk aplikasi dan komponen penyunting</li>
......
......@@ -110,11 +110,6 @@ bool KateApp::init()
}
}
// application dbus interface
if (QDBusConnection::sessionBus().interface()) {
QDBusConnection::sessionBus().registerObject(QStringLiteral("/MainApplication"), this);
}
return true;
}
......
......@@ -28,8 +28,14 @@
#include <KStartupInfo>
#include <KWindowSystem>
#include <QApplication>
/**
* add the adapter to the global application instance to have
* it auto-register with KDBusService, see bug 410742
*/
KateAppAdaptor::KateAppAdaptor(KateApp *app)
: QDBusAbstractAdaptor(app)
: QDBusAbstractAdaptor(qApp)
, m_app(app)
{}
......
......@@ -76,6 +76,7 @@
#include <QApplication>
#include <QMenu>
#include <QMenuBar>
#include <QStyle>
#include <QToolButton>
#include <QTimer>
#include <QFontDatabase>
......@@ -1243,8 +1244,7 @@ void KateMainWindow::slotQuickOpen()
QWidget *KateMainWindow::createToolView(KTextEditor::Plugin *plugin, const QString &identifier, KTextEditor::MainWindow::ToolViewPosition pos, const QIcon &icon, const QString &text)
{
// FIXME KF5
return KateMDI::MainWindow::createToolView(plugin, identifier, (KMultiTabBar::KMultiTabBarPosition)(pos), icon.pixmap(QSize(16, 16)), text);
return KateMDI::MainWindow::createToolView(plugin, identifier, (KMultiTabBar::KMultiTabBarPosition)(pos), icon, text);
}
bool KateMainWindow::moveToolView(QWidget *widget, KTextEditor::MainWindow::ToolViewPosition pos)
......@@ -1253,7 +1253,6 @@ bool KateMainWindow::moveToolView(QWidget *widget, KTextEditor::MainWindow::Tool
return false;
}
// FIXME KF5
return KateMDI::MainWindow::moveToolView(qobject_cast<KateMDI::ToolView *>(widget), (KMultiTabBar::KMultiTabBarPosition)(pos));
}
......
......@@ -43,6 +43,7 @@
#include <QSizePolicy>
#include <QStyle>
#include <QDomDocument>
#include <QVBoxLayout>
namespace KateMDI
{
......@@ -220,11 +221,22 @@ ToolView::ToolView(MainWindow *mainwin, Sidebar *sidebar, QWidget *parent)
QSizePolicy policy(QSizePolicy::Preferred, QSizePolicy::Preferred);
policy.setRetainSizeWhenHidden(true);
setSizePolicy(policy);
// per default vbox layout
QVBoxLayout *layout = new QVBoxLayout(this);
layout->setContentsMargins(0, 0, 0, 0);
layout->setSpacing(0);
setLayout(layout);
// toolbar to collect actions
m_toolbar = new KToolBar(this);
m_toolbar->setVisible(false);
m_toolbar->setToolButtonStyle(Qt::ToolButtonIconOnly);
// ensure reasonable icons sizes, like e.g. the quick-open and co. icons
// the normal toolbar sizes are TOO large, e.g. for scaled stuff even more!
const int iconSize = style()->pixelMetric(QStyle::PM_ButtonIconSize, nullptr, this);
m_toolbar->setIconSize(QSize(iconSize, iconSize));
}
QSize ToolView::sizeHint() const
......
......@@ -41,7 +41,7 @@ QString KatePluginInfo::saveName() const
return QFileInfo(metaData.fileName()).baseName();
}
bool KatePluginInfo::operator<(KatePluginInfo &other) const
bool KatePluginInfo::operator<(const KatePluginInfo &other) const
{
if (sortOrder != other.sortOrder)
return sortOrder < other.sortOrder;
......
......@@ -43,7 +43,7 @@ public:
KTextEditor::Plugin *plugin = nullptr;
int sortOrder = 0;
QString saveName() const;
bool operator<(KatePluginInfo &other) const;
bool operator<(const KatePluginInfo &other) const;
};
typedef QList<KatePluginInfo> KatePluginList;
......
......@@ -36,37 +36,35 @@
#include <math.h>
TabCloseButton::TabCloseButton(QWidget * parent)
: QAbstractButton(parent)
TabCloseButton::TabCloseButton(QWidget *parent)
: QPushButton(parent)
{
// should never have focus
setFocusPolicy(Qt::NoFocus);
// closing a tab closes the document
setToolTip(i18n("Close Document"));
setIcon(QIcon::fromTheme(QStringLiteral("tab-close")));
}
void TabCloseButton::paintEvent(QPaintEvent *event)
void TabCloseButton::paintEvent(QPaintEvent *)
{
Q_UNUSED(event)
// get the tab this close button belongs to
KateTabButton *tabButton = qobject_cast<KateTabButton*>(parent());
const bool isActive = underMouse()
|| (tabButton && tabButton->isChecked());
// set style options depending on current state
QStyleOption opt;
opt.init(this);
if (isActive && !isChecked()) {
opt.state |= QStyle::State_Raised;
}
if (isChecked()) {
opt.state |= QStyle::State_Sunken;
}
QPainter p(this);
style()->drawPrimitive(QStyle::PE_IndicatorTabClose, &opt, &p, this);
QStyleOptionButton opt;
opt.initFrom(this);
opt.icon = icon();
opt.iconSize = sizeHint();
// removes the QStyleOptionButton::HasMenu ButtonFeature
opt.features = QStyleOptionButton::Flat;
opt.state.setFlag(QStyle::State_Enabled, isActive);
opt.state.setFlag(QStyle::State_MouseOver, false);
QPainter painter(this);
style()->drawControl(QStyle::CE_PushButton, &opt, &painter, this);
}
QSize TabCloseButton::sizeHint() const
......@@ -83,13 +81,13 @@ QSize TabCloseButton::sizeHint() const
void TabCloseButton::enterEvent(QEvent *event)
{
update(); // repaint on hover
QAbstractButton::enterEvent(event);
QPushButton::enterEvent(event);
}
void TabCloseButton::leaveEvent(QEvent *event)
{
update(); // repaint on hover
QAbstractButton::leaveEvent(event);
QPushButton::leaveEvent(event);
}
......@@ -166,8 +164,11 @@ void KateTabButton::paintEvent(QPaintEvent *ev)
- leftMargin; // modified button
// draw text, we need to elide to xxx...xxx is too long
const QString elidedText = QFontMetrics(font()).elidedText (text(), Qt::ElideMiddle, w);
const QRect textRect(leftMargin, 0, w, height());
const QString elidedText = QFontMetrics(font()).elidedText(text(), Qt::ElideMiddle, w);
QRect textRect(leftMargin, 0, w, height());
if (layoutDirection() == Qt::RightToLeft) {
textRect.moveLeft(textRect.left() + 16);
}
const QPalette pal = QApplication::palette();
style()->drawItemText(&p, textRect, Qt::AlignHCenter | Qt::AlignVCenter, pal, true, elidedText, QPalette::WindowText);
}
......
......@@ -21,12 +21,12 @@
#ifndef KATE_TAB_BUTTON
#define KATE_TAB_BUTTON
#include <QAbstractButton>
#include <QPushButton>
#include <QUrl>
class QPropertyAnimation;
class TabCloseButton : public QAbstractButton
class TabCloseButton : public QPushButton
{
Q_OBJECT
......
......@@ -75,6 +75,12 @@ int main(int argc, char **argv)
*/
Q_INIT_RESOURCE(kate);
/**
* enable high dpi support
*/
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true);
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
/**
* Create application first
*/
......@@ -89,11 +95,6 @@ int main(int argc, char **argv)
*/
app.setApplicationName(QStringLiteral("kate"));
/**
* enable high dpi support
*/
app.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
/**
* Enable crash handling through KCrash.
*/
......
......@@ -369,7 +369,7 @@
<li xml:lang="hi">Vi इनपुट पद्दति</li>
<li xml:lang="hu">Vi beviteli mód</li>
<li xml:lang="ia">Modo de ingresso de Vi</li>
<li xml:lang="id">Mode intput Vi</li>
<li xml:lang="id">Mode input Vi</li>
<li xml:lang="it">Modalità di inserimento Vi.</li>
<li xml:lang="ko">VI 입력 모드</li>
<li xml:lang="lt">Vi įvesties režimas</li>
......
......@@ -63,6 +63,13 @@ extern "C" Q_DECL_EXPORT int main(int argc, char **argv)
}
}
#endif
/**
* enable high dpi support
*/
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps, true);
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling, true);
/**
* Create application first
* Enforce application name even if the executable is renamed
......@@ -70,11 +77,6 @@ extern "C" Q_DECL_EXPORT int main(int argc, char **argv)
QApplication app(argc, argv);
app.setApplicationName(QStringLiteral("kwrite"));
/**
* enable high dpi support
*/
app.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
/**
* Enable crash handling through KCrash.
*/
......