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&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
