Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kjobwidgets for openSUSE:Factory checked in at 2021-07-15 23:59:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kjobwidgets (Old) and /work/SRC/openSUSE:Factory/.kjobwidgets.new.2625 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kjobwidgets" Thu Jul 15 23:59:49 2021 rev:93 rq:905510 version:5.84.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kjobwidgets/kjobwidgets.changes 2021-06-16 20:35:39.639204111 +0200 +++ /work/SRC/openSUSE:Factory/.kjobwidgets.new.2625/kjobwidgets.changes 2021-07-16 00:01:36.372988588 +0200 @@ -1,0 +2,10 @@ +Sun Jul 4 07:45:36 UTC 2021 - Christophe Giboudeaux <christo...@krop.fr> + +- Update to 5.84.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/5/5.84.0 +- Changes since 5.83.0: + * Add KJobCreator manual test + +------------------------------------------------------------------- Old: ---- kjobwidgets-5.83.0.tar.xz kjobwidgets-5.83.0.tar.xz.sig New: ---- kjobwidgets-5.84.0.tar.xz kjobwidgets-5.84.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kjobwidgets.spec ++++++ --- /var/tmp/diff_new_pack.qzxbKX/_old 2021-07-16 00:01:36.988983458 +0200 +++ /var/tmp/diff_new_pack.qzxbKX/_new 2021-07-16 00:01:36.992983426 +0200 @@ -17,14 +17,14 @@ %define lname libKF5JobWidgets5 -%define _tar_path 5.83 +%define _tar_path 5.84 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} %bcond_without lang Name: kjobwidgets -Version: 5.83.0 +Version: 5.84.0 Release: 0 Summary: Widgets for showing progress of asynchronous jobs License: LGPL-2.1-or-later ++++++ kjobwidgets-5.83.0.tar.xz -> kjobwidgets-5.84.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.83.0/CMakeLists.txt new/kjobwidgets-5.84.0/CMakeLists.txt --- old/kjobwidgets-5.83.0/CMakeLists.txt 2021-06-05 11:20:49.000000000 +0200 +++ new/kjobwidgets-5.84.0/CMakeLists.txt 2021-07-03 14:14:39.000000000 +0200 @@ -1,11 +1,11 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "5.83.0") # handled by release scripts -set(KF_DEP_VERSION "5.83.0") # handled by release scripts +set(KF_VERSION "5.84.0") # handled by release scripts +set(KF_DEP_VERSION "5.84.0") # handled by release scripts project(KJobWidgets VERSION ${KF_VERSION}) include(FeatureSummary) -find_package(ECM 5.83.0 NO_MODULE) +find_package(ECM 5.84.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.83.0/po/de/kjobwidgets5_qt.po new/kjobwidgets-5.84.0/po/de/kjobwidgets5_qt.po --- old/kjobwidgets-5.83.0/po/de/kjobwidgets5_qt.po 2021-06-05 11:20:49.000000000 +0200 +++ new/kjobwidgets-5.84.0/po/de/kjobwidgets5_qt.po 2021-07-03 14:14:39.000000000 +0200 @@ -21,9 +21,8 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Lokalize 19.04.3\n" -"X-Qt-Contexts: true\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Qt-Contexts: true\n" #: kjobtrackerformatters.cpp:27 #, qt-format diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.83.0/po/hi/kjobwidgets5_qt.po new/kjobwidgets-5.84.0/po/hi/kjobwidgets5_qt.po --- old/kjobwidgets-5.83.0/po/hi/kjobwidgets5_qt.po 2021-06-05 11:20:49.000000000 +0200 +++ new/kjobwidgets-5.84.0/po/hi/kjobwidgets5_qt.po 2021-07-03 14:14:39.000000000 +0200 @@ -5,260 +5,198 @@ # Ravishankar Shrivastava <raviratl...@yahoo.com>, 2007. # Ravishankar Shrivastava <raviratl...@aol.in>, 2008. # G Karunakar <karuna...@indlinux.org>, 2009, 2010, 2012. +# Raghavendra Kamath <ra...@raghukamath.com>, 2021. msgid "" msgstr "" "Project-Id-Version: kdelibs4\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n" "POT-Creation-Date: 2014-03-23 01:50+0000\n" -"PO-Revision-Date: 2012-06-25 15:27+0530\n" -"Last-Translator: G Karunakar <karuna...@indlinux.org>\n" -"Language-Team: Hindi <kde-i18n-...@kde.org>\n" +"PO-Revision-Date: 2021-06-29 21:11+0530\n" +"Last-Translator: Raghavendra Kamath <ra...@raghukamath.com>\n" +"Language-Team: kde-hindi\n" "Language: hi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -"X-Generator: Lokalize 1.2\n" +"X-Generator: Lokalize 21.04.2\n" "X-Qt-Contexts: true\n" #: kjobtrackerformatters.cpp:27 -#, fuzzy, qt-format -#| msgctxt "@item:intext %1 is a real number, e.g. 1.23 days" -#| msgid "%1 days" +#, qt-format msgctxt "KJobTrackerFormatters|@item:intext" msgid "%n day(s)" msgid_plural "%n day(s)" -msgstr[0] "%1 ?????????" -msgstr[1] "%1 ?????????" +msgstr[0] "%n ?????????" +msgstr[1] "%n ?????????" #: kjobtrackerformatters.cpp:34 -#, fuzzy, qt-format -#| msgctxt "@item:intext %1 is a real number, e.g. 1.23 hours" -#| msgid "%1 hours" +#, qt-format msgctxt "KJobTrackerFormatters|@item:intext" msgid "%n hour(s)" msgid_plural "%n hour(s)" -msgstr[0] "%1 ????????????" -msgstr[1] "%1 ????????????" +msgstr[0] "%n ????????????" +msgstr[1] "%n ????????????" #: kjobtrackerformatters.cpp:41 -#, fuzzy, qt-format -#| msgctxt "@item:intext %1 is a real number, e.g. 1.23 minutes" -#| msgid "%1 minutes" +#, qt-format msgctxt "KJobTrackerFormatters|@item:intext" msgid "%n minute(s)" msgid_plural "%n minute(s)" -msgstr[0] "%1 ????????????" -msgstr[1] "%1 ????????????" +msgstr[0] "%n ????????????" +msgstr[1] "%n ????????????" #: kjobtrackerformatters.cpp:48 -#, fuzzy, qt-format -#| msgctxt "@item:intext %1 is a real number, e.g. 1.23 seconds" -#| msgid "%1 seconds" +#, qt-format msgctxt "KJobTrackerFormatters|@item:intext" msgid "%n second(s)" msgid_plural "%n second(s)" -msgstr[0] "%1 ??????????????????" -msgstr[1] "%1 ??????????????????" +msgstr[0] "%n ??????????????????" +msgstr[1] "%n ??????????????????" #: kjobtrackerformatters.cpp:69 -#, fuzzy, qt-format -#| msgctxt "" -#| "@item:intext days and hours. This uses the previous item:intext messages. " -#| "If this does not fit the grammar of your language please contact the i18n " -#| "team to solve the problem" -#| msgid "%1 and %2" +#, qt-format msgctxt "KJobTrackerFormatters|@item:intext days and hours." msgid "%1 and %2" msgstr "%1 ?????? %2" #: kjobtrackerformatters.cpp:73 -#, fuzzy, qt-format -#| msgctxt "" -#| "@item:intext days and hours. This uses the previous item:intext messages. " -#| "If this does not fit the grammar of your language please contact the i18n " -#| "team to solve the problem" -#| msgid "%1 and %2" +#, qt-format msgctxt "KJobTrackerFormatters|@item:intext hours and minutes." msgid "%1 and %2" msgstr "%1 ?????? %2" #: kjobtrackerformatters.cpp:78 -#, fuzzy, qt-format -#| msgctxt "" -#| "@item:intext days and hours. This uses the previous item:intext messages. " -#| "If this does not fit the grammar of your language please contact the i18n " -#| "team to solve the problem" -#| msgid "%1 and %2" +#, qt-format msgctxt "KJobTrackerFormatters|@item:intext minutes and seconds." msgid "%1 and %2" msgstr "%1 ?????? %2" #: kstatusbarjobtracker.cpp:161 -#, fuzzy -#| msgid "Stop" msgctxt "KStatusBarJobTracker|" msgid "Stop" msgstr "???????????????" #: kstatusbarjobtracker.cpp:240 -#, fuzzy -#| msgid " Stalled " msgctxt "KStatusBarJobTracker|" msgid " Stalled " -msgstr "???????????? ?????????" +msgstr " ?????????????????? " #: kstatusbarjobtracker.cpp:242 -#, fuzzy, qt-format -#| msgid " %1/s " +#, qt-format msgctxt "KStatusBarJobTracker|" msgid " %1/s " -msgstr " %1/s " +msgstr " %1/?????? " #: kwidgetjobtracker.cpp:279 kwidgetjobtracker.cpp:287 -#, fuzzy, qt-format -#| msgctxt "%1 is the label, we add a ':' to it" -#| msgid "%1:" +#, qt-format msgctxt "KWidgetJobTracker|%1 is the label, we add a ':' to it" msgid "%1:" msgstr "%1:" #: kwidgetjobtracker.cpp:347 -#, fuzzy, qt-format -#| msgid "%2 of %3 complete" -#| msgid_plural "%2 of %3 complete" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%1 of %2 complete" msgid_plural "%1 of %2 complete" -msgstr[0] "%3 ???????????????, ??????????????? ????????? %2 " -msgstr[1] "%3 ???????????????, ??????????????? ????????? %2 " +msgstr[0] "%2 ????????? ?????? %1 ???????????????" +msgstr[1] "%2 ????????? ?????? %1 ???????????????" #: kwidgetjobtracker.cpp:366 kwidgetjobtracker.cpp:383 -#, fuzzy, qt-format -#| msgid "%2 / %1 folder" -#| msgid_plural "%2 / %1 folders" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%1 / %n folder(s)" msgid_plural "%1 / %n folder(s)" -msgstr[0] "%2 / %1 ?????????????????????" -msgstr[1] "%2 / %1 ???????????????????????????" +msgstr[0] "%1 / %n ?????????????????????" +msgstr[1] "%1 / %n ?????????????????????" #: kwidgetjobtracker.cpp:370 kwidgetjobtracker.cpp:388 -#, fuzzy, qt-format -#| msgid "%2 / %1 file" -#| msgid_plural "%2 / %1 files" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%1 / %n file(s)" msgid_plural "%1 / %n file(s)" -msgstr[0] "%2 / %1 ???????????????" -msgstr[1] "%2 / %1 ?????????????????????" +msgstr[0] "%1 / %n ???????????????" +msgstr[1] "%1 / %n ?????????????????????" #: kwidgetjobtracker.cpp:399 -#, fuzzy, qt-format -#| msgid "%2 / %1 file" -#| msgid_plural "%2 / %1 files" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%1 / %n item(s)" msgid_plural "%1 / %n item(s)" -msgstr[0] "%2 / %1 ???????????????" -msgstr[1] "%2 / %1 ?????????????????????" +msgstr[0] "%1 / %n ???????????????(??????)" +msgstr[1] "%1 / %n ?????????????????????" #: kwidgetjobtracker.cpp:410 -#, fuzzy, qt-format -#| msgid "%1% of %2" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%1% of %2" -msgstr "%2 ????????? ?????? %1 %" +msgstr "%2 ????????? ?????? %1%" #: kwidgetjobtracker.cpp:414 -#, fuzzy, qt-format -#| msgid "%2% of 1 file" -#| msgid_plural "%2% of %1 files" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%1% of %n file(s)" msgid_plural "%1% of %n file(s)" -msgstr[0] "%2 % ????????? ?????? 1 ???????????????" -msgstr[1] "%2 % ????????? ?????? %1 ?????????????????????" +msgstr[0] "%1% ????????? ?????? %n ???????????????" +msgstr[1] "%1% ????????? ?????? %n ?????????????????????" #: kwidgetjobtracker.cpp:416 -#, fuzzy, qt-format -#| msgid "%1%" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%1%" msgstr "%1%" #: kwidgetjobtracker.cpp:429 -#, fuzzy -#| msgid "Stalled" msgctxt "KWidgetJobTracker|" msgid "Stalled" -msgstr "???????????? ?????????" +msgstr "??????????????????" #: kwidgetjobtracker.cpp:436 -#, fuzzy, qt-format -#| msgid "%2/s (%3 remaining)" -#| msgid_plural "%2/s (%3 remaining)" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%1/s (%2 remaining)" msgid_plural "%1/s (%2 remaining)" -msgstr[0] "%2/s ( %3 ????????? ?????? )" -msgstr[1] "%2/s ( %3 ????????? ?????? )" +msgstr[0] "%1/?????? ( %2 ????????? ?????? )" +msgstr[1] "%1/s ( %2 ???????????? ????????? )" #: kwidgetjobtracker.cpp:439 -#, fuzzy, qt-format -#| msgctxt "speed in bytes per second" -#| msgid "%1/s" +#, qt-format msgctxt "KWidgetJobTracker|speed in bytes per second" msgid "%1/s" -msgstr " %1/s " +msgstr "%1/??????" #: kwidgetjobtracker.cpp:447 -#, fuzzy -#| msgid "&Close" msgctxt "KWidgetJobTracker|" msgid "&Close" msgstr "????????? ???????????? (&C)" #: kwidgetjobtracker.cpp:449 -#, fuzzy -#| msgid "Close the current window or document" msgctxt "KWidgetJobTracker|" msgid "Close the current window or document" msgstr "????????????????????? ??????????????? ?????? ??????????????????????????? ????????? ????????????" #: kwidgetjobtracker.cpp:462 -#, fuzzy, qt-format -#| msgid "%1/s (done)" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%1/s (done)" -msgstr "%1/s (?????????????????????)" +msgstr "%1/?????? (?????????????????????)" #: kwidgetjobtracker.cpp:468 -#, fuzzy -#| msgid "&Resume" msgctxt "KWidgetJobTracker|" msgid "&Resume" msgstr "???????????????????????? (&R)" #: kwidgetjobtracker.cpp:474 kwidgetjobtracker.cpp:545 -#, fuzzy -#| msgid "&Pause" msgctxt "KWidgetJobTracker|" msgid "&Pause" msgstr "??????????????? (&P)" #: kwidgetjobtracker.cpp:498 -#, fuzzy -#| msgctxt "The source url of a job" -#| msgid "Source:" msgctxt "KWidgetJobTracker|The source url of a job" msgid "Source:" -msgstr "???????????????:" +msgstr "??????????????? :" #: kwidgetjobtracker.cpp:506 -#, fuzzy -#| msgctxt "The destination url of a job" -#| msgid "Destination:" msgctxt "KWidgetJobTracker|The destination url of a job" msgid "Destination:" msgstr "??????????????????:" @@ -266,73 +204,58 @@ #: kwidgetjobtracker.cpp:530 kwidgetjobtracker.cpp:712 msgctxt "KWidgetJobTracker|" msgid "Click this to expand the dialog, to show details" -msgstr "" +msgstr "??????????????? ?????????????????? ?????? ?????????, ??????????????? ?????? ????????????????????? ???????????? ?????? ????????? ????????? ??????????????? ????????????" #: kwidgetjobtracker.cpp:565 -#, fuzzy -#| msgid "&Keep this window open after transfer is complete" msgctxt "KWidgetJobTracker|" msgid "&Keep this window open after transfer is complete" -msgstr "??????????????????????????? ???????????? ???????????? ?????? ????????? ?????? ??????????????? ?????? ???????????? ????????????. (&K)" +msgstr "??????????????????????????? ???????????? ???????????? ?????? ????????? ?????? ??????????????? ?????? ???????????? ??????????????? (&K)" #: kwidgetjobtracker.cpp:573 -#, fuzzy -#| msgid "Open &File" msgctxt "KWidgetJobTracker|" msgid "Open &File" msgstr "??????????????? ??????????????? (&F)" #: kwidgetjobtracker.cpp:579 -#, fuzzy -#| msgid "Open &Destination" msgctxt "KWidgetJobTracker|" msgid "Open &Destination" msgstr "?????????????????? ??????????????? (&D)" #: kwidgetjobtracker.cpp:587 -#, fuzzy -#| msgid "&Cancel" msgctxt "KWidgetJobTracker|" msgid "&Cancel" msgstr "???????????? ???????????? (&C)" #: kwidgetjobtracker.cpp:595 -#, fuzzy -#| msgid "Progress Dialog" msgctxt "KWidgetJobTracker|" msgid "Progress Dialog" -msgstr "?????????????????? ??????????????? " +msgstr "?????????????????? ???????????????" #: kwidgetjobtracker.cpp:608 -#, fuzzy, qt-format -#| msgid "Delete item(s)" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%n item(s)" msgid_plural "%n item(s)" -msgstr[0] "????????????????????? ??????????????????" -msgstr[1] "????????????????????? ??????????????????" +msgstr[0] "%n ?????????????????????" +msgstr[1] "%n ?????????????????????" #: kwidgetjobtracker.cpp:614 -#, fuzzy, qt-format -#| msgid "%1 folder" -#| msgid_plural "%1 folders" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%n folder(s)" msgid_plural "%n folder(s)" -msgstr[0] "%1 ?????????????????????" -msgstr[1] "%1 ???????????????????????????" +msgstr[0] "%n ?????????????????????" +msgstr[1] "%n ?????????????????????" #: kwidgetjobtracker.cpp:618 -#, fuzzy, qt-format -#| msgid "%1 file" -#| msgid_plural "%1 files" +#, qt-format msgctxt "KWidgetJobTracker|" msgid "%n file(s)" msgid_plural "%n file(s)" -msgstr[0] "%1 ???????????????" -msgstr[1] "%1 ?????????????????????" +msgstr[0] "%n ???????????????" +msgstr[1] "%n ?????????????????????" #: kwidgetjobtracker.cpp:705 msgctxt "KWidgetJobTracker|" msgid "Click this to collapse the dialog, to hide details" -msgstr "" +msgstr "??????????????? ?????? ??????????????????????????? ???????????? ?????? ?????????, ??????????????? ?????????????????? ?????? ????????? ?????? ?????? ??????????????? ???????????? " diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.83.0/po/zh_CN/kjobwidgets5_qt.po new/kjobwidgets-5.84.0/po/zh_CN/kjobwidgets5_qt.po --- old/kjobwidgets-5.83.0/po/zh_CN/kjobwidgets5_qt.po 2021-06-05 11:20:49.000000000 +0200 +++ new/kjobwidgets-5.84.0/po/zh_CN/kjobwidgets5_qt.po 2021-07-03 14:14:39.000000000 +0200 @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: kdeorg\n" -"PO-Revision-Date: 2021-06-03 16:05\n" +"PO-Revision-Date: 2021-06-20 07:35\n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" "MIME-Version: 1.0\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.83.0/src/CMakeLists.txt new/kjobwidgets-5.84.0/src/CMakeLists.txt --- old/kjobwidgets-5.83.0/src/CMakeLists.txt 2021-06-05 11:20:49.000000000 +0200 +++ new/kjobwidgets-5.84.0/src/CMakeLists.txt 2021-07-03 14:14:39.000000000 +0200 @@ -1,20 +1,36 @@ configure_file(config-kjobwidgets.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-kjobwidgets.h ) -ecm_create_qm_loader(kjobwidgets_QM_LOADER kjobwidgets5_qt) +add_library(KF5JobWidgets) +add_library(KF5::JobWidgets ALIAS KF5JobWidgets) + +set_target_properties(KF5JobWidgets PROPERTIES + VERSION ${KJOBWIDGETS_VERSION} + SOVERSION ${KJOBWIDGETS_SOVERSION} + EXPORT_NAME JobWidgets +) -set(kjobwidgets_SRCS - kabstractwidgetjobtracker.cpp - kdialogjobuidelegate.cpp - kjobtrackerformatters.cpp - kuiserverjobtracker.cpp - kuiserverv2jobtracker.cpp - kjobwidgets.cpp - kstatusbarjobtracker.cpp - kwidgetjobtracker.cpp - ${kjobwidgets_QM_LOADER} +ecm_create_qm_loader(KF5JobWidgets kjobwidgets5_qt) + +set(kjobwidgets_dbus_SRCS) +qt_add_dbus_interfaces(kjobwidgets_dbus_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.JobViewServer.xml ) +qt_add_dbus_interface(kjobwidgets_dbus_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.JobView.xml jobviewiface ) + +qt_add_dbus_interfaces(kjobwidgets_dbus_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.JobViewServerV2.xml ) +qt_add_dbus_interface(kjobwidgets_dbus_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.JobViewV3.xml jobviewv3iface ) + +target_sources(KF5JobWidgets PRIVATE + kabstractwidgetjobtracker.cpp + kdialogjobuidelegate.cpp + kjobtrackerformatters.cpp + kuiserverjobtracker.cpp + kuiserverv2jobtracker.cpp + kjobwidgets.cpp + kstatusbarjobtracker.cpp + kwidgetjobtracker.cpp + ${kjobwidgets_dbus_SRCS} ) -ecm_qt_declare_logging_category(kjobwidgets_SRCS +ecm_qt_declare_logging_category(KF5JobWidgets HEADER debug.h IDENTIFIER KJOBWIDGETS CATEGORY_NAME kf.jobwidgets @@ -23,14 +39,6 @@ EXPORT KJOBWIDGETS ) -qt_add_dbus_interfaces(kjobwidgets_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.JobViewServer.xml ) -qt_add_dbus_interface(kjobwidgets_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.JobView.xml jobviewiface ) - -qt_add_dbus_interfaces(kjobwidgets_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.JobViewServerV2.xml ) -qt_add_dbus_interface(kjobwidgets_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.JobViewV3.xml jobviewv3iface ) - -add_library(KF5JobWidgets ${kjobwidgets_SRCS}) - ecm_generate_export_header(KF5JobWidgets BASE_NAME KJobWidgets GROUP_BASE_NAME KF @@ -40,8 +48,6 @@ EXCLUDE_DEPRECATED_BEFORE_AND_AT ${EXCLUDE_DEPRECATED_BEFORE_AND_AT} ) -add_library(KF5::JobWidgets ALIAS KF5JobWidgets) - target_include_directories(KF5JobWidgets INTERFACE "$<INSTALL_INTERFACE:${KDE_INSTALL_INCLUDEDIR_KF5}/KJobWidgets>") target_link_libraries(KF5JobWidgets @@ -58,12 +64,6 @@ target_link_libraries(KF5JobWidgets PRIVATE Qt5::X11Extras) endif () -set_target_properties(KF5JobWidgets PROPERTIES VERSION ${KJOBWIDGETS_VERSION} - SOVERSION ${KJOBWIDGETS_SOVERSION} - EXPORT_NAME JobWidgets -) - - ecm_generate_headers(KJobWidgets_HEADERS HEADER_NAMES KAbstractWidgetJobTracker diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.83.0/tests/CMakeLists.txt new/kjobwidgets-5.84.0/tests/CMakeLists.txt --- old/kjobwidgets-5.83.0/tests/CMakeLists.txt 2021-06-05 11:20:49.000000000 +0200 +++ new/kjobwidgets-5.84.0/tests/CMakeLists.txt 2021-07-03 14:14:39.000000000 +0200 @@ -14,3 +14,9 @@ kjobwidgets_executable_tests( kjobtrackerstest ) + +set(kjobcreator_SRCS kjobcreator.cpp) +qt_wrap_ui(kjobcreator_SRCS kjobcreator.ui) +add_executable(kjobcreator ${kjobcreator_SRCS}) +target_link_libraries(kjobcreator Qt5::Widgets KF5::JobWidgets) +ecm_mark_as_test(kjobcreator) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.83.0/tests/kjobcreator.cpp new/kjobwidgets-5.84.0/tests/kjobcreator.cpp --- old/kjobwidgets-5.83.0/tests/kjobcreator.cpp 1970-01-01 01:00:00.000000000 +0100 +++ new/kjobwidgets-5.84.0/tests/kjobcreator.cpp 2021-07-03 14:14:39.000000000 +0200 @@ -0,0 +1,335 @@ +/* + SPDX-FileCopyrightText: 2021 Kai Uwe Broulik <k...@broulik.de> + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#include "kjobcreator.h" + +#include <QApplication> +#include <QIcon> +#include <QPushButton> + +#include <KUiServerJobTracker> +#include <KUiServerV2JobTracker> +#include <KWidgetJobTracker> + +#include <limits> + +TestJob::TestJob(QObject *parent) + : KJob(parent) +{ +} + +void TestJob::start() +{ + m_started = true; +} + +bool TestJob::started() const +{ + return m_started; +} + +void TestJob::finish() +{ + emitResult(); +} + +void TestJob::setPercentage(int percent) +{ + setPercent(percent); +} + +void TestJob::setProcessedMiB(double bytes) +{ + setProcessedAmount(KJob::Bytes, bytes * 1024 * 1024); +} + +void TestJob::setTotalMiB(double bytes) +{ + setTotalAmount(KJob::Bytes, bytes * 1024 * 1024); +} + +void TestJob::setProcessedFiles(int files) +{ + setProcessedAmount(KJob::Files, files); +} + +void TestJob::setTotalFiles(int files) +{ + setTotalAmount(KJob::Files, files); +} + +void TestJob::setProcessedDirectories(int directories) +{ + setProcessedAmount(KJob::Directories, directories); +} + +void TestJob::setTotalDirectories(int directories) +{ + setTotalAmount(KJob::Directories, directories); +} + +void TestJob::setProcessedItems(int items) +{ + setProcessedAmount(KJob::Items, items); +} + +void TestJob::setTotalItems(int items) +{ + setTotalAmount(KJob::Items, items); +} + +void TestJob::setSpeedMiB(double speed) +{ + emitSpeed(speed * 1024 * 1024); +} + +void TestJob::setErrorState(int errorCode, const QString &errorTest) +{ + setError(errorCode); + setErrorText(errorTest); +} + +void TestJob::setSuspendable(bool suspendable) +{ + auto caps = capabilities(); + caps.setFlag(KJob::Suspendable, suspendable); + setCapabilities(caps); +} + +void TestJob::setKillable(bool killable) +{ + auto caps = capabilities(); + caps.setFlag(KJob::Killable, killable); + setCapabilities(caps); +} + +bool TestJob::doKill() +{ + // TODO add checkbox for testing what happens when you try to kill a job that refuses? + return true; +} + +bool TestJob::doSuspend() +{ + return true; +} + +bool TestJob::doResume() +{ + return true; +} + +TestDialog::TestDialog(QWidget *parent) + : QDialog(parent) +{ + m_ui.setupUi(this); + + m_ui.desktopEntry->setText(QGuiApplication::desktopFileName()); + + m_ui.processedBytes->setMaximum(std::numeric_limits<double>::max()); + m_ui.totalBytes->setMaximum(m_ui.processedBytes->maximum()); + m_ui.processedFiles->setMaximum(std::numeric_limits<int>::max()); + m_ui.totalFiles->setMaximum(m_ui.processedFiles->maximum()); + m_ui.processedDirectories->setMaximum(std::numeric_limits<int>::max()); + m_ui.totalDirectories->setMaximum(m_ui.processedDirectories->maximum()); + m_ui.processedItems->setMaximum(std::numeric_limits<int>::max()); + m_ui.totalItems->setMaximum(m_ui.processedItems->maximum()); + + m_ui.speed->setMaximum(std::numeric_limits<double>::max()); + + m_ui.createButton->setIcon(QIcon::fromTheme(QStringLiteral("document-new"))); + m_ui.startButton->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-start"))); + m_ui.suspendButton->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-pause"))); + m_ui.killButton->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-stop"))); + m_ui.finishButton->setIcon(QIcon::fromTheme(QStringLiteral("view-task"))); + + updateUiState(); + + connect(m_ui.desktopEntry, &QLineEdit::editingFinished, this, [this] { + QGuiApplication::setDesktopFileName(m_ui.desktopEntry->text()); + updateUiState(); + }); + + connect(m_ui.destUrl, &QLineEdit::editingFinished, this, &TestDialog::updateJob); + + connect(m_ui.emitDescriptionButton, &QPushButton::clicked, this, [this] { + m_job->description(m_job, + m_ui.title->text(), + qMakePair(m_ui.descriptionLabel1->text(), m_ui.descriptionValue1->text()), + qMakePair(m_ui.descriptionLabel2->text(), m_ui.descriptionValue2->text())); + }); + + connect(m_ui.percent, &QSlider::valueChanged, this, &TestDialog::updateJob); + connect(m_ui.processedBytes, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &TestDialog::updateJob); + connect(m_ui.totalBytes, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &TestDialog::updateJob); + connect(m_ui.processedFiles, QOverload<int>::of(&QSpinBox::valueChanged), this, &TestDialog::updateJob); + connect(m_ui.totalFiles, QOverload<int>::of(&QSpinBox::valueChanged), this, &TestDialog::updateJob); + connect(m_ui.processedDirectories, QOverload<int>::of(&QSpinBox::valueChanged), this, &TestDialog::updateJob); + connect(m_ui.totalDirectories, QOverload<int>::of(&QSpinBox::valueChanged), this, &TestDialog::updateJob); + connect(m_ui.processedItems, QOverload<int>::of(&QSpinBox::valueChanged), this, &TestDialog::updateJob); + connect(m_ui.totalItems, QOverload<int>::of(&QSpinBox::valueChanged), this, &TestDialog::updateJob); + connect(m_ui.speed, QOverload<double>::of(&QDoubleSpinBox::valueChanged), this, &TestDialog::updateJob); + + connect(m_ui.infoMessage, &QLineEdit::returnPressed, m_ui.emitInfoMessage, &QPushButton::click); + connect(m_ui.emitInfoMessage, &QPushButton::clicked, this, [this] { + m_job->infoMessage(m_job, m_ui.infoMessage->text(), QString()); + }); + + connect(m_ui.errorCombo, QOverload<int>::of(&QComboBox::activated), this, &TestDialog::updateJob); + connect(m_ui.errorText, &QLineEdit::editingFinished, this, &TestDialog::updateJob); + + connect(m_ui.suspendableCheck, &QCheckBox::toggled, this, &TestDialog::updateJob); + connect(m_ui.killableCheck, &QCheckBox::toggled, this, &TestDialog::updateJob); + + connect(m_ui.createButton, &QPushButton::clicked, this, [this] { + Q_ASSERT(!m_job); + m_job = new TestJob(this); + connect(m_job, &KJob::finished, this, [this] { + m_job = nullptr; + m_registeredWithWidgetTracker = false; + m_registeredWithUiServerTracker = false; + m_registeredWithUiServerV2Tracker = false; + updateUiState(); + }); + connect(m_job, &KJob::suspended, this, &TestDialog::updateUiState); + connect(m_job, &KJob::resumed, this, &TestDialog::updateUiState); + + // KJob auto-calculates percent based on processed/total amount, so sync that back into the UI + connect(m_job, &KJob::percentChanged, this, [this](KJob *job, unsigned long percent) { + Q_UNUSED(job); + m_ui.percent->setValue(percent); + }); + + updateJob(); + updateUiState(); + }); + connect(m_ui.startButton, &QPushButton::clicked, this, [this] { + m_job->start(); + updateUiState(); + }); + connect(m_ui.suspendButton, &QPushButton::clicked, this, [this] { + if (m_job->isSuspended()) { + m_job->resume(); + } else { + m_job->suspend(); + } + }); + connect(m_ui.killButton, &QPushButton::clicked, this, [this] { + m_job->kill(); + }); + connect(m_ui.finishButton, &QPushButton::clicked, this, [this] { + m_job->finish(); + }); + + connect(m_ui.registerKWidgetJobTracker, &QPushButton::clicked, this, [this] { + if (!m_widgetTracker) { + // not passing "parent" so it spawns a new window + m_widgetTracker.reset(new KWidgetJobTracker(nullptr)); + } + m_widgetTracker->registerJob(m_job.data()); + m_registeredWithWidgetTracker = true; + updateUiState(); + }); + connect(m_ui.registerKUIServerJobTracker, &QPushButton::clicked, this, [this] { + if (!m_uiServerTracker) { + m_uiServerTracker.reset(new KUiServerJobTracker(nullptr)); + } + m_uiServerTracker->registerJob(m_job.data()); + m_registeredWithUiServerTracker = true; + updateUiState(); + }); + connect(m_ui.registerKUIServerV2JobTracker, &QPushButton::clicked, this, [this] { + if (!m_uiServerV2Tracker) { + m_uiServerV2Tracker.reset(new KUiServerV2JobTracker(nullptr)); + } + m_uiServerV2Tracker->registerJob(m_job.data()); + m_registeredWithUiServerV2Tracker = true; + updateUiState(); + }); +} + +TestDialog::~TestDialog() = default; + +void TestDialog::closeEvent(QCloseEvent *event) +{ + Q_UNUSED(event) + if (m_job) { + m_job->kill(KJob::EmitResult); + } +} + +void TestDialog::updateUiState() +{ + m_ui.destUrl->setEnabled(m_job); + + m_ui.emitDescriptionButton->setEnabled(m_job); + m_ui.emitInfoMessage->setEnabled(m_job); + + m_ui.processedBytes->setEnabled(m_job); + m_ui.totalBytes->setEnabled(m_job); + m_ui.processedFiles->setEnabled(m_job); + m_ui.totalFiles->setEnabled(m_job); + m_ui.processedDirectories->setEnabled(m_job); + m_ui.totalDirectories->setEnabled(m_job); + m_ui.processedItems->setEnabled(m_job); + m_ui.totalItems->setEnabled(m_job); + + m_ui.percent->setEnabled(m_job); + m_ui.speed->setEnabled(m_job); + m_ui.errorCombo->setEnabled(m_job); + m_ui.errorText->setEnabled(m_job); + + m_ui.createButton->setEnabled(!m_job); + m_ui.startButton->setEnabled(m_job && !m_job->started()); + m_ui.suspendButton->setEnabled(m_job); + m_ui.suspendButton->setChecked(m_job && m_job->isSuspended()); + m_ui.killButton->setEnabled(m_job); + m_ui.finishButton->setEnabled(m_job); + + m_ui.registerKWidgetJobTracker->setEnabled(m_job && !m_registeredWithWidgetTracker); + m_ui.registerKUIServerJobTracker->setEnabled(m_job && !m_registeredWithUiServerTracker); + m_ui.registerKUIServerV2JobTracker->setEnabled(m_job && !m_registeredWithUiServerV2Tracker && !QGuiApplication::desktopFileName().isEmpty()); +} + +void TestDialog::updateJob() +{ + if (!m_job) { + return; + } + + m_job->setProperty("destUrl", m_ui.destUrl->text()); + m_job->setProperty("immediateProgressReporting", m_ui.immediateCheck->isChecked()); + + m_job->setPercentage(m_ui.percent->value()); + + m_job->setProcessedMiB(m_ui.processedBytes->value()); + m_job->setTotalMiB(m_ui.totalBytes->value()); + m_job->setProcessedFiles(m_ui.processedFiles->value()); + m_job->setTotalFiles(m_ui.totalFiles->value()); + m_job->setProcessedDirectories(m_ui.processedDirectories->value()); + m_job->setTotalDirectories(m_ui.totalDirectories->value()); + m_job->setProcessedItems(m_ui.processedItems->value()); + m_job->setTotalItems(m_ui.totalItems->value()); + + m_job->setSpeedMiB(m_ui.speed->value()); + + m_job->setErrorState(m_ui.errorCombo->currentIndex(), m_ui.errorText->text()); + + m_job->setSuspendable(m_ui.suspendableCheck->isChecked()); + m_job->setKillable(m_ui.killableCheck->isChecked()); +} + +int main(int argc, char **argv) +{ + QApplication app(argc, argv); + app.setApplicationName(QStringLiteral("kjobcreator")); + app.setDesktopFileName(QStringLiteral("org.kde.dolphin")); + + TestDialog dialog; + dialog.show(); + + return app.exec(); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.83.0/tests/kjobcreator.h new/kjobwidgets-5.84.0/tests/kjobcreator.h --- old/kjobwidgets-5.83.0/tests/kjobcreator.h 1970-01-01 01:00:00.000000000 +0100 +++ new/kjobwidgets-5.84.0/tests/kjobcreator.h 2021-07-03 14:14:39.000000000 +0200 @@ -0,0 +1,88 @@ +/* + SPDX-FileCopyrightText: 2021 Kai Uwe Broulik <k...@broulik.de> + + SPDX-License-Identifier: LGPL-2.0-or-later +*/ + +#ifndef KJOBCREATOR_H +#define KJOBCREATOR_H + +#include <QDialog> +#include <QPointer> +#include <QScopedPointer> + +#include <KJob> + +#include "ui_kjobcreator.h" + +class KWidgetJobTracker; +class KUiServerJobTracker; +class KUiServerV2JobTracker; + +class TestJob : public KJob +{ + Q_OBJECT + +public: + TestJob(QObject *parent = nullptr); + + void start() override; + bool started() const; + + void finish(); + + void setPercentage(int percent); + + void setProcessedMiB(double bytes); + void setTotalMiB(double bytes); + void setProcessedFiles(int files); + void setTotalFiles(int files); + void setProcessedDirectories(int directories); + void setTotalDirectories(int directories); + void setProcessedItems(int items); + void setTotalItems(int items); + + void setSpeedMiB(double speed); + + void setErrorState(int errorCode, const QString &errorText); + + void setKillable(bool killable); + void setSuspendable(bool suspendable); + +protected: + bool doKill() override; + bool doSuspend() override; + bool doResume() override; + +private: + bool m_started = false; +}; + +class TestDialog : public QDialog +{ + Q_OBJECT + +public: + TestDialog(QWidget *parent = nullptr); + ~TestDialog(); + +protected: + void closeEvent(QCloseEvent *event) override; + +private: + void updateUiState(); + void updateJob(); + + Ui_KJobCreator m_ui; + + QPointer<TestJob> m_job; + + QScopedPointer<KWidgetJobTracker> m_widgetTracker; + bool m_registeredWithWidgetTracker = false; + QScopedPointer<KUiServerJobTracker> m_uiServerTracker; + bool m_registeredWithUiServerTracker = false; + QScopedPointer<KUiServerV2JobTracker> m_uiServerV2Tracker; + bool m_registeredWithUiServerV2Tracker = false; +}; + +#endif // KJOBCREATOR_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kjobwidgets-5.83.0/tests/kjobcreator.ui new/kjobwidgets-5.84.0/tests/kjobcreator.ui --- old/kjobwidgets-5.83.0/tests/kjobcreator.ui 1970-01-01 01:00:00.000000000 +0100 +++ new/kjobwidgets-5.84.0/tests/kjobcreator.ui 2021-07-03 14:14:39.000000000 +0200 @@ -0,0 +1,500 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>KJobCreator</class> + <widget class="QDialog" name="KJobCreator"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>566</width> + <height>644</height> + </rect> + </property> + <property name="windowTitle"> + <string>KJobCreator</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QFormLayout" name="formLayout_2"> + <item row="0" column="0"> + <widget class="QLabel" name="label_10"> + <property name="text"> + <string>Desktop Entry</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="desktopEntry"/> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>DestUrl</string> + </property> + </widget> + </item> + <item row="2" column="1"> + <widget class="QLineEdit" name="destUrl"/> + </item> + <item row="4" column="0"> + <widget class="QLineEdit" name="descriptionLabel1"> + <property name="text"> + <string/> + </property> + <property name="placeholderText"> + <string>Label 1</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QLineEdit" name="descriptionValue1"> + <property name="placeholderText"> + <string>Description 1</string> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QLineEdit" name="descriptionLabel2"> + <property name="placeholderText"> + <string>Label 2</string> + </property> + </widget> + </item> + <item row="5" column="1"> + <widget class="QLineEdit" name="descriptionValue2"> + <property name="placeholderText"> + <string>Description 2</string> + </property> + </widget> + </item> + <item row="6" column="1"> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="emitDescriptionButton"> + <property name="text"> + <string>Emit &Description</string> + </property> + </widget> + </item> + </layout> + </item> + <item row="8" column="0"> + <widget class="QLabel" name="label_8"> + <property name="text"> + <string>Percent</string> + </property> + </widget> + </item> + <item row="8" column="1"> + <widget class="QSlider" name="percent"> + <property name="maximum"> + <number>100</number> + </property> + <property name="tracking"> + <bool>false</bool> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="tickInterval"> + <number>1</number> + </property> + </widget> + </item> + <item row="9" column="0"> + <widget class="QLabel" name="label"> + <property name="text"> + <string>Bytes</string> + </property> + </widget> + </item> + <item row="9" column="1"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QDoubleSpinBox" name="processedBytes"> + <property name="suffix"> + <string> MiB</string> + </property> + <property name="decimals"> + <number>6</number> + </property> + <property name="minimum"> + <double>-1.000000000000000</double> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="bytesOfLabel"> + <property name="text"> + <string>of</string> + </property> + </widget> + </item> + <item> + <widget class="QDoubleSpinBox" name="totalBytes"> + <property name="suffix"> + <string> MiB</string> + </property> + <property name="decimals"> + <number>6</number> + </property> + <property name="minimum"> + <double>-1.000000000000000</double> + </property> + </widget> + </item> + </layout> + </item> + <item row="14" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Speed</string> + </property> + </widget> + </item> + <item row="14" column="1"> + <widget class="QDoubleSpinBox" name="speed"> + <property name="suffix"> + <string> MiB/s</string> + </property> + <property name="decimals"> + <number>6</number> + </property> + </widget> + </item> + <item row="15" column="0"> + <widget class="QLabel" name="label_5"> + <property name="text"> + <string>Info Message</string> + </property> + </widget> + </item> + <item row="15" column="1"> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <widget class="QLineEdit" name="infoMessage"/> + </item> + <item> + <widget class="QPushButton" name="emitInfoMessage"> + <property name="text"> + <string>Emit</string> + </property> + </widget> + </item> + </layout> + </item> + <item row="17" column="0"> + <widget class="QLabel" name="label_7"> + <property name="text"> + <string>Error</string> + </property> + </widget> + </item> + <item row="17" column="1"> + <layout class="QHBoxLayout" name="horizontalLayout_7"> + <item> + <widget class="QComboBox" name="errorCombo"> + <item> + <property name="text"> + <string>No Error</string> + </property> + </item> + <item> + <property name="text"> + <string>User Canceled</string> + </property> + </item> + <item> + <property name="text"> + <string>Error</string> + </property> + </item> + </widget> + </item> + <item> + <widget class="QLineEdit" name="errorText"> + <property name="placeholderText"> + <string>Error message</string> + </property> + </widget> + </item> + </layout> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Title</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QLineEdit" name="title"> + <property name="text"> + <string>Test Job</string> + </property> + </widget> + </item> + <item row="11" column="1"> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QSpinBox" name="processedFiles"/> + </item> + <item> + <widget class="QLabel" name="filesOfLabel"> + <property name="text"> + <string>of</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="totalFiles"/> + </item> + </layout> + </item> + <item row="11" column="0"> + <widget class="QLabel" name="label_9"> + <property name="text"> + <string>Files</string> + </property> + </widget> + </item> + <item row="18" column="1"> + <layout class="QHBoxLayout" name="horizontalLayout_8"> + <item> + <widget class="QCheckBox" name="suspendableCheck"> + <property name="text"> + <string>Suspendable</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="killableCheck"> + <property name="text"> + <string>Killable</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="immediateCheck"> + <property name="text"> + <string>Immediate</string> + </property> + </widget> + </item> + </layout> + </item> + <item row="12" column="0"> + <widget class="QLabel" name="label_11"> + <property name="text"> + <string>Directories</string> + </property> + </widget> + </item> + <item row="13" column="0"> + <widget class="QLabel" name="label_12"> + <property name="text"> + <string>Items</string> + </property> + </widget> + </item> + <item row="12" column="1"> + <layout class="QHBoxLayout" name="horizontalLayout_9"> + <item> + <widget class="QSpinBox" name="processedDirectories"/> + </item> + <item> + <widget class="QLabel" name="directoriesOfLabel"> + <property name="text"> + <string>of</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="totalDirectories"/> + </item> + </layout> + </item> + <item row="13" column="1"> + <layout class="QHBoxLayout" name="horizontalLayout_10"> + <item> + <widget class="QSpinBox" name="processedItems"/> + </item> + <item> + <widget class="QLabel" name="itemsOfLabel"> + <property name="text"> + <string>of</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="totalItems"/> + </item> + </layout> + </item> + </layout> + </item> + <item> + <widget class="QFrame" name="frame_2"> + <property name="frameShape"> + <enum>QFrame::HLine</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>Register with</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="registerKWidgetJobTracker"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>KWidgetJobTracker</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="registerKUIServerJobTracker"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>KUIServerJobTracker</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="registerKUIServerV2JobTracker"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>KUIServerV2JobTracke&r</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + <item> + <widget class="QFrame" name="frame"> + <property name="frameShape"> + <enum>QFrame::HLine</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <item> + <spacer name="horizontalSpacer_3"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="createButton"> + <property name="text"> + <string>&Create</string> + </property> + <property name="default"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="startButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>&Start</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="suspendButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>Sus&pend</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="killButton"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="text"> + <string>&Kill</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="finishButton"> + <property name="text"> + <string>Finish</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui>