Hello community,

here is the log from the commit of package kblackbox for openSUSE:Factory 
checked in at 2015-05-11 17:38:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kblackbox (Old)
 and      /work/SRC/openSUSE:Factory/.kblackbox.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kblackbox"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kblackbox/kblackbox.changes      2015-03-11 
09:45:20.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kblackbox.new/kblackbox.changes 2015-05-11 
17:38:58.000000000 +0200
@@ -1,0 +2,22 @@
+Sat Apr 11 12:43:50 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:20:26 UTC 2015 - [email protected]
+
+- Update to KDE Applications 15.03.95
+   * KDE Applications 15.04 RC
+
+
+-------------------------------------------------------------------
+Sun Mar  8 12:36:03 UTC 2015 - [email protected]
+
+- Update to KDE Applications 15.03.80
+   * KDE Applications 15.04 Beta
+
+
+-------------------------------------------------------------------

Old:
----
  kblackbox-14.12.3.tar.xz

New:
----
  kblackbox-15.04.0.tar.xz

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

Other differences:
------------------
++++++ kblackbox.spec ++++++
--- /var/tmp/diff_new_pack.MJZCOw/_old  2015-05-11 17:38:58.000000000 +0200
+++ /var/tmp/diff_new_pack.MJZCOw/_new  2015-05-11 17:38:58.000000000 +0200
@@ -18,16 +18,33 @@
 
 Name:           kblackbox
 BuildRequires:  libkdegames-devel
-BuildRequires:  xz
+BuildRequires:  update-desktop-files
+BuildRequires:  pkgconfig(Qt5Widgets)
+BuildRequires:  pkgconfig(Qt5QuickWidgets)
+BuildRequires:  pkgconfig(Qt5Test)
+BuildRequires:  pkgconfig(Qt5Svg)
+BuildRequires:  kconfig-devel
+BuildRequires:  kcoreaddons-devel
+BuildRequires:  kwidgetsaddons-devel
+BuildRequires:  ki18n-devel
+BuildRequires:  kguiaddons-devel
+BuildRequires:  kconfigwidgets-devel
+BuildRequires:  kitemviews-devel
+BuildRequires:  kiconthemes-devel
+BuildRequires:  kxmlgui-devel
+BuildRequires:  kio-devel
+BuildRequires:  knotifyconfig-devel
+BuildRequires:  kdelibs4support-devel
 Summary:        Logic game
 License:        GPL-2.0+
 Group:          Amusements/Games/Board/Puzzle
 Url:            http://www.kde.org
-Version:        14.12.3
+Version:        15.04.0
 Release:        0
 Source0:        kblackbox-%{version}.tar.xz
+Obsoletes:      %{name}5 < %{version}
+Provides:       %{name}5 = %{version}
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%kde4_runtime_requires
 
 %description
 KBlackbox is a graphical logical game, inspired by emacs' blackbox. It
@@ -37,14 +54,12 @@
 %setup -q -n kblackbox-%{version}
 
 %build
-  %cmake_kde4 -d build
+  %cmake_kf5 -d build
   %make_jobs
 
 %install
-  cd build
-  %kde4_makeinstall
-  %suse_update_desktop_file -r kblackbox       Game BoardGame
-  %kde_post_install
+  %kf5_makeinstall -C build
+  %suse_update_desktop_file -r org.kde.kblackbox       Game BoardGame
 
 %post -p /sbin/ldconfig
 
@@ -53,10 +68,12 @@
 %files 
 %defattr(-,root,root)
 %doc COPYING COPYING.DOC
-%{_kde4_bindir}/kblackbox
-%{_kde4_applicationsdir}/kblackbox.desktop
-%{_kde4_htmldir}/en/kblackbox/
-%{_kde4_iconsdir}/hicolor/*/apps/kblackbox.*
-%{_kde4_appsdir}/kblackbox/
+%{_kf5_bindir}/kblackbox
+%{_kf5_applicationsdir}/org.kde.kblackbox.desktop
+%{_kf5_htmldir}/en/kblackbox/
+%{_kf5_iconsdir}/hicolor/*/apps/kblackbox.*
+%{_kf5_appsdir}/kblackbox/
+%_datadir/appdata/kblackbox.appdata.xml
+%_datadir/kxmlgui5/kblackbox/
 
 %changelog

++++++ kblackbox-14.12.3.tar.xz -> kblackbox-15.04.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/CMakeLists.txt 
new/kblackbox-15.04.0/CMakeLists.txt
--- old/kblackbox-14.12.3/CMakeLists.txt        2014-12-31 07:59:01.000000000 
+0100
+++ new/kblackbox-15.04.0/CMakeLists.txt        2015-03-25 13:20:57.000000000 
+0100
@@ -1,15 +1,33 @@
 project(kblackbox)
 
-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.3.0")
+
+find_package(ECM 1.3.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 Svg)
+find_package(KF5 REQUIRED COMPONENTS 
+    CoreAddons 
+    Config 
+    Config 
+    I18n 
+    GuiAddons 
+    IconThemes 
+    XmlGui)
+
+find_package(KF5KDEGames 4.9.0 REQUIRED)
+
+include(FeatureSummary)
+include(ECMInstallIcons)
+include(KDEInstallDirs)
+include(KDECompilerSettings)
+include(KDECMakeSettings)
+
+add_definitions("-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII")
+add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
+add_definitions(-DTRANSLATION_DOMAIN="kblackbox")
+
 
 add_subdirectory(pics)
 add_subdirectory(doc)
@@ -40,15 +58,18 @@
     main.cpp
 )
 
-kde4_add_kcfg_files(kblackbox_SRCS kbbprefs.kcfgc)
+kconfig_add_kcfg_files(kblackbox_SRCS kbbprefs.kcfgc)
 
-kde4_add_app_icon(kblackbox_SRCS 
"${CMAKE_CURRENT_SOURCE_DIR}/hi*-app-kblackbox.png")
-kde4_add_executable(kblackbox ${kblackbox_SRCS})
-target_link_libraries(kblackbox ${QT_QTXML_LIBRARY} ${KDE4_KDEUI_LIBS} 
kdegames)
+kde4_add_app_icon(kblackbox_SRCS 
"${CMAKE_CURRENT_SOURCE_DIR}/hi*-apps-kblackbox.png")
+add_executable(kblackbox ${kblackbox_SRCS})
+target_link_libraries(kblackbox Qt5::Xml  KF5KDEGames KF5::XmlGui Qt5::Svg 
KF5::I18n KF5::Archive KF5::TextWidgets KF5::DBusAddons)
 
 
 install(TARGETS kblackbox  ${INSTALL_TARGETS_DEFAULT_ARGS})
-install(PROGRAMS kblackbox.desktop  DESTINATION  ${XDG_APPS_INSTALL_DIR})
-install(FILES kblackboxui.rc  DESTINATION  ${DATA_INSTALL_DIR}/kblackbox)
+install(PROGRAMS org.kde.kblackbox.desktop  DESTINATION  
${XDG_APPS_INSTALL_DIR})
+install(FILES kblackbox.appdata.xml  DESTINATION  share/appdata)
+install(FILES kblackboxui.rc  DESTINATION  ${KXMLGUI_INSTALL_DIR}/kblackbox)
+
+ecm_install_icons(ICONS hi128-apps-kblackbox.png  hi16-apps-kblackbox.png  
hi22-apps-kblackbox.png  hi32-apps-kblackbox.png  hi48-apps-kblackbox.png  
hi64-apps-kblackbox.png DESTINATION ${ICON_INSTALL_DIR})
 
-kde4_install_icons(${ICON_INSTALL_DIR})
+feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/README.PACKAGERS 
new/kblackbox-15.04.0/README.PACKAGERS
--- old/kblackbox-14.12.3/README.PACKAGERS      2014-12-31 07:59:01.000000000 
+0100
+++ new/kblackbox-15.04.0/README.PACKAGERS      1970-01-01 01:00:00.000000000 
+0100
@@ -1 +0,0 @@
-EXTENDED
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/VERSION 
new/kblackbox-15.04.0/VERSION
--- old/kblackbox-14.12.3/VERSION       2014-12-31 07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/VERSION       1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-kblackbox-0.4.0-svn
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/doc/CMakeLists.txt 
new/kblackbox-15.04.0/doc/CMakeLists.txt
--- old/kblackbox-14.12.3/doc/CMakeLists.txt    2014-12-31 07:59:01.000000000 
+0100
+++ new/kblackbox-15.04.0/doc/CMakeLists.txt    2015-03-25 13:20:57.000000000 
+0100
@@ -1,4 +1,4 @@
 ########### install files ###############
 #
 #
-kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en 
SUBDIR kblackbox)
+kdoctools_create_handbook(index.docbook INSTALL_DESTINATION 
${HTML_INSTALL_DIR}/en SUBDIR kblackbox)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/doc/index.docbook 
new/kblackbox-15.04.0/doc/index.docbook
--- old/kblackbox-14.12.3/doc/index.docbook     2014-12-31 07:59:01.000000000 
+0100
+++ new/kblackbox-15.04.0/doc/index.docbook     2015-03-25 13:20:57.000000000 
+0100
@@ -1,6 +1,6 @@
 <?xml version="1.0" ?>
 <!--IMPORTANT: please note that'do not change this!' notice does not apply to 
translators -->
-<!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 "&kblackbox;">
   <!ENTITY kappversion "0.4.0"><!--Applicaion version. Use this variable 
everywhere it's needed.-->
   <!ENTITY package "kdegames">  <!-- do not change this! -->
Files old/kblackbox-14.12.3/hi128-app-kblackbox.png and 
new/kblackbox-15.04.0/hi128-app-kblackbox.png differ
Files old/kblackbox-14.12.3/hi128-apps-kblackbox.png and 
new/kblackbox-15.04.0/hi128-apps-kblackbox.png differ
Files old/kblackbox-14.12.3/hi16-app-kblackbox.png and 
new/kblackbox-15.04.0/hi16-app-kblackbox.png differ
Files old/kblackbox-14.12.3/hi16-apps-kblackbox.png and 
new/kblackbox-15.04.0/hi16-apps-kblackbox.png differ
Files old/kblackbox-14.12.3/hi22-app-kblackbox.png and 
new/kblackbox-15.04.0/hi22-app-kblackbox.png differ
Files old/kblackbox-14.12.3/hi22-apps-kblackbox.png and 
new/kblackbox-15.04.0/hi22-apps-kblackbox.png differ
Files old/kblackbox-14.12.3/hi32-app-kblackbox.png and 
new/kblackbox-15.04.0/hi32-app-kblackbox.png differ
Files old/kblackbox-14.12.3/hi32-apps-kblackbox.png and 
new/kblackbox-15.04.0/hi32-apps-kblackbox.png differ
Files old/kblackbox-14.12.3/hi48-app-kblackbox.png and 
new/kblackbox-15.04.0/hi48-app-kblackbox.png differ
Files old/kblackbox-14.12.3/hi48-apps-kblackbox.png and 
new/kblackbox-15.04.0/hi48-apps-kblackbox.png differ
Files old/kblackbox-14.12.3/hi64-app-kblackbox.png and 
new/kblackbox-15.04.0/hi64-app-kblackbox.png differ
Files old/kblackbox-14.12.3/hi64-apps-kblackbox.png and 
new/kblackbox-15.04.0/hi64-apps-kblackbox.png differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbballsonboard.cpp 
new/kblackbox-15.04.0/kbbballsonboard.cpp
--- old/kblackbox-14.12.3/kbbballsonboard.cpp   2014-12-31 07:59:01.000000000 
+0100
+++ new/kblackbox-15.04.0/kbbballsonboard.cpp   2015-03-25 13:20:57.000000000 
+0100
@@ -258,4 +258,4 @@
        return !((position[DIM_X] < 2) || (position[DIM_X] > m_columns + 1) || 
(position[DIM_Y] < 2) || (position[DIM_Y] > m_rows + 1));
 }
 
-#include "kbbballsonboard.moc"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbgamedoc.cpp 
new/kblackbox-15.04.0/kbbgamedoc.cpp
--- old/kblackbox-14.12.3/kbbgamedoc.cpp        2014-12-31 07:59:01.000000000 
+0100
+++ new/kblackbox-15.04.0/kbbgamedoc.cpp        2015-03-25 13:20:57.000000000 
+0100
@@ -53,7 +53,7 @@
        
        m_balls = new KBBBallsOnBoard(this, m_columns, m_rows);
        m_ballsPlaced = new KBBBallsOnBoard(this, m_columns, m_rows);
-       connect(m_ballsPlaced, SIGNAL(changes()), parent, SLOT(updateStats()));
+    connect(m_ballsPlaced, &KBBBallsOnBoard::changes, parent, 
&KBBMainWindow::updateStats);
 }
 
 
@@ -202,4 +202,4 @@
        emit updateStats();
 }
 
-#include "kbbgamedoc.moc"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbgraphicsitemball.cpp 
new/kblackbox-15.04.0/kbbgraphicsitemball.cpp
--- old/kblackbox-14.12.3/kbbgraphicsitemball.cpp       2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbbgraphicsitemball.cpp       2015-03-25 
13:20:57.000000000 +0100
@@ -132,7 +132,7 @@
 {
        if (m_timer==NULL) {
                m_timer = new QTimer(this);
-               connect(m_timer, SIGNAL(timeout()), this, 
SLOT(showInteractions()));
+               connect(m_timer, &QTimer::timeout, this, 
&KBBGraphicsItemBall::showInteractions);
                m_timer->start(TIME_TO_WAIT_BEFORE_SHOWING_INTERACTIONS);
        }
 }
@@ -154,4 +154,4 @@
        }
 }
 
-#include "kbbgraphicsitemball.moc"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbgraphicsitemballrepository.cpp 
new/kblackbox-15.04.0/kbbgraphicsitemballrepository.cpp
--- old/kblackbox-14.12.3/kbbgraphicsitemballrepository.cpp     2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbbgraphicsitemballrepository.cpp     2015-03-25 
13:20:57.000000000 +0100
@@ -117,4 +117,4 @@
        m_ballsOutside->remove(outsidePosition);
 }
 
-#include "kbbgraphicsitemballrepository.moc"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbgraphicsitemblackbox.cpp 
new/kblackbox-15.04.0/kbbgraphicsitemblackbox.cpp
--- old/kblackbox-14.12.3/kbbgraphicsitemblackbox.cpp   2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbbgraphicsitemblackbox.cpp   2015-03-25 
13:20:57.000000000 +0100
@@ -48,8 +48,9 @@
 // Constructor / Destructor
 //
 
-KBBGraphicsItemBlackBox::KBBGraphicsItemBlackBox(QGraphicsView* parent, 
QGraphicsScene* scene, KBBThemeManager* themeManager) : QGraphicsRectItem (0, 
scene)
+KBBGraphicsItemBlackBox::KBBGraphicsItemBlackBox(QGraphicsView* parent, 
QGraphicsScene* scene, KBBThemeManager* themeManager) : QGraphicsRectItem (0)
 {
+    scene->addItem(this);
        m_columns = 1;
        m_rows = 1;
        m_widget = 0;
@@ -90,10 +91,14 @@
                m_lines.clear();
        
                // add new lines
-               for (int i=0; i<m_columns+1; i++)
-                       m_lines.append(new QGraphicsLineItem( b + i*r, b, b + 
i*r, b + m_rows*r, this, m_scene));
-               for (int i=0; i<m_rows+1; i++)
-                       m_lines.append(new QGraphicsLineItem(  b, b + i*r, b + 
m_columns*r,  b + i*r, this, m_scene));
+        for (int i=0; i<m_columns+1; i++) {
+            QGraphicsLineItem *item = new QGraphicsLineItem( b + i*r, b, b + 
i*r, b + m_rows*r, this);
+            m_lines.append(item);
+        }
+        for (int i=0; i<m_rows+1; i++) {
+            QGraphicsLineItem *item = new QGraphicsLineItem(  b, b + i*r, b + 
m_columns*r,  b + i*r, this);
+            m_lines.append(item);
+        }
                
                // set line style
                for (int i=0; i<m_lines.count(); i++) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbgraphicsitemcursor.cpp 
new/kblackbox-15.04.0/kbbgraphicsitemcursor.cpp
--- old/kblackbox-14.12.3/kbbgraphicsitemcursor.cpp     2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbbgraphicsitemcursor.cpp     2015-03-25 
13:20:57.000000000 +0100
@@ -213,4 +213,4 @@
        emit cursorAtNewPosition(m_borderPosition);
 }
 
-#include "kbbgraphicsitemcursor.moc"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbgraphicsitemray.cpp 
new/kblackbox-15.04.0/kbbgraphicsitemray.cpp
--- old/kblackbox-14.12.3/kbbgraphicsitemray.cpp        2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbbgraphicsitemray.cpp        2015-03-25 
13:20:57.000000000 +0100
@@ -48,19 +48,20 @@
 // Constructor / Destructor
 //
 
-KBBGraphicsItemRay::KBBGraphicsItemRay(KBBScalableGraphicWidget::itemType 
itemType, QGraphicsScene* scene, KBBThemeManager* themeManager) : 
KBBGraphicsItemBorder(0, 1, 1, KBBScalableGraphicWidget::BORDER_SIZE/2), 
QGraphicsPathItem (0, scene)
+KBBGraphicsItemRay::KBBGraphicsItemRay(KBBScalableGraphicWidget::itemType 
itemType, QGraphicsScene* scene, KBBThemeManager* themeManager) : 
KBBGraphicsItemBorder(0, 1, 1, KBBScalableGraphicWidget::BORDER_SIZE/2), 
QGraphicsPathItem (0)
 {
-       QPen pen;
-       
-       pen.setColor(themeManager->color(itemType));
-       pen.setStyle(themeManager->style(itemType));
-       pen.setWidthF(themeManager->width(itemType));
-       setZValue(themeManager->zValue(itemType));
-       
-       pen.setJoinStyle(Qt::RoundJoin);
-       pen.setCapStyle(Qt::RoundCap);
-       
-       setPen(pen);
+    scene->addItem(this);
+    QPen pen;
+
+    pen.setColor(themeManager->color(itemType));
+    pen.setStyle(themeManager->style(itemType));
+    pen.setWidthF(themeManager->width(itemType));
+    setZValue(themeManager->zValue(itemType));
+
+    pen.setJoinStyle(Qt::RoundJoin);
+    pen.setCapStyle(Qt::RoundCap);
+
+    setPen(pen);
 }
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbgraphicsitemrayresult.cpp 
new/kblackbox-15.04.0/kbbgraphicsitemrayresult.cpp
--- old/kblackbox-14.12.3/kbbgraphicsitemrayresult.cpp  2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbbgraphicsitemrayresult.cpp  2015-03-25 
13:20:57.000000000 +0100
@@ -78,7 +78,7 @@
                QString text;
                text.setNum(rayNumber);
 
-               m_number = new QGraphicsSimpleTextItem ( text, this, scene);
+        m_number = new QGraphicsSimpleTextItem ( text, this);
                QFont font;
                font.setStyleHint(QFont::SansSerif);
                font.setWeight(QFont::DemiBold);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbblevelconfigurationpreview.cpp 
new/kblackbox-15.04.0/kbblevelconfigurationpreview.cpp
--- old/kblackbox-14.12.3/kbblevelconfigurationpreview.cpp      2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbblevelconfigurationpreview.cpp      2015-03-25 
13:20:57.000000000 +0100
@@ -95,4 +95,4 @@
 }
 
 
-#include "kbblevelconfigurationpreview.moc"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbblevelconfigurationwidget.cpp 
new/kblackbox-15.04.0/kbblevelconfigurationwidget.cpp
--- old/kblackbox-14.12.3/kbblevelconfigurationwidget.cpp       2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbblevelconfigurationwidget.cpp       2015-03-25 
13:20:57.000000000 +0100
@@ -14,8 +14,8 @@
 
 #include <QGridLayout>
 
-#include <klocale.h>
-#include <KNumInput>
+#include <KLocalizedString>
+#include <KPluralHandlingSpinBox>
 
 #include "kbblevelconfigurationpreview.h"
 #include "kbbscalablegraphicwidget.h"
@@ -27,31 +27,31 @@
 {
        QGridLayout *l = new QGridLayout(this);
 
-       kcfg_balls = new KIntSpinBox(this);
+       kcfg_balls = new KPluralHandlingSpinBox(this);
        kcfg_balls->setObjectName( QLatin1String("kcfg_balls" ));
        l->addWidget(kcfg_balls, 0, 0, 1, 2);
        kcfg_balls->setMinimum(1);
        kcfg_balls->setValue(b);
        kcfg_balls->setSuffix(ki18ncp("A number between 1 and 99 is displayed 
in front of it.", " ball", " balls"));
-       connect(kcfg_balls, SIGNAL(valueChanged(int)), this, 
SLOT(boxSizeChanged()));
+       connect(kcfg_balls, static_cast<void 
(KPluralHandlingSpinBox::*)(int)>(&KPluralHandlingSpinBox::valueChanged), this, 
&KBBLevelConfigurationWidget::boxSizeChanged);
 
-       kcfg_columns = new KIntSpinBox(this);
+       kcfg_columns = new KPluralHandlingSpinBox(this);
        kcfg_columns->setObjectName( QLatin1String("kcfg_columns" ));
        l->addWidget(kcfg_columns, 1, 1);
        kcfg_columns->setMinimum(2);
        kcfg_columns->setMaximum(30);
        kcfg_columns->setValue(c);
        kcfg_columns->setSuffix(ki18ncp("A number between 2 and 30 is displayed 
in front of it.", " column", " columns"));
-       connect(kcfg_columns, SIGNAL(valueChanged(int)), this, 
SLOT(boxSizeChanged()));
+       connect(kcfg_columns, static_cast<void 
(KPluralHandlingSpinBox::*)(int)>(&KPluralHandlingSpinBox::valueChanged), this, 
&KBBLevelConfigurationWidget::boxSizeChanged);
 
-       kcfg_rows = new KIntSpinBox(this);
+       kcfg_rows = new KPluralHandlingSpinBox(this);
        kcfg_rows->setObjectName( QLatin1String("kcfg_rows" ));
        l->addWidget(kcfg_rows, 2, 0);
        kcfg_rows->setMinimum(2);
        kcfg_rows->setMaximum(30);
        kcfg_rows->setValue(r);
        kcfg_rows->setSuffix(ki18ncp("A number between 2 and 30 is displayed in 
front of it.", " row", " rows"));
-       connect(kcfg_rows, SIGNAL(valueChanged(int)), this, 
SLOT(boxSizeChanged()));
+       connect(kcfg_rows, static_cast<void 
(KPluralHandlingSpinBox::*)(int)>(&KPluralHandlingSpinBox::valueChanged), this, 
&KBBLevelConfigurationWidget::boxSizeChanged);
 
        m_view = new KBBLevelConfigurationPreview(this, themeManager);
        l->addWidget(m_view, 2, 1);
@@ -85,4 +85,3 @@
 }
 
 
-#include "kbblevelconfigurationwidget.moc"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbblevelconfigurationwidget.h 
new/kblackbox-15.04.0/kbblevelconfigurationwidget.h
--- old/kblackbox-14.12.3/kbblevelconfigurationwidget.h 2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbblevelconfigurationwidget.h 2015-03-25 
13:20:57.000000000 +0100
@@ -13,13 +13,12 @@
 
 
 
-class KIntSpinBox;
 #include <QWidget>
 
 
 class KBBLevelConfigurationPreview;
 class KBBThemeManager;
-
+class KPluralHandlingSpinBox;
 
 
 /**
@@ -40,9 +39,9 @@
                void boxSizeChanged();
 
        private:
-               KIntSpinBox* kcfg_balls;
-               KIntSpinBox* kcfg_columns;
-               KIntSpinBox* kcfg_rows;
+               KPluralHandlingSpinBox* kcfg_balls;
+               KPluralHandlingSpinBox* kcfg_columns;
+               KPluralHandlingSpinBox* kcfg_rows;
 
                KBBLevelConfigurationPreview* m_view;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbmainwindow.cpp 
new/kblackbox-15.04.0/kbbmainwindow.cpp
--- old/kblackbox-14.12.3/kbbmainwindow.cpp     2014-12-31 07:59:01.000000000 
+0100
+++ new/kblackbox-15.04.0/kbbmainwindow.cpp     2015-03-25 13:20:57.000000000 
+0100
@@ -40,14 +40,15 @@
 #include <KConfigDialog>
 #include <KGameClock>
 #include <KGamePopupItem>
-#include <KGlobal>
-#include <KLocale>
+#include <KLocalizedString>
 #include <KMessageBox>
 #include <KScoreDialog>
-#include <KStandardDirs>
+
 #include <KStandardGameAction>
-#include <KStatusBar>
+#include <QStatusBar>
 #include <KToggleAction>
+#include <QIcon>
+#include <QStandardPaths>
 
 
 #include "kbbgamedoc.h"
@@ -75,10 +76,10 @@
 
 
        // Status bar
-       statusBar()->insertPermanentItem("", SRUN, 1);
-       statusBar()->insertPermanentItem(i18n("Time: 00:00"), STIME, 1);
-       statusBar()->insertPermanentItem(i18n("Size: 00 x 00"), SSIZE);
-       statusBar()->setItemAlignment(SRUN, Qt::AlignLeft | Qt::AlignVCenter);
+    //QT5 statusBar()->insertPermanentItem("", SRUN, 1);
+    //QT5 statusBar()->insertPermanentItem(i18n("Time: 00:00"), STIME, 1);
+    //QT5 statusBar()->insertPermanentItem(i18n("Size: 00 x 00"), SSIZE);
+    //QT5 statusBar()->setItemAlignment(SRUN, Qt::AlignLeft | 
Qt::AlignVCenter);
 
 
        // Difficulty
@@ -98,24 +99,24 @@
        m_pauseAction = KStandardGameAction::pause(this, SLOT(pause(bool)), 
actionCollection());
        QAction* tutorial = actionCollection()->addAction( QLatin1String( 
"game_tutorial" ));
        tutorial->setText(i18n("Start Tutorial"));
-       tutorial->setIcon(KIcon( QLatin1String( "footprint" )));
+       tutorial->setIcon(QIcon::fromTheme( QLatin1String( "footprint" )));
        tutorial->setToolTip(i18n("Start tutorial"));
        tutorial->setWhatsThis(i18n("<qt>The <b>tutorial</b> is a fast, user 
friendly and interactive way to learn the rules of the game. Start it if you do 
not know them!</qt>"));
-       connect(tutorial, SIGNAL(triggered(bool)), SLOT(startTutorial()));
+       connect(tutorial, &QAction::triggered, this, 
&KBBMainWindow::startTutorial);
        KStandardGameAction::quit(this, SLOT(close()), actionCollection());
        QAction* sandbox = actionCollection()->addAction( QLatin1String( 
"game_sandbox" ));
        sandbox->setText(i18n("New Sandbox Game"));
        sandbox->setToolTip(i18n("Start a new sandbox game"));
        sandbox->setWhatsThis(i18n("<qt><p>In a <b>sandbox game</b>, the 
solution is displayed at the beginning of the game. This is useful to 
understand the game principles.</p><p>However: after a while, it is not really 
fun and you should try to start a real game!</p></qt>"));
-       connect(sandbox, SIGNAL(triggered(bool)), SLOT(startSandbox()));
+       connect(sandbox, &QAction::triggered, this, 
&KBBMainWindow::startSandbox);
        KStandardGameAction::highscores(this, SLOT(showHighscores()), 
actionCollection());
 
        // Menu "Move"
        m_doneAction = actionCollection()->addAction( QLatin1String( 
"move_done" ));
        m_doneAction->setText(i18nc("This is the last action of a game to check 
the result, when the user is done.", "Done!"));
        m_doneAction->setWhatsThis(i18n("<qt><ul><li>First, you have to place 
all the balls on the black box. To guess the correct positions of the balls and 
see how they interact with laser beams, you should use the lasers that are 
positioned around the black box.</li><li><b>When you think you are done</b>, 
you should click here.</li></ul><p>Note that it is only possible to click here 
if you have placed the correct number of balls.</p></qt>"));
-       m_doneAction->setIcon(KIcon( QLatin1String( "dialog-ok" )));
-       connect(m_doneAction, SIGNAL(triggered(bool)), SLOT(done()));
+       m_doneAction->setIcon(QIcon::fromTheme( QLatin1String( "dialog-ok" )));
+       connect(m_doneAction, &QAction::triggered, this, &KBBMainWindow::done);
        m_solveAction = KStandardGameAction::solve(this, SLOT(solve()), 
actionCollection());
        m_solveAction->setToolTip(i18n("Give up the game"));
        m_solveAction->setWhatsThis(i18n("<qt><p>Choose \"<b>Solve</b>\" if you 
want to give up the current game. The solution will be displayed.</p><p>If you 
placed all the balls and do not want to give up, choose \"Done!\".</p></qt>"));
@@ -127,7 +128,7 @@
        // Theme manager
        QString svgzFile = KBBPrefs::theme();
        if (!QFile(svgzFile).exists())
-               svgzFile = KStandardDirs::locate("appdata", 
"pics/kblackbox.svgz");
+        svgzFile = QStandardPaths::locate(QStandardPaths::DataLocation, 
QLatin1Literal("pics/kblackbox.svgz"));
        m_themeManager = new KBBThemeManager(svgzFile);
        
        
@@ -137,8 +138,8 @@
 
        // Board
        m_gameDoc = new KBBGameDoc(this, m_tutorial);
-       connect(m_gameDoc, SIGNAL(updateStats()), this, SLOT(updateStats()) );
-       connect(m_gameDoc, SIGNAL(isRunning(bool)), SLOT(setRunning(bool)));
+       connect(m_gameDoc, &KBBGameDoc::updateStats, this, 
&KBBMainWindow::updateStats);
+       connect(m_gameDoc, &KBBGameDoc::isRunning, this, 
&KBBMainWindow::setRunning);
 
 
        // Game widget
@@ -157,46 +158,46 @@
 
 
        // Keyboard only
-       KAction* action = actionCollection()->addAction( QLatin1String(  
"move_down" ) );
+       QAction * action = actionCollection()->addAction( QLatin1String(  
"move_down" ) );
        action->setText( i18n("Move Down") );
-       connect(action, SIGNAL(triggered(bool)), m_gameWidget, 
SLOT(keyboardMoveDown()));
-       action->setShortcut(Qt::Key_Down);
+       connect(action, &QAction::triggered, m_gameWidget, 
&KBBScalableGraphicWidget::keyboardMoveDown);
+    actionCollection()->setDefaultShortcut(action, Qt::Key_Down);
        addAction(action);
        
        action = actionCollection()->addAction( QLatin1String(  "move_up" ) );
        action->setText( i18n("Move Up") );
-       connect(action, SIGNAL(triggered(bool)), m_gameWidget, 
SLOT(keyboardMoveUp()));
-       action->setShortcut(Qt::Key_Up);
+       connect(action, &QAction::triggered, m_gameWidget, 
&KBBScalableGraphicWidget::keyboardMoveUp);
+    actionCollection()->setDefaultShortcut(action,Qt::Key_Up);
        addAction(action);
        
        action = actionCollection()->addAction( QLatin1String(  "move_left" ) );
        action->setText( i18n("Move Left") );
-       connect(action, SIGNAL(triggered(bool)), m_gameWidget, 
SLOT(keyboardMoveLeft()));
-       action->setShortcut(Qt::Key_Left);
+       connect(action, &QAction::triggered, m_gameWidget, 
&KBBScalableGraphicWidget::keyboardMoveLeft);
+    actionCollection()->setDefaultShortcut(action, Qt::Key_Left);
        addAction(action);
        
        action = actionCollection()->addAction( QLatin1String(  "move_right" ) 
);
        action->setText( i18n("Move Right") );
-       connect(action, SIGNAL(triggered(bool)), m_gameWidget, 
SLOT(keyboardMoveRight()));
-       action->setShortcut(Qt::Key_Right);
+       connect(action, &QAction::triggered, m_gameWidget, 
&KBBScalableGraphicWidget::keyboardMoveRight);
+    actionCollection()->setDefaultShortcut(action, Qt::Key_Right);
        addAction(action);
        
        action = actionCollection()->addAction( QLatin1String( "switch_ball" ));
        action->setText(i18n("Switch Ball or Shoot Laser"));
-       connect(action, SIGNAL(triggered(bool)), m_gameWidget, 
SLOT(keyboardEnter()));
-       action->setShortcut(Qt::Key_Return);
+       connect(action, &QAction::triggered, m_gameWidget, 
&KBBScalableGraphicWidget::keyboardEnter);
+    actionCollection()->setDefaultShortcut(action, Qt::Key_Return);
        addAction(action);
        
        action = actionCollection()->addAction( QLatin1String( "switch_marker" 
));
        action->setText(i18n("Switch Marker"));
-       connect(action, SIGNAL(triggered(bool)), m_gameWidget, 
SLOT(keyboardSpace()));
-       action->setShortcut(Qt::Key_Space);
+       connect(action, &QAction::triggered, m_gameWidget, 
&KBBScalableGraphicWidget::keyboardSpace);
+    actionCollection()->setDefaultShortcut(action, Qt::Key_Space);
        addAction(action);
 
 
        m_gameClock = new KGameClock(this, KGameClock::MinSecOnly);
-       connect(m_gameClock, SIGNAL(timeChanged(QString)), SLOT(updateStats()));
-       connect(m_gameClock, SIGNAL(timeChanged(QString)), m_gameDoc, 
SLOT(timeChanged()));
+       connect(m_gameClock, &KGameClock::timeChanged, this, 
&KBBMainWindow::updateStats);
+       connect(m_gameClock, &KGameClock::timeChanged, m_gameDoc, 
&KBBGameDoc::timeChanged);
 
 
        levelChanged();
@@ -210,7 +211,7 @@
 
 KBBMainWindow::~KBBMainWindow()
 {
-       KBBPrefs::self()->writeConfig();
+       KBBPrefs::self()->save();
 
        delete m_gameWidget;
        delete m_themeManager;
@@ -306,24 +307,26 @@
 
 
        // Status bar
-       if (m_tutorial->isVisible())
-               statusBar()->changeItem(i18n("Tutorial"), SRUN );
+    if (m_tutorial->isVisible()) {
+        //QT5 statusBar()->changeItem(i18n("Tutorial"), SRUN );
+    }
        if (!m_tutorial->isVisible()) {
                if (m_boardEnabled) {
                        if (ballsLeftToPlace<0) {
-                               statusBar()->changeItem((i18np("1 ball too 
many!", "%1 balls too many!", -ballsLeftToPlace)), SRUN);
+                //QT5 statusBar()->changeItem((i18np("1 ball too many!", "%1 
balls too many!", -ballsLeftToPlace)), SRUN);
                        } else if (ballsLeftToPlace==0) {
-                               statusBar()->changeItem(i18n("No more balls to 
place"), SRUN);
+                //QT5 statusBar()->changeItem(i18n("No more balls to place"), 
SRUN);
                        } else if (ballsLeftToPlace>0) {
-                               statusBar()->changeItem(i18np("1 ball to 
place", "%1 balls to place", ballsLeftToPlace), SRUN);
+                //QT5 statusBar()->changeItem(i18np("1 ball to place", "%1 
balls to place", ballsLeftToPlace), SRUN);
                        }       
-               } else
-                       statusBar()->changeItem(i18n("Game over"), SRUN );
+        } else {
+            //QT5 statusBar()->changeItem(i18n("Game over"), SRUN );
+        }
        }
 
-       statusBar()->changeItem(i18n("Time: %1", m_gameClock->timeString()), 
STIME);
+    //QT5 statusBar()->changeItem(i18n("Time: %1", m_gameClock->timeString()), 
STIME);
 
-       statusBar()->changeItem( i18n("Size: %1 x %2", m_gameDoc->columns(), 
m_gameDoc->rows()), SSIZE );
+    //QT5 statusBar()->changeItem( i18n("Size: %1 x %2", m_gameDoc->columns(), 
m_gameDoc->rows()), SSIZE );
        
        
        // 2. Info Widget
@@ -348,7 +351,7 @@
                if (score <= (m_ballNumber*35)) {
                        s = i18nc("The text may not be too wide. So please use 
some HTML-BR-tags to have something more or less as wide as in english. 
Thanks!", "Your final score is: %1.<br />You did really well!", score);
                        if (m_sandboxMode)
-                               s += QString("<br /><br />") + i18nc("The text 
may not be too wide. So please use some HTML-BR-tags to have something more or 
less as wide as in english. Thanks!", "But it does not count<br />because <b>it 
is the sandbox!</b>");
+                s += QString::fromLatin1("<br /><br />") + i18nc("The text may 
not be too wide. So please use some HTML-BR-tags to have something more or less 
as wide as in english. Thanks!", "But it does not count<br />because <b>it is 
the sandbox!</b>");
                } else
                        s = i18nc("The text may not be too wide. So please use 
some HTML-BR-tags to have something more or less as wide as in english. 
Thanks!", "Your final score is: %1.<br />I guess you need more practice.", 
score);
 
@@ -381,7 +384,7 @@
                m_gameWidget->popupText(i18n("Game paused.<br />Press \"%1\" to 
resume.", m_pauseAction->shortcut().toString(QKeySequence::NativeText)), 0);
        } else {
                m_gameClock->resume();
-               m_gameWidget->popupText("");
+        m_gameWidget->popupText(QString());
        }
        m_solveAction->setEnabled(!state);
 
@@ -410,12 +413,12 @@
 
 void KBBMainWindow::settingsDialog()
 {
-       if (!KConfigDialog::showDialog("settings")) {
-               KConfigDialog *dialog = new KConfigDialog(this, "settings", 
KBBPrefs::self());
+    if (!KConfigDialog::showDialog(QLatin1Literal("settings"))) {
+        KConfigDialog *dialog = new KConfigDialog(this, 
QLatin1Literal("settings"), KBBPrefs::self());
                m_levelConfig = new KBBLevelConfigurationWidget(dialog, 
m_customBallNumber, m_customColumns, m_customRows, m_themeManager);
-               dialog->addPage(m_levelConfig, i18n("Custom Game"), 
"games-config-custom");
-               connect(dialog, SIGNAL(settingsChanged(QString)), this, 
SLOT(settingsChanged()));
-                dialog->setHelp(QString(), "kblackbox");
+        dialog->addPage(m_levelConfig, i18n("Custom Game"), 
QLatin1Literal("games-config-custom"));
+               connect(dialog, &KConfigDialog::settingsChanged, this, 
&KBBMainWindow::settingsChanged);
+                //QT5 dialog->setHelp(QString(), "kblackbox");
                dialog->show();
        }
 }
@@ -435,7 +438,7 @@
                KMessageBox::sorry(this, i18n("Sorry, you may not give up 
during the tutorial."), i18n("Solve"));
        } else {
                if 
(m_gameDoc->numberOfBallsToPlace()==m_gameDoc->numberOfBallsPlaced()) {
-                       if (KMessageBox::warningContinueCancel(this, i18n("You 
placed all the balls. Great!\nYou should now click on \"Done!\" to end the game 
and check if you guessed correctly.\nSo, do you really want to give up this 
game?"), QString(), KGuiItem(i18n("Give up"))) == KMessageBox::Continue)
+                       if (KMessageBox::warningContinueCancel(this, i18n("You 
placed all the balls. Great!\nYou should now click on \"Done!\" to end the game 
and check if you guessed correctly.\nSo, do you really want to give up this 
game?"), QString(), KGuiItem(i18n("Give up"))) == KMessageBox::Continue)
                                solving();
                } else if (KMessageBox::warningContinueCancel(this, i18np("You 
should place %1 ball!\n", "You should place %1 balls!\n", 
m_gameDoc->numberOfBallsToPlace()) + i18np("You have placed %1.\n", "You have 
placed %1.\n", m_gameDoc->numberOfBallsPlaced()) + i18n("Do you really want to 
give up this game?"), QString(), KGuiItem(i18n("Give up"))) == 
KMessageBox::Continue)
                        solving();
@@ -525,4 +528,4 @@
 
 
 
-#include "kbbmainwindow.moc"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbscalablegraphicwidget.cpp 
new/kblackbox-15.04.0/kbbscalablegraphicwidget.cpp
--- old/kblackbox-14.12.3/kbbscalablegraphicwidget.cpp  2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbbscalablegraphicwidget.cpp  2015-03-25 
13:20:57.000000000 +0100
@@ -40,9 +40,9 @@
 
 
 #include <kgamepopupitem.h>
-#include <kicon.h>
-#include <klocale.h>
-#include <kpushbutton.h>
+#include <QIcon>
+#include <KLocalizedString>
+#include <QPushButton>
 
 
 #include "kbbballsonboard.h"
@@ -86,7 +86,7 @@
        m_blackbox->setKBBScalableGraphicWidget(this);
        m_balls = new KBBGraphicsItemSet(m_scene);
        m_cursor = new KBBGraphicsItemCursor(this, m_themeManager);
-       connect(m_cursor, SIGNAL(cursorAtNewPosition(int)), this, 
SLOT(cursorAtNewPosition(int)));
+       connect(m_cursor, &KBBGraphicsItemCursor::cursorAtNewPosition, this, 
&KBBScalableGraphicWidget::cursorAtNewPosition);
        m_markersNothing = new KBBGraphicsItemSet(m_scene);
        m_ballsSolution = new KBBGraphicsItemSet(m_scene);
        m_ballsUnsure = new KBBGraphicsItemSet(m_scene);
@@ -105,10 +105,10 @@
 
        setScene(m_scene);
 
-       m_doneButton = new KPushButton(m_doneAction->text(), this);
-       m_doneButton->setIcon(KIcon(m_doneAction->icon()));
+       m_doneButton = new QPushButton(m_doneAction->text(), this);
+       m_doneButton->setIcon(QIcon(m_doneAction->icon()));
        m_doneButton->setWhatsThis(m_doneAction->whatsThis());
-       connect(m_doneButton, SIGNAL(clicked(bool)), m_doneAction, 
SLOT(trigger()));
+       connect(m_doneButton, &QPushButton::clicked, m_doneAction, 
&QAction::trigger);
        QFont font;
        font.setPointSize(m_doneButton->font().pointSize()+2);
        font.setBold(true);
@@ -594,11 +594,11 @@
                m_scene->update();
                m_lasers->setVisible(incomingPosition, false);
 
-               popupText(""); // To Remove any displayed text quicker.
+        popupText(QString()); // To Remove any displayed text quicker.
 
                cursorAtNewPosition(incomingPosition);
        }
 }
 
 
-#include "kbbscalablegraphicwidget.moc"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbscalablegraphicwidget.h 
new/kblackbox-15.04.0/kbbscalablegraphicwidget.h
--- old/kblackbox-14.12.3/kbbscalablegraphicwidget.h    2014-12-31 
07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbbscalablegraphicwidget.h    2015-03-25 
13:20:57.000000000 +0100
@@ -41,7 +41,7 @@
 
 
 class KGamePopupItem;
-class KPushButton;
+class QPushButton;
 
 
 class KBBBallsOnBoard;
@@ -225,7 +225,7 @@
                KBBBallsOnBoard* m_boardBallsPlaced;
                int m_columns;
                QAction* m_doneAction;
-               KPushButton* m_doneButton;
+               QPushButton* m_doneButton;
                KBBGameDoc* m_gameDoc;
                KGamePopupItem* m_infoScore;
                bool m_inputAccepted;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbthememanager.cpp 
new/kblackbox-15.04.0/kbbthememanager.cpp
--- old/kblackbox-14.12.3/kbbthememanager.cpp   2014-12-31 07:59:01.000000000 
+0100
+++ new/kblackbox-15.04.0/kbbthememanager.cpp   2015-03-25 13:20:57.000000000 
+0100
@@ -74,7 +74,7 @@
 
 QColor KBBThemeManager::color(const KBBScalableGraphicWidget::itemType 
itemType)
 {
-       return QColor(value(itemType, "stroke"));
+    return QColor(value(itemType, QLatin1Literal("stroke")));
 }
 
 
@@ -84,88 +84,88 @@
        
        switch (itemType) {
                case KBBScalableGraphicWidget::background:
-                       eId = "background";
+            eId = QLatin1Literal("background");
                        break;
                case KBBScalableGraphicWidget::blackbox:
-                       eId = "blackbox";
+            eId = QLatin1Literal("blackbox");
                        break;
                case KBBScalableGraphicWidget::blackboxGrid:
-                       eId = "blackbox_grid";
+            eId = QLatin1Literal("blackbox_grid");
                        break;
                case KBBScalableGraphicWidget::cursor:
-                       eId = "cursor";
+            eId = QLatin1Literal("cursor");
                        break;
                case KBBScalableGraphicWidget::informationBackground:
-                       eId = "information_background";
+            eId = QLatin1Literal("information_background");
                        break;
                case KBBScalableGraphicWidget::interactionInfoDeflection:
-                       eId = "interaction_info_deflection";
+            eId = QLatin1Literal("interaction_info_deflection");
                        break;
                case KBBScalableGraphicWidget::interactionInfoHit:
-                       eId = "interaction_info_hit";
+            eId = QLatin1Literal("interaction_info_hit");
                        break;
                case KBBScalableGraphicWidget::interactionInfoNothing:
-                       eId = "interaction_info_nothing";
+            eId = QLatin1Literal("interaction_info_nothing");
                        break;
                case KBBScalableGraphicWidget::interactionInfoReflection:
-                       eId = "interaction_info_reflection";
+            eId = QLatin1Literal("interaction_info_reflection");
                        break;
                case KBBScalableGraphicWidget::interactionInfoReflectionSym:
-                       eId = "interaction_info_reflection_sym";
+            eId = QLatin1Literal("interaction_info_reflection_sym");
                        break;
                case KBBScalableGraphicWidget::laser0:
-                       eId = "laser_0";
+            eId = QLatin1Literal("laser_0");
                        break;
                case KBBScalableGraphicWidget::laser90:
-                       eId = "laser_90";
+            eId = QLatin1Literal("laser_90");
                        break;
                case KBBScalableGraphicWidget::laser180:
-                       eId = "laser_180";
+            eId = QLatin1Literal("laser_180");
                        break;
                case KBBScalableGraphicWidget::laser270:
-                       eId = "laser_270";
+            eId = QLatin1Literal("laser_270");
                        break;
                case KBBScalableGraphicWidget::markerNothing:
-                       eId = "marker_nothing";
+            eId = QLatin1Literal("marker_nothing");
                        break;
                case KBBScalableGraphicWidget::playerBall:
-                       eId = "player_ball";
+            eId = QLatin1Literal("player_ball");
                        break;
                case KBBScalableGraphicWidget::playerRay:
-                       eId = "player_ray";
+            eId = QLatin1Literal("player_ray");
                        break;
                case KBBScalableGraphicWidget::resultBackground:
-                       eId = "result_background";
+            eId = QLatin1Literal("result_background");
                        break;
                case KBBScalableGraphicWidget::resultBackgroundHighlight:
-                       eId = "result_background_highlight";
+            eId = QLatin1Literal("result_background_highlight");
                        break;
                case KBBScalableGraphicWidget::resultHit:
-                       eId = "result_hit";
+            eId = QLatin1Literal("result_hit");
                        break;
                case KBBScalableGraphicWidget::resultReflection:
-                       eId = "result_reflection";
+            eId = QLatin1Literal("result_reflection");
                        break;
                case KBBScalableGraphicWidget::rightPlayerBall:
-                       eId = "right_player_ball";
+            eId = QLatin1Literal("right_player_ball");
                        break;
                case KBBScalableGraphicWidget::solutionBall:
-                       eId = "solution_ball";
+            eId = QLatin1Literal("solution_ball");
                        break;
                case KBBScalableGraphicWidget::solutionRay:
-                       eId = "solution_ray";
+            eId = QLatin1Literal("solution_ray");
                        break;
                case KBBScalableGraphicWidget::tutorialMarker:
-                       eId = "tutorial_marker";
+            eId = QLatin1Literal("tutorial_marker");
                        break;
                case KBBScalableGraphicWidget::unsureBall:
-                       eId = "unsure_ball";
+            eId = QLatin1Literal("unsure_ball");
                        break;
                case KBBScalableGraphicWidget::wrongPlayerBall:
-                       eId = "wrong_player_ball";
+            eId = QLatin1Literal("wrong_player_ball");
                        break;
                default:
-                       eId = "none";
+            eId = QLatin1Literal("none");
                        break;
        }
        
@@ -175,7 +175,7 @@
 
 Qt::PenStyle KBBThemeManager::style(const KBBScalableGraphicWidget::itemType 
itemType)
 {
-       if (value(itemType, "stroke-dasharray")=="none") {
+    if (value(itemType, 
QLatin1Literal("stroke-dasharray"))==QLatin1String("none")) {
                return Qt::SolidLine;
        } else
                return Qt::DotLine;
@@ -190,7 +190,7 @@
 
 qreal KBBThemeManager::width(const KBBScalableGraphicWidget::itemType itemType)
 {
-       return value(itemType, "stroke-width").toFloat();
+    return value(itemType, QLatin1Literal("stroke-width")).toFloat();
 }
 
 
@@ -208,20 +208,20 @@
 QString KBBThemeManager::value(const KBBScalableGraphicWidget::itemType 
itemType, const QString &styleElement)
 {
        const QString id = elementId(itemType);
-       QString style("");
-       QString v("");
+    QString style;
+    QString v;
        
        QDomNode node = m_root.firstChild();
        while(!node.isNull()) {
-               if (node.toElement().attribute("id") == id)
-                       style = node.toElement().attribute("style");
+        if (node.toElement().attribute(QLatin1Literal("id")) == id)
+            style = node.toElement().attribute(QLatin1Literal("style"));
                node = node.nextSibling();
        }
        
-       QStringList styleList = style.split(';');
+    QStringList styleList = style.split(QLatin1Char(';'));
        for (int i = 0; i < styleList.size(); i++) {
                styleList.replace(i, styleList.at(i).trimmed());
-               if (styleList.at(i).startsWith(styleElement + ':')) {
+        if (styleList.at(i).startsWith(styleElement + QLatin1Char(':'))) {
                        QString s = styleList.at(i);
                        v = s.right(s.length()-styleElement.length()-1);
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbtutorial.cpp 
new/kblackbox-15.04.0/kbbtutorial.cpp
--- old/kblackbox-14.12.3/kbbtutorial.cpp       2014-12-31 07:59:01.000000000 
+0100
+++ new/kblackbox-15.04.0/kbbtutorial.cpp       2015-03-25 13:20:57.000000000 
+0100
@@ -36,9 +36,9 @@
 #include <QVBoxLayout>
 
 
-#include <kicon.h>
-#include <klocale.h>
-#include <kpushbutton.h>
+#include <QIcon>
+#include <KLocalizedString>
+#include <QPushButton>
 #include <ktextedit.h>
 
 
@@ -65,7 +65,7 @@
 
        m_progression = new QProgressBar(this);
        m_progression->setTextVisible(true);
-       m_progression->setFormat("%v / %m");
+    m_progression->setFormat(QLatin1Literal("%v / %m"));
        m_progression->setMinimum(FIRST_STEP-1);
        m_progression->setMaximum(LAST_STEP);
        m_progression->setWhatsThis(i18n("Displays the progress of the 
tutorial."));
@@ -87,25 +87,25 @@
        tutorialLayout->addLayout(actionLayout);
        QLabel* iconLabel = new QLabel(this);
        iconLabel->setFixedSize(24, 24);
-       iconLabel->setPixmap(KIcon( QLatin1String( "go-next" )).pixmap(24, 24));
+       iconLabel->setPixmap(QIcon::fromTheme( QLatin1String( "go-next" 
)).pixmap(24, 24));
        actionLayout->addWidget(iconLabel, 0, Qt::AlignVCenter);
        m_playerAction = new QLabel(this);
        m_playerAction->setWhatsThis(i18n("Describes what you should do to 
reach the next tutorial step."));
        m_playerAction->setAlignment(Qt::AlignLeft);
        m_playerAction->setWordWrap(true);
        m_playerAction->setFrameStyle(QFrame::StyledPanel);
-       m_playerAction->setStyleSheet("border-style: none");
+    m_playerAction->setStyleSheet(QLatin1Literal("border-style: none"));
        actionLayout->addWidget(m_playerAction, 0, Qt::AlignVCenter);
 
        QHBoxLayout *buttonLayout = new QHBoxLayout();
        tutorialLayout->addLayout(buttonLayout);
-       m_buttonPrevious = new KPushButton(KIcon( QLatin1String( "go-previous") 
), i18nc("Previous tutorial step", "&Previous"), this);
+       m_buttonPrevious = new QPushButton(QIcon::fromTheme( QLatin1String( 
"go-previous") ), i18nc("Previous tutorial step", "&Previous"), this);
        m_buttonPrevious->setWhatsThis(i18n("Go back to the previous tutorial 
step."));
-       connect(m_buttonPrevious, SIGNAL(clicked()), this, 
SLOT(previousStep()));
+       connect(m_buttonPrevious, &QPushButton::clicked, this, 
&KBBTutorial::previousStep);
        buttonLayout->addWidget(m_buttonPrevious);
-       m_buttonNext = new KPushButton(KIcon( QLatin1String( "go-next")) , 
i18nc("Next tutorial step", "&Next"), this);
+       m_buttonNext = new QPushButton(QIcon::fromTheme( QLatin1String( 
"go-next")) , i18nc("Next tutorial step", "&Next"), this);
        m_buttonNext->setWhatsThis(i18n("Go to the next tutorial step."));
-       connect(m_buttonNext, SIGNAL(clicked()), this, SLOT(nextStep()));
+       connect(m_buttonNext, &QPushButton::clicked, this, 
&KBBTutorial::nextStep);
        m_buttonNext->setDefault(true);
        buttonLayout->addWidget(m_buttonNext);
 }
@@ -138,7 +138,7 @@
                        return true;
                } else {
                        // Highlight m_playerAction to show what the player has 
to do
-                       m_playerAction->setStyleSheet("color: black; 
background-color: #de0000");
+            m_playerAction->setStyleSheet(QLatin1Literal("color: black; 
background-color: #de0000"));
                        QTimer::singleShot(HIGHLIGHT_TIME, this, 
SLOT(restoreStyle()));
                        return false;
                }
@@ -274,7 +274,7 @@
 
 void KBBTutorial::restoreStyle()
 {
-       m_playerAction->setStyleSheet("color: palette(text); background-color: 
palette(window)");
+    m_playerAction->setStyleSheet(QLatin1Literal("color: palette(text); 
background-color: palette(window)"));
 }
 
 
@@ -294,9 +294,9 @@
 
 void KBBTutorial::setTexts(const QString &title, const QString &text, const 
QString &action)
 {
-       m_title->setText("<qt><strong>" + title + "</strong></qt>");
-       m_explanation->setText("<qt>" + text + "</qt>");
-       m_playerAction->setText("<qt><b>" + action + "</b></qt>");
+    m_title->setText(QLatin1String("<qt><strong>") + title + 
QLatin1String("</strong></qt>"));
+    m_explanation->setText(QLatin1String("<qt>") + text + 
QLatin1String("</qt>"));
+    m_playerAction->setText(QLatin1String("<qt><b>") + action + 
QLatin1String("</b></qt>"));
 }
 
 
@@ -312,4 +312,4 @@
        }
 }
 
-#include "kbbtutorial.moc"
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kbbtutorial.h 
new/kblackbox-15.04.0/kbbtutorial.h
--- old/kblackbox-14.12.3/kbbtutorial.h 2014-12-31 07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/kbbtutorial.h 2015-03-25 13:20:57.000000000 +0100
@@ -36,7 +36,7 @@
 class QWidget;
 
 
-class KPushButton;
+class QPushButton;
 class KTextEdit;
 
 
@@ -181,8 +181,8 @@
                void showMarker(const int laserPosition) const;
 
 
-               KPushButton* m_buttonNext;
-               KPushButton* m_buttonPrevious;
+               QPushButton* m_buttonNext;
+               QPushButton* m_buttonPrevious;
                KTextEdit* m_explanation;
                KBBScalableGraphicWidget* m_gameWidget;
                int m_laserToUse;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kblackbox.appdata.xml 
new/kblackbox-15.04.0/kblackbox.appdata.xml
--- old/kblackbox-14.12.3/kblackbox.appdata.xml 1970-01-01 01:00:00.000000000 
+0100
+++ new/kblackbox-15.04.0/kblackbox.appdata.xml 2015-03-25 13:20:57.000000000 
+0100
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>
+<component type="desktop">
+  <id>org.kde.kblackbox.desktop</id>
+  <metadata_license>CC0-1.0</metadata_license>
+  <project_license>GPL-2.0+</project_license>
+  <name>KBlackbox</name>
+  <name xml:lang="ast">KBlackbox</name>
+  <name xml:lang="bs">KBlackBox</name>
+  <name xml:lang="ca">KBlackbox</name>
+  <name xml:lang="cs">KBlackBox</name>
+  <name xml:lang="da">KBlackbox</name>
+  <name xml:lang="de">KBlackbox</name>
+  <name xml:lang="en-GB">KBlackbox</name>
+  <name xml:lang="es">KBlackbox</name>
+  <name xml:lang="fr">KBlackbox</name>
+  <name xml:lang="gl">KBlackbox</name>
+  <name xml:lang="it">KBlackbox</name>
+  <name xml:lang="nl">Kblackbox</name>
+  <name xml:lang="pl">KCzarnaSkrzynka</name>
+  <name xml:lang="pt">KBlackbox</name>
+  <name xml:lang="pt-BR">KBlackbox</name>
+  <name xml:lang="ru">KBlackbox</name>
+  <name xml:lang="sk">KBlackbox</name>
+  <name xml:lang="sl">KBlackBox</name>
+  <name xml:lang="sr">К‑црна‑кутија</name>
+  <name xml:lang="sr-Latn">K‑crna‑kutija</name>
+  <name xml:lang="sr-ijekavian">К‑црна‑кутија</name>
+  <name xml:lang="sr-ijekavianlatin">K‑crna‑kutija</name>
+  <name xml:lang="sv">Svarta lådan</name>
+  <name xml:lang="uk">KBlackbox</name>
+  <name xml:lang="x-test">xxKBlackboxxx</name>
+  <name xml:lang="zh-TW">KBlackBox</name>
+  <summary>Blackbox Logic Game</summary>
+  <summary xml:lang="bs">Logička igra crna kutija</summary>
+  <summary xml:lang="ca">Joc de lògica Blackbox</summary>
+  <summary xml:lang="cs">Logická hra s černou skříňkou</summary>
+  <summary xml:lang="en-GB">Blackbox Logic Game</summary>
+  <summary xml:lang="es">Juego de lógica Blackbox</summary>
+  <summary xml:lang="fr">Jeu de logique Blackbox</summary>
+  <summary xml:lang="gl">Xogo de lóxica Blackbox</summary>
+  <summary xml:lang="it">Gioco di logica Blackbox      </summary>
+  <summary xml:lang="nl">Blackbox: Logisch spel</summary>
+  <summary xml:lang="pl">KCzarnaSkrzynka - Gra logiczna</summary>
+  <summary xml:lang="pt">Jogo de Lógica Blackbox</summary>
+  <summary xml:lang="pt-BR">Jogo lógico de Caixa Preta</summary>
+  <summary xml:lang="ru">Логическая игра о чёрном ящике</summary>
+  <summary xml:lang="sk">Logická hra - čierna skrinka</summary>
+  <summary xml:lang="sl">Logična igra KBlackBox</summary>
+  <summary xml:lang="sr">Логичка игра црне кутије</summary>
+  <summary xml:lang="sr-Latn">Logička igra crne kutije</summary>
+  <summary xml:lang="sr-ijekavian">Логичка игра црне кутије</summary>
+  <summary xml:lang="sr-ijekavianlatin">Logička igra crne kutije</summary>
+  <summary xml:lang="sv">Svart låda logiskt spel</summary>
+  <summary xml:lang="uk">Гра на логіку (чорний скринька)</summary>
+  <summary xml:lang="x-test">xxBlackbox Logic Gamexx</summary>
+  <summary xml:lang="zh-TW">黑盒子智力遊戲</summary>
+  <description>
+    <p>
+      KBlackbox is a game of hide and seek played on a grid of boxes where the 
computer has hidden several balls.
+      The position of the hidden balls can be deduced by shooting beams into 
the box.
+    </p>
+    <p xml:lang="ca">El KBlackbox és un joc de fet i amagar que es juga en una 
graella de quadres a on l'ordinador ha amagat diverses boles. La posició de les 
boles amagades es pot deduir disparant feixos en el quadre.</p>
+    <p xml:lang="en-GB">KBlackbox is a game of hide and seek played on a grid 
of boxes where the computer has hidden several balls. The position of the 
hidden balls can be deduced by shooting beams into the box.</p>
+    <p xml:lang="es">KBlackbox es un juego de escondite consistente en una 
retícula de cajas en las que la máquina ha escondido varias bolas. La posición 
de estas bolas puede ser deducida disparando rayos a las cajas.</p>
+    <p xml:lang="fr">KBlackbox est un jeu de logique où il faut trouver des 
billes cachées. La position des billes cachées peut être déduite en envoyant 
des rayons dans la boîte.</p>
+    <p xml:lang="gl">KBlackbox é un xogo das agachadas que toma lugar nunha 
grade de caixas nas que o computador agochou varias bólas. Podes lanzar raios á 
caixa para deducir a posición das bólas.</p>
+    <p xml:lang="it">KBlackbox è un gioco di cerca e trova, giocato su un 
reticolo di celle. Il computer ha nascosto delle sfere in queste celle. 
Sparando dei raggi laser nella scatola si può dedurre la posizione delle sfere 
nascoste.</p>
+    <p xml:lang="nl">KBlackbox is een spel met verstoppertje spelen op een 
raster van dozen waar de computer verschillende ballen heeft verborgen. De 
positie van de verborgen ballen kunnen afgeleid worden door stralen in de doos 
te schieten.</p>
+    <p xml:lang="pl">KCzarnaSkrzynka jest grą w chowanego na siatce pól, na 
których komputer ukrył kilka z kul. Położenie ukrytych kul można wywnioskować 
poprzez wystrzeliwanie promieni na pola.</p>
+    <p xml:lang="pt">O KBlackbox é um jogo de escondidas, jogado sobre uma 
grelha de caixas em que o computador escolheu diversas bolas. A posição das 
bolas escondidas pode ser deduzida se disparar raios para as caixas.</p>
+    <p xml:lang="pt-BR">KBlackbox é um jogo de esconde-esconde, jogado sobre 
uma grade de caixas, onde o computador escolheu diversas bolas. A posição das 
bolas escondidas pode ser deduzida se disparar raios contra as caixas.</p>
+    <p xml:lang="ru">KBlackbox — игра в прятки на прямоугольном поле, где 
компьютер установил несколько шаров. Расположение шаров можно определить, 
направляя на игровое поле световые лучи.</p>
+    <p xml:lang="sk">KBlackbox je hra na schovávačku hraná na mriežke polí, 
kde počítač má skrytých niekoľko guličiek. Polohu skrytých guliek môžete zistiť 
tým, že strieľate lúče do krabice.</p>
+    <p xml:lang="sl">KBlackbox je igra skrivalnic, ki se igra na mreži škatel, 
v katere je računalnik skril številne žoge. Mesta skritih žog lahko uganete 
preko laserskih žarkov, ki jih streljate v škatle.</p>
+    <p xml:lang="sr">К‑црна‑кутија је игра скривања и налажења на мрежи кутија 
где је рачунар сакрио неколико лоптица. Положај скривених лоптица изводи се на 
основу испаљивања зракова у кутије.</p>
+    <p xml:lang="sr-Latn">K‑crna‑kutija je igra skrivanja i nalaženja na mreži 
kutija gde je računar sakrio nekoliko loptica. Položaj skrivenih loptica izvodi 
se na osnovu ispaljivanja zrakova u kutije.</p>
+    <p xml:lang="sr-ijekavian">К‑црна‑кутија је игра скривања и налажења на 
мрежи кутија где је рачунар сакрио неколико лоптица. Положај скривених лоптица 
изводи се на основу испаљивања зракова у кутије.</p>
+    <p xml:lang="sr-ijekavianlatin">K‑crna‑kutija je igra skrivanja i 
nalaženja na mreži kutija gde je računar sakrio nekoliko loptica. Položaj 
skrivenih loptica izvodi se na osnovu ispaljivanja zrakova u kutije.</p>
+    <p xml:lang="sv">Svara lådan är ett kurragömmaspel som spelas på ett 
rutmönster av lådor där datorn har dolt flera kulor. Positionen för de dolda 
kulorna kan bestämmas genom att skjuta in strålar i lådan.</p>
+    <p xml:lang="uk">KBlackbox — гра у знаходження кульок, прихованих 
комп’ютером на полі. Розташування прихованих кульок можна визначити за 
допомогою просвічування поля променями.</p>
+    <p xml:lang="x-test">xxKBlackbox is a game of hide and seek played on a 
grid of boxes where the computer has hidden several balls. The position of the 
hidden balls can be deduced by shooting beams into the box.xx</p>
+    <p xml:lang="zh-TW">KBlackbox 是一款益智遊戲。您要打出探照燈,依照反射的規則找出黑盒子內所有藏起來的球。</p>
+  </description>
+  <url type="homepage">http://games.kde.org/game.php?game=kblackbox</url>
+  <url 
type="bugtracker">https://bugs.kde.org/enter_bug.cgi?format=guided&amp;product=kblackbox</url>
+  <url 
type="help">http://docs.kde.org/stable/en/kdegames/kblackbox/index.html</url>
+  <screenshots>
+    <screenshot type="default">
+      <image>http://kde.org/images/screenshots/kblackbox.png</image>
+    </screenshot>
+  </screenshots>
+  <project_group>KDE</project_group>
+</component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/kblackbox.desktop 
new/kblackbox-15.04.0/kblackbox.desktop
--- old/kblackbox-14.12.3/kblackbox.desktop     2014-12-31 07:59:01.000000000 
+0100
+++ new/kblackbox-15.04.0/kblackbox.desktop     1970-01-01 01:00:00.000000000 
+0100
@@ -1,141 +0,0 @@
-[Desktop Entry]
-GenericName=Blackbox Logic Game
-GenericName[ast]=Xuegu de lóxica Blackbox
-GenericName[be]=Лагічная гульня з чорнай скрыняй
-GenericName[bn]=যুক্তির খেলা ব্ল্যাকবক্স
-GenericName[bs]=Logička igra crna kutija
-GenericName[ca]=Joc de lògica Blackbox
-GenericName[ca@valencia]=Joc de lògica Blackbox
-GenericName[cs]=Logická hra s černou skříňkou
-GenericName[cy]=Gêm Resymeg Blackbox
-GenericName[da]=Blackbox logikspil
-GenericName[de]=„Blackbox“-Spiel
-GenericName[el]=Παιχνίδι λογικής Blackbox
-GenericName[en_GB]=Blackbox Logic Game
-GenericName[eo]=Divenlogika ludo
-GenericName[es]=Juego de lógica Blackbox
-GenericName[et]=Blackboxi loogikamäng
-GenericName[eu]=Blackbox joko logikoa
-GenericName[fa]=بازی منطقی جعبه‌سیاه
-GenericName[fi]=Logiikkapeli
-GenericName[fr]=Jeu de logique Blackbox
-GenericName[ga]=Cluiche Loighce Blackbox
-GenericName[gl]=Xogo de lóxica Blackbox
-GenericName[he]=משחק לוגיקה
-GenericName[hne]=ब्लैक डब्बा तर्क वाले खेल
-GenericName[hr]=Blackbox logička igra
-GenericName[hu]=Blackbox logikai játék
-GenericName[is]=Blackbox kænskuleikur
-GenericName[it]=Gioco di logica Blackbox
-GenericName[ja]=ブラックボックス論理ゲーム
-GenericName[kk]=Қара жәшік
-GenericName[km]=ល្បែង​តក្ក​វិទ្យា Blackbox
-GenericName[ko]=블랙박스 논리 게임
-GenericName[lt]=Blackbox loginis žaidimas
-GenericName[lv]=Melnās kastes loģikas spēle
-GenericName[mk]=Логичка игра Blackbox
-GenericName[mr]=ब्लॅकबॉक्स तर्क खेळ
-GenericName[nb]=Logikkspillet Blackbox
-GenericName[nds]=Blackbox Logikspeel
-GenericName[ne]=कालोबाकस तार्किक खेल
-GenericName[nl]=Blackbox: Logisch spel
-GenericName[nn]=Blackbox logikkspel
-GenericName[pl]=KCzarnaSkrzynka - Gra logiczna
-GenericName[pt]=Jogo de Lógica Caixa Preta
-GenericName[pt_BR]=Jogo lógico de Caixa Preta
-GenericName[ro]=Joc de logică Blackbox
-GenericName[ru]=Чёрный ящик
-GenericName[se]=Logihkkaspeallu Blackbox
-GenericName[sk]=Logická hra - čierna skrinka
-GenericName[sl]=Logična igra KBlackBox
-GenericName[sq]=Lojë Logjike Kutia e zezë
-GenericName[sr]=Логичка игра „црна кутија“
-GenericName[sr@ijekavian]=Логичка игра „црна кутија“
-GenericName[sr@ijekavianlatin]=Logička igra „crna kutija“
-GenericName[sr@latin]=Logička igra „crna kutija“
-GenericName[sv]=Svart låda logiskt spel
-GenericName[ta]=கறுப்புபெட்டி லாஜிக் விளையாட்டு
-GenericName[tr]=Karakutu Mantık Oyunu
-GenericName[ug]=قارا قۇتا لوگىكىلىق ئويۇنى
-GenericName[uk]=Гра на логіку (чорна скринька)
-GenericName[wa]=Djeu d' lodjike noere boesse
-GenericName[x-test]=xxBlackbox Logic Gamexx
-GenericName[zh_CN]=黑箱逻辑游戏
-GenericName[zh_TW]=黑盒子智力遊戲
-Exec=kblackbox -caption %c
-Name=KBlackBox
-Name[af]=Kblackbox
-Name[ast]=KBlackBox
-Name[be]=Чорная скрыня
-Name[bn]=কে-ব্ল্যাকবক্স
-Name[br]=KBlackBox
-Name[bs]=KBlackBox
-Name[ca]=KBlackBox
-Name[ca@valencia]=KBlackBox
-Name[cs]=KBlackBox
-Name[cy]=KBlackBox
-Name[da]=KBlackBox
-Name[de]=KBlackBox
-Name[el]=KBlackBox
-Name[en_GB]=KBlackBox
-Name[eo]=KBlackBox
-Name[es]=KBlackBox
-Name[et]=KBlackBox
-Name[eu]=KBlackBox
-Name[fa]=جعبه‌سیاه
-Name[fi]=KBlackBox
-Name[fr]=KBlackBox
-Name[ga]=KBlackBox
-Name[gl]=KBlackBox
-Name[he]=KBlackBox
-Name[hne]=के-ब्लेकबाक्स
-Name[hr]=KBlackBox
-Name[hu]=KBlackBox
-Name[is]=Svarti Kassinn
-Name[it]=KBlackBox
-Name[ja]=KBlackBox
-Name[kk]=KBlackBox
-Name[km]=KBlackBox
-Name[ko]=KBlackBox
-Name[lt]=KBlackBox
-Name[lv]=KBlackBox
-Name[mk]=KBlackBox
-Name[mr]=के-ब्लॅकबॉक्स
-Name[nb]=KBlackBox
-Name[nds]=KBlackBox
-Name[ne]=केडीई कालोबाकस
-Name[nl]=KBlackBox
-Name[nn]=KBlackBox
-Name[pa]=ਕੇ-ਬਲੈਕ ਬਾਕਸ
-Name[pl]=KCzarnaSkrzynka
-Name[pt]=KBlackBox
-Name[pt_BR]=KBlackBox
-Name[ro]=KBlackBox
-Name[ru]=KBlackBox
-Name[se]=KBlackBox
-Name[sk]=KBlackBox
-Name[sl]=KBlackBox
-Name[sq]=KBlackBox
-Name[sr]=К‑црна‑кутија
-Name[sr@ijekavian]=К‑црна‑кутија
-Name[sr@ijekavianlatin]=K‑crna‑kutija
-Name[sr@latin]=K‑crna‑kutija
-Name[sv]=Svarta lådan
-Name[ta]=கேகருப்பு பெட்டி
-Name[tg]=KҚуттии Сиёҳ
-Name[tr]=KBlackBox
-Name[ug]=KBlackBox
-Name[uk]=Чорна скринька
-Name[vi]=KBlackBox
-Name[wa]=KBlackBox
-Name[xh]=KBlackBox
-Name[x-test]=xxKBlackBoxxx
-Name[zh_CN]=KBlackBox
-Name[zh_TW]=KBlackBox 黑盒子
-Icon=kblackbox
-X-DocPath=kblackbox/index.html
-Type=Application
-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/kblackbox-14.12.3/main.cpp 
new/kblackbox-15.04.0/main.cpp
--- old/kblackbox-14.12.3/main.cpp      2014-12-31 07:59:01.000000000 +0100
+++ new/kblackbox-15.04.0/main.cpp      2015-03-25 13:20:57.000000000 +0100
@@ -29,27 +29,43 @@
 
 
 
-#include <kapplication.h>
-#include <klocale.h>
-#include <kcmdlineargs.h>
-#include <kaboutdata.h>
-#include <kglobal.h>
 
+#include <KLocalizedString>
+
+#include <KAboutData>
+#include <QApplication>
+#include <QCommandLineParser>
+#include <kdelibs4configmigrator.h>
 
-#include "kbbmainwindow.h"
 
+#include "kbbmainwindow.h"
+#include <KDBusService>
 
 
 int main( int argc, char **argv )
 {
-       KAboutData aboutData( "kblackbox", 0, ki18n("KBlackBox"), "0.4.0", 
ki18n("Find the balls hidden in the black box by shooting laser beams!"), 
KAboutData::License_GPL, ki18n("(c) 2007, Nicolas Roffet\n(c) 1999-2000, Robert 
Cimrman"), KLocalizedString(), "http://games.kde.org/kblackbox"; );
-       aboutData.addAuthor(ki18n("Nicolas Roffet"),ki18n("Developer of version 
0.4."), "[email protected]");
-       aboutData.addAuthor(ki18n("Robert Cimrman"),ki18n("Original 
developer"), "[email protected]");
-       aboutData.addCredit(ki18n("Johann Ollivier Lapeyre"), ki18n("Artist"), 
"[email protected]");
-       KCmdLineArgs::init( argc, argv, &aboutData );
+    Kdelibs4ConfigMigrator migrate(QStringLiteral("kblackbox"));
+    migrate.setConfigFiles(QStringList() << QStringLiteral("kblackboxrc"));
+    migrate.setUiFiles(QStringList() << QStringLiteral("kblackboxui.rc"));
+    migrate.migrate();
+
+    QApplication application(argc, argv);
+
+    KAboutData aboutData( QLatin1String("kblackbox"), i18n("KBlackBox"), 
QLatin1String("0.5.0"), i18n("Find the balls hidden in the black box by 
shooting laser beams!"), KAboutLicense::GPL, i18n("(c) 2007, Nicolas 
Roffet\n(c) 1999-2000, Robert Cimrman"), 
QLatin1String("http://games.kde.org/kblackbox";) );
+    aboutData.addAuthor(i18n("Nicolas Roffet"),i18n("Developer of version 
0.4."), QLatin1String("[email protected]"));
+    aboutData.addAuthor(i18n("Robert Cimrman"),i18n("Original developer"), 
QLatin1String("[email protected]"));
+    aboutData.addCredit(i18n("Johann Ollivier Lapeyre"), i18n("Artist"), 
QLatin1String("[email protected]"));
+    QCommandLineParser parser;
+    KAboutData::setApplicationData(aboutData);
+    parser.addVersionOption();
+    parser.addHelpOption();
+    aboutData.setupCommandLine(&parser);
+    parser.process(application);
+    aboutData.processCommandLine(&parser);
+    KDBusService service;
+
+    application.setWindowIcon(QIcon::fromTheme(QStringLiteral("kblackbox")));
 
-       KApplication application;
-       KGlobal::locale()->insertCatalog( QLatin1String( "libkdegames" ));
 
        if (application.isSessionRestored())
                kRestoreMainWindows<KBBMainWindow>();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kblackbox-14.12.3/org.kde.kblackbox.desktop 
new/kblackbox-15.04.0/org.kde.kblackbox.desktop
--- old/kblackbox-14.12.3/org.kde.kblackbox.desktop     1970-01-01 
01:00:00.000000000 +0100
+++ new/kblackbox-15.04.0/org.kde.kblackbox.desktop     2015-03-25 
13:20:57.000000000 +0100
@@ -0,0 +1,141 @@
+[Desktop Entry]
+GenericName=Blackbox Logic Game
+GenericName[ast]=Xuegu de lóxica Blackbox
+GenericName[be]=Лагічная гульня з чорнай скрыняй
+GenericName[bn]=যুক্তির খেলা ব্ল্যাকবক্স
+GenericName[bs]=Logička igra crna kutija
+GenericName[ca]=Joc de lògica Blackbox
+GenericName[ca@valencia]=Joc de lògica Blackbox
+GenericName[cs]=Logická hra s černou skříňkou
+GenericName[cy]=Gêm Resymeg Blackbox
+GenericName[da]=Blackbox logikspil
+GenericName[de]=„Blackbox“-Spiel
+GenericName[el]=Παιχνίδι λογικής Blackbox
+GenericName[en_GB]=Blackbox Logic Game
+GenericName[eo]=Divenlogika ludo
+GenericName[es]=Juego de lógica Blackbox
+GenericName[et]=Blackboxi loogikamäng
+GenericName[eu]=Blackbox joko logikoa
+GenericName[fa]=بازی منطقی جعبه‌سیاه
+GenericName[fi]=Logiikkapeli
+GenericName[fr]=Jeu de logique Blackbox
+GenericName[ga]=Cluiche Loighce Blackbox
+GenericName[gl]=Xogo de lóxica Blackbox
+GenericName[he]=משחק לוגיקה
+GenericName[hne]=ब्लैक डब्बा तर्क वाले खेल
+GenericName[hr]=Blackbox logička igra
+GenericName[hu]=Blackbox logikai játék
+GenericName[is]=Blackbox kænskuleikur
+GenericName[it]=Gioco di logica Blackbox
+GenericName[ja]=ブラックボックス論理ゲーム
+GenericName[kk]=Қара жәшік
+GenericName[km]=ល្បែង​តក្ក​វិទ្យា Blackbox
+GenericName[ko]=블랙박스 논리 게임
+GenericName[lt]=Blackbox loginis žaidimas
+GenericName[lv]=Melnās kastes loģikas spēle
+GenericName[mk]=Логичка игра Blackbox
+GenericName[mr]=ब्लॅकबॉक्स तर्क खेळ
+GenericName[nb]=Logikkspillet Blackbox
+GenericName[nds]=Blackbox Logikspeel
+GenericName[ne]=कालोबाकस तार्किक खेल
+GenericName[nl]=Blackbox: Logisch spel
+GenericName[nn]=Blackbox logikkspel
+GenericName[pl]=KCzarnaSkrzynka - Gra logiczna
+GenericName[pt]=Jogo de Lógica Caixa Preta
+GenericName[pt_BR]=Jogo lógico de Caixa Preta
+GenericName[ro]=Joc de logică Blackbox
+GenericName[ru]=Чёрный ящик
+GenericName[se]=Logihkkaspeallu Blackbox
+GenericName[sk]=Logická hra - čierna skrinka
+GenericName[sl]=Logična igra KBlackBox
+GenericName[sq]=Lojë Logjike Kutia e zezë
+GenericName[sr]=Логичка игра „црна кутија“
+GenericName[sr@ijekavian]=Логичка игра „црна кутија“
+GenericName[sr@ijekavianlatin]=Logička igra „crna kutija“
+GenericName[sr@latin]=Logička igra „crna kutija“
+GenericName[sv]=Svart låda logiskt spel
+GenericName[ta]=கறுப்புபெட்டி லாஜிக் விளையாட்டு
+GenericName[tr]=Karakutu Mantık Oyunu
+GenericName[ug]=قارا قۇتا لوگىكىلىق ئويۇنى
+GenericName[uk]=Гра на логіку (чорна скринька)
+GenericName[wa]=Djeu d' lodjike noere boesse
+GenericName[x-test]=xxBlackbox Logic Gamexx
+GenericName[zh_CN]=黑箱逻辑游戏
+GenericName[zh_TW]=黑盒子智力遊戲
+Exec=kblackbox -qwindowtitle %c
+Name=KBlackBox
+Name[af]=Kblackbox
+Name[ast]=KBlackBox
+Name[be]=Чорная скрыня
+Name[bn]=কে-ব্ল্যাকবক্স
+Name[br]=KBlackBox
+Name[bs]=KBlackBox
+Name[ca]=KBlackBox
+Name[ca@valencia]=KBlackBox
+Name[cs]=KBlackBox
+Name[cy]=KBlackBox
+Name[da]=KBlackBox
+Name[de]=KBlackBox
+Name[el]=KBlackBox
+Name[en_GB]=KBlackBox
+Name[eo]=KBlackBox
+Name[es]=KBlackBox
+Name[et]=KBlackBox
+Name[eu]=KBlackBox
+Name[fa]=جعبه‌سیاه
+Name[fi]=KBlackBox
+Name[fr]=KBlackBox
+Name[ga]=KBlackBox
+Name[gl]=KBlackBox
+Name[he]=KBlackBox
+Name[hne]=के-ब्लेकबाक्स
+Name[hr]=KBlackBox
+Name[hu]=KBlackBox
+Name[is]=Svarti Kassinn
+Name[it]=KBlackBox
+Name[ja]=KBlackBox
+Name[kk]=KBlackBox
+Name[km]=KBlackBox
+Name[ko]=KBlackBox
+Name[lt]=KBlackBox
+Name[lv]=KBlackBox
+Name[mk]=KBlackBox
+Name[mr]=के-ब्लॅकबॉक्स
+Name[nb]=KBlackBox
+Name[nds]=KBlackBox
+Name[ne]=केडीई कालोबाकस
+Name[nl]=KBlackBox
+Name[nn]=KBlackBox
+Name[pa]=ਕੇ-ਬਲੈਕ ਬਾਕਸ
+Name[pl]=KCzarnaSkrzynka
+Name[pt]=KBlackBox
+Name[pt_BR]=KBlackBox
+Name[ro]=KBlackBox
+Name[ru]=KBlackBox
+Name[se]=KBlackBox
+Name[sk]=KBlackBox
+Name[sl]=KBlackBox
+Name[sq]=KBlackBox
+Name[sr]=К‑црна‑кутија
+Name[sr@ijekavian]=К‑црна‑кутија
+Name[sr@ijekavianlatin]=K‑crna‑kutija
+Name[sr@latin]=K‑crna‑kutija
+Name[sv]=Svarta lådan
+Name[ta]=கேகருப்பு பெட்டி
+Name[tg]=KҚуттии Сиёҳ
+Name[tr]=KBlackBox
+Name[ug]=KBlackBox
+Name[uk]=Чорна скринька
+Name[vi]=KBlackBox
+Name[wa]=KBlackBox
+Name[xh]=KBlackBox
+Name[x-test]=xxKBlackBoxxx
+Name[zh_CN]=KBlackBox
+Name[zh_TW]=KBlackBox 黑盒子
+Icon=kblackbox
+X-DocPath=kblackbox/index.html
+Type=Application
+Terminal=false
+StartupNotify=true
+X-DBUS-StartupType=Multi
+Categories=Qt;KDE;Game;BoardGame;


Reply via email to