Hello community, here is the log from the commit of package bovo for openSUSE:Factory checked in at 2015-05-11 17:25:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bovo (Old) and /work/SRC/openSUSE:Factory/.bovo.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bovo" Changes: -------- --- /work/SRC/openSUSE:Factory/bovo/bovo.changes 2015-03-11 09:43:54.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.bovo.new/bovo.changes 2015-05-11 17:25:23.000000000 +0200 @@ -1,0 +2,22 @@ +Sat Apr 11 12:39:53 UTC 2015 - [email protected] + +- Update to KDE Applications 15.04.0 + * KDE Applications 15.04.0 + * https://www.kde.org/announcements/announce-applications-15.04.0.php + + +------------------------------------------------------------------- +Sat Mar 21 17:16:14 UTC 2015 - [email protected] + +- Update to KDE Applications 15.03.95 + * KDE Applications 15.04 RC + + +------------------------------------------------------------------- +Sun Mar 8 12:34:35 UTC 2015 - [email protected] + +- Update to KDE Applications 15.03.80 + * KDE Applications 15.04 Beta + + +------------------------------------------------------------------- Old: ---- bovo-14.12.3.tar.xz New: ---- bovo-15.04.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bovo.spec ++++++ --- /var/tmp/diff_new_pack.czluCe/_old 2015-05-11 17:25:24.000000000 +0200 +++ /var/tmp/diff_new_pack.czluCe/_new 2015-05-11 17:25:24.000000000 +0200 @@ -17,17 +17,32 @@ Name: bovo +BuildRequires: extra-cmake-modules +BuildRequires: kconfig-devel +BuildRequires: kcoreaddons-devel +BuildRequires: kdeclarative-devel +BuildRequires: kdelibs4support-devel +BuildRequires: knewstuff-devel +BuildRequires: kxmlgui-devel BuildRequires: libkdegames-devel BuildRequires: xz +BuildRequires: pkgconfig(Qt5Concurrent) +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5Qml) +BuildRequires: pkgconfig(Qt5Quick) +BuildRequires: pkgconfig(Qt5QuickWidgets) +BuildRequires: pkgconfig(Qt5Svg) +BuildRequires: pkgconfig(Qt5Widgets) Summary: Five-in-a-row Board Game License: GPL-2.0+ Group: Amusements/Games/Board/Other Url: http://www.kde.org -Version: 14.12.3 +Version: 15.04.0 Release: 0 Source0: bovo-%{version}.tar.xz +Obsoletes: %{name}5 < %{version} +Provides: %{name}5 = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build -%kde4_runtime_requires %description Bovo is a Gomoku (Connect Five, Five in a row, X and O, etc) game for @@ -38,13 +53,11 @@ %setup -q -n bovo-%{version} %build - %cmake_kde4 -d build + %cmake_kf5 -d build %make_jobs %install - cd build - %makeinstall - %kde_post_install + %kf5_makeinstall -C build %post -p /sbin/ldconfig @@ -55,12 +68,12 @@ %files %defattr(-,root,root) -%_kde4_iconsdir/hicolor/*/apps/bovo.* -%{_kde4_appsdir}/bovo/ -%{_kde4_htmldir}/en/bovo/ -%{_kde4_applicationsdir}/bovo.desktop -%{_kde4_bindir}/bovo -%dir %{_kde4_appsdir}/appdata -%{_kde4_appsdir}/appdata/bovo.appdata.xml +%{_kf5_iconsdir}/hicolor/*/apps/bovo.* +%{_kf5_sharedir}/bovo/ +%{_kf5_htmldir}/en/bovo/ +%{_kf5_applicationsdir}/org.kde.bovo.desktop +%{_kf5_bindir}/bovo +%{_kf5_sharedir}/appdata/ +%{_kf5_sharedir}/kxmlgui5/ %changelog ++++++ bovo-14.12.3.tar.xz -> bovo-15.04.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/CMakeLists.txt new/bovo-15.04.0/CMakeLists.txt --- old/bovo-14.12.3/CMakeLists.txt 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/CMakeLists.txt 2015-03-25 13:19:01.000000000 +0100 @@ -1,25 +1,30 @@ project (BOVO) -if(NOT COMPILING_KDEGAMES) - find_package(KDE4 REQUIRED) - include(KDE4Defaults) - include(MacroLibrary) - find_package(KDEGames 4.9.0 REQUIRED) - - add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS}) - add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) - include_directories(${KDEGAMES_INCLUDE_DIRS} ${KDE4_INCLUDES} ${QDBUS_INCLUDE_DIRS}) -endif(NOT COMPILING_KDEGAMES) +cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) +set (QT_MIN_VERSION "5.2.0") -KDE4_NO_ENABLE_FINAL(bovo) +find_package(ECM 1.3.0 REQUIRED CONFIG) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) -# re-enabling exceptions (turned off in KDE) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${KDE4_ENABLE_EXCEPTIONS}") +find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets Svg Concurrent Qml Quick QuickWidgets) +find_package(KF5 REQUIRED COMPONENTS + CoreAddons + XmlGui + NewStuff + Declarative + ) +find_package(KF5KDEGames 4.9.0 REQUIRED) + +include(KDEInstallDirs) +include(KDECMakeSettings) +include(KDECompilerSettings) +include(FeatureSummary) +include(KDECoreMacros) +include(ECMInstallIcons) -include_directories ( - ${BOVO_SOURCE_DIR}/gui ${CMAKE_BINARY_DIR}/gui - ${BOVO_SOURCE_DIR}/game ${BOVO_SOURCE_DIR}/ai -) +# re-enabling exceptions (turned off in KDE) +kde_enable_exceptions() +#add_definitions("-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII") set( bovogame_SRCS game/game.cc @@ -57,17 +62,25 @@ ${bovogame_SRCS} ) -kde4_add_kcfg_files(bovo_SRCS gui/settings.kcfgc) -kde4_add_app_icon(bovo_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi*-app-bovo.png") -kde4_add_executable(bovo ${bovo_SRCS}) +include_directories( + ${CMAKE_SOURCE_DIR}/game + ${CMAKE_SOURCE_DIR}/gui + ${CMAKE_SOURCE_DIR}/ai + ${Qt5Concurrent_INCLUDE_DIRS} + ) + +kconfig_add_kcfg_files(bovo_SRCS gui/settings.kcfgc) +#kde4_add_app_icon(bovo_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/hi*-app-bovo.png") +add_executable(bovo ${bovo_SRCS}) -target_link_libraries(bovo kdegames ${KDE4_KDEUI_LIBS} ) +target_link_libraries(bovo KF5::XmlGui KF5::I18n KF5::IconThemes Qt5::Svg KF5KDEGames KF5::DBusAddons) add_subdirectory (themes) add_subdirectory (icons) add_subdirectory (doc) install (TARGETS bovo ${INSTALL_TARGETS_DEFAULT_ARGS}) -install (FILES gui/bovoui.rc DESTINATION ${DATA_INSTALL_DIR}/bovo) -install (PROGRAMS bovo.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) +install (FILES gui/bovoui.rc DESTINATION ${KXMLGUI_INSTALL_DIR}/bovo) +install (PROGRAMS org.kde.bovo.desktop DESTINATION ${XDG_APPS_INSTALL_DIR}) install (FILES bovo.appdata.xml DESTINATION ${DATA_INSTALL_DIR}/appdata) +feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/ai/ai.cc new/bovo-15.04.0/ai/ai.cc --- old/bovo-14.12.3/ai/ai.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/ai/ai.cc 2015-03-25 13:19:01.000000000 +0100 @@ -37,4 +37,4 @@ } /* namespace ai */ -#include "ai.moc" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/ai/aifactory.cc new/bovo-15.04.0/ai/aifactory.cc --- old/bovo-14.12.3/ai/aifactory.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/ai/aifactory.cc 2015-03-25 13:19:01.000000000 +0100 @@ -34,8 +34,8 @@ namespace ai { AiFactory::AiFactory() { - m_aiList.append("Gabor"); - m_aiList.append("Aron"); + m_aiList.append(QStringLiteral("Gabor")); + m_aiList.append(QStringLiteral("Aron")); m_ai = 0; } @@ -74,4 +74,4 @@ } /* namespace ai */ -#include "aifactory.moc" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/ai/aron/aiaron.cc new/bovo-15.04.0/ai/aron/aiaron.cc --- old/bovo-14.12.3/ai/aron/aiaron.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/ai/aron/aiaron.cc 2015-03-25 13:19:01.000000000 +0100 @@ -69,4 +69,4 @@ } /* namespace ai */ -#include "aiaron.moc" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/ai/aron/aiaron.h new/bovo-15.04.0/ai/aron/aiaron.h --- old/bovo-14.12.3/ai/aron/aiaron.h 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/ai/aron/aiaron.h 2015-03-25 13:19:01.000000000 +0100 @@ -27,7 +27,6 @@ #ifndef BOVO_AIARON_H #define BOVO_AIARON_H -#include <QObject> #include "../ai.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/ai/aron/aiboard.cc new/bovo-15.04.0/ai/aron/aiboard.cc --- old/bovo-14.12.3/ai/aron/aiboard.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/ai/aron/aiboard.cc 2015-03-25 13:19:01.000000000 +0100 @@ -140,10 +140,10 @@ /* secret helper functions */ Coord next(const Coord& c, usi dir) { - usi LEFT = 1; - usi UP = 2; - usi RIGHT = 4; - usi DOWN = 8; + const usi LEFT = 1; + const usi UP = 2; + const usi RIGHT = 4; + const usi DOWN = 8; Coord tmp = c; if (dir & LEFT) { tmp = tmp.left(); @@ -438,10 +438,10 @@ } bool AiBoard::win(const Coord& c) const { - usi LEFT = 1; - usi UP = 2; - usi RIGHT = 4; - usi DOWN = 8; + const usi LEFT = 1; + const usi UP = 2; + const usi RIGHT = 4; + const usi DOWN = 8; usi DIR[8] = { LEFT, RIGHT, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/ai/gabor/aigabor.cc new/bovo-15.04.0/ai/gabor/aigabor.cc --- old/bovo-14.12.3/ai/gabor/aigabor.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/ai/gabor/aigabor.cc 2015-03-25 13:19:01.000000000 +0100 @@ -24,10 +24,8 @@ * @file aigabor.cc implementing the AiGabor class */ -#include <QMetaType> #include <QTime> -#include <QtConcurrentRun> - +#include <QtConcurrent> #include "aigabor.h" #include "coord.h" @@ -118,4 +116,4 @@ } /* namespace ai */ -#include "aigabor.moc" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/ai/gabor/aigabor.h new/bovo-15.04.0/ai/gabor/aigabor.h --- old/bovo-14.12.3/ai/gabor/aigabor.h 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/ai/gabor/aigabor.h 2015-03-25 13:19:01.000000000 +0100 @@ -27,7 +27,6 @@ #ifndef BOVO_AIGABOR_H #define BOVO_AIGABOR_H -#include <QObject> #include <QFuture> #include "../ai.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/bovo.appdata.xml new/bovo-15.04.0/bovo.appdata.xml --- old/bovo-14.12.3/bovo.appdata.xml 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/bovo.appdata.xml 2015-03-25 13:19:01.000000000 +0100 @@ -1,9 +1,10 @@ <?xml version="1.0" encoding="utf-8"?> <component type="desktop"> - <id>bovo.desktop</id> + <id>org.kde.bovo.desktop</id> <metadata_license>CC0-1.0</metadata_license> <project_license>GPL-2.0+</project_license> <name>Bovo</name> + <name xml:lang="ast">Bovo</name> <name xml:lang="bs">Bovo</name> <name xml:lang="ca">Bovo</name> <name xml:lang="cs">Bovo</name> @@ -13,12 +14,14 @@ <name xml:lang="es">Bovo</name> <name xml:lang="fi">Bovo</name> <name xml:lang="fr">Bovo</name> + <name xml:lang="gl">Bovo</name> <name xml:lang="it">Bovo</name> <name xml:lang="nds">Bovo</name> <name xml:lang="nl">Bovo</name> <name xml:lang="pl">Bovo</name> <name xml:lang="pt">Bovo</name> <name xml:lang="pt-BR">Bovo</name> + <name xml:lang="ru">Bovo</name> <name xml:lang="sk">Bovo</name> <name xml:lang="sl">Bovo</name> <name xml:lang="sr">Бово</name> @@ -28,6 +31,7 @@ <name xml:lang="sv">Bovo</name> <name xml:lang="uk">Bovo</name> <name xml:lang="x-test">xxBovoxx</name> + <name xml:lang="zh-CN">Bovo</name> <name xml:lang="zh-TW">五子棋_Bovo</name> <description> <p> @@ -42,12 +46,14 @@ <p xml:lang="es">Bovo es un juego parecido al Gomoku (del japonés 五目並べ - lit. "cinco puntos") para dos jugadores, donde los oponentes se van alternando en colocar sus pictogramas respectivos en el tablero de juego. (También conocido como: conecta cinco, cinco en fila, X y O)</p> <p xml:lang="fi">Bovo on Gomokun (japaniksi 五目並べ – kirjaimellisesti ”viisi pistettä”) kaltainen peli kahdelle, jossa vastustajat asettavat vuorotellen merkkinsä pelilaudalle. Tunnetaan myös nimillä viiden suora ja ristinolla.</p> <p xml:lang="fr">Bovo est un jeu pour deux joueurs inspiré du Gomoku (du japonais 五目並べ signifiant « cinq points »). Les adversaires placent chacun à leur tour leurs symboles sur la tableau de jeu. Également connu sous le nom de « cinq en ligne », « X et O », « morpion ».</p> + <p xml:lang="gl">Bovo é un xogo para dous xogadores similar ao Gomoku (do xaponés 五目並べ, «cinco puntos»), no que os opoñentes sitúan os seus pictogramas no taboleiro por quendas. O xogo tamén se coñece como «Conectar cinco», «Cinco en liña», etc.</p> <p xml:lang="it">Bovo è un gioco per due giocatori simile al Gomoku (dal giapponese 五目並べ - lett. «cinque punti»), in cui i contendenti si alternano nel piazzare i propri pittogrammi sul piano di gioco. (È noto anche come: Connect Five, Five in a row, X and O, Naughts and Crosses)</p> <p xml:lang="nds">Bovo is en Speel as Gomoku (ut japaansch 五目並べ“ - „fief Pünkt“) för twee Spelers. De Twee wesselt sik af un leggt ehr Piktogramm op't Speelbrett. (Warrt ok „Fief verbinnen“, „Fief in de Reeg“, „X un O“ oder „Nixen un Nullen“ nöömt.)</p> <p xml:lang="nl">Bovo is een Gomoku (uit het Japans 五目並べ - letterlijk "vijf punten")-achtig spel voor twee spelers, waar de opponenten afwisselen in het plaatsen van hun respectievelijke pictogram op het spelbord. (Ook bekend als: Boter-Kaas-en-Eieren, Vijf verbinden, Vijf op een rij, X en O, Naughts and Crosses)</p> <p xml:lang="pl">Bovo to gra dla dwóch graczy w rodzaju Gomoku (z japońskiego 五目並べ - lit. "pięć punktów"), gdzie gracze na zmianę umieszczają odpowiadające im piktogramy na planszy. (Gra znana również jako: Połącz piątkę, Piątka w rzędzie, X i O, Kółko i krzyżyk)</p> <p xml:lang="pt">O Bovo é um jogo semelhante ao Gomoku (do Japonês 五目並べ - lit. "cinco pontos") para dois jogadores, onde os adversários vão colocando o seu pictograma respectivo no tabuleiro do jogo. (Também conhecido como: Liga Cinco, Cinco em Linha, X e O, Bolas e Cruzes)</p> <p xml:lang="pt-BR">Bovo é um jogo do tipo Gomoku (do Japonês 五目並べ - lit. "cinco pontos") para dois jogadores, onde os adversários alternam na colocação das suas marcas respectivas no tabuleiro. (Também conhecido como: Conectar Cinco, Cinco-em-Linha, X e O, Bolas e Cruzes)</p> + <p xml:lang="ru">Bovo — игра для двух игроков, произошедшая от Гомоку (в переводе с японского 五目並べ — «пять точек»). Соперники по очереди ставят свою отметку на игровой доске. Другие названия: крестики-нолики, пять в ряд.</p> <p xml:lang="sk">Bovo je Gomoku (z japonského 五目並べ - "päť bodov") hra pre dvoch hráčov, kde protivníci sa striedajú v umiestňovaní ich piktogramov na hraciu plochu. (Známe aj ako: Connect Five, Päť v rade, X a O, Naughts and Crosses)</p> <p xml:lang="sl">Bovo je igra podobna Gomoku (iz japonskega 五目並べ - lit. "pet točk") za dva igralca, ki izmenično postavljata njun piktogram na igralno ploščo. Igra je znana tudi kot: Poveži pet, Pet v vrsto, Križci in krogci.</p> <p xml:lang="sr">Бово је игра налик на гомоку (од јапанског 五目並べ, буквално „пет тачака“) за два играча, где противници наизменично смештају свој пиктограм на играчку таблу. Проширена верзија икс‑окса.</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/bovo.desktop new/bovo-15.04.0/bovo.desktop --- old/bovo-14.12.3/bovo.desktop 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/bovo.desktop 1970-01-01 01:00:00.000000000 +0100 @@ -1,122 +0,0 @@ -[Desktop Entry] -Exec=bovo -caption %c -Name=Bovo -Name[ast]=Bovo -Name[bs]=Bovo -Name[ca]=Bovo -Name[ca@valencia]=Bovo -Name[cs]=Bovo -Name[da]=Bovo -Name[de]=Bovo -Name[el]=Bovo -Name[en_GB]=Bovo -Name[eo]=Bovo -Name[es]=Bovo -Name[et]=Bovo -Name[eu]=Bovo -Name[fa]=بُوُ -Name[fi]=Bovo -Name[fr]=Bovo -Name[ga]=Bovo -Name[gl]=Bovo -Name[hne]=बोवो -Name[hr]=Bovo -Name[hu]=Bovo -Name[it]=Bovo -Name[ja]=Bovo -Name[kk]=Бово -Name[km]=Bovo -Name[ko]=Bovo -Name[lt]=Bovo -Name[lv]=Bovo -Name[mai]=Bovo -Name[mr]=बोव्हो -Name[ms]=Bovo -Name[nb]=Bovo -Name[nds]=Bovo -Name[ne]=बोभो -Name[nl]=Bovo -Name[nn]=Bovo -Name[pa]=ਬੋਵੋ -Name[pl]=Bovo -Name[pt]=Bovo -Name[pt_BR]=Bovo -Name[ro]=Bovo -Name[ru]=Bovo -Name[sk]=Bovo -Name[sl]=Bovo -Name[sq]=Bovo -Name[sr]=Бово -Name[sr@ijekavian]=Бово -Name[sr@ijekavianlatin]=Bovo -Name[sr@latin]=Bovo -Name[sv]=Bovo -Name[te]=బొవొ -Name[tr]=Bovo -Name[ug]=Bovo -Name[uk]=Бово -Name[wa]=Bovo -Name[x-test]=xxBovoxx -Name[zh_CN]=Bovo -Name[zh_TW]=Bovo -Icon=bovo -Type=Application -X-DocPath=bovo/index.html -GenericName=Five-in-a-row Board Game -GenericName[ast]=Xuegu de tableru cinco en llinia -GenericName[bs]=Pet-u-redu Igra na ploči -GenericName[ca]=Joc de cinc en fila -GenericName[ca@valencia]=Joc de cinc en fila -GenericName[cs]=Desková hra "pět v řadě" -GenericName[da]=Fem-på-række-brætspil -GenericName[de]=Fünf-Gewinnt-Brettspiel -GenericName[el]=Επιτραπέζιο παιχνίδι Πέντε στη σειρά -GenericName[en_GB]=Five-in-a-row Board Game -GenericName[eo]=Gobanga bretludo -GenericName[es]=Juego de tablero de cinco en línea -GenericName[et]=Viis ritta lauamäng -GenericName[eu]=Bostko artzain-jokoa -GenericName[fa]=بازی تخته پنج در یک سطر -GenericName[fi]=Viiden suora -GenericName[fr]=Jeu de plateau « Cinq-en-ligne » -GenericName[ga]=Cluiche cláir cúig-cinn-as-a-chéile -GenericName[gl]=Xogo de taboleiro «pai, fillo e nai» -GenericName[hne]=बोर्ड मं एक लकीर मं पांच वाले खेल -GenericName[hu]=Ötöt egy sorba táblajáték -GenericName[is]=Fimm-í-röð borðleikur -GenericName[it]=Forza 5, gioco da tavolo -GenericName[ja]=五目並べ -GenericName[kk]="Бесеуін - қатарға" ойны -GenericName[km]=ល្បែងក្ដារ ប្រាំក្នុងមួយជួរ -GenericName[ko]=오목 게임 -GenericName[lt]=Penki-vienoje-eilutėje stalo žaidimas -GenericName[lv]=Galda spēle pieci-rindā -GenericName[mr]=एका-ओळीत-पाच बोर्ड खेळ -GenericName[nb]=Brettspill fem på rad -GenericName[nds]="Fief op de Reeg"-Speel -GenericName[ne]=एक पङ्क्तिमा पाँच बोर्ड खेल -GenericName[nl]=Vijf-op-een-rij bordspel -GenericName[nn]=Fem på rad -GenericName[pl]=Gra planszowa "Pięć w rzędzie" -GenericName[pt]=Jogo de Tabuleiro Cinco-em-Linha -GenericName[pt_BR]=Jogo de tabuleiro como Reversi -GenericName[ro]=Joc de table Cinci-în-linie -GenericName[ru]=Японские крестики-нолики -GenericName[sk]=Stolová hra Piškvorky -GenericName[sl]=Namizna igra Pet v vrsto -GenericName[sr]=Игра на табли „пет у низу“ -GenericName[sr@ijekavian]=Игра на табли „пет у низу“ -GenericName[sr@ijekavianlatin]=Igra na tabli „pet u nizu“ -GenericName[sr@latin]=Igra na tabli „pet u nizu“ -GenericName[sv]=Fem-i-rad brädspel -GenericName[tr]=Bir-satırda-beş Tahta Oyunu -GenericName[ug]=بىر-قۇردا-بەش تاختا ئويۇنى -GenericName[uk]=Гра на дошці (п'ять-в-рядку) -GenericName[wa]=Djeu «cénk e roye» -GenericName[x-test]=xxFive-in-a-row Board Gamexx -GenericName[zh_CN]=五子棋游戏 -GenericName[zh_TW]=五子棋棋盤遊戲 -Terminal=false -X-KDE-StartupNotify=true -X-DBUS-StartupType=Multi -Categories=Qt;KDE;Game;BoardGame; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/doc/CMakeLists.txt new/bovo-15.04.0/doc/CMakeLists.txt --- old/bovo-14.12.3/doc/CMakeLists.txt 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/doc/CMakeLists.txt 2015-03-25 13:19:01.000000000 +0100 @@ -1,2 +1,2 @@ -kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR bovo) +kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR bovo) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/doc/index.docbook new/bovo-15.04.0/doc/index.docbook --- old/bovo-14.12.3/doc/index.docbook 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/doc/index.docbook 2015-03-25 13:19:01.000000000 +0100 @@ -1,5 +1,5 @@ <?xml version="1.0" ?> -<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ +<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [ <!ENTITY kappname "&bovo;"> <!ENTITY kappversion "1.0"><!--Applicaion version. Use this variable everywhere it's needed.--> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/game/game.cc new/bovo-15.04.0/game/game.cc --- old/bovo-14.12.3/game/game.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/game/game.cc 2015-03-25 13:19:01.000000000 +0100 @@ -339,10 +339,10 @@ } Coord Game::next(const Coord& coord, usi dir) const { - usi LEFT = 1; - usi UP = 2; - usi RIGHT = 4; - usi DOWN = 8; + const usi LEFT = 1; + const usi UP = 2; + const usi RIGHT = 4; + const usi DOWN = 8; Coord tmp = coord; if (dir & LEFT) { tmp = tmp.left(); @@ -358,10 +358,10 @@ } short Game::win(const Coord& c) const { - usi LEFT = 1; - usi UP = 2; - usi RIGHT = 4; - usi DOWN = 8; + const usi LEFT = 1; + const usi UP = 2; + const usi RIGHT = 4; + const usi DOWN = 8; usi DIR[8] = {LEFT, RIGHT, UP, DOWN, LEFT | UP, RIGHT | DOWN, LEFT | DOWN, RIGHT | UP}; Player p = player(c); @@ -417,4 +417,4 @@ } -#include "game.moc" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/game/test/CMakeLists.txt new/bovo-15.04.0/game/test/CMakeLists.txt --- old/bovo-14.12.3/game/test/CMakeLists.txt 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/game/test/CMakeLists.txt 2015-03-25 13:19:01.000000000 +0100 @@ -1,3 +1,3 @@ -kde4_add_executable (testbovo test.cpp) +add_executable (testbovo test.cpp) target_link_library (testbovo game) install (TARGETS testbovo ${INSTALL_TARGETS_DEFAULT_ARGS}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/gui/hintitem.cc new/bovo-15.04.0/gui/hintitem.cc --- old/bovo-14.12.3/gui/hintitem.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/gui/hintitem.cc 2015-03-25 13:19:01.000000000 +0100 @@ -39,7 +39,7 @@ : QGraphicsSvgItem(), m_scene(scene), m_row(hint.y()), m_col(hint.x()), m_fill(fill) { m_sizeShrink = 1.0/(qrand()%5+7.0); - setElementId(QString(hint.player() == X ? "x%1" : "o%1") + setElementId(QString(hint.player() == X ? QLatin1String("x%1") : QLatin1String("o%1")) .arg(QString::number(qrand() % 5 + 1))); m_tick = 16; m_tickUp = true; @@ -47,7 +47,7 @@ if (animate) { m_ticker = new QTimer(this); m_opacity = 0.0; - connect(m_ticker, SIGNAL(timeout()), this, SLOT(tick())); + connect(m_ticker, &QTimer::timeout, this, &HintItem::tick); m_ticker->start(30); } else { m_opacity = 0.4; @@ -85,7 +85,7 @@ } void HintItem::kill() { - connect(m_ticker, SIGNAL(timeout()), this, SLOT(killTick())); + connect(m_ticker, &QTimer::timeout, this, &HintItem::killTick); m_ticker->start(); } @@ -130,4 +130,4 @@ } /* namespace gui */ -#include "hintitem.moc" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/gui/main.cc new/bovo-15.04.0/gui/main.cc --- old/bovo-14.12.3/gui/main.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/gui/main.cc 2015-03-25 13:19:01.000000000 +0100 @@ -19,36 +19,56 @@ * ********************************************************************/ -#include <kapplication.h> -#include <kcmdlineargs.h> +#include <QApplication> +#include <QCommandLineParser> #include <kaboutdata.h> -#include <klocale.h> +#include <kdelibs4configmigrator.h> +#include <klocalizedstring.h> +#include <KDBusService> #include "mainwindow.h" #include "version.h" static const char description[] = I18N_NOOP("KDE Five in a Row Board Game"); +static const char copyleft[] = I18N_NOOP("(c) 2002-2007, Aron Boström"); using namespace gui; int main(int argc, char **argv) { - KAboutData aboutData("bovo", 0, ki18n("Bovo"), - BOVO_VERSION, ki18n(description), KAboutData::License_GPL, - ki18n("(c) 2002,2007 Aron Boström"), KLocalizedString(), "http://games.kde.org/bovo" ); - aboutData.addAuthor(ki18n("Aron Boström"),ki18n("Author"), - "[email protected]"); - KCmdLineArgs::init(argc, argv, &aboutData); - - KApplication application; - KGlobal::locale()->insertCatalog( QLatin1String( "libkdegames" )); - - if( application.isSessionRestored() ) { + Kdelibs4ConfigMigrator migrate(QStringLiteral("bovo")); + migrate.setConfigFiles(QStringList() << QStringLiteral("bovorc")); + migrate.setUiFiles(QStringList() << QStringLiteral("bovoui.rc")); + migrate.migrate(); + + QApplication app(argc, argv); + KLocalizedString::setApplicationDomain("bovo"); + + KAboutData aboutData(QStringLiteral("bovo"), i18n("Bovo"), + QStringLiteral(BOVO_VERSION), i18n(description), KAboutLicense::GPL, + i18n(copyleft), QString(), QStringLiteral("http://games.kde.org/bovo")); + aboutData.addAuthor(i18n("Aron Boström"),i18n("Author"), + QStringLiteral("[email protected]")); + + aboutData.setOrganizationDomain(QByteArray("kde.org")); + app.setWindowIcon(QIcon::fromTheme(QStringLiteral("bovo"))); + aboutData.setProductName(QByteArray("bovo")); + + KAboutData::setApplicationData(aboutData); + + QCommandLineParser parser; + parser.addVersionOption(); + parser.addHelpOption(); + aboutData.setupCommandLine(&parser); + parser.process(app); + aboutData.processCommandLine(&parser); + KDBusService service; + if( app.isSessionRestored() ) { RESTORE(MainWindow); } else { MainWindow *mainWin = new MainWindow(); mainWin->show(); } - return application.exec(); + return app.exec(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/gui/mainwindow.cc new/bovo-15.04.0/gui/mainwindow.cc --- old/bovo-14.12.3/gui/mainwindow.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/gui/mainwindow.cc 2015-03-25 13:19:01.000000000 +0100 @@ -26,21 +26,21 @@ #include <QWidget> #include <QTimer> #include <QBrush> +#include <QDir> +#include <QLabel> +#include <QIcon> // KDE includes -#include <kaction.h> #include <kactioncollection.h> #include <kconfig.h> #include <kconfiggroup.h> #include <kgdifficulty.h> -#include <kstatusbar.h> +#include <qstatusbar.h> #include <kstandardgameaction.h> -#include <kstandarddirs.h> #include <kselectaction.h> #include <ktoggleaction.h> -#include <klocale.h> -#include <kicon.h> #include <kiconloader.h> +#include <klocalizedstring.h> // Bovo includes #include "ai.h" @@ -64,11 +64,12 @@ MainWindow::MainWindow(QWidget* parent) : KXmlGuiWindow(parent), m_scene(0), m_game(0), m_wins(0), m_losses(0), m_computerStarts(false), m_demoAi(0), - m_aiFactory(0), m_animate(true) { - statusBar()->insertItem(" ", 0, 10); - statusBar()->setItemAlignment(0, Qt::AlignLeft); - statusBar()->insertPermanentItem(i18n("Wins: %1", m_wins), 1); - statusBar()->insertPermanentItem(i18n("Losses: %1", m_losses), 2, 1); + m_aiFactory(0), m_animate(true), + m_winsLabel (new QLabel(i18n("Wins: %1", m_wins))), + m_lossesLabel (new QLabel(i18n("Losses: %1", m_losses))) { + statusBar()->showMessage(QStringLiteral(" ")); + statusBar()->insertPermanentWidget(0, m_winsLabel); + statusBar()->insertPermanentWidget(1, m_lossesLabel); m_aiFactory = new AiFactory(); KgDifficulty* diff = Kg::difficulty(); @@ -104,7 +105,7 @@ void MainWindow::save() const { if (m_game != 0) { m_scene->activate(false); - QString rc = KGlobal::dirs()->locate("config", "bovorc"); + QString rc = QStandardPaths::locate(QStandardPaths::ConfigLocation, QStringLiteral("bovorc")); KConfig savegame(rc); KConfigGroup lastGroup(&savegame, "Game"); if (!m_game->isGameOver() && m_game->demoMode() == NotDemo) { @@ -119,8 +120,17 @@ } void MainWindow::setupThemes() { - QStringList themercs = KGlobal::dirs()->findAllResources("appdata", - "themes/*/themerc"); + QStringList themercs; + const QStringList themeDirs = QStandardPaths::locateAll(QStandardPaths::DataLocation, QStringLiteral("themes"), QStandardPaths::LocateDirectory); + Q_FOREACH (const QString &themeDir, themeDirs) { + const QStringList entries = QDir(themeDir).entryList(QDir::Dirs); + Q_FOREACH(const QString &d, entries) { + QString themeFile = themeDir + QLatin1Char('/') + d + QLatin1String("/themerc"); + if (QFile::exists(themeFile)) + themercs.append(themeFile); + } + } + int i = 0; foreach (const QString &themerc, themercs) { KConfig config(themerc); @@ -144,7 +154,7 @@ m_animate = Settings::animation(); m_aiFactory->changeAi(Settings::ai()); - const QString rc = KGlobal::dirs()->locate("config", "bovorc"); + const QString rc = QStandardPaths::locate(QStandardPaths::ConfigLocation, QStringLiteral("bovorc")); KConfig savegame(rc); KConfigGroup lastGroup(&savegame, "Game"); m_lastGame = lastGroup.readXdgListEntry("Unfinished", QStringList()); // XXX this is bogus @@ -166,16 +176,16 @@ Settings::setPlaybackSpeed(m_playbackSpeed); Settings::setAnimation(m_animate); Settings::setAi(m_aiFactory->ai()); - Settings::self()->writeConfig(); + Settings::self()->save(); } void MainWindow::setupActions() { KStandardGameAction::gameNew(this, SLOT(slotNewGame()), actionCollection()); KStandardGameAction::quit(this, SLOT(close()), actionCollection()); - QAction *replayAct = new KAction(KIcon( QLatin1String( "media-playback-start" )), + QAction *replayAct = new QAction(QIcon::fromTheme( QStringLiteral( "media-playback-start" )), i18n("&Replay"), this); - actionCollection()->addAction( QLatin1String( "replay" ), replayAct); + actionCollection()->addAction( QStringLiteral( "replay" ), replayAct); replayAct->setToolTip(i18n("Replay game")); replayAct->setWhatsThis(i18n("Replays your last game for you to watch.")); replayAct->setEnabled(false); @@ -184,7 +194,7 @@ m_hintAct->setEnabled(false); KToggleAction *animAct = new KToggleAction(i18n("&Animation"),this); - actionCollection()->addAction( QLatin1String( "animation" ), animAct); + actionCollection()->addAction( QStringLiteral( "animation" ), animAct); animAct->setChecked(m_animate); connect(animAct, SIGNAL(toggled(bool)), this, SLOT(setAnimation(bool))); @@ -202,8 +212,8 @@ } } m_themeAct->setCurrentItem(themeId); - actionCollection()->addAction( QLatin1String( "themes" ), m_themeAct); - m_themeAct->setIcon(KIcon( QLatin1String( "games-config-theme" ))); + actionCollection()->addAction( QStringLiteral( "themes" ), m_themeAct); + m_themeAct->setIcon(QIcon::fromTheme( QStringLiteral( "games-config-theme" ))); connect(m_themeAct,SIGNAL(triggered(int)),this,SLOT(changeTheme(int))); m_undoAct = KStandardGameAction::undo(this, SLOT(slotUndo()), actionCollection()); @@ -242,7 +252,7 @@ disconnect(m_game, 0, m_scene, 0); } if (!m_game->isGameOver() && m_game->history().size() > 1) { - statusBar()->changeItem(i18n("Losses: %1",++m_losses), 2); + m_lossesLabel->setText(i18n("Losses: %1",++m_losses)); } if (m_game->history().size() > 1) { m_computerStarts = !m_computerStarts; @@ -255,7 +265,7 @@ m_demoAi->deleteLater(); m_demoAi = 0; } - QAction* act = actionCollection()->action("replay"); + QAction* act = actionCollection()->action(QStringLiteral("replay")); if (act != 0) { act->setEnabled(false); } @@ -269,7 +279,7 @@ m_scene = new Scene(m_theme, m_animate); if (!m_lastGame.empty()) { QString tmp = m_lastGame.first(); - m_computerStarts = tmp.startsWith('2') ? true : false; + m_computerStarts = tmp.startsWith(QLatin1Char('2')) ? true : false; } m_game = new Game(dimension, m_lastGame, Kg::difficultyLevel(), m_playbackSpeed, m_aiFactory); @@ -326,7 +336,7 @@ m_game, SLOT(move(const Move&))); connect(m_game, SIGNAL(gameOver(const QList<Move>&)), this, SLOT(slotNewDemoWait())); - statusBar()->changeItem(i18n("Start a new Game to play"), 0); + statusBar()->showMessage(i18n("Start a new Game to play")); m_game->start(); } @@ -345,7 +355,7 @@ void MainWindow::updateWins(const int wins) { m_wins = wins; - statusBar()->changeItem(i18n("Wins: %1", m_wins), 1); + m_winsLabel->setText(i18n("Wins: %1", m_wins)); } void MainWindow::increaseLosses() { @@ -358,34 +368,34 @@ void MainWindow::updateLosses(const int losses) { m_losses = losses; - statusBar()->changeItem(i18n("Losses: %1", m_losses), 2); + m_lossesLabel->setText(i18n("Losses: %1", m_losses)); } void MainWindow::slotGameOver() { if (m_game->boardFull()) { - statusBar()->changeItem(i18n("GAME OVER. Tie!"), 0); + statusBar()->showMessage(i18n("GAME OVER. Tie!")); } else { if (m_game->latestMove().player() == X) { - statusBar()->changeItem(i18n("GAME OVER. You won!"), 0); + statusBar()->showMessage(i18n("GAME OVER. You won!")); increaseWins(); } else { - statusBar()->changeItem(i18n("GAME OVER. You lost!"), 0); + statusBar()->showMessage(i18n("GAME OVER. You lost!")); increaseLosses(); } } disconnect(m_game, 0, m_demoAi, 0); m_hintAct->setEnabled(false); - actionCollection()->action("replay")->setEnabled(true); - connect(actionCollection()->action("replay"), SIGNAL(triggered()), + actionCollection()->action(QStringLiteral("replay"))->setEnabled(true); + connect(actionCollection()->action(QStringLiteral("replay")), SIGNAL(triggered()), this, SLOT(replay())); } void MainWindow::slotPlayerTurn() { - statusBar()->changeItem(i18n("It is your turn."), 0); + statusBar()->showMessage(i18n("It is your turn.")); } void MainWindow::slotOposerTurn() { - statusBar()->changeItem(i18n("Waiting for computer."), 0); + statusBar()->showMessage(i18n("Waiting for computer.")); } void MainWindow::slotUndo() { @@ -402,8 +412,8 @@ connect(m_game, SIGNAL(boardChanged(const Move&)), m_demoAi, SLOT(changeBoard(const Move&))); m_hintAct->setEnabled(true); - actionCollection()->action("replay")->setEnabled(false); - disconnect(actionCollection()->action("replay"), SIGNAL(triggered()), + actionCollection()->action(QStringLiteral("replay"))->setEnabled(false); + disconnect(actionCollection()->action(QStringLiteral("replay")), SIGNAL(triggered()), this, SLOT(replay())); } m_game->undoLatest(); @@ -413,25 +423,24 @@ if (!m_game->isGameOver()) { return; } - statusBar()->changeItem(i18n("Replaying game"), 0); - actionCollection()->action("replay")->setEnabled(false); + statusBar()->showMessage(i18n("Replaying game")); + actionCollection()->action(QStringLiteral("replay"))->setEnabled(false); disableUndo(); - disconnect(actionCollection()->action("replay"), SIGNAL(triggered()), + disconnect(actionCollection()->action(QStringLiteral("replay")), SIGNAL(triggered()), this, SLOT(replay())); disconnect(m_game, 0, this, 0); connect(m_game, SIGNAL(replayEnd(const QList<Move>&)), this, SLOT(reEnableReplay())); disconnect(m_game, 0, m_scene, 0); - connect(m_game, SIGNAL(replayBegin()), m_scene, SLOT(replay())); - connect(m_game, SIGNAL(replayEnd(const QList<Move>&)), - m_scene, SLOT(slotGameOver(const QList<Move>&))); + connect(m_game, &Game::replayBegin, m_scene, &Scene::replay); + connect(m_game, &Game::replayEnd, m_scene, &Scene::slotGameOver); m_game->replay(); } void MainWindow::reEnableReplay() { - actionCollection()->action("replay")->setEnabled(true); - statusBar()->changeItem(i18n("Game replayed."), 0); - connect(actionCollection()->action("replay"), SIGNAL(triggered()), + actionCollection()->action(QStringLiteral("replay"))->setEnabled(true); + statusBar()->showMessage(i18n("Game replayed.")); + connect(actionCollection()->action(QStringLiteral("replay")), SIGNAL(triggered()), this, SLOT(replay())); } @@ -462,4 +471,4 @@ } /* namespace gui */ // Class moc -#include "mainwindow.moc" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/gui/mainwindow.h new/bovo-15.04.0/gui/mainwindow.h --- old/bovo-14.12.3/gui/mainwindow.h 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/gui/mainwindow.h 2015-03-25 13:19:01.000000000 +0100 @@ -30,6 +30,8 @@ #include "common.h" #include "theme.h" +class QLabel; + namespace ai { class Ai; class AiFactory; @@ -101,6 +103,8 @@ QStringList m_lastGame; bool m_animate; bool m_demoMode; + QLabel *m_winsLabel; + QLabel *m_lossesLabel; }; } /* namespace gui */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/gui/mark.cc new/bovo-15.04.0/gui/mark.cc --- old/bovo-14.12.3/gui/mark.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/gui/mark.cc 2015-03-25 13:19:01.000000000 +0100 @@ -38,14 +38,14 @@ Mark::Mark(Scene* scene, const Move& move, bool animate, qreal fill) : QGraphicsSvgItem(), m_scene(scene), m_row(move.y()), m_col(move.x()), m_fill(fill) { m_sizeShrink = 1.0/12.0; //1.0/(qrand()%5+7.0); - setElementId(QString(move.player() == X ? "x%1" : "o%1") + setElementId(QString(move.player() == X ? QLatin1String("x%1") : QLatin1String("o%1")) .arg(QString::number(qrand() % 5 + 1))); m_tick = 20; m_ticker = 0; if (animate) { m_ticker = new QTimer(this); m_opacity = 0.0; - connect(m_ticker, SIGNAL(timeout()), this, SLOT(tick())); + connect(m_ticker, &QTimer::timeout, this, &Mark::tick); m_ticker->start(30); } else { m_opacity = 1.0; @@ -56,7 +56,7 @@ Mark::~Mark() { if (m_ticker) { - disconnect(m_ticker, SIGNAL(timeout()), this, SLOT(tick())); + disconnect(m_ticker, &QTimer::timeout, this, &Mark::tick); m_ticker->stop(); m_ticker->deleteLater(); } @@ -85,12 +85,12 @@ void Mark::kill() { if (m_ticker) { - disconnect(m_ticker, SIGNAL(timeout()), this, SLOT(tick())); + disconnect(m_ticker, &QTimer::timeout, this, &Mark::tick); m_ticker->stop(); } else { m_ticker = new QTimer(this); } - connect(m_ticker, SIGNAL(timeout()), this, SLOT(killTick())); + connect(m_ticker, &QTimer::timeout, this, &Mark::killTick); m_ticker->start(30); } @@ -135,4 +135,4 @@ } /* namespace gui */ -#include "mark.moc" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/gui/scene.cc new/bovo-15.04.0/gui/scene.cc --- old/bovo-14.12.3/gui/scene.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/gui/scene.cc 2015-03-25 13:19:01.000000000 +0100 @@ -25,11 +25,10 @@ #include <QtCore/QTime> #include <QtCore/QTimer> #include <QtGui/QPainter> -#include <QtGui/QGraphicsSceneMouseEvent> -#include <QtGui/QGraphicsView> +#include <QGraphicsSceneMouseEvent> +#include <QGraphicsView> #include <QtSvg/QSvgRenderer> -#include <kstandarddirs.h> #include <kconfig.h> #include <kconfiggroup.h> #include <kdesktopfile.h> @@ -124,16 +123,13 @@ m_winningMoves = QList<Move>(); m_game = game; m_player = m_game->player(); - connect(m_game, SIGNAL(boardChanged(const Move&)), - SLOT(updateBoard(const Move&))); + connect(m_game, &Game::boardChanged, this, &Scene::updateBoard); if (!m_game->demoMode()) { - connect(m_game, SIGNAL(playerTurn()), SLOT(slotPlayerTurn())); - connect(m_game, SIGNAL(oposerTurn()), SLOT(slotOposerTurn())); + connect(m_game, &Game::playerTurn, this, &Scene::slotPlayerTurn); + connect(m_game, &Game::oposerTurn, this, &Scene::slotOposerTurn); } - connect(m_game, SIGNAL(gameOver(const QList<Move>&)), - this, SLOT(slotGameOver(const QList<Move>&))); - connect(this, SIGNAL(move(const Move&)), - m_game, SLOT(move(const Move&))); + connect(m_game, &Game::gameOver, this, &Scene::slotGameOver); + connect(this, &Scene::move, m_game, &Game::move); qDeleteAll(items()); //remove all marks m_paintMarker = false; @@ -159,8 +155,7 @@ if (Mark* mark = qgraphicsitem_cast<Mark *>(item)) { if (mark->row() == move.y() && mark->col() == move.x()) { if (m_animation) { - connect(mark, SIGNAL(killed(Mark*)), - this, SLOT(killMark(Mark*))); + connect(mark, &Mark::killed, this, &Scene::killMark); mark->kill(); } else { removeItem(mark); @@ -192,8 +187,8 @@ sRect.setHeight(minSize*cellSize); sRect.setLeft(cellSize);*/ QRectF tmpRect(size, size, minSize*shrinkSize, minSize*shrinkSize); - m_renderer->render(p, "background"); - m_renderer->render(p, "grid", tmpRect); + m_renderer->render(p, QLatin1String("background")); + m_renderer->render(p, QLatin1String("grid"), tmpRect); } void Scene::drawForeground(QPainter *p, const QRectF& bounds) { @@ -204,7 +199,7 @@ rect.adjust(adjusting, adjusting, -adjusting, -adjusting); if (bounds.intersects(rect)) { p->setOpacity(0.4); - m_renderer->render(p, "x1", rect); + m_renderer->render(p, QStringLiteral("x1"), rect); p->setOpacity(1); } } @@ -212,7 +207,7 @@ QRectF rect(cellTopLeft(m_lastCol, m_lastRow), QSizeF(m_curCellSize, m_curCellSize)); if (bounds.intersects(rect)) { - m_renderer->render(p, "last", rect); + m_renderer->render(p, QStringLiteral("last"), rect); } } if (!m_winningMoves.empty()) { @@ -222,7 +217,7 @@ QRectF tmpRect(cellTopLeft(it->x(), it->y()), QSizeF(m_curCellSize, m_curCellSize)); if (bounds.intersects(tmpRect)) { - m_renderer->render(p, "win", tmpRect); + m_renderer->render(p, QStringLiteral("win"), tmpRect); } ++it; } @@ -343,7 +338,7 @@ m_hintItem = new HintItem(this, hint, m_animation, m_fill); m_hintItem->setSharedRenderer(m_renderer); addItem(m_hintItem); - connect(m_hintTimer, SIGNAL(timeout()), this, SLOT(hintTimeout())); + connect(m_hintTimer, &QTimer::timeout, this, &Scene::hintTimeout); m_hintTimer->start(2000); } @@ -362,7 +357,7 @@ if (!m_animation) { destroyHint(); } else if (m_hintItem != 0) { - connect(m_hintItem, SIGNAL(killed()), this, SLOT(destroyHint())); + connect(m_hintItem, &HintItem::killed, this, &Scene::destroyHint); m_hintItem->kill(); } } @@ -393,8 +388,7 @@ } m_winningMoves = QList<Move>(); invalidate(0, 0, width(), height()); - connect(m_game, SIGNAL(boardChanged(const Move&)), - this, SLOT(updateBoard(const Move&))); + connect(m_game, &Game::boardChanged, this, &Scene::updateBoard); } bool Scene::event(QEvent *event) { @@ -407,4 +401,4 @@ } /* namespace gui */ -#include "scene.moc" + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/gui/theme.cc new/bovo-15.04.0/gui/theme.cc --- old/bovo-14.12.3/gui/theme.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/gui/theme.cc 2015-03-25 13:19:01.000000000 +0100 @@ -19,6 +19,9 @@ * ********************************************************************/ +// Qt includes +#include <QStandardPaths> + // Selc include #include "theme.h" @@ -26,7 +29,6 @@ #include <kconfig.h> #include <kconfiggroup.h> #include <kdesktopfile.h> -#include <kstandarddirs.h> // KConfig XT includes #include "settings.h" @@ -38,9 +40,9 @@ Theme::Theme(const QString& path, const int id) : m_id(id), m_path(path) { - QString themePath = QString("themes/%1/").arg(m_path); - themePath = KStandardDirs::locate("appdata", themePath); - QString themerc = themePath + "themerc"; + QString themePath = QStringLiteral("themes/%1/").arg(m_path); + themePath = QStandardPaths::locate(QStandardPaths::DataLocation, themePath, QStandardPaths::LocateDirectory); + QString themerc = themePath + QLatin1String("themerc"); KDesktopFile themeConfig(themerc); m_name = themeConfig.readName(); m_comment = themeConfig.readComment(); @@ -52,11 +54,11 @@ m_gridColor = configGroup.readEntry("GridColor", "black"); QString gridTypeStr = configGroup.readEntry("GridType", "svg"); - if (gridTypeStr == "svg") { + if (gridTypeStr == QLatin1String("svg")) { m_gridType = SvgGrid; - } else if (gridTypeStr == "gomoku") { + } else if (gridTypeStr == QLatin1String("gomoku")) { m_gridType = GomokuGrid; - } else if (gridTypeStr == "squares") { + } else if (gridTypeStr == QLatin1String("squares")) { m_gridType = SquaresGrid; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/gui/version.h new/bovo-15.04.0/gui/version.h --- old/bovo-14.12.3/gui/version.h 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/gui/version.h 2015-03-25 13:19:01.000000000 +0100 @@ -20,5 +20,5 @@ ********************************************************************/ #ifndef BOVO_VERSION -#define BOVO_VERSION "1.0" +#define BOVO_VERSION "1.1" #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/gui/view.cc new/bovo-15.04.0/gui/view.cc --- old/bovo-14.12.3/gui/view.cc 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/gui/view.cc 2015-03-25 13:19:01.000000000 +0100 @@ -24,7 +24,7 @@ // Qt Includes #include <QtGui/QColor> -#include <QtGui/QGraphicsScene> +#include <QGraphicsScene> #include <QtGui/QPalette> #include <QResizeEvent> @@ -35,6 +35,7 @@ View::View(Scene* scene, const QColor& bgColor, QWidget *parent) : QGraphicsView(scene, parent), m_scene(scene) { + Q_UNUSED(bgColor); setFrameStyle(QFrame::NoFrame); // setCacheMode(QGraphicsView::CacheBackground); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/icons/CMakeLists.txt new/bovo-15.04.0/icons/CMakeLists.txt --- old/bovo-14.12.3/icons/CMakeLists.txt 2015-02-21 07:40:21.000000000 +0100 +++ new/bovo-15.04.0/icons/CMakeLists.txt 2015-03-25 13:19:01.000000000 +0100 @@ -1 +1,10 @@ -kde4_install_icons(${ICON_INSTALL_DIR}) +ecm_install_icons(ICONS + hi128-apps-bovo.png + hi16-apps-bovo.png + hi22-apps-bovo.png + hi32-apps-bovo.png + hi48-apps-bovo.png + hi64-apps-bovo.png + DESTINATION ${ICON_INSTALL_DIR} + THEME hicolor +) Files old/bovo-14.12.3/icons/hi128-app-bovo.png and new/bovo-15.04.0/icons/hi128-app-bovo.png differ Files old/bovo-14.12.3/icons/hi128-apps-bovo.png and new/bovo-15.04.0/icons/hi128-apps-bovo.png differ Files old/bovo-14.12.3/icons/hi16-app-bovo.png and new/bovo-15.04.0/icons/hi16-app-bovo.png differ Files old/bovo-14.12.3/icons/hi16-apps-bovo.png and new/bovo-15.04.0/icons/hi16-apps-bovo.png differ Files old/bovo-14.12.3/icons/hi22-app-bovo.png and new/bovo-15.04.0/icons/hi22-app-bovo.png differ Files old/bovo-14.12.3/icons/hi22-apps-bovo.png and new/bovo-15.04.0/icons/hi22-apps-bovo.png differ Files old/bovo-14.12.3/icons/hi32-app-bovo.png and new/bovo-15.04.0/icons/hi32-app-bovo.png differ Files old/bovo-14.12.3/icons/hi32-apps-bovo.png and new/bovo-15.04.0/icons/hi32-apps-bovo.png differ Files old/bovo-14.12.3/icons/hi48-app-bovo.png and new/bovo-15.04.0/icons/hi48-app-bovo.png differ Files old/bovo-14.12.3/icons/hi48-apps-bovo.png and new/bovo-15.04.0/icons/hi48-apps-bovo.png differ Files old/bovo-14.12.3/icons/hi64-app-bovo.png and new/bovo-15.04.0/icons/hi64-app-bovo.png differ Files old/bovo-14.12.3/icons/hi64-apps-bovo.png and new/bovo-15.04.0/icons/hi64-apps-bovo.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bovo-14.12.3/org.kde.bovo.desktop new/bovo-15.04.0/org.kde.bovo.desktop --- old/bovo-14.12.3/org.kde.bovo.desktop 1970-01-01 01:00:00.000000000 +0100 +++ new/bovo-15.04.0/org.kde.bovo.desktop 2015-03-25 13:19:01.000000000 +0100 @@ -0,0 +1,123 @@ +[Desktop Entry] +Exec=bovo -qwindowtitle %c +Name=Bovo +Name[ast]=Bovo +Name[bs]=Bovo +Name[ca]=Bovo +Name[ca@valencia]=Bovo +Name[cs]=Bovo +Name[da]=Bovo +Name[de]=Bovo +Name[el]=Bovo +Name[en_GB]=Bovo +Name[eo]=Bovo +Name[es]=Bovo +Name[et]=Bovo +Name[eu]=Bovo +Name[fa]=بُوُ +Name[fi]=Bovo +Name[fr]=Bovo +Name[ga]=Bovo +Name[gl]=Bovo +Name[hne]=बोवो +Name[hr]=Bovo +Name[hu]=Bovo +Name[it]=Bovo +Name[ja]=Bovo +Name[kk]=Бово +Name[km]=Bovo +Name[ko]=Bovo +Name[lt]=Bovo +Name[lv]=Bovo +Name[mai]=Bovo +Name[mr]=बोव्हो +Name[ms]=Bovo +Name[nb]=Bovo +Name[nds]=Bovo +Name[ne]=बोभो +Name[nl]=Bovo +Name[nn]=Bovo +Name[pa]=ਬੋਵੋ +Name[pl]=Bovo +Name[pt]=Bovo +Name[pt_BR]=Bovo +Name[ro]=Bovo +Name[ru]=Bovo +Name[sk]=Bovo +Name[sl]=Bovo +Name[sq]=Bovo +Name[sr]=Бово +Name[sr@ijekavian]=Бово +Name[sr@ijekavianlatin]=Bovo +Name[sr@latin]=Bovo +Name[sv]=Bovo +Name[te]=బొవొ +Name[tr]=Bovo +Name[ug]=Bovo +Name[uk]=Бово +Name[wa]=Bovo +Name[x-test]=xxBovoxx +Name[zh_CN]=Bovo +Name[zh_TW]=Bovo +Icon=bovo +Type=Application +X-DocPath=bovo/index.html +GenericName=Five-in-a-row Board Game +GenericName[ast]=Xuegu de tableru cinco en llinia +GenericName[bs]=Pet-u-redu Igra na ploči +GenericName[ca]=Joc de cinc en fila +GenericName[ca@valencia]=Joc de cinc en fila +GenericName[cs]=Desková hra "pět v řadě" +GenericName[da]=Fem-på-række-brætspil +GenericName[de]=Fünf-Gewinnt-Brettspiel +GenericName[el]=Επιτραπέζιο παιχνίδι Πέντε στη σειρά +GenericName[en_GB]=Five-in-a-row Board Game +GenericName[eo]=Gobanga bretludo +GenericName[es]=Juego de tablero de cinco en línea +GenericName[et]=Viis ritta lauamäng +GenericName[eu]=Bostko artzain-jokoa +GenericName[fa]=بازی تخته پنج در یک سطر +GenericName[fi]=Viiden suora +GenericName[fr]=Jeu de plateau « Cinq-en-ligne » +GenericName[ga]=Cluiche cláir cúig-cinn-as-a-chéile +GenericName[gl]=Xogo de taboleiro «pai, fillo e nai» +GenericName[hne]=बोर्ड मं एक लकीर मं पांच वाले खेल +GenericName[hu]=Ötöt egy sorba táblajáték +GenericName[is]=Fimm-í-röð borðleikur +GenericName[it]=Forza 5, gioco da tavolo +GenericName[ja]=五目並べ +GenericName[kk]="Бесеуін - қатарға" ойны +GenericName[km]=ល្បែងក្ដារ ប្រាំក្នុងមួយជួរ +GenericName[ko]=오목 게임 +GenericName[lt]=Penki-vienoje-eilutėje stalo žaidimas +GenericName[lv]=Galda spēle pieci-rindā +GenericName[mr]=एका-ओळीत-पाच बोर्ड खेळ +GenericName[nb]=Brettspill fem på rad +GenericName[nds]="Fief op de Reeg"-Speel +GenericName[ne]=एक पङ्क्तिमा पाँच बोर्ड खेल +GenericName[nl]=Vijf-op-een-rij bordspel +GenericName[nn]=Fem på rad +GenericName[pl]=Gra planszowa "Pięć w rzędzie" +GenericName[pt]=Jogo de Tabuleiro Cinco-em-Linha +GenericName[pt_BR]=Jogo de tabuleiro como Reversi +GenericName[ro]=Joc de table Cinci-în-linie +GenericName[ru]=Японские крестики-нолики +GenericName[sk]=Stolová hra Piškvorky +GenericName[sl]=Namizna igra Pet v vrsto +GenericName[sr]=Игра на табли „пет у низу“ +GenericName[sr@ijekavian]=Игра на табли „пет у низу“ +GenericName[sr@ijekavianlatin]=Igra na tabli „pet u nizu“ +GenericName[sr@latin]=Igra na tabli „pet u nizu“ +GenericName[sv]=Fem-i-rad brädspel +GenericName[tr]=Bir-satırda-beş Tahta Oyunu +GenericName[ug]=بىر-قۇردا-بەش تاختا ئويۇنى +GenericName[uk]=Гра на дошці (п'ять-в-рядку) +GenericName[wa]=Djeu «cénk e roye» +GenericName[x-test]=xxFive-in-a-row Board Gamexx +GenericName[zh_CN]=五子棋游戏 +GenericName[zh_TW]=五子棋棋盤遊戲 +Terminal=false +StartupNotify=true +X-DBUS-StartupType=Multi +Categories=Qt;KDE;Game;BoardGame; +X-DBUS-ServiceName=org.kde.bovo
