In data domenica 01 febbraio 2015 14:59:46, Rob ha scritto: > Are there any plans to make Krusader compatible with Konsole and Kate in > Plasma 5? Currently I have to have some old libraries available so that > things such as the Actions menu work correctly.
I tried to write some patches for a Plasma 5 port. I managed to compile and link the kio_iso plugin, which no more depends on QT4/KDE4. ATM, cmakes are generated with manual commands (I'm not very skilled in cmake language) and rely on and hybrid system; I think this is a temporary workaround until QT4 and KDE4 are completely removed. Those patches apply on top of git krusader, I haven't tried with 2.4.0. As you can see in patch #2, most of the work is to change the header files name/path and rewrite some function prototype. ATM, I don't want to change the code to remove deprecated functions/object. I've tried with Slackware-current, I don't about a Linux distro fully focused on Plasma. Hope this could help. Dave ---- >From 189027037f5e6bf3d344bace9f6c5ff3ab29310d Mon Sep 17 00:00:00 2001 From: Davide Gianforte <[email protected]> Date: Sun, 8 Feb 2015 03:00:54 +0100 Subject: [PATCH 1/2] Trying to port to Qt5/KF5 - CMake edits Cmake successfly executed with a lot of warning --- CMakeLists.txt | 54 ++++++++++++++++++++++++++++++++---- doc/CMakeLists.txt | 4 +-- iso/CMakeLists.txt | 2 +- krArc/CMakeLists.txt | 4 +-- krusader/ActionMan/CMakeLists.txt | 4 +-- krusader/BookMan/CMakeLists.txt | 2 +- krusader/CMakeLists.txt | 17 ++++++++---- krusader/Dialogs/CMakeLists.txt | 2 +- krusader/DiskUsage/CMakeLists.txt | 2 +- krusader/Filter/CMakeLists.txt | 2 +- krusader/GUI/CMakeLists.txt | 2 +- krusader/KViewer/CMakeLists.txt | 2 +- krusader/Konfigurator/CMakeLists.txt | 2 +- krusader/Locate/CMakeLists.txt | 2 +- krusader/MountMan/CMakeLists.txt | 2 +- krusader/Panel/CMakeLists.txt | 2 +- krusader/Queue/CMakeLists.txt | 2 +- krusader/Search/CMakeLists.txt | 2 +- krusader/Splitter/CMakeLists.txt | 2 +- krusader/Synchronizer/CMakeLists.txt | 2 +- krusader/UserAction/CMakeLists.txt | 2 +- krusader/UserMenu/CMakeLists.txt | 2 +- krusader/VFS/CMakeLists.txt | 2 +- pics/CMakeLists.txt | 2 +- pics/kde3/CMakeLists.txt | 2 +- 25 files changed, 87 insertions(+), 36 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 96175bd..ade43ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,13 +1,55 @@ project(krusader) -INCLUDE(CPack) +cmake_minimum_required (VERSION 2.8.12 FATAL_ERROR) +set (QT_MIN_VERSION "5.2.0") set(VERSION "2.4.0-beta3" ) set(RELEASE_NAME "Single Step") -find_package(KDE4 REQUIRED) -include(KDE4Defaults) -include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ) +find_package(ECM 1.1.0 REQUIRED NO_MODULE) +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) +include(ECMOptionalAddSubdirectory) +include(ECMInstallIcons) +include(ECMSetupVersion) +include(ECMMarkNonGuiExecutable) +include(ECMGenerateHeaders) +include(GenerateExportHeader) + +include(CMakePackageConfigHelpers) +include(FeatureSummary) +include(WriteBasicConfigVersionFile) +include(CheckFunctionExists) + +include(KDEInstallDirs) +include(KDECMakeSettings) +include(KDECompilerSettings) + +# TODO Qt5 +find_package(Qt5 CONFIG REQUIRED + Core + DBus + Widgets + Script + Sql + Test + Xml +) + +# TODO KF5 port (KDE4 -> KF5Config) +find_package(KF5 REQUIRED COMPONENTS + Archive + Config + DocTools + KDELibs4Support + Parts +) + +# TODO KF5 port (removed) +#include(KDE4Defaults) +#find_package(KF5KDELibs4Support) + +# TODO KF5 port (removed) +#include_directories( ${KDE4_INCLUDES} ${KDE4_INCLUDE_DIR} ${QT_INCLUDES} ) set(CMAKE_VERBOSE_MAKEFILE OFF) @@ -19,7 +61,7 @@ if(ENABLE_SYNCHRONIZER) add_definitions( "-DENABLE_SYNCHRONIZER" ) endif(ENABLE_SYNCHRONIZER) -find_package(ACL) +#find_package(ACL) if(ACL_FOUND) add_definitions(-DHAVE_POSIX_ACL) endif(ACL_FOUND) @@ -33,3 +75,5 @@ add_subdirectory(krArc) add_subdirectory(iso) add_subdirectory(doc) #add_subdirectory(virt) - not used + +feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 7ce50ea..61a0a79 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,6 +1,6 @@ ########### install files ############### -kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR krusader) -kde4_create_manpage(man-krusader.1.docbook 1 INSTALL_DESTINATION ${MAN_INSTALL_DIR}) +kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en SUBDIR krusader) +kdoctools_create_manpage(man-krusader.1.docbook 1 INSTALL_DESTINATION ${MAN_INSTALL_DIR}) diff --git a/iso/CMakeLists.txt b/iso/CMakeLists.txt index f3553e5..dc912ba 100644 --- a/iso/CMakeLists.txt +++ b/iso/CMakeLists.txt @@ -11,7 +11,7 @@ set(kio_iso_PART_SRCS kiso.cpp iso.cpp) -kde4_add_plugin(kio_iso ${kio_iso_PART_SRCS} ${libisofs_SRCS}) +add_library(kio_iso ${kio_iso_PART_SRCS} ${libisofs_SRCS}) target_link_libraries(kio_iso ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ${ZLIB_LIBRARY}) diff --git a/krArc/CMakeLists.txt b/krArc/CMakeLists.txt index e72e09e..d8ea76e 100644 --- a/krArc/CMakeLists.txt +++ b/krArc/CMakeLists.txt @@ -2,9 +2,9 @@ include_directories( ${KDE4_INCLUDE_DIR} ${QT_INCLUDES}) set(kio_krarc_PART_SRCS krarc.cpp) -kde4_add_plugin(kio_krarc ${kio_krarc_PART_SRCS}) +add_library(kio_krarc ${kio_krarc_PART_SRCS}) target_link_libraries(kio_krarc ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS}) install(TARGETS kio_krarc DESTINATION ${PLUGIN_INSTALL_DIR}) -install( FILES krarc.protocol DESTINATION ${SERVICES_INSTALL_DIR} ) +install(FILES krarc.protocol DESTINATION ${SERVICES_INSTALL_DIR} ) diff --git a/krusader/ActionMan/CMakeLists.txt b/krusader/ActionMan/CMakeLists.txt index d302541..d0feff8 100644 --- a/krusader/ActionMan/CMakeLists.txt +++ b/krusader/ActionMan/CMakeLists.txt @@ -5,6 +5,6 @@ set(ActionMan_SRCS useractionlistview.cpp useractionpage.cpp) -kde4_add_ui_files(ActionMan_SRCS actionproperty.ui) +qt5_wrap_ui(ActionMan_SRCS actionproperty.ui) -kde4_add_library(ActionMan STATIC ${ActionMan_SRCS}) +add_library(ActionMan STATIC ${ActionMan_SRCS}) diff --git a/krusader/BookMan/CMakeLists.txt b/krusader/BookMan/CMakeLists.txt index 5049b7a..268ebd4 100644 --- a/krusader/BookMan/CMakeLists.txt +++ b/krusader/BookMan/CMakeLists.txt @@ -4,4 +4,4 @@ set(BookMan_SRCS krbookmarkhandler.cpp kraddbookmarkdlg.cpp) -kde4_add_library(BookMan STATIC ${BookMan_SRCS}) +add_library(BookMan STATIC ${BookMan_SRCS}) diff --git a/krusader/CMakeLists.txt b/krusader/CMakeLists.txt index 247e869..0e13edb 100644 --- a/krusader/CMakeLists.txt +++ b/krusader/CMakeLists.txt @@ -1,4 +1,7 @@ -include_directories(${KDE4_INCLUDES}) +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/session +) configure_file(krusaderversion.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/krusaderversion.h) @@ -54,11 +57,13 @@ set(krusader_SRCS krusaderapp.cpp krtrashhandler.cpp) -kde4_add_app_icon(krusader_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/hi*-app-krusader_user.png") +# TODO KF5 port +#kde4_add_app_icon(krusader_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/hi*-app-krusader_user.png") -qt4_add_resources(krusader_RC_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/resources.qrc" ) +# TODO KF5 port +#qt4_add_resources(krusader_RC_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/resources.qrc" ) -kde4_add_executable(krusader ${krusader_SRCS} ${krusader_RC_SRCS}) +add_executable(krusader ${krusader_SRCS} ${krusader_RC_SRCS}) target_link_libraries(krusader Panel @@ -111,4 +116,6 @@ install(FILES krusaderui.rc splash.png DESTINATION ${DATA_INSTALL_DIR}/krusader) -kde4_install_icons( ${ICON_INSTALL_DIR} ) + +# TODO KF5 port (change to ecm_install_icons) +#kde4_install_icons( ${ICON_INSTALL_DIR} ) diff --git a/krusader/Dialogs/CMakeLists.txt b/krusader/Dialogs/CMakeLists.txt index d1c9ce6..f107d6d 100644 --- a/krusader/Dialogs/CMakeLists.txt +++ b/krusader/Dialogs/CMakeLists.txt @@ -14,4 +14,4 @@ set(Dialogs_SRCS percentalsplitter.cpp krkeydialog.cpp) -kde4_add_library(Dialogs STATIC ${Dialogs_SRCS}) +add_library(Dialogs STATIC ${Dialogs_SRCS}) diff --git a/krusader/DiskUsage/CMakeLists.txt b/krusader/DiskUsage/CMakeLists.txt index 315395b..ebfb8dd 100644 --- a/krusader/DiskUsage/CMakeLists.txt +++ b/krusader/DiskUsage/CMakeLists.txt @@ -10,4 +10,4 @@ set(DiskUsage_SRCS dulines.cpp dufilelight.cpp ) -kde4_add_library(DiskUsage STATIC ${DiskUsage_SRCS} ${radialMap_SRCS} ${filelightParts_SRCS}) +add_library(DiskUsage STATIC ${DiskUsage_SRCS} ${radialMap_SRCS} ${filelightParts_SRCS}) diff --git a/krusader/Filter/CMakeLists.txt b/krusader/Filter/CMakeLists.txt index 5793fe4..cee17ec 100644 --- a/krusader/Filter/CMakeLists.txt +++ b/krusader/Filter/CMakeLists.txt @@ -5,6 +5,6 @@ set(Filter_SRCS filtertabs.cpp filterdialog.cpp) -kde4_add_library(Filter STATIC ${Filter_SRCS}) +add_library(Filter STATIC ${Filter_SRCS}) target_link_libraries(Filter Dialogs) diff --git a/krusader/GUI/CMakeLists.txt b/krusader/GUI/CMakeLists.txt index c6a84b1..f8833d2 100644 --- a/krusader/GUI/CMakeLists.txt +++ b/krusader/GUI/CMakeLists.txt @@ -13,4 +13,4 @@ set(GUI_SRCS kcmdmodebutton.cpp terminaldock.cpp) -kde4_add_library(GUI STATIC ${GUI_SRCS}) +add_library(GUI STATIC ${GUI_SRCS}) diff --git a/krusader/KViewer/CMakeLists.txt b/krusader/KViewer/CMakeLists.txt index 739cc87..113ad57 100644 --- a/krusader/KViewer/CMakeLists.txt +++ b/krusader/KViewer/CMakeLists.txt @@ -5,4 +5,4 @@ set(KViewer_SRCS diskusageviewer.cpp lister.cpp) -kde4_add_library(KViewer STATIC ${KViewer_SRCS}) +add_library(KViewer STATIC ${KViewer_SRCS}) diff --git a/krusader/Konfigurator/CMakeLists.txt b/krusader/Konfigurator/CMakeLists.txt index 6c8d96c..847d1b2 100644 --- a/krusader/Konfigurator/CMakeLists.txt +++ b/krusader/Konfigurator/CMakeLists.txt @@ -15,4 +15,4 @@ set(Konfigurator_SRCS krresulttabledialog.cpp searchobject.cpp) -kde4_add_library(Konfigurator STATIC ${Konfigurator_SRCS}) +add_library(Konfigurator STATIC ${Konfigurator_SRCS}) diff --git a/krusader/Locate/CMakeLists.txt b/krusader/Locate/CMakeLists.txt index 52eddbd..09384d3 100644 --- a/krusader/Locate/CMakeLists.txt +++ b/krusader/Locate/CMakeLists.txt @@ -1,4 +1,4 @@ set(Locate_SRCS locate.cpp) -kde4_add_library(Locate STATIC ${Locate_SRCS}) +add_library(Locate STATIC ${Locate_SRCS}) diff --git a/krusader/MountMan/CMakeLists.txt b/krusader/MountMan/CMakeLists.txt index f6dbbbb..b048c2e 100644 --- a/krusader/MountMan/CMakeLists.txt +++ b/krusader/MountMan/CMakeLists.txt @@ -2,6 +2,6 @@ set(MountMan_SRCS kmountmangui.cpp kmountman.cpp) -kde4_add_library(MountMan STATIC ${MountMan_SRCS}) +add_library(MountMan STATIC ${MountMan_SRCS}) target_link_libraries(MountMan Dialogs) diff --git a/krusader/Panel/CMakeLists.txt b/krusader/Panel/CMakeLists.txt index b1c90cb..7c25cc1 100644 --- a/krusader/Panel/CMakeLists.txt +++ b/krusader/Panel/CMakeLists.txt @@ -30,7 +30,7 @@ set(Panel_SRCS krviewfactory.cpp krmousehandler.cpp) -kde4_add_library(Panel STATIC ${Panel_SRCS}) +add_library(Panel STATIC ${Panel_SRCS}) target_link_libraries(Panel Dialogs GUI KViewer ${KDE4_KFILE_LIBS} ) diff --git a/krusader/Queue/CMakeLists.txt b/krusader/Queue/CMakeLists.txt index 6df1019..ab24b63 100644 --- a/krusader/Queue/CMakeLists.txt +++ b/krusader/Queue/CMakeLists.txt @@ -4,4 +4,4 @@ set(Queue_SRCS queuewidget.cpp queuedialog.cpp) -kde4_add_library(Queue STATIC ${Queue_SRCS}) +add_library(Queue STATIC ${Queue_SRCS}) diff --git a/krusader/Search/CMakeLists.txt b/krusader/Search/CMakeLists.txt index f0e8917..79c9d9b 100644 --- a/krusader/Search/CMakeLists.txt +++ b/krusader/Search/CMakeLists.txt @@ -2,6 +2,6 @@ set(Search_SRCS krsearchmod.cpp krsearchdialog.cpp) -kde4_add_library(Search STATIC ${Search_SRCS}) +add_library(Search STATIC ${Search_SRCS}) target_link_libraries(Search Dialogs) diff --git a/krusader/Splitter/CMakeLists.txt b/krusader/Splitter/CMakeLists.txt index a817798..50ef2e2 100644 --- a/krusader/Splitter/CMakeLists.txt +++ b/krusader/Splitter/CMakeLists.txt @@ -4,4 +4,4 @@ set(Splitter_SRCS splitter.cpp combiner.cpp) -kde4_add_library(Splitter STATIC ${Splitter_SRCS}) +add_library(Splitter STATIC ${Splitter_SRCS}) diff --git a/krusader/Synchronizer/CMakeLists.txt b/krusader/Synchronizer/CMakeLists.txt index cfef779..5ba2572 100644 --- a/krusader/Synchronizer/CMakeLists.txt +++ b/krusader/Synchronizer/CMakeLists.txt @@ -6,6 +6,6 @@ set(Synchronizer_SRCS synchronizertask.cpp synchronizerdirlist.cpp) -kde4_add_library(Synchronizer STATIC ${Synchronizer_SRCS}) +add_library(Synchronizer STATIC ${Synchronizer_SRCS}) target_link_libraries(Synchronizer Dialogs) diff --git a/krusader/UserAction/CMakeLists.txt b/krusader/UserAction/CMakeLists.txt index 7dbecab..9b60a44 100644 --- a/krusader/UserAction/CMakeLists.txt +++ b/krusader/UserAction/CMakeLists.txt @@ -5,4 +5,4 @@ set(UserAction_SRCS kractionbase.cpp useraction.cpp) -kde4_add_library(UserAction STATIC ${UserAction_SRCS}) +add_library(UserAction STATIC ${UserAction_SRCS}) diff --git a/krusader/UserMenu/CMakeLists.txt b/krusader/UserMenu/CMakeLists.txt index 06b7987..41f0d78 100644 --- a/krusader/UserMenu/CMakeLists.txt +++ b/krusader/UserMenu/CMakeLists.txt @@ -1,4 +1,4 @@ set(UserMenu_SRCS usermenu.cpp) -kde4_add_library(UserMenu STATIC ${UserMenu_SRCS}) +add_library(UserMenu STATIC ${UserMenu_SRCS}) diff --git a/krusader/VFS/CMakeLists.txt b/krusader/VFS/CMakeLists.txt index 1c295a9..cf94fc6 100644 --- a/krusader/VFS/CMakeLists.txt +++ b/krusader/VFS/CMakeLists.txt @@ -15,7 +15,7 @@ set(VFS_SRCS packjob.cpp abstractthreadedjob.cpp) -kde4_add_library(VFS STATIC ${VFS_SRCS}) +add_library(VFS STATIC ${VFS_SRCS}) if(ACL_FOUND) target_link_libraries(VFS ${ACL_LIBS}) endif(ACL_FOUND) diff --git a/pics/CMakeLists.txt b/pics/CMakeLists.txt index 6b44c71..e663a8d 100644 --- a/pics/CMakeLists.txt +++ b/pics/CMakeLists.txt @@ -1,5 +1,5 @@ add_subdirectory(kde3) -kde4_install_icons(${DATA_INSTALL_DIR}/krusader/icons) +#ecm_install_icons(${DATA_INSTALL_DIR}/krusader/icons) #install(FILES DESTINATION ${DATA_INSTALL_DIR}/krusader/icons) diff --git a/pics/kde3/CMakeLists.txt b/pics/kde3/CMakeLists.txt index 6d01d36..237b60d 100644 --- a/pics/kde3/CMakeLists.txt +++ b/pics/kde3/CMakeLists.txt @@ -1 +1 @@ -kde4_install_icons(${DATA_INSTALL_DIR}/krusader/icons) +#ecm_install_icons(${DATA_INSTALL_DIR}/krusader/icons) -- 2.2.1 >From 8b208d4685f7a7cf08d7dd46242cb3c93e473b05 Mon Sep 17 00:00:00 2001 From: Davide Gianforte <[email protected]> Date: Mon, 9 Feb 2015 02:22:01 +0100 Subject: [PATCH 2/2] Finished iso porting. libkio_iso.so is successfully compiled and it's not linked against Qt4/KDE4. --- iso/CMakeLists.txt | 2 +- iso/iso.cpp | 22 +++++++++++----------- iso/iso.h | 1 + iso/kiso.cpp | 22 ++++++++++++---------- iso/kiso.h | 6 +++--- iso/kisodirectory.cpp | 6 +++++- iso/kisodirectory.h | 7 +++++-- iso/kisofile.cpp | 2 +- iso/kisofile.h | 2 +- 9 files changed, 40 insertions(+), 30 deletions(-) diff --git a/iso/CMakeLists.txt b/iso/CMakeLists.txt index dc912ba..6ddc944 100644 --- a/iso/CMakeLists.txt +++ b/iso/CMakeLists.txt @@ -13,7 +13,7 @@ set(kio_iso_PART_SRCS add_library(kio_iso ${kio_iso_PART_SRCS} ${libisofs_SRCS}) -target_link_libraries(kio_iso ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ${ZLIB_LIBRARY}) +target_link_libraries(kio_iso KF5::Archive KF5::KDELibs4Support ${KDE4_KDECORE_LIBS} ${KDE4_KIO_LIBS} ${ZLIB_LIBRARY}) install(TARGETS kio_iso DESTINATION ${PLUGIN_INSTALL_DIR}) install(FILES iso.protocol DESTINATION ${SERVICES_INSTALL_DIR}) diff --git a/iso/iso.cpp b/iso/iso.cpp index 0c21e9b..1851681 100644 --- a/iso/iso.cpp +++ b/iso/iso.cpp @@ -32,11 +32,11 @@ #include <QtCore/QDir> #include <QtCore/QByteArray> -#include <kde_file.h> -#include <KUrl> -#include <KDebug> -#include <KComponentData> -#include <KMimeType> +#include <KDELibs4Support/kde_file.h> +#include <KDELibs4Support/kurl.h> +#include <KDELibs4Support/kdebug.h> +#include <KDELibs4Support/kcomponentdata.h> +#include <KDELibs4Support/kmimetype.h> #include "libisofs/iso_fs.h" #include "kiso.h" @@ -47,7 +47,7 @@ using namespace KIO; extern "C" { - int KDE_EXPORT kdemain(int argc, char **argv) { + int /*KDE_EXPORT*/ kdemain(int argc, char **argv) { KComponentData instance("kio_iso", "krusader"); kDebug() << "Starting " << getpid() << endl; @@ -198,7 +198,7 @@ void kio_isoProtocol::createUDSEntry(const KArchiveEntry * isoEntry, UDSEntry & entry.insert(UDSEntry::UDS_USER, isoEntry->user()); entry.insert(UDSEntry::UDS_GROUP, isoEntry->group()); - entry.insert(UDSEntry::UDS_MODIFICATION_TIME, isoEntry->date()); + entry.insert((uint)UDSEntry::UDS_MODIFICATION_TIME, isoEntry->date().toTime_t()); entry.insert(UDSEntry::UDS_ACCESS_TIME, isoEntry->isFile() ? ((KIsoFile *)isoEntry)->adate() : ((KIsoDirectory *)isoEntry)->adate()); @@ -439,10 +439,10 @@ void kio_isoProtocol::getFile(const KIsoFile *isoFileEntry, const QString &path) if (fileData.size() == 0) break; } if (!mime) { - KSharedPtr<KMimeType> result = KMimeType::findByNameAndContent(path, fileData); - if (result) { - kDebug() << "Emitting mimetype " << result->name() << endl; - mimeType(result->name()); + //KSharedPtr<KMimeType> result = KMimeType::findByNameAndContent(path, fileData); + if (KMimeType::findByNameAndContent(path, fileData)) { + kDebug() << "Emitting mimetype " << KMimeType::findByNameAndContent(path, fileData)->name() << endl; + mimeType(KMimeType::findByNameAndContent(path, fileData)->name()); mime = true; } } diff --git a/iso/iso.h b/iso/iso.h index 311412e..b075254 100644 --- a/iso/iso.h +++ b/iso/iso.h @@ -23,6 +23,7 @@ #define ISO_H #include <QByteArray> +#include <KDELibs4Support/kurl.h> #include <kio/slavebase.h> #include <sys/types.h> diff --git a/iso/kiso.cpp b/iso/kiso.cpp index 0319dc0..5c3d633 100644 --- a/iso/kiso.cpp +++ b/iso/kiso.cpp @@ -36,8 +36,9 @@ #include <kde_file.h> #include <KDebug> -#include <KUrl> -#include <KMimeType> +#include <KDELibs4Support/kurl.h> +#include <KDELibs4Support/kmimetype.h> +#include <KDELibs4Support/ksharedptr.h> #include <KConfig> #include <KConfigGroup> #include <KFilterBase> @@ -119,9 +120,9 @@ KIso::KIso(const QString& filename, const QString & _mimetype) QString mimetype(_mimetype); bool forced = true; if (mimetype.isEmpty()) { - KSharedPtr<KMimeType> result = KMimeType::findByFileContent(filename); - if (result) - mimetype = result->name(); + //KSharedPtr<KMimeType> result = KMimeType::findByFileContent(filename); + if (KMimeType::findByFileContent(filename)) + mimetype = KMimeType::findByFileContent(filename)->name(); kDebug() << "KIso::KIso mimetype=" << mimetype << endl; @@ -306,10 +307,11 @@ void KIso::addBoot(struct el_torito_boot_descriptor* bootdesc) QString path; KIsoFile *entry; - entry = new KIsoFile(this, "Catalog", dirent->permissions() & ~S_IFDIR, + path = "Catalog"; + entry = new KIsoFile(this, path, dirent->permissions() & ~S_IFDIR, dirent->date(), dirent->adate(), dirent->cdate(), dirent->user(), dirent->group(), QString(), - (long long)isonum_731(bootdesc->boot_catalog) << (long long)11, 2048); + (long long)isonum_731(bootdesc->boot_catalog) << (long long)11, (long long)2048); dirent->addEntry(entry); if (!ReadBootTable(&readf, isonum_731(bootdesc->boot_catalog), &boot, this)) { i = 1; @@ -471,17 +473,17 @@ bool KIso::writeSymLink(const QString &, const QString &, const QString &, const return false; } -bool KIso::doWriteDir(const QString&, const QString&, const QString&, mode_t, time_t, time_t, time_t) +bool KIso::doWriteDir(const QString&, const QString&, const QString&, mode_t, const QDateTime &atime, const QDateTime &mtime, const QDateTime &ctime) { return false; } -bool KIso::doWriteSymLink(const QString &, const QString &, const QString &, const QString &, mode_t, time_t, time_t, time_t) +bool KIso::doWriteSymLink(const QString &, const QString &, const QString &, const QString &, mode_t, const QDateTime &atime, const QDateTime &mtime, const QDateTime &ctime) { return false; } -bool KIso::doPrepareWriting(const QString& , const QString& , const QString& , qint64, mode_t, time_t, time_t, time_t) +bool KIso::doPrepareWriting(const QString& , const QString& , const QString& , qint64, mode_t, const QDateTime &atime, const QDateTime &mtime, const QDateTime &ctime) { return false; } diff --git a/iso/kiso.h b/iso/kiso.h index dd66820..7aafb39 100644 --- a/iso/kiso.h +++ b/iso/kiso.h @@ -96,9 +96,9 @@ protected: void readParams(); virtual bool openArchive(QIODevice::OpenMode mode); virtual bool closeArchive(); - virtual bool doWriteDir(const QString&, const QString&, const QString&, mode_t, time_t, time_t, time_t); - virtual bool doWriteSymLink(const QString &, const QString &, const QString &, const QString &, mode_t, time_t, time_t, time_t); - virtual bool doPrepareWriting(const QString& , const QString& , const QString& , qint64, mode_t, time_t, time_t, time_t); + virtual bool doWriteDir(const QString&, const QString&, const QString&, mode_t, const QDateTime &, const QDateTime &, const QDateTime &); + virtual bool doWriteSymLink(const QString &, const QString &, const QString &, const QString &, mode_t, const QDateTime &, const QDateTime &, const QDateTime &); + virtual bool doPrepareWriting(const QString& , const QString& , const QString& , qint64, mode_t, const QDateTime &, const QDateTime &, const QDateTime &); virtual bool doFinishWriting(qint64); private: diff --git a/iso/kisodirectory.cpp b/iso/kisodirectory.cpp index 6a147f6..45bc5fa 100644 --- a/iso/kisodirectory.cpp +++ b/iso/kisodirectory.cpp @@ -21,7 +21,11 @@ KIsoDirectory::KIsoDirectory(KArchive* archive, const QString& name, int access, int date, int adate, int cdate, const QString& user, const QString& group, const QString& symlink) : - KArchiveDirectory(archive, name, access, date, user, group, symlink) + KArchiveDirectory(archive, name, access, QDateTime::fromTime_t(date), user, group, symlink) + +// KArchiveDirectory(KArchive *archive, const QString &name, int access, const QDateTime &date, +// const QString &user, const QString &group, +// const QString &symlink); { diff --git a/iso/kisodirectory.h b/iso/kisodirectory.h index ce6e059..ce33b73 100644 --- a/iso/kisodirectory.h +++ b/iso/kisodirectory.h @@ -20,7 +20,7 @@ #define KISODIRECTORY_H #include <QtCore/QString> -#include <karchive.h> +#include <KArchive/KArchive> class KIsoDirectory : public KArchiveDirectory { @@ -29,6 +29,9 @@ public: int adate, int cdate, const QString& user, const QString& group, const QString& symlink); ~KIsoDirectory(); + int date() const { + return m_date; + } int adate() const { return m_adate; } @@ -36,7 +39,7 @@ public: return m_cdate; } private: - int m_adate, m_cdate; + int m_date, m_adate, m_cdate; }; #endif diff --git a/iso/kisofile.cpp b/iso/kisofile.cpp index a14ca8c..47be706 100644 --- a/iso/kisofile.cpp +++ b/iso/kisofile.cpp @@ -22,7 +22,7 @@ KIsoFile::KIsoFile(KArchive* archive, const QString& name, int access, int date, int adate, int cdate, const QString& user, const QString& group, const QString& symlink, long long pos, long long size) : - KArchiveFile(archive, name, access, date, user, group, symlink, pos, size) + KArchiveFile(archive, name, access, QDateTime::fromTime_t(date), user, group, symlink, pos, size) { diff --git a/iso/kisofile.h b/iso/kisofile.h index 8382aff..907bae8 100644 --- a/iso/kisofile.h +++ b/iso/kisofile.h @@ -20,7 +20,7 @@ #define KISOFILE_H #include <QtCore/QString> -#include <karchive.h> +#include <KArchive/KArchive> class KIsoFile : public KArchiveFile { -- 2.2.1 -- You received this message because you are subscribed to the Google Groups "krusader-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/krusader-users/1438993.INXmH6X3Ub%40mayhem. For more options, visit https://groups.google.com/d/optout.
