diff --git a/CMakeLists.txt b/CMakeLists.txt index 4bc2755..84113a8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,67 +1,62 @@ project(kio-gdrive) cmake_minimum_required(VERSION 2.8.12) include(FeatureSummary) set(PROJECT_VERSION 1.0.70) set(QT_MIN_VERSION 5.2.0) set(KF5_MIN_VERSION 5.14.0) set(KGAPI_MIN_VERSION 5.3.1) set(QTKEYCHAIN_MIN_VERSION 0.6.0) find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Gui Network Widgets) find_package(ECM 5.14.0 REQUIRED NO_MODULE) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings NO_POLICY_SCOPE) include(ECMQtDeclareLoggingCategory) include(ECMSetupVersion) find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS I18n KIO) find_package(KF5GAPI ${KGAPI_MIN_VERSION} REQUIRED) find_package(Qt5Keychain ${QTKEYCHAIN_MIN_VERSION}) set_package_properties(Qt5Keychain PROPERTIES TYPE REQUIRED URL "https://github.com/frankosterfeld/qtkeychain" PURPOSE "Required for secure storage of accounts secrets.") find_package(Qt5Test QUIET) set_package_properties(Qt5Test PROPERTIES TYPE OPTIONAL PURPOSE "Required for building tests.") if(NOT Qt5Test_FOUND) set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.") endif() ecm_setup_version(${PROJECT_VERSION} VARIABLE_PREFIX GDRIVE VERSION_HEADER gdriveversion.h) add_definitions(-DQT_NO_URL_CAST_FROM_STRING) add_definitions(-DQT_STRICT_ITERATORS) add_definitions(-DTRANSLATION_DOMAIN=\"kio5_gdrive\") add_subdirectory(autotests) - -option(DOLPHIN_INTEGRATION "Whether to install the .desktop file for Dolphin integration." ON) -if(DOLPHIN_INTEGRATION) - add_subdirectory(desktop) -endif() - +add_subdirectory(desktop) add_subdirectory(doc) add_subdirectory(src) feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/README.md b/README.md index 670466e..553ff49 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,40 @@ https://community.kde.org/KIO_GDrive Hello there, lonely wanderer and welcome to the magical land of Google Drive! INSTALLATION ============ $ git clone git://anongit.kde.org/kio-gdrive.git $ cd kio-gdrive $ mkdir build && cd build $ cmake -DCMAKE_INSTALL_PREFIX=/usr .. $ sudo make install $ kdeinit5 # or just re-login -Now you are ready to use the slave. Either click on "Google Drive File Manager" -in the application launcher (which will open Dolphin with the `gdrive:/` URL) or run: +Now you are ready to use the slave. Either click the "Network" button in Dolphin or run: $ kioclient5 exec gdrive:/ KNOWN ISSUES ============ GDocs file don't have file size Not our fault, Google Drive API simply does not return filesize of these files. I think it's because they are in the Google Docs format, so the size is irrelevant, since only GDocs can open them, and if we convert the files into .ODT or .DOCX or whatever else, the size is different (so we would have to measure it manually) Folders have "Unknown" size We cannot provide size information on folders, so I guess this is actually implemented in KIO/Dolphin by simply listing each folder and showing the number of files. This is probably not done on remote filesystems to save bandwidth and improve performance, hence the size is "unknown". TODO =========== Open tasks are tracked here: https://phabricator.kde.org/tag/kio_gdrive/ diff --git a/README.packagers b/README.packagers index a86f09e..3559442 100644 --- a/README.packagers +++ b/README.packagers @@ -1,10 +1,9 @@ Implicit dependency on file managers ===================================== KIO GDrive requires a KIO-enabled file manager at runtime, otherwise there is no way to setup a Google Drive account. -This can be Dolphin or Gwenview or (the unreleased) Konqueror. +This can be Dolphin or Gwenview or Konqueror. -The slave installs a .desktop file that enables Dolphin integration -in the applications launcher (if Dolphin is installed). -This can be prevented by passing `-DDOLPHIN_INTEGRATION=OFF` to cmake. +The slave installs a .desktop file that enables integration with +the Dolphin's Places panel and the Plasma's Folder View widget. diff --git a/desktop/CMakeLists.txt b/desktop/CMakeLists.txt index 0292a66..8f75423 100644 --- a/desktop/CMakeLists.txt +++ b/desktop/CMakeLists.txt @@ -1,2 +1,2 @@ -install(PROGRAMS org.kde.kio-gdrive.desktop - DESTINATION ${KDE_INSTALL_APPDIR}) +install(FILES gdrive-network.desktop + DESTINATION ${KDE_INSTALL_DATADIR}/remoteview) diff --git a/desktop/gdrive-network.desktop b/desktop/gdrive-network.desktop new file mode 100644 index 0000000..4155636 --- /dev/null +++ b/desktop/gdrive-network.desktop @@ -0,0 +1,5 @@ +[Desktop Entry] +Icon=folder-gdrive +Name=Google Drive +Type=Link +URL=gdrive:/ diff --git a/desktop/org.kde.kio-gdrive.desktop b/desktop/org.kde.kio-gdrive.desktop deleted file mode 100755 index 0609950..0000000 --- a/desktop/org.kde.kio-gdrive.desktop +++ /dev/null @@ -1,50 +0,0 @@ -[Desktop Entry] -Name=Dolphin (Google Drive) -Name[ast]=Dolphin (Google Drive) -Name[ca]=Dolphin (Google Drive) -Name[ca@valencia]=Dolphin (Google Drive) -Name[cs]=Dolphin (Google Drive) -Name[da]=Dolphin (Google Drev) -Name[de]=Dolphin (Google Drive) -Name[en_GB]=Dolphin (Google Drive) -Name[es]=Dolphin (Google Drive) -Name[et]=Dolphin (Google Drive) -Name[fr]=Dolphin (Google Drive) -Name[it]=Dolphin (Google Drive) -Name[nl]=Dolphin (Google Drive) -Name[pl]=Dolphin (Dysk Google) -Name[pt]=Dolphin (Google Drive) -Name[sk]=Dolphin (Google Drive) -Name[sv]=Dolphin (Google Drive) -Name[uk]=Dolphin (Google Диск) -Name[x-test]=xxDolphin (Google Drive)xx -Name[zh_CN]=Dolphin (Google Drive) -Name[zh_TW]=Dolphin(Google 雲端硬碟) -GenericName=Google Drive File Manager -GenericName[ca]=Gestor de fitxers amb el Google Drive -GenericName[ca@valencia]=Gestor de fitxers amb el Google Drive -GenericName[cs]=Správce souborů Google Drive -GenericName[da]=Filhåndtering til Google Drev -GenericName[de]=„Google Drive“-Dateiverwaltung -GenericName[en_GB]=Google Drive File Manager -GenericName[es]=Gestor de archivos para Google Drive -GenericName[et]=Google Drive'i failihaldur -GenericName[fr]=Gestionnaire de fichiers Google Drive -GenericName[it]=Gestione file di Google Drive -GenericName[nl]=Bestandsbeheerder voor Google Drive -GenericName[pl]=Zarządzanie plikami Dysku Google -GenericName[pt]=Gestor de Ficheiros do Google Drive -GenericName[sk]=Správca súborov Google Drive -GenericName[sv]=Google Drive-filhanterare -GenericName[uk]=Засіб керування файлами Google Диск -GenericName[x-test]=xxGoogle Drive File Managerxx -GenericName[zh_CN]=Google Drive 文件管理器 -GenericName[zh_TW]=Google 雲端硬碟檔案管理員 -Categories=Qt;KDE;Network; -TryExec=dolphin -Exec=dolphin gdrive:// -Icon=system-file-manager -NoDisplay=false -StartupNotify=true -Terminal=false -Type=Application