Hello community, here is the log from the commit of package bomber for openSUSE:Factory checked in at 2016-05-29 03:07:36 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/bomber (Old) and /work/SRC/openSUSE:Factory/.bomber.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "bomber" Changes: -------- --- /work/SRC/openSUSE:Factory/bomber/bomber.changes 2016-03-29 09:56:51.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.bomber.new/bomber.changes 2016-05-29 03:07:38.000000000 +0200 @@ -1,0 +2,24 @@ +Sat May 7 10:10:53 UTC 2016 - tittiatc...@gmail.com + +- Update to KDE Applications 16.04.1 + * KDE Applications 16.04.1 + * https://www.kde.org/announcements/announce-applications-16.04.1.php + + +------------------------------------------------------------------- +Sun Apr 17 05:49:58 UTC 2016 - tittiatc...@gmail.com + +- Update to KDE Applications 16.04.0 + * KDE Applications 16.04.0 + * https://www.kde.org/announcements/announce-applications-16.04.0.php + + +------------------------------------------------------------------- +Mon Apr 11 06:30:44 UTC 2016 - tittiatc...@gmail.com + +- Update to KDE Applications 16.03.90 + * KDE Applications 16.04.0 RC + * https://www.kde.org/announcements/announce-applications-16.04-rc.php + + +------------------------------------------------------------------- Old: ---- bomber-15.12.3.tar.xz New: ---- bomber-16.04.1.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ bomber.spec ++++++ --- /var/tmp/diff_new_pack.0RQHtA/_old 2016-05-29 03:07:39.000000000 +0200 +++ /var/tmp/diff_new_pack.0RQHtA/_new 2016-05-29 03:07:39.000000000 +0200 @@ -17,7 +17,7 @@ Name: bomber -Version: 15.12.3 +Version: 16.04.1 Release: 0 Summary: Invading cities with a plane License: GPL-2.0+ ++++++ bomber-15.12.3.tar.xz -> bomber-16.04.1.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/CMakeLists.txt new/bomber-16.04.1/CMakeLists.txt --- old/bomber-15.12.3/CMakeLists.txt 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/CMakeLists.txt 2016-04-25 19:48:00.000000000 +0200 @@ -2,18 +2,20 @@ cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) set (QT_MIN_VERSION "5.3.0") +set (KF5_MIN_VERSION "5.15.0") find_package(ECM 1.8.0 REQUIRED CONFIG) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) -find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets ) -find_package(KF5 REQUIRED COMPONENTS - CoreAddons +find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Widgets) +find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Config + CoreAddons + Crash DBusAddons + DocTools I18n XmlGui - DocTools ) find_package(KF5KDEGames 4.9.0 REQUIRED) @@ -28,14 +30,20 @@ include(KDECMakeSettings) include(ECMAddAppIcon) -add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) -add_definitions("-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII") - +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 +) -add_subdirectory( themes ) -add_subdirectory( sounds ) -add_subdirectory( pictures ) -add_subdirectory( src ) -add_subdirectory( doc ) +add_subdirectory(themes) +add_subdirectory(sounds) +add_subdirectory(icons) +add_subdirectory(src) +add_subdirectory(doc) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) Files old/bomber-15.12.3/icons/128-apps-bomber.png and new/bomber-16.04.1/icons/128-apps-bomber.png differ Files old/bomber-15.12.3/icons/32-apps-bomber.png and new/bomber-16.04.1/icons/32-apps-bomber.png differ Files old/bomber-15.12.3/icons/48-apps-bomber.png and new/bomber-16.04.1/icons/48-apps-bomber.png differ Files old/bomber-15.12.3/icons/64-apps-bomber.png and new/bomber-16.04.1/icons/64-apps-bomber.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/icons/CMakeLists.txt new/bomber-16.04.1/icons/CMakeLists.txt --- old/bomber-15.12.3/icons/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/bomber-16.04.1/icons/CMakeLists.txt 2016-04-25 19:48:00.000000000 +0200 @@ -0,0 +1,2 @@ +ecm_install_icons(ICONS 128-apps-bomber.png 32-apps-bomber.png 48-apps-bomber.png 64-apps-bomber.png DESTINATION ${KDE_INSTALL_ICONDIR} THEME hicolor) + Files old/bomber-15.12.3/icons/hisc-apps-bomber.svgz and new/bomber-16.04.1/icons/hisc-apps-bomber.svgz differ Files old/bomber-15.12.3/pictures/128-apps-bomber.png and new/bomber-16.04.1/pictures/128-apps-bomber.png differ Files old/bomber-15.12.3/pictures/32-apps-bomber.png and new/bomber-16.04.1/pictures/32-apps-bomber.png differ Files old/bomber-15.12.3/pictures/48-apps-bomber.png and new/bomber-16.04.1/pictures/48-apps-bomber.png differ Files old/bomber-15.12.3/pictures/64-apps-bomber.png and new/bomber-16.04.1/pictures/64-apps-bomber.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/pictures/CMakeLists.txt new/bomber-16.04.1/pictures/CMakeLists.txt --- old/bomber-15.12.3/pictures/CMakeLists.txt 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/pictures/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -ecm_install_icons(ICONS 128-apps-bomber.png 32-apps-bomber.png 48-apps-bomber.png 64-apps-bomber.png DESTINATION ${KDE_INSTALL_ICONDIR} THEME hicolor) - Files old/bomber-15.12.3/pictures/hisc-apps-bomber.svgz and new/bomber-16.04.1/pictures/hisc-apps-bomber.svgz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/CMakeLists.txt new/bomber-16.04.1/src/CMakeLists.txt --- old/bomber-15.12.3/src/CMakeLists.txt 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/CMakeLists.txt 2016-04-25 19:48:00.000000000 +0200 @@ -11,19 +11,26 @@ explodable.cpp ) -kconfig_add_kcfg_files(bomber_SRCS settings.kcfgc ) -file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../pictures/*-apps-bomber.png") +kconfig_add_kcfg_files(bomber_SRCS settings.kcfgc) +file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../icons/*-apps-bomber.png") ecm_add_app_icon(bomber_SRCS ICONS ${ICONS_SRCS}) add_executable(bomber ${bomber_SRCS}) -target_link_libraries(bomber KF5KDEGames Phonon::phonon4qt5 KF5::XmlGui KF5::I18n KF5::DBusAddons) +target_link_libraries(bomber + KF5KDEGames + Phonon::phonon4qt5 + KF5::XmlGui + KF5::I18n + KF5::DBusAddons + KF5::Crash +) -install(TARGETS bomber ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) +install(TARGETS bomber ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) ########### install files ############### -install( PROGRAMS org.kde.bomber.desktop DESTINATION ${KDE_INSTALL_APPDIR} ) -install( FILES org.kde.bomber.appdata.xml DESTINATION ${CMAKE_INSTALL_METAINFODIR} ) -install( FILES bomber.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR} ) -install( FILES bomberui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/bomber ) +install(PROGRAMS org.kde.bomber.desktop DESTINATION ${KDE_INSTALL_APPDIR}) +install(FILES org.kde.bomber.appdata.xml DESTINATION ${CMAKE_INSTALL_METAINFODIR}) +install(FILES bomber.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) +install(FILES bomberui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/bomber) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/board.cpp new/bomber-16.04.1/src/board.cpp --- old/bomber-15.12.3/src/board.cpp 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/board.cpp 2016-04-25 19:48:00.000000000 +0200 @@ -51,9 +51,8 @@ const unsigned int BOMB_EXPLODE_TIME = 1000; BomberBoard::BomberBoard(KGameRenderer *renderer, QGraphicsView *view, QObject *parent) : - QGraphicsScene(parent), m_renderer(renderer), m_view(view) + QGraphicsScene(parent), m_renderer(renderer), m_audioPlayer(nullptr), m_bomb(nullptr), m_view(view) { - m_bomb = Q_NULLPTR; m_clock = new QTimer(this); m_clock->setInterval(GAME_DELAY); connect(m_clock, &QTimer::timeout, this, &BomberBoard::tick); @@ -64,8 +63,6 @@ resetPlane(); clear(); - m_audioPlayer = Q_NULLPTR; - m_soundPath = QStandardPaths::locate(QStandardPaths::DataLocation, QLatin1Literal("sounds"), QStandardPaths::LocateDirectory); } @@ -80,7 +77,7 @@ void BomberBoard::resetPlane() { - m_plane->setState(Explodable::Moving); + m_plane->setState(Explodable::State::Moving); m_plane->resetPosition(); } @@ -98,7 +95,7 @@ } m_plane->resize(m_tileSize); - if (m_bomb != Q_NULLPTR) { + if (m_bomb != nullptr) { m_bomb->resize(m_tileSize); } @@ -111,7 +108,7 @@ void BomberBoard::redraw() { m_plane->resetPixmaps(); - if (m_bomb != Q_NULLPTR) { + if (m_bomb != nullptr) { m_bomb->resetPixmaps(); } } @@ -130,10 +127,10 @@ m_clock->stop(); clear(); - m_plane->setState(Explodable::Moving); + m_plane->setState(Explodable::State::Moving); m_buildingBlocks = 0; //Create the buildings - for (unsigned int i = 0; i < NUMBER_BUILDINGS; i++) { + for (unsigned int i = 0; i < NUMBER_BUILDINGS; ++i) { unsigned int min = level; if (min < 3) { min = 3; @@ -175,7 +172,7 @@ void BomberBoard::setSounds(bool val) { m_playSounds = val; - if (val == true && m_audioPlayer == Q_NULLPTR) { + if (val == true && m_audioPlayer == nullptr) { m_audioPlayer = Phonon::createPlayer(Phonon::GameCategory); } } @@ -186,7 +183,7 @@ m_plane->advanceItem(); - if (m_bomb != Q_NULLPTR) { + if (m_bomb != nullptr) { m_bomb->advanceItem(); } @@ -197,7 +194,7 @@ // Draw everything m_plane->update(); - if (m_bomb != Q_NULLPTR) { + if (m_bomb != nullptr) { m_bomb->update(); } @@ -208,7 +205,7 @@ void BomberBoard::dropBomb() { - if (m_bomb == Q_NULLPTR && m_plane->state() == Explodable::Moving) { + if (m_bomb == nullptr && m_plane->state() == Explodable::State::Moving) { QPointF planePos = m_plane->position(); m_bomb = new Bomb(m_renderer, this, planePos.x(), planePos.y() + 1, m_tileSize); this->addItem(m_bomb); @@ -220,30 +217,30 @@ { foreach (Building *building, m_buildings) { if (m_plane->nextBoundingRect().intersects(building->boundingRect()) && m_plane->state() - == Explodable::Moving) { + == Explodable::State::Moving) { // Plane crashed into the building building->destoryTop(); - m_buildingBlocks--; + --m_buildingBlocks; crashed(); } - if (m_bomb != Q_NULLPTR) { + if (m_bomb != nullptr) { if (m_bomb->nextBoundingRect().intersects(building->boundingRect()) && m_bomb->state() - == Explodable::Moving) { + == Explodable::State::Moving) { // Bomb hit a building building->destoryTop(); - m_buildingBlocks--; + --m_buildingBlocks; emit onBombHit(); bombHit(m_bomb, building->position().x(), Building::BUILD_BASE_LOCATION - (building->height())); - m_bomb = Q_NULLPTR; + m_bomb = nullptr; } else if (m_bomb->position().y() >= Building::BUILD_BASE_LOCATION + 1) { // Bomb hit the ground bombHit(m_bomb, (unsigned int)m_bomb->position().x(), Building::BUILD_BASE_LOCATION); - m_bomb = Q_NULLPTR; + m_bomb = nullptr; } } - if (m_plane->state() == Explodable::Moving && m_buildingBlocks == 0) { + if (m_plane->state() == Explodable::State::Moving && m_buildingBlocks == 0) { emit levelCleared(); } } @@ -251,9 +248,8 @@ void BomberBoard::bombHit(Bomb *bomb, qreal moveBombToX, qreal moveBombToY) { - // playSound(QString("explode.ogg")); bomb->setPosition(moveBombToX, moveBombToY); - bomb->setState(Bomb::Exploding); + bomb->setState(Bomb::State::Exploding); m_explodingBombs.enqueue(bomb); QTimer::singleShot(BOMB_EXPLODE_TIME, this, SLOT(bombExploded())); } @@ -274,7 +270,7 @@ void BomberBoard::planeExploded() { - m_plane->setState(Plane::Exploded); + m_plane->setState(Plane::State::Exploded); emit onPlaneCrash(); } @@ -282,7 +278,7 @@ { QPointF pos = m_plane->position(); m_plane->setPosition(pos.x() + 1, pos.y()); - m_plane->setState(Plane::Exploding); + m_plane->setState(Plane::State::Exploding); playSound(QLatin1Literal("explode.ogg")); QTimer::singleShot(PLANE_EXPLODE_TIME, this, SLOT(planeExploded())); } @@ -293,7 +289,7 @@ m_buildings.clear(); delete m_bomb; - m_bomb = Q_NULLPTR; + m_bomb = nullptr; resetPlane(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/board.h new/bomber-16.04.1/src/board.h --- old/bomber-15.12.3/src/board.h 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/board.h 2016-04-25 19:48:00.000000000 +0200 @@ -51,7 +51,7 @@ * \param view The graphics view object which this board is bound to * \param parent The widget which the board is inserted into */ - explicit BomberBoard(KGameRenderer *renderer, QGraphicsView *view, QObject *parent = Q_NULLPTR); + explicit BomberBoard(KGameRenderer *renderer, QGraphicsView *view, QObject *parent = nullptr); ~BomberBoard(); @@ -138,7 +138,9 @@ void settingsChanged(); private slots: - /** This is called once a second to update and draw all the game objects */ + /** + * This is called once a second to update and draw all the game objects + */ void tick(); /** @@ -176,10 +178,14 @@ */ void crashed(); - /** This is the renderer used to render game objects */ + /** + * This is the renderer used to render game objects + */ KGameRenderer *m_renderer; - /** This is the size of a tiling block */ + /** + * This is the size of a tiling block + */ QSize m_tileSize; QTimer *m_clock; @@ -187,22 +193,34 @@ bool m_playSounds; QDir m_soundPath; - /** If their is a bomb currently dropping then it is pointed to by this */ + /** + * If their is a bomb currently dropping then it is pointed to by this + */ Bomb *m_bomb; - /** This points to the plane object used in the level */ + /** + * This points to the plane object used in the level + */ Plane *m_plane; - /** This contains all the buildings in the current level */ + /** + * This contains all the buildings in the current level + */ QList<Building *> m_buildings; - /** This contains all the bombs that are currently exploding */ + /** + * This contains all the bombs that are currently exploding + */ QQueue<Bomb *> m_explodingBombs; - /** This is the number of blocks that make up the buildings */ + /** + * This is the number of blocks that make up the buildings + */ unsigned int m_buildingBlocks; - /** This is the graphics view object which this board is bound. */ + /** + * This is the graphics view object which this board is bound. + */ QGraphicsView *m_view; }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/bomb.cpp new/bomber-16.04.1/src/bomb.cpp --- old/bomber-15.12.3/src/bomb.cpp 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/bomb.cpp 2016-04-25 19:48:00.000000000 +0200 @@ -43,7 +43,7 @@ void Bomb::advanceItem() { - if (state() == Moving) { + if (state() == State::Moving) { m_yPos += velocity(); } m_nextBoundingRect.moveTo(m_xPos, m_yPos + velocity()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/bomber.cpp new/bomber-16.04.1/src/bomber.cpp --- old/bomber-15.12.3/src/bomber.cpp 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/bomber.cpp 2016-04-25 19:48:00.000000000 +0200 @@ -64,8 +64,6 @@ setFocus(); setupGUI(); - - // readSettings(); } Bomber::~Bomber() @@ -111,15 +109,15 @@ { // Check for running game closeGame(); - if (m_gameWidget->state() == BomberGameWidget::BeforeFirstGame - || m_gameWidget->state() == BomberGameWidget::GameOver) { + if (m_gameWidget->state() == BomberGameWidget::State::BeforeFirstGame + || m_gameWidget->state() == BomberGameWidget::State::GameOver) { m_gameWidget->newGame(); } } void Bomber::pauseGame() { - if (m_gameWidget->state() == BomberGameWidget::Paused) { + if (m_gameWidget->state() == BomberGameWidget::State::Paused) { m_gameWidget->setPaused(false); } else { m_gameWidget->setPaused(true); @@ -128,13 +126,13 @@ void Bomber::closeGame() { - if (m_gameWidget->state() == BomberGameWidget::BeforeFirstGame - || m_gameWidget->state() == BomberGameWidget::GameOver) { + if (m_gameWidget->state() == BomberGameWidget::State::BeforeFirstGame + || m_gameWidget->state() == BomberGameWidget::State::GameOver) { return; } BomberGameWidget::State old_state = m_gameWidget->state(); - if (old_state == BomberGameWidget::Running) { + if (old_state == BomberGameWidget::State::Running) { m_gameWidget->setPaused(true); } int ret = KMessageBox::questionYesNo(this, i18nc("Message displayed when play tries to quit a game that is currently running", @@ -142,7 +140,7 @@ KStandardGuiItem::close(), KStandardGuiItem::cancel()); if (ret == KMessageBox::Yes) { m_gameWidget->closeGame(); - } else if (old_state == BomberGameWidget::Running) { + } else if (old_state == BomberGameWidget::State::Running) { m_gameWidget->setPaused(false); } } @@ -158,14 +156,15 @@ void Bomber::highscore() { - KScoreDialog ksdialog(KScoreDialog::Name | KScoreDialog::Score | KScoreDialog::Level, this); + QPointer<KScoreDialog> ksdialog = new KScoreDialog(KScoreDialog::Name | KScoreDialog::Score | KScoreDialog::Level, this); KScoreDialog::FieldInfo info; info[KScoreDialog::Score].setNum(m_gameWidget->score()); info[KScoreDialog::Level].setNum(m_gameWidget->level()); - if (ksdialog.addScore(info)) { - ksdialog.exec(); + if (ksdialog->addScore(info)) { + ksdialog->exec(); } + delete ksdialog; } void Bomber::setSounds(bool val) @@ -198,16 +197,15 @@ void Bomber::gameStateChanged(BomberGameWidget::State state) { switch (state) { - - case BomberGameWidget::Paused: + case BomberGameWidget::State::Paused: m_pauseAction->setChecked(true); m_statusBar->clearMessage(); break; - case BomberGameWidget::Running: + case BomberGameWidget::State::Running: m_pauseAction->setChecked(false); m_statusBar->clearMessage(); break; - case BomberGameWidget::GameOver: + case BomberGameWidget::State::GameOver: m_statusBar->showMessage(i18nc("Game over messaged displayed in the status bar", "Game over. Press '%1' for a new game", m_newAction->shortcuts().first().toString(QKeySequence::NativeText))); highscore(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/bomber.h new/bomber-16.04.1/src/bomber.h --- old/bomber-15.12.3/src/bomber.h 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/bomber.h 2016-04-25 19:48:00.000000000 +0200 @@ -39,18 +39,11 @@ { Q_OBJECT public: - /** - * Default Constructor - */ Bomber(); + virtual ~Bomber(); void readSettings(); - /** - * Default Destructor - */ - virtual ~Bomber(); - private slots: void closeGame(); void newGame(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/bomberui.rc new/bomber-16.04.1/src/bomberui.rc --- old/bomber-15.12.3/src/bomberui.rc 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/bomberui.rc 2016-04-25 19:48:00.000000000 +0200 @@ -1,24 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> -<gui name="Bomber" - version="1" - xmlns="http://www.kde.org/standards/kxmlgui/1.0" +<gui xmlns="http://www.kde.org/standards/kxmlgui/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + name="Bomber" + version="2" xsi:schemaLocation="http://www.kde.org/standards/kxmlgui/1.0 http://www.kde.org/standards/kxmlgui/1.0/kxmlgui.xsd"> - <MenuBar> - <Menu name="settings"> - <Action name="toggle_sound" append="save_merge" /> - </Menu> - </MenuBar> - <ToolBar name="mainToolBar"> - <text>Main Toolbar</text> - <Action name="game_new" /> - <Action name="game_pause" /> - <Separator /> - <Action name="game_highscores" /> - </ToolBar> - <StatusBar /> - <ActionProperties> - <Action shortcut="Space" name="drop_bomb" /> - </ActionProperties> + <MenuBar> + <Menu name="settings"> + <Action name="toggle_sound" append="save_merge"/> + </Menu> + </MenuBar> + <ToolBar name="mainToolBar"> + <text>Main Toolbar</text> + <Action name="game_new"/> + <Action name="game_pause"/> + <Separator/> + <Action name="game_highscores"/> + </ToolBar> + <ActionProperties> + <Action shortcut="Space" name="drop_bomb"/> + </ActionProperties> </gui> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/bomberwidget.cpp new/bomber-16.04.1/src/bomberwidget.cpp --- old/bomber-15.12.3/src/bomberwidget.cpp 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/bomberwidget.cpp 2016-04-25 19:48:00.000000000 +0200 @@ -37,7 +37,7 @@ static const unsigned int OVERLAY_Z_VALUE = 1000; BomberGameWidget::BomberGameWidget(KgThemeProvider *provider, QWidget *parent) : - QGraphicsView(parent), m_state(BeforeFirstGame), m_level(0), m_lives(0), m_time(0), + QGraphicsView(parent), m_state(State::BeforeFirstGame), m_level(0), m_lives(0), m_time(0), m_renderer(provider) { // Gameboard @@ -69,7 +69,6 @@ BomberGameWidget::~BomberGameWidget() { delete m_board; - //delete m_overlay; // m_overlay is implicitly deleted by m_board } unsigned int BomberGameWidget::level() const @@ -84,10 +83,10 @@ void BomberGameWidget::closeGame() { - if (m_state != BeforeFirstGame && m_state != GameOver) { + if (m_state != State::BeforeFirstGame && m_state != State::GameOver) { closeLevel(); - m_state = GameOver; + m_state = State::GameOver; emit stateChanged(m_state); emit gameOver(); @@ -113,35 +112,31 @@ void BomberGameWidget::setPaused(bool val) { - if (m_state == Paused && val == false) { + if (m_state == State::Paused && val == false) { m_clock->start(); m_board->setPaused(false); - m_state = Running; - emit stateChanged(m_state); - } else if (m_state == Running && val == true) { + m_state = State::Running; + } else if (m_state == State::Running && val == true) { m_clock->stop(); m_board->setPaused(true); - m_state = Paused; - emit stateChanged(m_state); + m_state = State::Paused; } - + emit stateChanged(m_state); redraw(); } void BomberGameWidget::setSuspended(bool val) { - if (m_state == Suspended && val == false) { + if (m_state == State::Suspended && val == false) { m_clock->start(); m_board->setPaused(false); - m_state = Running; - emit stateChanged(m_state); - } - if (m_state == Running && val == true) { + m_state = State::Running; + } else if (m_state == State::Running && val == true) { m_clock->stop(); m_board->setPaused(true); - m_state = Suspended; - emit stateChanged(m_state); + m_state = State::Suspended; } + emit stateChanged(m_state); redraw(); } @@ -157,7 +152,7 @@ void BomberGameWidget::onPlaneCrashed() { - m_lives--; + --m_lives; emit livesChanged(m_lives); if (m_lives <= 0) { closeGame(); @@ -169,24 +164,23 @@ void BomberGameWidget::onBombHit() { unsigned int bonus = SCORE_INCREMENT * m_level; - m_score += bonus; emit - scoreChanged(m_score); + m_score += bonus; + emit scoreChanged(m_score); m_scoreLeftBeforeNewLife -= bonus; if (m_scoreLeftBeforeNewLife <= 0) { m_scoreLeftBeforeNewLife = NEW_LIVE_AT_SCORE; - m_lives++; + ++m_lives; emit livesChanged(m_lives); } - } void BomberGameWidget::tick() { static signed int ticks = TICKS_PER_SECOND; - ticks--; + --ticks; if (ticks <= 0) { - m_time++; emit - timeChanged(m_time); + ++m_time; + emit timeChanged(m_time); ticks = TICKS_PER_SECOND; } } @@ -206,16 +200,15 @@ void BomberGameWidget::newLevel() { - m_state = Running; emit - stateChanged(m_state); + m_state = State::Running; + emit stateChanged(m_state); m_clock->start(); m_board->newLevel(m_level); m_board->setPaused(false); - emit - livesChanged(m_lives); emit - timeChanged(m_time); + emit livesChanged(m_lives); + emit timeChanged(m_time); redraw(); } @@ -229,11 +222,11 @@ void BomberGameWidget::onDropBomb() { - if (m_state == Running) { + if (m_state == State::Running) { m_board->dropBomb(); - } else if (m_state == BetweenLevels) { + } else if (m_state == State::BetweenLevels) { newLevel(); - } else if (m_state == BeforeFirstGame) { + } else if (m_state == State::BeforeFirstGame) { newGame(); } } @@ -245,14 +238,14 @@ } QGraphicsItem *item; switch (m_state) { - case BeforeFirstGame: + case State::BeforeFirstGame: foreach (item, m_board->items()) { item->hide(); } generateOverlay(); m_overlay->show(); break; - case Running: + case State::Running: foreach (item, m_board->items()) { item->show(); } @@ -286,17 +279,17 @@ QString text; switch (m_state) { - case BeforeFirstGame: + case State::BeforeFirstGame: text = i18nc("Message show to the user when the game is loaded", "Welcome to Bomber.\nClick to start a game"); break; - case Paused: + case State::Paused: text = i18nc("Message show to the user while the game is paused", "Paused"); break; - case BetweenLevels: + case State::BetweenLevels: text = i18nc("Message telling user which level they just completed", "You have successfully cleared level %1\n", m_level - 1) + i18nc("Message telling user which level they are about to start", "On to level %1.", m_level); break; - case GameOver: + case State::GameOver: text = i18nc("Used to tell the user that the game is over", "Game over."); break; default: @@ -308,8 +301,8 @@ p.setFont(font); unsigned int textWidth = p.boundingRect(p.viewport(), Qt::AlignCenter | Qt::AlignVCenter, text).width(); unsigned int fontSize = 28; - while ((textWidth > itemWidth * 0.95)) { - fontSize--; + while (textWidth > itemWidth * 0.95) { + --fontSize; font.setPointSize(fontSize); p.setFont(font); textWidth = p.boundingRect(p.viewport(), Qt::AlignCenter | Qt::AlignVCenter, text).width(); @@ -326,17 +319,14 @@ void BomberGameWidget::onLevelCleared() { - if (m_state == Running) { - m_state = BetweenLevels; + if (m_state == State::Running) { + m_state = State::BetweenLevels; closeLevel(); - m_level++; emit - levelChanged(m_level); - - emit - stateChanged(m_state); + ++m_level; + emit levelChanged(m_level); + emit stateChanged(m_state); redraw(); } - } BomberGameWidget::State BomberGameWidget::state() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/bomberwidget.h new/bomber-16.04.1/src/bomberwidget.h --- old/bomber-15.12.3/src/bomberwidget.h 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/bomberwidget.h 2016-04-25 19:48:00.000000000 +0200 @@ -35,11 +35,13 @@ Q_OBJECT public: - /** The different states that the game can be in */ - enum State + /** + * The different states that the game can be in + */ + enum class State { BeforeFirstGame, Running, BetweenLevels, Paused, Suspended, GameOver}; - explicit BomberGameWidget(KgThemeProvider *provider, QWidget *parent = Q_NULLPTR); + explicit BomberGameWidget(KgThemeProvider *provider, QWidget *parent = nullptr); ~BomberGameWidget(); /** @@ -176,15 +178,16 @@ unsigned int m_score; unsigned int m_lives; unsigned int m_time; - /** Used to store the remaining score before a new life is given */ - unsigned int m_scoreLeftBeforeNewLife; + /** + * Used to store the remaining score before a new life is given + */ + int m_scoreLeftBeforeNewLife; KGameRenderer m_renderer; QTimer *m_clock; BomberBoard *m_board; QGraphicsPixmapItem *m_overlay; - }; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/building.cpp new/bomber-16.04.1/src/building.cpp --- old/bomber-15.12.3/src/building.cpp 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/building.cpp 2016-04-25 19:48:00.000000000 +0200 @@ -32,17 +32,14 @@ * 1.0 means it's the same size as the tile. */ const qreal BUILDING_RELATIVE_HEIGHT = 1.0; -const unsigned int MAX_STYLE = 1; /** The vertical tile number of the bottom tile in the building */ const unsigned int Building::BUILD_BASE_LOCATION = 16; Building::Building(KGameRenderer *renderer, BomberBoard *board, unsigned int position, unsigned int height) : - m_renderer(renderer), m_board(board) + m_height(0), m_renderer(renderer), m_board(board), m_xPos(position) { - m_height = 0; - m_xPos = position; setHeight(height); setupBuildingTiles(); } @@ -59,7 +56,7 @@ { if (height < m_height) { // Building getting smaller so remove the top - for (unsigned int i = 1; i <= m_height - height; i++) { + for (unsigned int i = 1; i <= m_height - height; ++i) { m_buildingTiles.at(m_height - i)->hide(); m_board->removeItem(m_buildingTiles.at(m_height - i)); delete m_buildingTiles.at(m_height - i); @@ -86,7 +83,7 @@ unsigned int style = KRandom::random() % styleCount; unsigned int maxVarient = m_renderer->frameCount(QString::fromLatin1("building_%1").arg(style)); - for (unsigned int heightIndex = 0; heightIndex < m_height - 1; heightIndex++) { + for (unsigned int heightIndex = 0; heightIndex < m_height - 1; ++heightIndex) { unsigned int varient = KRandom::random() % (maxVarient); const QString pixmap = QString::fromLatin1("building_%1_%2").arg(style).arg(varient); m_buildingTiles.append(createBuildingTile(pixmap)); @@ -118,7 +115,7 @@ { QSize tileSize(static_cast<unsigned int>(BUILDING_RELATIVE_WIDTH * size.width()), static_cast<unsigned int>(BUILDING_RELATIVE_HEIGHT * size.height())); - for (int i = 0; i < m_buildingTiles.size(); i++) { + for (int i = 0; i < m_buildingTiles.size(); ++i) { KGameRenderedItem *tile = m_buildingTiles.at(i); tile->setRenderSize(tileSize); tile->setPos(m_board->mapPosition(QPointF(m_xPos, BUILD_BASE_LOCATION - i))); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/building.h new/bomber-16.04.1/src/building.h --- old/bomber-15.12.3/src/building.h 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/building.h 2016-04-25 19:48:00.000000000 +0200 @@ -19,9 +19,9 @@ #ifndef BUILDING_H #define BUILDING_H -#include <QtCore/QRect> -#include <QtCore/QSize> -#include <QtCore/QList> +#include <QRect> +#include <QSize> +#include <QList> class KGameRenderedItem; class KGameRenderer; @@ -61,7 +61,9 @@ */ void setFrame(unsigned int frame); - /** Show the building item on the game scene */ + /** + * Show the building item on the game scene + */ void show(); /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/explodable.cpp new/bomber-16.04.1/src/explodable.cpp --- old/bomber-15.12.3/src/explodable.cpp 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/explodable.cpp 2016-04-25 19:48:00.000000000 +0200 @@ -43,7 +43,7 @@ m_relativeWidth = relativeWidth; m_relativeHeight = relativeHeight; resetPixmaps(); - m_state = Moving; + m_state = State::Moving; m_nextBoundingRect.setSize(QSizeF(m_relativeWidth, m_relativeHeight)); setPos(m_board->mapPosition(QPointF(m_xPos, m_yPos))); } @@ -67,7 +67,7 @@ void Explodable::resize(const QSize &tileSize) { m_lastSize = tileSize; - if (m_state == Moving) { + if (m_state == State::Moving) { setRenderSize(QSize( m_relativeWidth * tileSize.width(), m_relativeHeight * tileSize.height() @@ -104,7 +104,7 @@ { m_state = state; setRandomFrame(); - if (m_state == Moving) { + if (m_state == State::Moving) { m_nextBoundingRect.setSize(QSizeF(m_relativeWidth, m_relativeHeight)); setSpriteKey(m_mainSvg); } else { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/explodable.h new/bomber-16.04.1/src/explodable.h --- old/bomber-15.12.3/src/explodable.h 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/explodable.h 2016-04-25 19:48:00.000000000 +0200 @@ -30,7 +30,7 @@ { public: /** The states that a bomb can be in */ - enum State { + enum class State { Moving, Exploding, Exploded }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/main.cpp new/bomber-16.04.1/src/main.cpp --- old/bomber-15.12.3/src/main.cpp 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/main.cpp 2016-04-25 19:48:00.000000000 +0200 @@ -18,6 +18,7 @@ #include "bomber.h" #include <KAboutData> +#include <KCrash> #include <KLocalizedString> #include <QApplication> @@ -27,7 +28,7 @@ static const char description[] = I18N_NOOP("Arcade bombing game"); -static const char version[] = "0.2"; +static const char version[] = "0.3"; int main(int argc, char **argv) { @@ -48,6 +49,7 @@ QLatin1Literal("maem...@gmail.com")); QCommandLineParser parser; KAboutData::setApplicationData(about); + KCrash::initialize(); parser.addVersionOption(); parser.addHelpOption(); about.setupCommandLine(&parser); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/org.kde.bomber.appdata.xml new/bomber-16.04.1/src/org.kde.bomber.appdata.xml --- old/bomber-15.12.3/src/org.kde.bomber.appdata.xml 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/org.kde.bomber.appdata.xml 2016-04-25 19:48:00.000000000 +0200 @@ -13,7 +13,6 @@ <name xml:lang="de">Bomber</name> <name xml:lang="en-GB">Bomber</name> <name xml:lang="es">Bomber</name> - <name xml:lang="et">Bomber</name> <name xml:lang="fi">Bomber</name> <name xml:lang="fr">Bomber</name> <name xml:lang="gl">Bomber</name> @@ -50,7 +49,6 @@ <p xml:lang="de">Bomber ist ein Arcade-Spiel für einen Spieler, bei dem unterschiedliche und in der Höhe steigende Städte mit einem Flugzeug angegriffen werden.</p> <p xml:lang="en-GB">Bomber is a single player arcade game. The player is invading various cities in a plane that is decreasing in height.</p> <p xml:lang="es">Bomber es un juego recreativo para un único jugador. El jugador está invadiendo diversas ciudades en un avión que cada vez vuela más bajo.</p> - <p xml:lang="et">Bomber on üksikmängija arkaadmäng. Mängija peab ründama erinevaid linnu lennukil, mis laskub aina madalamale.</p> <p xml:lang="fi">Bomber on yhden pelaajan pelihallipeli, jossa pelaaja hyökkää kaupunkeihin lentokoneella, jonka korkeus vähenee vähitellen.</p> <p xml:lang="fr">Bomber est un jeu d'arcade pour un seul joueur. Le joueur doit envahir des villes depuis un avion dont l'altitude décroît.</p> <p xml:lang="gl">Bomber é un xogo arcade para un único xogador, que montado nun avión invadirá varias cidades mentres o aparello vai reducindo a súa altitude.</p> @@ -86,7 +84,6 @@ <p xml:lang="de">Das Spielziel ist die Zerstörung aller Gebäude und der damit verbundene Aufstieg in die nächste Ebene. Die Ebenen werden durch die zunehmende Geschwindigkeit der Flugzeuge und Höhe der Gebäude immer schwieriger.</p> <p xml:lang="en-GB">The goal of the game is to destroy all the buildings and advance to the next level. Each level gets a bit harder by increasing the speed of the plane and the height of the buildings.</p> <p xml:lang="es">El objetivo del juego consiste en destruir todos los edificios para avanzar hasta el siguiente nivel. Cada nivel se va haciendo más difícil al aumentarse la velocidad del avión y la altura de los edificios.</p> - <p xml:lang="et">Mängu eesmärk on hävitada kõik ehitised ja jõuda järgmisele tasemele. Iga tase muutub aina raskemaks: suureneb lennuki kiirus ning kasvab ehitiste kõrgus.</p> <p xml:lang="fi">Pelin tavoitteena on tuhota kaikki rakennukset ja edetä seuraavalle tasolle. Kukin taso on edellistä vaikeampi; lentokone on nopeampi ja rakennukset ovat korkeampia.</p> <p xml:lang="fr">Le but du jeu est de détruire tous les bâtiments pour atteindre le niveau suivant. Chaque niveau devient plus difficile en augmentant la vitesse de l'avion et la hauteur des bâtiments.</p> <p xml:lang="gl">O obxectivo do xogo consiste en destruír os edificios e avanzar ao seguinte nivel. Cada novo nivel resultará máis difícil, pois aumentará a velocidade do avión, así como a altura dos edificios.</p> @@ -129,7 +126,6 @@ <developer_name xml:lang="de">Die KDE-Gemeinschaft</developer_name> <developer_name xml:lang="en-GB">The KDE Community</developer_name> <developer_name xml:lang="es">La comunidad KDE</developer_name> - <developer_name xml:lang="et">KDE kogukond</developer_name> <developer_name xml:lang="fi">KDE-yhteisö</developer_name> <developer_name xml:lang="fr">La communauté KDE</developer_name> <developer_name xml:lang="gl">A comunidade de KDE</developer_name> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/org.kde.bomber.desktop new/bomber-16.04.1/src/org.kde.bomber.desktop --- old/bomber-15.12.3/src/org.kde.bomber.desktop 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/org.kde.bomber.desktop 2016-04-25 19:48:00.000000000 +0200 @@ -1,4 +1,13 @@ [Desktop Entry] +Type=Application +Exec=bomber -qwindowtitle %c +Icon=bomber +Terminal=false +StartupNotify=true +X-DBUS-StartupType=Multi +X-DBUS-ServiceName=org.kde.bomber +X-DocPath=bomber/index.html +Categories=Qt;KDE;Game;ArcadeGame; Name=Bomber Name[ast]=Bomber Name[bs]=Bombarder @@ -53,10 +62,6 @@ Name[x-test]=xxBomberxx Name[zh_CN]=投弹者 Name[zh_TW]=戰鬥機 -Exec=bomber -qwindowtitle %c -Icon=bomber -Type=Application -Terminal=false GenericName=Arcade Bombing Game GenericName[ast]=Xuegu de bombardéu Arcade GenericName[bs]=Bombaški napad arkada igra @@ -108,7 +113,3 @@ GenericName[x-test]=xxArcade Bombing Gamexx GenericName[zh_CN]=街机上的投弹游戏 GenericName[zh_TW]=大型遊戲機的戰鬥機遊戲 -Categories=Qt;KDE;Game;ArcadeGame; -X-DocPath=bomber/index.html -X-DBUS-StartupType=Multi -X-DBUS-ServiceName=org.kde.bomber diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/src/plane.cpp new/bomber-16.04.1/src/plane.cpp --- old/bomber-15.12.3/src/plane.cpp 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/src/plane.cpp 2016-04-25 19:48:00.000000000 +0200 @@ -49,11 +49,11 @@ void Plane::advanceItem() { - if (state() == Moving) { + if (state() == State::Moving) { m_xPos += velocity(); if (m_xPos > PLANE_MAX_POSITION_X) { m_xPos = 0; - m_yPos++; + ++m_yPos; } } m_nextBoundingRect.moveTo(m_xPos + velocity(), m_yPos); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/bomber-15.12.3/themes/CMakeLists.txt new/bomber-16.04.1/themes/CMakeLists.txt --- old/bomber-15.12.3/themes/CMakeLists.txt 2016-01-14 12:35:03.000000000 +0100 +++ new/bomber-16.04.1/themes/CMakeLists.txt 2016-04-25 19:48:00.000000000 +0200 @@ -1,3 +1,4 @@ install( FILES kbomber.desktop kbomber.png kbomber.svgz DESTINATION ${KDE_INSTALL_DATADIR}/bomber/themes ) install( FILES Lava-Island.desktop lava-Island.png Lava-Island.svgz DESTINATION ${KDE_INSTALL_DATADIR}/bomber/themes ) +