Hello community,

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

Package is "kruler"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kruler/kruler.changes    2015-03-11 
09:52:00.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.kruler.new/kruler.changes       2015-05-11 
19:17:32.000000000 +0200
@@ -1,0 +2,22 @@
+Sat Apr 11 13:20:29 UTC 2015 - tittiatc...@gmail.com
+
+- 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 18:16:32 UTC 2015 - tittiatc...@gmail.com
+
+- Update to KDE Applications 15.03.95
+   * KDE Applications 15.04 RC
+
+
+-------------------------------------------------------------------
+Sun Mar  8 12:48:22 UTC 2015 - tittiatc...@gmail.com
+
+- Update to KDE Applications 15.03.80
+   * KDE Applications 15.04 Beta
+
+
+-------------------------------------------------------------------

Old:
----
  kruler-14.12.3.tar.xz

New:
----
  kruler-15.04.0.tar.xz

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

Other differences:
------------------
++++++ kruler.spec ++++++
--- /var/tmp/diff_new_pack.ySPPtm/_old  2015-05-11 19:17:33.000000000 +0200
+++ /var/tmp/diff_new_pack.ySPPtm/_new  2015-05-11 19:17:33.000000000 +0200
@@ -17,20 +17,26 @@
 
 
 Name:           kruler
-BuildRequires:  libkde4-devel
-BuildRequires:  oxygen-icon-theme-large
-BuildRequires:  xz
+BuildRequires:  extra-cmake-modules
+BuildRequires:  pkgconfig(Qt5Core)
+BuildRequires:  pkgconfig(Qt5Widgets)
+BuildRequires:  pkgconfig(Qt5X11Extras)
+BuildRequires:  update-desktop-files
+BuildRequires:  kdoctools-devel
+BuildRequires:  ki18n-devel
+BuildRequires:  knotifications-devel
+BuildRequires:  kwindowsystem-devel
+BuildRequires:  kxmlgui-devel
 Summary:        Screen Ruler
 License:        GPL-2.0+
 Group:          Productivity/Graphics/Other
-Provides:       kde4-kruler = 4.3.0
-Obsoletes:      kde4-kruler < 4.3.0
 Url:            http://www.kde.org
-Version:        14.12.3
+Version:        15.04.0
 Release:        0
 Source0:        %{name}-%{version}.tar.xz
+Obsoletes:      %{name}5 < %{version}
+Provides:       %{name}5 = %{version}
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%kde4_runtime_requires
 
 %description 
 A screen ruler for the K Desktop Environment
@@ -39,14 +45,12 @@
 %setup -q -n %{name}-%version
 
 %build
-  %cmake_kde4 -d build
+  %cmake_kf5 -d build
   %make_jobs
 
 %install
-  cd build
-  %kde4_makeinstall
-  %suse_update_desktop_file -r kruler         Utility DesktopUtility
-  %kde_post_install
+  %kf5_makeinstall -C build
+  %suse_update_desktop_file -r org.kde.kruler         Utility DesktopUtility
 
 %post -p /sbin/ldconfig
 
@@ -54,11 +58,11 @@
 
 %files
 %defattr(-,root,root)
-%_kde4_bindir/kruler
-%_kde4_applicationsdir/kruler.desktop
-%_kde4_appsdir/kruler/
-%_datadir/icons/hicolor/*/apps/kruler*
-%_datadir/icons/hicolor/*/actions/kruler*
-%_kde4_htmldir/en//kruler/
+%_kf5_bindir/kruler
+%_kf5_applicationsdir/org.kde.kruler.desktop
+%_kf5_sharedir/kruler/
+%_kf5_htmldir/en//kruler/
+%_kf5_iconsdir/hicolor/*/*/kruler*
+%_datadir/knotifications5/kruler.notifyrc
 
 %changelog

++++++ kruler-14.12.3.tar.xz -> kruler-15.04.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/CMakeLists.txt 
new/kruler-15.04.0/CMakeLists.txt
--- old/kruler-14.12.3/CMakeLists.txt   2014-07-25 07:38:27.000000000 +0200
+++ new/kruler-15.04.0/CMakeLists.txt   2015-03-27 08:03:48.000000000 +0100
@@ -1,32 +1,69 @@
 project(kruler)
 
-find_package(KDE4 REQUIRED)
-include(KDE4Defaults)
+cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
+set(QT_MIN_VERSION "5.2.0")
+
+find_package(ECM 1.3.0 REQUIRED NO_MODULE)
+set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
+
+add_definitions(-DTRANSLATION_DOMAIN="kruler")
+
+include(KDEInstallDirs)
+include(KDECompilerSettings)
+include(KDECMakeSettings)
+include(ECMInstallIcons)
+include(FeatureSummary)
+
+find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
+    Core
+    Widgets
+)
+
+find_package(KF5 REQUIRED COMPONENTS
+    DocTools
+    I18n
+    Notifications
+    WindowSystem
+    XmlGui
+)
+
+if (NOT APPLE)
+    find_package(X11)
+    set (KRULER_HAVE_X11 ${X11_FOUND})
+    if (X11_FOUND)
+        find_package(XCB COMPONENTS XCB)
+        find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED X11Extras)
+    endif()
+endif()
+
+configure_file(krulerconfig.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/krulerconfig.h)
 
 add_subdirectory( pics )
 add_subdirectory( doc )
 
-include_directories (${KDE4_INCLUDES})
-
 ########### next target ###############
 
 set(kruler_SRCS qautosizelabel.cpp klineal.cpp main.cpp krulersystemtray.cpp)
 
-kde4_add_ui_files(kruler_SRCS cfg_appearance.ui cfg_advanced.ui)
+ki18n_wrap_ui(kruler_SRCS cfg_appearance.ui cfg_advanced.ui)
 
-kde4_add_kcfg_files(kruler_SRCS kruler.kcfgc)
+kconfig_add_kcfg_files(kruler_SRCS kruler.kcfgc)
 
-kde4_add_app_icon(kruler_SRCS 
"${CMAKE_CURRENT_SOURCE_DIR}/pics/hi*-apps-kruler.png")
+#kde4_add_app_icon(kruler_SRCS 
"${CMAKE_CURRENT_SOURCE_DIR}/pics/hi*-apps-kruler.png")
 
-kde4_add_executable(kruler ${kruler_SRCS})
+add_executable(kruler ${kruler_SRCS})
 
-target_link_libraries(kruler ${KDE4_KDEUI_LIBS} ${X11_LIBRARIES})
+target_link_libraries(kruler KF5::I18n KF5::Notifications KF5::WindowSystem 
KF5::XmlGui)
+if (X11_FOUND)
+    target_link_libraries(kruler Qt5::X11Extras ${XCB_LIBRARIES})
+endif()
 
 install(TARGETS kruler ${INSTALL_TARGETS_DEFAULT_ARGS})
 
 
 ########### install files ###############
 
-install( PROGRAMS kruler.desktop  DESTINATION  ${XDG_APPS_INSTALL_DIR} )
-install( FILES kruler.notifyrc  DESTINATION  ${DATA_INSTALL_DIR}/kruler )
+install( PROGRAMS org.kde.kruler.desktop  DESTINATION  ${XDG_APPS_INSTALL_DIR} 
)
+install( FILES kruler.notifyrc  DESTINATION  ${KNOTIFYRC_INSTALL_DIR} )
 install( FILES move.wav  DESTINATION  ${DATA_INSTALL_DIR}/kruler/sounds )
+feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/doc/CMakeLists.txt 
new/kruler-15.04.0/doc/CMakeLists.txt
--- old/kruler-14.12.3/doc/CMakeLists.txt       2014-07-25 07:38:27.000000000 
+0200
+++ new/kruler-15.04.0/doc/CMakeLists.txt       2015-03-27 08:03:48.000000000 
+0100
@@ -1,4 +1,4 @@
 ########### install files ###############
 #
 #
-kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en 
SUBDIR kruler)
+kdoctools_create_handbook(index.docbook INSTALL_DESTINATION 
${HTML_INSTALL_DIR}/en SUBDIR kruler)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/doc/index.docbook 
new/kruler-15.04.0/doc/index.docbook
--- old/kruler-14.12.3/doc/index.docbook        2014-07-25 07:38:27.000000000 
+0200
+++ new/kruler-15.04.0/doc/index.docbook        2015-03-27 08:03:48.000000000 
+0100
@@ -1,5 +1,5 @@
 <?xml version="1.0" ?>
-<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" 
"dtd/kdex.dtd" [
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" 
"dtd/kdedbx45.dtd" [
   <!ENTITY kappname "&kruler;">
   <!ENTITY package "kdegraphics">
   <!ENTITY % English "INCLUDE" > <!-- change language only here -->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/klineal.cpp 
new/kruler-15.04.0/klineal.cpp
--- old/kruler-14.12.3/klineal.cpp      2014-07-25 07:38:27.000000000 +0200
+++ new/kruler-15.04.0/klineal.cpp      2015-03-27 08:03:48.000000000 +0100
@@ -17,34 +17,40 @@
 
 #include "klineal.h"
 
+#include <QAction>
+#include <QApplication>
 #include <QBitmap>
 #include <QBrush>
 #include <QClipboard>
-#include <QPainter>
+#include <QDesktopWidget>
+#include <QFontDatabase>
+#include <QInputDialog>
+#include <QMenu>
 #include <QMouseEvent>
+#include <QPainter>
+#include <QScreen>
 #include <QSlider>
 #include <QToolButton>
 #include <QWidgetAction>
 
-#include <KAction>
+#include <KAboutData>
 #include <KActionCollection>
-#include <KColorDialog>
 #include <KConfig>
 #include <KConfigDialog>
-#include <KGlobalSettings>
+#include <KHelpClient>
 #include <KHelpMenu>
-#include <KInputDialog>
-#include <KLocale>
-#include <KMenu>
+#include <KLocalizedString>
 #include <KNotification>
 #include <KShortcutsDialog>
 #include <KStandardAction>
-#include <KSystemTrayIcon>
-#include <KToolInvocation>
 #include <KWindowSystem>
-#include <KApplication>
 
+#include "krulerconfig.h"
+
+#ifdef KRULER_HAVE_X11
+#include <QX11Info>
 #include <netwm.h>
+#endif
 
 #include "kruler.h"
 #include "krulersystemtray.h"
@@ -88,10 +94,10 @@
     mCloseButton( 0 ),
     mTrayIcon( 0 )
 {
+  setAttribute( Qt::WA_TranslucentBackground );
   KWindowSystem::setType( winId(), NET::Override );   // or NET::Normal
   KWindowSystem::setState( winId(), NET::KeepAbove );
 
-  setAttribute( Qt::WA_TranslucentBackground );
   setWindowFlags( Qt::FramelessWindowHint );
   setWindowTitle( i18nc( "@title:window", "KRuler" ) );
 
@@ -123,14 +129,10 @@
 
   mLabel = new QAutoSizeLabel( this );
   mLabel->setGeometry( 0, height() - 12, 32, 12 );
-  QFont labelFont( KGlobalSettings::generalFont().family(), 10 );
-  labelFont.setPixelSize( 10 );
-  mLabel->setFont( labelFont );
   mLabel->setWhatsThis( i18n( "This is the current distance measured in 
pixels." ) );
   mColorLabel = new QAutoSizeLabel( this );
   mColorLabel->setAutoFillBackground( true );
-  QFont colorFont( KGlobalSettings::fixedFont().family(), 10 );
-  colorFont.setPixelSize( 10 );
+  QFont colorFont = QFontDatabase::systemFont(QFontDatabase::FixedFont);
   mColorLabel->setFont( colorFont );
   mColorLabel->move( mLabel->pos() + QPoint(0, 20) );
   mColorLabel->setWhatsThis(i18n("This is the current color in hexadecimal rgb 
representation"
@@ -139,14 +141,14 @@
                                  "little square at the end of the line 
cursor." ) );
 
   mBtnRotateLeft = new QToolButton( this );
-  mBtnRotateLeft->setIcon( KIcon( QLatin1String(  "object-rotate-left" ) ) );
+  mBtnRotateLeft->setIcon( QIcon::fromTheme( QLatin1String(  
"object-rotate-left" ) ) );
   mBtnRotateLeft->setToolTip( i18n( "Turn Left" ) );
-  connect( mBtnRotateLeft, SIGNAL(clicked()), this, SLOT(turnLeft()) );
+  connect(mBtnRotateLeft, &QToolButton::clicked, this, &KLineal::turnLeft);
 
   mBtnRotateRight = new QToolButton( this );
-  mBtnRotateRight->setIcon( KIcon( QLatin1String(  "object-rotate-right" ) ) );
+  mBtnRotateRight->setIcon( QIcon::fromTheme( QLatin1String(  
"object-rotate-right" ) ) );
   mBtnRotateRight->setToolTip( i18n( "Turn Right" ) );
-  connect( mBtnRotateRight, SIGNAL(clicked()), this, SLOT(turnRight()) );
+  connect(mBtnRotateRight, &QToolButton::clicked, this, &KLineal::turnRight);
 
   resize( QSize( mLongEdgeLen, mShortEdgeLen ) );
 
@@ -154,56 +156,56 @@
   mActionCollection = new KActionCollection( this );
   mActionCollection->setConfigGroup( QLatin1String( "Actions" ) );
 
-  mMenu = new KMenu( this );
-  mMenu->addTitle( i18n( "KRuler" ) );
-  KMenu *oriMenu = new KMenu( i18n( "&Orientation"), this );
-  addAction( oriMenu, KIcon( QLatin1String( "kruler-north" ) ), i18nc( "Turn 
Kruler North", "&North" ),
+  mMenu = new QMenu( this );
+  mMenu->addSection( i18n( "KRuler" ) );
+  QMenu *oriMenu = new QMenu( i18n( "&Orientation"), this );
+  addAction( oriMenu, QIcon::fromTheme( QLatin1String( "kruler-north" ) ), 
i18nc( "Turn Kruler North", "&North" ),
              this, SLOT(setNorth()), Qt::Key_N, QLatin1String( "turn_north" ) 
);
-  addAction( oriMenu, KIcon( QLatin1String( "kruler-east" ) ), i18nc( "Turn 
Kruler East", "&East" ),
+  addAction( oriMenu, QIcon::fromTheme( QLatin1String( "kruler-east" ) ), 
i18nc( "Turn Kruler East", "&East" ),
              this, SLOT(setEast()), Qt::Key_E, QLatin1String( "turn_east" ) );
-  addAction( oriMenu, KIcon( QLatin1String( "kruler-south" ) ), i18nc( "Turn 
Kruler South", "&South" ),
+  addAction( oriMenu, QIcon::fromTheme( QLatin1String( "kruler-south" ) ), 
i18nc( "Turn Kruler South", "&South" ),
              this, SLOT(setSouth()), Qt::Key_S, QLatin1String( "turn_south" ) 
);
-  addAction( oriMenu, KIcon( QLatin1String( "kruler-west" ) ), i18nc( "Turn 
Kruler West", "&West" ),
+  addAction( oriMenu, QIcon::fromTheme( QLatin1String( "kruler-west" ) ), 
i18nc( "Turn Kruler West", "&West" ),
              this, SLOT(setWest()), Qt::Key_W, QLatin1String( "turn_west" ) );
-  addAction( oriMenu, KIcon( QLatin1String( "object-rotate-right" ) ), i18n( 
"&Turn Right" ),
+  addAction( oriMenu, QIcon::fromTheme( QLatin1String( "object-rotate-right" ) 
), i18n( "&Turn Right" ),
              this, SLOT(turnRight()), Qt::Key_R, QLatin1String( "turn_right" ) 
);
-  addAction( oriMenu, KIcon( QLatin1String( "object-rotate-left" ) ), i18n( 
"Turn &Left" ),
+  addAction( oriMenu, QIcon::fromTheme( QLatin1String( "object-rotate-left" ) 
), i18n( "Turn &Left" ),
              this, SLOT(turnLeft()), Qt::Key_L, QLatin1String( "turn_left" ) );
   mMenu->addMenu( oriMenu );
 
-  mLenMenu = new KMenu( i18n( "&Length" ), this );
-  addAction( mLenMenu, KIcon(), i18nc( "Make Kruler Height Short", "&Short" ),
+  mLenMenu = new QMenu( i18n( "&Length" ), this );
+  addAction( mLenMenu, QIcon(), i18nc( "Make Kruler Height Short", "&Short" ),
              this, SLOT(setShortLength()), Qt::CTRL + Qt::Key_S, 
QLatin1String( "length_short" ) );
-  addAction( mLenMenu, KIcon(), i18nc( "Make Kruler Height Medium", "&Medium" 
),
+  addAction( mLenMenu, QIcon(), i18nc( "Make Kruler Height Medium", "&Medium" 
),
              this, SLOT(setMediumLength()), Qt::CTRL + Qt::Key_M, 
QLatin1String( "length_medium" ) );
-  addAction( mLenMenu, KIcon(), i18nc( "Make Kruler Height Tall", "&Tall" ),
+  addAction( mLenMenu, QIcon(), i18nc( "Make Kruler Height Tall", "&Tall" ),
              this, SLOT(setTallLength()), Qt::CTRL + Qt::Key_T, QLatin1String( 
"length_tall" ) );
-  addAction( mLenMenu, KIcon(), i18n("&Full Screen Width"),
+  addAction( mLenMenu, QIcon(), i18n("&Full Screen Width"),
              this, SLOT(setFullLength()), Qt::CTRL + Qt::Key_F, QLatin1String( 
"length_full_length" ) );
   mLenMenu->addSeparator();
-  addAction( mLenMenu, KIcon(), i18n( "Length..." ),
+  addAction( mLenMenu, QIcon(), i18n( "Length..." ),
              this, SLOT(slotLength()), QKeySequence(), QLatin1String( 
"set_length" ) );
   mMenu->addMenu( mLenMenu );
 
-  KMenu* scaleMenu = new KMenu( i18n( "&Scale" ), this );
-  mScaleDirectionAction = addAction( scaleMenu, KIcon(), i18n( "Right to Left" 
),
+  QMenu* scaleMenu = new QMenu( i18n( "&Scale" ), this );
+  mScaleDirectionAction = addAction( scaleMenu, QIcon(), i18n( "Right to Left" 
),
                                      this, SLOT(switchDirection()), Qt::Key_D, 
QLatin1String( "right_to_left" ) );
-  mCenterOriginAction = addAction( scaleMenu, KIcon(), i18n( "Center Origin" ),
+  mCenterOriginAction = addAction( scaleMenu, QIcon(), i18n( "Center Origin" ),
                                    this, SLOT(centerOrigin()), Qt::Key_C, 
QLatin1String( "center_origin" ) );
   mCenterOriginAction->setEnabled( !mRelativeScale );
-  mOffsetAction = addAction( scaleMenu, KIcon(), i18n( "Offset..." ),
+  mOffsetAction = addAction( scaleMenu, QIcon(), i18n( "Offset..." ),
                              this, SLOT(slotOffset()), Qt::Key_O, 
QLatin1String( "set_offset" ) );
   mOffsetAction->setEnabled( !mRelativeScale );
   scaleMenu->addSeparator();
-  KAction *relativeScaleAction = addAction( scaleMenu, KIcon(), i18n( 
"Percentage" ),
+  QAction *relativeScaleAction = addAction( scaleMenu, QIcon(), i18n( 
"Percentage" ),
                                             0, 0, QKeySequence(), 
QLatin1String( "toggle_percentage" ) );
   relativeScaleAction->setCheckable( true );
   relativeScaleAction->setChecked( mRelativeScale );
-  connect( relativeScaleAction, SIGNAL(toggled(bool)), this, 
SLOT(switchRelativeScale(bool)) );
+  connect(relativeScaleAction, &QAction::toggled, this, 
&KLineal::switchRelativeScale);
   mMenu->addMenu( scaleMenu );
 
   mOpacity = RulerSettings::self()->opacity();
-  KMenu* opacityMenu = new KMenu( i18n( "O&pacity" ), this );
+  QMenu* opacityMenu = new QMenu( i18n( "O&pacity" ), this );
   QWidgetAction *opacityAction = new QWidgetAction( this );
   QSlider *slider = new QSlider( this );
   slider->setMinimum( 0 );
@@ -211,31 +213,27 @@
   slider->setSingleStep( 1 );
   slider->setOrientation( Qt::Horizontal );
   slider->setValue( RulerSettings::self()->opacity() );
-  connect( slider, SIGNAL(valueChanged(int)), this, SLOT(slotOpacity(int)) );
+  connect(slider, &QSlider::valueChanged, this, &KLineal::slotOpacity);
   opacityAction->setDefaultWidget( slider );
   opacityMenu->addAction( opacityAction );
   mMenu->addMenu( opacityMenu );
 
-  KAction *keyBindings = KStandardAction::keyBindings( this, 
SLOT(slotKeyBindings()), this );
-  mActionCollection->addAction( QLatin1String(  "key_bindings" ), keyBindings 
);
+  QAction *keyBindings = mActionCollection->addAction( 
KStandardAction::KeyBindings, this, SLOT(slotKeyBindings()) );
   mMenu->addAction( keyBindings );
-  KAction *preferences = KStandardAction::preferences( this, 
SLOT(slotPreferences()), this );
-  mActionCollection->addAction( QLatin1String(  "preferences" ), preferences );
+  QAction *preferences = mActionCollection->addAction( 
KStandardAction::Preferences, this, SLOT(slotPreferences()) );
   mMenu->addAction( preferences );
   mMenu->addSeparator();
-  KAction *copyColorAction = KStandardAction::copy( this, SLOT(copyColor()), 
this );
+  QAction *copyColorAction = mActionCollection->addAction( 
KStandardAction::Copy, this, SLOT(copyColor()) );
   copyColorAction->setText( i18n( "Copy Color" ) );
-  mActionCollection->addAction( QLatin1String(  "copy_color" ), 
copyColorAction );
   mMenu->addAction( copyColorAction );
   mMenu->addSeparator();
-  mMenu->addMenu( ( new KHelpMenu( this, KGlobal::mainComponent().aboutData(), 
true ) )->menu() );
+  mMenu->addMenu( ( new KHelpMenu( this, KAboutData::applicationData(), true ) 
)->menu() );
   mMenu->addSeparator();
   if ( RulerSettings::self()->trayIcon() ) {
       createSystemTray();
   }
 
-  KAction *quit = KStandardAction::quit( kapp, SLOT(quit()), this );
-  mActionCollection->addAction( QLatin1String(  "quit" ), quit );
+  QAction *quit = mActionCollection->addAction( KStandardAction::Quit, qApp, 
SLOT(quit()) );
   mMenu->addAction( quit );
 
   mActionCollection->associateWidget( this );
@@ -256,14 +254,13 @@
 void KLineal::createSystemTray()
 {
   if ( !mCloseAction ) {
-    mCloseAction = KStandardAction::close( this, SLOT(slotClose()), this );
-    mActionCollection->addAction( QLatin1String(  "close" ), mCloseAction );
+    mCloseAction = mActionCollection->addAction( KStandardAction::Close, this, 
SLOT(slotClose()) );
     mMenu->addAction( mCloseAction );
 
     mCloseButton = new QToolButton( this );
     mCloseButton->setIcon( mCloseAction->icon() );
     mCloseButton->setToolTip( mCloseAction->text().remove( QLatin1Char(  '&' ) 
) );
-    connect( mCloseButton, SIGNAL(clicked()), this, SLOT(slotClose()) );
+    connect(mCloseButton, &QToolButton::clicked, this, &KLineal::slotClose);
   } else {
     mCloseAction->setVisible( true );
   }
@@ -275,12 +272,12 @@
 }
 
 
-KAction* KLineal::addAction( KMenu *menu, KIcon icon, const QString& text,
+QAction* KLineal::addAction( QMenu *menu, const QIcon& icon, const QString& 
text,
                              const QObject* receiver, const char* member,
                              const QKeySequence &shortcut, const QString& name 
)
 {
-  KAction *action = new KAction( icon, text, mActionCollection );
-  action->setShortcut( shortcut );
+  QAction *action = new QAction( icon, text, mActionCollection );
+  mActionCollection->setDefaultShortcut( action, shortcut );
   if ( receiver ) {
     connect( action, SIGNAL(triggered()), receiver, member );
   }
@@ -296,7 +293,7 @@
 
 void KLineal::slotQuit()
 {
-   kapp->quit();
+   qApp->quit();
 }
 
 void KLineal::move( int x, int y )
@@ -388,7 +385,7 @@
 
   r.moveTo(newTopLeft);
 
-  QRect desktop = KGlobalSettings::desktopGeometry( this );
+  QRect desktop = QApplication::desktop()->screenGeometry( this );
 
   if ( r.top() < desktop.top() ) {
     r.moveTop( desktop.top() );
@@ -482,7 +479,7 @@
     return;
   }
 
-  QRect r = KGlobalSettings::desktopGeometry( this );
+  QRect r = QApplication::desktop()->screenGeometry( this );
 
   if ( mOrientation == North || mOrientation == South ) {
     mLongEdgeLen = r.width() * percentOfScreen / 100;
@@ -584,9 +581,9 @@
 void KLineal::slotOffset()
 {
   bool ok;
-  int newOffset = KInputDialog::getInteger( i18nc( "@title:window", "Scale 
Offset" ),
+  int newOffset = QInputDialog::getInt( this, i18nc( "@title:window", "Scale 
Offset" ),
                                             i18n( "Offset:" ), mOffset,
-                                            -2147483647, 2147483647, 1, &ok, 
this );
+                                            -2147483647, 2147483647, 1, &ok );
 
   if ( ok ) {
     mOffset = newOffset;
@@ -599,11 +596,11 @@
 void KLineal::slotLength()
 {
   bool ok;
-  QRect r = KGlobalSettings::desktopGeometry( this );
+  QRect r = QApplication::desktop()->screenGeometry( this );
   int width = ( ( mOrientation == North ) || ( mOrientation == South ) ) ? 
r.width() : r.height();
-  int newLength = KInputDialog::getInteger( i18nc( "@title:window", "Ruler 
Length" ),
+  int newLength = QInputDialog::getInt( this, i18nc( "@title:window", "Ruler 
Length" ),
                                             i18n( "Length:" ), mLongEdgeLen,
-                                            0, width, 1, &ok, this );
+                                            0, width, 1, &ok );
 
   if ( ok ) {
     reLengthAbsolute( newLength );
@@ -615,7 +612,7 @@
   mOpacity = value;
   repaint();
   RulerSettings::self()->setOpacity( value );
-  RulerSettings::self()->writeConfig();
+  RulerSettings::self()->save();
 }
 
 void KLineal::slotKeyBindings()
@@ -633,12 +630,17 @@
   appearanceConfig.kcfg_CloseButtonVisible->setEnabled( 
appearanceConfig.kcfg_TrayIcon->isChecked() );
   dialog->addPage( appearanceConfigWidget, i18n( "Appearance" ), 
QLatin1String( "preferences-desktop-default-applications" ) );
 
-  Ui::ConfigAdvanced advancedConfig;
-  QWidget *advancedConfigWidget = new QWidget( dialog );
-  advancedConfig.setupUi( advancedConfigWidget );
-  dialog->addPage( advancedConfigWidget, i18n( "Advanced" ), QLatin1String( 
"preferences-other" ) );
+#ifdef KRULER_HAVE_X11
+  // Advanced page only contains "Native moving" setting, disable when not 
running on X11
+  if ( QX11Info::isPlatformX11() ) {
+    Ui::ConfigAdvanced advancedConfig;
+    QWidget *advancedConfigWidget = new QWidget( dialog );
+    advancedConfig.setupUi( advancedConfigWidget );
+    dialog->addPage( advancedConfigWidget, i18n( "Advanced" ), QLatin1String( 
"preferences-other" ) );
+  }
+#endif
 
-  connect( dialog, SIGNAL(settingsChanged(QString)), SLOT(loadConfig()) );
+  connect(dialog, &KConfigDialog::settingsChanged, this, &KLineal::loadConfig);
   dialog->exec();
   delete dialog;
 }
@@ -691,7 +693,7 @@
   RulerSettings::self()->setLeftToRight( mLeftToRight );
   RulerSettings::self()->setOffset( mOffset );
   RulerSettings::self()->setRelativeScale( mRelativeScale );
-  RulerSettings::self()->writeConfig();
+  RulerSettings::self()->save();
 }
 
 void KLineal::copyColor()
@@ -840,7 +842,7 @@
 
   switch ( e->key() ) {
   case Qt::Key_F1:
-    KToolInvocation::invokeHelp();
+    KHelpClient::invokeHelp();
     return;
 
   case Qt::Key_Left:
@@ -880,8 +882,14 @@
 {
   Q_UNUSED( inEvent );
 
-  if ( mDragging && this == mouseGrabber() && 
!RulerSettings::self()->nativeMoving() ) {
-    move( QCursor::pos() - mDragOffset );
+  if ( mDragging && this == mouseGrabber() ) {
+#ifdef KRULER_HAVE_X11
+    if ( !QX11Info::isPlatformX11() || !RulerSettings::self()->nativeMoving() 
) {
+#endif
+      move( QCursor::pos() - mDragOffset );
+#ifdef KRULER_HAVE_X11
+    }
+#endif
   } else {
     QPoint p = QCursor::pos();
 
@@ -903,7 +911,7 @@
       break;
     }
 
-    QColor color = KColorDialog::grabColor( p );
+    QColor color = pixelColor( p );
     int h, s, v;
     color.getHsv( &h, &s, &v );
     mColorLabel->setText( color.name().toUpper() );
@@ -932,10 +940,10 @@
   QRect gr = geometry();
   mDragOffset = mLastClickPos - QPoint( gr.left(), gr.top() );
   if ( inEvent->button() == Qt::LeftButton ) {
-#ifdef Q_WS_X11
-    if ( RulerSettings::self()->nativeMoving() ) {
-      XUngrabPointer( QX11Info::display(), QX11Info::appTime() );
-      NETRootInfo wm_root( QX11Info::display(), NET::WMMoveResize );
+#ifdef KRULER_HAVE_X11
+    if ( QX11Info::isPlatformX11() && RulerSettings::self()->nativeMoving() ) {
+      xcb_ungrab_pointer( QX11Info::connection(), QX11Info::appTime() );
+      NETRootInfo wm_root( QX11Info::connection(), NET::WMMoveResize );
       wm_root.moveResizeRequest( winId(), inEvent->globalX(), 
inEvent->globalY(), NET::Move );
     } else {
 #endif
@@ -943,7 +951,7 @@
         grabMouse( Qt::SizeAllCursor );
         mDragging = true;
       }
-#ifdef Q_WS_X11
+#ifdef KRULER_HAVE_X11
     }
 #endif
   } else if ( inEvent->button() == Qt::MidButton ) {
@@ -961,9 +969,9 @@
 {
   Q_UNUSED( inEvent );
 
-#ifdef Q_WS_X11
-  if ( RulerSettings::self()->nativeMoving() ) {
-    NETRootInfo wm_root( QX11Info::display(), NET::WMMoveResize );
+#ifdef KRULER_HAVE_X11
+  if ( QX11Info::isPlatformX11() && RulerSettings::self()->nativeMoving() ) {
+    NETRootInfo wm_root( QX11Info::connection(), NET::WMMoveResize );
     wm_root.moveResizeRequest( winId(), inEvent->globalX(), 
inEvent->globalY(), NET::MoveResizeCancel );
   } else {
 #endif
@@ -971,7 +979,7 @@
       mDragging = false;
       releaseMouse();
     }
-#ifdef Q_WS_X11
+#ifdef KRULER_HAVE_X11
   }
 #endif
 
@@ -1198,4 +1206,11 @@
   drawScale( painter );
 }
 
-#include "klineal.moc"
+QColor KLineal::pixelColor(const QPoint &p)
+{
+  const QDesktopWidget *desktop = QApplication::desktop();
+  QScreen *screen = QGuiApplication::screens().at(desktop->screenNumber());
+  const QPixmap pixmap = screen->grabWindow(desktop->winId(), p.x(), p.y(), 1, 
1);
+  return QColor(pixmap.toImage().pixel(QPoint(0, 0)));
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/klineal.h new/kruler-15.04.0/klineal.h
--- old/kruler-14.12.3/klineal.h        2014-07-25 07:38:27.000000000 +0200
+++ new/kruler-15.04.0/klineal.h        2015-03-27 08:03:48.000000000 +0100
@@ -20,13 +20,13 @@
 
 #include <QWidget>
 
+class QAction;
 class QAutoSizeLabel;
+class QIcon;
+class QMenu;
 class QToolButton;
 
-class KAction;
 class KActionCollection;
-class KIcon;
-class KMenu;
 class KRulerSystemTray;
 
 class KLineal : public QWidget {
@@ -57,7 +57,7 @@
   void createSystemTray();
 
 private:
-  KAction* addAction( KMenu *menu, KIcon icon, const QString& text,
+  QAction* addAction( QMenu *menu, const QIcon& icon, const QString& text,
                       const QObject* receiver, const char* member,
                       const QKeySequence &shortcut, const QString& name );
   void drawScale( QPainter &painter );
@@ -65,6 +65,7 @@
   void reLength( int percentOfScreen );
   void reLengthAbsolute( int length );
   void updateScaleDirectionMenuItem();
+  QColor pixelColor( const QPoint &p );
 
   bool mDragging;
   QPoint mLastClickPos;
@@ -74,9 +75,9 @@
   int mOrientation;
   int mLongEdgeLen;
   int mShortEdgeLen;
-  KMenu *mMenu;
+  QMenu *mMenu;
   QAction *mCloseAction;
-  KMenu *mLenMenu;
+  QMenu *mLenMenu;
   QAction *mFullScreenAction;
   QAction *mScaleDirectionAction;
   QAction *mCenterOriginAction;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/kruler.desktop 
new/kruler-15.04.0/kruler.desktop
--- old/kruler-14.12.3/kruler.desktop   2014-07-25 07:38:27.000000000 +0200
+++ new/kruler-15.04.0/kruler.desktop   1970-01-01 01:00:00.000000000 +0100
@@ -1,158 +0,0 @@
-[Desktop Entry]
-GenericName=Screen Ruler
-GenericName[af]=Skerm Liniaal
-GenericName[ar]=مسطرة الشاشة
-GenericName[ast]=Regla pa la pantalla
-GenericName[bg]=Линийка за екрана
-GenericName[bs]=Ekranski lenjir
-GenericName[ca]=Regle de pantalla
-GenericName[ca@valencia]=Regle de pantalla
-GenericName[cs]=Obrazovkové pravítko
-GenericName[cy]=Mesurydd Sgrîn
-GenericName[da]=Skærmlineal
-GenericName[de]=Bildschirmlineal
-GenericName[el]=Κανόνας οθόνης
-GenericName[en_GB]=Screen Ruler
-GenericName[eo]=Ekrana liniilo
-GenericName[es]=Regla para la pantalla
-GenericName[et]=Ekraani joonlaud
-GenericName[eu]=Pantailaren erregela
-GenericName[fa]=خط‌کش پرده
-GenericName[fi]=Näyttöviivain
-GenericName[fr]=Règle d'écran
-GenericName[ga]=Rialóir Scáileáin
-GenericName[gl]=Regra de pantalla
-GenericName[he]=סרגל מסך
-GenericName[hi]=स्क्रीन मापनी
-GenericName[hne]=स्क्रीन मापनी
-GenericName[hr]=Ravnalo
-GenericName[hu]=Képernyővonalzó
-GenericName[ia]=Regula de schermo
-GenericName[is]=Reglustika
-GenericName[it]=Righello per lo schermo
-GenericName[ja]=スクリーンルーラー
-GenericName[kk]=Экран өлшегіші
-GenericName[km]=បន្ទាត់​អេក្រង់
-GenericName[ko]=화면 자
-GenericName[ku]=Rastekê Dîmenderê
-GenericName[lt]=Ekrano liniuotė
-GenericName[lv]=Ekrāna mērlenta
-GenericName[mr]=स्क्रीन मोजपट्टी
-GenericName[ms]=Pembaris Skrin
-GenericName[nb]=Skjermlinjal
-GenericName[nds]=Schirmlineaal
-GenericName[ne]=पर्दा रूलर
-GenericName[nl]=Schermliniaal
-GenericName[nn]=Skjermlinjal
-GenericName[pa]=ਸਕਰੀਨ ਰੀਡਰ
-GenericName[pl]=Linijka ekranowa
-GenericName[pt]=Régua do Ecrã
-GenericName[pt_BR]=Régua de tela
-GenericName[ro]=Riglă de ecran
-GenericName[ru]=Экранная линейка
-GenericName[se]=Šearpmalinjála
-GenericName[si]=තිරයේ කෝදුව
-GenericName[sk]=Pravítko obrazovky
-GenericName[sl]=Zaslonsko ravnilo
-GenericName[sr]=Екрански лењир
-GenericName[sr@ijekavian]=Екрански лењир
-GenericName[sr@ijekavianlatin]=Ekranski lenjir
-GenericName[sr@latin]=Ekranski lenjir
-GenericName[sv]=Skärmlinjal
-GenericName[ta]=திரை உருளை
-GenericName[tg]=Ҷадвали экрании KDE
-GenericName[th]=ไม้บรรทัดบนหน้าจอ
-GenericName[tr]=Ekran Cetveli
-GenericName[ug]=ئېكران باشقۇرغۇ
-GenericName[uk]=Лінійка екрана
-GenericName[uz]=Ekran lineykasi
-GenericName[uz@cyrillic]=Экран линейкаси
-GenericName[vi]=Thước đo màn hình
-GenericName[xh]=Screen Ruler
-GenericName[x-test]=xxScreen Rulerxx
-GenericName[zh_CN]=屏幕标尺
-GenericName[zh_HK]=螢幕尺規
-GenericName[zh_TW]=螢幕尺規
-Name=KRuler
-Name[af]=K-lineaal
-Name[ar]=مسطرة ك
-Name[ast]=KRuler
-Name[bg]=KRuler
-Name[br]=KRuler
-Name[bs]=K‑lenjir
-Name[ca]=KRuler
-Name[ca@valencia]=KRuler
-Name[cs]=KRuler
-Name[cy]=KMesurydd
-Name[da]=KRuler
-Name[de]=KRuler
-Name[el]=KRuler
-Name[en_GB]=KRuler
-Name[eo]=KRuler
-Name[es]=KRuler
-Name[et]=KRuler
-Name[eu]=KRuler
-Name[fi]=KRuler
-Name[fr]=KRuler
-Name[ga]=KRuler
-Name[gl]=KRuler
-Name[he]=KRuler
-Name[hi]=के-रूलर
-Name[hne]=के-रूलर
-Name[hr]=KRuler
-Name[hu]=KRuler
-Name[ia]=KRuler
-Name[is]=KReglustika
-Name[it]=KRuler
-Name[ja]=KRuler
-Name[kk]=KRuler
-Name[km]=KRuler
-Name[ko]=KRuler
-Name[ku]=KRuler
-Name[lt]=KRuler
-Name[lv]=KRuler
-Name[mr]=के-रुलर
-Name[ms]=KPembaris
-Name[nb]=KRuler
-Name[nds]=KRuler
-Name[ne]=केडीई रूलर
-Name[nl]=KRuler
-Name[nn]=KRuler
-Name[pa]=ਕੇ-ਰੂਲਰ
-Name[pl]=Linijka
-Name[pt]=KRuler
-Name[pt_BR]=KRuler
-Name[ro]=Riglă
-Name[ru]=KRuler
-Name[se]=KRuler
-Name[si]=KRuler
-Name[sk]=KRuler
-Name[sl]=KRuler
-Name[sr]=К‑лењир
-Name[sr@ijekavian]=К‑лењир
-Name[sr@ijekavianlatin]=K‑lenjir
-Name[sr@latin]=K‑lenjir
-Name[sv]=Kruler
-Name[ta]=கேவரை உருளை
-Name[tg]=KRuler
-Name[th]=ไม้บรรทัด-K
-Name[tr]=KRuler
-Name[ug]=KRuler
-Name[uk]=KRuler
-Name[uz]=KRuler
-Name[uz@cyrillic]=KRuler
-Name[vi]=KRuler
-Name[xh]=KRuler
-Name[x-test]=xxKRulerxx
-Name[zh_CN]=KRuler
-Name[zh_HK]=KRuler
-Name[zh_TW]=KRuler 尺規
-X-DocPath=kruler/index.html
-MimeType=
-Exec=kruler
-Type=Application
-Icon=kruler
-Terminal=false
-X-KDE-StartupNotify=true
-X-DBUS-StartupType=Multi
-Categories=Qt;KDE;Graphics;X-KDE-More;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/kruler.kcfg 
new/kruler-15.04.0/kruler.kcfg
--- old/kruler-14.12.3/kruler.kcfg      2014-07-25 07:38:27.000000000 +0200
+++ new/kruler-15.04.0/kruler.kcfg      2015-03-27 08:03:48.000000000 +0100
@@ -2,7 +2,7 @@
 <!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.xsd";>
 <kcfg>
   <kcfgfile name="krulerrc"/>
-  <include>KGlobalSettings</include>
+  <include>QFontDatabase</include>
   <group name="StoredSettings">
     <entry name="BgColor" type="Color">
       <label>Background color of the ruler.</label>
@@ -14,7 +14,7 @@
     </entry>
     <entry name="ScaleFont" type="Font">
       <label>Font of the text on the ruler scale.</label>
-      <default code="true">QFont( KGlobalSettings::generalFont().family(), 6 
)</default>
+      <default 
code="true">QFontDatabase::systemFont(QFontDatabase::SmallestReadableFont)</default>
     </entry>
     <entry name="Orientation" type="Int">
       <label>Orientation of the ruler</label>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/kruler.notifyrc 
new/kruler-15.04.0/kruler.notifyrc
--- old/kruler-14.12.3/kruler.notifyrc  2014-07-25 07:38:27.000000000 +0200
+++ new/kruler-15.04.0/kruler.notifyrc  2015-03-27 08:03:48.000000000 +0100
@@ -21,6 +21,7 @@
 Comment[hr]=Ravnalo na zaslonu
 Comment[hu]=Képernyővonalzó
 Comment[ia]=Regula sur le schermo
+Comment[id]=Penggaris Pada Layar
 Comment[is]=Reglustika á skjáinn
 Comment[it]=Righello sullo schermo
 Comment[ja]=スクリーンルーラー
@@ -82,6 +83,7 @@
 Name[hr]=Pomaknuto tipkama za kretanje
 Name[hu]=A vonalzó elmozgatva a kurzorbillentyűkkel
 Name[ia]=Movite per claves de cursor
+Name[id]=Bergerak menurut Penunjuk Kursor
 Name[is]=Fært með Bendillyklum
 Name[it]=Spostato dai tasti cursore
 Name[ja]=カーソルキーで移動
@@ -149,6 +151,7 @@
 Comment[hr]=Ravnalo je pomaknuto pomoću tipki za kretanje
 Comment[hu]=A vonalzó elmozgatva képpontonként a kurzorbillentyűkkel
 Comment[ia]=Le regula ha movite a guisa de pixel per usar le claves de cursor
+Comment[id]=Penggaris memiliki pixelwise bergerak menggunakan penunjuk kursor
 Comment[is]=Reglustikan hefur verið færð um nokkra díla með notkun Bendillykla
 Comment[it]=Il righello è stato spostato usando i tasti cursore
 Comment[ja]=ルーラーがカーソルキーによってピクセル単位で移動しました
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/krulerconfig.h.cmake 
new/kruler-15.04.0/krulerconfig.h.cmake
--- old/kruler-14.12.3/krulerconfig.h.cmake     1970-01-01 01:00:00.000000000 
+0100
+++ new/kruler-15.04.0/krulerconfig.h.cmake     2015-03-27 08:03:48.000000000 
+0100
@@ -0,0 +1,4 @@
+#ifndef KRULERCONFIG_H
+#define KRULERCONFIG_H
+#cmakedefine KRULER_HAVE_X11
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/krulersystemtray.cpp 
new/kruler-15.04.0/krulersystemtray.cpp
--- old/kruler-14.12.3/krulersystemtray.cpp     2014-07-25 07:38:27.000000000 
+0200
+++ new/kruler-15.04.0/krulersystemtray.cpp     2015-03-27 08:03:48.000000000 
+0100
@@ -15,8 +15,10 @@
 
 #include "krulersystemtray.h"
 
-#include <KLocale>
-#include <KMenu>
+#include <QMenu>
+
+#include <KActionCollection>
+#include <KLocalizedString>
 
 KRulerSystemTray::KRulerSystemTray( const QString& iconName, QWidget *parent, 
KActionCollection *actions)
   : KStatusNotifierItem( parent )
@@ -24,6 +26,6 @@
   setIconByName( iconName );
   setStatus(KStatusNotifierItem::Active);
   setToolTip( iconName, i18n( "KDE Screen Ruler" ), QString() );
-  KMenu *cm = contextMenu();
+  QMenu *cm = contextMenu();
   cm->addAction( actions->action( QLatin1String( "preferences" ) ) );
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/krulersystemtray.h 
new/kruler-15.04.0/krulersystemtray.h
--- old/kruler-14.12.3/krulersystemtray.h       2014-07-25 07:38:27.000000000 
+0200
+++ new/kruler-15.04.0/krulersystemtray.h       2015-03-27 08:03:48.000000000 
+0100
@@ -16,9 +16,9 @@
 #ifndef KRULERSYSTEMTRAY_H
 #define KRULERSYSTEMTRAY_H
 
-#include <kactioncollection.h>
-#include <kicon.h>
-#include <kstatusnotifieritem.h>
+#include <KStatusNotifierItem>
+
+class KActionCollection;
 
 class KRulerSystemTray : public KStatusNotifierItem
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/main.cpp new/kruler-15.04.0/main.cpp
--- old/kruler-14.12.3/main.cpp 2014-07-25 07:38:27.000000000 +0200
+++ new/kruler-15.04.0/main.cpp 2015-03-27 08:03:48.000000000 +0100
@@ -14,30 +14,32 @@
  *                                                                         *
  ***************************************************************************/
 
-#include <kapplication.h>
-#include <kdeversion.h>
-#include <kcmdlineargs.h>
-#include <kaboutdata.h>
-#include <klocale.h>
+#include <QApplication>
+
+#include <KAboutData>
+#include <KLocalizedString>
+#include <Kdelibs4ConfigMigrator>
 
 #include "klineal.h"
 
 int main(int argc, char *argv[])
 {
-  KAboutData aboutData( "kruler", 0, ki18n( "KDE Screen Ruler" ),
-    KDE_VERSION_STRING,
-    ki18n( "A screen ruler for KDE" ),
-    KAboutData::License_GPL,
-    ki18n( "(c) 2000 - 2008, Till Krech\n(c) 2009, Mathias Soeken" ) );
-  aboutData.addAuthor( ki18n( "Mathias Soeken" ), ki18n( "Maintainer" ), 
"msoe...@tzi.de" );
-  aboutData.addAuthor( ki18n( "Till Krech" ), ki18n( "Former Maintainer and 
Developer" ), "t...@snafu.de" );
-  aboutData.addCredit( ki18n( "Gunnstein Lye" ),ki18n( "Initial port to KDE 2" 
), "g...@ez.no" );
-  KCmdLineArgs::init( argc, argv, &aboutData );
-
-  KCmdLineOptions options;
-  KCmdLineArgs::addCmdLineOptions( options ); // Add our own options.
+  Kdelibs4ConfigMigrator migrate(QLatin1String("kruler"));
+  migrate.setConfigFiles(QStringList() << QLatin1String("krulerrc") << 
QLatin1String("kruler.notifyrc"));
+  migrate.setUiFiles(QStringList() << QLatin1String("krulerui.rc"));
+  migrate.migrate();
+
+  KAboutData aboutData( "kruler", i18n( "KDE Screen Ruler" ),
+    "5.0", // version string
+    i18n( "A screen ruler for KDE" ),
+    KAboutLicense::GPL,
+    i18n( "(c) 2000 - 2008, Till Krech\n(c) 2009, Mathias Soeken" ) );
+  aboutData.addAuthor( i18n( "Mathias Soeken" ), i18n( "Maintainer" ), 
"msoe...@tzi.de" );
+  aboutData.addAuthor( i18n( "Till Krech" ), i18n( "Former Maintainer and 
Developer" ), "t...@snafu.de" );
+  aboutData.addCredit( i18n( "Gunnstein Lye" ),i18n( "Initial port to KDE 2" 
), "g...@ez.no" );
 
-  KApplication a;
+  QApplication a( argc, argv );
+  KAboutData::setApplicationData(aboutData);
 
   KLineal *ruler = new KLineal();
   ruler->show();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/org.kde.kruler.desktop 
new/kruler-15.04.0/org.kde.kruler.desktop
--- old/kruler-14.12.3/org.kde.kruler.desktop   1970-01-01 01:00:00.000000000 
+0100
+++ new/kruler-15.04.0/org.kde.kruler.desktop   2015-03-27 08:03:48.000000000 
+0100
@@ -0,0 +1,158 @@
+[Desktop Entry]
+GenericName=Screen Ruler
+GenericName[af]=Skerm Liniaal
+GenericName[ar]=مسطرة الشاشة
+GenericName[ast]=Regla pa la pantalla
+GenericName[bg]=Линийка за екрана
+GenericName[bs]=Ekranski lenjir
+GenericName[ca]=Regle de pantalla
+GenericName[ca@valencia]=Regle de pantalla
+GenericName[cs]=Obrazovkové pravítko
+GenericName[cy]=Mesurydd Sgrîn
+GenericName[da]=Skærmlineal
+GenericName[de]=Bildschirmlineal
+GenericName[el]=Κανόνας οθόνης
+GenericName[en_GB]=Screen Ruler
+GenericName[eo]=Ekrana liniilo
+GenericName[es]=Regla para la pantalla
+GenericName[et]=Ekraani joonlaud
+GenericName[eu]=Pantailaren erregela
+GenericName[fa]=خط‌کش پرده
+GenericName[fi]=Näyttöviivain
+GenericName[fr]=Règle d'écran
+GenericName[ga]=Rialóir Scáileáin
+GenericName[gl]=Regra de pantalla
+GenericName[he]=סרגל מסך
+GenericName[hi]=स्क्रीन मापनी
+GenericName[hne]=स्क्रीन मापनी
+GenericName[hr]=Ravnalo
+GenericName[hu]=Képernyővonalzó
+GenericName[ia]=Regula de schermo
+GenericName[id]=Penggaris Layar
+GenericName[is]=Reglustika
+GenericName[it]=Righello per lo schermo
+GenericName[ja]=スクリーンルーラー
+GenericName[kk]=Экран өлшегіші
+GenericName[km]=បន្ទាត់​អេក្រង់
+GenericName[ko]=화면 자
+GenericName[ku]=Rastekê Dîmenderê
+GenericName[lt]=Ekrano liniuotė
+GenericName[lv]=Ekrāna mērlenta
+GenericName[mr]=स्क्रीन मोजपट्टी
+GenericName[ms]=Pembaris Skrin
+GenericName[nb]=Skjermlinjal
+GenericName[nds]=Schirmlineaal
+GenericName[ne]=पर्दा रूलर
+GenericName[nl]=Schermliniaal
+GenericName[nn]=Skjermlinjal
+GenericName[pa]=ਸਕਰੀਨ ਰੀਡਰ
+GenericName[pl]=Linijka ekranowa
+GenericName[pt]=Régua do Ecrã
+GenericName[pt_BR]=Régua de tela
+GenericName[ro]=Riglă de ecran
+GenericName[ru]=Экранная линейка
+GenericName[se]=Šearpmalinjála
+GenericName[si]=තිරයේ කෝදුව
+GenericName[sk]=Pravítko obrazovky
+GenericName[sl]=Zaslonsko ravnilo
+GenericName[sr]=Екрански лењир
+GenericName[sr@ijekavian]=Екрански лењир
+GenericName[sr@ijekavianlatin]=Ekranski lenjir
+GenericName[sr@latin]=Ekranski lenjir
+GenericName[sv]=Skärmlinjal
+GenericName[ta]=திரை உருளை
+GenericName[tg]=Ҷадвали экрании KDE
+GenericName[th]=ไม้บรรทัดบนหน้าจอ
+GenericName[tr]=Ekran Cetveli
+GenericName[ug]=ئېكران باشقۇرغۇ
+GenericName[uk]=Лінійка екрана
+GenericName[uz]=Ekran lineykasi
+GenericName[uz@cyrillic]=Экран линейкаси
+GenericName[vi]=Thước đo màn hình
+GenericName[xh]=Screen Ruler
+GenericName[x-test]=xxScreen Rulerxx
+GenericName[zh_CN]=屏幕标尺
+GenericName[zh_HK]=螢幕尺規
+GenericName[zh_TW]=螢幕尺規
+Name=KRuler
+Name[af]=K-lineaal
+Name[ar]=مسطرة ك
+Name[ast]=KRuler
+Name[bg]=KRuler
+Name[br]=KRuler
+Name[bs]=K‑lenjir
+Name[ca]=KRuler
+Name[ca@valencia]=KRuler
+Name[cs]=KRuler
+Name[cy]=KMesurydd
+Name[da]=KRuler
+Name[de]=KRuler
+Name[el]=KRuler
+Name[en_GB]=KRuler
+Name[eo]=KRuler
+Name[es]=KRuler
+Name[et]=KRuler
+Name[eu]=KRuler
+Name[fi]=KRuler
+Name[fr]=KRuler
+Name[ga]=KRuler
+Name[gl]=KRuler
+Name[he]=KRuler
+Name[hi]=के-रूलर
+Name[hne]=के-रूलर
+Name[hr]=KRuler
+Name[hu]=KRuler
+Name[ia]=KRuler
+Name[id]=KRuler
+Name[is]=KReglustika
+Name[it]=KRuler
+Name[ja]=KRuler
+Name[kk]=KRuler
+Name[km]=KRuler
+Name[ko]=KRuler
+Name[ku]=KRuler
+Name[lt]=KRuler
+Name[lv]=KRuler
+Name[mr]=के-रुलर
+Name[ms]=KPembaris
+Name[nb]=KRuler
+Name[nds]=KRuler
+Name[ne]=केडीई रूलर
+Name[nl]=KRuler
+Name[nn]=KRuler
+Name[pa]=ਕੇ-ਰੂਲਰ
+Name[pl]=Linijka
+Name[pt]=KRuler
+Name[pt_BR]=KRuler
+Name[ro]=Riglă
+Name[ru]=KRuler
+Name[se]=KRuler
+Name[si]=KRuler
+Name[sk]=KRuler
+Name[sl]=KRuler
+Name[sr]=К‑лењир
+Name[sr@ijekavian]=К‑лењир
+Name[sr@ijekavianlatin]=K‑lenjir
+Name[sr@latin]=K‑lenjir
+Name[sv]=Kruler
+Name[ta]=கேவரை உருளை
+Name[tg]=KRuler
+Name[th]=ไม้บรรทัด-K
+Name[tr]=KRuler
+Name[ug]=KRuler
+Name[uk]=KRuler
+Name[uz]=KRuler
+Name[uz@cyrillic]=KRuler
+Name[vi]=KRuler
+Name[xh]=KRuler
+Name[x-test]=xxKRulerxx
+Name[zh_CN]=KRuler
+Name[zh_HK]=KRuler
+Name[zh_TW]=KRuler 尺規
+X-DocPath=kruler/index.html
+Exec=kruler
+Type=Application
+Icon=kruler
+Terminal=false
+StartupNotify=true
+Categories=Qt;KDE;Graphics;X-KDE-More;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/pics/CMakeLists.txt 
new/kruler-15.04.0/pics/CMakeLists.txt
--- old/kruler-14.12.3/pics/CMakeLists.txt      2014-07-25 07:38:27.000000000 
+0200
+++ new/kruler-15.04.0/pics/CMakeLists.txt      2015-03-27 08:03:48.000000000 
+0100
@@ -2,4 +2,7 @@
 
 #install( FILES kruler-north.png kruler-south.png kruler-west.png DESTINATION 
${DATA_INSTALL_DIR}/kruler/pics )
 
-kde4_install_icons( ${ICON_INSTALL_DIR} )
+ecm_install_icons(ICONS 
+hi128-apps-kruler.png         hi16-actions-kruler-north.png  
hi16-actions-kruler-west.png  hi22-actions-kruler-east.png   
hi22-actions-kruler-south.png  hi22-apps-kruler.png  hi48-apps-kruler.png
+hi16-actions-kruler-east.png  hi16-actions-kruler-south.png  
hi16-apps-kruler.png          hi22-actions-kruler-north.png  
hi22-actions-kruler-west.png   hi32-apps-kruler.png  hi64-apps-kruler.png
+DESTINATION ${ICON_INSTALL_DIR} )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kruler-14.12.3/qautosizelabel.cpp 
new/kruler-15.04.0/qautosizelabel.cpp
--- old/kruler-14.12.3/qautosizelabel.cpp       2014-07-25 07:38:27.000000000 
+0200
+++ new/kruler-15.04.0/qautosizelabel.cpp       2015-03-27 08:03:48.000000000 
+0100
@@ -50,4 +50,4 @@
   QLabel::resize( fm.size( Qt::TextSingleLine, text() ) );
 }
 
-#include "qautosizelabel.moc"
+


Reply via email to