Hello community,

here is the log from the commit of package kapman for openSUSE:Leap:15.2 
checked in at 2020-05-13 03:51:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/kapman (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.kapman.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kapman"

Wed May 13 03:51:14 2020 rev:43 rq:797346 version:20.04.0

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/kapman/kapman.changes  2020-03-15 
13:37:14.510869555 +0100
+++ /work/SRC/openSUSE:Leap:15.2/.kapman.new.2738/kapman.changes        
2020-05-13 03:51:17.092130506 +0200
@@ -1,0 +2,31 @@
+Thu Apr 23 12:22:05 UTC 2020 - Luca Beltrame <[email protected]>
+
+- Update to 20.04.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/releases/2020-04-apps-update
+- No code change since 20.03.90
+
+-------------------------------------------------------------------
+Sun Apr  5 20:29:48 UTC 2020 - Luca Beltrame <[email protected]>
+
+- Update to 20.03.90
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/releases/20.04-rc
+- No code change since 20.03.80
+
+-------------------------------------------------------------------
+Sun Mar 22 09:16:44 UTC 2020 - Luca Beltrame <[email protected]>
+
+- Update to 20.03.80
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/releases/20.04-beta
+- Changes since 19.12.3:
+  * QXmlDefaultHandler is deprecated port to QXmlStreamReader
+  * Minor optimization
+  * use override
+  * Fix link: ui.html -> menus.html
+
+-------------------------------------------------------------------

Old:
----
  kapman-19.12.3.tar.xz
  kapman-19.12.3.tar.xz.sig

New:
----
  kapman-20.04.0.tar.xz
  kapman-20.04.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kapman.spec ++++++
--- /var/tmp/diff_new_pack.cYDrCC/_old  2020-05-13 03:51:17.620131613 +0200
+++ /var/tmp/diff_new_pack.cYDrCC/_new  2020-05-13 03:51:17.620131613 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package kapman
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -21,34 +21,30 @@
 %{!?_kapp_version: %define _kapp_version %(echo %{version}| awk -F. '{print 
$1"."$2}')}
 %bcond_without lang
 Name:           kapman
-Version:        19.12.3
+Version:        20.04.0
 Release:        0
 Summary:        Pac-Man-like game for KDE
 License:        GPL-2.0-or-later
 Group:          System/GUI/KDE
 URL:            https://www.kde.org
 Source:         
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz
-%if %{with lang}
-Source1:        
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig
-Source2:        applications.keyring
-%endif
 BuildRequires:  extra-cmake-modules
+BuildRequires:  update-desktop-files
 BuildRequires:  cmake(KF5Config)
 BuildRequires:  cmake(KF5ConfigWidgets)
 BuildRequires:  cmake(KF5CoreAddons)
-BuildRequires:  cmake(KF5KDELibs4Support)
 BuildRequires:  cmake(KF5GuiAddons)
 BuildRequires:  cmake(KF5I18n)
 BuildRequires:  cmake(KF5IconThemes)
-BuildRequires:  cmake(KF5KIO)
 BuildRequires:  cmake(KF5ItemViews)
+BuildRequires:  cmake(KF5KDEGames)
+BuildRequires:  cmake(KF5KDELibs4Support)
+BuildRequires:  cmake(KF5KIO)
 BuildRequires:  cmake(KF5NewStuff)
 BuildRequires:  cmake(KF5NotifyConfig)
 BuildRequires:  cmake(KF5WidgetsAddons)
 BuildRequires:  cmake(KF5XmlGui)
-BuildRequires:  cmake(KF5KDEGames)
 BuildRequires:  cmake(Phonon4Qt5)
-BuildRequires:  update-desktop-files
 BuildRequires:  cmake(Qt5QuickWidgets)
 BuildRequires:  cmake(Qt5Svg)
 BuildRequires:  cmake(Qt5Test)
@@ -56,15 +52,15 @@
 Obsoletes:      %{name}5 < %{version}
 Provides:       %{name}5 = %{version}
 %if %{with lang}
-Recommends:     %{name}-lang
+Source1:        
https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig
+Source2:        applications.keyring
 %endif
+Recommends:     %{name}-lang
 
 %description
 Kapman is a clone of the well known game Pac-Man. You must go through the 
levels escaping ghosts in a maze. You lose a life when a ghost eats you, but 
you can eat the ghosts for a few seconds when eating an energizer. You win 
points when eating pills, energizers, and bonus, and you win one life for each 
10,000 points. When you have eaten all the pills and energizers of a level, you 
go to the next level, and the player and ghost speeds increase. The game ends 
when you have lost all your lives.
 
-%if %{with lang}
 %lang_package
-%endif
 
 %prep
 %setup -q -n kapman-%{version}


++++++ kapman-19.12.3.tar.xz -> kapman-20.04.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/CMakeLists.txt 
new/kapman-20.04.0/CMakeLists.txt
--- old/kapman-19.12.3/CMakeLists.txt   2020-03-03 01:18:58.000000000 +0100
+++ new/kapman-20.04.0/CMakeLists.txt   2020-04-17 02:31:22.000000000 +0200
@@ -1,12 +1,12 @@
 cmake_minimum_required (VERSION 3.5 FATAL_ERROR)
 
 # KDE Application Version, managed by release script
-set(KDE_APPLICATIONS_VERSION_MAJOR "19")
-set(KDE_APPLICATIONS_VERSION_MINOR "12")
-set(KDE_APPLICATIONS_VERSION_MICRO "3")
-set(KDE_APPLICATIONS_VERSION 
"${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")
+set(RELEASE_SERVICE_VERSION_MAJOR "20")
+set(RELEASE_SERVICE_VERSION_MINOR "04")
+set(RELEASE_SERVICE_VERSION_MICRO "0")
+set(RELEASE_SERVICE_VERSION 
"${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
 
-project(kapman VERSION ${KDE_APPLICATIONS_VERSION})
+project(kapman VERSION ${RELEASE_SERVICE_VERSION})
 
 set (QT_MIN_VERSION "5.7.0")
 set (KF5_MIN_VERSION "5.30.0")
@@ -79,7 +79,7 @@
        pill.cpp
 )
 
-ecm_setup_version(${KDE_APPLICATIONS_VERSION} VARIABLE_PREFIX KAPMAN 
VERSION_HEADER kapman_version.h)
+ecm_setup_version(${RELEASE_SERVICE_VERSION} VARIABLE_PREFIX KAPMAN 
VERSION_HEADER kapman_version.h)
 
 file(GLOB themes
        "themes/*.svgz"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/bonus.h new/kapman-20.04.0/bonus.h
--- old/kapman-19.12.3/bonus.h  2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/bonus.h  2020-04-15 11:12:35.000000000 +0200
@@ -49,7 +49,7 @@
      * Computes an action on a collision with the Kapman.
      * @param p_kapman the Kapman instance that collides with the Bonus
      */
-    void doActionOnCollision(Kapman *p_kapman) Q_DECL_OVERRIDE;
+    void doActionOnCollision(Kapman *p_kapman) override;
 
     /**
      * Sets the given value to the Bonus.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/characteritem.h 
new/kapman-20.04.0/characteritem.h
--- old/kapman-19.12.3/characteritem.h  2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/characteritem.h  2020-04-15 11:12:35.000000000 +0200
@@ -34,7 +34,7 @@
 protected:
 
     /** Timer used to make the character blink */
-    QTimer *m_blinkTimer;
+    QTimer *m_blinkTimer = nullptr;
 
     /** Number of ticks of the blink timer */
     int m_nbBlinks;
@@ -57,7 +57,7 @@
      * This function is used to determinate collision between items
      * @return QPainterPath the new shape of the Character
      */
-    QPainterPath shape() const Q_DECL_OVERRIDE;
+    QPainterPath shape() const override;
 
 public slots:
 
@@ -66,7 +66,7 @@
      * @param p_x the new x-coordinate
      * @param p_y the new y-coordinate
      */
-    void update(qreal p_x, qreal p_y) Q_DECL_OVERRIDE;
+    void update(qreal p_x, qreal p_y) override;
 
     /**
      * Starts the character blinking.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/doc/index.docbook 
new/kapman-20.04.0/doc/index.docbook
--- old/kapman-19.12.3/doc/index.docbook        2020-03-01 10:42:06.000000000 
+0100
+++ new/kapman-20.04.0/doc/index.docbook        2020-04-15 11:12:35.000000000 
+0200
@@ -192,8 +192,8 @@
 </variablelist>
 <para>
 Additionally &kapman; has the common &kde; <guimenu>Settings</guimenu> and 
<guimenu>Help</guimenu>
-menu items, for more information read the sections about the <ulink 
url="help:/fundamentals/ui.html#menus-settings"
->Settings Menu</ulink> and <ulink 
url="help:/fundamentals/ui.html#menus-help">Help Menu</ulink>
+menu items, for more information read the sections about the <ulink 
url="help:/fundamentals/menus.html#menus-settings"
+>Settings Menu</ulink> and <ulink 
url="help:/fundamentals/menus.html#menus-help">Help Menu</ulink>
 of the &kde; Fundamentals.
 </para>
 </sect1>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/elementitem.h 
new/kapman-20.04.0/elementitem.h
--- old/kapman-19.12.3/elementitem.h    2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/elementitem.h    2020-04-15 11:12:35.000000000 +0200
@@ -32,12 +32,12 @@
 
 private:
     /** The Label containing the points won when eaten, to display on the 
scene */
-    QGraphicsTextItem *m_pointsToDisplay;
+    QGraphicsTextItem *m_pointsToDisplay = nullptr;
 
 protected:
 
     /** The instance of Element the ElementItem will represent */
-    Element *m_model;
+    Element *m_model = nullptr;
 
 public:
 
@@ -61,7 +61,7 @@
     /**
      * Reimplement QGraphicsItem::shape() to return an ellipse to improve 
collisions.
      */
-    QPainterPath shape() const Q_DECL_OVERRIDE;
+    QPainterPath shape() const override;
 
 public slots:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/energizer.h 
new/kapman-20.04.0/energizer.h
--- old/kapman-19.12.3/energizer.h      2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/energizer.h      2020-04-15 11:12:35.000000000 +0200
@@ -61,7 +61,7 @@
      * Computes an action on a collision with the Kapman.
      * @param p_kapman the instance of Kapman which collides with the Energyzer
      */
-    void doActionOnCollision(Kapman *p_kapman) Q_DECL_OVERRIDE;
+    void doActionOnCollision(Kapman *p_kapman) override;
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/game.cpp new/kapman-20.04.0/game.cpp
--- old/kapman-19.12.3/game.cpp 2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/game.cpp 2020-04-15 11:12:35.000000000 +0200
@@ -58,18 +58,13 @@
     // Create the Maze instance
     m_maze = new Maze();
     connect(m_maze, &Maze::allElementsEaten, this, &Game::nextLevel);
-
     // Create the parser that will parse the XML file in order to initialize 
the Maze instance
     // This also creates all the characters
     KapmanParser kapmanParser(this);
     // Set the XML file as input source for the parser
     QFile mazeXmlFile(QStandardPaths::locate(QStandardPaths::AppDataLocation, 
QStringLiteral("defaultmaze.xml")));
-    QXmlInputSource source(&mazeXmlFile);
-    // Create the XML file reader
-    QXmlSimpleReader reader;
-    reader.setContentHandler(&kapmanParser);
-    // Parse the XML file
-    reader.parse(source);
+    mazeXmlFile.open(QIODevice::ReadOnly);
+    kapmanParser.parse(&mazeXmlFile);
 
     connect(m_kapman, &Kapman::sWinPoints, this, &Game::winPoints);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/gameview.h 
new/kapman-20.04.0/gameview.h
--- old/kapman-19.12.3/gameview.h       2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/gameview.h       2020-04-15 11:12:35.000000000 +0200
@@ -49,7 +49,7 @@
      * Resizes the items when the view is resized.
      * @param p_event the resize event
      */
-    void resizeEvent(QResizeEvent *p_event) Q_DECL_OVERRIDE;
+    void resizeEvent(QResizeEvent *p_event) override;
 
 protected:
 
@@ -57,13 +57,13 @@
      * Manages the player actions by hanlding the key press events.
      * @param p_event the key press event
      */
-    void keyPressEvent(QKeyEvent *p_event) Q_DECL_OVERRIDE;
+    void keyPressEvent(QKeyEvent *p_event) override;
 
     /**
      * Pauses the game on focus lost.
      * @param p_event the focus event
      */
-    void focusOutEvent(QFocusEvent *p_event) Q_DECL_OVERRIDE;
+    void focusOutEvent(QFocusEvent *p_event) override;
 
 signals:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/ghost.cpp new/kapman-20.04.0/ghost.cpp
--- old/kapman-19.12.3/ghost.cpp        2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/ghost.cpp        2020-04-15 11:12:35.000000000 +0200
@@ -20,6 +20,7 @@
 
 #include <QPointF>
 #include <KgDifficulty>
+#include <QRandomGenerator>
 #include <cstdlib>
 #include <ctime>
 
@@ -34,8 +35,6 @@
     m_type = Element::GHOST;
     m_state = Ghost::HUNTER;
     m_maxSpeed = m_normalSpeed * MAX_SPEED_RATIO;
-    // Initialize the random-number generator
-    qsrand(std::time(nullptr));
     // Makes the ghost move as soon as the game is created
     goLeft();
 }
@@ -112,7 +111,7 @@
                 }
             }
             // Random number generation to choose one of the directions
-            nb = int(double(qrand()) / (double(RAND_MAX) + 1) * 
directionsList.size());
+            nb = int(double(QRandomGenerator::global()->bounded(RAND_MAX)) / 
(double(RAND_MAX) + 1) * directionsList.size());
             // If there is no directions in the list, the character goes 
backward
             if (directionsList.size() == 0) {
                 m_xSpeed = -m_xSpeed;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/ghost.h new/kapman-20.04.0/ghost.h
--- old/kapman-19.12.3/ghost.h  2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/ghost.h  2020-04-15 11:12:35.000000000 +0200
@@ -75,7 +75,7 @@
     /**
      * Updates the Ghost move.
      */
-    void updateMove() Q_DECL_OVERRIDE;
+    void updateMove() override;
 
     /**
      * Updates the Ghost with a direction to follow.
@@ -106,34 +106,34 @@
      * Manages the collision with the Kapman.
      * @param p_kapman the instance of Kapman which collides with the Ghost
      */
-    void doActionOnCollision(Kapman *p_kapman) Q_DECL_OVERRIDE;
+    void doActionOnCollision(Kapman *p_kapman) override;
 
     /**
      * Initializes the Ghost speed from the Character speed.
      */
-    void initSpeedInc() Q_DECL_OVERRIDE;
+    void initSpeedInc() override;
 
 private:
 
     /**
      * Makes the Ghost go up.
      */
-    void goUp() Q_DECL_OVERRIDE;
+    void goUp() override;
 
     /**
      * Makes the Ghost go down.
      */
-    void goDown() Q_DECL_OVERRIDE;
+    void goDown() override;
 
     /**
      * Makes the Ghost go to the right.
      */
-    void goRight() Q_DECL_OVERRIDE;
+    void goRight() override;
 
     /**
      * Makes the Ghost go to the left.
      */
-    void goLeft() Q_DECL_OVERRIDE;
+    void goLeft() override;
 
 signals:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/ghostitem.h 
new/kapman-20.04.0/ghostitem.h
--- old/kapman-19.12.3/ghostitem.h      2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/ghostitem.h      2020-04-15 11:12:35.000000000 +0200
@@ -33,7 +33,7 @@
 private:
 
     /** Timer to start the ghosts blinking */
-    QTimer *m_startBlinkingTimer;
+    QTimer *m_startBlinkingTimer = nullptr;
 
 public:
 
@@ -60,7 +60,7 @@
      * @param p_x the new x-coordinate
      * @param p_y the new y-coordinate
      */
-    void update(qreal p_x, qreal p_y) Q_DECL_OVERRIDE;
+    void update(qreal p_x, qreal p_y) override;
 
     /**
      * Update the image function of the Ghost state.
@@ -70,7 +70,7 @@
     /**
      * Implements the CharacterItem method.
      */
-    void blink() Q_DECL_OVERRIDE;
+    void blink() override;
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/kapman.h new/kapman-20.04.0/kapman.h
--- old/kapman-19.12.3/kapman.h 2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/kapman.h 2020-04-15 11:12:35.000000000 +0200
@@ -59,27 +59,27 @@
     /**
      * Makes the Kapman ask to go up
      */
-    void goUp() Q_DECL_OVERRIDE;
+    void goUp() override;
 
     /**
      * Makes the Kapman ask to go down
      */
-    void goDown() Q_DECL_OVERRIDE;
+    void goDown() override;
 
     /**
      * Makes the Kapman ask to go to the right
      */
-    void goRight() Q_DECL_OVERRIDE;
+    void goRight() override;
 
     /**
      * Makes the Kapman ask to go to the left
      */
-    void goLeft() Q_DECL_OVERRIDE;
+    void goLeft() override;
 
     /**
      * Updates the Kapman move
      */
-    void updateMove() Q_DECL_OVERRIDE;
+    void updateMove() override;
 
     /**
      * @return the asked x speed value
@@ -110,7 +110,7 @@
     /**
      * Initializes the Kapman speed from the Character speed.
      */
-    void initSpeedInc() Q_DECL_OVERRIDE;
+    void initSpeedInc() override;
 
 private:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/kapmanitem.h 
new/kapman-20.04.0/kapmanitem.h
--- old/kapman-19.12.3/kapmanitem.h     2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/kapmanitem.h     2020-04-15 11:12:35.000000000 +0200
@@ -77,7 +77,7 @@
      * @param p_x the new x-coordinate
      * @param p_y the new y-coordinate
      */
-    void update(qreal p_x, qreal p_y) Q_DECL_OVERRIDE;
+    void update(qreal p_x, qreal p_y) override;
 
     /**
      * Starts the KapmanItem animation.
@@ -108,12 +108,12 @@
     /**
      * Implements the CharacterItem method.
      */
-    void startBlinking() Q_DECL_OVERRIDE;
+    void startBlinking() override;
 
     /**
      * Implements the CharacterItem method.
      */
-    void blink() Q_DECL_OVERRIDE;
+    void blink() override;
 
     /**
      * Set if the KapmanItem should be rotated (set by theme flag 
RotateKapman).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/kapmanmainwindow.h 
new/kapman-20.04.0/kapmanmainwindow.h
--- old/kapman-19.12.3/kapmanmainwindow.h       2020-03-01 10:42:06.000000000 
+0100
+++ new/kapman-20.04.0/kapmanmainwindow.h       2020-04-15 11:12:35.000000000 
+0200
@@ -41,15 +41,15 @@
 private :
 
     /** The GameView instance that manages the game drawing and the collisions 
*/
-    GameView *m_view;
+    GameView *m_view = nullptr;
 
     /** The Game instance that manages the main loop and events */
-    Game *m_game;
+    Game *m_game = nullptr;
 
-    QStatusBar *m_statusBar;
-    QLabel *mLevel;
-    QLabel *mScore;
-    QLabel *mLives;
+    QStatusBar *m_statusBar = nullptr;
+    QLabel *mLevel = nullptr;
+    QLabel *mScore = nullptr;
+    QLabel *mLives = nullptr;
 
 public:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/kapmanparser.cpp 
new/kapman-20.04.0/kapmanparser.cpp
--- old/kapman-19.12.3/kapmanparser.cpp 2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/kapmanparser.cpp 2020-04-15 11:12:35.000000000 +0200
@@ -19,6 +19,8 @@
 #include "element.h"
 #include "pill.h"
 #include "energizer.h"
+#include <QDebug>
+#include <QXmlStreamAttributes>
 
 KapmanParser::KapmanParser(Game *p_game)
 {
@@ -31,124 +33,166 @@
 
 }
 
-bool KapmanParser::characters(const QString &ch)
+bool KapmanParser::parse(QIODevice *input)
 {
-    m_buffer = ch;
+    QXmlStreamReader reader(input);
+
+    while (!reader.atEnd()) {
+        reader.readNext();
+        if (reader.hasError())
+            return false;
+
+        switch (reader.tokenType()) {
+        case QXmlStreamReader::StartElement:
+            if (!startElement(reader.namespaceUri(), reader.name(),
+                              reader.qualifiedName(), reader.attributes())) {
+                return false;
+            }
+            break;
+        case QXmlStreamReader::EndElement:
+            if (!endElement(reader.namespaceUri(), reader.name(),
+                            reader.qualifiedName())) {
+                return false;
+            }
+            break;
+        case QXmlStreamReader::Characters:
+            if (!reader.isWhitespace() && 
!reader.text().toString().trimmed().isEmpty()) {
+                if (!characters(reader.text()))
+                    return false;
+            }
+            break;
+        default:
+            break;
+        }
+    }
+
+    if (reader.isEndDocument())
+        return false;
+
+    return true;
+}
+
+bool KapmanParser::characters(const QStringRef &ch)
+{
+    m_buffer = ch.toString();
     return true;
 }
 
-bool KapmanParser::startElement(const QString &, const QString &, const 
QString &p_qName, const QXmlAttributes &p_atts)
+bool KapmanParser::startElement(const QStringRef &namespaceURI, const 
QStringRef &localName, const QStringRef &qName, const QXmlStreamAttributes 
&atts)
 {
+    Q_UNUSED(namespaceURI)
+    Q_UNUSED(localName)
     qreal x_position = 0.0;
     qreal y_position = 0.0;
 
-    if (p_qName == QLatin1String("Maze")) {
+    if (qName == QLatin1String("Maze")) {
         int nbRows = 0;
         int nbColumns = 0;
         // Initialize the number of rows and columns
-        for (int i = 0; i < p_atts.count(); ++i) {
-            if (p_atts.qName(i) == QLatin1String("rowCount")) {
-                nbRows = p_atts.value(i).toInt();
-            }
-            if (p_atts.qName(i) == QLatin1String("colCount")) {
-                nbColumns = p_atts.value(i).toInt();
-            }
+        if (atts.hasAttribute(QLatin1String("rowCount"))) {
+            nbRows = atts.value(QLatin1String("rowCount")).toInt();
+        }
+        if (atts.hasAttribute(QLatin1String("colCount"))) {
+            nbColumns = atts.value(QLatin1String("colCount")).toInt();
         }
         // Create the Maze matrix
         m_game->getMaze()->init(nbRows, nbColumns);
-    } else if (p_qName == QLatin1String("Bonus")) {
+    } else if (qName == QLatin1String("Bonus")) {
         // Initialize the number of rows and columns
-        for (int i = 0; i < p_atts.count(); ++i) {
-            if (p_atts.qName(i) == QLatin1String("rowIndex")) {
-                y_position = p_atts.value(i).toInt();
-            }
-            if (p_atts.qName(i) == QLatin1String("colIndex")) {
-                x_position = p_atts.value(i).toInt();
-            }
-            if (p_atts.qName(i) == QLatin1String("x-align")) {
-                if (p_atts.value(i) == QLatin1String("center")) {
-                    x_position += 0.5;
-                }
-            }
-            if (p_atts.qName(i) == QLatin1String("y-align")) {
-                if (p_atts.value(i) == QLatin1String("center")) {
-                    y_position += 0.5;
-                }
+        if (atts.hasAttribute(QLatin1String("rowIndex"))) {
+            y_position = atts.value(QLatin1String("rowIndex")).toInt();
+        }
+        if (atts.hasAttribute(QLatin1String("colIndex"))) {
+            x_position = atts.value(QLatin1String("colIndex")).toInt();
+        }
+        if (atts.hasAttribute(QLatin1String("x-align"))) {
+            if (atts.value(QLatin1String("x-align")).toString() == 
QLatin1String("center")) {
+                x_position += 0.5;
+            }
+        }
+        if (atts.hasAttribute(QLatin1String("y-align"))) {
+            if (atts.value(QLatin1String("y-align")).toString() == 
QLatin1String("center")) {
+                y_position += 0.5;
             }
         }
         m_game->createBonus(QPointF(x_position, y_position));
-    } else if (p_qName == QLatin1String("Kapman")) {
-        // Initialize the number of rows and columns
-        for (int i = 0; i < p_atts.count(); ++i) {
-            if (p_atts.qName(i) == QLatin1String("rowIndex")) {
-                y_position = p_atts.value(i).toInt();
-            }
-            if (p_atts.qName(i) == QLatin1String("colIndex")) {
-                x_position = p_atts.value(i).toInt();
-            }
-            if (p_atts.qName(i) == QLatin1String("x-align")) {
-                if (p_atts.value(i) == QLatin1String("center")) {
-                    x_position += 0.5;
-                }
-            }
-            if (p_atts.qName(i) == QLatin1String("y-align")) {
-                if (p_atts.value(i) == QLatin1String("center")) {
-                    y_position += 0.5;
-                }
+    } else if (qName == QLatin1String("Kapman")) {
+        if (atts.hasAttribute(QLatin1String("rowIndex"))) {
+            y_position = atts.value(QLatin1String("rowIndex")).toInt();
+        }
+        if (atts.hasAttribute(QLatin1String("colIndex"))) {
+            x_position = atts.value(QLatin1String("colIndex")).toInt();
+        }
+        if (atts.hasAttribute(QLatin1String("x-align"))) {
+            if (atts.value(QLatin1String("x-align")).toString() == 
QLatin1String("center")) {
+                x_position += 0.5;
+            }
+        }
+        if (atts.hasAttribute(QLatin1String("y-align"))) {
+            if (atts.value(QLatin1String("y-align")).toString() == 
QLatin1String("center")) {
+                y_position += 0.5;
             }
         }
+
         m_game->createKapman(QPointF(x_position, y_position));
-    } else if (p_qName == QLatin1String("Ghost")) {
+    } else if (qName == QLatin1String("Ghost")) {
         QString imageId;
         // Initialize the number of rows and columns
-        for (int i = 0; i < p_atts.count(); ++i) {
-            if (p_atts.qName(i) == QLatin1String("rowIndex")) {
-                y_position = p_atts.value(i).toInt();
-            }
-            if (p_atts.qName(i) == QLatin1String("colIndex")) {
-                x_position = p_atts.value(i).toInt();
-            }
-            if (p_atts.qName(i) == QLatin1String("x-align")) {
-                if (p_atts.value(i) == QLatin1String("center")) {
-                    x_position += 0.5;
-                }
-            }
-            if (p_atts.qName(i) == QLatin1String("y-align")) {
-                if (p_atts.value(i) == QLatin1String("center")) {
-                    y_position += 0.5;
-                }
+        if (atts.hasAttribute(QLatin1String("rowIndex"))) {
+            y_position = atts.value(QLatin1String("rowIndex")).toInt();
+        }
+        if (atts.hasAttribute(QLatin1String("colIndex"))) {
+            x_position = atts.value(QLatin1String("colIndex")).toInt();
+        }
+        if (atts.hasAttribute(QLatin1String("x-align"))) {
+            if (atts.value(QLatin1String("x-align")).toString() == 
QLatin1String("center")) {
+                x_position += 0.5;
             }
-            if (p_atts.qName(i) == QLatin1String("imageId")) {
-                imageId = p_atts.value(i);
+        }
+        if (atts.hasAttribute(QLatin1String("y-align"))) {
+            if (atts.value(QLatin1String("y-align")).toString() == 
QLatin1String("center")) {
+                y_position += 0.5;
             }
         }
+        if (atts.hasAttribute(QLatin1String("imageId"))) {
+            imageId = atts.value(QLatin1String("imageId")).toString();
+        }
         m_game->createGhost(QPointF(x_position, y_position), imageId);
     }
 
     return true;
 }
 
-bool KapmanParser::endElement(const QString &, const QString &, const QString 
&p_qName)
+bool KapmanParser::endElement(const QStringRef &namespaceURI, const QStringRef 
&localName, const QStringRef &qName)
 {
-    if (p_qName == QLatin1String("Row")) {
-        for (int i = 0; i < m_buffer.length(); ++i) {
+    Q_UNUSED(namespaceURI)
+    Q_UNUSED(localName)
+
+    if (qName.toString() == QLatin1String("Row")) {
+        for (int i = 0, total = m_buffer.length(); i < total; ++i) {
             switch (m_buffer.at(i).toLatin1()) {
             case '|':
-            case '=': m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::WALL);
+            case '=':
+                m_game->getMaze()->setCellType(m_counterRows, i, Cell::WALL);
                 break;
-            case ' ': m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::CORRIDOR);
+            case ' ':
+                m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::CORRIDOR);
                 break;
-            case '.': m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::CORRIDOR);
+            case '.':
+                m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::CORRIDOR);
                 m_game->getMaze()->setCellElement(m_counterRows, i,
                                                   new Pill(m_counterRows, i, 
m_game->getMaze(), QStringLiteral("pill")));
                 break;
-            case 'o': m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::CORRIDOR);
+            case 'o':
+                m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::CORRIDOR);
                 m_game->getMaze()->setCellElement(m_counterRows, i,
                                                   new Energizer(m_counterRows, 
i, m_game->getMaze(), QStringLiteral("energizer")));
                 break;
-            case 'x': m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::GHOSTCAMP);
+            case 'x':
+                m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::GHOSTCAMP);
                 break;
-            case 'X': m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::GHOSTCAMP);
+            case 'X':
+                m_game->getMaze()->setCellType(m_counterRows, i, 
Cell::GHOSTCAMP);
                 m_game->getMaze()->setResurrectionCell(QPoint(m_counterRows, 
i));
                 break;
             }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/kapmanparser.h 
new/kapman-20.04.0/kapmanparser.h
--- old/kapman-19.12.3/kapmanparser.h   2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/kapmanparser.h   2020-04-15 11:12:35.000000000 +0200
@@ -21,12 +21,12 @@
 
 #include "game.h"
 
-#include <QXmlDefaultHandler>
+#include <QXmlStreamAttributes>
 
 /**
  * @brief This class handles XML reader events in order to initialize the Maze 
properties.
  */
-class KapmanParser : public QXmlDefaultHandler
+class KapmanParser
 {
 
 private:
@@ -52,21 +52,15 @@
      */
     ~KapmanParser();
 
-    /**
-    * Implement QXmlDefaultHandler::characters
-    */
-    bool characters(const QString &ch) Q_DECL_OVERRIDE;
+    bool characters(const QStringRef &ch);
 
-    /**
-     * Implements QXmlDefaultHandler::startElement()
-     */
-    bool startElement(const QString &, const QString &, const QString 
&p_qName, const QXmlAttributes &p_atts) Q_DECL_OVERRIDE;
+    bool startElement(const QStringRef &namespaceURI, const QStringRef 
&localName,
+                      const QStringRef &qName, const QXmlStreamAttributes 
&atts);
 
-    /**
-    * Implements QXmlDefaultHandler::endElement()
-    */
-    bool endElement(const QString &, const QString &, const QString &p_qName) 
Q_DECL_OVERRIDE;
+    bool endElement(const QStringRef &namespaceURI,
+                    const QStringRef &localName, const QStringRef &qName);
 
+    bool parse(QIODevice *input);
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/org.kde.kapman.appdata.xml 
new/kapman-20.04.0/org.kde.kapman.appdata.xml
--- old/kapman-19.12.3/org.kde.kapman.appdata.xml       2020-03-01 
10:42:06.000000000 +0100
+++ new/kapman-20.04.0/org.kde.kapman.appdata.xml       2020-04-15 
11:12:35.000000000 +0200
@@ -153,7 +153,7 @@
   </screenshots>
   <project_group>KDE</project_group>
   <releases>
-    <release version="19.12.3" date="2020-03-05"/>
+    <release version="20.04.0" date="2020-04-23"/>
     <release version="19.12.2" date="2020-02-06"/>
     <release version="19.12.1" date="2020-01-09"/>
     <release version="19.12.0" date="2019-12-12"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/pill.h new/kapman-20.04.0/pill.h
--- old/kapman-19.12.3/pill.h   2020-03-01 10:42:06.000000000 +0100
+++ new/kapman-20.04.0/pill.h   2020-04-15 11:12:35.000000000 +0200
@@ -49,7 +49,7 @@
      * Computes an action on a collision with the Kapman.
      * @param p_kapman the instance of Kapman which collides with the Pill
      */
-    void doActionOnCollision(Kapman *p_kapman) Q_DECL_OVERRIDE;
+    void doActionOnCollision(Kapman *p_kapman) override;
 };
 
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/de/docs/kapman/index.docbook 
new/kapman-20.04.0/po/de/docs/kapman/index.docbook
--- old/kapman-19.12.3/po/de/docs/kapman/index.docbook  2020-03-03 
01:18:57.000000000 +0100
+++ new/kapman-20.04.0/po/de/docs/kapman/index.docbook  2020-04-17 
02:31:21.000000000 +0200
@@ -460,9 +460,9 @@
 >Einstellungen</guimenu
 > und <guimenu
 >Hilfe</guimenu
->, weitere Informationen dazu finden Sie in den Abschnitten über die Menüs 
<ulink url="help:/fundamentals/ui.html#menus-settings"
+>, weitere Informationen dazu finden Sie in den Abschnitten über die Menüs 
<ulink url="help:/fundamentals/menus.html#menus-settings"
 >Einstellungen</ulink
-> und <ulink url="help:/fundamentals/ui.html#menus-help"
+> und <ulink url="help:/fundamentals/menus.html#menus-help"
 >Hilfe</ulink
 > der &kde;-Grundlagen. </para>
 </sect1>
@@ -664,8 +664,7 @@
 >Übersetzung: Johannes Obermayr <email
 >[email protected]</email
 ></para
-> 
-&underFDL; &underGPL; </chapter>
+> &underFDL; &underGPL; </chapter>
 
 &documentation.index;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/es/docs/kapman/index.docbook 
new/kapman-20.04.0/po/es/docs/kapman/index.docbook
--- old/kapman-19.12.3/po/es/docs/kapman/index.docbook  2020-03-03 
01:18:57.000000000 +0100
+++ new/kapman-20.04.0/po/es/docs/kapman/index.docbook  2020-04-17 
02:31:21.000000000 +0200
@@ -416,9 +416,9 @@
 >Preferencias</guimenu
 > y <guimenu
 >Ayuda</guimenu
-> comunes de &kde;. Para obtener más información, consulte las secciones sobre 
el <ulink url="help:/fundamentals/ui.html#menus-settings"
+> comunes de &kde;. Para obtener más información, consulte las secciones sobre 
el <ulink url="help:/fundamentals/menus.html#menus-settings"
 >Menú «Preferencias»</ulink
-> y <ulink url="help:/fundamentals/ui.html#menus-help"
+> y <ulink url="help:/fundamentals/menus.html#menus-help"
 >Menú «Ayuda» </ulink
 > de «Aspectos básicos de &kde;». </para>
 </sect1>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/it/docs/kapman/index.docbook 
new/kapman-20.04.0/po/it/docs/kapman/index.docbook
--- old/kapman-19.12.3/po/it/docs/kapman/index.docbook  2020-03-03 
01:18:57.000000000 +0100
+++ new/kapman-20.04.0/po/it/docs/kapman/index.docbook  2020-04-17 
02:31:21.000000000 +0200
@@ -402,9 +402,9 @@
 >Impostazioni</guimenu
 > e <guimenu
 >Aiuto</guimenu
-> comuni a tutto &kde;. Per ulteriori informazioni leggere le sezioni relative 
<ulink url="help:/fundamentals/ui.html#menus-settings"
+> comuni a tutto &kde;. Per ulteriori informazioni leggere le sezioni relative 
<ulink url="help:/fundamentals/menus.html#menus-settings"
 >Menu Impostazioni</ulink
-> e <ulink url="help:/fundamentals/ui.html#menus-help"
+> e <ulink url="help:/fundamentals/menus.html#menus-help"
 >Menu Aiuto</ulink
 > dei Fondamentali di &kde;. </para>
 </sect1>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/ko/kapman.po 
new/kapman-20.04.0/po/ko/kapman.po
--- old/kapman-19.12.3/po/ko/kapman.po  2020-03-03 01:18:56.000000000 +0100
+++ new/kapman-20.04.0/po/ko/kapman.po  2020-04-17 02:31:21.000000000 +0200
@@ -1,6 +1,6 @@
 # Copyright (C) YEAR This_file_is_part_of_KDE
 # This file is distributed under the same license as the PACKAGE package.
-# Shinjo Park <[email protected]>, 2011, 2014, 2015.
+# Shinjo Park <[email protected]>, 2011, 2014, 2015, 2020.
 #
 # bong, 2011.
 msgid ""
@@ -8,7 +8,7 @@
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2019-07-28 02:50+0200\n"
-"PO-Revision-Date: 2015-01-17 23:52+0900\n"
+"PO-Revision-Date: 2020-04-05 11:56+0200\n"
 "Last-Translator: Shinjo Park <[email protected]>\n"
 "Language-Team: Korean <[email protected]>\n"
 "Language: ko\n"
@@ -16,7 +16,7 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 19.04.3\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -115,7 +115,7 @@
 #: kapmanmainwindow.cpp:136
 #, kde-format
 msgid "You cheated, no Highscore for you ;)"
-msgstr "치트키를 쓸 경우 높은 점수를 얻을수 없습니다. ;)"
+msgstr "치트키를 쓸 경우 높은 점수를 얻을 수 없습니다. ;)"
 
 #: kapmanmainwindow.cpp:136
 #, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/ml/kapman.po 
new/kapman-20.04.0/po/ml/kapman.po
--- old/kapman-19.12.3/po/ml/kapman.po  2020-03-03 01:18:56.000000000 +0100
+++ new/kapman-20.04.0/po/ml/kapman.po  2020-04-17 02:31:21.000000000 +0200
@@ -8,14 +8,15 @@
 "Project-Id-Version: kapman trunk\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2019-07-28 02:50+0200\n"
-"PO-Revision-Date: 2008-12-26 15:42+0530\n"
-"Last-Translator: Abhishek Jacob <[email protected]>\n"
-"Language-Team: Malayalam <[email protected]>\n"
+"PO-Revision-Date: 2019-12-12 21:44+0000\n"
+"Last-Translator: Vivek KJ Pazhedath <[email protected]>\n"
+"Language-Team: SMC <smc.org.in>\n"
 "Language: ml\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Weblate 3.9.1\n"
 
 #, kde-format
 msgctxt "NAME OF TRANSLATORS"
@@ -25,7 +26,7 @@
 #, kde-format
 msgctxt "EMAIL OF TRANSLATORS"
 msgid "Your emails"
-msgstr "[email protected]"
+msgstr "[email protected],[email protected],[email protected]"
 
 #: gamescene.cpp:100
 #, fuzzy, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/nb/kapman.po 
new/kapman-20.04.0/po/nb/kapman.po
--- old/kapman-19.12.3/po/nb/kapman.po  2020-03-03 01:18:56.000000000 +0100
+++ new/kapman-20.04.0/po/nb/kapman.po  2020-04-17 02:31:21.000000000 +0200
@@ -8,7 +8,7 @@
 "POT-Creation-Date: 2019-07-28 02:50+0200\n"
 "PO-Revision-Date: 2012-12-11 20:05+0100\n"
 "Last-Translator: Bjørn Steensrud <[email protected]>\n"
-"Language-Team: Norwegian Bokmål <[email protected]>\n"
+"Language-Team: Norwegian Bokmål <[email protected]>\n"
 "Language: nb\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/nl/docs/kapman/index.docbook 
new/kapman-20.04.0/po/nl/docs/kapman/index.docbook
--- old/kapman-19.12.3/po/nl/docs/kapman/index.docbook  2020-03-03 
01:18:57.000000000 +0100
+++ new/kapman-20.04.0/po/nl/docs/kapman/index.docbook  2020-04-17 
02:31:22.000000000 +0200
@@ -388,9 +388,9 @@
 >Instellingen</guimenu
 > en <guimenu
 >Help</guimenu
->, voor meer informatie lees de secties over de <ulink 
url="help:/fundamentals/ui.html#menus-settings"
+>, voor meer informatie lees de secties over de <ulink 
url="help:/fundamentals/menus.html#menus-settings"
 >Menu Instellingen</ulink
-> en <ulink url="help:/fundamentals/ui.html#menus-help"
+> en <ulink url="help:/fundamentals/menus.html#menus-help"
 >Menu Help</ulink
 > van &kde;-fundamentals. </para>
 </sect1>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/nn/kapman.po 
new/kapman-20.04.0/po/nn/kapman.po
--- old/kapman-19.12.3/po/nn/kapman.po  2020-03-03 01:18:56.000000000 +0100
+++ new/kapman-20.04.0/po/nn/kapman.po  2020-04-17 02:31:21.000000000 +0200
@@ -8,7 +8,7 @@
 "POT-Creation-Date: 2019-07-28 02:50+0200\n"
 "PO-Revision-Date: 2016-01-07 20:23+0100\n"
 "Last-Translator: Karl Ove Hufthammer <[email protected]>\n"
-"Language-Team: Norwegian Nynorsk <[email protected]>\n"
+"Language-Team: Norwegian Nynorsk <[email protected]>\n"
 "Language: nn\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/pt_BR/docs/kapman/index.docbook 
new/kapman-20.04.0/po/pt_BR/docs/kapman/index.docbook
--- old/kapman-19.12.3/po/pt_BR/docs/kapman/index.docbook       2020-03-03 
01:18:58.000000000 +0100
+++ new/kapman-20.04.0/po/pt_BR/docs/kapman/index.docbook       2020-04-17 
02:31:22.000000000 +0200
@@ -1,7 +1,5 @@
 <?xml version="1.0" ?>
 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" 
"dtd/kdedbx45.dtd" [
-  <!ENTITY kappname "&kapman;">
-  <!ENTITY package "kdegames">
   <!ENTITY % addindex "IGNORE">
   <!ENTITY % Brazilian-Portuguese "INCLUDE">
 ]>
@@ -63,9 +61,9 @@
 >&FDLNotice;</legalnotice>
 
 <date
->05/05/2013</date>
+>09/05/2016</date>
 <releaseinfo
->1.0.1 (&kde; 4.11)</releaseinfo>
+>1.1.0 (Applications 16.04)</releaseinfo>
 
 <abstract>
 <para
@@ -418,9 +416,9 @@
 >Configurações</guimenu
 > e <guimenu
 >Ajuda</guimenu
->; para mais informações, leia as seções sobre o <ulink 
url="help:/fundamentals/ui.html#menus-settings"
+>; para mais informações, leia as seções sobre o <ulink 
url="help:/fundamentals/menus.html#menus-settings"
 >Menu Configurações</ulink
-> e o <ulink url="help:/fundamentals/ui.html#menus-help"
+> e o <ulink url="help:/fundamentals/menus.html#menus-help"
 >Menu Ajuda</ulink
 > dos Fundamentos do &kde;. </para>
 </sect1>
@@ -478,7 +476,8 @@
 <chapter id="faq">
 <title
 >Perguntas e respostas</title>
-&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+
+<qandaset id="faqlist">
 <qandaentry>
 <question>
 <para
@@ -582,7 +581,7 @@
 
 <chapter id="credits"
 ><title
->Créditos e licença</title>
+>Créditos e Licença</title>
 <para
 >&kapman; </para>
 <para
@@ -615,20 +614,7 @@
 > e André Marcelo Alvarenga <email
 >[email protected]</email
 ></para
-> 
-&underFDL; &underGPL; </chapter>
-
-<appendix id="installation">
-<title
->Instalação</title>
-
-&install.intro.documentation;
-
-<sect1 id="Compilation">
-<title
->Compilação e instalação</title>
-&install.compile.documentation; </sect1>
-</appendix>
+> &underFDL; &underGPL; </chapter>
 
 &documentation.index;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/sv/docs/kapman/index.docbook 
new/kapman-20.04.0/po/sv/docs/kapman/index.docbook
--- old/kapman-19.12.3/po/sv/docs/kapman/index.docbook  2020-03-03 
01:18:58.000000000 +0100
+++ new/kapman-20.04.0/po/sv/docs/kapman/index.docbook  2020-04-17 
02:31:22.000000000 +0200
@@ -402,9 +402,9 @@
 >Inställningar</guimenu
 > och <guimenu
 >Hjälp</guimenu
-> i &kde;. För mer information, läs avsnitten  <ulink 
url="help:/fundamentals/ui.html#menus-settings"
+> i &kde;. För mer information, läs avsnitten  <ulink 
url="help:/fundamentals/menus.html#menus-settings"
 >Menyn Inställningar</ulink
-> och <ulink url="help:/fundamentals/ui.html#menus-help"
+> och <ulink url="help:/fundamentals/menus.html#menus-help"
 >Menyn Hjälp</ulink
 > i &kde;:s Grunder. </para>
 </sect1>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/uk/docs/kapman/index.docbook 
new/kapman-20.04.0/po/uk/docs/kapman/index.docbook
--- old/kapman-19.12.3/po/uk/docs/kapman/index.docbook  2020-03-03 
01:18:58.000000000 +0100
+++ new/kapman-20.04.0/po/uk/docs/kapman/index.docbook  2020-04-17 
02:31:22.000000000 +0200
@@ -402,9 +402,9 @@
 >Параметри</guimenu
 > і <guimenu
 >Довідка</guimenu
->. Щоб дізнатися більше, ознайомтеся з розділами щодо <ulink 
url="help:/fundamentals/ui.html#menus-settings"
+>. Щоб дізнатися більше, ознайомтеся з розділами щодо <ulink 
url="help:/fundamentals/menus.html#menus-settings"
 >меню «Параметри»</ulink
-> та <ulink url="help:/fundamentals/ui.html#menus-help"
+> та <ulink url="help:/fundamentals/menus.html#menus-help"
 >меню «Довідка»</ulink
 > підручника з основ роботи у &kde;. </para>
 </sect1>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/po/zh_CN/kapman.po 
new/kapman-20.04.0/po/zh_CN/kapman.po
--- old/kapman-19.12.3/po/zh_CN/kapman.po       2020-03-03 01:18:57.000000000 
+0100
+++ new/kapman-20.04.0/po/zh_CN/kapman.po       2020-04-17 02:31:21.000000000 
+0200
@@ -8,7 +8,7 @@
 "Project-Id-Version: kdeorg\n"
 "Report-Msgid-Bugs-To: https://bugs.kde.org\n";
 "POT-Creation-Date: 2019-07-28 02:50+0200\n"
-"PO-Revision-Date: 2020-01-20 21:56\n"
+"PO-Revision-Date: 2020-03-25 19:57\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: Chinese Simplified\n"
 "Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kapman-19.12.3/themes/matches.desktop 
new/kapman-20.04.0/themes/matches.desktop
--- old/kapman-19.12.3/themes/matches.desktop   2020-03-01 10:42:06.000000000 
+0100
+++ new/kapman-20.04.0/themes/matches.desktop   2020-04-15 11:12:35.000000000 
+0200
@@ -71,7 +71,7 @@
 Description[ja]=マッチ棒でできた迷路
 Description[kk]=Сіріңкеден салған лабиринт
 Description[km]=ការ​ប្រកួត​គូស​ផ្លូវ​ខ្វាត់​ខ្វែង
-Description[ko]=대전을 위한 미로
+Description[ko]=대전 미로
 Description[lv]=Ar sērkociņiem uzzīmēts labirints
 Description[nb]=En labyrint tegnet med fyrstikker
 Description[nds]=En Biestergoorn ut Rietsteken


Reply via email to