Hello community,

here is the log from the commit of package kshisen for openSUSE:Factory checked 
in at 2016-01-10 13:05:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kshisen (Old)
 and      /work/SRC/openSUSE:Factory/.kshisen.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kshisen"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kshisen/kshisen.changes  2015-11-15 
12:39:35.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kshisen.new/kshisen.changes     2016-01-10 
13:06:04.000000000 +0100
@@ -1,0 +2,9 @@
+Sun Dec 13 13:26:11 UTC 2015 - [email protected]
+
+- Update to KDE Applications 15.12.0
+   * KDE Applications 15.12.0 
+   * https://www.kde.org/announcements/announce-applications-15.12.0.php
+   * boo#958887
+
+
+-------------------------------------------------------------------

Old:
----
  kshisen-15.08.3.tar.xz

New:
----
  kshisen-15.12.0.tar.xz

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

Other differences:
------------------
++++++ kshisen.spec ++++++
--- /var/tmp/diff_new_pack.Oea3tU/_old  2016-01-10 13:06:06.000000000 +0100
+++ /var/tmp/diff_new_pack.Oea3tU/_new  2016-01-10 13:06:06.000000000 +0100
@@ -41,7 +41,7 @@
 License:        GPL-2.0+
 Group:          Amusements/Games/Board/Other
 Url:            http://www.kde.org
-Version:        15.08.3
+Version:        15.12.0
 Release:        0
 Source0:        kshisen-%{version}.tar.xz
 Obsoletes:      %{name}5 < %{version}
@@ -76,5 +76,7 @@
 %{_kf5_configkcfgdir}/
 %{_kf5_sharedir}/sounds/kshisen/
 %{_kf5_kxmlguidir}/
+%dir %_datadir/appdata
+%_datadir/appdata/org.kde.kshisen.appdata.xml
 
 %changelog

++++++ kshisen-15.08.3.tar.xz -> kshisen-15.12.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/CMakeLists.txt 
new/kshisen-15.12.0/CMakeLists.txt
--- old/kshisen-15.08.3/CMakeLists.txt  2015-07-25 19:33:52.000000000 +0200
+++ new/kshisen-15.12.0/CMakeLists.txt  2015-11-29 21:46:45.000000000 +0100
@@ -1,15 +1,15 @@
-project( kshisen )
+project(kshisen)
 
-cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR)
+cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
 
-set (QT_MIN_VERSION "5.2.0")
+set(QT_MIN_VERSION "5.2.0")
 
 find_package(ECM 1.7.0 REQUIRED NO_MODULE)
 
 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules 
${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
 
-find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Gui )
-find_package(KF5 REQUIRED COMPONENTS CoreAddons DBusAddons XmlGui Config KIO 
DNSSD NewStuff Declarative DocTools )
+find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Gui)
+find_package(KF5 REQUIRED COMPONENTS DBusAddons XmlGui Config DocTools)
 
 include(FeatureSummary)
 include(ECMAddAppIcon)
@@ -25,30 +25,34 @@
 
 find_package(KF5KMahjongglib REQUIRED)
 find_package(KF5KDEGames 4.9.0 REQUIRED)
-find_package(Phonon4Qt5 REQUIRED)
 
-add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
-add_definitions(-DTRANSLATION_DOMAIN="kshisen")
-add_definitions("-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII")
-
-add_subdirectory( src )
-add_subdirectory( sounds )
-add_subdirectory( doc )
-
-install( PROGRAMS org.kde.kshisen.desktop DESTINATION ${KDE_INSTALL_APPDIR} )
-
-ecm_install_icons( ICONS
-                   128-apps-kshisen.png
-                   64-apps-kshisen.png
-                   48-apps-kshisen.png
-                   32-apps-kshisen.png
-                   22-apps-kshisen.png
-                   16-apps-kshisen.png
-                   DESTINATION  ${KDE_INSTALL_ICONDIR}
-                   THEME hicolor   )
+add_definitions(-DQT_USE_FAST_CONCATENATION
+                -DQT_USE_FAST_OPERATOR_PLUS
+                -DQT_NO_CAST_FROM_ASCII
+                -DQT_NO_CAST_TO_ASCII
+                -DQT_NO_CAST_FROM_BYTEARRAY
+                -DQT_NO_URL_CAST_FROM_STRING
+                -DQT_USE_QSTRINGBUILDER
+                -DTRANSLATION_DOMAIN="kshisen")
+
+add_subdirectory(src)
+add_subdirectory(sounds)
+add_subdirectory(doc)
+
+install(PROGRAMS org.kde.kshisen.desktop DESTINATION ${KDE_INSTALL_APPDIR})
+install(FILES org.kde.kshisen.appdata.xml DESTINATION 
${KDE_INSTALL_METAINFODIR})
+
+ecm_install_icons(ICONS
+                  128-apps-kshisen.png
+                  64-apps-kshisen.png
+                  48-apps-kshisen.png
+                  32-apps-kshisen.png
+                  22-apps-kshisen.png
+                  16-apps-kshisen.png
+                  DESTINATION ${KDE_INSTALL_ICONDIR}
+                  THEME hicolor)
 
 ########### Display Summary ###############
 feature_summary(WHAT ALL
                 INCLUDE_QUIET_PACKAGES
                 FATAL_ON_MISSING_REQUIRED_PACKAGES)
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/doc/CMakeLists.txt 
new/kshisen-15.12.0/doc/CMakeLists.txt
--- old/kshisen-15.08.3/doc/CMakeLists.txt      2015-07-25 19:33:52.000000000 
+0200
+++ new/kshisen-15.12.0/doc/CMakeLists.txt      2015-11-29 21:46:45.000000000 
+0100
@@ -1,4 +1,2 @@
 ########### install files ###############
-#
-#
 kdoctools_create_handbook(index.docbook INSTALL_DESTINATION 
${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kshisen)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/org.kde.kshisen.appdata.xml 
new/kshisen-15.12.0/org.kde.kshisen.appdata.xml
--- old/kshisen-15.08.3/org.kde.kshisen.appdata.xml     1970-01-01 
01:00:00.000000000 +0100
+++ new/kshisen-15.12.0/org.kde.kshisen.appdata.xml     2015-11-29 
21:46:45.000000000 +0100
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component type="desktop">
+  <id>org.kde.kshisen.desktop</id>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <name>KShisen</name>
+  <name xml:lang="ca">KShisen</name>
+  <name xml:lang="ca-valencia">KShisen</name>
+  <name xml:lang="cs">KShisen</name>
+  <name xml:lang="de">KShisen</name>
+  <name xml:lang="en-GB">KShisen</name>
+  <name xml:lang="es">KShisen</name>
+  <name xml:lang="gl">KShisen</name>
+  <name xml:lang="nl">KShisen</name>
+  <name xml:lang="pl">KShisen</name>
+  <name xml:lang="pt">KShisen</name>
+  <name xml:lang="pt-BR">KShisen</name>
+  <name xml:lang="sk">KShisen</name>
+  <name xml:lang="sl">KShisen</name>
+  <name xml:lang="sr">К‑шисен</name>
+  <name xml:lang="sr-Latn">KShisen</name>
+  <name xml:lang="sr-ijekavian">К‑шисен</name>
+  <name xml:lang="sr-ijekavianlatin">KShisen</name>
+  <name xml:lang="sv">kshisen</name>
+  <name xml:lang="uk">KShisen</name>
+  <name xml:lang="x-test">xxKShisenxx</name>
+  <name xml:lang="zh-CN">KShisen</name>
+  <summary>Shisen-Sho Mahjongg-like Tile Game</summary>
+  <summary xml:lang="ca">Joc de mosaics Shisen-Sho a l'estil Mahjongg</summary>
+  <summary xml:lang="ca-valencia">Joc de mosaics Shisen-Sho a l'estil 
Mahjongg</summary>
+  <summary xml:lang="cs">Hra s dlaždicemi Šisen-Šo</summary>
+  <summary xml:lang="de">Spiel mit Mahjongg-Spielsteinen</summary>
+  <summary xml:lang="en-GB">Shisen-Sho Mahjongg-like Tile Game</summary>
+  <summary xml:lang="es">Juego de fichas similar al Shisen-Sho 
Mahjongg</summary>
+  <summary xml:lang="gl">Xogo de fichas Shisen-so ao estilo do 
Mahjongg</summary>
+  <summary xml:lang="nl">Shisen-Sho Mahjongg-achtig stenenspel</summary>
+  <summary xml:lang="pl">Gra typu Shisen-Sho Mahjongg</summary>
+  <summary xml:lang="pt">Jogo de Peças à Mahjongg Shisen-Sho</summary>
+  <summary xml:lang="pt-BR">Jogo de peças parecido com Shisen-Sho 
Mahjongg</summary>
+  <summary xml:lang="sk">Hra typu Shisen-Sho Mahjongg</summary>
+  <summary xml:lang="sl">Igra s ploščicami Shisen-Sho, podobna 
Mahjonggu</summary>
+  <summary xml:lang="sr">Игра с плочицама попут маџонга</summary>
+  <summary xml:lang="sr-Latn">Igra s pločicama poput madžonga</summary>
+  <summary xml:lang="sr-ijekavian">Игра с плочицама попут маџонга</summary>
+  <summary xml:lang="sr-ijekavianlatin">Igra s pločicama poput 
madžonga</summary>
+  <summary xml:lang="sv">Shisen-Sho Mahjongg-liknande brickspel</summary>
+  <summary xml:lang="uk">Шісен-шо, схожа на маджонґ гра з плитками</summary>
+  <summary xml:lang="x-test">xxShisen-Sho Mahjongg-like Tile Gamexx</summary>
+  <summary xml:lang="zh-CN">类似连连看的麻将游戏</summary>
+  <description>
+    <p>
+      KShisen is a solitaire-like game played using the standard set of 
Mahjong tiles. Unlike Mahjong however, KShisen has only one layer of scrambled 
tiles.
+    </p>
+    <p xml:lang="ca">El KShisen és un joc de tipus solitari que es juga usant 
el conjunt de fitxers estàndard del Mahjong. A diferència del Mahjong, el 
KShisen només té una capa de fitxes barrejades.</p>
+    <p xml:lang="ca-valencia">El KShisen és un joc de tipus solitari que es 
juga usant el conjunt de fitxers estàndard del Mahjong. A diferència del 
Mahjong, el KShisen només té una capa de fitxes barrejades.</p>
+    <p xml:lang="en-GB">KShisen is a solitaire-like game played using the 
standard set of Mahjong tiles. Unlike Mahjong however, KShisen has only one 
layer of scrambled tiles.</p>
+    <p xml:lang="es">KShisen es un juego de solitario que se juega usando las 
fichas típicas del Mahjong. Al contrario del Mahjong, KShisen solo tiene una 
capa de fichas barajadas.</p>
+    <p xml:lang="gl">O KShisen é un xogo similar ao solitario que se xoga 
usando as pezas estándar do Mahjong. Porén, a diferenza do Mahjong, o KShisen 
ten unicamente unha capa de pezas desordenadas.</p>
+    <p xml:lang="nl">KShisen is een solitaire-achtig spel dat wordt gespeeld 
met de standaard set Mahjong stenen. Anders dan Mahjong heeft KShisen slechts 
één laag door elkaar gehaalde stenen.</p>
+    <p xml:lang="pl">KShisen jest grą typu pasjans z standardowym zestawem 
kamieni Mahjong. W odróżnieniu od Mahjonga, KShisen ma tylko jedną warstwę 
rozrzuconych kamieni.</p>
+    <p xml:lang="pt">O KShisen é um jogo solitário, jogando com um 
conjunto-padrão de peças do Mahjong. Ao contrário do Mahjong, contudo, o 
KShisen só tem uma camada de peças baralhadas.</p>
+    <p xml:lang="pt-BR">KShisen é um jogo solitário, jogado com um conjunto 
padrão de peças do Mahjong. Ao contrário do Mahjong, o KShisen tem apenas uma 
camada de peças embaralhadas.</p>
+    <p xml:lang="sk">KShinsen je hra podobná Solitaire, ktorá sa hrá so 
štandardnou sadou Mahjong. Na rozdiel od Mahjong má iba jednu vrstvu 
zamiešaných kariet.</p>
+    <p xml:lang="sl">KShisen je pasjansi podobna igra, ki uporablja običajni 
nabor ploščic Mahjonga. Za razliko od Mahjonga pa ima KShisen le eno plast 
pomešanih ploščic.</p>
+    <p xml:lang="sr">К‑шисен је игра налик на пасијанс са стандардним скупом 
маџонг плочица. За разлику од маџонга, К‑шисен има само један слој измешаних 
плочица.</p>
+    <p xml:lang="sr-Latn">KShisen je igra nalik na pasijans sa standardnim 
skupom madžong pločica. Za razliku od madžonga, KShisen ima samo jedan sloj 
izmešanih pločica.</p>
+    <p xml:lang="sr-ijekavian">К‑шисен је игра налик на пасијанс са 
стандардним скупом маџонг плочица. За разлику од маџонга, К‑шисен има само 
један слој измешаних плочица.</p>
+    <p xml:lang="sr-ijekavianlatin">KShisen je igra nalik na pasijans sa 
standardnim skupom madžong pločica. Za razliku od madžonga, KShisen ima samo 
jedan sloj izmešanih pločica.</p>
+    <p xml:lang="sv">Ksisen är ett patiensliknande spel som spelas med den 
vanliga uppsättningen Mahjong-brickor. I motsats till Mahjong har Kshisen dock 
bara ett lager med blandade brickor.</p>
+    <p xml:lang="uk">KShisen — гра, подібна до пасьянсу, у якій 
використовуються плитки маджонґа. Втім, на відміну від класичної гри у маджонґ, 
у KShisen ви матимете справу лише з одним шаром плиток.</p>
+    <p xml:lang="x-test">xxKShisen is a solitaire-like game played using the 
standard set of Mahjong tiles. Unlike Mahjong however, KShisen has only one 
layer of scrambled tiles.xx</p>
+    <p xml:lang="zh-CN">KShisen 是一个使用麻将牌的类牌游戏。和麻将配对不同的是,KShisen 只有一层打乱的牌。</p>
+  </description>
+  <url type="homepage">http://games.kde.org/game.php?game=kshisen</url>
+  <url 
type="bugtracker">https://bugs.kde.org/enter_bug.cgi?format=guided&amp;product=kshisen</url>
+  <url 
type="help">http://docs.kde.org/stable/en/kdegames/kshisen/index.html</url>
+  <screenshots>
+    <screenshot type="default">
+      <image>http://kde.org/images/screenshots/kshisen.png</image>
+    </screenshot>
+  </screenshots>
+  <project_group>KDE</project_group>
+  <provides>
+    <binary>kshisen</binary>
+  </provides>
+</component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/sounds/CMakeLists.txt 
new/kshisen-15.12.0/sounds/CMakeLists.txt
--- old/kshisen-15.08.3/sounds/CMakeLists.txt   2015-07-25 19:33:52.000000000 
+0200
+++ new/kshisen-15.12.0/sounds/CMakeLists.txt   2015-11-29 21:46:45.000000000 
+0100
@@ -1,5 +1,3 @@
-project( kshisen )
+file(GLOB sounds_ogg "*.ogg")
 
-file( GLOB sounds_ogg "*.ogg" )
-
-install( FILES ${sounds_ogg} DESTINATION ${KDE_INSTALL_SOUNDDIR}/kshisen )
+install(FILES ${sounds_ogg} DESTINATION ${KDE_INSTALL_SOUNDDIR}/kshisen)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/src/CMakeLists.txt 
new/kshisen-15.12.0/src/CMakeLists.txt
--- old/kshisen-15.08.3/src/CMakeLists.txt      2015-07-25 19:33:52.000000000 
+0200
+++ new/kshisen-15.12.0/src/CMakeLists.txt      2015-11-29 21:46:45.000000000 
+0100
@@ -1,27 +1,26 @@
-project( kshisen )
+set(kshisen_SRCS
+    main.cpp
+    board.cpp
+    app.cpp
+    kshisen_debug.cpp)
+
+ki18n_wrap_ui(kshisen_SRCS settings.ui)
+
+kconfig_add_kcfg_files(kshisen_SRCS prefs.kcfgc)
+
+add_executable(kshisen ${kshisen_SRCS})
+
+target_link_libraries(kshisen
+                      Qt5::Gui
+                      KF5::XmlGui
+                      KF5::I18n
+                      KF5KDEGames
+                      KF5KDEGamesPrivate
+                      KF5KMahjongglib
+                      KF5::DBusAddons)
 
-set( kshisen_SRCS
-     main.cpp
-     board.cpp
-     app.cpp
-     kshisen_debug.cpp
-     )
+install(TARGETS kshisen ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
 
-ki18n_wrap_ui( kshisen_SRCS
-    settings.ui
-    )
-
-kconfig_add_kcfg_files( kshisen_SRCS prefs.kcfgc )
-
-add_executable( kshisen ${kshisen_SRCS} )
-
-include_directories(${PHONON_INCLUDES})
-
-target_link_libraries(kshisen Qt5::Gui KF5::CoreAddons KF5::KIOWidgets 
KF5::DNSSD Phonon::phonon4qt5 
-                              KF5::XmlGui KF5::I18n KF5KDEGames 
KF5KDEGamesPrivate KF5KMahjongglib KF5::DBusAddons)
-
-install( TARGETS kshisen ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} )
-
-install( FILES kshisen.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR} )
-install( FILES kshisenui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/kshisen )
+install(FILES kshisen.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR})
+install(FILES kshisenui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/kshisen)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/src/app.cpp 
new/kshisen-15.12.0/src/app.cpp
--- old/kshisen-15.08.3/src/app.cpp     2015-07-25 19:33:52.000000000 +0200
+++ new/kshisen-15.12.0/src/app.cpp     2015-11-29 21:46:45.000000000 +0100
@@ -23,6 +23,7 @@
 #include "board.h"
 #include "prefs.h"
 #include "ui_settings.h"
+#include "kshisen_debug.h"
 
 #include <kmahjonggconfigdialog.h>
 #include <highscore/kscoredialog.h>
@@ -31,7 +32,6 @@
 #include <kactioncollection.h>
 #include <kconfig.h>
 #include <kconfigdialog.h>
-#include <QIcon>
 #include <klineedit.h>
 #include <KLocalizedString>
 #include <kmessagebox.h>
@@ -39,10 +39,11 @@
 #include <kshortcutsdialog.h>
 #include <kstandardaction.h>
 #include <kstandardguiitem.h>
-#include <qstatusbar.h>
 #include <ktoggleaction.h>
 
-#include "kshisen_debug.h"
+#include <QIcon>
+#include <QPointer>
+#include <QStatusBar>
 #include <QTimer>
 
 #include <cmath>
@@ -62,14 +63,14 @@
 
 App::App(QWidget *parent)
     : KXmlGuiWindow(parent),
-      m_gameTipLabel(0),
-      m_gameTimerLabel(0),
-      m_gameTilesLabel(0),
-      m_gameCheatLabel(0),
-      m_board(0)
+      m_gameTipLabel(nullptr),
+      m_gameTimerLabel(nullptr),
+      m_gameTilesLabel(nullptr),
+      m_gameCheatLabel(nullptr),
+      m_board(nullptr)
 {
     m_board = new Board(this);
-    m_board->setObjectName(QLatin1String("board"));
+    m_board->setObjectName(QStringLiteral("board"));
 
     setCentralWidget(m_board);
 
@@ -111,9 +112,9 @@
     KStandardGameAction::redo(this, SLOT(redo()), actionCollection());
     KStandardGameAction::hint(this, SLOT(hint()), actionCollection());
 
-    KToggleAction *soundAction = new 
KToggleAction(QIcon::fromTheme(QLatin1String("speaker")), i18n("Play Sounds"), 
this);
+    KToggleAction *soundAction = new 
KToggleAction(QIcon::fromTheme(QStringLiteral("speaker")), i18n("Play Sounds"), 
this);
     soundAction->setChecked(Prefs::sounds());
-    actionCollection()->addAction(QLatin1String("sounds"), soundAction);
+    actionCollection()->addAction(QStringLiteral("sounds"), soundAction);
     connect(soundAction, &KToggleAction::triggered, m_board, 
&Board::setSoundsEnabled);
 
     // Settings
@@ -127,6 +128,7 @@
     connect(m_board, &Board::selectAMatchingTile, this, 
&App::notifySelectAMatchingTile);
     connect(m_board, &Board::selectAMove, this, &App::notifySelectAMove);
 
+    // TODO: Use QElapsedTime?
     QTimer *timer = new QTimer(this);
     connect(timer, &QTimer::timeout, this, &App::updateTimeDisplay);
     timer->start(1000);
@@ -246,24 +248,24 @@
         scoreInfo[KScoreDialog::Score].setNum(score(m_board->xTiles(), 
m_board->yTiles(), m_board->currentTime(), m_board->gravityFlag()));
         scoreInfo[KScoreDialog::Time] = timeString;
 
-        KScoreDialog scoreDialog(KScoreDialog::Name | KScoreDialog::Time | 
KScoreDialog::Score, this);
-        scoreDialog.addField(KScoreDialog::Custom1, i18n("Gravity"), 
QLatin1Literal("gravity"));
+        QPointer<KScoreDialog> scoreDialog = new 
KScoreDialog(KScoreDialog::Name | KScoreDialog::Time | KScoreDialog::Score, 
this);
+        scoreDialog->addField(KScoreDialog::Custom1, i18n("Gravity"), 
QStringLiteral("gravity"));
         // FIXME: This is bad, because the translated words are stored in the 
highscores and thus switching the language makes ugly things (schwarzer)
         if (m_board->gravityFlag()) {
             scoreInfo[KScoreDialog::Custom1] = i18n("Yes");
         } else {
             scoreInfo[KScoreDialog::Custom1] = i18n("No");
         }
-        
scoreDialog.setConfigGroup(QString::fromLatin1("%1x%2").arg(sizeX[Prefs::size()]).arg(sizeY[Prefs::size()]));
+        
scoreDialog->setConfigGroup(QStringLiteral("%1x%2").arg(sizeX[Prefs::size()]).arg(sizeY[Prefs::size()]));
 
         if (m_board->hasCheated()) {
             QString message = i18n("\nYou could have been in the 
highscores\nif you did not use Undo or Hint.\nTry without them next time.");
             KMessageBox::information(this, message, i18n("End of Game"));
         } else {
-            if (scoreDialog.addScore(scoreInfo) > 0) {
+            if (scoreDialog->addScore(scoreInfo) > 0) {
                 QString message = i18n("Congratulations!\nYou made it into the 
hall of fame.");
-                scoreDialog.setComment(message);
-                scoreDialog.exec();
+                scoreDialog->setComment(message);
+                scoreDialog->exec();
             } else {
                 QString message = i18nc("%1 - time string like hh:mm:ss", "You 
made it in %1", timeString);
                 KMessageBox::information(this, message, i18n("End of Game"));
@@ -355,7 +357,7 @@
 void App::showHighscores()
 {
     KScoreDialog scoreDialog(KScoreDialog::Name | KScoreDialog::Time, this);
-    scoreDialog.addField(KScoreDialog::Custom1, i18n("Gravity"), 
QLatin1Literal("gravity"));
+    scoreDialog.addField(KScoreDialog::Custom1, i18n("Gravity"), 
QStringLiteral("gravity"));
     scoreDialog.exec();
 }
 
@@ -366,13 +368,13 @@
 
 void App::showSettingsDialog()
 {
-    if (KConfigDialog::showDialog(QLatin1Literal("settings"))) {
+    if (KConfigDialog::showDialog(QStringLiteral("settings"))) {
         return;
     }
 
     //Use the classes exposed by LibKmahjongg for our configuration dialog
-    KMahjonggConfigDialog *dialog = new KMahjonggConfigDialog(this, 
QLatin1Literal("settings"), Prefs::self());
-    dialog->addPage(new Settings(0), i18n("General"), 
QLatin1Literal("games-config-options"));
+    KMahjonggConfigDialog *dialog = new KMahjonggConfigDialog(this, 
QStringLiteral("settings"), Prefs::self());
+    dialog->addPage(new Settings(0), i18n("General"), 
QStringLiteral("games-config-options"));
     dialog->addTilesetPage();
     dialog->addBackgroundPage();
     //dialog->setHelp(QString(), "kshisen");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/src/board.cpp 
new/kshisen-15.12.0/src/board.cpp
--- old/kshisen-15.08.3/src/board.cpp   2015-07-25 19:33:52.000000000 +0200
+++ new/kshisen-15.12.0/src/board.cpp   2015-11-29 21:46:45.000000000 +0100
@@ -47,9 +47,9 @@
     }
     qCDebug(KSHISEN_LOG) << "isInPath:" << x << "," << y;
     Debug();
-    QList<Position>::const_iterator iter;
+
     // a path has at least 2 positions
-    iter = m_path.constBegin();
+    auto iter = m_path.constBegin();
     int pathX = iter->x;
     int pathY = iter->y;
     ++iter;
@@ -69,15 +69,15 @@
 Board::Board(QWidget *parent)
     : QWidget(parent),
       m_markX(0), m_markY(0),
-      m_field(0),
+      m_field(nullptr),
       m_xTiles(0), m_yTiles(0),
       m_delay(0), m_level(0), m_shuffle(0),
-      m_gameState(Normal), m_cheat(false),
+      m_gameState(GameState::Normal), m_cheat(false),
       m_gravityFlag(true), m_solvableFlag(false), m_chineseStyleFlag(false), 
m_tilesCanSlideFlag(false),
       m_highlightedTile(-1),
       m_paintConnection(false), m_paintPossibleMoves(false), 
m_paintInProgress(false),
-      m_soundPick(QStandardPaths::locate(QStandardPaths::GenericDataLocation, 
QLatin1String("sounds/kshisen/tile-touch.ogg"))),
-      m_soundFall(QStandardPaths::locate(QStandardPaths::GenericDataLocation, 
QLatin1String("sounds/kshisen/tile-fall-tile.ogg")))
+      m_soundPick(QStandardPaths::locate(QStandardPaths::GenericDataLocation, 
QStringLiteral("sounds/kshisen/tile-touch.ogg"))),
+      m_soundFall(QStandardPaths::locate(QStandardPaths::GenericDataLocation, 
QStringLiteral("sounds/kshisen/tile-fall-tile.ogg")))
 {
     m_tileRemove1.first = -1;
 
@@ -287,15 +287,15 @@
         return;
     }
     switch (m_gameState) {
-        case Normal:
+        case GameState::Normal:
             break;
-        case Over:
+        case GameState::Over:
             newGame();
             return;
-        case Paused:
+        case GameState::Paused:
             setPauseEnabled(false);
             return;
-        case Stuck:
+        case GameState::Stuck:
             return;
     }
     // Calculate field position
@@ -398,7 +398,7 @@
     int w = qRound(m_tiles.qWidth() * 2.0 * MINIMUM_SCALE) * xTiles();
     int h = qRound(m_tiles.qHeight() * 2.0 * MINIMUM_SCALE) * yTiles();
     w += m_tiles.width();
-    h += m_tiles.width();
+    h += m_tiles.height();
 
     setMinimumSize(w, h);
 
@@ -433,7 +433,7 @@
 
 void Board::newGame()
 {
-    m_gameState = Normal;
+    m_gameState = GameState::Normal;
     setCheatModeEnabled(false);
 
     m_markX = -1;
@@ -681,17 +681,17 @@
     p.fillRect(ur, m_background.getBackground());
 
     switch (m_gameState) {
-        case Normal:
+        case GameState::Normal:
             drawTiles(p, e);
             break;
-        case Paused:
+        case GameState::Paused:
             showInfoRect(p, i18n("Game Paused\nClick to resume game."));
             break;
-        case Stuck:
+        case GameState::Stuck:
             drawTiles(p, e);
             showInfoRect(p, i18n("Game Stuck\nNo more moves possible."));
             break;
-        case Over:
+        case GameState::Over:
             showInfoRect(p, i18n("Game Over\nClick to start a new game."));
             break;
     }
@@ -699,23 +699,23 @@
     if (m_paintConnection) {
         p.setPen(QPen(QColor("red"), lineWidth()));
 
-        Path::const_iterator pt1 = m_connection.constBegin();
-        Path::const_iterator pt2 = pt1 + 1;
+        auto pt1 = m_connection.constBegin();
+        auto pt2 = pt1 + 1;
         while (pt2 != m_connection.constEnd()) {
             p.drawLine(midCoord(pt1->x, pt1->y), midCoord(pt2->x, pt2->y));
             ++pt1;
             ++pt2;
         }
-        QTimer::singleShot(delay(), this, SLOT(undrawConnection()));
+        QTimer::singleShot(delay(), this, &Board::undrawConnection);
         m_paintConnection = false;
     }
     if (m_paintPossibleMoves) {
         p.setPen(QPen(QColor("blue"), lineWidth()));
         // paint all possible moves
-        for (QList<PossibleMove>::const_iterator iter = 
m_possibleMoves.constBegin(); iter != m_possibleMoves.constEnd(); ++iter) {
-            Path::const_iterator pt1 = iter->m_path.constBegin();
-            Path::const_iterator pt2 = pt1 + 1;
-            while (pt2 != iter->m_path.constEnd()) {
+        for (auto const move : m_possibleMoves) {
+            auto pt1 = move.m_path.constBegin();
+            auto pt2 = pt1 + 1;
+            while (pt2 != move.m_path.constEnd()) {
                 p.drawLine(midCoord(pt1->x, pt1->y), midCoord(pt2->x, pt2->y));
                 ++pt1;
                 ++pt2;
@@ -923,9 +923,9 @@
 {
     if (field(x, y) == EMPTY) { // click on empty space on the board
         if (m_possibleMoves.count() > 1) {  // if the click is on any of the 
current possible moves, make that move
-            for (QList<PossibleMove>::iterator iter = m_possibleMoves.begin(); 
iter != m_possibleMoves.end(); ++iter) {
-                if (iter->isInPath(x, y)) {
-                    performMove(*iter);
+            for (auto move : m_possibleMoves) {
+                if (move.isInPath(x, y)) {
+                    performMove(move);
                     emit selectATile();
                     return;
                 }
@@ -960,9 +960,9 @@
         return;
     } else if (m_possibleMoves.count() > 1) {  // if the click is on any of 
the current possible moves, make that move
 
-        for (QList<PossibleMove>::iterator iter = m_possibleMoves.begin(); 
iter != m_possibleMoves.end(); ++iter) {
-            if (iter->isInPath(x, y)) {
-                performMove(*iter);
+        for (auto move : m_possibleMoves) {
+            if (move.isInPath(x, y)) {
+                performMove(move);
                 emit selectATile();
                 return;
             }
@@ -983,9 +983,9 @@
     if (findPath(m_markX, m_markY, x, y, m_possibleMoves) > 0) {
         if (m_possibleMoves.count() > 1) {
             int withSlide = 0;
-            for (QList<PossibleMove>::const_iterator iter = 
m_possibleMoves.constBegin(); iter != m_possibleMoves.constEnd(); ++iter) {
-                iter->Debug();
-                if (iter->m_hasSlide) {
+            for (auto const move : m_possibleMoves) {
+                move.Debug();
+                if (move.m_hasSlide) {
                     ++withSlide;
                 }
             }
@@ -1370,8 +1370,8 @@
     m_connection.clear();
     m_paintConnection = false;
 
-    Path::const_iterator pt1 = oldConnection.constBegin();
-    Path::const_iterator pt2 = pt1 + 1;
+    auto pt1 = oldConnection.constBegin();
+    auto pt2 = pt1 + 1;
     while (pt2 != oldConnection.constEnd()) {
         if (pt1->y == pt2->y) {
             for (int i = qMin(pt1->x, pt2->x); i <= qMax(pt1->x, pt2->x); ++i) 
{
@@ -1737,9 +1737,9 @@
         for (int x = 0; x < xTiles(); ++x) {
             int tile = field(x, y);
             if (tile == EMPTY) {
-                row += " --";
+                row += QLatin1String(" --");
             } else {
-                row += QString("%1").arg(tile, 3);
+                row += QString(QLatin1String("%1")).arg(tile, 3);
             }
         }
         qCDebug(KSHISEN_LOG) << row;
@@ -1754,9 +1754,9 @@
         for (int x = 0; x < xTiles(); ++x) {
             int tile = board[y * xTiles() + x];
             if (tile == EMPTY) {
-                row += " --";
+                row += QLatin1String(" --");
             } else {
-                row += QString("%1").arg(tile, 3);
+                row += QString(QLatin1String("%1")).arg(tile, 3);
             }
         }
         qCDebug(KSHISEN_LOG) << row;
@@ -1916,14 +1916,14 @@
 
 void Board::setPauseEnabled(bool enabled)
 {
-    if ((m_gameState == Paused && enabled) || m_gameState == Stuck) {
+    if ((m_gameState == GameState::Paused && enabled) || m_gameState == 
GameState::Stuck) {
         return;
     }
     if (enabled) {
-        m_gameState = Paused;
+        m_gameState = GameState::Paused;
         m_gameClock.pause();
     } else {
-        m_gameState = Normal;
+        m_gameState = GameState::Normal;
         m_gameClock.resume();
     }
     emit changed();
@@ -1964,14 +1964,14 @@
 
 void Board::setGameStuckEnabled(bool enabled)
 {
-    if (m_gameState == Stuck && enabled) {
+    if (m_gameState == GameState::Stuck && enabled) {
         return;
     }
     if (enabled) {
-        m_gameState = Stuck;
+        m_gameState = GameState::Stuck;
         m_gameClock.pause();
     } else {
-        m_gameState = Normal;
+        m_gameState = GameState::Normal;
         m_gameClock.resume();
     }
     emit changed();
@@ -1980,10 +1980,10 @@
 
 void Board::setGameOverEnabled(bool enabled)
 {
-    if (m_gameState == Over && enabled) {
+    if (m_gameState == GameState::Over && enabled) {
         return;
     }
-    m_gameState = Over;
+    m_gameState = GameState::Over;
     emit changed();
     update();
 }
@@ -1999,17 +1999,17 @@
 
 bool Board::isOver() const
 {
-    return m_gameState == Over;
+    return m_gameState == GameState::Over;
 }
 
 bool Board::isPaused() const
 {
-    return m_gameState == Paused;
+    return m_gameState == GameState::Paused;
 }
 
 bool Board::isStuck() const
 {
-    return m_gameState == Stuck;
+    return m_gameState == GameState::Stuck;
 }
 
 bool Board::hasCheated() const
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/src/board.h 
new/kshisen-15.12.0/src/board.h
--- old/kshisen-15.08.3/src/board.h     2015-07-25 19:33:52.000000000 +0200
+++ new/kshisen-15.12.0/src/board.h     2015-11-29 21:46:45.000000000 +0100
@@ -39,8 +39,6 @@
 #include <QSize>
 #include <QWidget>
 
-#include <phonon/mediaobject.h>
-
 // used in board.cpp and app.cpp, thus defined here
 static int sizeX[6] = {14, 16, 18, 24, 26, 30};
 static int sizeY[6] = { 6,  9,  8, 12, 14, 16};
@@ -71,7 +69,7 @@
 class PossibleMove
 {
 public:
-    PossibleMove(Path &path) :
+    explicit PossibleMove(Path &path) :
         m_path(path), m_hasSlide(false) { }
     PossibleMove(Path &path, Path &slide) :
         m_path(path), m_hasSlide(true), m_slide(slide) { }
@@ -80,14 +78,14 @@
 
     void Debug() const {
         qCDebug(KSHISEN_LOG) << "PossibleMove";
-        QList<Position>::const_iterator iter;
-        for (iter = m_path.constBegin(); iter != m_path.constEnd(); ++iter) {
+
+        for (auto iter = m_path.constBegin(); iter != m_path.constEnd(); 
++iter) {
             qCDebug(KSHISEN_LOG) << "    Path:" << iter->x << "," << iter->y;
         }
 
         if (m_hasSlide) {
             qCDebug(KSHISEN_LOG) << "   hasSlide";
-            for (iter = m_slide.constBegin(); iter != m_slide.constEnd(); 
++iter) {
+            for (auto iter = m_slide.constBegin(); iter != m_slide.constEnd(); 
++iter) {
                 qCDebug(KSHISEN_LOG) << "    Slide:" << iter->x << "," << 
iter->y;
             }
         }
@@ -369,7 +367,7 @@
     int m_level;
     int m_shuffle;
 
-    enum GameState { Normal, Paused, Stuck, Over }; ///< Whether game is 
paused, has no more matching tiles or is over
+    enum class GameState { Normal, Paused, Stuck, Over }; ///< Whether game is 
paused, has no more matching tiles or is over
     GameState m_gameState;
     bool m_cheat; ///< Whether the cheat mode is set
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/src/commit.h 
new/kshisen-15.12.0/src/commit.h
--- old/kshisen-15.08.3/src/commit.h    2015-07-25 19:33:52.000000000 +0200
+++ new/kshisen-15.12.0/src/commit.h    1970-01-01 01:00:00.000000000 +0100
@@ -1,23 +0,0 @@
-/***************************************************************************
- *   KShisen - A japanese game similar to mahjongg                         *
- *   Copyright 2010  Frederik Schwarzer <[email protected]>                *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   GNU General Public License for more details.                          *
- *                                                                         *
- *   You should have received a copy of the GNU General Public License     *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
- ***************************************************************************/
-
-// The COMMIT number is only used in trunk and should be increased every few 
commits, if things changed.
-#ifndef KSHISEN_COMMIT
-#define KSHISEN_COMMIT "14"
-
-#endif //KSHISEN_COMMIT
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/src/main.cpp 
new/kshisen-15.12.0/src/main.cpp
--- old/kshisen-15.08.3/src/main.cpp    2015-07-25 19:33:52.000000000 +0200
+++ new/kshisen-15.12.0/src/main.cpp    2015-11-29 21:46:45.000000000 +0100
@@ -19,7 +19,6 @@
  ***************************************************************************/
 
 #include "app.h"
-#include "commit.h"
 #include "version.h"
 
 #include <KAboutData>
@@ -29,7 +28,6 @@
 #include <QApplication>
 #include <KLocalizedString>
 #include <KDBusService>
-#include <QCommandLineParser>
 
 static const char description[] = I18N_NOOP("A KDE game similar to Mahjongg");
 
@@ -38,25 +36,21 @@
     QApplication a(argc, argv);
 
     // Migrate pre-existing (4.x) configuration
-    QStringList configFiles;
-    configFiles.append(QLatin1String("kshisenrc"));
-    configFiles.append(QLatin1String("kshisen.notifyrc"));
-
-    Kdelibs4ConfigMigrator migrate(QLatin1String("kshisen"));
-    migrate.setConfigFiles(configFiles);
-    migrate.setUiFiles(QStringList() << QLatin1String("kshisenui.rc"));
+    Kdelibs4ConfigMigrator migrate(QStringLiteral("kshisen"));
+    migrate.setConfigFiles(QStringList() << QStringLiteral("kshisenrc"));
+    migrate.setUiFiles(QStringList() << QStringLiteral("kshisenui.rc"));
     migrate.migrate();
 
-
-    KAboutData aboutData(QLatin1Literal("kshisen"), i18n("Shisen-Sho"),
-                         QLatin1String(KSHISEN_VERSION " #" KSHISEN_COMMIT), 
i18n(description), KAboutLicense::GPL,
+    KLocalizedString::setApplicationDomain("kshisen");
+    KAboutData aboutData(QStringLiteral("kshisen"), i18n("Shisen-Sho"),
+                         QStringLiteral(KSHISEN_VERSION), i18n(description), 
KAboutLicense::GPL,
                          i18n("(c) 1997, Mario Weilguni")); 
-    aboutData.setHomepage(QLatin1Literal("http://games.kde.org/kshisen";));
-    aboutData.addAuthor(i18n("Frederik Schwarzer"), i18n("Current 
Maintainer"), QLatin1Literal("[email protected]"));
-    aboutData.addAuthor(i18n("Dave Corrie"), i18n("Former Maintainer"), 
QLatin1Literal("[email protected]"));
-    aboutData.addAuthor(i18n("Mario Weilguni"), i18n("Original Author"), 
QLatin1Literal("[email protected]"));
-    aboutData.addCredit(i18n("Mauricio Piacentini"), i18n("KMahjonggLib 
integration for KDE4"), QLatin1Literal("[email protected]"));
-    aboutData.addCredit(i18n("Jason Lane"), i18n("Added 'tiles removed' 
counter<br/>Tile smooth-scaling and window resizing"), 
QLatin1Literal("[email protected]"));
+    aboutData.setHomepage(QStringLiteral("http://games.kde.org/kshisen";));
+    aboutData.addAuthor(i18n("Frederik Schwarzer"), i18n("Current 
Maintainer"), QStringLiteral("[email protected]"));
+    aboutData.addAuthor(i18n("Dave Corrie"), i18n("Former Maintainer"), 
QStringLiteral("[email protected]"));
+    aboutData.addAuthor(i18n("Mario Weilguni"), i18n("Original Author"), 
QStringLiteral("[email protected]"));
+    aboutData.addCredit(i18n("Mauricio Piacentini"), i18n("KMahjonggLib 
integration for KDE4"), QStringLiteral("[email protected]"));
+    aboutData.addCredit(i18n("Jason Lane"), i18n("Added 'tiles removed' 
counter<br/>Tile smooth-scaling and window resizing"), 
QStringLiteral("[email protected]"));
     aboutData.addCredit(i18n("Thanks also to everyone who should be listed 
here but is not!"));
     QCommandLineParser parser;
     KAboutData::setApplicationData(aboutData);
@@ -66,7 +60,7 @@
     parser.process(a);
     aboutData.processCommandLine(&parser);
 
-    a.setWindowIcon(QIcon::fromTheme(QLatin1String("kshisen")));
+    a.setWindowIcon(QIcon::fromTheme(QStringLiteral("kshisen")));
 
     KDBusService service;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kshisen-15.08.3/src/version.h 
new/kshisen-15.12.0/src/version.h
--- old/kshisen-15.08.3/src/version.h   2015-07-25 19:33:52.000000000 +0200
+++ new/kshisen-15.12.0/src/version.h   2015-11-29 21:46:45.000000000 +0100
@@ -1,3 +1,21 @@
+/***************************************************************************
+ *   KShisen - A japanese game similar to mahjongg                         *
+ *   Copyright 2010  Frederik Schwarzer <[email protected]>                *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
+ ***************************************************************************/
+
 // Version numbers are of the form: MAJOR.MINOR.MICRO
 // The MAJOR number should only be incremented when really major changes occur.
 // The MINOR number is increased to a release if new features were added.
@@ -23,5 +41,5 @@
 //            - trunk version is "1.9+ #13"
 
 #ifndef KSHISEN_VERSION
-#define KSHISEN_VERSION "1.8+"
+#define KSHISEN_VERSION "1.9.0"
 #endif // KSHISEN_VERSION


Reply via email to