From 9826d810340d1f6fe135a300a66d689f37add41e Mon Sep 17 00:00:00 2001 From: "Friedrich W. H. Kossebau" Date: Sat, 28 Nov 2020 11:24:29 +0100 Subject: dolphinpart: port to new KPluginMetaData-based KParts API --- src/CMakeLists.txt | 5 +- src/dolphinpart.cpp | 15 ++- src/dolphinpart.desktop | 226 -------------------------------------------- src/dolphinpart.desktop.in | 231 +++++++++++++++++++++++++++++++++++++++++++++ src/dolphinpart.h | 6 +- 5 files changed, 242 insertions(+), 241 deletions(-) delete mode 100644 src/dolphinpart.desktop create mode 100644 src/dolphinpart.desktop.in (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e8bb0c950..87bc2d3c2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -176,6 +176,7 @@ install(TARGETS dolphinprivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMEL install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphin_export.h DESTINATION ${KDE_INSTALL_INCLUDEDIR} COMPONENT Devel) ########################################## +configure_file(dolphinpart.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop @ONLY) set(dolphinpart_SRCS dolphinpart.cpp @@ -186,7 +187,7 @@ set(dolphinpart_SRCS qt5_add_resources(dolphinpart_SRCS dolphinpart.qrc) add_library(dolphinpart MODULE ${dolphinpart_SRCS}) -kcoreaddons_desktop_to_json(dolphinpart dolphinpart.desktop) +kcoreaddons_desktop_to_json(dolphinpart ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop) target_link_libraries(dolphinpart dolphinprivate @@ -194,7 +195,7 @@ target_link_libraries(dolphinpart install(TARGETS dolphinpart DESTINATION ${KDE_INSTALL_PLUGINDIR}/kf5/parts) -install(FILES dolphinpart.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dolphinpart.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) ########################################## diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index 7aaefa6a0..18b3bbd0c 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -17,7 +17,7 @@ #include "views/dolphinview.h" #include "views/dolphinviewactionhandler.h" -#include +#include #include #include #include @@ -47,13 +47,15 @@ K_PLUGIN_CLASS_WITH_JSON(DolphinPart, "dolphinpart.json") -DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args) +DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, + const KPluginMetaData& metaData, const QVariantList& args) : KParts::ReadOnlyPart(parent) ,m_openTerminalAction(nullptr) ,m_removeAction(nullptr) { Q_UNUSED(args) - setComponentData(*createAboutData(), false); + setMetaData(metaData); + m_extension = new DolphinPartBrowserExtension(this); // make sure that other apps using this part find Dolphin's view-file-columns icons @@ -141,7 +143,7 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL // TODO there was a "always open a new window" (when clicking on a directory) setting in konqueror // (sort of spacial navigation) - loadPlugins(this, this, componentData()); + loadPlugins(this, this, componentName()); } DolphinPart::~DolphinPart() @@ -281,11 +283,6 @@ void DolphinPart::updatePasteAction() Q_EMIT m_extension->setActionText( "paste", pasteInfo.second ); } -KAboutData* DolphinPart::createAboutData() -{ - return new KAboutData(QStringLiteral("dolphinpart"), i18nc("@title", "Dolphin Part"), QStringLiteral("0.1")); -} - bool DolphinPart::openUrl(const QUrl &url) { bool reload = arguments().reload(); diff --git a/src/dolphinpart.desktop b/src/dolphinpart.desktop deleted file mode 100644 index 079efbe50..000000000 --- a/src/dolphinpart.desktop +++ /dev/null @@ -1,226 +0,0 @@ -[Desktop Entry] -Type=Service -Name=Dolphin View -Name[ar]=منظور دولفين -Name[ast]=Vista de Dolphin -Name[az]=Dolphin görünüşü -Name[ca]=Vista del Dolphin -Name[ca@valencia]=Vista del Dolphin -Name[cs]=Pohled Dolphin -Name[da]=Dolphin-visning -Name[de]=Dolphin-Ansicht -Name[el]=Dolphin View -Name[en_GB]=Dolphin View -Name[es]=Vista de Dolphin -Name[et]=Dolphini vaade -Name[eu]=Dolphin ikuspegia -Name[fi]=Dolphin-näkymä -Name[fr]=Vue de Dolphin -Name[gl]=Vista de Dolphin -Name[hu]=Dolphin nézet -Name[ia]=Vista de Dolphin -Name[id]=Tampilan Dolphin -Name[it]=Vista di Dolphin -Name[ja]=Dolphin ビュー -Name[ko]=Dolphin 보기 -Name[lt]=Dolphin rodinys -Name[lv]=Dolphin skats -Name[ml]=ഡോള്‍ഫിന്‍ അവതരണരീതി -Name[nb]=Dolphin visning -Name[nl]=Dolphin-weergave -Name[nn]=Dolphin-vising -Name[pa]=ਡਾਲਫਿਨ ਝਲਕ -Name[pl]=Widok Dolphina -Name[pt]=Área do Dolphin -Name[pt_BR]=Visualização do Dolphin -Name[ro]=Dolphin – Vizualizare -Name[ru]=Представление Dolphin -Name[se]=Dolphinčájeheapmi -Name[sk]=Dolphin pohľad -Name[sl]=Dolphin - pogled -Name[sr]=Делфинов приказ -Name[sr@ijekavian]=Делфинов приказ -Name[sr@ijekavianlatin]=Dolphinov prikaz -Name[sr@latin]=Dolphinov prikaz -Name[sv]=Vy i Dolphin -Name[tr]=Dolphin Görünümü -Name[uk]=Перегляд Dolphin -Name[vi]=Khung xem Dolphin -Name[x-test]=xxDolphin Viewxx -Name[zh_CN]=Dolphin 视图 -Name[zh_TW]=Dolphin 檢視 -MimeType=inode/directory; -X-KDE-ServiceTypes=KParts/ReadOnlyPart,Browser/View -X-KDE-Library=kf5/parts/dolphinpart -#X-KDE-BrowserView-Args=Icon -X-KDE-BrowserView-HideFromMenus=true -X-KDE-BrowserView-Built-Into=konqueror -Icon=view-icon -InitialPreference=7 - -# Provide info about the view modes using the Actions mechanism so that KService parses it. -# Konqueror then queries KService to get hold of the translated texts for the view modes -Actions=icons;details;compact; - -[Desktop Action icons] -Name=Icons -Name[ar]=الأيقونات -Name[ast]=Iconos -Name[az]=İkonlar -Name[ca]=Icones -Name[ca@valencia]=Icones -Name[cs]=Ikony -Name[da]=Ikoner -Name[de]=Symbole -Name[el]=Εικονίδια -Name[en_GB]=Icons -Name[es]=Iconos -Name[et]=Ikoonid -Name[eu]=Ikonoak -Name[fi]=Kuvakkeet -Name[fr]=Icônes -Name[gl]=Iconas -Name[he]=סמלים -Name[hu]=Ikonok -Name[ia]=Icones -Name[id]=Ikon -Name[it]=Icone -Name[ja]=アイコン -Name[ko]=아이콘 -Name[lt]=Piktogramos -Name[lv]=Ikonas -Name[ml]=സൂചനാചിത്രങ്ങള്‍ -Name[nb]=Ikoner -Name[nl]=Pictogrammen -Name[nn]=Ikon -Name[pa]=ਆਈਕਾਨ -Name[pl]=Ikony -Name[pt]=Ícones -Name[pt_BR]=Ícones -Name[ro]=Pictograme -Name[ru]=Значки -Name[se]=Govažat -Name[sk]=Ikony -Name[sl]=Ikone -Name[sr]=Иконице -Name[sr@ijekavian]=Иконице -Name[sr@ijekavianlatin]=Ikonice -Name[sr@latin]=Ikonice -Name[sv]=Ikoner -Name[tr]=Simgeler -Name[uk]=Піктограми -Name[vi]=Biểu tượng -Name[x-test]=xxIconsxx -Name[zh_CN]=图标 -Name[zh_TW]=圖示 -Icon=view-list-icons -# Dummy -Exec=dolphin - -[Desktop Action compact] -Name=Compact -Name[ar]=متراصّ -Name[ast]=Compauta -Name[az]=Yığcam -Name[ca]=Compacta -Name[ca@valencia]=Compacta -Name[cs]=Kompaktní -Name[da]=Kompakt -Name[de]=Kompakt -Name[el]=Σύμπτυξη -Name[en_GB]=Compact -Name[es]=Compacto -Name[et]=Kompaktne -Name[eu]=Trinkoa -Name[fi]=Tiivis -Name[fr]=Concis -Name[gl]=Compacta -Name[he]=חסכונית -Name[hu]=Kompakt -Name[ia]=Compacte -Name[id]=Ringkas -Name[it]=Compatta -Name[ja]=コンパクト -Name[ko]=축소됨 -Name[lt]=Kompaktiškas -Name[lv]=Kompakts -Name[ml]=തിങ്ങിയത് -Name[nb]=Kompakt -Name[nl]=Compact -Name[nn]=Kompakt -Name[pa]=ਸੰਖੇਪ -Name[pl]=Kompaktowy -Name[pt]=Compacta -Name[pt_BR]=Compacto -Name[ro]=Compactă -Name[ru]=Столбцы -Name[sk]=Kompaktný -Name[sl]=Strnjeno -Name[sr]=Сажето -Name[sr@ijekavian]=Сажето -Name[sr@ijekavianlatin]=Sažeto -Name[sr@latin]=Sažeto -Name[sv]=Kompakt -Name[tr]=Sıkışık -Name[uk]=Компактний -Name[vi]=Gọn -Name[x-test]=xxCompactxx -Name[zh_CN]=紧凑 -Name[zh_TW]=簡潔模式 -Icon=view-list-details -# Dummy -Exec=dolphin - -[Desktop Action details] -Name=Details -Name[ar]=التّفاصيل -Name[ast]=Detalles -Name[az]=Ətraflı -Name[ca]=Detalls -Name[ca@valencia]=Detalls -Name[cs]=Podrobnosti -Name[da]=Detaljer -Name[de]=Details -Name[el]=Λεπτομέρειες -Name[en_GB]=Details -Name[es]=Detalles -Name[et]=Üksikasjad -Name[eu]=Xehetasunak -Name[fi]=Yksityiskohdat -Name[fr]=Détails -Name[gl]=Detalles -Name[he]=פרטים -Name[hu]=Részletek -Name[ia]=Detalios -Name[id]=Perincian -Name[it]=Dettagli -Name[ja]=詳細 -Name[ko]=자세히 -Name[lt]=Išsamus -Name[lv]=Detaļas -Name[ml]=വിശദമായി -Name[nb]=Detaljer -Name[nl]=Details -Name[nn]=Detaljar -Name[pa]=ਵੇਰਵੇ -Name[pl]=Szczegóły -Name[pt]=Detalhes -Name[pt_BR]=Detalhes -Name[ro]=Detalii -Name[ru]=Таблица -Name[sk]=Podrobnosti -Name[sl]=Podrobnosti -Name[sr]=Детаљи -Name[sr@ijekavian]=Детаљи -Name[sr@ijekavianlatin]=Detalji -Name[sr@latin]=Detalji -Name[sv]=Detaljinformation -Name[tr]=Ayrıntılar -Name[uk]=Подробиці -Name[vi]=Chi tiết -Name[x-test]=xxDetailsxx -Name[zh_CN]=详细 -Name[zh_TW]=詳細模式 -Icon=view-list-tree -# Dummy -Exec=dolphin diff --git a/src/dolphinpart.desktop.in b/src/dolphinpart.desktop.in new file mode 100644 index 000000000..2f6fa456f --- /dev/null +++ b/src/dolphinpart.desktop.in @@ -0,0 +1,231 @@ +[Desktop Entry] +Type=Service +Name=Dolphin View +Name[ar]=منظور دولفين +Name[ast]=Vista de Dolphin +Name[az]=Dolphin görünüşü +Name[ca]=Vista del Dolphin +Name[ca@valencia]=Vista del Dolphin +Name[cs]=Pohled Dolphin +Name[da]=Dolphin-visning +Name[de]=Dolphin-Ansicht +Name[el]=Dolphin View +Name[en_GB]=Dolphin View +Name[es]=Vista de Dolphin +Name[et]=Dolphini vaade +Name[eu]=Dolphin ikuspegia +Name[fi]=Dolphin-näkymä +Name[fr]=Vue de Dolphin +Name[gl]=Vista de Dolphin +Name[hu]=Dolphin nézet +Name[ia]=Vista de Dolphin +Name[id]=Tampilan Dolphin +Name[it]=Vista di Dolphin +Name[ja]=Dolphin ビュー +Name[ko]=Dolphin 보기 +Name[lt]=Dolphin rodinys +Name[lv]=Dolphin skats +Name[ml]=ഡോള്‍ഫിന്‍ അവതരണരീതി +Name[nb]=Dolphin visning +Name[nl]=Dolphin-weergave +Name[nn]=Dolphin-vising +Name[pa]=ਡਾਲਫਿਨ ਝਲਕ +Name[pl]=Widok Dolphina +Name[pt]=Área do Dolphin +Name[pt_BR]=Visualização do Dolphin +Name[ro]=Dolphin – Vizualizare +Name[ru]=Представление Dolphin +Name[se]=Dolphinčájeheapmi +Name[sk]=Dolphin pohľad +Name[sl]=Dolphin - pogled +Name[sr]=Делфинов приказ +Name[sr@ijekavian]=Делфинов приказ +Name[sr@ijekavianlatin]=Dolphinov prikaz +Name[sr@latin]=Dolphinov prikaz +Name[sv]=Vy i Dolphin +Name[tr]=Dolphin Görünümü +Name[uk]=Перегляд Dolphin +Name[vi]=Khung xem Dolphin +Name[x-test]=xxDolphin Viewxx +Name[zh_CN]=Dolphin 视图 +Name[zh_TW]=Dolphin 檢視 +MimeType=inode/directory; +X-KDE-ServiceTypes=KParts/ReadOnlyPart,Browser/View +X-KDE-Library=kf5/parts/dolphinpart +#X-KDE-BrowserView-Args=Icon +X-KDE-BrowserView-HideFromMenus=true +X-KDE-BrowserView-Built-Into=konqueror +Icon=view-icon +InitialPreference=7 + +X-KDE-PluginInfo-Name=dolphinpart +X-KDE-PluginInfo-Version=@DOLPHIN_VERSION@ +X-KDE-PluginInfo-License=LGPL v2+ + + +# Provide info about the view modes using the Actions mechanism so that KService parses it. +# Konqueror then queries KService to get hold of the translated texts for the view modes +Actions=icons;details;compact; + +[Desktop Action icons] +Name=Icons +Name[ar]=الأيقونات +Name[ast]=Iconos +Name[az]=İkonlar +Name[ca]=Icones +Name[ca@valencia]=Icones +Name[cs]=Ikony +Name[da]=Ikoner +Name[de]=Symbole +Name[el]=Εικονίδια +Name[en_GB]=Icons +Name[es]=Iconos +Name[et]=Ikoonid +Name[eu]=Ikonoak +Name[fi]=Kuvakkeet +Name[fr]=Icônes +Name[gl]=Iconas +Name[he]=סמלים +Name[hu]=Ikonok +Name[ia]=Icones +Name[id]=Ikon +Name[it]=Icone +Name[ja]=アイコン +Name[ko]=아이콘 +Name[lt]=Piktogramos +Name[lv]=Ikonas +Name[ml]=സൂചനാചിത്രങ്ങള്‍ +Name[nb]=Ikoner +Name[nl]=Pictogrammen +Name[nn]=Ikon +Name[pa]=ਆਈਕਾਨ +Name[pl]=Ikony +Name[pt]=Ícones +Name[pt_BR]=Ícones +Name[ro]=Pictograme +Name[ru]=Значки +Name[se]=Govažat +Name[sk]=Ikony +Name[sl]=Ikone +Name[sr]=Иконице +Name[sr@ijekavian]=Иконице +Name[sr@ijekavianlatin]=Ikonice +Name[sr@latin]=Ikonice +Name[sv]=Ikoner +Name[tr]=Simgeler +Name[uk]=Піктограми +Name[vi]=Biểu tượng +Name[x-test]=xxIconsxx +Name[zh_CN]=图标 +Name[zh_TW]=圖示 +Icon=view-list-icons +# Dummy +Exec=dolphin + +[Desktop Action compact] +Name=Compact +Name[ar]=متراصّ +Name[ast]=Compauta +Name[az]=Yığcam +Name[ca]=Compacta +Name[ca@valencia]=Compacta +Name[cs]=Kompaktní +Name[da]=Kompakt +Name[de]=Kompakt +Name[el]=Σύμπτυξη +Name[en_GB]=Compact +Name[es]=Compacto +Name[et]=Kompaktne +Name[eu]=Trinkoa +Name[fi]=Tiivis +Name[fr]=Concis +Name[gl]=Compacta +Name[he]=חסכונית +Name[hu]=Kompakt +Name[ia]=Compacte +Name[id]=Ringkas +Name[it]=Compatta +Name[ja]=コンパクト +Name[ko]=축소됨 +Name[lt]=Kompaktiškas +Name[lv]=Kompakts +Name[ml]=തിങ്ങിയത് +Name[nb]=Kompakt +Name[nl]=Compact +Name[nn]=Kompakt +Name[pa]=ਸੰਖੇਪ +Name[pl]=Kompaktowy +Name[pt]=Compacta +Name[pt_BR]=Compacto +Name[ro]=Compactă +Name[ru]=Столбцы +Name[sk]=Kompaktný +Name[sl]=Strnjeno +Name[sr]=Сажето +Name[sr@ijekavian]=Сажето +Name[sr@ijekavianlatin]=Sažeto +Name[sr@latin]=Sažeto +Name[sv]=Kompakt +Name[tr]=Sıkışık +Name[uk]=Компактний +Name[vi]=Gọn +Name[x-test]=xxCompactxx +Name[zh_CN]=紧凑 +Name[zh_TW]=簡潔模式 +Icon=view-list-details +# Dummy +Exec=dolphin + +[Desktop Action details] +Name=Details +Name[ar]=التّفاصيل +Name[ast]=Detalles +Name[az]=Ətraflı +Name[ca]=Detalls +Name[ca@valencia]=Detalls +Name[cs]=Podrobnosti +Name[da]=Detaljer +Name[de]=Details +Name[el]=Λεπτομέρειες +Name[en_GB]=Details +Name[es]=Detalles +Name[et]=Üksikasjad +Name[eu]=Xehetasunak +Name[fi]=Yksityiskohdat +Name[fr]=Détails +Name[gl]=Detalles +Name[he]=פרטים +Name[hu]=Részletek +Name[ia]=Detalios +Name[id]=Perincian +Name[it]=Dettagli +Name[ja]=詳細 +Name[ko]=자세히 +Name[lt]=Išsamus +Name[lv]=Detaļas +Name[ml]=വിശദമായി +Name[nb]=Detaljer +Name[nl]=Details +Name[nn]=Detaljar +Name[pa]=ਵੇਰਵੇ +Name[pl]=Szczegóły +Name[pt]=Detalhes +Name[pt_BR]=Detalhes +Name[ro]=Detalii +Name[ru]=Таблица +Name[sk]=Podrobnosti +Name[sl]=Podrobnosti +Name[sr]=Детаљи +Name[sr@ijekavian]=Детаљи +Name[sr@ijekavianlatin]=Detalji +Name[sr@latin]=Detalji +Name[sv]=Detaljinformation +Name[tr]=Ayrıntılar +Name[uk]=Подробиці +Name[vi]=Chi tiết +Name[x-test]=xxDetailsxx +Name[zh_CN]=详细 +Name[zh_TW]=詳細模式 +Icon=view-list-tree +# Dummy +Exec=dolphin diff --git a/src/dolphinpart.h b/src/dolphinpart.h index 3d613c276..16c49f96e 100644 --- a/src/dolphinpart.h +++ b/src/dolphinpart.h @@ -20,7 +20,6 @@ class DolphinPartBrowserExtension; class DolphinRemoteEncoding; class KDirLister; class DolphinView; -class KAboutData; class DolphinRemoveAction; class DolphinPart : public KParts::ReadOnlyPart @@ -40,11 +39,10 @@ class DolphinPart : public KParts::ReadOnlyPart Q_PROPERTY( QList filesToSelect READ filesToSelect WRITE setFilesToSelect ) public: - explicit DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args); + explicit DolphinPart(QWidget* parentWidget, QObject* parent, + const KPluginMetaData& metaData, const QVariantList& args); ~DolphinPart() override; - static KAboutData* createAboutData(); - /** * Standard KParts::ReadOnlyPart openUrl method. * Called by Konqueror to view a directory in DolphinPart. -- cgit v1.3