Hello community, here is the log from the commit of package kteatime for openSUSE:Factory checked in at 2015-05-11 18:30:31 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kteatime (Old) and /work/SRC/openSUSE:Factory/.kteatime.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kteatime" Changes: -------- --- /work/SRC/openSUSE:Factory/kteatime/kteatime.changes 2015-03-05 18:17:36.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.kteatime.new/kteatime.changes 2015-05-11 18:30:32.000000000 +0200 @@ -1,0 +2,22 @@ +Sat Apr 11 13:22:39 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:19:21 UTC 2015 - tittiatc...@gmail.com + +- Update to KDE Applications 15.03.95 + * KDE Applications 15.04 RC + + +------------------------------------------------------------------- +Sun Mar 8 12:49:40 UTC 2015 - tittiatc...@gmail.com + +- Update to KDE Applications 15.03.80 + * KDE Applications 15.04 Beta + + +------------------------------------------------------------------- Old: ---- kteatime-14.12.3.tar.xz New: ---- kteatime-15.04.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kteatime.spec ++++++ --- /var/tmp/diff_new_pack.Wpzx99/_old 2015-05-11 18:30:32.000000000 +0200 +++ /var/tmp/diff_new_pack.Wpzx99/_new 2015-05-11 18:30:32.000000000 +0200 @@ -17,19 +17,32 @@ Name: kteatime -BuildRequires: libkde4-devel BuildRequires: libqimageblitz-devel +BuildRequires: update-desktop-files +BuildRequires: extra-cmake-modules +BuildRequires: pkgconfig(Qt5Core) +BuildRequires: pkgconfig(Qt5Widgets) +BuildRequires: pkgconfig(Qt5DBus) +BuildRequires: kconfig-devel +BuildRequires: kcrash-devel +BuildRequires: kdoctools-devel +BuildRequires: ki18n-devel +BuildRequires: kiconthemes-devel +BuildRequires: knotifyconfig-devel +BuildRequires: knotifications-devel +BuildRequires: kwidgetsaddons-devel +BuildRequires: ktextwidgets-devel +BuildRequires: kxmlgui-devel Summary: Tea Cooker License: GPL-2.0+ Group: Amusements/Toys/Other 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 -Provides: kde4-kteatime = 4.3.0 -Obsoletes: kde4-kteatime < 4.3.0 -%kde4_runtime_requires %description KDE time utility for making a fine cup of tea @@ -38,15 +51,12 @@ %setup -q -n %{name}-%{version} %build - %cmake_kde4 -d build + %cmake_kf5 -d build %make_jobs %install - cd build - %makeinstall - cd .. - %suse_update_desktop_file -r kteatime Applet - %kde_post_install + %kf5_makeinstall -C build + %suse_update_desktop_file -r org.kde.kteatime Applet %clean rm -rf $RPM_BUILD_ROOT @@ -54,10 +64,11 @@ %files %defattr(-,root,root) %doc COPYING COPYING.DOC -%{_kde4_bindir}/kteatime -%{_kde4_htmldir}/en/kteatime -%{_kde4_applicationsdir}/kteatime.desktop -%{_kde4_iconsdir}/hicolor/*/apps/kteatime.* -%{_kde4_appsdir}/kteatime +%{_kf5_bindir}/kteatime +%{_kf5_htmldir}/en/kteatime/ +%{_kf5_applicationsdir}/org.kde.kteatime.desktop +%{_kf5_iconsdir}/hicolor/*/apps/kteatime.* +%_datadir/appdata/ +%_datadir/knotifications5/kteatime.notifyrc %changelog ++++++ kteatime-14.12.3.tar.xz -> kteatime-15.04.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/CMakeLists.txt new/kteatime-15.04.0/CMakeLists.txt --- old/kteatime-14.12.3/CMakeLists.txt 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/CMakeLists.txt 2015-03-22 10:32:55.000000000 +0100 @@ -1,21 +1,43 @@ +cmake_minimum_required(VERSION 2.8.12) project(kteatime) +find_package(ECM 1.3.0 REQUIRED NO_MODULE) +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) +include(ECMInstallIcons) + # Search KDE installation -find_package( KDE4 REQUIRED ) -include( KDE4Defaults ) -include( MacroLibrary ) +find_package(Qt5 5.2.0 CONFIG REQUIRED + Core + Widgets + DBus +) + +find_package(KF5 5.0.0 REQUIRED + Config + Crash + DocTools + I18n + IconThemes + NotifyConfig + Notifications + WidgetsAddons + TextWidgets + XmlGui +) + +include(KDEInstallDirs) +include(KDECMakeSettings) +include(KDECompilerSettings) +include(FeatureSummary) -add_definitions( ${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS} ) add_definitions( -DQT_NO_CAST_FROM_ASCII ) add_definitions( -DQT_NO_CAST_TO_ASCII ) add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS) -include_directories( ${KDE4_INCLUDES} ) - -# The FindKDE4.cmake module sets _KDE4_PLATFORM_DEFINITIONS with -# definitions like _GNU_SOURCE that are needed on each platform. -# Put configure checks below this line. -set( CMAKE_REQUIRED_DEFINITIONS ${_KDE4_PLATFORM_DEFINITIONS} ) ADD_SUBDIRECTORY(doc) ADD_SUBDIRECTORY(data) ADD_SUBDIRECTORY(src) + +install(FILES org.kde.kteatime.appdata.xml DESTINATION ${SHARE_INSTALL_PREFIX}/appdata/) + +feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) Files old/kteatime-14.12.3/data/icons/16-apps-kteatime.png and new/kteatime-15.04.0/data/icons/16-apps-kteatime.png differ Files old/kteatime-14.12.3/data/icons/22-apps-kteatime.png and new/kteatime-15.04.0/data/icons/22-apps-kteatime.png differ Files old/kteatime-14.12.3/data/icons/32-apps-kteatime.png and new/kteatime-15.04.0/data/icons/32-apps-kteatime.png differ Files old/kteatime-14.12.3/data/icons/48-apps-kteatime.png and new/kteatime-15.04.0/data/icons/48-apps-kteatime.png differ Files old/kteatime-14.12.3/data/icons/64-apps-kteatime.png and new/kteatime-15.04.0/data/icons/64-apps-kteatime.png differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/data/icons/CMakeLists.txt new/kteatime-15.04.0/data/icons/CMakeLists.txt --- old/kteatime-14.12.3/data/icons/CMakeLists.txt 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/data/icons/CMakeLists.txt 2015-03-22 10:32:55.000000000 +0100 @@ -1,2 +1,11 @@ -kde4_install_icons(${ICON_INSTALL_DIR}) +ecm_install_icons(ICONS + 16-apps-kteatime.png + 22-apps-kteatime.png + 32-apps-kteatime.png + 48-apps-kteatime.png + 64-apps-kteatime.png + sc-apps-kteatime.svgz + DESTINATION ${ICON_INSTALL_DIR} + THEME hicolor +) Files old/kteatime-14.12.3/data/icons/hi16-app-kteatime.png and new/kteatime-15.04.0/data/icons/hi16-app-kteatime.png differ Files old/kteatime-14.12.3/data/icons/hi22-app-kteatime.png and new/kteatime-15.04.0/data/icons/hi22-app-kteatime.png differ Files old/kteatime-14.12.3/data/icons/hi32-app-kteatime.png and new/kteatime-15.04.0/data/icons/hi32-app-kteatime.png differ Files old/kteatime-14.12.3/data/icons/hi48-app-kteatime.png and new/kteatime-15.04.0/data/icons/hi48-app-kteatime.png differ Files old/kteatime-14.12.3/data/icons/hi64-app-kteatime.png and new/kteatime-15.04.0/data/icons/hi64-app-kteatime.png differ Files old/kteatime-14.12.3/data/icons/hisc-app-kteatime.svgz and new/kteatime-15.04.0/data/icons/hisc-app-kteatime.svgz differ Files old/kteatime-14.12.3/data/icons/sc-apps-kteatime.svgz and new/kteatime-15.04.0/data/icons/sc-apps-kteatime.svgz differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/doc/CMakeLists.txt new/kteatime-15.04.0/doc/CMakeLists.txt --- old/kteatime-14.12.3/doc/CMakeLists.txt 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/doc/CMakeLists.txt 2015-03-22 10:32:55.000000000 +0100 @@ -1,4 +1,4 @@ ########### install files ############### # # -kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kteatime) +kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR kteatime) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/doc/index.docbook new/kteatime-15.04.0/doc/index.docbook --- old/kteatime-14.12.3/doc/index.docbook 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/doc/index.docbook 2015-03-22 10:32:55.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 "&kteatime;"> <!ENTITY package "kdetoys"> <!ENTITY % addindex "IGNORE"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/org.kde.kteatime.appdata.xml new/kteatime-15.04.0/org.kde.kteatime.appdata.xml --- old/kteatime-14.12.3/org.kde.kteatime.appdata.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/kteatime-15.04.0/org.kde.kteatime.appdata.xml 2015-03-22 10:32:55.000000000 +0100 @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<component type="desktop"> + <id>org.kde.kteatime.desktop</id> + <metadata_license>CC0-1.0</metadata_license> + <project_license>GPL-2.0+</project_license> + <name>KTeaTime</name> + <name xml:lang="ast">KTeaTime</name> + <name xml:lang="bs">KTeaTime</name> + <name xml:lang="ca">KTeaTime</name> + <name xml:lang="cs">KTeaTime</name> + <name xml:lang="de">KTeaTime</name> + <name xml:lang="en-GB">KTeaTime</name> + <name xml:lang="es">KTeaTime</name> + <name xml:lang="fi">KTeaTime</name> + <name xml:lang="gl">KTeaTime</name> + <name xml:lang="it">KTeaTime</name> + <name xml:lang="ko">KTeaTime</name> + <name xml:lang="lt">KTeaTime</name> + <name xml:lang="nl">KTeaTime</name> + <name xml:lang="pl">KTeaTime</name> + <name xml:lang="pt">KTeaTime</name> + <name xml:lang="pt-BR">KTeaTime</name> + <name xml:lang="ru">KTeaTime</name> + <name xml:lang="sk">KTeaTime</name> + <name xml:lang="sl">KTeaTime</name> + <name xml:lang="sr">К‑чајанка</name> + <name xml:lang="sr-Latn">K‑čajanka</name> + <name xml:lang="sr-ijekavian">К‑чајанка</name> + <name xml:lang="sr-ijekavianlatin">K‑čajanka</name> + <name xml:lang="sv">Tekokaren</name> + <name xml:lang="tr">KTeaTime</name> + <name xml:lang="uk">KTeaTime</name> + <name xml:lang="x-test">xxKTeaTimexx</name> + <name xml:lang="zh-CN">KTeaTime</name> + <name xml:lang="zh-TW">KTeaTime</name> + <summary>Tea Cooker</summary> + <summary xml:lang="ast">Tetera</summary> + <summary xml:lang="bs">Kuhač čaja</summary> + <summary xml:lang="ca">El cuiner de te</summary> + <summary xml:lang="cs">Vařič čaje</summary> + <summary xml:lang="de">Teekocher</summary> + <summary xml:lang="en-GB">Tea Cooker</summary> + <summary xml:lang="es">Calentador de té</summary> + <summary xml:lang="fi">Teenkeitin</summary> + <summary xml:lang="gl">Quece-tés</summary> + <summary xml:lang="it">Teiera</summary> + <summary xml:lang="ko">차 요리 도구</summary> + <summary xml:lang="lt">Arbatos virėjas</summary> + <summary xml:lang="nl">Theezetter</summary> + <summary xml:lang="pl">Zaparzanie herbaty</summary> + <summary xml:lang="pt">Preparação de Chás</summary> + <summary xml:lang="pt-BR">Hora do chá</summary> + <summary xml:lang="ru">Таймер для заваривания чая</summary> + <summary xml:lang="sk">Varič čaju</summary> + <summary xml:lang="sl">Kuhalnik čaja</summary> + <summary xml:lang="sr">Чајник</summary> + <summary xml:lang="sr-Latn">Čajnik</summary> + <summary xml:lang="sr-ijekavian">Чајник</summary> + <summary xml:lang="sr-ijekavianlatin">Čajnik</summary> + <summary xml:lang="sv">Tekokare</summary> + <summary xml:lang="tr">Çaycı</summary> + <summary xml:lang="uk">Програма для заварювання чаю</summary> + <summary xml:lang="x-test">xxTea Cookerxx</summary> + <summary xml:lang="zh-CN">煮茶器</summary> + <summary xml:lang="zh-TW">煮茶器</summary> + <description> + <p>KTeaTime is a handy timer for steeping tea. No longer will you have to guess at how long it takes for your tea to be ready. Simply select the type of tea you have, and it will alert you when the tea is ready to drink.</p> + <p xml:lang="ca">El KTeaTime és un temporitzador còmode per a fer el te. Ja no haureu d'endevinar quan falta per a que el vostre te estigui llest. Simplement seleccioneu el tipus de te que voleu, i l'aplicació us avisarà quan està llest.</p> + <p xml:lang="de">KTeaTime ist ein praktischer Zeitmesser für ziehenden Tee. Sie brauchen nicht länger schätzen, wie lange es dauert, bis Ihr Tee fertig ist. Wählen Sie einfach die Teesorte, die Sie haben, und Sie werden informiert, sobald Ihr Tee trinkfertig ist.</p> + <p xml:lang="en-GB">KTeaTime is a handy timer for steeping tea. No longer will you have to guess at how long it takes for your tea to be ready. Simply select the type of tea you have, and it will alert you when the tea is ready to drink.</p> + <p xml:lang="es">KTeaTime es un útil temporizador para tomar té. Usted nunca más tendrá que adivinar cuanto tiempo tarda en estar listo el té. Sencillamente, seleccione el tipo de té del que disponga y le avisará cuando esté listo para beber.</p> + <p xml:lang="fi">KTeaTime on kätevä kello teen hautumisajan mittaamiseksi. Enää ei tarvitse arvata milloin tee on valmis. Valitse vain teelaji ja KTeaTime hälyttää, kun tee on valmista juotavaksi.</p> + <p xml:lang="gl">KTeaTime é un temporizador útil para deixar té en infusión. Xa non terás que adiviñar o tempo que lle falta ao teu té para estar listo. Só tes que seleccionar o tipo de té, e KTeaTime informarate cando o té estea listo para tomar.</p> + <p xml:lang="it">KTeaTime è un comodo timer per preparare il tè. Non è più necessario indovinare quanto tempo ci vuole prima che il tè sia pronto. Seleziona il tipo di tè che desideri e il programma ti avviserà quanto è pronto da bere.</p> + <p xml:lang="ko">KTeaTime은 차를 끓일 때 사용할 수 있는 타이머입니다. 차가 다 우러날 때까지 시간을 기억하지 않아도 됩니다. 끓일 차 종류를 선택한 다음 다 우러났을 때 알려 줍니다.</p> + <p xml:lang="nl">KTeaTime is een handige tijdklok voor het zetten van thee. U hoeft niet langer te gokken wanneer uw thee sterk genoeg is. Selecteer de theesoort en een waarschuwing verschijnt wanneer de thee klaar is om opgedronken te worden.</p> + <p xml:lang="pl">KTeaTime jest poręcznym czasomierzem do zaparzania herbaty. Nigdy więcej nie będziesz musiał zgadywać ile jeszcze czasu potrzebuje twoja herbata. Po prostu wybierz rodzaj herbaty, którą posiadasz, a program powiadomi cię kiedy kiedy będzie gotowa do picia.</p> + <p xml:lang="pt">O KTeaTime é um cronómetro útil para preparar chás. Nunca mais terá de adivinhar quanto tempo leva para o seu chá estar pronto. Basta seleccionar o tipo de chá que tem, para que ele o alerte de quando o chá está pronto para ser bebido.</p> + <p xml:lang="pt-BR">KTeaTime é um temporizador prático para preparar um chá. Já não terá mais que adivinhar quanto tempo leva para que o seu chá fique pronto. Basta escolher o tipo de chá que deseja, e ele o alertará quando estiver pronto para beber.</p> + <p xml:lang="ru">KTeaTime — удобный таймер для заваривания чая. Избавляет вас от необходимости запоминать, сколько минут готовится каждый сорт чая. Просто выберите сорт чая, — и программа сообщит, когда чай будет готов.</p> + <p xml:lang="sk">KTeaTime je užitočný časovač pre máčanie čaju. Už nikdy nebudete musieť hádať, koľko trvá pripravenie vášho čaju. Jednoducho vyberte typ vášho čaju a on vás upozorní, kedy bude pripravený na pitie.</p> + <p xml:lang="sl">KTeaTime je priročen časomer za kuhanje čaja. Nič več vam ne bo treba ugibati, kako dolgo bo trajalo, preden bo vaš čaj gotov. Enostavno izberite vrsto čaja, ki ga imate, in opozorjeni boste, ko bo čaj pripravljen za pitje.</p> + <p xml:lang="sr">К‑чајанка је згодан одбројавач за преливање чаја. Више не морате да памтите колико треба да се чај припреми. Само изаберите врсту чаја, и бићете обавештени кад буде спреман за испијање.</p> + <p xml:lang="sr-Latn">K‑čajanka je zgodan odbrojavač za prelivanje čaja. Više ne morate da pamtite koliko treba da se čaj pripremi. Samo izaberite vrstu čaja, i bićete obavešteni kad bude spreman za ispijanje.</p> + <p xml:lang="sr-ijekavian">К‑чајанка је згодан одбројавач за преливање чаја. Више не морате да памтите колико треба да се чај припреми. Само изаберите врсту чаја, и бићете обавештени кад буде спреман за испијање.</p> + <p xml:lang="sr-ijekavianlatin">K‑čajanka je zgodan odbrojavač za prelivanje čaja. Više ne morate da pamtite koliko treba da se čaj pripremi. Samo izaberite vrstu čaja, i bićete obavešteni kad bude spreman za ispijanje.</p> + <p xml:lang="sv">Tekokaren är ett praktiskt tidur för att brygga te. Du behöver inte längre gissa hur länge det tar innan ditt te är klart. Välj helt enkelt vilken typ av te du använder, och tekokaren talar om för dig när det är klart att dricka.</p> + <p xml:lang="tr">KTeaTime çay demlemek için bir araçtır. Artık çayınızın ne kadar zaman sonra hazır olacağını tahmin etmenize gerek yok. Basitçe çayınızı seçin ve içmeye hazır olduğunda KTeaTime sizi uyarsın.</p> + <p xml:lang="uk">KTeaTime — це зручний таймер для заварювання чаю. Вам більше не доведеться вгадувати час, коли ваш чай буде готовим. Просто виберіть сорт чаю, і програма повідомить вам, коли чай можна буде пити.</p> + <p xml:lang="x-test">xxKTeaTime is a handy timer for steeping tea. No longer will you have to guess at how long it takes for your tea to be ready. Simply select the type of tea you have, and it will alert you when the tea is ready to drink.xx</p> + <p xml:lang="zh-CN">KTeaTime 是一个实用的煮茶定时器。您再也不用猜何时茶已完成。只要选择您拥有的茶的类型,它将会提醒您何时茶可以享用。</p> + <p xml:lang="zh-TW">KTeaTime 是煮茶用的計時器。您不再需要猜測您的茶要煮或泡多久。只要選擇茶的種類,時間到它就會提醒你。</p> + </description> + <url type="bugtracker">https://bugs.kde.org/enter_bug.cgi?format=guided&product=kteatime</url> + <url type="help">http://docs.kde.org/stable/en/kdetoys/kteatime/index.html</url> + <screenshots> + <screenshot type="default"> + <image>http://kde.org/images/screenshots/kteatime.png</image> + </screenshot> + </screenshots> + <project_group>KDE</project_group> + <provides> + <binary>kteatime</binary> + </provides> +</component> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/CMakeLists.txt new/kteatime-15.04.0/src/CMakeLists.txt --- old/kteatime-14.12.3/src/CMakeLists.txt 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/CMakeLists.txt 2015-03-22 10:32:55.000000000 +0100 @@ -1,10 +1,23 @@ +add_definitions(-DTRANSLATION_DOMAIN=\"kteatime\") + set(kteatime_SRCS settings.cpp timeedit.cpp toplevel.cpp tealistmodel.cpp tea.cpp main.cpp ) -kde4_add_ui_files(kteatime_SRCS settings.ui timeedit.ui) -kde4_add_app_icon(kteatime_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../data/icons/hi*-app-kteatime.png") -kde4_add_executable(kteatime ${kteatime_SRCS}) -target_link_libraries(kteatime ${KDE4_KNOTIFYCONFIG_LIBS} ${KDE4_KDEUI_LIBS}) +ki18n_wrap_ui(kteatime_SRCS settings.ui timeedit.ui) + +add_executable(kteatime ${kteatime_SRCS}) +target_link_libraries(kteatime + KF5::ConfigCore + KF5::ConfigGui + KF5::Crash + KF5::I18n + KF5::IconThemes + KF5::Notifications + KF5::NotifyConfig + KF5::TextWidgets + KF5::WidgetsAddons + KF5::XmlGui +) install( TARGETS kteatime ${INSTALL_TARGETS_DEFAULT_ARGS} ) -install( PROGRAMS kteatime.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) -install( FILES kteatime.notifyrc DESTINATION ${DATA_INSTALL_DIR}/kteatime ) +install( PROGRAMS org.kde.kteatime.desktop DESTINATION ${XDG_APPS_INSTALL_DIR} ) +install( FILES kteatime.notifyrc DESTINATION ${KNOTIFYRC_INSTALL_DIR} ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/kteatime.desktop new/kteatime-15.04.0/src/kteatime.desktop --- old/kteatime-14.12.3/src/kteatime.desktop 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/kteatime.desktop 1970-01-01 01:00:00.000000000 +0100 @@ -1,142 +0,0 @@ -[Desktop Entry] -Name=KTeaTime -Name[ar]=برنامج وقت الشاي KTeaTime -Name[be]=KTeaTime -Name[bg]=KTeaTime -Name[bn]=কে-টী-টাইম -Name[br]=KTeaTime -Name[bs]=KTeaTime -Name[ca]=KTeaTime -Name[ca@valencia]=KTeaTime -Name[cs]=KTeaTime -Name[cy]=KTeaTime -Name[da]=KTeaTime -Name[de]=KTeaTime -Name[el]=KTeaTime -Name[en_GB]=KTeaTime -Name[eo]=KTeaTime -Name[es]=KTeaTime -Name[et]=KTeaTime -Name[eu]=KTeaTime -Name[fi]=KTeaTime -Name[fr]=KTeaTime -Name[ga]=KTeaTime -Name[gl]=KTeaTime -Name[he]=KTeaTime -Name[hne]=के-टी-टाइम -Name[hr]=KTeaTime -Name[hu]=KTeaTime -Name[is]=K-Tetími -Name[it]=KTeaTime -Name[ja]=KTeaTime -Name[kk]=KTeaTime -Name[km]=KTeaTime -Name[ko]=KTeaTime -Name[lt]=KTeaTime -Name[lv]=KTeaTime -Name[mk]=КЧајник -Name[ml]=കെടീടൈം -Name[mr]=के-टी-टाइम -Name[nb]=KTeaTime -Name[nds]=KTeaTime -Name[ne]=केचिया समय -Name[nl]=KTeaTime -Name[nn]=KTeaTime -Name[pa]=ਕੇ-ਚਾਹ ਸਮਾਂ -Name[pl]=KTeaTime -Name[pt]=KTeaTime -Name[pt_BR]=KTeaTime -Name[ro]=KTeaTime -Name[ru]=KTeaTime -Name[sk]=KTeaTime -Name[sl]=KTeaTime -Name[sr]=К‑чајанка -Name[sr@ijekavian]=К‑чајанка -Name[sr@ijekavianlatin]=K‑čajanka -Name[sr@latin]=K‑čajanka -Name[sv]=Teet är klart -Name[ta]= கேதேநீர் நேரம் -Name[tg]=Вақти чой -Name[th]=ตั้งเวลาทำงาน -Name[tr]=KTeaTime -Name[ug]=KTeaTime -Name[uk]=KTeaTime -Name[wa]=KTeaTime -Name[x-test]=xxKTeaTimexx -Name[zh_CN]=KTeaTime -Name[zh_TW]=KTeaTime -GenericName=Tea Cooker -GenericName[ar]=طنجرة الشاي -GenericName[be]=Прыгатаўленне гарбаты -GenericName[bg]=Приготвяне на чай -GenericName[bn]=চায়ের কেটলি -GenericName[br]=Ar pod te -GenericName[bs]=Kuhač čaja -GenericName[ca]=El cuiner de te -GenericName[ca@valencia]=El cuiner de te -GenericName[cs]=Vařič čaje -GenericName[cy]=Tegell Te -GenericName[da]=Tekoger -GenericName[de]=Teekocher -GenericName[el]=Εργαλείο φτιαξίματος τσαγιού -GenericName[en_GB]=Tea Cooker -GenericName[eo]=Tea infuzilo -GenericName[es]=Tetera -GenericName[et]=Teekann -GenericName[eu]=Te prestaketa -GenericName[fa]=چایساز -GenericName[fi]=Teenkeitin -GenericName[fr]=Théière -GenericName[ga]=Cócaire Tae -GenericName[gl]=Quece-chá -GenericName[he]=מבשל התה -GenericName[hne]=चाय केतली -GenericName[hr]=Pomoćnik za kuhanje čaja -GenericName[hu]=Teafőző -GenericName[is]=Teketillinn -GenericName[it]=Teiera -GenericName[ja]=ティーメーカー -GenericName[kk]=Шәй шығару -GenericName[km]=ចង្ក្រានតែ -GenericName[ko]=차 끓이기 -GenericName[lt]=Arbatos virėjas -GenericName[lv]=Tējas vārītājs -GenericName[mk]=Чајник -GenericName[ml]=ചായപ്പാത്രം -GenericName[mr]=चहा कूकर -GenericName[nb]=Tekoker -GenericName[nds]=Teekaker -GenericName[ne]=चिया बनाउने -GenericName[nl]=Theezetter -GenericName[nn]=Tekokaren -GenericName[pa]=ਚਾਹ ਬਣਾਓ -GenericName[pl]=Przyrządzanie herbaty -GenericName[pt]=Cozinheiro de Chá -GenericName[pt_BR]=Hora do chá -GenericName[ro]=Ceainic -GenericName[ru]=Приготовление чая -GenericName[sk]=Varič čaju -GenericName[sl]=Kuhalnik čaja -GenericName[sr]=Чајник -GenericName[sr@ijekavian]=Чајник -GenericName[sr@ijekavianlatin]=Čajnik -GenericName[sr@latin]=Čajnik -GenericName[sv]=Tekokaren -GenericName[ta]= தேநீர் தயாரிப்பான் -GenericName[tg]=Пухтанин чой -GenericName[th]=เครื่องมือชงชา -GenericName[tr]=Çaycı -GenericName[ug]=چايچى -GenericName[uk]=Приготування чаю -GenericName[wa]=Fijheu d' té -GenericName[x-test]=xxTea Cookerxx -GenericName[zh_CN]=煮茶器 -GenericName[zh_TW]=煮茶器 -Exec=kteatime -Icon=kteatime -Type=Application -Terminal=false -X-DocPath=kteatime/index.html -X-KDE-StartupNotify=true -X-DBUS-StartupType=Multi -Categories=Qt;KDE;Utility; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/kteatime.notifyrc new/kteatime-15.04.0/src/kteatime.notifyrc --- old/kteatime-14.12.3/src/kteatime.notifyrc 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/kteatime.notifyrc 2015-03-22 10:32:55.000000000 +0100 @@ -2,6 +2,7 @@ IconName=kteatime Comment=Tea Cooker Comment[ar]=طنجرة الشاي +Comment[ast]=Tetera Comment[bg]=Приготвяне на чай Comment[bs]=Kuhač čaja Comment[ca]=El cuiner de te @@ -122,6 +123,7 @@ Name[zh_TW]=茶煮好了 Comment=Tea is ready Comment[ar]=الشاي جاهز +Comment[ast]=El té ta tresnao Comment[be]=Гарбата гатова Comment[bg]=Чаят е готов Comment[bn]=অই চা গরমমম!!! @@ -251,6 +253,7 @@ Name[zh_TW]=茶煮好了,怎麼沒人喝 Comment=Tea is getting lonely. Comment[ar]=الشاي يشعر بالوحدة. +Comment[ast]=El té ta quedándose solo. Comment[bg]=Чаят изстива... Comment[bs]=Čaj postaje usamljen. Comment[ca]=El te està quedant abandonat. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/main.cpp new/kteatime-15.04.0/src/main.cpp --- old/kteatime-14.12.3/src/main.cpp 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/main.cpp 2015-03-22 10:32:55.000000000 +0100 @@ -18,74 +18,82 @@ */ #include "toplevel.h" -#include <KApplication> +#include <QApplication> +#include <QCommandLineParser> + #include <KAboutData> -#include <KCmdLineArgs> +#include <KLocalizedString> int main (int argc, char *argv[]) { - KAboutData aboutData( "kteatime", 0, ki18n( "KTeaTime" ), "1.2.2", - ki18n( "KDE utility for making a fine cup of tea." ), - KAboutData::License_GPL, - ki18n( "(c) 1998-1999, Matthias Hoelzer-Kluepfel\n " - "(c) 2002-2003, Martin Willers\n " - "(c) 2007-2010, Stefan Böhmann" + /** + * Create application first + */ + QApplication app(argc, argv); + + /** + * construct about data for KTeaTime + */ + KAboutData aboutData( QStringLiteral("kteatime"), i18n("KTeaTime"), QStringLiteral("1.3.0"), + i18n( "KDE utility for making a fine cup of tea." ), + KAboutLicense::GPL, + i18n( "© 1998-1999, Matthias Hoelzer-Kluepfel\n " + "© 2002-2003, Martin Willers\n " + "© 2007-2010, Stefan Böhmann" ) ); - aboutData.addAuthor( - ki18n( "Stefan Böhmann" ), - ki18n( "Current maintainer" ), - "k...@hilefoks.org", - "http://www.hilefoks.org", - "hilefoks" - ); - - aboutData.addAuthor( - ki18n( "Matthias Hoelzer-Kluepfel" ), - KLocalizedString(), - "hoel...@kde.org" - ); - - aboutData.addAuthor( - ki18n( "Martin Willers" ), - KLocalizedString(), - "will...@xm-arts.de" - ); - - aboutData.addCredit( - ki18n( "Daniel Teske" ), - ki18n( "Many patches" ), - "te...@bigfoot.com" - ); - - KCmdLineArgs::init( argc, argv, &aboutData ); - - KCmdLineOptions options; - options.add( "t" ); - options.add( "time <seconds>", ki18n( "Start a new tea with this time." ) ); - options.add( "n"); - options.add( "name <name>", ki18n( "Use this name for the tea started with %1." ).subs( QLatin1String("--time") ) ); - - KCmdLineArgs::addCmdLineOptions( options ); + aboutData.addAuthor(i18n("Stefan Böhmann"), i18n("Current maintainer"), QStringLiteral("k...@hilefoks.org"), QStringLiteral("http://www.hilefoks.org"), QStringLiteral("hilefoks")); + aboutData.addAuthor(i18n("Matthias Hoelzer-Kluepfel"), QString(), QStringLiteral("hoel...@kde.org")); + aboutData.addAuthor(i18n("Martin Willers"), QString(), QStringLiteral("will...@xm-arts.de")); + + aboutData.addCredit(i18n("Daniel Teske"), i18n("Many patches"), QStringLiteral("te...@bigfoot.com")); + + /** + * right dbus prefix == org.kde. + */ + aboutData.setOrganizationDomain("kde.org"); + + /** + * register about data + */ + KAboutData::setApplicationData(aboutData); + + /** + * take component name and org. name from KAboutData + */ + app.setApplicationName(aboutData.componentName()); + app.setApplicationDisplayName(aboutData.displayName()); + app.setOrganizationDomain(aboutData.organizationDomain()); + app.setApplicationVersion(aboutData.version()); + app.setQuitOnLastWindowClosed(false); + + /** + * Create command line parser and feed it with known options + */ + QCommandLineParser parser; + aboutData.setupCommandLine(&parser); + parser.setApplicationDescription(aboutData.shortDescription()); + parser.addHelpOption(); + parser.addVersionOption(); + + QCommandLineOption timeOption(QStringList() << QStringLiteral("t") << QStringLiteral("time"), i18n("Start a new tea with this time."), i18n("seconds")); + parser.addOption(timeOption); + QCommandLineOption nameOption(QStringList() << QStringLiteral("n") << QStringLiteral("name"), i18n("Use this name for the tea started with --time."), i18n("name")); + parser.addOption(nameOption); - KApplication app; - QApplication::setQuitOnLastWindowClosed( false ); - - KCmdLineArgs *args = KCmdLineArgs::parsedArgs(); + parser.process(app); + aboutData.processCommandLine(&parser); TopLevel *toplevel=new TopLevel( &aboutData ); - if(args->isSet("time")) { - const int time=args->getOption( "time" ).toInt(); - if( time > 0 ) { - const Tea tea( args->isSet("name") ? args->getOption("name") : i18n( "Anonymous Tea" ), time ); - - toplevel->runTea( tea ); - } + const int time=parser.value(timeOption).toInt(); + if( time > 0 ) { + const QString name = parser.value(nameOption); + const Tea tea( name == QString() ? i18n( "Anonymous Tea" ) : name, time ); + toplevel->runTea( tea ); } - args->clear(); int ret = app.exec(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/org.kde.kteatime.desktop new/kteatime-15.04.0/src/org.kde.kteatime.desktop --- old/kteatime-14.12.3/src/org.kde.kteatime.desktop 1970-01-01 01:00:00.000000000 +0100 +++ new/kteatime-15.04.0/src/org.kde.kteatime.desktop 2015-03-22 10:32:55.000000000 +0100 @@ -0,0 +1,144 @@ +[Desktop Entry] +Name=KTeaTime +Name[ar]=برنامج وقت الشاي KTeaTime +Name[ast]=KTeaTime +Name[be]=KTeaTime +Name[bg]=KTeaTime +Name[bn]=কে-টী-টাইম +Name[br]=KTeaTime +Name[bs]=KTeaTime +Name[ca]=KTeaTime +Name[ca@valencia]=KTeaTime +Name[cs]=KTeaTime +Name[cy]=KTeaTime +Name[da]=KTeaTime +Name[de]=KTeaTime +Name[el]=KTeaTime +Name[en_GB]=KTeaTime +Name[eo]=KTeaTime +Name[es]=KTeaTime +Name[et]=KTeaTime +Name[eu]=KTeaTime +Name[fi]=KTeaTime +Name[fr]=KTeaTime +Name[ga]=KTeaTime +Name[gl]=KTeaTime +Name[he]=KTeaTime +Name[hne]=के-टी-टाइम +Name[hr]=KTeaTime +Name[hu]=KTeaTime +Name[is]=K-Tetími +Name[it]=KTeaTime +Name[ja]=KTeaTime +Name[kk]=KTeaTime +Name[km]=KTeaTime +Name[ko]=KTeaTime +Name[lt]=KTeaTime +Name[lv]=KTeaTime +Name[mk]=КЧајник +Name[ml]=കെടീടൈം +Name[mr]=के-टी-टाइम +Name[nb]=KTeaTime +Name[nds]=KTeaTime +Name[ne]=केचिया समय +Name[nl]=KTeaTime +Name[nn]=KTeaTime +Name[pa]=ਕੇ-ਚਾਹ ਸਮਾਂ +Name[pl]=KTeaTime +Name[pt]=KTeaTime +Name[pt_BR]=KTeaTime +Name[ro]=KTeaTime +Name[ru]=KTeaTime +Name[sk]=KTeaTime +Name[sl]=KTeaTime +Name[sr]=К‑чајанка +Name[sr@ijekavian]=К‑чајанка +Name[sr@ijekavianlatin]=K‑čajanka +Name[sr@latin]=K‑čajanka +Name[sv]=Teet är klart +Name[ta]= கேதேநீர் நேரம் +Name[tg]=Вақти чой +Name[th]=ตั้งเวลาทำงาน +Name[tr]=KTeaTime +Name[ug]=KTeaTime +Name[uk]=KTeaTime +Name[wa]=KTeaTime +Name[x-test]=xxKTeaTimexx +Name[zh_CN]=KTeaTime +Name[zh_TW]=KTeaTime +GenericName=Tea Cooker +GenericName[ar]=طنجرة الشاي +GenericName[ast]=Tetera +GenericName[be]=Прыгатаўленне гарбаты +GenericName[bg]=Приготвяне на чай +GenericName[bn]=চায়ের কেটলি +GenericName[br]=Ar pod te +GenericName[bs]=Kuhač čaja +GenericName[ca]=El cuiner de te +GenericName[ca@valencia]=El cuiner de te +GenericName[cs]=Vařič čaje +GenericName[cy]=Tegell Te +GenericName[da]=Tekoger +GenericName[de]=Teekocher +GenericName[el]=Εργαλείο φτιαξίματος τσαγιού +GenericName[en_GB]=Tea Cooker +GenericName[eo]=Tea infuzilo +GenericName[es]=Tetera +GenericName[et]=Teekann +GenericName[eu]=Te prestaketa +GenericName[fa]=چایساز +GenericName[fi]=Teenkeitin +GenericName[fr]=Théière +GenericName[ga]=Cócaire Tae +GenericName[gl]=Quece-chá +GenericName[he]=מבשל התה +GenericName[hne]=चाय केतली +GenericName[hr]=Pomoćnik za kuhanje čaja +GenericName[hu]=Teafőző +GenericName[is]=Teketillinn +GenericName[it]=Teiera +GenericName[ja]=ティーメーカー +GenericName[kk]=Шәй шығару +GenericName[km]=ចង្ក្រានតែ +GenericName[ko]=차 끓이기 +GenericName[lt]=Arbatos virėjas +GenericName[lv]=Tējas vārītājs +GenericName[mk]=Чајник +GenericName[ml]=ചായപ്പാത്രം +GenericName[mr]=चहा कूकर +GenericName[nb]=Tekoker +GenericName[nds]=Teekaker +GenericName[ne]=चिया बनाउने +GenericName[nl]=Theezetter +GenericName[nn]=Tekokaren +GenericName[pa]=ਚਾਹ ਬਣਾਓ +GenericName[pl]=Przyrządzanie herbaty +GenericName[pt]=Cozinheiro de Chá +GenericName[pt_BR]=Hora do chá +GenericName[ro]=Ceainic +GenericName[ru]=Приготовление чая +GenericName[sk]=Varič čaju +GenericName[sl]=Kuhalnik čaja +GenericName[sr]=Чајник +GenericName[sr@ijekavian]=Чајник +GenericName[sr@ijekavianlatin]=Čajnik +GenericName[sr@latin]=Čajnik +GenericName[sv]=Tekokaren +GenericName[ta]= தேநீர் தயாரிப்பான் +GenericName[tg]=Пухтанин чой +GenericName[th]=เครื่องมือชงชา +GenericName[tr]=Çaycı +GenericName[ug]=چايچى +GenericName[uk]=Приготування чаю +GenericName[wa]=Fijheu d' té +GenericName[x-test]=xxTea Cookerxx +GenericName[zh_CN]=煮茶器 +GenericName[zh_TW]=煮茶器 +Exec=kteatime +Icon=kteatime +Type=Application +Terminal=false +X-DocPath=kteatime/index.html +X-KDE-StartupNotify=true +X-DBUS-StartupType=Multi +Categories=Qt;KDE;Utility; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/settings.cpp new/kteatime-15.04.0/src/settings.cpp --- old/kteatime-14.12.3/src/settings.cpp 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/settings.cpp 2015-03-22 10:32:55.000000000 +0100 @@ -19,13 +19,18 @@ #include "toplevel.h" #include "tealistmodel.h" +#include <QDialogButtonBox> +#include <QDesktopWidget> #include <QHashIterator> +#include <QPushButton> #include <QString> -#include <QDesktopWidget> - -#include <knotifyconfigwidget.h> - +#include <QVBoxLayout> +#include <KConfigGroup> +#include <KHelpClient> +#include <KLocalizedString> +#include <KNotifyConfigWidget> +#include <KSharedConfig> class SettingsUI : public QWidget, public Ui::SettingsWidget { @@ -39,34 +44,33 @@ } }; - - - SettingsDialog::SettingsDialog(TopLevel *toplevel, const QList<Tea> &teas) - : KDialog(), + : QDialog(), m_toplevel(toplevel) { - setCaption( i18n( "Configure Tea Cooker" ) ); - - setButtons( Ok | Cancel | Help | Reset ); - setButtonText( KDialog::Reset, i18n( "Configure &Notifications..." ) ); - setButtonToolTip( KDialog::Reset, i18n( "Configure notifications" ) ); - setButtonIcon( KDialog::Reset, KIcon( QLatin1String( "preferences-desktop-notification" ) ) ); - - setHelp( QLatin1String("configure") ); - - setButtonWhatsThis( KDialog::Ok, i18n( "Save changes and close dialog." ) ); - setButtonWhatsThis( KDialog::Cancel, i18n( "Close dialog without saving changes." ) ); - setButtonWhatsThis( KDialog::Help, i18n( "Show help page for this dialog." ) ); - setButtonWhatsThis( KDialog::Reset, i18n( "Configure notifications" ) ); + setWindowTitle( i18n( "Configure Tea Cooker" ) ); + QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel|QDialogButtonBox::Help); + QVBoxLayout *mainLayout = new QVBoxLayout; + setLayout(mainLayout); ui = new SettingsUI( this ); - setMainWidget( ui ); + mainLayout->addWidget(ui); + buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); + buttonBox->button(QDialogButtonBox::Ok)->setShortcut(Qt::CTRL | Qt::Key_Return); + connect(buttonBox, &QDialogButtonBox::accepted, this, &SettingsDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, this, &SettingsDialog::reject); + mainLayout->addWidget(buttonBox); + + connect(buttonBox, &QDialogButtonBox::helpRequested, this, &SettingsDialog::showHelp); + + buttonBox->button(QDialogButtonBox::Ok)->setWhatsThis(i18n( "Save changes and close dialog." )); + buttonBox->button(QDialogButtonBox::Cancel)->setWhatsThis(i18n( "Close dialog without saving changes." )); + buttonBox->button(QDialogButtonBox::Help)->setWhatsThis(i18n( "Show help page for this dialog." )); KSharedConfigPtr config = KSharedConfig::openConfig(); KConfigGroup group( config, "General" ); - restoreDialogSize( group ); + restoreGeometry(group.readEntry<QByteArray>("Geometry", QByteArray())); QDesktopWidget desktop; int x=group.readEntry( "SettingsDialogXPos", desktop.screenGeometry().width()/2 - width()/2 ); @@ -100,38 +104,39 @@ m_model=new TeaListModel( teas, this ); ui->tealistTreeView->setModel( m_model ); - connect( ui->tealistTreeView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(updateSelection(QItemSelection,QItemSelection)) ); + connect(ui->tealistTreeView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this,SLOT(updateSelection(QItemSelection,QItemSelection)) ); ui->removeButton->setEnabled( false ); ui->upButton->setEnabled( false ); ui->downButton->setEnabled( false ); - ui->newButton->setIcon( KIcon( QLatin1String( "list-add" ) ) ); - ui->removeButton->setIcon( KIcon( QLatin1String( "edit-delete" ) ) ); - ui->upButton->setIcon( KIcon( QLatin1String( "arrow-up" ) ) ); - ui->downButton->setIcon( KIcon( QLatin1String( "arrow-down" ) ) ); - - connect( ui->popupCheckBox, SIGNAL(toggled(bool)), this, SLOT(checkPopupButtonState(bool)) ); - connect( this, SIGNAL(resetClicked()), this, SLOT(confButtonClicked()) ); - - connect( ui->newButton, SIGNAL(clicked()), this, SLOT(newButtonClicked()) ); - connect( ui->removeButton, SIGNAL(clicked()), this, SLOT(removeButtonClicked()) ); - connect( ui->upButton, SIGNAL(clicked()), this, SLOT(upButtonClicked()) ); - connect( ui->downButton, SIGNAL(clicked()), this, SLOT(downButtonClicked()) ); - - connect( ui->teaNameEdit, SIGNAL(textChanged(QString)), this, SLOT(nameValueChanged(QString)) ); - connect( ui->minutesSpin, SIGNAL(valueChanged(int)), this, SLOT(timeValueChanged()) ); - connect( ui->secondsSpin, SIGNAL(valueChanged(int)), this, SLOT(timeValueChanged()) ); + ui->newButton->setIcon( QIcon::fromTheme( QLatin1String( "list-add" ) ) ); + ui->removeButton->setIcon( QIcon::fromTheme( QLatin1String( "edit-delete" ) ) ); + ui->upButton->setIcon( QIcon::fromTheme( QLatin1String( "arrow-up" ) ) ); + ui->downButton->setIcon( QIcon::fromTheme( QLatin1String( "arrow-down" ) ) ); + + connect(ui->popupCheckBox, &QCheckBox::toggled, this, &SettingsDialog::checkPopupButtonState); + + connect(ui->newButton, &QToolButton::clicked, this, &SettingsDialog::newButtonClicked); + connect(ui->removeButton, &QToolButton::clicked, this, &SettingsDialog::removeButtonClicked); + connect(ui->upButton, &QToolButton::clicked, this, &SettingsDialog::upButtonClicked); + connect(ui->downButton, &QToolButton::clicked, this, &SettingsDialog::downButtonClicked); + + connect(ui->teaNameEdit, &QLineEdit::textChanged, this, &SettingsDialog::nameValueChanged); + connect(ui->minutesSpin, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &SettingsDialog::timeValueChanged); + connect(ui->secondsSpin, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &SettingsDialog::timeValueChanged); } - SettingsDialog::~SettingsDialog() { delete m_model; delete ui; } +void SettingsDialog::showHelp() +{ + KHelpClient::invokeHelp(); +} void SettingsDialog::accept() { @@ -141,7 +146,7 @@ group.writeEntry( "SettingsDialogYPos", y() ); hide(); - saveDialogSize(group); + group.writeEntry("Geometry", saveGeometry()); group.writeEntry( "UsePopup", ui->popupCheckBox->checkState() == Qt::Checked ); group.writeEntry( "PopupAutoHide", ui->autohideCheckBox->checkState() == Qt::Checked ); @@ -166,13 +171,6 @@ } } - -void SettingsDialog::confButtonClicked() -{ - KNotifyConfigWidget::configure( this ); -} - - void SettingsDialog::newButtonClicked() { int count = m_model->rowCount(); @@ -295,8 +293,8 @@ } -// kate: word-wrap off; encoding utf-8; indent-width 4; tab-width 4; line-numbers on; mixed-indent off; remove-trailing-space-save on; replace-tabs-save on; replace-tabs on; space-indent on; -// vim:set spell et sw=4 ts=4 nowrap cino=l1,cs,U1: - #include "settings.moc" #include "moc_settings.cpp" + +// kate: word-wrap off; encoding utf-8; indent-width 4; tab-width 4; line-numbers on; mixed-indent off; remove-trailing-space-save on; replace-tabs-save on; replace-tabs on; space-indent on; +// vim:set spell et sw=4 ts=4 nowrap cino=l1,cs,U1: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/settings.h new/kteatime-15.04.0/src/settings.h --- old/kteatime-14.12.3/src/settings.h 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/settings.h 2015-03-22 10:32:55.000000000 +0100 @@ -19,6 +19,7 @@ #include "ui_settings.h" +#include <QDialog> class TopLevel; class TeaListModel; @@ -31,7 +32,7 @@ * * @author Stefan Böhmann <k...@hilefoks.org> */ -class SettingsDialog : public KDialog +class SettingsDialog : public QDialog { Q_OBJECT public: @@ -40,9 +41,11 @@ private slots: void updateSelection(const QItemSelection &selected, const QItemSelection &deselected); + + private: void accept(); void checkPopupButtonState(bool b); - void confButtonClicked(); + void showHelp(); void newButtonClicked(); void removeButtonClicked(); @@ -52,7 +55,6 @@ void nameValueChanged(const QString &text); void timeValueChanged(); - private: void moveSelectedItem(bool moveup); private: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/settings.ui new/kteatime-15.04.0/src/settings.ui --- old/kteatime-14.12.3/src/settings.ui 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/settings.ui 2015-03-22 10:32:55.000000000 +0100 @@ -13,7 +13,7 @@ </property> <layout class="QGridLayout"> <item row="0" column="0" rowspan="2"> - <widget class="KButtonGroup" name="kbuttongroup1"> + <widget class="QGroupBox" name="kbuttongroup1"> <property name="title"> <string>Tea List</string> </property> @@ -130,7 +130,7 @@ </widget> </item> <item row="0" column="1" colspan="4"> - <widget class="KLineEdit" name="teaNameEdit"> + <widget class="QLineEdit" name="teaNameEdit"> <property name="enabled"> <bool>false</bool> </property> @@ -144,7 +144,7 @@ </widget> </item> <item row="1" column="1"> - <widget class="KIntSpinBox" name="minutesSpin"> + <widget class="QSpinBox" name="minutesSpin"> <property name="enabled"> <bool>false</bool> </property> @@ -161,7 +161,7 @@ </widget> </item> <item row="1" column="3"> - <widget class="KIntSpinBox" name="secondsSpin"> + <widget class="QSpinBox" name="secondsSpin"> <property name="enabled"> <bool>false</bool> </property> @@ -194,7 +194,7 @@ </spacer> </item> <item row="2" column="0" colspan="2"> - <widget class="KButtonGroup" name="kbuttongroup2"> + <widget class="QGroupBox" name="kbuttongroup2"> <property name="title"> <string>Action</string> </property> @@ -241,7 +241,7 @@ </widget> </item> <item> - <widget class="KIntSpinBox" name="autohideSpinBox"> + <widget class="KPluralHandlingSpinBox" name="autohideSpinBox"> <property name="enabled"> <bool>false</bool> </property> @@ -287,7 +287,7 @@ </widget> </item> <item> - <widget class="KIntSpinBox" name="reminderSpinBox"> + <widget class="KPluralHandlingSpinBox" name="reminderSpinBox"> <property name="enabled"> <bool>false</bool> </property> @@ -338,24 +338,6 @@ </item> </layout> </widget> - <customwidgets> - <customwidget> - <class>KIntSpinBox</class> - <extends>QSpinBox</extends> - <header>knuminput.h</header> - </customwidget> - <customwidget> - <class>KButtonGroup</class> - <extends>QGroupBox</extends> - <header>kbuttongroup.h</header> - <container>1</container> - </customwidget> - <customwidget> - <class>KLineEdit</class> - <extends>QLineEdit</extends> - <header>klineedit.h</header> - </customwidget> - </customwidgets> <resources/> <connections> <connection> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/tea.cpp new/kteatime-15.04.0/src/tea.cpp --- old/kteatime-14.12.3/src/tea.cpp 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/tea.cpp 2015-03-22 10:32:55.000000000 +0100 @@ -16,8 +16,7 @@ */ #include "tea.h" -#include <klocalizedstring.h> - +#include <KLocalizedString> Tea::Tea(const QString &name, const unsigned time) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/tealistmodel.cpp new/kteatime-15.04.0/src/tealistmodel.cpp --- old/kteatime-14.12.3/src/tealistmodel.cpp 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/tealistmodel.cpp 2015-03-22 10:32:55.000000000 +0100 @@ -18,8 +18,7 @@ #include "tealistmodel.h" #include "tea.h" -#include <klocalizedstring.h> - +#include <KLocalizedString> TeaListModel::TeaListModel(const QList<Tea> &tealist, QObject *parent) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/tealistmodel.h new/kteatime-15.04.0/src/tealistmodel.h --- old/kteatime-14.12.3/src/tealistmodel.h 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/tealistmodel.h 2015-03-22 10:32:55.000000000 +0100 @@ -22,7 +22,6 @@ class Tea; - /** * @short provides an model used by SettingsDialog * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/timeedit.cpp new/kteatime-15.04.0/src/timeedit.cpp --- old/kteatime-14.12.3/src/timeedit.cpp 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/timeedit.cpp 2015-03-22 10:32:55.000000000 +0100 @@ -22,11 +22,15 @@ #include "tea.h" #include <QDesktopWidget> +#include <QDialogButtonBox> +#include <QPushButton> + +#include <KConfigGroup> +#include <KSharedConfig> class TimeEditUI : public QWidget, public Ui::TimeEditWidget { - Q_OBJECT public: TimeEditUI(QWidget *parent = 0) : QWidget( parent ) @@ -36,31 +40,38 @@ }; - - TimeEditDialog::TimeEditDialog(TopLevel *toplevel) - : KDialog(), + : QDialog(), m_toplevel( toplevel ) { - setCaption( i18n( "Anonymous Tea" ) ); + setWindowTitle( i18n( "Anonymous Tea" ) ); - setButtonWhatsThis( KDialog::Ok, i18n( "Start a new anonymous tea with the time configured in this dialog." ) ); - setButtonWhatsThis( KDialog::Cancel, i18n( "Close this dialog without starting a new tea." ) ); + buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel); + buttonBox->button(QDialogButtonBox::Ok)->setWhatsThis(i18n( "Start a new anonymous tea with the time configured in this dialog." )); + buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); + buttonBox->button(QDialogButtonBox::Ok)->setShortcut(Qt::CTRL | Qt::Key_Return); + buttonBox->button(QDialogButtonBox::Cancel)->setWhatsThis(i18n( "Close this dialog without starting a new tea." )); + QVBoxLayout *mainLayout = new QVBoxLayout; + setLayout(mainLayout); ui = new TimeEditUI( this ); - setMainWidget( ui ); + mainLayout->addWidget(ui); + mainLayout->addWidget(buttonBox); KSharedConfigPtr config = KSharedConfig::openConfig(); KConfigGroup group( config, "AnonymousTeaDialog" ); int time=group.readEntry( "AnonymousTeaTime", 180 ); + ui->minutes->setSuffix( ki18np( " minute", " minutes") ); + ui->seconds->setSuffix( ki18np( " second", " seconds") ); + ui->minutes->setValue( time / 60 ); ui->seconds->setValue( time % 60 ); ui->minutes->setFocus( Qt::ShortcutFocusReason ); - restoreDialogSize( group ); + restoreGeometry(group.readEntry<QByteArray>("Geometry", QByteArray())); QDesktopWidget desktop; int x = group.readEntry( "AnonymousTeaDialogXPos", desktop.screenGeometry().width()/2 - width()/2 ); @@ -70,8 +81,11 @@ x = qMin( qMax( 0, y ), desktop.screenGeometry().height() - height() ); move( QPoint( x, y ) ); - connect( ui->minutes, SIGNAL(valueChanged(int)), this, SLOT(checkOkButtonState()) ); - connect( ui->seconds, SIGNAL(valueChanged(int)), this, SLOT(checkOkButtonState()) ); + connect(ui->minutes, static_cast<void (KPluralHandlingSpinBox::*)(int)>(&KPluralHandlingSpinBox::valueChanged), this, &TimeEditDialog::checkOkButtonState); + connect(ui->seconds, static_cast<void (KPluralHandlingSpinBox::*)(int)>(&KPluralHandlingSpinBox::valueChanged), this, &TimeEditDialog::checkOkButtonState); + + connect(buttonBox, &QDialogButtonBox::accepted, this, &TimeEditDialog::accept); + connect(buttonBox, &QDialogButtonBox::rejected, this, &TimeEditDialog::reject); } @@ -83,7 +97,7 @@ void TimeEditDialog::checkOkButtonState() { - enableButtonOk( ui->minutes->value() || ui->seconds->value() ); + buttonBox->button(QDialogButtonBox::Ok)->setEnabled( ui->minutes->value() || ui->seconds->value() ); } @@ -97,7 +111,7 @@ KSharedConfigPtr config = KSharedConfig::openConfig(); KConfigGroup group( config, "AnonymousTeaDialog" ); group.writeEntry( "AnonymousTeaTime", time ); - saveDialogSize( group ); + group.writeEntry("Geometry", saveGeometry()); group.writeEntry( "AnonymousTeaDialogXPos", x() ); group.writeEntry( "AnonymousTeaDialogYPos", y() ); @@ -108,7 +122,3 @@ // kate: word-wrap off; encoding utf-8; indent-width 4; tab-width 4; line-numbers on; mixed-indent off; remove-trailing-space-save on; replace-tabs-save on; replace-tabs on; space-indent on; // vim:set spell et sw=4 ts=4 nowrap cino=l1,cs,U1: - -#include "timeedit.moc" -#include "moc_timeedit.cpp" - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/timeedit.h new/kteatime-15.04.0/src/timeedit.h --- old/kteatime-14.12.3/src/timeedit.h 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/timeedit.h 2015-03-22 10:32:55.000000000 +0100 @@ -22,6 +22,9 @@ #include "ui_timeedit.h" +#include <QDialog> + +class QDialogButtonBox; class TopLevel; class TimeEditUI; @@ -31,21 +34,19 @@ * * @author Stefan Böhmann <k...@hilefoks.org> */ -class TimeEditDialog : public KDialog +class TimeEditDialog : public QDialog { - Q_OBJECT - public: explicit TimeEditDialog(TopLevel *toplevel); ~TimeEditDialog(); - private slots: + private: void checkOkButtonState(); void accept(); - private: TimeEditUI *ui; TopLevel *m_toplevel; + QDialogButtonBox *buttonBox; }; #endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/timeedit.ui new/kteatime-15.04.0/src/timeedit.ui --- old/kteatime-14.12.3/src/timeedit.ui 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/timeedit.ui 2015-03-22 10:32:55.000000000 +0100 @@ -34,7 +34,7 @@ </widget> </item> <item row="0" column="1" > - <widget class="QSpinBox" name="minutes" > + <widget class="KPluralHandlingSpinBox" name="minutes" > <property name="focusPolicy" > <enum>Qt::WheelFocus</enum> </property> @@ -46,27 +46,13 @@ </property> </widget> </item> - <item row="0" column="2" > - <widget class="QLabel" name="minutesLabel" > - <property name="text" > - <string>min</string> - </property> - </widget> - </item> <item row="0" column="3" > - <widget class="QSpinBox" name="seconds" > + <widget class="KPluralHandlingSpinBox" name="seconds" > <property name="maximum" > <number>59</number> </property> </widget> </item> - <item row="0" column="4" > - <widget class="QLabel" name="secondsLabel" > - <property name="text" > - <string>sec</string> - </property> - </widget> - </item> <item row="0" column="5" > <spacer> <property name="orientation" > diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/toplevel.cpp new/kteatime-15.04.0/src/toplevel.cpp --- old/kteatime-14.12.3/src/toplevel.cpp 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/toplevel.cpp 2015-03-22 10:32:55.000000000 +0100 @@ -21,20 +21,25 @@ #include "settings.h" #include "tea.h" -#include <QString> #include <QAction> -#include <QTimer> -#include <QPainter> -#include <QBrush> #include <QActionGroup> +#include <QApplication> +#include <QBrush> +#include <QDebug> +#include <QDesktopWidget> +#include <QMenu> +#include <QString> +#include <QTimer> -#include <KMenu> +#include <KAboutData> #include <KActionCollection> +#include <KConfigGroup> #include <KHelpMenu> -#include <KPassivePopup> -#include <KGlobalSettings> +#include <KIconLoader> #include <KNotification> -#include <KAboutData> +#include <KNotifyConfigWidget> +#include <KPassivePopup> +#include <KSharedConfig> TopLevel::TopLevel(const KAboutData *aboutData, const QString &icon, QWidget *parent) @@ -68,43 +73,47 @@ m_teaActionGroup=new QActionGroup( this ); + m_actionCollection = new KActionCollection(this); // build the context menu - m_stopAct = new QAction( QLatin1String( "stop" ), this ); - m_stopAct->setIcon( KIcon( QLatin1String( "edit-delete" ) ) ); - m_stopAct->setText( i18n( "&Stop" ) ); - m_stopAct->setEnabled( false ); - - m_confAct = new QAction( QLatin1String( "configure" ), this ); - m_confAct->setIcon(KIcon( QLatin1String( "configure" ) ) ); - m_confAct->setText(i18n( "&Configure..." ) ); - - m_anonAct = new QAction( QLatin1String( "anonymous" ), this ); - m_anonAct->setText(i18n( "&Anonymous..." ) ); - - m_exitAct = actionCollection()->action( QLatin1String( KStandardAction::name( KStandardAction::Quit ) )); - m_exitAct->setShortcut( 0 ); // Not sure if it is correct. - - m_helpMenu = new KHelpMenu( 0, aboutData, false ); + action = m_actionCollection->addAction( QStringLiteral( "stop" )); + action->setIcon(QIcon::fromTheme( QStringLiteral( "edit-delete" ) ) ); + action->setText( i18n( "&Stop" ) ); + action->setEnabled( false ); + connect(action, &QAction::triggered, this, &TopLevel::cancelTea); + + action = m_actionCollection->addAction( QStringLiteral( "configure" )); + action->setIcon(QIcon::fromTheme( QStringLiteral( "configure" ) ) ); + action->setText(i18n( "&Configure..." ) ); + connect(action, &QAction::triggered, this, &TopLevel::showSettingsDialog); + + action = KStandardAction::configureNotifications(this, SLOT(configureNotifications()), m_actionCollection); + action = KStandardAction::quit(qApp, SLOT(quit()), m_actionCollection); + action->setShortcut(0); + + action = m_actionCollection->addAction( QStringLiteral( "anonymous" )); + action->setText(i18n( "&Anonymous..." ) ); + connect(action, &QAction::triggered, this, &TopLevel::showTimeEditDialog); + m_helpMenu = new KHelpMenu( 0, *aboutData, false ); + setStandardActionsEnabled(false); loadTeaMenuItems(); contextMenu()->addSeparator(); - contextMenu()->addAction( m_stopAct ); - contextMenu()->addAction( m_anonAct ); + contextMenu()->addAction( m_actionCollection->action(QStringLiteral("stop")) ); + contextMenu()->addAction( m_actionCollection->action(QStringLiteral("anonymous")) ); contextMenu()->addSeparator(); - contextMenu()->addAction( m_confAct ); + contextMenu()->addAction( m_actionCollection->action(QStringLiteral("configure")) ); + contextMenu()->addAction( m_actionCollection->action(QLatin1String(KStandardAction::name(KStandardAction::ConfigureNotifications))) ); contextMenu()->addMenu( m_helpMenu->menu() ); - contextMenu()->addAction( m_exitAct ); + contextMenu()->addSeparator(); + contextMenu()->addAction( m_actionCollection->action(QLatin1String(KStandardAction::name(KStandardAction::Quit))) ); m_timer = new QTimer( this ); - connect( m_timer, SIGNAL(timeout()), this, SLOT(teaTimeEvent()) ); - connect( m_stopAct, SIGNAL(triggered(bool)), this, SLOT(cancelTea()) ); - connect( m_confAct, SIGNAL(triggered(bool)), this, SLOT(showSettingsDialog()) ); - connect( m_anonAct, SIGNAL(triggered(bool)), this, SLOT(showTimeEditDialog()) ); - connect( contextMenu(), SIGNAL(triggered(QAction*)), this, SLOT(runTea(QAction*)) ); - connect ( this, SIGNAL(activateRequested(bool,QPoint)), this, SLOT(showPopup(bool,QPoint)) ); + connect(m_timer, &QTimer::timeout, this, &TopLevel::teaTimeEvent); + connect(contextMenu(), static_cast<void (QMenu::*)(QAction*)>(&QMenu::triggered), this, static_cast<void (TopLevel::*)(QAction*)>(&TopLevel::runTea)); + connect(this, &TopLevel::activateRequested, this, &TopLevel::showPopup); loadConfig(); checkState(); @@ -124,8 +133,8 @@ const bool state = m_runningTeaTime != 0; m_teaActionGroup->setEnabled( !state ); - m_stopAct->setEnabled( state ); - m_anonAct->setEnabled( !state ); + m_actionCollection->action(QStringLiteral("stop"))->setEnabled( state ); + m_actionCollection->action(QStringLiteral("anonymous"))->setEnabled( !state ); if( !state ) { setTooltipText( i18n( "No steeping tea." ) ); @@ -143,8 +152,8 @@ tealistGroup.deleteGroup(); for(int i=0; i<m_tealist.size(); ++i) { - tealistGroup.writeEntry(QString( QLatin1String( "Tea%1 Time" ) ).arg( i ), m_tealist.at( i ).time() ); - tealistGroup.writeEntry(QString( QLatin1String( "Tea%1 Name" ) ).arg( i ), m_tealist.at( i ).name() ); + tealistGroup.writeEntry(QStringLiteral( "Tea%1 Time" ).arg( i ), m_tealist.at( i ).time() ); + tealistGroup.writeEntry(QStringLiteral( "Tea%1 Name" ).arg( i ), m_tealist.at( i ).name() ); } tealistGroup.config()->sync(); @@ -155,16 +164,16 @@ contextMenu()->clear(); - ( static_cast<KMenu*>( contextMenu() ) )->addTitle( qApp->windowIcon(), KGlobal::caption() ); - loadTeaMenuItems(); contextMenu()->addSeparator(); - contextMenu()->addAction( m_stopAct ); - contextMenu()->addAction( m_anonAct ); + contextMenu()->addAction( m_actionCollection->action(QStringLiteral("stop")) ); + contextMenu()->addAction( m_actionCollection->action(QStringLiteral("anonymous")) ); contextMenu()->addSeparator(); - contextMenu()->addAction( m_confAct ); + contextMenu()->addAction( m_actionCollection->action(QStringLiteral("configure")) ); + contextMenu()->addAction( m_actionCollection->action(QLatin1String(KStandardAction::name(KStandardAction::ConfigureNotifications))) ); contextMenu()->addMenu(m_helpMenu->menu() ); - contextMenu()->addAction( m_exitAct ); + contextMenu()->addSeparator(); + contextMenu()->addAction( m_actionCollection->action(QLatin1String(KStandardAction::name(KStandardAction::Quit))) ); loadConfig(); } @@ -229,7 +238,7 @@ void TopLevel::repaintTrayIcon() { if( m_runningTeaTime != 0 && m_usevisualize) { - setOverlayIconByName ( QLatin1String("task-ongoing") ); + setOverlayIconByName ( QStringLiteral("task-ongoing") ); } else { @@ -247,12 +256,12 @@ QString content = i18n( "%1 is now ready!", m_runningTea.name() ); - //NOTICE Timeout is set to ~24 days when no auto hide is request. Ok - nearly the same... + //NOTICE Timeout is set t ~o24 days when no auto hide is request. Ok - nearly the same... if( m_usepopup ) { showMessage( title, content, iconName(), m_autohide ? m_autohidetime*1000 : 2100000000 ); } - KNotification::event( QLatin1String( "ready" ), content ); + KNotification::event( QStringLiteral( "ready" ), content ); if( m_usereminder && m_remindertime > 0 ) { setTooltipText( content ); @@ -298,6 +307,10 @@ repaintTrayIcon(); } +void TopLevel::configureNotifications() +{ + KNotifyConfigWidget::configure(); +} void TopLevel::loadConfig() { @@ -323,7 +336,7 @@ else { QPoint p = point; - QRect r = KGlobalSettings::desktopGeometry( p ); + QRect r = QApplication::desktop()->screenGeometry( p ); QSize popupSize = m_popup->minimumSizeHint(); if ( p.x() + popupSize.width() > r.right() ) { @@ -342,7 +355,7 @@ { const QString title = i18n( "The Tea Cooker" ); setToolTip( iconName(), title, content ); - m_popup->setView( title, content, KIcon( iconName() ).pixmap( 22,22 ) ); + m_popup->setView( title, content, KIconLoader().loadIcon(iconName(), KIconLoader::MainToolbar) ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kteatime-14.12.3/src/toplevel.h new/kteatime-15.04.0/src/toplevel.h --- old/kteatime-14.12.3/src/toplevel.h 2014-09-11 17:25:13.000000000 +0200 +++ new/kteatime-15.04.0/src/toplevel.h 2015-03-22 10:32:55.000000000 +0100 @@ -21,18 +21,16 @@ #include "tea.h" -#include <QIcon> -#include <QPixmap> #include <KStatusNotifierItem> class QAction; class QActionGroup; +class QTimer; +class KAboutData; +class KActionCollection; class KHelpMenu; class KPassivePopup; -class KAboutData; - - /** * @short the main class for KTeatime @@ -42,32 +40,32 @@ class TopLevel : public KStatusNotifierItem { Q_OBJECT - public: explicit TopLevel(const KAboutData *aboutData, const QString &icon = QLatin1String("kteatime"), QWidget *parent = 0); ~TopLevel(); void setTeaList(const QList<Tea> &tealist); void runTea(const Tea &tea); - private slots: + private: void runTea(QAction *a); void showSettingsDialog(); void showTimeEditDialog(); void teaTimeEvent(); void cancelTea(); void showPopup(bool active, const QPoint& point); - - private: void checkState(); void loadConfig(); void loadTeaMenuItems(); void repaintTrayIcon(); void setTooltipText(const QString& content); + private Q_SLOTS: + void configureNotifications(); private: QList<Tea> m_tealist; - QAction *m_stopAct, *m_confAct, *m_anonAct, *m_exitAct; + QAction *action; QActionGroup *m_teaActionGroup; + KActionCollection *m_actionCollection; KHelpMenu *m_helpMenu; QTimer *m_timer; @@ -96,7 +94,6 @@ bool m_usevisualize; }; - #endif // kate: word-wrap off; encoding utf-8; indent-width 4; tab-width 4; line-numbers on; mixed-indent off; remove-trailing-space-save on; replace-tabs-save on; replace-tabs on; space-indent on;