diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,13 +10,16 @@ set(PROJECT_VERSION "16.07.0") set(KF5_DEP_VERSION "5.24.0") # handled by release scripts +set(REQUIRED_QT_VERSION "5.9.0") + +find_package(Qt5 ${REQUIRED_QT_VERSION} REQUIRED COMPONENTS Core Widgets) find_package(KF5 ${KF5_DEP_VERSION} REQUIRED COMPONENTS Config - KDELibs4Support I18n DocTools KIO + KCMUtils ) find_package(KF5Cddb) set_package_properties(KF5Cddb PROPERTIES @@ -96,7 +99,8 @@ add_library(kio_audiocd ${kio_audiocd_PART_SRCS}) target_link_libraries(kio_audiocd - ${CDPARANOIA_LIBRARIES} + ${CDPARANOIA_LIBRARIES} + Qt5::Widgets KF5::CompactDisc audiocdplugins ) diff --git a/audiocd.cpp b/audiocd.cpp --- a/audiocd.cpp +++ b/audiocd.cpp @@ -52,18 +52,20 @@ #include #include -#include +#include +#include #include #include #include -#include -#include -#include "audiocd_kio_debug.h" -#include -#include -#include #include +#include +#include + +#include "audiocd_kio_debug.h" + #include +#include + // CDDB #include #include @@ -74,32 +76,29 @@ using namespace AudioCD; -int kdemain(int argc, char ** argv) +extern "C" Q_DECL_EXPORT int kdemain(int argc, char **argv) { - KLocalizedString::setApplicationDomain("kio_audiocd"); - // KApplication uses libkcddb which needs a valid kapp pointer - // GUIenabled must be true as libkcddb sometimes wants to communicate - // with the user - qunsetenv("SESSION_MANAGER"); - //KApplication::disableAutoDcopRegistration(); - KCmdLineArgs::init(argc, argv, "kio_audiocd", 0, KLocalizedString(), 0, KLocalizedString()); - - KCmdLineOptions options; - options.add("+protocol", ki18n("Protocol name")); - options.add("+pool", ki18n("Socket name")); - options.add("+app", ki18n("Socket name")); - KCmdLineArgs::addCmdLineOptions(options); - KApplication app(true); - - qCDebug(AUDIOCD_KIO_LOG) << "Starting " << getpid(); - - KCmdLineArgs* args = KCmdLineArgs::parsedArgs(); - AudioCDProtocol slave(args->arg(0).toLocal8Bit(), args->arg(1).toLocal8Bit(), args->arg(2).toLocal8Bit()); - args->clear(); - slave.dispatchLoop(); - - qCDebug(AUDIOCD_KIO_LOG) << "Done"; - return 0; + KLocalizedString::setApplicationDomain("kio_audiocd"); + // QApplication uses libkcddb which needs a valid kapp pointer + // GUIenabled must be true as libkcddb sometimes wants to communicate + // with the user + qunsetenv("SESSION_MANAGER"); + QApplication app(argc, argv); + app.setApplicationName(QStringLiteral("kio_audiocd")); + + if (argc != 4) { + fprintf(stderr, "Usage: kio_audiocd protocol pool app\n"); + exit(-1); + } + + qCDebug(AUDIOCD_KIO_LOG) << "Starting " << getpid(); + + AudioCDProtocol slave(argv[1], argv[2], argv[3]); + slave.dispatchLoop(); + + qCDebug(AUDIOCD_KIO_LOG) << "Done"; + + return 0; } enum Which_dir { @@ -603,7 +602,7 @@ else { AudioCDEncoder *encoder = determineEncoder(d->fname); - long firstSector, lastSector; + long firstSector = 0, lastSector = 0; getSectorsForRequest(drive, firstSector, lastSector); entry.INSERT( KIO::UDSEntry::UDS_SIZE,fileSize(firstSector, lastSector, encoder)); } @@ -648,7 +647,9 @@ foreach (const QString &deviceName, deviceNames) { const QString &device = KCompactDisc::urlToDevice(KCompactDisc::cdromDeviceUrl(deviceName)); QUrl targetUrl = url; - targetUrl.addEncodedQueryItem("device", device.toUtf8()); + QUrlQuery targetQuery; + targetQuery.addQueryItem("device", device.toUtf8()); + targetUrl.setQuery(targetQuery); app_dir(entry, device, 2+encoders.count()); entry.INSERT(KIO::UDSEntry::UDS_TARGET_URL, targetUrl.url()); entry.INSERT(KIO::UDSEntry::UDS_DISPLAY_NAME, deviceName); @@ -1012,7 +1013,7 @@ { d->clearURLargs(); - QString query(QUrl::fromPercentEncoding(url.query().toAscii())); + QString query(QUrl::fromPercentEncoding(url.query().toLatin1())); if (query.isEmpty()) return; diff --git a/kcmaudiocd/CMakeLists.txt b/kcmaudiocd/CMakeLists.txt --- a/kcmaudiocd/CMakeLists.txt +++ b/kcmaudiocd/CMakeLists.txt @@ -13,9 +13,9 @@ add_library(kcm_audiocd ${kcm_audiocd_PART_SRCS}) -target_link_libraries(kcm_audiocd +target_link_libraries(kcm_audiocd KF5::I18n - KF5::KDELibs4Support + KF5::KCMUtils audiocdplugins ) diff --git a/kcmaudiocd/audiocdconfig.ui b/kcmaudiocd/audiocdconfig.ui --- a/kcmaudiocd/audiocdconfig.ui +++ b/kcmaudiocd/audiocdconfig.ui @@ -314,7 +314,7 @@ - + @@ -436,7 +436,7 @@ - + @@ -567,7 +567,7 @@ - + %{albumtitle}/%{albumartist} @@ -704,13 +704,6 @@ - - - KLineEdit - QLineEdit -
klineedit.h
-
-
tabWidget ec_enable_check @@ -722,10 +715,6 @@ kcfg_replaceOutput example - - kcmodule.h - klineedit.h - diff --git a/kcmaudiocd/kcmaudiocd.h b/kcmaudiocd/kcmaudiocd.h --- a/kcmaudiocd/kcmaudiocd.h +++ b/kcmaudiocd/kcmaudiocd.h @@ -27,8 +27,8 @@ #define KCMAUDIOCD_H #include -#include -#include +#include +#include class KConfigDialogManager; diff --git a/kcmaudiocd/kcmaudiocd.cpp b/kcmaudiocd/kcmaudiocd.cpp --- a/kcmaudiocd/kcmaudiocd.cpp +++ b/kcmaudiocd/kcmaudiocd.cpp @@ -20,24 +20,20 @@ #include "kcmaudiocd.h" #include "audiocdplugins_version.h" -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include -#include -#include -#include -#include #include +#include +#include +#include #include -#include #include -#include -#include -#include -#include K_PLUGIN_FACTORY(Factory, registerPlugin(); diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt --- a/plugins/CMakeLists.txt +++ b/plugins/CMakeLists.txt @@ -18,7 +18,6 @@ add_library(audiocdplugins SHARED ${audiocdplugins_LIB_SRCS}) target_link_libraries(audiocdplugins - KF5::KDELibs4Support KF5::Cddb KF5::KIOCore ) diff --git a/plugins/flac/CMakeLists.txt b/plugins/flac/CMakeLists.txt --- a/plugins/flac/CMakeLists.txt +++ b/plugins/flac/CMakeLists.txt @@ -17,7 +17,8 @@ set_target_properties(audiocd_encoder_flac PROPERTIES PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}") target_link_libraries(audiocd_encoder_flac - ${FLAC_LIBRARIES} + ${FLAC_LIBRARIES} + Qt5::Widgets KF5::I18n KF5::Cddb audiocdplugins diff --git a/plugins/lame/CMakeLists.txt b/plugins/lame/CMakeLists.txt --- a/plugins/lame/CMakeLists.txt +++ b/plugins/lame/CMakeLists.txt @@ -20,6 +20,7 @@ set_target_properties(audiocd_encoder_lame PROPERTIES PREFIX "${CMAKE_SHARED_LIBRARY_PREFIX}") target_link_libraries(audiocd_encoder_lame + Qt5::Widgets KF5::I18n KF5::Cddb audiocdplugins diff --git a/plugins/lame/encoderlame.cpp b/plugins/lame/encoderlame.cpp --- a/plugins/lame/encoderlame.cpp +++ b/plugins/lame/encoderlame.cpp @@ -20,18 +20,14 @@ #include "encoderlame.h" #include "audiocd_lame_encoder.h" +#include "audiocd_kio_debug.h" #include -#include "audiocd_kio_debug.h" -#include -#include -#include -#include -#include -#include #include -#include +#include #include +#include +#include // #include "collectingprocess.h" Q_LOGGING_CATEGORY(AUDIOCD_KIO_LOG, "log_audiocd_kio") @@ -371,4 +367,3 @@ return d->lastErrorMessage; } -//#include "encoderlame.moc" diff --git a/plugins/vorbis/CMakeLists.txt b/plugins/vorbis/CMakeLists.txt --- a/plugins/vorbis/CMakeLists.txt +++ b/plugins/vorbis/CMakeLists.txt @@ -15,6 +15,7 @@ target_link_libraries(audiocd_encoder_vorbis ${OGGVORBIS_LIBRARIES} + Qt5::Widgets KF5::I18n KF5::Cddb audiocdplugins diff --git a/plugins/vorbis/encodervorbis.cpp b/plugins/vorbis/encodervorbis.cpp --- a/plugins/vorbis/encodervorbis.cpp +++ b/plugins/vorbis/encodervorbis.cpp @@ -28,11 +28,9 @@ #include #include #include -#include +#include #include #include -#include -#include extern "C" {