[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [calligra/calligra/2.9] /: Revert "Merge the branch words-sections-deniskup"
From:       Inge Wallin <inge () lysator ! liu ! se>
Date:       2015-02-22 20:21:19
Message-ID: E1YPd1j-0000ca-CS () scm ! kde ! org
[Download RAW message or body]

Git commit 60e5bbde2308af25601f786bcb75ec6cda3b9e4a by Inge Wallin.
Committed on 22/02/2015 at 20:18.
Pushed by ingwa into branch 'calligra/2.9'.

Revert "Merge the branch words-sections-deniskup"

That merge was no good.

This reverts commit b62e5f48ca2783690cc82d9546f21db3ae3b3782.

M  +0    -2    braindump/data/braindump.appdata.xml
M  +0    -2    extras/okularodtgenerator/libokularGenerator_odt.desktop
M  +1    -1    extras/properties/calligradocinfopropspage.desktop
M  +0    -1    filters/stage/keynote/import/calligra_filter_key2odp.desktop
M  +0    -1    filters/stage/keynote/import/stage_key_thumbnail.desktop
M  +0    -2    filters/stage/powerpoint/libokularGenerator_powerpoint_calligra.desktop
 M  +0    -2    filters/stage/pptx/libokularGenerator_pptx_calligra.desktop
M  +0    -1    filters/words/docx/export/calligra_filter_odt2docx.desktop
M  +0    -1    filters/words/docx/import/libokularGenerator_docx_calligra.desktop
M  +0    -1    filters/words/msword-odf/libokularGenerator_doc_calligra.desktop
M  +0    -1    filters/words/wiki/export/calligra_filter_odt2wiki.desktop
M  +0    -2    filters/words/wordperfect/import/libokularGenerator_wpd_calligra.desktop
 M  +0    -5    gemini/calligragemini.desktop
M  +6    -5    karbon/data/karbon.appdata.xml
M  +1    -1    kexi/kexi.appdata.xml
M  +0    -2    kexi/migration/txt/keximigrate_txt.desktop
M  +1    -1    kexi/plugins/tables/kexitabledesignerview.cpp
M  +0    -5    krita/data/krita_filefilter.desktop
M  +0    -1    krita/data/templates/design/web_design.desktop
M  +0    -1    krita/data/templates/texture/Texture1024x10248bitsrgb.desktop
M  +0    -1    krita/data/templates/texture/Texture2048x20488bitsrgb.desktop
M  +0    -1    krita/data/templates/texture/Texture256x2568bitsrgb.desktop
M  +0    -1    krita/data/templates/texture/Texture4096x40968bitsrgb.desktop
M  +0    -1    krita/data/templates/texture/Texture512x5128bitsrgb.desktop
M  +1    -1    krita/gemini/kritagemini.desktop [TRAILING SPACE] **
D  +0    -30   krita/integration/thumbnail/kritaanimation_kranim_thumbnail.desktop
M  +0    -1    krita/krita.appdata.xml
M  +2    -2    krita/krita.desktop [TRAILING SPACE] ** [TRAILING SPACE] **
D  +0    -41   krita/plugins/extensions/dockers/animator/krita_animator.desktop
M  +1    -2    krita/plugins/extensions/dockers/colorslider/krita_colorslider.desktop
M  +0    -6    krita/plugins/extensions/layersplit/kritalayersplit.desktop
M  +0    -1    krita/plugins/extensions/resourcemanager/kritaresourcemanager.desktop
M  +0    -2    krita/plugins/filters/indexcolors/kritaindexcolors.desktop
M  +0    -2    krita/plugins/filters/posterize/kritaposterize.desktop
M  +0    -1    krita/plugins/formats/heightmap/krita_heightmap_export.desktop
M  +0    -1    krita/plugins/formats/heightmap/krita_heightmap_import.desktop
D  +0    -26   krita/plugins/formats/kranimseq/kranimseq_export.desktop
M  +0    -1    krita/plugins/formats/tga/krita_tga_export.desktop
M  +0    -1    krita/plugins/formats/tga/krita_tga_import.desktop
M  +0    -1    krita/plugins/paintops/gridbrush/kritagridpaintop.desktop
M  +1    -1    krita/plugins/tools/tool_transform2/kis_free_transform_strategy_gsl_helpers.cpp
 M  +1    -1    krita/sketch/kritasketch.desktop [TRAILING SPACE] **
M  +3    -0    krita/ui/forms/wdg_url_requester.ui
M  +0    -1    libs/kopageapp/tools/kopa_tool.desktop
M  +1    -1    libs/koreport/koreport_itemplugin.desktop
M  +15   -1    libs/kotext/KoSection.cpp
M  +3    -5    libs/kotext/KoSection.h
M  +1    -1    libs/kotext/KoSectionEnd.cpp
M  +0    -5    libs/kotext/KoSectionEnd.h
M  +81   -85   libs/kotext/KoSectionManager.cpp
M  +27   -14   libs/kotext/KoSectionManager.h
M  +6    -33   libs/kotext/KoSectionUtils.cpp
M  +14   -32   libs/kotext/KoSectionUtils.h
M  +0    -4    libs/kotext/KoTextPaste.cpp
M  +85   -45   libs/kotext/commands/DeleteCommand.cpp
M  +14   -7    libs/kotext/commands/NewSectionCommand.cpp
M  +35   -13   libs/kotext/opendocument/KoTextLoader.cpp
M  +28   -11   libs/kotext/opendocument/KoTextWriter_p.cpp
M  +18   -12   libs/kotext/tests/TestKoTextEditor.cpp
M  +28   -21   libs/textlayout/KoTextLayoutArea_paint.cpp
M  +2    -2    plugins/reporting/barcode/koreport_barcodeplugin.desktop
M  +2    -4    plugins/reporting/chart/koreport_chartplugin.desktop
M  +2    -2    plugins/reporting/maps/koreport_mapsplugin.desktop
M  +2    -4    plugins/reporting/web/koreport_webplugin.desktop
M  +0    -2    plugins/semanticitems/event/KoRdfCalendarEvent.h
M  +8    -13   plugins/textshape/dialogs/SectionFormatDialog.cpp
M  +0    -2    plugins/textshape/dialogs/SimpleInsertWidget.cpp
M  +1    -1    servicetypes/calligra_deferred_plugin.desktop
M  +0    -2    stage/data/kpr_tool.desktop
M  +0    -4    stage/templates/odf/cohere-blue.desktop
M  +0    -4    stage/templates/odf/cohere-gold.desktop
M  +0    -4    stage/templates/odf/cohere-magenta.desktop
M  +0    -4    stage/templates/odf/cohere-red.desktop
M  +1    -3    stage/templates/odf/skyline_monotone.desktop
M  +1    -3    stage/templates/odf/skyline_monotone_wide.desktop
M  +2    -4    stage/templates/odf/skyline_morning.desktop [TRAILING SPACE] **
M  +2    -4    stage/templates/odf/skyline_morning_wide.desktop [TRAILING SPACE] **
M  +2    -4    stage/templates/odf/skyline_night.desktop
M  +2    -4    stage/templates/odf/skyline_night_wide.desktop
M  +0    -2    words/app/words.appdata.xml
M  +1    -1    words/part/author/author.desktop
M  +1    -1    words/part/author/authorpart.desktop
M  +21   -9    words/part/dockers/KWDebugWidget.cpp

The files marked with ** at the end have a problem. either the file contains a \
trailing space or the file contains a call to a potentially dangerous code. Please \
read: http://community.kde.org/Sysadmin/CommitHooks#Email_notifications Either fix \
the trailing space or review the dangerous code.


http://commits.kde.org/calligra/60e5bbde2308af25601f786bcb75ec6cda3b9e4a

diff --git a/braindump/data/braindump.appdata.xml \
b/braindump/data/braindump.appdata.xml index a0efd72..800e14a 100644
--- a/braindump/data/braindump.appdata.xml
+++ b/braindump/data/braindump.appdata.xml
@@ -11,7 +11,6 @@
   <name xml:lang="en-GB">Braindump</name>
   <name xml:lang="es">Braindump</name>
   <name xml:lang="fi">Braindump</name>
-  <name xml:lang="fr">Braindump</name>
   <name xml:lang="hu">Braindump</name>
   <name xml:lang="ia">Braindump</name>
   <name xml:lang="it">Braindump</name>
@@ -32,7 +31,6 @@
     <p xml:lang="en-GB">Braindump is a tool to dump and organise the content of your \
brain (ideas, drawings, images, texts…) to your computer. It works by allowing to \
create and edit whiteboards, which are infinite canvas on which you can add texts, \
images, charts, drawings, etc.</p>  <p xml:lang="es">Braindump es una herramienta \
para volcar y organizar el contenido de su cerebro (ideas, dibujos, imágenes, \
texto...) en su equipo. Permite crear y editar pizarras en blanco, es decir, lienzos \
infinitos en los que puede añadir textos, imágenes, diagramas, dibujos, etc.</p>  \
<p xml:lang="fi">Braindump on työkalu aivojesi sisällön (ajatusten, piirrosten, \
kuvien, tekstin…) purkamiseksi ja järjestämiseksi. Se toimii antamalla sinun \
luoda ja muokata valkotauluja, jotka ovat rajaton kangas tekstillesi, kuvillesi, \
                kaavioillesi, piirroksillesi jne.</p>
-    <p xml:lang="fr">Braindump est un outil pour mettre en ordre le contenu de votre \
cerveau (idées, dessins, images, textes…) sur votre ordinateur. Il vous permet de \
créer et d'éditer des tableaux blancs illimités sur lesquels vous pouvez ajouter \
des textes, des images, des graphiques, des dessins, etc.</p>  <p \
xml:lang="ia">Braindump es un instrumento pro discargar e organizar le contento de tu \
cerebro (ideas, designos, imagines, textos...) in tu computator. Illo functiona per \
permitter crear e modificar tabula blanc, que es telas infinite sur le qual on pote \
adder textos, imagines, diagrammas, designos, etc.</p>  <p xml:lang="it">Braindump è \
uno strumento per estrarre e organizzare il contenuto del tuo cervello (idee, \
disegni, immagini, testi...) sul tuo computer. Ti consente di creare e modificare \
lavagne bianche, che sono tele infinite sulle quali puoi aggiungere testi, immagini, \
grafici, disegni, ecc.</p>  <p xml:lang="nl">Braindump is een hulpmiddel om de inhoud \
van uw brein te dumpen en te organiseren (ideeën, tekeningen, afbeeldingen, \
teksten…) naar uw computer. Het werkt door u instaat te stellen whiteboards te \
bewerken, die oneindige werkvelden zijn waarop u teksten, afbeeldingen, grafieken, \
                tekeningen, etc. kunt toevoegen.</p>
diff --git a/extras/okularodtgenerator/libokularGenerator_odt.desktop \
b/extras/okularodtgenerator/libokularGenerator_odt.desktop index f174e63..f9431ee \
                100644
--- a/extras/okularodtgenerator/libokularGenerator_odt.desktop
+++ b/extras/okularodtgenerator/libokularGenerator_odt.desktop
@@ -3,7 +3,6 @@ Type=Service
 Name=OpenDocument Text Document
 Name[ca]=Document de text OpenDocument
 Name[cs]=Textový dokument OpenDocument
-Name[da]=OpenDocument tekstdokument
 Name[de]=OpenDocument-Text-Dokument
 Name[en_GB]=OpenDocument Text Document
 Name[es]=Documento de texto OpenDocument
@@ -24,7 +23,6 @@ Name[x-test]=xxOpenDocument Text Documentxx
 Comment=Odt for okular
 Comment[ca]=ODT per a l'Okular
 Comment[cs]=Odt pro Okular
-Comment[da]=Odt til okular
 Comment[de]=Odt für Okular
 Comment[en_GB]=ODT for okular
 Comment[es]=Odt para Okular
diff --git a/extras/properties/calligradocinfopropspage.desktop \
b/extras/properties/calligradocinfopropspage.desktop index a5545ae..cb7dbeb 100644
--- a/extras/properties/calligradocinfopropspage.desktop
+++ b/extras/properties/calligradocinfopropspage.desktop
@@ -25,7 +25,7 @@ Name[ko]=Calligra 문서  보 속성 페이지
 Name[nb]=Calligra dokumentinformasjonsside
 Name[nds]=Dokmentinformatschonen-Egenschappensiet för Calligra
 Name[nl]=Document-info-eigenschappen-pagina van Calligra
-Name[pl]=Strona właściwości dokumentu Calligry
+Name[pl]=Strona właściwości informacji o dokumencie dla Calligry
 Name[pt]=Página de Propriedades do Documento do Calligra
 Name[pt_BR]=Página de propriedades do documento do Calligra
 Name[ru]=Страница сведений о документе Calligra
diff --git a/filters/stage/keynote/import/calligra_filter_key2odp.desktop \
b/filters/stage/keynote/import/calligra_filter_key2odp.desktop index 241ba79..b5a6aa1 \
                100644
--- a/filters/stage/keynote/import/calligra_filter_key2odp.desktop
+++ b/filters/stage/keynote/import/calligra_filter_key2odp.desktop
@@ -3,7 +3,6 @@ Type=Service
 Name=Stage Apple Keynote Import Filter
 Name[ca]=Filtre d'importació de l'Apple Keynote per l'Stage
 Name[cs]=Importní filtr Apple Keynote do Stage
-Name[da]=Apple Keynote-importfilter til Stage
 Name[de]=Stage-Importfilter für Apple Keynote
 Name[en_GB]=Stage Apple Keynote Import Filter
 Name[es]=Filtro de Stage de importación de Apple Keynote
diff --git a/filters/stage/keynote/import/stage_key_thumbnail.desktop \
b/filters/stage/keynote/import/stage_key_thumbnail.desktop index 35dc28a..a1676b8 \
                100644
--- a/filters/stage/keynote/import/stage_key_thumbnail.desktop
+++ b/filters/stage/keynote/import/stage_key_thumbnail.desktop
@@ -3,7 +3,6 @@ Type=Service
 Name=Apple Keynote Documents
 Name[ca]=Documents de l'Apple Keynote
 Name[cs]=Dokumenty Apple Keynote
-Name[da]=Apple Keynote-dokumenter
 Name[de]=Apple Keynote Dokumente
 Name[en_GB]=Apple Keynote Documents
 Name[es]=Documentos de Apple Keynote
diff --git a/filters/stage/powerpoint/libokularGenerator_powerpoint_calligra.desktop \
b/filters/stage/powerpoint/libokularGenerator_powerpoint_calligra.desktop index \
                70ced07..6b9ef46 100644
--- a/filters/stage/powerpoint/libokularGenerator_powerpoint_calligra.desktop
+++ b/filters/stage/powerpoint/libokularGenerator_powerpoint_calligra.desktop
@@ -3,7 +3,6 @@ Type=Service
 Name=Microsoft PowerPoint Presentation
 Name[ca]=Presentacions del Microsoft PowerPoint
 Name[cs]=Prezentace Microsoft PowerPoint
-Name[da]=Microsoft Powerpoint-præsentation
 Name[de]=Microsoft-Powerpoint-Präsentation
 Name[en_GB]=Microsoft PowerPoint Presentation
 Name[es]=Presentación Microsoft Powerpoint
@@ -23,7 +22,6 @@ Name[x-test]=xxMicrosoft PowerPoint Presentationxx
 Comment=PPT for Okular
 Comment[ca]=PPT per a l'Okular
 Comment[cs]=PPT pro Okular
-Comment[da]=PPT til Okular
 Comment[de]=PPT für Okular
 Comment[en_GB]=PPT for Okular
 Comment[es]=PPT para Okular
diff --git a/filters/stage/pptx/libokularGenerator_pptx_calligra.desktop \
b/filters/stage/pptx/libokularGenerator_pptx_calligra.desktop index 5cb6370..98a620f \
                100644
--- a/filters/stage/pptx/libokularGenerator_pptx_calligra.desktop
+++ b/filters/stage/pptx/libokularGenerator_pptx_calligra.desktop
@@ -3,7 +3,6 @@ Type=Service
 Name=Microsoft PowerPoint Presentation
 Name[ca]=Presentacions del Microsoft PowerPoint
 Name[cs]=Prezentace Microsoft PowerPoint
-Name[da]=Microsoft Powerpoint-præsentation
 Name[de]=Microsoft-Powerpoint-Präsentation
 Name[en_GB]=Microsoft PowerPoint Presentation
 Name[es]=Presentación Microsoft Powerpoint
@@ -23,7 +22,6 @@ Name[x-test]=xxMicrosoft PowerPoint Presentationxx
 Comment=PPTX for Okular
 Comment[ca]=PPTX per a l'Okular
 Comment[cs]=PPTX pro Okular
-Comment[da]=PPTX til Okular
 Comment[de]=PPTX für Okular
 Comment[en_GB]=PPTX for Okular
 Comment[es]=PPTX para Okular
diff --git a/filters/words/docx/export/calligra_filter_odt2docx.desktop \
b/filters/words/docx/export/calligra_filter_odt2docx.desktop index 106d851..48a6174 \
                100644
--- a/filters/words/docx/export/calligra_filter_odt2docx.desktop
+++ b/filters/words/docx/export/calligra_filter_odt2docx.desktop
@@ -3,7 +3,6 @@ Type=Service
 Name=MS Word DOCX Export Filter
 Name[ca]=Filtre d'exportació DOCX per al Word de MS
 Name[cs]=Exportní filtr MS Word DOCX
-Name[da]=MS Word DOCX-eksportfilter
 Name[de]=MS Word DOCX-Exportfilter
 Name[en_GB]=MS Word DOCX Export Filter
 Name[es]=Filtro de exportación a DOCX de MS Word
diff --git a/filters/words/docx/import/libokularGenerator_docx_calligra.desktop \
b/filters/words/docx/import/libokularGenerator_docx_calligra.desktop index \
                5017a01..e3fcf6a 100644
--- a/filters/words/docx/import/libokularGenerator_docx_calligra.desktop
+++ b/filters/words/docx/import/libokularGenerator_docx_calligra.desktop
@@ -37,7 +37,6 @@ Name[zh_CN]=Microsoft Word 2007 文本文档
 Comment=DOCX for Okular
 Comment[ca]=DOCX per a l'Okular
 Comment[cs]=DOCX pro Okular
-Comment[da]=DOCX til Okular
 Comment[de]=DOCX für Okular
 Comment[en_GB]=DOCX for Okular
 Comment[es]=DOCX para Okular
diff --git a/filters/words/msword-odf/libokularGenerator_doc_calligra.desktop \
b/filters/words/msword-odf/libokularGenerator_doc_calligra.desktop index \
                61ae3d4..4a63da8 100644
--- a/filters/words/msword-odf/libokularGenerator_doc_calligra.desktop
+++ b/filters/words/msword-odf/libokularGenerator_doc_calligra.desktop
@@ -36,7 +36,6 @@ Name[zh_CN]=Microsoft Word 文本文档
 Comment=DOC for Okular
 Comment[ca]=DOC per a l'Okular
 Comment[cs]=DOC pro Okular
-Comment[da]=DOC til Okular
 Comment[de]=DOC für Okular
 Comment[en_GB]=DOC for Okular
 Comment[es]=DOC para Okular
diff --git a/filters/words/wiki/export/calligra_filter_odt2wiki.desktop \
b/filters/words/wiki/export/calligra_filter_odt2wiki.desktop index 6e28a8b..e3f8b690 \
                100644
--- a/filters/words/wiki/export/calligra_filter_odt2wiki.desktop
+++ b/filters/words/wiki/export/calligra_filter_odt2wiki.desktop
@@ -3,7 +3,6 @@ Type=Service
 Name=Words Wiki Export Filter
 Name[ca]=Filtre d'exportació Wiki per al Words
 Name[cs]=Exportní filtr Words Wiki
-Name[da]=Words Wiki-eksportfilter
 Name[de]=Words Wiki-Exportfilter
 Name[en_GB]=Words Wiki Export Filter
 Name[es]=Filtro de Words de exportación a Wiki
diff --git a/filters/words/wordperfect/import/libokularGenerator_wpd_calligra.desktop \
b/filters/words/wordperfect/import/libokularGenerator_wpd_calligra.desktop index \
                b9d2334..c89e518 100644
--- a/filters/words/wordperfect/import/libokularGenerator_wpd_calligra.desktop
+++ b/filters/words/wordperfect/import/libokularGenerator_wpd_calligra.desktop
@@ -34,12 +34,10 @@ Name[zh_CN]=WordPerfect 文本文档
 Comment=WPD for Okular
 Comment[ca]=WPD per a l'Okular
 Comment[cs]=WPD pro Okular
-Comment[da]=WPD til Okular
 Comment[de]=WPD für Okular
 Comment[en_GB]=WPD for Okular
 Comment[es]=WPD para Okular
 Comment[fi]=WPD Okulariin
-Comment[ia]=WPD pro Okular
 Comment[it]=WPD per Okular
 Comment[ja]=Okular 用 WPD
 Comment[nb]=WPD for Okular
diff --git a/gemini/calligragemini.desktop b/gemini/calligragemini.desktop
index 8d602b4..cc4fa73 100644
--- a/gemini/calligragemini.desktop
+++ b/gemini/calligragemini.desktop
@@ -3,26 +3,22 @@ Type=Application
 Name=Calligra Gemini
 Name[ca]=Calligra Gemini
 Name[cs]=Calligra Gemini
-Name[da]=Calligra Gemini
 Name[de]=Calligra Gemini
 Name[en_GB]=Calligra Gemini
 Name[es]=Calligra Gemini
 Name[fi]=Calligra Gemini
-Name[ia]=Calligra Gemini
 Name[it]=Calligra Gemini
 Name[nl]=Calligra Gemini
 Name[pl]=Calligra Gemini
 Name[pt]=Calligra Gemini
 Name[pt_BR]=Calligra Gemini
 Name[sk]=Calligra Gemini
-Name[sv]=Calligra Gemini
 Name[uk]=Calligra Gemini
 Name[x-test]=xxCalligra Geminixx
 Version=1.0
 GenericName=Word Processing and Presentation
 GenericName[ca]=Processament de texts i presentacions
 GenericName[cs]=Práce s textem a prezentacemi
-GenericName[da]=Tekstbehandling og præsentation
 GenericName[de]=Textverarbeitung und Präsentation
 GenericName[en_GB]=Word Processing and Presentation
 GenericName[es]=Procesador de texto y presentaciones
@@ -33,7 +29,6 @@ GenericName[pl]=Edytor tekstu i prezentacji
 GenericName[pt]=Processamento de Texto e Apresentações
 GenericName[pt_BR]=Processamento de Texto e Apresentação
 GenericName[sk]=Spracovanie textu a prezentácie
-GenericName[sv]=Ordbehandling och presentation
 GenericName[uk]= обота з текстом і презентації
 GenericName[x-test]=xxWord Processing and Presentationxx
 Exec=calligragemini %u
diff --git a/karbon/data/karbon.appdata.xml b/karbon/data/karbon.appdata.xml
index 62afbcf..f17b95b 100644
--- a/karbon/data/karbon.appdata.xml
+++ b/karbon/data/karbon.appdata.xml
@@ -42,14 +42,16 @@
   <summary xml:lang="x-test">xxScalable Graphicsxx</summary>
   <description>
     <p>
-      Karbon is a vector drawing application with a user interface that is easy to \
use, highly customizable and extensible. +      Karbon is a vector drawing \
application with an user interface that is easy to use, highly customizable and \
                extensible.
       That makes Karbon a great application for users starting to explore the world \
of vector graphics as well as for artists  wanting to create breathtaking vector art.
     </p>
     <p xml:lang="ca">El Karbon és una aplicació de dibuix vectorial amb una \
interfície d'usuari senzilla d'utilitzar, que es pot personalitzar i ampliar molt. \
Això converteix el Karbon en una gran aplicació per usuaris que comencin a explorar \
el món dels gr fics vectorial i també pels artistes que volen crear art vectorial \
                que deixi bocabadat.</p>
-    <p xml:lang="en-GB">Karbon is a vector drawing application with a user interface \
that is easy to use, highly customisable and extensible. That makes Karbon a great \
application for users starting to explore the world of vector graphics as well as for \
artists wanting to create breathtaking vector art.</p> +    <p \
xml:lang="en-GB">Karbon is a vector drawing application with an user interface that \
is easy to use, highly customisable and extensible. That makes Karbon a great \
application for users starting to explore the world of vector graphics as well as for \
artists wanting to create breathtaking vector art.</p> +    <p xml:lang="es">Karbon \
es una aplicación de dibujo vectorial que dispone de una interfaz de usuario \
intuitiva, altamente personalizable y extensible. Todo ello hace que Karbon sea una \
gran aplicación para aquellos usuarios que empiezan a explorar el mundo de los \
gráficos vectoriales así como para los artistas que desean crear impresionantes \
piezas de arte vectorial.</p>  <p xml:lang="fi">Karbon on vektorigrafiikkasovellus, \
jonka käyttöliittymä on helppo ja laajasti mukautettavissa ja laajennettavissa. \
Karbon on näin loistava sovellus vektorigrafiikan maailmaan vasta tutustuville \
käyttäjille samoin kuin henkeäsalpaavaa vektoritaidetta luoville \
                taiteilijoille.</p>
-    <p xml:lang="it">Karbon è un'applicazione di disegno vettoriale con \
un'interfaccia utente facile da utilizzare, altamente personalizzabile ed \
estendibile. Ciò rende Karbon un'ottima applicazione per gli utenti che iniziano a \
esplorare il mondo della grafica vettoriale così come per gli artisti che vogliono \
creare straordinarie opere vettoriali. </p> +    <p xml:lang="it">Karbon è \
un'applicazione di disegno vettoriale con un'interfaccia utente facile da utilizzare, \
altamente personalizzabile ed estendibile. Ciò rende Karbon una grande applicazione \
per gli utenti che iniziano a esplorare il mondo della grafica vettoriale così come \
per gli artisti che vogliono creare straordinarie opere vettoriali. </p> +    <p \
xml:lang="ja">Karbon \
は使いやすさを重視したベクタードローイングアプリケーショ \
で、高度なカスタマイズ性と拡張機能を備えています。初めてベクターグラフィックスの世界に入る方 \
けではなく、息を飲むようなベクターアートを作成したいアーティストにも最適なアプリケーションです</p>
  <p xml:lang="nl">Karbon is een toepassing voor tekenen met vectoren met een \
gebruikersinterface dat gemakkelijk is te gebruiken, zeer goed aan te passen en uit \
te breiden. Dit maakt Karbon een geweldige toepassing voor gebruikers die de wereld \
van grafiek met vectoren aan het verkennen zijn evenals voor kunstenaars die \
adembenemende vectorkunst willen maken.</p>  <p xml:lang="pl">Karbon jest programem \
do rysowania wektorowego z układem sterowania, który jest łatwy w użyciu, wysoce \
dostosowywalny i rozszerzalny. To czyni Karbon wspaniałym programem dla \
użytkowników zaczynających poznawanie świata grafiki wektorowej, a artystów \
zachęca do tworzenie sztuki wektorowej zapierającej dech w piersiach.</p>  <p \
xml:lang="pt">O Karbon é uma aplicação de desenho vectorial com uma interface \
simples de usar, facilmente configurável e modular. Isto torna o Karbon uma óptima \
aplicação para os utilizadores que começam a explorar o mundo dos gráficos \
vectoriais, assim como para os artistas que desejam criar arte vectorial \
espectacular.</p> @@ -57,7 +59,7 @@
     <p xml:lang="sk">Karbon je vektorová kresliaca aplikácia s používateľským \
rozhraním jednoduchým na používanie, veľmi prispôsobiteľná a \
rozšíriteľná. Toto robí z Karbonu výbornú aplikáciu pre používateľov, \
ktorí začínajú objavovať sveet vektorovej grafiky, ako aj pre umelcov, ktorí \
chcú vytvárať dych vyrážajúce vektorové umenie.</p>  <p xml:lang="sv">Karbon \
är ett vektorritprogram med ett användargränssnitt som är lätt att använda, \
ytterst anpassningsbart och utökningsbart. Det gör Karbon till ett utmärkt program \
för användare som börjar utforska vektorgrafikvärlden samt för konstnärer som \
vill skapa hänförande vektorkonst.</p>  <p xml:lang="uk">Karbon — \
програма для векторного малювання з простим, \
гнучким та придатним до розширення \
інтерфейсом користувача. Це робить Karbon \
чудовою програмою для користувачів, які \
починають знайомитися зі світом векторної \
графіки, а також для художників, які хочуть \
                створити захоплюючі векторні \
                твори.</p>
-    <p xml:lang="x-test">xxKarbon is a vector drawing application with a user \
interface that is easy to use, highly customizable and extensible. That makes Karbon \
a great application for users starting to explore the world of vector graphics as \
well as for artists wanting to create breathtaking vector art.xx</p> +    <p \
xml:lang="x-test">xxKarbon is a vector drawing application with an user interface \
that is easy to use, highly customizable and extensible. That makes Karbon a great \
application for users starting to explore the world of vector graphics as well as for \
artists wanting to create breathtaking vector art.xx</p>  <p>Features:</p>
     <p xml:lang="ca">Característiques:</p>
     <p xml:lang="cs">Vlastnosti:</p>
@@ -122,7 +124,6 @@
       <li xml:lang="en-GB">Customisable user interface with freely placeable \
                toolbars and dockers</li>
       <li xml:lang="es">Interfaz de usuario personalizable con barras de \
herramientas y acoplables que se pueden posicionar libremente en cualquier \
                lugar.</li>
       <li xml:lang="fi">Mukautettava käyttöliittymä, jonka työkalurivit ja \
                telakat ovat vapaasti sijoitettavissa</li>
-      <li xml:lang="ia">Interfacie de usator personalisabile con barra de \
                instrumentos e stivatores (dockers) liberemente positionabile</li>
       <li xml:lang="it">Interfaccia utente personalizzabile con barre degli \
                strumenti posizionabili liberamente e aree di aggancio</li>
       <li xml:lang="nl">Aan te passen gebruikersinterface met vrij te plaatsen \
                werkbalken en verankeringen</li>
       <li xml:lang="pl">Układ sterowania z dowolnie umieszczanymi paskami narzędzi \
                i dokowaniami</li>
diff --git a/kexi/kexi.appdata.xml b/kexi/kexi.appdata.xml
index 60d0676..97e6622 100644
--- a/kexi/kexi.appdata.xml
+++ b/kexi/kexi.appdata.xml
@@ -92,7 +92,7 @@
       <li xml:lang="it">Progettazione completamente visuale di tabelle, query e \
                report</li>
       <li xml:lang="ja">テーブル、クエリー、フォー \
                およびレポートをすべて視覚的にでデザインできます</li>
                
       <li xml:lang="nl">Volledige visueel ontwerpen van tabellen, zoekopdrachten, \
                formulieren en rapporten</li>
-      <li xml:lang="pl">W pełni wizualna możliwość tworzenia tabel, zapytań, \
formularzy i raportów</li> +      <li xml:lang="pl">W pełni wizualna możliwość \
                tworzenia tabel, zapytań, formularzy i sprawozdań</li>
       <li xml:lang="pt">Desenhadores visuais completos para tabelas, pesquisas, \
                formulários e relatórios</li>
       <li xml:lang="pt-BR">Desenhos visuais completos para tabelas, pesquisas, \
                formulários e relatórios</li>
       <li xml:lang="sk">Plne vizuálny návrh pre tabuľky, dotazy, formuláre a \
                správy</li>
diff --git a/kexi/migration/txt/keximigrate_txt.desktop \
b/kexi/migration/txt/keximigrate_txt.desktop index df20ca5..03147fa 100644
--- a/kexi/migration/txt/keximigrate_txt.desktop
+++ b/kexi/migration/txt/keximigrate_txt.desktop
@@ -1,7 +1,6 @@
 [Desktop Entry]
 Name=TSV
 Name[ca]=TSV
-Name[da]=TSV
 Name[de]=TSV
 Name[en_GB]=TSV
 Name[es]=TSV
@@ -21,7 +20,6 @@ Name[uk]=TSV
 Name[x-test]=xxTSVxx
 Comment="Tab Separated Values" Document Import Plugin for Kexi
 Comment[ca]=Connector d'importació de documents  Valors separats per tabulacions  \
                (TSV) pel Kexi
-Comment[da]=Importplugin til "tabulatorseparerede værdier"-dokumenter (TSV) til \
Kexi  Comment[de]=„Durch Tabulator getrennte Werte"-Dokument-Importmodul für Kexi
 Comment[en_GB]="Tab Separated Values" Document Import Plugin for Kexi
 Comment[es]=Complemento de importación de documentos de  valores separados por \
                tabuladores  para Kexi
diff --git a/kexi/plugins/tables/kexitabledesignerview.cpp \
b/kexi/plugins/tables/kexitabledesignerview.cpp index f9d761e..8352408 100644
--- a/kexi/plugins/tables/kexitabledesignerview.cpp
+++ b/kexi/plugins/tables/kexitabledesignerview.cpp
@@ -1193,7 +1193,7 @@ tristate KexiTableDesignerView::buildSchema(KexiDB::TableSchema \
&schema, bool be  "for creating relations between database tables. "
                      "Do you want a primary key to be automatically added \
                now?</note></para>"
                      "<para>If you want to add a primary key by hand, press \
                <interface>Cancel</interface> "
-                     "to cancel saving table design.</para>", schema.name()),
+                     "to cancel saving table design.</para></note>", schema.name()),
                 QString(),
                 KGuiItem(i18nc("Add Database Primary Key to a Table", "&Add Primary \
                Key"), koIconName("key")),
                 KGuiItem(i18nc("Do Not Add Database Primary Key to a Table", "Do \
                &Not Add"), KStandardGuiItem::no().icon()),
diff --git a/krita/data/krita_filefilter.desktop \
b/krita/data/krita_filefilter.desktop index d5f4885..808a8c7 100644
--- a/krita/data/krita_filefilter.desktop
+++ b/krita/data/krita_filefilter.desktop
@@ -4,16 +4,11 @@ X-KDE-ServiceType=Krita/FileFilter
 Comment=Krita FileFilter
 Comment[ca]=Filtre de fitxers per al Krita
 Comment[cs]=Krita FileFilter
-Comment[da]=Krita filfilter
 Comment[de]=Krita-Dateifilter
-Comment[en_GB]=Krita FileFilter
-Comment[it]=Filtro file per Krita
 Comment[nl]=Bestandsfilter voor Krita
 Comment[pl]=Filtr plików Krita
 Comment[pt]=Filtro de Ficheiros do Krita
-Comment[pt_BR]=Filtro de arquivos do Krita
 Comment[sk]=Filter súborov Krita
-Comment[sv]=Krita filfilter
 Comment[uk]=Фільтр файлів для Krita
 Comment[x-test]=xxKrita FileFilterxx
 
diff --git a/krita/data/templates/design/web_design.desktop \
b/krita/data/templates/design/web_design.desktop index fe48671..cdc74ce 100644
--- a/krita/data/templates/design/web_design.desktop
+++ b/krita/data/templates/design/web_design.desktop
@@ -3,7 +3,6 @@ Icon=template_web_design
 Name=Web Design [ 2160x1440 , 72ppi RGB , 8bit ]
 Name[ca]=Disseny Web [ 2160x1440 / 72ppi RGB / 8bit ]
 Name[cs]=Návrh webu [ 2160x1440 , 72ppi RGB , 8bit ]
-Name[da]=Webdesign [ 2160x1440 , 72ppi RGB , 8bit ]
 Name[de]=Web-Design [ 2160x1440 , 72ppi RGB , 8bit ]
 Name[en_GB]=Web Design [ 2160x1440 , 72ppi RGB , 8bit ]
 Name[es]=Diseño de web 4:3 [ 2160x1440 , 72ppi RGB , 8bit ]
diff --git a/krita/data/templates/texture/Texture1024x10248bitsrgb.desktop \
b/krita/data/templates/texture/Texture1024x10248bitsrgb.desktop index \
                7282e94..18ecc7e 100644
--- a/krita/data/templates/texture/Texture1024x10248bitsrgb.desktop
+++ b/krita/data/templates/texture/Texture1024x10248bitsrgb.desktop
@@ -3,7 +3,6 @@ Icon=template_texture
 Name=Texture 1024x1024 8bit srgb
 Name[ca]=Textura 1024x1024 8bit SRGB
 Name[cs]=Textura 1024x1024 8bit srgb
-Name[da]=Tekstur 1024x1024 8bit srgb
 Name[de]=Textur 1024x1024 8bit srgb
 Name[en_GB]=Texture 1024x1024 8bit srgb
 Name[es]=Textura 1024x1024 8bits srgb
diff --git a/krita/data/templates/texture/Texture2048x20488bitsrgb.desktop \
b/krita/data/templates/texture/Texture2048x20488bitsrgb.desktop index \
                ad213d7..3b50404 100644
--- a/krita/data/templates/texture/Texture2048x20488bitsrgb.desktop
+++ b/krita/data/templates/texture/Texture2048x20488bitsrgb.desktop
@@ -3,7 +3,6 @@ Icon=template_texture
 Name=Texture 2048x2048 8bit srgb
 Name[ca]=Textura 2048x2048 8bit SRGB
 Name[cs]=Textura 2048x2048 8bit srgb
-Name[da]=Tekstur 2048x2048 8bit srgb
 Name[de]=Textur 2048x2048 8bit srgb
 Name[en_GB]=Texture 2048x2048 8bit srgb
 Name[es]=Textura 2048x2048 8bits srgb
diff --git a/krita/data/templates/texture/Texture256x2568bitsrgb.desktop \
b/krita/data/templates/texture/Texture256x2568bitsrgb.desktop index d4f9b58..f85ea06 \
                100644
--- a/krita/data/templates/texture/Texture256x2568bitsrgb.desktop
+++ b/krita/data/templates/texture/Texture256x2568bitsrgb.desktop
@@ -3,7 +3,6 @@ Icon=template_texture
 Name=Texture 256x256 8bit srgb
 Name[ca]=Textura 256x256 8bit SRGB
 Name[cs]=Textura 256x256 8bit srgb
-Name[da]=Tekstur 256x256 8bit srgb
 Name[de]=Textur 256x256 8bit srgb
 Name[en_GB]=Texture 256x256 8bit srgb
 Name[es]=Textura 256x256 8bits srgb
diff --git a/krita/data/templates/texture/Texture4096x40968bitsrgb.desktop \
b/krita/data/templates/texture/Texture4096x40968bitsrgb.desktop index \
                c94a155..1884f06 100644
--- a/krita/data/templates/texture/Texture4096x40968bitsrgb.desktop
+++ b/krita/data/templates/texture/Texture4096x40968bitsrgb.desktop
@@ -3,7 +3,6 @@ Icon=template_texture
 Name=Texture 4096x4096 8bit srgb
 Name[ca]=Textura 4096x4096 8bit SRGB
 Name[cs]=Textura 4096x4096 8bit srgb
-Name[da]=Tekstur 4096x4096 8bit srgb
 Name[de]=Textur 4096x4096 8bit srgb
 Name[en_GB]=Texture 4096x4096 8bit srgb
 Name[es]=Textura 4096x4096 8bits srgb
diff --git a/krita/data/templates/texture/Texture512x5128bitsrgb.desktop \
b/krita/data/templates/texture/Texture512x5128bitsrgb.desktop index 8d5833c..e991d9c \
                100644
--- a/krita/data/templates/texture/Texture512x5128bitsrgb.desktop
+++ b/krita/data/templates/texture/Texture512x5128bitsrgb.desktop
@@ -3,7 +3,6 @@ Icon=template_texture
 Name=Texture 512x512 8bit srgb
 Name[ca]=Textura 512x512 8bit SRGB
 Name[cs]=Textura 512x512 8bit srgb
-Name[da]=Tekstur 512x512 8bit srgb
 Name[de]=Textur 512x512 8bit srgb
 Name[en_GB]=Texture 512x512 8bit srgb
 Name[es]=Textura 512x512 8bits srgb
diff --git a/krita/gemini/kritagemini.desktop b/krita/gemini/kritagemini.desktop
index f20da78..8ab9a82 100644
--- a/krita/gemini/kritagemini.desktop
+++ b/krita/gemini/kritagemini.desktop
@@ -23,7 +23,7 @@ GenericName[lt]=Skaitmeninis piešimas
 GenericName[mr]=डिजिटल पेंटिंग
 GenericName[nb]=Digital maling
 GenericName[nl]=Digitaal schilderen
-GenericName[pl]=Cyfrowe malowanie
+GenericName[pl]=Cyfrowe malowanie 
 GenericName[pt]=Pintura Digital
 GenericName[pt_BR]=Pintura digital
 GenericName[ru]=Цифровая живопись
diff --git a/krita/integration/thumbnail/kritaanimation_kranim_thumbnail.desktop \
b/krita/integration/thumbnail/kritaanimation_kranim_thumbnail.desktop deleted file \
mode 100644 index 1f9dd72..0000000
--- a/krita/integration/thumbnail/kritaanimation_kranim_thumbnail.desktop
+++ /dev/null
@@ -1,30 +0,0 @@
-
-[Desktop Entry]
-Type=Service
-Name=Krita Animation Documents
-Name[ca]=Documents d'animació del Krita
-Name[cs]=Dokumenty animace Krita
-Name[da]=Krita Animation-dokumenter
-Name[de]=Krita-Animationsdokumente
-Name[en_GB]=Krita Animation Documents
-Name[es]=Documentos de Krita animación
-Name[fi]=Krita-animaatiotiedostot
-Name[ia]=Documentos de animation de Krita
-Name[it]=Documenti di animazione di Krita
-Name[ja]=Krita Animation 文書
-Name[nb]=Krita animasjonsdokumenter
-Name[nl]=Animatiedocumenten van Krita
-Name[pl]=Dokumenty animacji Krita
-Name[pt]=Documentos do Krita Animação
-Name[pt_BR]=Documentos de animação do Krita
-Name[sk]=Dokumenty animácií Krita
-Name[sv]=Krita-animeringsdokument
-Name[uk]=Документи анімації Krita
-Name[x-test]=xxKrita Animation Documentsxx
-
-
-X-KDE-ServiceTypes=ThumbCreator
-MimeType=application/x-krita-animation;
-
-X-KDE-Library=kritathumbnail
-CacheThumbnail=true
diff --git a/krita/krita.appdata.xml b/krita/krita.appdata.xml
index 9b91f5e..6556f7a 100644
--- a/krita/krita.appdata.xml
+++ b/krita/krita.appdata.xml
@@ -44,7 +44,6 @@
     <p xml:lang="en-GB">It is perfect for sketching and painting, and presents an \
end–to–end solution for creating digital painting files from scratch by \
masters.</p>  <p xml:lang="es">Es perfecto para diseñar y pintar, y ofrece una \
solución completa para crear desde cero archivos de pintura digital apta para \
                profesionales.</p>
     <p xml:lang="fi">Se on täydellinen luonnosteluun ja maalaukseen ja tarjoaa \
                kokonaisratkaisun digitaalisten kuvatiedostojen luomiseen alusta \
                alkaen.</p>
-    <p xml:lang="ia">Illo es perfecte pro schizzar e pinger, e presenta un solution \
ab fin al fin pro crear files de pictura digital ab grattamentos per maestros.</p>  \
<p xml:lang="it">Perfetto per fare schizzi e dipingere, prevede una soluzione \
completa che consente agli artisti di creare file di dipinti digitali partendo da \
zero.</p>  <p xml:lang="nl">Het is perfect voor schetsen en schilderen en zet een \
end–to–end oplossing voor het maken van digitale bestanden voor schilderingen \
vanuit het niets door meesters.</p>  <p xml:lang="pl">Nadaje się perfekcyjnie do \
szkicowania i malowania i dostarcza zupełnego rozwiązania dla tworzenia plików \
                malowideł cyfrowych od zalążka.</p>
diff --git a/krita/krita.desktop b/krita/krita.desktop
index 0a7d90b..f0a74ee 100644
--- a/krita/krita.desktop
+++ b/krita/krita.desktop
@@ -84,7 +84,7 @@ GenericName[lt]=Skaitmeninis piešimas
 GenericName[mr]=डिजिटल पेंटिंग
 GenericName[nb]=Digital maling
 GenericName[nl]=Digitaal schilderen
-GenericName[pl]=Cyfrowe malowanie
+GenericName[pl]=Cyfrowe malowanie 
 GenericName[pt]=Pintura Digital
 GenericName[pt_BR]=Pintura digital
 GenericName[ru]=Цифровая живопись
@@ -117,7 +117,7 @@ Comment[lt]=Skaitmeninis piešimas
 Comment[mr]=डिजिटल पेंटिंग
 Comment[nb]=Digital maling
 Comment[nl]=Digitaal schilderen
-Comment[pl]=Cyfrowe malowanie
+Comment[pl]=Cyfrowe malowanie 
 Comment[pt]=Pintura Digital
 Comment[pt_BR]=Pintura digital
 Comment[ru]=Цифровая живопись
diff --git a/krita/plugins/extensions/dockers/animator/krita_animator.desktop \
b/krita/plugins/extensions/dockers/animator/krita_animator.desktop deleted file mode \
100644 index 7856afd..0000000
--- a/krita/plugins/extensions/dockers/animator/krita_animator.desktop
+++ /dev/null
@@ -1,41 +0,0 @@
-[Desktop Entry]
-Name=Animator
-Name[ca]=Animador
-Name[cs]=Nástroj pro animace
-Name[da]=Animator
-Name[de]=Animator
-Name[en_GB]=Animator
-Name[es]=Animador
-Name[it]=Animatore
-Name[ja]=アニメータ
-Name[nb]=Animator
-Name[nl]=Animator
-Name[pl]=Animator
-Name[pt]=Animador
-Name[pt_BR]=Animador
-Name[sk]=Animátor
-Name[sv]=Animeringsverktyg
-Name[uk]=Animator
-Name[x-test]=xxAnimatorxx
-Comment=Animator
-Comment[ca]=Animador
-Comment[cs]=Nástroj pro animace
-Comment[da]=Animator
-Comment[de]=Animator
-Comment[en_GB]=Animator
-Comment[es]=Animador
-Comment[it]=Animatore
-Comment[ja]=アニメータ
-Comment[nb]=Animator
-Comment[nl]=Animator
-Comment[pl]=Animator
-Comment[pt]=Animador
-Comment[pt_BR]=Animador
-Comment[sk]=Animátor
-Comment[sv]=Animeringsverktyg
-Comment[uk]=Аніматор
-Comment[x-test]=xxAnimatorxx
-X-KDE-ServiceTypes=Krita/Dock
-Type=Service
-X-KDE-Library=kritaanimator
-X-Krita-Version=28
diff --git a/krita/plugins/extensions/dockers/colorslider/krita_colorslider.desktop \
b/krita/plugins/extensions/dockers/colorslider/krita_colorslider.desktop index \
                672db44..73ce1c0 100644
--- a/krita/plugins/extensions/dockers/colorslider/krita_colorslider.desktop
+++ b/krita/plugins/extensions/dockers/colorslider/krita_colorslider.desktop
@@ -1,7 +1,6 @@
 [Desktop Entry]
 Name=ColorSlider
 Name[ca]=ControlLliscantColor
-Name[da]=ColorSlider
 Name[de]=Farbschieber
 Name[en_GB]=ColourSlider
 Name[es]=Selector de color
@@ -9,7 +8,7 @@ Name[it]=Cursore del colore
 Name[ja]=カラースライダー
 Name[nb]=ColorSlider
 Name[nl]=KleurSchuifknop
-Name[pl]=Suwak koloru
+Name[pl]=Suwa koloru
 Name[pt]=Barras de Cores
 Name[pt_BR]=Seletor de Cores
 Name[sk]=Posuvník farieb
diff --git a/krita/plugins/extensions/layersplit/kritalayersplit.desktop \
b/krita/plugins/extensions/layersplit/kritalayersplit.desktop index 3605bda..427dbeb \
                100644
--- a/krita/plugins/extensions/layersplit/kritalayersplit.desktop
+++ b/krita/plugins/extensions/layersplit/kritalayersplit.desktop
@@ -1,15 +1,9 @@
 [Desktop Entry]
 Name=Layer Splitter
 Name[ca]=Separador de capes
-Name[da]=Lagopdeler
-Name[en_GB]=Layer Splitter
-Name[it]=Divisore di livelli
 Name[nl]=Splitser van lagen
-Name[pl]=Podzielnik warstwy
 Name[pt]=Divisor de Camadas
-Name[pt_BR]=Divisor de camadas
 Name[sk]=Rozdeľovač vrstiev
-Name[sv]=Lagerdelning
 Name[uk]= оздільник шарів
 Name[x-test]=xxLayer Splitterxx
 X-KDE-ServiceTypes=Krita/ViewPlugin
diff --git a/krita/plugins/extensions/resourcemanager/kritaresourcemanager.desktop \
b/krita/plugins/extensions/resourcemanager/kritaresourcemanager.desktop index \
                aebe72c..09ff26a 100644
--- a/krita/plugins/extensions/resourcemanager/kritaresourcemanager.desktop
+++ b/krita/plugins/extensions/resourcemanager/kritaresourcemanager.desktop
@@ -2,7 +2,6 @@
 Name=Resource Manager
 Name[ca]=Gestor de recursos
 Name[cs]=Správce zdrojů
-Name[da]=Håndtering af ressourcer
 Name[de]=Ressourcenverwaltung
 Name[en_GB]=Resource Manager
 Name[es]=Gestor de recursos
diff --git a/krita/plugins/filters/indexcolors/kritaindexcolors.desktop \
b/krita/plugins/filters/indexcolors/kritaindexcolors.desktop index 05d153b..732ef12 \
                100644
--- a/krita/plugins/filters/indexcolors/kritaindexcolors.desktop
+++ b/krita/plugins/filters/indexcolors/kritaindexcolors.desktop
@@ -1,7 +1,6 @@
 [Desktop Entry]
 Name=Index Colors Filter
 Name[ca]=Filtre de colors indexats
-Name[da]=Indeksfarvefilter
 Name[de]=Farbfilter-Index
 Name[en_GB]=Index Colours Filter
 Name[es]=Filtros de colores indexados
@@ -19,7 +18,6 @@ Name[uk]=Фільтр індексованих кольорів
 Name[x-test]=xxIndex Colors Filterxx
 Comment=Reduce the amount of colors in the picture to a pre-defined palette.
 Comment[ca]=Redueix la quantitat de colors en la imatge a una paleta predefinida.
-Comment[da]=Reducér mængden af farver i billedet til en prædefineret palette.
 Comment[de]=Reduziert die Anzahl der Farben im Bild auf eine vordefinierte Palette.
 Comment[en_GB]=Reduce the amount of colours in the picture to a pre-defined palette.
 Comment[es]=Reduce la cantidad de colores que hay en una imagen a una paleta \
                predefinida.
diff --git a/krita/plugins/filters/posterize/kritaposterize.desktop \
b/krita/plugins/filters/posterize/kritaposterize.desktop index fb12ea2..ab98f09 \
                100644
--- a/krita/plugins/filters/posterize/kritaposterize.desktop
+++ b/krita/plugins/filters/posterize/kritaposterize.desktop
@@ -1,7 +1,6 @@
 [Desktop Entry]
 Name=Posterize Filter
 Name[ca]=Filtre de posterització
-Name[da]=Posteriseringsfilter
 Name[de]=Posterisation-Filter
 Name[en_GB]=Posterise Filter
 Name[es]=Filtro posterizar
@@ -20,7 +19,6 @@ Name[uk]=Фільтр постеризації
 Name[x-test]=xxPosterize Filterxx
 Comment=Reduce the amount of colors in the picture to a fixed interval
 Comment[ca]=Redueix la quantitat de colors en la imatge a un interval fix
-Comment[da]=Reducér mængden af farver i billedet til et fast interval
 Comment[de]=Reduziert die Anzahl der Farben im Bild auf ein festgelegtes Intervall \
(Tontrennung)  Comment[en_GB]=Reduce the amount of colours in the picture to a fixed \
interval  Comment[es]=Reduce la cantidad de colores que hay en una imagen a un \
                intervalo fijo
diff --git a/krita/plugins/formats/heightmap/krita_heightmap_export.desktop \
b/krita/plugins/formats/heightmap/krita_heightmap_export.desktop index \
                550d69e..b1d128a 100644
--- a/krita/plugins/formats/heightmap/krita_heightmap_export.desktop
+++ b/krita/plugins/formats/heightmap/krita_heightmap_export.desktop
@@ -3,7 +3,6 @@ Icon=
 Name=Krita HeightMap Export Filter
 Name[ca]=Filtre d'exportació HeightMap per al Krita
 Name[cs]=Exportní filtr výškové mapy pro Krita
-Name[da]=HeightMap-eksportfilter til Krita
 Name[de]=Krita Höhenkarten-Exportfilter
 Name[en_GB]=Krita HeightMap Export Filter
 Name[es]=Filtro de Krita de exportación a HeightMap
diff --git a/krita/plugins/formats/heightmap/krita_heightmap_import.desktop \
b/krita/plugins/formats/heightmap/krita_heightmap_import.desktop index \
                fb59c15..fe3454f 100644
--- a/krita/plugins/formats/heightmap/krita_heightmap_import.desktop
+++ b/krita/plugins/formats/heightmap/krita_heightmap_import.desktop
@@ -3,7 +3,6 @@ Icon=
 Name=Krita HeightMap Import Filter
 Name[ca]=Filtre d'importació HeightMap per al Krita
 Name[cs]=Importní filtr výškové mapy pro Kritu
-Name[da]=HeightMap-importfilter til Krita
 Name[de]=Krita-Höhenkarten-Importfilter
 Name[en_GB]=Krita HeightMap Import Filter
 Name[es]=Filtro de Krita de importación de HeightMap
diff --git a/krita/plugins/formats/kranimseq/kranimseq_export.desktop \
b/krita/plugins/formats/kranimseq/kranimseq_export.desktop deleted file mode 100644
index 4d9edca..0000000
--- a/krita/plugins/formats/kranimseq/kranimseq_export.desktop
+++ /dev/null
@@ -1,26 +0,0 @@
-[Desktop Entry]
-Name=Krita PNG Sequence Export Filter
-Name[ca]=Filtre d'exportació de seqüències PNG per al Krita
-Name[cs]=Exportní filtr sekvence PNG pro Kritu
-Name[da]=PNG-sekvens-eksportfilter til Krita
-Name[en_GB]=Krita PNG Sequence Export Filter
-Name[es]=Filtro de Krita de exportación a  secuencia PNG
-Name[fi]=Kritan PNG Sequence -vientisuodatin
-Name[it]=Filtro di esportazione sequenza PNG per Krita
-Name[ja]=Krita PNG シーケンスエクスポートフィルタ
-Name[nb]=PNG sekvens-eksportfilter for Krita
-Name[nl]=PNG volgorde exportfilter voor Krita
-Name[pl]=Filtr eksportu szeregu PNG z Krita
-Name[pt]=Filtro de Exportação de Sequências em PNG para o Krita
-Name[pt_BR]=Filtro de exportação sequências em PNG para Krita
-Name[sk]=Exportný filter Krita PNG sekvencia
-Name[sv]=Krita PNG-sekvensexportfilter
-Name[uk]=Фільтр експорту послідовності зображень \
                PNG для Krita
-Name[x-test]=xxKrita PNG Sequence Export Filterxx
-X-KDE-Export=application/x-kranim-sequence
-X-KDE-ServiceTypes=Krita/FileFilter
-Type=Service
-X-KDE-Import=application/x-krita
-X-KDE-Weight=1
-X-KDE-Library=kranimseq
-NoDisplay=true
diff --git a/krita/plugins/formats/tga/krita_tga_export.desktop \
b/krita/plugins/formats/tga/krita_tga_export.desktop index 14560c4..7d4d222 100644
--- a/krita/plugins/formats/tga/krita_tga_export.desktop
+++ b/krita/plugins/formats/tga/krita_tga_export.desktop
@@ -2,7 +2,6 @@
 Name=Krita TGA Export Filter
 Name[ca]=Filtre d'exportació TGA per al Krita
 Name[cs]=Exportní filtr do formátu TGS pro Kritu
-Name[da]=TGA-eksportfilter til Krita
 Name[de]=Krita-TGA-Exportfilter
 Name[en_GB]=Krita TGA Export Filter
 Name[es]=Filtro de Krita de exportación a TGA
diff --git a/krita/plugins/formats/tga/krita_tga_import.desktop \
b/krita/plugins/formats/tga/krita_tga_import.desktop index 13634cb..6c62b95 100644
--- a/krita/plugins/formats/tga/krita_tga_import.desktop
+++ b/krita/plugins/formats/tga/krita_tga_import.desktop
@@ -2,7 +2,6 @@
 Name=Krita TGA Import Filter
 Name[ca]=Filtre d'importació TGA per al Krita
 Name[cs]=Importní filtr formátu TGA pro Kritu
-Name[da]=TGA-importfilter til Krita
 Name[de]=Krita-TGA-Importfilter
 Name[en_GB]=Krita TGA Import Filter
 Name[es]=Filtro de Krita de importación de TGA
diff --git a/krita/plugins/paintops/gridbrush/kritagridpaintop.desktop \
b/krita/plugins/paintops/gridbrush/kritagridpaintop.desktop index 4b55a23..2665a8b \
                100644
--- a/krita/plugins/paintops/gridbrush/kritagridpaintop.desktop
+++ b/krita/plugins/paintops/gridbrush/kritagridpaintop.desktop
@@ -1,7 +1,6 @@
 [Desktop Entry]
 Name=Grid Brush
 Name[ca]=Pinzell de graella
-Name[da]=Gitterpensel
 Name[de]=Gitter-Pinsel
 Name[en_GB]=Grid Brush
 Name[es]=Pincel de rejilla
diff --git a/krita/plugins/tools/tool_transform2/kis_free_transform_strategy_gsl_helpers.cpp \
b/krita/plugins/tools/tool_transform2/kis_free_transform_strategy_gsl_helpers.cpp \
                index c6d7d93..034b3ec 100644
--- a/krita/plugins/tools/tool_transform2/kis_free_transform_strategy_gsl_helpers.cpp
+++ b/krita/plugins/tools/tool_transform2/kis_free_transform_strategy_gsl_helpers.cpp
@@ -336,7 +336,7 @@ namespace GSL
     {
         QMessageBox::warning(0,
                              i18nc("@title:window", "Krita"),
-                             i18n("Sorry, Krita was built without the support "
+                             i18n("Sorry, Krita was build without the support "
                                   "of GNU Scientific Library, so you cannot scale "
                                   "the selection with handles. Please compile "
                                   "Krita with GNU Scientific Library support, or use \
                "
diff --git a/krita/sketch/kritasketch.desktop b/krita/sketch/kritasketch.desktop
index 6b801e1..3ffd4b1 100644
--- a/krita/sketch/kritasketch.desktop
+++ b/krita/sketch/kritasketch.desktop
@@ -50,7 +50,7 @@ GenericName[lt]=Skaitmeninis piešimas
 GenericName[mr]=डिजिटल पेंटिंग
 GenericName[nb]=Digital maling
 GenericName[nl]=Digitaal schilderen
-GenericName[pl]=Cyfrowe malowanie
+GenericName[pl]=Cyfrowe malowanie 
 GenericName[pt]=Pintura Digital
 GenericName[pt_BR]=Pintura digital
 GenericName[ru]=Цифровая живопись
diff --git a/krita/ui/forms/wdg_url_requester.ui \
b/krita/ui/forms/wdg_url_requester.ui index 53dfda3..cb3ca50 100644
--- a/krita/ui/forms/wdg_url_requester.ui
+++ b/krita/ui/forms/wdg_url_requester.ui
@@ -16,6 +16,9 @@
     <verstretch>0</verstretch>
    </sizepolicy>
   </property>
+  <property name="windowTitle">
+   <string>Form</string>
+  </property>
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout">
diff --git a/libs/kopageapp/tools/kopa_tool.desktop \
b/libs/kopageapp/tools/kopa_tool.desktop index e8e14ce..3bd7dd2 100644
--- a/libs/kopageapp/tools/kopa_tool.desktop
+++ b/libs/kopageapp/tools/kopa_tool.desktop
@@ -3,7 +3,6 @@ Type=ServiceType
 X-KDE-ServiceType=CalligraPageApp/Tool
 Comment=Tool for Calligra Page Applications
 Comment[ca]=Eina per les aplicacions de p gina del Calligra
-Comment[da]=Værktøj til Calligra Page-programmer
 Comment[de]=Werkzeug für Calligra-Seitenanwendungen
 Comment[en_GB]=Tool for Calligra Page Applications
 Comment[es]=Herramienta para las aplicaciones de páginas de Calligra
diff --git a/libs/koreport/koreport_itemplugin.desktop \
b/libs/koreport/koreport_itemplugin.desktop index fdfa248..5c6c526 100644
--- a/libs/koreport/koreport_itemplugin.desktop
+++ b/libs/koreport/koreport_itemplugin.desktop
@@ -22,7 +22,7 @@ Comment[kk]=KoReport нысан плагині
 Comment[nb]=Programtillegg for KoReport-element
 Comment[nds]=Moduul för KoReport-Element
 Comment[nl]=Plug-in voor KoReport-item
-Comment[pl]=Wtyczka dostarczająca elementy raportu
+Comment[pl]=Wtyczka elementu KoReport
 Comment[pt]='Plugin' de Itens do KoReport
 Comment[pt_BR]=Plugin de itens do KoReport
 Comment[ru]=Модуль KoReport
diff --git a/libs/kotext/KoSection.cpp b/libs/kotext/KoSection.cpp
index eb83b49..a651fd4 100644
--- a/libs/kotext/KoSection.cpp
+++ b/libs/kotext/KoSection.cpp
@@ -40,6 +40,7 @@ public:
     explicit KoSectionPrivate(const QTextDocument *_document)
         : manager(KoTextDocument(_document).sectionManager())
         , sectionStyle(0)
+        , modelItem(0)
     {
         Q_ASSERT(manager);
         name = manager->possibleNewName();
@@ -61,6 +62,7 @@ public:
     QScopedPointer<KoSectionEnd> sectionEnd; //< pointer to the corresponding \
                section end
     int level; //< level of the section in document, root sections have 0 level
     QPair<int, int> bounds; //< start and end position of section in QDocument
+    QStandardItem *modelItem;
 };
 
 KoSection::KoSection(const QTextCursor &cursor)
@@ -105,8 +107,8 @@ bool KoSection::setName(const QString &name)
     }
 
     if (d->manager->isValidNewName(name)) {
+        d->manager->sectionRenamed(d->name, name);
         d->name = name;
-        d->manager->invalidate();
         return true;
     }
     return false;
@@ -188,3 +190,15 @@ void KoSection::setLevel(int level)
     Q_D(KoSection);
     d->level = level;
 }
+
+QStandardItem *KoSection::modelItem()
+{
+    Q_D(KoSection);
+    return d->modelItem;
+}
+
+void KoSection::setModelItem(QStandardItem *item)
+{
+    Q_D(KoSection);
+    d->modelItem = item;
+}
diff --git a/libs/kotext/KoSection.h b/libs/kotext/KoSection.h
index 82f4c75..8183958 100644
--- a/libs/kotext/KoSection.h
+++ b/libs/kotext/KoSection.h
@@ -22,11 +22,10 @@
 
 #include "kotext_export.h"
 
-#include <QMetaType>
-#include <QList>
 #include <QString>
 #include <QPair>
 #include <QScopedPointer>
+#include <QStandardItem>
 #include <QTextCursor>
 
 class KoXmlElement;
@@ -84,12 +83,11 @@ private:
     void setBeginPos(int pos);
     void setEndPos(int pos);
     void setLevel(int level);
+    void setModelItem(QStandardItem *item);
+    QStandardItem *modelItem();
 
     friend class KoSectionManager;
     friend class KoSectionEnd;
 };
 
-Q_DECLARE_METATYPE(KoSection *)
-Q_DECLARE_METATYPE(QList<KoSection *>)
-
 #endif // KOSECTION_H
diff --git a/libs/kotext/KoSectionEnd.cpp b/libs/kotext/KoSectionEnd.cpp
index c620a07..0d7cf83 100644
--- a/libs/kotext/KoSectionEnd.cpp
+++ b/libs/kotext/KoSectionEnd.cpp
@@ -53,7 +53,7 @@ QString KoSectionEnd::name() const
     return d->section->name();
 }
 
-KoSection *KoSectionEnd::correspondingSection() const
+KoSection* KoSectionEnd::correspondingSection() const
 {
     Q_D(const KoSectionEnd);
     return d->section;
diff --git a/libs/kotext/KoSectionEnd.h b/libs/kotext/KoSectionEnd.h
index d831cd5..02ab31d 100644
--- a/libs/kotext/KoSectionEnd.h
+++ b/libs/kotext/KoSectionEnd.h
@@ -22,8 +22,6 @@
 
 #include "kotext_export.h"
 
-#include <QMetaType>
-#include <QList>
 #include <QString>
 #include <QScopedPointer>
 
@@ -53,7 +51,4 @@ private:
     Q_DECLARE_PRIVATE(KoSectionEnd)
 };
 
-Q_DECLARE_METATYPE(KoSectionEnd *)
-Q_DECLARE_METATYPE(QList<KoSectionEnd *>)
-
 #endif // KOSECTIONEND_H
diff --git a/libs/kotext/KoSectionManager.cpp b/libs/kotext/KoSectionManager.cpp
index 4143ca8..df4e535 100644
--- a/libs/kotext/KoSectionManager.cpp
+++ b/libs/kotext/KoSectionManager.cpp
@@ -23,7 +23,6 @@
 #include "KoSectionEnd.h"
 #include <KLocalizedString>
 #include <KoTextDocument.h>
-#include "KoSectionUtils.h"
 
 #include <QHash>
 #include <QString>
@@ -32,56 +31,27 @@
 
 #include <kdebug.h>
 
-class KoSectionManagerPrivate
+KoSectionManagerPrivate::KoSectionManagerPrivate(QTextDocument *_doc)
+    : doc(_doc)
+    , valid(false)
+    , sectionCount(0)
+    , model(new QStandardItemModel())
 {
-public:
-    KoSectionManagerPrivate(KoSectionManager *parent, QTextDocument *_doc)
-        : doc(_doc)
-        , valid(false)
-        , q_ptr(parent)
-    {
-        Q_ASSERT(_doc);
-    }
-
-    ~KoSectionManagerPrivate()
-    {
-        QSet<KoSection *>::iterator it = registeredSections.begin();
-        for (; it != registeredSections.end(); it++) {
-            delete *it; // KoSectionEnd will be deleted in KoSection
-        }
-    }
-
-    QTextDocument *doc;
-    bool valid; //< is current section info is valid
-    QSet<KoSection *> registeredSections; //< stores pointer to sections that \
                sometime was registered
-
-    // used to prevent using sectionNames without update
-    QHash<QString, KoSection *> &sectionNames()
-    {
-        Q_Q(KoSectionManager);
-        q->update();
-        return m_sectionNames;
-    }
-
-protected:
-    KoSectionManager *q_ptr;
-
-private:
-    Q_DISABLE_COPY(KoSectionManagerPrivate)
-    Q_DECLARE_PUBLIC(KoSectionManager);
-
-    QHash<QString, KoSection *> m_sectionNames; //< stores name -> pointer \
                reference, for sections that are visible in document now
-};
+    Q_ASSERT(_doc);
+}
 
-KoSectionManager::KoSectionManager(QTextDocument* doc)
-    : d_ptr(new KoSectionManagerPrivate(this, doc))
+KoSectionManagerPrivate::~KoSectionManagerPrivate()
 {
-    KoTextDocument(doc).setSectionManager(this); //FIXME: setting it back from here \
looks bad +    QHash<QString, KoSection *>::iterator it = sectionNames.begin();
+    for (; it != sectionNames.end(); it++) {
+        delete it.value(); // KoSectionEnd will be deleted in KoSection
+    }
 }
 
-KoSectionManager::~KoSectionManager()
+KoSectionManager::KoSectionManager(QTextDocument* doc)
+    : d_ptr(new KoSectionManagerPrivate(doc))
 {
-    delete d_ptr;
+    KoTextDocument(doc).setSectionManager(this);
 }
 
 KoSection *KoSectionManager::sectionAtPosition(int pos)
@@ -91,8 +61,8 @@ KoSection *KoSectionManager::sectionAtPosition(int pos)
 
     KoSection *result = 0;
     int smallest = INT_MAX; //smallest in size section will be the deepest
-    QHash<QString, KoSection *>::iterator it = d->sectionNames().begin();
-    for (; it != d->sectionNames().end(); it++) {
+    QHash<QString, KoSection *>::iterator it = d->sectionNames.begin();
+    for (; it != d->sectionNames.end(); it++) {
         if (it.value()->bounds().first > pos || it.value()->bounds().second < pos) {
             continue;
         }
@@ -112,20 +82,21 @@ void KoSectionManager::invalidate()
     d->valid = false;
 }
 
-bool KoSectionManager::isValidNewName(const QString &name)
+bool KoSectionManager::isValidNewName(const QString &name) const
 {
-    Q_D(KoSectionManager);
-    return (d->sectionNames().constFind(name) == d->sectionNames().constEnd());
+    Q_D(const KoSectionManager);
+    return (d->sectionNames.find(name) == d->sectionNames.end());
 }
 
-QString KoSectionManager::possibleNewName()
+QString KoSectionManager::possibleNewName() const
 {
-    Q_D(KoSectionManager);
+    Q_D(const KoSectionManager);
 
     QString newName;
-    int i = d->registeredSections.count();
+
+    int i = d->sectionCount;
     do {
-        i++;
+        ++i;
         newName = i18nc("new numbered section name", "New section %1", i);
     } while (!isValidNewName(newName));
 
@@ -135,57 +106,73 @@ QString KoSectionManager::possibleNewName()
 void KoSectionManager::registerSection(KoSection* section)
 {
     Q_D(KoSectionManager);
-    d->registeredSections.insert(section);
+    d->sectionCount++;
+    d->sectionNames[section->name()] = section;
     invalidate();
 }
 
+void KoSectionManager::sectionRenamed(const QString &oldName, const QString &name)
+{
+    Q_D(KoSectionManager);
+    QHash<QString, KoSection *>::iterator it = d->sectionNames.find(oldName);
+    KoSection *sec = *it;
+    d->sectionNames.erase(it);
+    d->sectionNames[name] = sec;
+
+    if (sec->modelItem()) {
+        sec->modelItem()->setData(name, Qt::DisplayRole);
+    }
+}
+
 void KoSectionManager::unregisterSection(KoSection* section)
 {
     Q_D(KoSectionManager);
-    d->registeredSections.remove(section);
+
+    d->sectionCount--;
+    d->sectionNames.remove(section->name());
     invalidate();
 }
 
-QStandardItemModel *KoSectionManager::update(bool needModel)
+void KoSectionManager::update()
 {
     Q_D(KoSectionManager);
-    if (d->valid && !needModel) {
-        return 0;
+    if (d->valid) {
+        return;
     }
-    d->valid = true;
-    d->sectionNames().clear();
 
-    QSet<KoSection *>::iterator it = d->registeredSections.begin();
-    for (; it != d->registeredSections.end(); it++) {
-        (*it)->setBeginPos(-1);
-        (*it)->setEndPos(-1);
-        (*it)->setLevel(-1);
+    QHash<QString, KoSection *>::iterator it = d->sectionNames.begin();
+    for (; it != d->sectionNames.end(); it++) {
+        it.value()->setBeginPos(-1);
+        it.value()->setEndPos(-1);
+        it.value()->setLevel(-1);
     }
 
     QTextBlock block = d->doc->begin();
 
-    QStandardItemModel *model = 0;
-    QStack<QStandardItem *> curChain;
+    QStringList head;
+    head << i18n("Section");
+    d->model->clear();
+    d->model->setHorizontalHeaderLabels(head);
+    d->model->setColumnCount(1);
 
-    if (needModel) {
-        model = new QStandardItemModel();
-        curChain.push(model->invisibleRootItem());
-    }
+    QStack<QStandardItem *> curChain;
+    curChain.push(d->model->invisibleRootItem());
 
     int curLevel = -1;
     do {
         QTextBlockFormat fmt = block.blockFormat();
 
-        foreach (KoSection *sec, KoSectionUtils::sectionStartings(fmt)) {
-            curLevel++;
-            sec->setBeginPos(block.position());
-            sec->setLevel(curLevel);
-
-            d->sectionNames()[sec->name()] = sec;
+        if (fmt.hasProperty(KoParagraphStyle::SectionStartings)) {
+            QList<QVariant> starts = \
fmt.property(KoParagraphStyle::SectionStartings).value< QList<QVariant> >(); +        \
foreach (const QVariant &sv, starts) { +                curLevel++;
+                KoSection *sec = static_cast<KoSection *>(sv.value<void *>());
+                sec->setBeginPos(block.position());
+                sec->setLevel(curLevel);
 
-            if (needModel) {
                 QStandardItem *item = new QStandardItem(sec->name());
-                item->setData(QVariant::fromValue<KoSection *>(sec), Qt::UserRole + \
1); +                item->setData(qVariantFromValue(static_cast<void *>(sec)), \
Qt::UserRole + 1); +                sec->setModelItem(item);
 
                 curChain.top()->appendRow(item);
 
@@ -193,15 +180,24 @@ QStandardItemModel *KoSectionManager::update(bool needModel)
             }
         }
 
-        foreach (const KoSectionEnd *sec, KoSectionUtils::sectionEndings(fmt)) {
-            curLevel--;
-            sec->correspondingSection()->setEndPos(block.position() + \
block.length()); +        if (fmt.hasProperty(KoParagraphStyle::SectionEndings)) {
+            QList<QVariant> ends = \
fmt.property(KoParagraphStyle::SectionEndings).value< QList<QVariant> >(); +          \
foreach (const QVariant &sv, ends) { +                curLevel--;
+                KoSectionEnd *sec = static_cast<KoSectionEnd *>(sv.value<void *>());
+                sec->correspondingSection()->setEndPos(block.position() + \
block.length());  
-            if (needModel) {
                 curChain.pop();
             }
         }
     } while ((block = block.next()).isValid());
 
-    return model;
+    d->valid = true;
+}
+
+QStandardItemModel* KoSectionManager::sectionsModel()
+{
+    Q_D(KoSectionManager);
+    update();
+    return d->model.data();
 }
diff --git a/libs/kotext/KoSectionManager.h b/libs/kotext/KoSectionManager.h
index a3933fe..dc4821f 100644
--- a/libs/kotext/KoSectionManager.h
+++ b/libs/kotext/KoSectionManager.h
@@ -22,13 +22,23 @@
 #include <QTextDocument>
 #include <QMetaType>
 #include <QStandardItemModel>
-#include <QSet>
 
 #include <kotext_export.h>
 
 class KoSection;
-class KoSectionManagerPrivate;
 
+class KoSectionManagerPrivate
+{
+public:
+    explicit KoSectionManagerPrivate(QTextDocument *_doc);
+    ~KoSectionManagerPrivate();
+
+    QTextDocument *doc;
+    bool valid; //< is current section info is valid
+    QHash<QString, KoSection *> sectionNames; //< stores name -> pointer reference
+    int sectionCount; //< how many sections is registered
+    QScopedPointer<QStandardItemModel> model;
+};
 /**
  * Used to handle all the sections in the document
  *
@@ -44,7 +54,6 @@ class KOTEXT_EXPORT KoSectionManager
 {
 public:
     explicit KoSectionManager(QTextDocument* doc);
-    ~KoSectionManager();
 
     /**
      * Returns pointer to the deepest KoSection that covers @p pos
@@ -55,31 +64,35 @@ public:
     /**
      * Returns name for the new section
      */
-    QString possibleNewName();
+    QString possibleNewName() const;
 
     /**
      * Returns if this name is possible.
      */
-    bool isValidNewName(const QString &name);
+    bool isValidNewName(const QString &name) const;
+
+    /**
+     * Returns tree model of sections to use in views
+     */
+    QStandardItemModel *sectionsModel();
 
 public slots:
     /**
      * Call this to recalc all sections information
-     * @param needModel place @c true to it if you need model to use in GUI and @c \
                false otherwise
-     * @return pointer to QStandardItemModel, build according to section tree
-     *         with a pointers to KoSection at Qt::UserRole + 1 and section name
-     *         for display role.
-     *         NOTE: it is not updated further by KoSectionManager
      */
-    QStandardItemModel *update(bool needModel = false);
+    void update();
 
     /**
-     * Call this to notify manager that info in it has invalidated.
+     * Call this to notify manager that info in it is invalidated.
      */
     void invalidate();
 
     /**
-     *
+     * Call this to notify that some section changed its name
+     */
+    void sectionRenamed(const QString &oldName, const QString &name);
+
+    /**
      * Call this to register new section in manager
      */
     void registerSection(KoSection *section);
@@ -90,7 +103,7 @@ public slots:
     void unregisterSection(KoSection *section);
 
 protected:
-    KoSectionManagerPrivate * const d_ptr;
+    const QScopedPointer<KoSectionManagerPrivate> d_ptr;
 
 private:
     Q_DISABLE_COPY(KoSectionManager)
diff --git a/libs/kotext/KoSectionUtils.cpp b/libs/kotext/KoSectionUtils.cpp
index acb6be1..cbcefd5 100644
--- a/libs/kotext/KoSectionUtils.cpp
+++ b/libs/kotext/KoSectionUtils.cpp
@@ -18,7 +18,8 @@
  */
 
 #include <KoSectionUtils.h>
-#include <KoParagraphStyle.h>
+#include <KoSection.h>
+#include <KoSectionEnd.h>
 
 bool KoSectionUtils::getNextBlock(QTextCursor &cur)
 {
@@ -37,40 +38,12 @@ bool KoSectionUtils::getNextBlock(QTextCursor &cur)
     return true;
 }
 
-void KoSectionUtils::setSectionStartings(QTextBlockFormat &fmt, QList<KoSection *> \
&list) +QString KoSectionUtils::sectionStartName(const QVariant &q)
 {
-    if (list.empty()) {
-        fmt.clearProperty(KoParagraphStyle::SectionStartings);
-    } else {
-        fmt.setProperty(KoParagraphStyle::SectionStartings,
-            QVariant::fromValue< QList<KoSection *> >(list));
-    }
-}
-
-void KoSectionUtils::setSectionEndings(QTextBlockFormat &fmt, QList<KoSectionEnd *> \
                &list)
-{
-    if (list.empty()) {
-        fmt.clearProperty(KoParagraphStyle::SectionEndings);
-    } else {
-        fmt.setProperty(KoParagraphStyle::SectionEndings,
-            QVariant::fromValue< QList<KoSectionEnd *> >(list));
-    }
+    return static_cast<KoSection *>(q.value<void *>())->name();
 }
 
-QList<KoSection *> KoSectionUtils::sectionStartings(const QTextBlockFormat &fmt)
+QString KoSectionUtils::sectionEndName(const QVariant &q)
 {
-    if (!fmt.hasProperty(KoParagraphStyle::SectionStartings)) {
-        return QList<KoSection *>();
-    } else {
-        return fmt.property(KoParagraphStyle::SectionStartings).value< \
                QList<KoSection *> >();
-    }
-}
-
-QList<KoSectionEnd *> KoSectionUtils::sectionEndings(const QTextBlockFormat &fmt)
-{
-    if (!fmt.hasProperty(KoParagraphStyle::SectionEndings)) {
-        return QList<KoSectionEnd *>();
-    } else {
-        return fmt.property(KoParagraphStyle::SectionEndings).value< \
                QList<KoSectionEnd *> >();
-    }
+    return static_cast<KoSectionEnd *>(q.value<void *>())->name();
 }
diff --git a/libs/kotext/KoSectionUtils.h b/libs/kotext/KoSectionUtils.h
index 13fa15a..1bd5eb3 100644
--- a/libs/kotext/KoSectionUtils.h
+++ b/libs/kotext/KoSectionUtils.h
@@ -19,9 +19,6 @@
 #ifndef KOSECTIONUTILS_H
 #define KOSECTIONUTILS_H
 
-#include <KoSection.h>
-#include <KoSectionEnd.h>
-
 #include <QTextCursor>
 #include <QVariant>
 #include <QString>
@@ -33,41 +30,26 @@ namespace KoSectionUtils {
      * @return @c false if there is no next block, @c true otherwise
      */
     bool getNextBlock(QTextCursor &cur);
-
     /**
-     * Convinient function to set a list of startings to QTextBlockFormat.
-     * This checks that list is empty.
+     * Convinient function to get name of a section from QVariant
+     * that is really a KoSection *.
      *
-     * @param fmt QTextBlockFormat reference to set startings.
-     * @param list QList<KoSection *> is a list to set.
-     */
-    KOTEXT_EXPORT void setSectionStartings(QTextBlockFormat &fmt, QList<KoSection *> \
                &list);
-
-    /**
-     * Convinient function to set a list of endings to QTextBlockFormat.
-     * This checks that list is empty.
+     * There is no internal check that \p q is a KoSection *.
      *
-     * @param fmt QTextBlockFormat reference to set endings.
-     * @param list QList<KoSectionEnd *> is a list to set.
-     */
-    KOTEXT_EXPORT void setSectionEndings(QTextBlockFormat& fmt, QList<KoSectionEnd \
                *> &list);
-
-    /**
-     * Convinient function to get section startings from QTextBlockFormat.
-     * @param fmt QTextBlockFormat format to retrieve section startings from.
-     * @return QList<KoSection *> that contains pointers to sections that start
-     *                            according to QTextBlockFormat.
+     * @param q QVariant version of pointer to a KoSection
+     * @return name of a specified section
      */
-    KOTEXT_EXPORT QList<KoSection *> sectionStartings(const QTextBlockFormat &fmt);
-
+    QString sectionStartName(const QVariant &q);
     /**
-     * Convinient function to get section endings from QTextBlockFormat.
-     * @param fmt QTextBlockFormat format to retrieve section startings from.
-     * @return QList<KoSectionEnd *> that contains pointers to sections that end
-     *                               according to QTextBlockFormat.
+     * Convinient function to get name of a section from QVariant
+     * that is really a KoSectionEnd *.
+     *
+     * There is no internal check that \p q is a KoSectionEnd *.
+     *
+     * @param q QVariant version of pointer to a KoSectionEnd
+     * @return name of a specified section
      */
-    KOTEXT_EXPORT QList<KoSectionEnd *> sectionEndings(const QTextBlockFormat& fmt);
-
+    QString sectionEndName(const QVariant &q);
 }
 
 #endif //KOSECTIONUTILS_H
diff --git a/libs/kotext/KoTextPaste.cpp b/libs/kotext/KoTextPaste.cpp
index 9f20dbb..08c6cf8 100644
--- a/libs/kotext/KoTextPaste.cpp
+++ b/libs/kotext/KoTextPaste.cpp
@@ -30,12 +30,10 @@
 #include <KoTextEditor.h>
 #include <opendocument/KoTextLoader.h>
 #include <KoTextSharedLoadingData.h>
-#include <KoSectionManager.h>
 
 #include <kdebug.h>
 #ifdef SHOULD_BUILD_RDF
 #include "KoTextRdfCore.h"
-#include "KoSectionManager.h"
 #include <Soprano/Soprano>
 #endif
 
@@ -85,8 +83,6 @@ bool KoTextPaste::process(const KoXmlElement &body, KoOdfReadStore \
                &odfStore)
     // load the paste directly into the editor's cursor -- which breaks \
                encapsulation
     loader.loadBody(body, *d->editor->cursor(), KoTextLoader::PasteMode);   // now \
let's load the body from the ODF KoXmlElement.  
-    context.sectionManager()->invalidate();
-
 #ifdef SHOULD_BUILD_RDF
     kDebug(30015) << "text paste, rdf handling" << d->rdfModel;
     // RDF: Grab RDF metadata from ODF file if present & load it into rdfModel
diff --git a/libs/kotext/commands/DeleteCommand.cpp \
b/libs/kotext/commands/DeleteCommand.cpp index f62de95..307165b 100644
--- a/libs/kotext/commands/DeleteCommand.cpp
+++ b/libs/kotext/commands/DeleteCommand.cpp
@@ -36,7 +36,6 @@
 #include <KoSection.h>
 #include <KoSectionUtils.h>
 #include <KoSectionManager.h>
-#include <KoSectionEnd.h>
 #include <KoShapeController.h>
 #include <KoDocument.h>
 
@@ -139,20 +138,23 @@ public:
         bool doesEndInside = false;
         if (block.position() >= caret.selectionStart()) { // Begin of the block is \
inside selection.  doesBeginInside = true;
-            QList<KoSection *> openList = \
                KoSectionUtils::sectionStartings(block.blockFormat());
-            foreach (KoSection *sec, openList) {
-                m_curSectionDelimiters.push_back(SectionHandle(sec->name(), sec));
+            QList<QVariant> openList = block.blockFormat()
+            .property(KoParagraphStyle::SectionStartings).value< QList<QVariant> \
>(); +            foreach (const QVariant &sv, openList) {
+                m_curSectionDelimiters.push_back(SectionHandle(KoSectionUtils::sectionStartName(sv), \
SectionOpen, sv));  }
         }
 
         if (block.position() + block.length() <= caret.selectionEnd()) { // End of \
the block is inside selection.  doesEndInside = true;
-            QList<KoSectionEnd *> closeList = \
                KoSectionUtils::sectionEndings(block.blockFormat());
-            foreach (KoSectionEnd *se, closeList) {
-                if (!m_curSectionDelimiters.empty() && \
m_curSectionDelimiters.last().name == se->name()) { +            QList<QVariant> \
closeList = block.blockFormat() +            \
.property(KoParagraphStyle::SectionEndings).value< QList<QVariant> >(); +            \
foreach (const QVariant &sv, closeList) { +                QString secName = \
KoSectionUtils::sectionEndName(sv); +                if \
(!m_curSectionDelimiters.empty() && m_curSectionDelimiters.last().name == secName) {  \
m_curSectionDelimiters.pop_back();  } else {
-                    m_curSectionDelimiters.push_back(SectionHandle(se->name(), se));
+                    m_curSectionDelimiters.push_back(SectionHandle(secName, \
SectionClose, sv));  }
             }
         }
@@ -199,13 +201,12 @@ public:
         KoTextDocument(cur->document()).sectionManager()->invalidate();
         // It means that selection isn't within one block.
         if (m_hasEntirelyInsideBlock || m_startBlockNum != -1 || m_endBlockNum != \
                -1) {
-            QList<KoSection *> openList;
-            QList<KoSectionEnd *> closeList;
+            QList<QVariant> openList, closeList;
             foreach (const SectionHandle &handle, m_curSectionDelimiters) {
                 if (handle.type == SectionOpen) { // Start of the section.
-                    openList << handle.dataSec;
+                    openList << handle.data;
                 } else { // End of the section.
-                    closeList << handle.dataSecEnd;
+                    closeList << handle.data;
                 }
             }
 
@@ -217,21 +218,33 @@ public:
                 QTextBlockFormat fmt2 = \
cur->document()->findBlockByNumber(m_endBlockNum + 1).blockFormat();  \
fmt.clearProperty(KoParagraphStyle::SectionEndings);  
-                //m_endBlockNum != -1 in this case.
-                QList<KoSectionEnd *> closeListEndBlock = \
                KoSectionUtils::sectionEndings(
-                    \
                cur->document()->findBlockByNumber(m_endBlockNum).blockFormat());
-
-                while (!openList.empty() && !closeListEndBlock.empty()
-                    && openList.last()->name() == closeListEndBlock.first()->name()) \
                {
-                    openList.pop_back();
-                    closeListEndBlock.pop_front();
+                if (m_endBlockNum != -1) {
+                    QList<QVariant> closeListEndBlock = \
cur->document()->findBlockByNumber(m_endBlockNum) +                        \
.blockFormat().property(KoParagraphStyle::SectionEndings).value< QList<QVariant> >(); \
+ +                    while (!openList.empty() && !closeListEndBlock.empty()
+                        && KoSectionUtils::sectionStartName(openList.last())
+                        == \
KoSectionUtils::sectionEndName(closeListEndBlock.first())) { +                        \
openList.pop_back(); +                        closeListEndBlock.pop_front();
+                    }
+                    openList << \
fmt2.property(KoParagraphStyle::SectionStartings).value< QList<QVariant> >(); +       \
closeList << closeListEndBlock; +                } else {
+                    Q_ASSERT(false); // FIXME: Remove this before release, if there \
will be no problems.  }
-                openList << KoSectionUtils::sectionStartings(fmt2);
-                closeList << closeListEndBlock;
 
                 // We leave open section of start block untouched.
-                KoSectionUtils::setSectionStartings(fmt2, openList);
-                KoSectionUtils::setSectionEndings(fmt, closeList);
+                if (!openList.empty()) {
+                    fmt2.setProperty(KoParagraphStyle::SectionStartings, openList);
+                } else {
+                    fmt2.clearProperty(KoParagraphStyle::SectionStartings);
+                }
+                if (!closeList.empty()) {
+                    fmt.setProperty(KoParagraphStyle::SectionEndings, closeList);
+                } else {
+                    fmt.clearProperty(KoParagraphStyle::SectionEndings);
+                }
 
                 QTextCursor changer = *cur;
                 changer.setPosition(cur->document()->findBlockByNumber(m_startBlockNum).position());
 @@ -240,18 +253,56 @@ public:
                     \
changer.setPosition(cur->document()->findBlockByNumber(m_endBlockNum + \
1).position());  changer.setBlockFormat(fmt2);
                 }
-            } else { // m_endBlockNum != -1 in this case. We're pushing all new \
section info to the end block. +            } else if (m_endBlockNum != -1) { // \
                We're pushing all new section info to the end block.
                 QTextBlockFormat fmt = \
cur->document()->findBlockByNumber(m_endBlockNum).blockFormat();  \
fmt.clearProperty(KoParagraphStyle::SectionStartings);  
-                closeList << KoSectionUtils::sectionEndings(fmt);
+                closeList << fmt.property(KoParagraphStyle::SectionEndings).value< \
QList<QVariant> >();  
-                KoSectionUtils::setSectionStartings(fmt, openList);
-                KoSectionUtils::setSectionEndings(fmt, closeList);
+                if (!openList.empty()) {
+                    fmt.setProperty(KoParagraphStyle::SectionStartings, openList);
+                } else {
+                    fmt.clearProperty(KoParagraphStyle::SectionStartings);
+                }
+                if (!closeList.empty()) {
+                    fmt.setProperty(KoParagraphStyle::SectionEndings, closeList);
+                } else {
+                    fmt.clearProperty(KoParagraphStyle::SectionEndings);
+                }
 
                 QTextCursor changer = *cur;
                 changer.setPosition(cur->document()->findBlockByNumber(m_endBlockNum).position());
  changer.setBlockFormat(fmt);
+            } else {
+                Q_ASSERT(false); //FIXME: Delete this before release, if there will \
be no problems. +                //             \
cur.setPosition(caret->selectionStart()); +                //             if \
(cur.movePosition(QTextCursor::Left)) { +                //                 \
QList<QVariant> closeListHave = cur.blockFormat() +                //                 \
.property(KoParagraphStyle::SectionEndings).value< QList<QVariant> >(); +             \
//                 closeList = (closeListHave << closeList); +                //
+                //                 QTextBlockFormat fmt = cur.blockFormat();
+                //                 if (closeList.empty()) {
+                //                     \
fmt.clearProperty(KoParagraphStyle::SectionEndings); +                //              \
} else { +                //                     \
fmt.setProperty(KoParagraphStyle::SectionEndings, closeList); +                //     \
} +                //                 cur.setBlockFormat(fmt);
+                //             }
+                //
+                //             cur.setPosition(caret->selectionEnd());
+                //             {
+                //                 openList << cur.blockFormat()
+                //                     \
.property(KoParagraphStyle::SectionStartings).value< QList<QVariant> >(); +           \
// +                //                 QTextBlockFormat fmt = cur.blockFormat();
+                //                 if (openList.empty()) {
+                //                     \
fmt.clearProperty(KoParagraphStyle::SectionStartings); +                //            \
} else { +                //                     \
fmt.setProperty(KoParagraphStyle::SectionStartings, openList); +                //    \
} +                //                 cur.setBlockFormat(fmt);
+                //             }
             }
         }
     }
@@ -266,23 +317,12 @@ public:
     struct SectionHandle {
         QString name; // Name of the section.
         SectionHandleAction type; // Action of a SectionHandle.
+        QVariant data; // QVariant version of pointer to KoSection or KoSectionEnd.
 
-        KoSection *dataSec; // Pointer to KoSection.
-        KoSectionEnd *dataSecEnd; // Pointer to KoSectionEnd.
-
-        SectionHandle(QString _name, KoSection *_data)
-            : name(_name)
-            , type(SectionOpen)
-            , dataSec(_data)
-            , dataSecEnd(0)
-        {
-        }
-
-        SectionHandle(QString _name, KoSectionEnd *_data)
-            : name(_name)
-            , type(SectionClose)
-            , dataSec(0)
-            , dataSecEnd(_data)
+        SectionHandle(QString _name, SectionHandleAction _type, QVariant _data)
+        : name(_name)
+        , type(_type)
+        , data(_data)
         {
         }
     };
@@ -451,7 +491,7 @@ bool DeleteCommand::checkMerge(const KUndo2Command *command)
         return true;
     }
 
-    if ((other->m_position + other->m_length == m_position)
+    if ( (other->m_position + other->m_length == m_position)
             && (m_format == other->m_format)) {
         m_position = other->m_position;
         m_length += other->m_length;
diff --git a/libs/kotext/commands/NewSectionCommand.cpp \
b/libs/kotext/commands/NewSectionCommand.cpp index cadaa95..50ba14d 100644
--- a/libs/kotext/commands/NewSectionCommand.cpp
+++ b/libs/kotext/commands/NewSectionCommand.cpp
@@ -24,7 +24,6 @@
 #include <KoParagraphStyle.h>
 #include <KoSectionManager.h>
 #include <KoTextEditor.h>
-#include <KoSectionUtils.h>
 
 #include <klocale.h>
 #include <kundo2command.h>
@@ -64,14 +63,22 @@ void NewSectionCommand::redo()
         KoSectionEnd *end = new KoSectionEnd(start);
         QTextBlockFormat fmt = editor->blockFormat();
 
-        QList<KoSection *> sectionStartings = KoSectionUtils::sectionStartings(fmt);
-        QList<KoSectionEnd *> sectionEndings = KoSectionUtils::sectionEndings(fmt);
+        QList< QVariant > sectionStartings;
+        if (fmt.hasProperty(KoParagraphStyle::SectionStartings)) {
+            sectionStartings = fmt.property(KoParagraphStyle::SectionStartings)
+                .value< QList<QVariant> >();
+        }
+        QList< QVariant > sectionEndings;
+        if (fmt.hasProperty(KoParagraphStyle::SectionEndings)) {
+            sectionEndings = fmt.property(KoParagraphStyle::SectionEndings)
+                .value< QList<QVariant> >();
+        }
 
-        sectionStartings.append(start);
-        sectionEndings.prepend(end);
+        sectionStartings.append(qVariantFromValue<void *>(static_cast<void \
*>(start))); +        sectionEndings.prepend(qVariantFromValue<void \
*>(static_cast<void *>(end)));  
-        KoSectionUtils::setSectionStartings(fmt, sectionStartings);
-        KoSectionUtils::setSectionEndings(fmt, sectionEndings);
+        fmt.setProperty(KoParagraphStyle::SectionStartings, sectionStartings);
+        fmt.setProperty(KoParagraphStyle::SectionEndings, sectionEndings);
 
         editor->setBlockFormat(fmt);
     }
diff --git a/libs/kotext/opendocument/KoTextLoader.cpp \
b/libs/kotext/opendocument/KoTextLoader.cpp index 48388a9..2301a96 100644
--- a/libs/kotext/opendocument/KoTextLoader.cpp
+++ b/libs/kotext/opendocument/KoTextLoader.cpp
@@ -83,7 +83,6 @@
 #include "styles/KoTableColumnStyle.h"
 #include "styles/KoTableCellStyle.h"
 #include "styles/KoSectionStyle.h"
-#include <KoSectionUtils.h>
 
 #include <klocale.h>
 #include <kdebug.h>
@@ -140,7 +139,7 @@ public:
     int loadSpanInitialPos;
 
     QVector<QString> nameSpacesList;
-    QList<KoSection *> openingSections;
+    QList<QVariant> openingSections;
 
     QMap<QString, KoList *> xmlIdToListMap;
     QVector<KoList *> m_previousList;
@@ -314,18 +313,25 @@ void KoTextLoader::loadBody(const KoXmlElement &bodyElem, \
QTextCursor &cursor, L  // If we are pasting text, we should handle sections \
correctly  // we are saving which sections end in current block
     // and put their ends after the inserted text.
-    QList<KoSectionEnd *> oldSectionEndings;
+    QList<QVariant> oldSectionEndings;
     if (mode == PasteMode) {
         QTextBlockFormat fmt = cursor.blockFormat();
-        oldSectionEndings = KoSectionUtils::sectionEndings(fmt);
+        if (fmt.hasProperty(KoParagraphStyle::SectionEndings)) {
+            oldSectionEndings = fmt.property(KoParagraphStyle::SectionEndings)
+                .value< QList<QVariant> >();
+        }
         fmt.clearProperty(KoParagraphStyle::SectionEndings);
         cursor.setBlockFormat(fmt);
     }
 
     if (!d->openingSections.isEmpty()) {
-        QTextBlockFormat format = cursor.block().blockFormat();
-        d->openingSections << KoSectionUtils::sectionStartings(format); // if we had \
                some already we need to append the new ones
-        KoSectionUtils::setSectionStartings(format, d->openingSections);
+        QTextBlock block = cursor.block();
+        QTextBlockFormat format = block.blockFormat();
+        QVariant v;
+        v = format.property(KoParagraphStyle::SectionStartings);
+        d->openingSections.append(v.value<QList<QVariant> >()); // if we had some \
already we need to append the new ones +        v.setValue<QList<QVariant> \
>(d->openingSections); +        \
> format.setProperty(KoParagraphStyle::SectionStartings, v);
         cursor.setBlockFormat(format);
         d->openingSections.clear();
     }
@@ -431,8 +437,15 @@ void KoTextLoader::loadBody(const KoXmlElement &bodyElem, \
QTextCursor &cursor, L  // Here we put old endings after text insertion.
     if (mode == PasteMode) {
         QTextBlockFormat fmt = cursor.blockFormat();
-        oldSectionEndings = KoSectionUtils::sectionEndings(fmt);
-        KoSectionUtils::setSectionEndings(fmt, oldSectionEndings);
+        if (fmt.hasProperty(KoParagraphStyle::SectionEndings)) {
+            oldSectionEndings = fmt.property(KoParagraphStyle::SectionEndings)
+                .value< QList<QVariant> >() << oldSectionEndings;
+        }
+
+
+        if (!oldSectionEndings.empty()) {
+            fmt.setProperty(KoParagraphStyle::SectionEndings, oldSectionEndings);
+        }
         cursor.setBlockFormat(fmt);
     }
 
@@ -835,15 +848,24 @@ void KoTextLoader::loadSection(const KoXmlElement &sectionElem, \
QTextCursor &cur  return;
     }
 
-    d->openingSections << section;
+    QVariant v;
+    v.setValue<void *>(section);
+    d->openingSections.append(v);
 
     loadBody(sectionElem, cursor);
 
     // Close the section on the last block of text we have loaded just now.
-    QTextBlockFormat format = cursor.block().blockFormat();
-    KoSectionUtils::setSectionEndings(format,
-        KoSectionUtils::sectionEndings(format) << new KoSectionEnd(section));
+    KoSectionEnd *sectionEnd = new KoSectionEnd(section);
+    v.setValue<void *>(sectionEnd);
 
+    QTextBlock block = cursor.block();
+    QTextBlockFormat format = block.blockFormat();
+    QVariant listv;
+    listv = format.property(KoParagraphStyle::SectionEndings);
+    QList<QVariant> sectionEndings = listv.value<QList<QVariant> >();
+    sectionEndings.append(v);
+    listv.setValue<QList<QVariant> >(sectionEndings);
+    format.setProperty(KoParagraphStyle::SectionEndings, listv);
     cursor.setBlockFormat(format);
 }
 
diff --git a/libs/kotext/opendocument/KoTextWriter_p.cpp \
b/libs/kotext/opendocument/KoTextWriter_p.cpp index c4e60a5..0e4ea11 100644
--- a/libs/kotext/opendocument/KoTextWriter_p.cpp
+++ b/libs/kotext/opendocument/KoTextWriter_p.cpp
@@ -98,13 +98,19 @@ void KoTextWriter::Private::writeBlocks(QTextDocument *document, \
int from, int t  cur.setPosition(from);
     while (to == -1 || cur.position() <= to) {
         if (cur.block().position() >= from) { // Begin of the block is inside \
                selection.
-            foreach (const KoSection *sec, \
KoSectionUtils::sectionStartings(cur.blockFormat())) { +            QList<QVariant> \
openList = cur.blockFormat() +                \
.property(KoParagraphStyle::SectionStartings).value< QList<QVariant> >(); +           \
foreach (const QVariant &sv, openList) { +                KoSection *sec = \
static_cast<KoSection *>(sv.value<void *>());  \
sectionNamesStack.push_back(sec->name());  }
         }
 
         if (to == -1 || cur.block().position() + cur.block().length() <= to) { // \
                End of the block is inside selection.
-            foreach (const KoSectionEnd *sec, \
KoSectionUtils::sectionEndings(cur.blockFormat())) { +            QList<QVariant> \
closeList = cur.blockFormat() +                \
.property(KoParagraphStyle::SectionEndings).value< QList<QVariant> >(); +            \
foreach (const QVariant &sv, closeList) { +                KoSectionEnd *sec = \
                static_cast<KoSectionEnd *>(sv.value<void *>());
                 if (!sectionNamesStack.empty() && sectionNamesStack.top() == \
sec->name()) {  sectionNamesStack.pop();
                     entireWithinSectionNames.insert(sec->name());
@@ -129,14 +135,19 @@ void KoTextWriter::Private::writeBlocks(QTextDocument \
*document, int from, int t  }
 
         QTextBlockFormat format = block.blockFormat();
+        if (format.hasProperty(KoParagraphStyle::SectionStartings)) {
+            QVariant v = format.property(KoParagraphStyle::SectionStartings);
+            QList<QVariant> sectionStarts = v.value<QList<QVariant> >();
 
-        foreach (const KoSection *section, KoSectionUtils::sectionStartings(format)) \
                {
-            // We are writing in only sections, that are completely inside \
                selection.
-            if (entireWithinSectionNames.contains(section->name())) {
-                section->saveOdf(context);
+            foreach (const QVariant &sv, sectionStarts) {
+                KoSection* section = static_cast<KoSection *>(sv.value<void*>());
+
+                // We are writing in only sections, that are completely inside \
selection. +                if (entireWithinSectionNames.contains(section->name())) {
+                    section->saveOdf(context);
+                }
             }
         }
-
         if (format.hasProperty(KoParagraphStyle::HiddenByTable)) {
             block = block.next();
             continue;
@@ -171,10 +182,16 @@ void KoTextWriter::Private::writeBlocks(QTextDocument \
*document, int from, int t  
         saveParagraph(block, from, to);
 
-        foreach (const KoSectionEnd *sectionEnd, \
                KoSectionUtils::sectionEndings(format)) {
-            // We are writing in only sections, that are completely inside \
                selection.
-            if (entireWithinSectionNames.contains(sectionEnd->name())) {
-                sectionEnd->saveOdf(context);
+        if (format.hasProperty(KoParagraphStyle::SectionEndings)) {
+            QVariant v = format.property(KoParagraphStyle::SectionEndings);
+            QList<QVariant> sectionEndings = v.value<QList<QVariant> >();
+
+            foreach (QVariant sv, sectionEndings) {
+                KoSectionEnd *sectionEnd = static_cast<KoSectionEnd *>(sv.value<void \
*>()); +                // We are writing in only sections, that are completely \
inside selection. +                if \
(entireWithinSectionNames.contains(sectionEnd->name())) { +                    \
sectionEnd->saveOdf(context); +                }
             }
         }
 
diff --git a/libs/kotext/tests/TestKoTextEditor.cpp \
b/libs/kotext/tests/TestKoTextEditor.cpp index bfc40e02..a4b02c0 100644
--- a/libs/kotext/tests/TestKoTextEditor.cpp
+++ b/libs/kotext/tests/TestKoTextEditor.cpp
@@ -42,7 +42,6 @@
 #include <KoParagraphStyle.h>
 #include <KoSection.h>
 #include <KoSectionEnd.h>
-#include <KoSectionUtils.h>
 
 Q_DECLARE_METATYPE(QVector< QVector<int> >)
 
@@ -140,7 +139,9 @@ void TestKoTextEditor::pushSectionStart(int num, KoSection *sec, \
KoTextEditor &e  QTextBlockFormat fmt = editor.blockFormat();
     fmt.clearProperty(KoParagraphStyle::SectionStartings);
     fmt.clearProperty(KoParagraphStyle::SectionEndings);
-    KoSectionUtils::setSectionStartings(fmt, QList<KoSection *>() << sec);
+    QList<QVariant> lst;
+    lst.push_back(QVariant::fromValue<void *>(static_cast<void *>(sec)));
+    fmt.setProperty(KoParagraphStyle::SectionStartings, lst);
     editor.setBlockFormat(fmt);
 
     editor.insertText("\n");
@@ -156,8 +157,9 @@ void TestKoTextEditor::pushSectionEnd(int num, KoSectionEnd \
*secEnd, KoTextEdito  QTextBlockFormat fmt = editor.blockFormat();
     fmt.clearProperty(KoParagraphStyle::SectionStartings);
     fmt.clearProperty(KoParagraphStyle::SectionEndings);
-
-    KoSectionUtils::setSectionEndings(fmt, QList<KoSectionEnd *>() << secEnd);
+    QList<QVariant> lst;
+    lst.push_back(QVariant::fromValue<void *>(static_cast<void *>(secEnd)));
+    fmt.setProperty(KoParagraphStyle::SectionEndings, lst);
     editor.setBlockFormat(fmt);
 
     editor.insertText("\n");
@@ -168,16 +170,19 @@ void TestKoTextEditor::pushSectionEnd(int num, KoSectionEnd \
*secEnd, KoTextEdito  
 bool TestKoTextEditor::checkStartings(const QVector<int> &needStartings, KoSection \
**sec, KoTextEditor &editor)  {
-    QList<KoSection *> lst = KoSectionUtils::sectionStartings(editor.blockFormat());
+    QTextBlockFormat fmt = editor.blockFormat();
+    QList<QVariant> lst = fmt.property(KoParagraphStyle::SectionStartings).value< \
QList<QVariant> >();  
     if (lst.size() != needStartings.size()) {
-        kDebug() << QString("Startings list size is wrong. Found %1, Expected \
%2").arg(lst.size()).arg(needStartings.size()); +        qDebug() << \
static_cast<KoSection *>(lst[0].value<void *>())->name(); +
+        qDebug() << QString("Startings list size is wrong. Found %1, Expected \
%2").arg(lst.size()).arg(needStartings.size());  return false;
     }
 
     for (int i = 0; i < needStartings.size(); i++) {
-        if (lst[i] != sec[needStartings[i]]) {
-            kDebug() << QString("Found unexpected section starting. Expected %1 \
section.").arg(needStartings[i]); +        if (static_cast<KoSection \
*>(lst[i].value<void *>()) != sec[needStartings[i]]) { +            qDebug() << \
QString("Found unexpected section starting. Expected %1 \
section.").arg(needStartings[i]);  return false;
         }
     }
@@ -187,16 +192,17 @@ bool TestKoTextEditor::checkStartings(const QVector<int> \
&needStartings, KoSecti  
 bool TestKoTextEditor::checkEndings(const QVector<int> &needEndings, KoSectionEnd \
**secEnd, KoTextEditor &editor)  {
-    QList<KoSectionEnd *> lst = \
KoSectionUtils::sectionEndings(editor.blockFormat()); +    QTextBlockFormat fmt = \
editor.blockFormat(); +    QList<QVariant> lst = \
fmt.property(KoParagraphStyle::SectionEndings).value< QList<QVariant> >();  
     if (lst.size() != needEndings.size()) {
-        kDebug() << QString("Endings list size is wrong. Found %1, expected \
%2").arg(lst.size()).arg(needEndings.size()); +        qDebug() << QString("Endings \
list size is wrong. Found %1, expected %2").arg(lst.size()).arg(needEndings.size());  \
return false;  }
 
     for (int i = 0; i < needEndings.size(); i++) {
-        if (lst[i] != secEnd[needEndings[i]]) {
-            kDebug() << QString("Found unexpected section ending. Expected %1 \
section.").arg(needEndings[i]); +        if (static_cast<KoSectionEnd \
*>(lst[i].value<void *>()) != secEnd[needEndings[i]]) { +            qDebug() << \
QString("Found unexpected section ending. Expected %1 section.").arg(needEndings[i]); \
return false;  }
     }
diff --git a/libs/textlayout/KoTextLayoutArea_paint.cpp \
b/libs/textlayout/KoTextLayoutArea_paint.cpp index 7cb1b47..d6fa3b8 100644
--- a/libs/textlayout/KoTextLayoutArea_paint.cpp
+++ b/libs/textlayout/KoTextLayoutArea_paint.cpp
@@ -55,7 +55,6 @@
 #include <kdebug.h>
 #include <KoSection.h>
 #include <KoSectionEnd.h>
-#include <KoSectionUtils.h>
 
 #include <QPainter>
 #include <QTextTable>
@@ -660,32 +659,40 @@ void KoTextLayoutArea::decorateParagraphSections(QPainter \
*painter, QTextBlock &  
     const qreal levelShift = 3;
 
-    QList<KoSection *> openList = KoSectionUtils::sectionStartings(bf);
-    for (int i = 0; i < openList.size(); i++) {
-        int sectionLevel = openList[i]->level();
-        if (i == 0) {
+    if (bf.hasProperty(KoParagraphStyle::SectionStartings)) {
+        QVariant var = bf.property(KoParagraphStyle::SectionStartings);
+        QList<QVariant> openList = var.value< QList<QVariant> >();
+
+        for (int i = 0; i < openList.size(); i++) {
+            int sectionLevel = static_cast<KoSection *>(openList[i].value<void \
*>())->level(); +            if (i == 0) {
+                painter->drawLine(xl + sectionLevel * levelShift, yu,
+                                  xr - sectionLevel * levelShift, yu);
+            }
             painter->drawLine(xl + sectionLevel * levelShift, yu,
-                              xr - sectionLevel * levelShift, yu);
-        }
-        painter->drawLine(xl + sectionLevel * levelShift, yu,
-                          xl + sectionLevel * levelShift, yu + bracketSize);
+                              xl + sectionLevel * levelShift, yu + bracketSize);
 
-        painter->drawLine(xr - sectionLevel * levelShift, yu,
-                          xr - sectionLevel * levelShift, yu + bracketSize);
+            painter->drawLine(xr - sectionLevel * levelShift, yu,
+                              xr - sectionLevel * levelShift, yu + bracketSize);
+        }
     }
 
-    QList<KoSectionEnd *> closeList = KoSectionUtils::sectionEndings(bf);
-    for (int i = 0; i < closeList.size(); i++) {
-        int sectionLevel = closeList[i]->correspondingSection()->level();
-        if (i == closeList.count() - 1) {
+    if (bf.hasProperty(KoParagraphStyle::SectionEndings)) {
+        QVariant var = bf.property(KoParagraphStyle::SectionEndings);
+        QList<QVariant> closeList = var.value< QList<QVariant> >();
+
+        for (int i = 0; i < closeList.size(); i++) {
+            int sectionLevel = static_cast<KoSectionEnd *>(closeList[i].value<void \
*>())->correspondingSection()->level(); +            if (i == closeList.count() - 1) \
{ +                painter->drawLine(xl + sectionLevel * levelShift, yd,
+                                  xr - sectionLevel * levelShift, yd);
+            }
             painter->drawLine(xl + sectionLevel * levelShift, yd,
-                              xr - sectionLevel * levelShift, yd);
-        }
-        painter->drawLine(xl + sectionLevel * levelShift, yd,
-                          xl + sectionLevel * levelShift, yd - bracketSize);
+                              xl + sectionLevel * levelShift, yd - bracketSize);
 
-        painter->drawLine(xr - sectionLevel * levelShift, yd,
-                          xr - sectionLevel * levelShift, yd - bracketSize);
+            painter->drawLine(xr - sectionLevel * levelShift, yd,
+                              xr - sectionLevel * levelShift, yd - bracketSize);
+        }
     }
 
     painter->setPen(penBackup);
diff --git a/plugins/reporting/barcode/koreport_barcodeplugin.desktop \
b/plugins/reporting/barcode/koreport_barcodeplugin.desktop index ba143bf..9b2457c \
                100644
--- a/plugins/reporting/barcode/koreport_barcodeplugin.desktop
+++ b/plugins/reporting/barcode/koreport_barcodeplugin.desktop
@@ -19,7 +19,7 @@ Name[ja]=バーコードレポートプラグイン
 Name[kk]=Штрих-кодты баяндау плагині
 Name[nb]=Programtillegg for Strekkode-rapport
 Name[nl]=Plug-in voor Barcoderapport
-Name[pl]=Wtyczka kodów paskowych dla raportów
+Name[pl]=Wtyczka sprawozdania kodu paskowego
 Name[pt]='Plugin' de Relatório de Códigos de Barras
 Name[pt_BR]=Plugin de código de barras para relatório
 Name[ru]=Модуль считывания штрих-кодов
@@ -48,7 +48,7 @@ Comment[ja]=KoReport バーコードプラグイン
 Comment[kk]=KoReport штрих-код плагині
 Comment[nb]=KoReport strekkode-programtillegg
 Comment[nl]=Plug-in voor KoReport-barcode
-Comment[pl]=Wtyczka kodów paskowych dla raportów
+Comment[pl]=Wtyczka kodu paskowego dla KoReport
 Comment[pt]='Plugin' de Códigos de Barras do KoReport
 Comment[pt_BR]=Plugin de códigos de barra do KoReport
 Comment[ru]=Модуль считывания штрих-кодов KoReport
diff --git a/plugins/reporting/chart/koreport_chartplugin.desktop \
b/plugins/reporting/chart/koreport_chartplugin.desktop index 7d31bed..dcb5da2 100644
--- a/plugins/reporting/chart/koreport_chartplugin.desktop
+++ b/plugins/reporting/chart/koreport_chartplugin.desktop
@@ -19,7 +19,7 @@ Name[ja]=チャートレポートプラグイン
 Name[kk]=Диаграмманы баяндау плагині
 Name[nb]=Programtillegg for diagramrapport
 Name[nl]=Plug-in voor grafiekrapport
-Name[pl]=Wtyczka wykresów dla raportów
+Name[pl]=Wtyczka sprawozdania z wykresami
 Name[pt]='Plugin' Web de Relatórios de Gráficos
 Name[pt_BR]=Plugin de mapas para relatório
 Name[ru]=Модуль диаграмм для отчётов
@@ -30,7 +30,6 @@ Name[x-test]=xxChart Report Pluginxx
 Name[zh_TW]=圖表 告外掛程式
 Comment=Calligra Reports Chart Plugin
 Comment[ca]=Connector d'informes de diagrames del Calligra
-Comment[da]=Diagram-plugin til Calligra Reports
 Comment[de]=Diagrammberichtmodul für Calligra
 Comment[en_GB]=Calligra Reports Chart Plugin
 Comment[fi]=Calligra Reportsin kaavioliitännäinen
@@ -38,11 +37,10 @@ Comment[it]=Estensione per grafici dei rapporti di Calligra
 Comment[ja]=Calligra レポートチャートプラグイン
 Comment[nb]=Diagran-tillegg for Calligra-rapporter
 Comment[nl]=Plug-in voor Calligra Reports Chart
-Comment[pl]=Wtyczka wykresów dla raportów
+Comment[pl]=Wtyczka sprawozdania z wykresami dla Calligry
 Comment[pt]='Plugin' de Gráficos dos Relatórios do Calligra
 Comment[pt_BR]=Plugin de gráficos de relatórios do Calligra
 Comment[sk]=Grafový plugin Calligra Reports
-Comment[sv]=Calligra-insticksprogram för diagramrapport
 Comment[uk]=Додаток діаграм у звітах Calligra
 Comment[x-test]=xxCalligra Reports Chart Pluginxx
 X-KDE-Library=koreport_chartplugin
diff --git a/plugins/reporting/maps/koreport_mapsplugin.desktop \
b/plugins/reporting/maps/koreport_mapsplugin.desktop index 98925c0..bad750f 100644
--- a/plugins/reporting/maps/koreport_mapsplugin.desktop
+++ b/plugins/reporting/maps/koreport_mapsplugin.desktop
@@ -19,7 +19,7 @@ Name[ja]=マップレポートプラグイン
 Name[kk]=Картаны баяндау плагині
 Name[nb]=Programtillegg for kartrapport
 Name[nl]=Plug-in voor Maps Report
-Name[pl]=Wtyczka map dla raportów
+Name[pl]=Wtyczka sprawozdania map
 Name[pt]='Plugin' de Relatório de Mapas
 Name[pt_BR]=Plugin de mapas para relatório
 Name[ru]=Модуль карт для отчётов
@@ -48,7 +48,7 @@ Comment[ja]=Calligra レポートマッププラグイン
 Comment[kk]=Calligra-ның картаны баяндау плагині
 Comment[nb]=Kart-programtillegg for Calligra-rapporter
 Comment[nl]=Plug-in voor Calligra Reports Maps
-Comment[pl]=Wtyczka map dla raportów
+Comment[pl]=Wtyczka sprawozdania map dla Calligry
 Comment[pt]='Plugin' de Mapas dos Relatórios do Calligra
 Comment[pt_BR]=Plugin de mapas dos relatórios do Calligra
 Comment[ru]=Модуль карт Calligra для отчётов
diff --git a/plugins/reporting/web/koreport_webplugin.desktop \
b/plugins/reporting/web/koreport_webplugin.desktop index 6b1e91e..dd62de8 100644
--- a/plugins/reporting/web/koreport_webplugin.desktop
+++ b/plugins/reporting/web/koreport_webplugin.desktop
@@ -19,7 +19,7 @@ Name[ja]=ウェブレポートプラグイン
 Name[kk]=Веб баяндау плагині
 Name[nb]=Programtillegg for vevrapport
 Name[nl]=Plug-in voor Webrapport
-Name[pl]=Wtyczka strony internetowej dla raportów
+Name[pl]=Wtyczka sprawozdania sieci
 Name[pt]='Plugin' de Relatório Web
 Name[pt_BR]=Plugin de Web para relatório
 Name[ru]=Модуль веб-отчётов
@@ -31,7 +31,6 @@ Name[x-test]=xxWeb Report Pluginxx
 Name[zh_TW]=網  告外掛程式
 Comment=Calligra Reports Web Plugin
 Comment[ca]=Connector d'informes web del Calligra
-Comment[da]=Webplugin til Calligra Reports
 Comment[de]=Webbericht-Modul für Calligra
 Comment[en_GB]=Calligra Reports Web Plugin
 Comment[fi]=Calligra Reports -WWW-liitännäinen
@@ -39,11 +38,10 @@ Comment[it]=Estensione web dei rapporti di Calligra
 Comment[ja]=Calligra レポートウェブプラグイン
 Comment[nb]=Vev-programtillegg for Calligra-rapporter
 Comment[nl]=Plug-in voor Calligra Reports Web
-Comment[pl]=Wtyczka strony internetowej dla raportów
+Comment[pl]=Wtyczka sprawozdania sieci dla Calligry
 Comment[pt]='Plugin' Web de Relatórios do Calligra
 Comment[pt_BR]=Plugin Web para relatórios do Calligra
 Comment[sk]=Webový plugin Calligra Reports
-Comment[sv]=Calligra-insticksprogram för webbrapport
 Comment[uk]=Інтернет-додаток звітів Calligra
 Comment[x-test]=xxCalligra Reports Web Pluginxx
 X-KDE-Library=koreport_webplugin
diff --git a/plugins/semanticitems/event/KoRdfCalendarEvent.h \
b/plugins/semanticitems/event/KoRdfCalendarEvent.h index 2363ed3..33e9c2b 100644
--- a/plugins/semanticitems/event/KoRdfCalendarEvent.h
+++ b/plugins/semanticitems/event/KoRdfCalendarEvent.h
@@ -29,8 +29,6 @@
 class KJob;
 #endif
 
-#include <KDateTime>
-
 #include <ui_KoRdfCalendarEventEditWidget.h>
 
 /**
diff --git a/plugins/textshape/dialogs/SectionFormatDialog.cpp \
b/plugins/textshape/dialogs/SectionFormatDialog.cpp index ef5c145..c825fd2 100644
--- a/plugins/textshape/dialogs/SectionFormatDialog.cpp
+++ b/plugins/textshape/dialogs/SectionFormatDialog.cpp
@@ -31,9 +31,9 @@ class SectionFormatDialog::SectionNameValidator : public QValidator
 {
 public:
     SectionNameValidator(QObject *parent, KoSectionManager *sectionManager, \
                KoSection *section)
-    : QValidator(parent)
-    , m_sectionManager(sectionManager)
-    , m_section(section)
+        : QValidator(parent)
+        , m_sectionManager(sectionManager)
+        , m_section(section)
     {
     }
 
@@ -63,12 +63,7 @@ SectionFormatDialog::SectionFormatDialog(QWidget *parent, \
KoTextEditor *editor)  setMainWidget(form);
 
     m_sectionManager = KoTextDocument(editor->document()).sectionManager();
-    QStandardItemModel *model = m_sectionManager->update(true);
-    model->setColumnCount(1);
-    QStringList header;
-    header << i18n("Section name");
-    model->setHorizontalHeaderLabels(header);
-    m_widget.sectionTree->setModel(model);
+    m_widget.sectionTree->setModel(m_sectionManager->sectionsModel());
     m_widget.sectionTree->expandAll();
 
     m_widget.sectionNameLineEdit->setEnabled(false);
@@ -83,8 +78,7 @@ SectionFormatDialog::SectionFormatDialog(QWidget *parent, \
KoTextEditor *editor)  void SectionFormatDialog::sectionNameChanged()
 {
     m_editor->renameSection(sectionFromModel(m_curIdx), \
                m_widget.sectionNameLineEdit->text());
-    m_widget.sectionTree->model()->setData(m_curIdx, \
                m_widget.sectionNameLineEdit->text(), Qt::DisplayRole);
-    m_widget.sectionNameLineEdit->setModified(false); // value is set to line edit \
isn't modified (has new default value) +    \
m_widget.sectionNameLineEdit->setModified(false);  }
 
 void SectionFormatDialog::sectionSelected(QModelIndex idx)
@@ -112,7 +106,7 @@ void SectionFormatDialog::updateTreeState()
         m_widget.sectionNameLineEdit->setPalette(pal);
 
         QToolTip::showText(m_widget.sectionNameLineEdit->mapToGlobal(QPoint()),
-                           i18n("Invalid characters or section with such name \
exists.")); +            i18n("Invalid characters or section with such name \
exists."));  
         allOk = false;
     } else {
@@ -126,7 +120,8 @@ void SectionFormatDialog::updateTreeState()
 
 inline KoSection* SectionFormatDialog::sectionFromModel(QModelIndex idx)
 {
-    return m_widget.sectionTree->model()->itemData(idx)[Qt::UserRole + \
1].value<KoSection *>(); +    return static_cast<KoSection \
*>(m_widget.sectionTree->model() +        ->itemData(idx)[Qt::UserRole + \
1].value<void *>());  }
 
 #include <SectionFormatDialog.moc>
diff --git a/plugins/textshape/dialogs/SimpleInsertWidget.cpp \
b/plugins/textshape/dialogs/SimpleInsertWidget.cpp index 6eebd3e..b5500ae 100644
--- a/plugins/textshape/dialogs/SimpleInsertWidget.cpp
+++ b/plugins/textshape/dialogs/SimpleInsertWidget.cpp
@@ -42,8 +42,6 @@ SimpleInsertWidget::SimpleInsertWidget(TextTool *tool, QWidget \
                *parent)
     connect(widget.insertVariable, SIGNAL(clicked(bool)), this, \
                SIGNAL(doneWithFocus()));
     connect(widget.insertSpecialChar, SIGNAL(clicked(bool)), this, \
                SIGNAL(doneWithFocus()));
     connect(widget.insertPageBreak, SIGNAL(clicked(bool)), this, \
                SIGNAL(doneWithFocus()));
-    connect(widget.insertSection, SIGNAL(clicked(bool)), this, \
                SIGNAL(doneWithFocus()));
-    connect(widget.configureSection, SIGNAL(clicked(bool)), this, \
SIGNAL(doneWithFocus()));  
     connect(widget.quickTable, SIGNAL(create(int, int)), this, \
                SIGNAL(insertTableQuick(int, int)));
     connect(widget.quickTable, SIGNAL(create(int, int)), this, \
                SIGNAL(doneWithFocus()));
diff --git a/servicetypes/calligra_deferred_plugin.desktop \
b/servicetypes/calligra_deferred_plugin.desktop index b2a1a43..f65e174 100644
--- a/servicetypes/calligra_deferred_plugin.desktop
+++ b/servicetypes/calligra_deferred_plugin.desktop
@@ -16,7 +16,7 @@ Name[it]=Estensione di caricamento differito di Calligra
 Name[kk]=Calligra-ның кідірытіп жүктеу плагині
 Name[nb]= Calligra programtillegg utsatt innlasting
 Name[nl]=Plugin voor Calligra uitgesteld laden
-Name[pl]=Wtyczka opóźnionego wczytywania dla Calligry
+Name[pl]=Wtyczka wczytywania odstawionych dla Calligry
 Name[pt]='Plugin' de Carregamento Posterior do Calligra
 Name[pt_BR]=Plugin de carregamento posterior do Calligra
 Name[ru]=Модуль отложенной загрузки Calligra
diff --git a/stage/data/kpr_tool.desktop b/stage/data/kpr_tool.desktop
index 728d03c..16b515f 100644
--- a/stage/data/kpr_tool.desktop
+++ b/stage/data/kpr_tool.desktop
@@ -4,12 +4,10 @@ X-KDE-ServiceType=CalligraStage/Tool
 Comment=Tool for Calligra Stage
 Comment[ca]=Eina pel Stage del Calligra
 Comment[cs]=Nástroj pro Calligra Stage
-Comment[da]=Værktøj til Calligra Stage
 Comment[de]=Hilfsprogramm für Calligra Stage
 Comment[en_GB]=Tool for Calligra Stage
 Comment[es]=Herramienta para Calligra Stage
 Comment[fi]=Calligra Stage -työkalu
-Comment[ia]=Instrumento proCalligra Stage
 Comment[it]=Strumento per Calligra Stage
 Comment[ja]=Calligra Stage のためのツール
 Comment[nb]=Verktøy for Calligra Stage
diff --git a/stage/templates/odf/cohere-blue.desktop \
b/stage/templates/odf/cohere-blue.desktop index e557109..dbd5100 100644
--- a/stage/templates/odf/cohere-blue.desktop
+++ b/stage/templates/odf/cohere-blue.desktop
@@ -2,7 +2,6 @@
 Icon=cohere-blue
 Name=Cohere
 Name[ca]=Cohere
-Name[da]=Cohere
 Name[de]=Cohere
 Name[en_GB]=Cohere
 Name[it]=Cohere
@@ -11,12 +10,10 @@ Name[pl]=Cohere
 Name[pt]=Cohere
 Name[pt_BR]=Cohere
 Name[sk]=Cohere
-Name[sv]=Sammanfoga
 Name[uk]=Cohere
 Name[x-test]=xxCoherexx
 Comment=Cohere designed presentation template
 Comment[ca]=Plantilles de presentacions dissenyades pel Cohere
-Comment[da]=Cohere-designet præsentationsskabelon
 Comment[en_GB]=Cohere designed presentation template
 Comment[it]=Modello di presentazione progettato da Cohere
 Comment[nl]=Met Cohere ontworpen presentatiesjabloon
@@ -24,7 +21,6 @@ Comment[pl]=Szablon prezentacji Cohere
 Comment[pt]=Modelo de apresentações desenhadas pela Cohere
 Comment[pt_BR]=Modelo de apresentações desenhados pelo Cohere
 Comment[sk]= ablóna prezentácie Cohere
-Comment[sv]=Sammanfoga skapad presentationsmall
 Comment[uk]=Шаблон презентацій, розроблений Cohere
 Comment[x-test]=xxCohere designed presentation templatexx
 X-KDE-Color=blue
diff --git a/stage/templates/odf/cohere-gold.desktop \
b/stage/templates/odf/cohere-gold.desktop index cbd092a..479d21f 100644
--- a/stage/templates/odf/cohere-gold.desktop
+++ b/stage/templates/odf/cohere-gold.desktop
@@ -2,7 +2,6 @@
 Icon=cohere-gold
 Name=Cohere
 Name[ca]=Cohere
-Name[da]=Cohere
 Name[de]=Cohere
 Name[en_GB]=Cohere
 Name[it]=Cohere
@@ -11,12 +10,10 @@ Name[pl]=Cohere
 Name[pt]=Cohere
 Name[pt_BR]=Cohere
 Name[sk]=Cohere
-Name[sv]=Sammanfoga
 Name[uk]=Cohere
 Name[x-test]=xxCoherexx
 Comment=Cohere designed presentation template
 Comment[ca]=Plantilles de presentacions dissenyades pel Cohere
-Comment[da]=Cohere-designet præsentationsskabelon
 Comment[en_GB]=Cohere designed presentation template
 Comment[it]=Modello di presentazione progettato da Cohere
 Comment[nl]=Met Cohere ontworpen presentatiesjabloon
@@ -24,7 +21,6 @@ Comment[pl]=Szablon prezentacji Cohere
 Comment[pt]=Modelo de apresentações desenhadas pela Cohere
 Comment[pt_BR]=Modelo de apresentações desenhados pelo Cohere
 Comment[sk]= ablóna prezentácie Cohere
-Comment[sv]=Sammanfoga skapad presentationsmall
 Comment[uk]=Шаблон презентацій, розроблений Cohere
 Comment[x-test]=xxCohere designed presentation templatexx
 X-KDE-Color=gold
diff --git a/stage/templates/odf/cohere-magenta.desktop \
b/stage/templates/odf/cohere-magenta.desktop index 5791b32..c0aa0b8 100644
--- a/stage/templates/odf/cohere-magenta.desktop
+++ b/stage/templates/odf/cohere-magenta.desktop
@@ -2,7 +2,6 @@
 Icon=cohere-magenta
 Name=Cohere
 Name[ca]=Cohere
-Name[da]=Cohere
 Name[de]=Cohere
 Name[en_GB]=Cohere
 Name[it]=Cohere
@@ -11,12 +10,10 @@ Name[pl]=Cohere
 Name[pt]=Cohere
 Name[pt_BR]=Cohere
 Name[sk]=Cohere
-Name[sv]=Sammanfoga
 Name[uk]=Cohere
 Name[x-test]=xxCoherexx
 Comment=Cohere designed presentation template
 Comment[ca]=Plantilles de presentacions dissenyades pel Cohere
-Comment[da]=Cohere-designet præsentationsskabelon
 Comment[en_GB]=Cohere designed presentation template
 Comment[it]=Modello di presentazione progettato da Cohere
 Comment[nl]=Met Cohere ontworpen presentatiesjabloon
@@ -24,7 +21,6 @@ Comment[pl]=Szablon prezentacji Cohere
 Comment[pt]=Modelo de apresentações desenhadas pela Cohere
 Comment[pt_BR]=Modelo de apresentações desenhados pelo Cohere
 Comment[sk]= ablóna prezentácie Cohere
-Comment[sv]=Sammanfoga skapad presentationsmall
 Comment[uk]=Шаблон презентацій, розроблений Cohere
 Comment[x-test]=xxCohere designed presentation templatexx
 X-KDE-Color=magenta
diff --git a/stage/templates/odf/cohere-red.desktop \
b/stage/templates/odf/cohere-red.desktop index c17f592..53a5a38 100644
--- a/stage/templates/odf/cohere-red.desktop
+++ b/stage/templates/odf/cohere-red.desktop
@@ -2,7 +2,6 @@
 Icon=cohere-red
 Name=Cohere
 Name[ca]=Cohere
-Name[da]=Cohere
 Name[de]=Cohere
 Name[en_GB]=Cohere
 Name[it]=Cohere
@@ -11,12 +10,10 @@ Name[pl]=Cohere
 Name[pt]=Cohere
 Name[pt_BR]=Cohere
 Name[sk]=Cohere
-Name[sv]=Sammanfoga
 Name[uk]=Cohere
 Name[x-test]=xxCoherexx
 Comment=Cohere designed presentation template
 Comment[ca]=Plantilles de presentacions dissenyades pel Cohere
-Comment[da]=Cohere-designet præsentationsskabelon
 Comment[en_GB]=Cohere designed presentation template
 Comment[it]=Modello di presentazione progettato da Cohere
 Comment[nl]=Met Cohere ontworpen presentatiesjabloon
@@ -24,7 +21,6 @@ Comment[pl]=Szablon prezentacji Cohere
 Comment[pt]=Modelo de apresentações desenhadas pela Cohere
 Comment[pt_BR]=Modelo de apresentações desenhados pelo Cohere
 Comment[sk]= ablóna prezentácie Cohere
-Comment[sv]=Sammanfoga skapad presentationsmall
 Comment[uk]=Шаблон презентацій, розроблений Cohere
 Comment[x-test]=xxCohere designed presentation templatexx
 X-KDE-Color=red
diff --git a/stage/templates/odf/skyline_monotone.desktop \
b/stage/templates/odf/skyline_monotone.desktop index 3db2ae2..c0efa2b 100644
--- a/stage/templates/odf/skyline_monotone.desktop
+++ b/stage/templates/odf/skyline_monotone.desktop
@@ -3,17 +3,15 @@ Icon=skyline_monotone
 Name=Skyline
 Name[ca]=Horitzó
 Name[cs]=Panorama
-Name[da]=Skyline
 Name[de]=Horizont
 Name[en_GB]=Skyline
 Name[fi]=Taivaanranta
 Name[it]=Orizzonte
 Name[nl]=Horizon
-Name[pl]=Horyzont
+Name[pl]=Linia nieba
 Name[pt]=Linha Celeste Nocturna
 Name[pt_BR]=Linha celeste
 Name[sk]=Panoráma
-Name[sv]=Nattsiluett
 Name[uk]=Горизонт
 Name[x-test]=xxSkylinexx
 Comment=Skyline Monotone
diff --git a/stage/templates/odf/skyline_monotone_wide.desktop \
b/stage/templates/odf/skyline_monotone_wide.desktop index 3eb754e..5c8de81 100644
--- a/stage/templates/odf/skyline_monotone_wide.desktop
+++ b/stage/templates/odf/skyline_monotone_wide.desktop
@@ -3,16 +3,14 @@ Icon=skyline_monotone_wide
 Name=Skyline Wide
 Name[ca]=Horitzó ample
 Name[cs]= iroké panorama
-Name[da]=Skyline bred
 Name[en_GB]=Skyline Wide
 Name[fi]=Taivaanranta, leveä
 Name[it]=Orizzonte ampio
 Name[nl]=Brede horizon
-Name[pl]=Szeroki horyzont
+Name[pl]=Szeroka linia nieba
 Name[pt]=Linha Celeste Nocturna Ampla
 Name[pt_BR]=Linha celeste ampla
 Name[sk]= iroká panoráma
-Name[sv]=Nattsiluett bred
 Name[uk]=Широкий горизонт
 Name[x-test]=xxSkyline Widexx
 Comment=Skyline Monotone Wide
diff --git a/stage/templates/odf/skyline_morning.desktop \
b/stage/templates/odf/skyline_morning.desktop index e5924bd..ea77d3a 100644
--- a/stage/templates/odf/skyline_morning.desktop
+++ b/stage/templates/odf/skyline_morning.desktop
@@ -3,17 +3,15 @@ Icon=skyline_morning
 Name=Skyline
 Name[ca]=Horitzó
 Name[cs]=Panorama
-Name[da]=Skyline
 Name[de]=Horizont
 Name[en_GB]=Skyline
 Name[fi]=Taivaanranta
 Name[it]=Orizzonte
 Name[nl]=Horizon
-Name[pl]=Horyzont
+Name[pl]=Linia nieba
 Name[pt]=Linha Celeste Nocturna
 Name[pt_BR]=Linha celeste
 Name[sk]=Panoráma
-Name[sv]=Nattsiluett
 Name[uk]=Горизонт
 Name[x-test]=xxSkylinexx
 Comment=Skyline Morning
@@ -36,7 +34,7 @@ Comment[kk]=Таңғы көкжиек
 Comment[nb]=Morgensilhuett
 Comment[nds]=Kimmümreet an'n Morgen
 Comment[nl]=Morgenhorizon
-Comment[pl]=Poranny horyzont
+Comment[pl]=Poranna linia nieba 
 Comment[pt]=Linha Celeste Matinal
 Comment[pt_BR]=Linha celeste matinal
 Comment[ru]=Утреннее небо
diff --git a/stage/templates/odf/skyline_morning_wide.desktop \
b/stage/templates/odf/skyline_morning_wide.desktop index b26ec8b..0151c53 100644
--- a/stage/templates/odf/skyline_morning_wide.desktop
+++ b/stage/templates/odf/skyline_morning_wide.desktop
@@ -3,16 +3,14 @@ Icon=skyline_morning_wide
 Name=Skyline Wide
 Name[ca]=Horitzó ample
 Name[cs]= iroké panorama
-Name[da]=Skyline bred
 Name[en_GB]=Skyline Wide
 Name[fi]=Taivaanranta, leveä
 Name[it]=Orizzonte ampio
 Name[nl]=Brede horizon
-Name[pl]=Szeroki horyzont
+Name[pl]=Szeroka linia nieba
 Name[pt]=Linha Celeste Nocturna Ampla
 Name[pt_BR]=Linha celeste ampla
 Name[sk]= iroká panoráma
-Name[sv]=Nattsiluett bred
 Name[uk]=Широкий горизонт
 Name[x-test]=xxSkyline Widexx
 Comment=Skyline Morning Wide
@@ -35,7 +33,7 @@ Comment[kk]=Кең таңғы көкжиек
 Comment[nb]=Bred morgensilhuett
 Comment[nds]=Breed Kimmümreet an'n Morgen
 Comment[nl]=Brede morgenhorizon
-Comment[pl]=Szeroki poranny horyzont
+Comment[pl]=Szeroka poranna linia nieba 
 Comment[pt]=Linha Celeste Matinal Ampla
 Comment[pt_BR]=Linha celeste matinal ampla
 Comment[ru]=Утреннее небо широкое
diff --git a/stage/templates/odf/skyline_night.desktop \
b/stage/templates/odf/skyline_night.desktop index af45a44..d9c5692 100644
--- a/stage/templates/odf/skyline_night.desktop
+++ b/stage/templates/odf/skyline_night.desktop
@@ -3,17 +3,15 @@ Icon=skyline_night
 Name=Skyline
 Name[ca]=Horitzó
 Name[cs]=Panorama
-Name[da]=Skyline
 Name[de]=Horizont
 Name[en_GB]=Skyline
 Name[fi]=Taivaanranta
 Name[it]=Orizzonte
 Name[nl]=Horizon
-Name[pl]=Horyzont
+Name[pl]=Linia nieba
 Name[pt]=Linha Celeste Nocturna
 Name[pt_BR]=Linha celeste
 Name[sk]=Panoráma
-Name[sv]=Nattsiluett
 Name[uk]=Горизонт
 Name[x-test]=xxSkylinexx
 Comment=Skyline Night
@@ -36,7 +34,7 @@ Comment[kk]=Түнгі көкжиек
 Comment[nb]=Nattsilhuett
 Comment[nds]=Kimmümreet bi Nacht
 Comment[nl]=Nachthorizon
-Comment[pl]=Nocny horyzont
+Comment[pl]=Nocna linia nieba
 Comment[pt]=Linha Celeste Nocturna
 Comment[pt_BR]=Linha celeste noturna
 Comment[ru]=Ночное небо
diff --git a/stage/templates/odf/skyline_night_wide.desktop \
b/stage/templates/odf/skyline_night_wide.desktop index 81c4b78..a9e20fc 100644
--- a/stage/templates/odf/skyline_night_wide.desktop
+++ b/stage/templates/odf/skyline_night_wide.desktop
@@ -3,16 +3,14 @@ Icon=skyline_night_wide
 Name=Skyline Wide
 Name[ca]=Horitzó ample
 Name[cs]= iroké panorama
-Name[da]=Skyline bred
 Name[en_GB]=Skyline Wide
 Name[fi]=Taivaanranta, leveä
 Name[it]=Orizzonte ampio
 Name[nl]=Brede horizon
-Name[pl]=Szeroki horyzont
+Name[pl]=Szeroka linia nieba
 Name[pt]=Linha Celeste Nocturna Ampla
 Name[pt_BR]=Linha celeste ampla
 Name[sk]= iroká panoráma
-Name[sv]=Nattsiluett bred
 Name[uk]=Широкий горизонт
 Name[x-test]=xxSkyline Widexx
 Comment=Skyline Night Wide
@@ -35,7 +33,7 @@ Comment[kk]=Кең түнгі көкжиек
 Comment[nb]=Bred nattsilhuett
 Comment[nds]=Breed Kimmümreet bi Nacht
 Comment[nl]=Brede nachthorizon
-Comment[pl]=Szeroki nocny horyzont
+Comment[pl]=Szeroka nocna linia nieba
 Comment[pt]=Linha Celeste Nocturna Ampla
 Comment[pt_BR]=Linha celeste noturna ampla
 Comment[ru]=Ночное небо широкое
diff --git a/words/app/words.appdata.xml b/words/app/words.appdata.xml
index 2191fc8..af09306 100644
--- a/words/app/words.appdata.xml
+++ b/words/app/words.appdata.xml
@@ -104,7 +104,6 @@
       <li xml:lang="en-GB">Allows embedding of Documents</li>
       <li xml:lang="es">Permite incrustar documentos</li>
       <li xml:lang="fi">Tiedostojen upottamisen tuki</li>
-      <li xml:lang="ia">Il permitte insertar documentos</li>
       <li xml:lang="it">Consente l'integrazione di documenti</li>
       <li xml:lang="ja">文書への埋め込みを許可</li>
       <li xml:lang="nb">Tillater innebygde dokumenter</li>
@@ -122,7 +121,6 @@
       <li xml:lang="en-GB">Customisation of user interface</li>
       <li xml:lang="es">Personalización de la interfaz de usuario</li>
       <li xml:lang="fi">Käyttöliittymä mukautettavissa</li>
-      <li xml:lang="ia">Prsonalisation de le Interfacie de usator</li>
       <li xml:lang="it">Personalizzazion e dell'interfaccia utente</li>
       <li xml:lang="ja">ユーザインターフェースのカスタマイズ</li>
       <li xml:lang="nb">Tilpassing av brukerflaten</li>
diff --git a/words/part/author/author.desktop b/words/part/author/author.desktop
index 225e9f7..df275c5 100644
--- a/words/part/author/author.desktop
+++ b/words/part/author/author.desktop
@@ -58,7 +58,7 @@ GenericName[lt]=Rašytojo įrankis
 GenericName[mr]=लेखक साधन
 GenericName[nb]=Forfatterverktøy
 GenericName[nl]=Author hulpmiddel
-GenericName[pl]=Narzędzie autorskie
+GenericName[pl]=Narzędzie prezentacji
 GenericName[pt]=Ferramenta do Author
 GenericName[pt_BR]=Ferramenta de autoria
 GenericName[sk]=Nástroj Author
diff --git a/words/part/author/authorpart.desktop \
b/words/part/author/authorpart.desktop index 8e491ab..b83085b 100644
--- a/words/part/author/authorpart.desktop
+++ b/words/part/author/authorpart.desktop
@@ -58,7 +58,7 @@ GenericName[lt]=Rašytojo įrankis
 GenericName[mr]=लेखक साधन
 GenericName[nb]=Forfatterverktøy
 GenericName[nl]=Author hulpmiddel
-GenericName[pl]=Narzędzie autorskie
+GenericName[pl]=Narzędzie prezentacji
 GenericName[pt]=Ferramenta do Author
 GenericName[pt_BR]=Ferramenta de autoria
 GenericName[sk]=Nástroj Author
diff --git a/words/part/dockers/KWDebugWidget.cpp \
b/words/part/dockers/KWDebugWidget.cpp index 6b3bc7b..2aa53c0 100644
--- a/words/part/dockers/KWDebugWidget.cpp
+++ b/words/part/dockers/KWDebugWidget.cpp
@@ -22,7 +22,6 @@
 #include <KoParagraphStyle.h>
 #include <KoSection.h>
 #include <KoSectionEnd.h>
-#include <KoSectionUtils.h>
 
 #include <QHBoxLayout>
 #include <QTimer>
@@ -70,17 +69,30 @@ void KWDebugWidget::updateData()
     QTextBlock curBlock = editor->block();
     QTextBlockFormat fmt = curBlock.blockFormat();
 
-    QString willShow = "This sections starts here :";
-    foreach (const KoSection *sec, KoSectionUtils::sectionStartings(fmt)) {
-        willShow += " \"" + sec->name() + "\"";
+    QString willShow;
+    if (fmt.hasProperty(KoParagraphStyle::SectionStartings)) {
+        willShow = "This sections starts here :";
+        QVariant var = fmt.property(KoParagraphStyle::SectionStartings);
+        QList<QVariant> openList = var.value< QList<QVariant> >();
+        foreach (const QVariant &sv, openList)
+        {
+            KoSection *sec = static_cast<KoSection *>(sv.value<void *>());
+            willShow += sec->name() + " ";
+        }
+        willShow.append("\n");
     }
-    willShow.append("\n");
 
-    willShow += "This sections end here :";
-    foreach (const KoSectionEnd *sec, KoSectionUtils::sectionEndings(fmt)) {
-        willShow += " \"" + sec->name() + "\"";
+    if (fmt.hasProperty(KoParagraphStyle::SectionEndings)) {
+        willShow += "This sections end here :";
+        QVariant var = fmt.property(KoParagraphStyle::SectionEndings);
+        QList<QVariant> closeList = var.value< QList<QVariant> >();
+        foreach (const QVariant &sv, closeList)
+        {
+            KoSectionEnd *sec = static_cast<KoSectionEnd *>(sv.value<void *>());
+            willShow += sec->name() + " ";
+        }
+        willShow.append("\n");
     }
-    willShow.append("\n");
 
     willShow += "block number is " + \
                QString::number(editor->constCursor().block().blockNumber()) + "\n";
     willShow += "cur pos " + QString::number(editor->constCursor().position()) + \
"\n";


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic