[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [calligra/frameworks] /: port more Krita extensions to Json
From:       Sven Langkamp <sven.langkamp () gmail ! com>
Date:       2015-03-31 17:05:32
Message-ID: E1YczbY-0007mX-DA () scm ! kde ! org
[Download RAW message or body]

Git commit fc8984d93039dcf0bb3303c093f8140643163ea7 by Sven Langkamp.
Committed on 31/03/2015 at 17:04.
Pushed by langkamp into branch 'frameworks'.

port more Krita extensions to Json

M  +1    -1    krita/plugins/CMakeLists.txt
M  +4    -4    krita/plugins/extensions/CMakeLists.txt
M  +1    -0    krita/plugins/extensions/bigbrother/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/bigbrother/bigbrother.cc
M  +1    -0    krita/plugins/extensions/clonesarray/CMakeLists.txt
M  +2    -3    krita/plugins/extensions/clonesarray/clonesarray.cpp
M  +1    -1    krita/plugins/extensions/colorrange/CMakeLists.txt
M  +2    -2    krita/plugins/extensions/colorrange/colorrange.cc
M  +1    -1    krita/plugins/extensions/colorspaceconversion/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/colorspaceconversion/colorspaceconversion.cc
M  +4    -4    krita/plugins/extensions/dockers/CMakeLists.txt
M  +1    -0    krita/plugins/extensions/dockers/advancedcolorselector/CMakeLists.txt
M  +2    -2    krita/plugins/extensions/dockers/advancedcolorselector/colorselectorng.cpp
 M  +1    -0    krita/plugins/extensions/dockers/advancedcolorselector/kis_color_patches.cpp
 M  +1    -0    krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector_settings.cpp
 M  +1    -0    krita/plugins/extensions/dockers/artisticcolorselector/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/artisticcolorselector/artisticcolorselector_plugin.cpp
 M  +1    -0    krita/plugins/extensions/dockers/channeldocker/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/channeldocker/channeldocker.cpp
M  +1    -0    krita/plugins/extensions/dockers/channeldocker/channelmodel.cpp
M  +1    -0    krita/plugins/extensions/dockers/colorslider/CMakeLists.txt
M  +2    -3    krita/plugins/extensions/dockers/colorslider/kis_color_slider.cpp
M  +1    -1    krita/plugins/extensions/dockers/colorslider/kis_color_slider_dock.cpp
M  +2    -0    krita/plugins/extensions/dockers/colorslider/kis_color_slider_input.cpp
 M  +1    -0    krita/plugins/extensions/dockers/colorslider/kis_color_slider_widget.cpp
 M  +1    -0    krita/plugins/extensions/dockers/compositiondocker/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/compositiondocker/compositiondocker.cpp
 M  +1    -0    krita/plugins/extensions/dockers/defaultdockers/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/defaultdockers/defaultdockers.cpp
M  +2    -0    krita/plugins/extensions/dockers/defaultdockers/kis_layer_box.cpp
M  +1    -0    krita/plugins/extensions/dockers/digitalmixer/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/digitalmixer/digitalmixer.cc
M  +1    -0    krita/plugins/extensions/dockers/historydocker/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/historydocker/History.cpp
M  +2    -0    krita/plugins/extensions/dockers/imagedocker/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/imagedocker/imagedocker.cpp
M  +1    -0    krita/plugins/extensions/dockers/imagedocker/imagedocker_dock.cpp
M  +2    -0    krita/plugins/extensions/dockers/lut/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/lut/lutdocker.cpp
M  +1    -0    krita/plugins/extensions/dockers/overview/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/overview/overviewdocker.cpp
M  +1    -0    krita/plugins/extensions/dockers/palettedocker/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/palettedocker/palettedocker.cpp
M  +1    -0    krita/plugins/extensions/dockers/patterndocker/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/patterndocker/patterndocker.cpp
M  +1    -0    krita/plugins/extensions/dockers/presetdocker/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/presetdocker/presetdocker.cpp
M  +1    -0    krita/plugins/extensions/dockers/smallcolorselector/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/smallcolorselector/smallcolorselector.cc
 M  +1    -0    krita/plugins/extensions/dockers/specificcolorselector/CMakeLists.txt
M  +2    -0    krita/plugins/extensions/dockers/specificcolorselector/kis_specific_color_selector_widget.cc
 M  +2    -3    krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector.cc
 M  +1    -1    krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector_dock.cc
 M  +1    -0    krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector_dock.h
 M  +1    -0    krita/plugins/extensions/dockers/tasksetdocker/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/dockers/tasksetdocker/tasksetdocker.cpp
M  +1    -1    krita/plugins/extensions/dropshadow/CMakeLists.txt
M  +1    -0    krita/plugins/extensions/dropshadow/dlg_dropshadow.cc
M  +2    -2    krita/plugins/extensions/dropshadow/kis_dropshadow_plugin.cc
M  +1    -1    krita/plugins/extensions/gmic/kis_gmic_plugin.cpp
M  +1    -1    krita/plugins/extensions/histogram/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/histogram/histogram.cc
M  +1    -0    krita/plugins/extensions/imagesize/dlg_imagesize.cc
M  +1    -1    krita/plugins/extensions/imagesize/imagesize.cc
M  +1    -0    krita/plugins/extensions/imagesplit/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/imagesplit/imagesplit.cpp
M  +1    -0    krita/plugins/extensions/layergroupswitcher/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/layergroupswitcher/layergroupswitcher.cpp
M  +1    -0    krita/plugins/extensions/layersplit/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/layersplit/layersplit.cpp
M  +1    -0    krita/plugins/extensions/metadataeditor/CMakeLists.txt
M  +1    -0    krita/plugins/extensions/metadataeditor/kis_meta_data_editor.cc
M  +1    -2    krita/plugins/extensions/metadataeditor/metadataeditor.cc
M  +1    -1    krita/plugins/extensions/modify_selection/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/modify_selection/modify_selection.cc
M  +1    -0    krita/plugins/extensions/offsetimage/CMakeLists.txt
M  +2    -3    krita/plugins/extensions/offsetimage/offsetimage.cpp
M  +1    -0    krita/plugins/extensions/resourcemanager/CMakeLists.txt
M  +2    -0    krita/plugins/extensions/resourcemanager/resourcebundle_manifest.h
M  +1    -2    krita/plugins/extensions/resourcemanager/resourcemanager.cpp
M  +1    -1    krita/plugins/extensions/resourcemanager/tests/CMakeLists.txt
M  +1    -1    krita/plugins/extensions/rotateimage/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/rotateimage/rotateimage.cc
M  +1    -0    krita/plugins/extensions/separate_channels/CMakeLists.txt
M  +1    -2    krita/plugins/extensions/separate_channels/kis_separate_channels_plugin.cc
 M  +1    -1    krita/plugins/extensions/shearimage/CMakeLists.txt
M  +2    -2    krita/plugins/extensions/shearimage/dlg_shearimage.cc
M  +1    -2    krita/plugins/extensions/shearimage/shearimage.cc
M  +1    -1    krita/ui/KisMainWindow.cpp
M  +2    -2    libs/koplugin/KoPluginLoader.cpp
M  +1    -1    libs/koplugin/KoPluginLoader.h

http://commits.kde.org/calligra/fc8984d93039dcf0bb3303c093f8140643163ea7

diff --git a/krita/plugins/CMakeLists.txt b/krita/plugins/CMakeLists.txt
index 5bfb431..228e13f2 100644
--- a/krita/plugins/CMakeLists.txt
+++ b/krita/plugins/CMakeLists.txt
@@ -1,7 +1,7 @@
 add_subdirectory( assistants )
 #add_subdirectory( filters )
 add_subdirectory( tools )
-#add_subdirectory( extensions )
+add_subdirectory( extensions )
 #add_subdirectory( generators )
 add_subdirectory( paintops )
 #add_subdirectory( formats )
diff --git a/krita/plugins/extensions/CMakeLists.txt \
b/krita/plugins/extensions/CMakeLists.txt index 61fbe70..9852826 100644
--- a/krita/plugins/extensions/CMakeLists.txt
+++ b/krita/plugins/extensions/CMakeLists.txt
@@ -1,19 +1,19 @@
 add_subdirectory( bigbrother )
 add_subdirectory( imagesplit )
-add_subdirectory( clonesarray )
+#add_subdirectory( clonesarray )
 add_subdirectory( colorrange )
 add_subdirectory( colorspaceconversion )
 add_subdirectory( dropshadow )
 add_subdirectory( histogram )
-add_subdirectory( imagesize )
+#add_subdirectory( imagesize )
 add_subdirectory( metadataeditor )
 add_subdirectory( modify_selection )
-add_subdirectory( offsetimage )
+# add_subdirectory( offsetimage )
 add_subdirectory( rotateimage )
 add_subdirectory( separate_channels )
 add_subdirectory( shearimage )
 add_subdirectory( dockers )
-add_subdirectory( layergroupswitcher )
+#add_subdirectory( layergroupswitcher )
 add_subdirectory( resourcemanager )
 add_subdirectory( layersplit )
 
diff --git a/krita/plugins/extensions/bigbrother/CMakeLists.txt \
b/krita/plugins/extensions/bigbrother/CMakeLists.txt index 97d694d..a709401 100644
--- a/krita/plugins/extensions/bigbrother/CMakeLists.txt
+++ b/krita/plugins/extensions/bigbrother/CMakeLists.txt
@@ -9,6 +9,7 @@ ki18n_wrap_ui(kritabigbrother_PART_SRCS
         actionseditor/wdgactionseditor.ui )
 
 add_library(kritabigbrother MODULE ${kritabigbrother_PART_SRCS})
+kcoreaddons_desktop_to_json(kritabigbrother kritabigbrother.desktop)
 
 target_link_libraries(kritabigbrother kritaui)
 
diff --git a/krita/plugins/extensions/bigbrother/bigbrother.cc \
b/krita/plugins/extensions/bigbrother/bigbrother.cc index 172097d..e376384 100644
--- a/krita/plugins/extensions/bigbrother/bigbrother.cc
+++ b/krita/plugins/extensions/bigbrother/bigbrother.cc
@@ -54,8 +54,7 @@
 #include <QApplication>
 
 
-K_PLUGIN_FACTORY(BigBrotherPluginFactory, registerPlugin<BigBrotherPlugin>();)
-K_EXPORT_PLUGIN(BigBrotherPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(BigBrotherPluginFactory, "kritabigbrother.json", \
registerPlugin<BigBrotherPlugin>();)  
 class RecordedActionSaveContext : public KisRecordedActionSaveContext {
     public:
diff --git a/krita/plugins/extensions/clonesarray/CMakeLists.txt \
b/krita/plugins/extensions/clonesarray/CMakeLists.txt index 6ad47f6..6d99cc1 100644
--- a/krita/plugins/extensions/clonesarray/CMakeLists.txt
+++ b/krita/plugins/extensions/clonesarray/CMakeLists.txt
@@ -7,6 +7,7 @@ set(kritaclonesarray_PART_SRCS
 
 ki18n_wrap_ui(kritaclonesarray_PART_SRCS wdg_clonesarray.ui )
 add_library(kritaclonesarray MODULE ${kritaclonesarray_PART_SRCS})
+kcoreaddons_desktop_to_json(kritaclonesarray kritaclonesarray.desktop)
 
 target_link_libraries(kritaclonesarray kritaui)
 install(TARGETS kritaclonesarray  DESTINATION ${PLUGIN_INSTALL_DIR})
diff --git a/krita/plugins/extensions/clonesarray/clonesarray.cpp \
b/krita/plugins/extensions/clonesarray/clonesarray.cpp index 8393550..f531cd4 100644
--- a/krita/plugins/extensions/clonesarray/clonesarray.cpp
+++ b/krita/plugins/extensions/clonesarray/clonesarray.cpp
@@ -29,8 +29,7 @@
 
 #include "dlg_clonesarray.h"
 
-K_PLUGIN_FACTORY(ClonesArrayFactory, registerPlugin<ClonesArray>();)
-K_EXPORT_PLUGIN(ClonesArrayFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(ClonesArrayFactory, "kritaclonesarray.json", \
registerPlugin<ClonesArray>();)  
 ClonesArray::ClonesArray(QObject *parent, const QVariantList &)
         : KisViewPlugin(parent)
@@ -61,4 +60,4 @@ void ClonesArray::slotCreateClonesArray()
     delete dialog;
 }
 
-#include "moc_clonesarrr
\ No newline at end of file
+#include "moc_clonesarray.cpp"
\ No newline at end of file
diff --git a/krita/plugins/extensions/colorrange/CMakeLists.txt \
b/krita/plugins/extensions/colorrange/CMakeLists.txt index 51316b3..d34a368 100644
--- a/krita/plugins/extensions/colorrange/CMakeLists.txt
+++ b/krita/plugins/extensions/colorrange/CMakeLists.txt
@@ -5,7 +5,7 @@ set(kritacolorrange_PART_SRCS colorrange.cc dlg_colorrange.cc )
 ki18n_wrap_ui(kritacolorrange_PART_SRCS wdg_colorrange.ui )
 
 add_library(kritacolorrange MODULE ${kritacolorrange_PART_SRCS})
-
+kcoreaddons_desktop_to_json(kritacolorrange kritacolorrange.desktop)
 
 
 target_link_libraries(kritacolorrange kritaui)
diff --git a/krita/plugins/extensions/colorrange/colorrange.cc \
b/krita/plugins/extensions/colorrange/colorrange.cc index 4359cf4..764a905 100644
--- a/krita/plugins/extensions/colorrange/colorrange.cc
+++ b/krita/plugins/extensions/colorrange/colorrange.cc
@@ -40,8 +40,8 @@
 #include "dlg_colorrange.h"
 #include <KoColorSpace.h>
 
-K_PLUGIN_FACTORY(ColorRangeFactory, registerPlugin<ColorRange>();)
-K_EXPORT_PLUGIN(ColorRangeFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(ColorRangeFactory, "kritacolorrange.json", \
registerPlugin<ColorRange>();) +
 
 ColorRange::ColorRange(QObject *parent, const QVariantList &)
         : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/colorspaceconversion/CMakeLists.txt \
b/krita/plugins/extensions/colorspaceconversion/CMakeLists.txt index bdd67d1..d4c45e7 \
                100644
--- a/krita/plugins/extensions/colorspaceconversion/CMakeLists.txt
+++ b/krita/plugins/extensions/colorspaceconversion/CMakeLists.txt
@@ -5,7 +5,7 @@ set(kritacolorspaceconversion_PART_SRCS colorspaceconversion.cc \
dlg_colorspaceco  ki18n_wrap_ui(kritacolorspaceconversion_PART_SRCS \
wdgconvertcolorspace.ui )  
 add_library(kritacolorspaceconversion MODULE ${kritacolorspaceconversion_PART_SRCS})
-
+kcoreaddons_desktop_to_json(kritacolorspaceconversion \
kritacolorspaceconversion.desktop)  
 
 target_link_libraries(kritacolorspaceconversion kritaui)
diff --git a/krita/plugins/extensions/colorspaceconversion/colorspaceconversion.cc \
b/krita/plugins/extensions/colorspaceconversion/colorspaceconversion.cc index \
                2b43452..10fdec2 100644
--- a/krita/plugins/extensions/colorspaceconversion/colorspaceconversion.cc
+++ b/krita/plugins/extensions/colorspaceconversion/colorspaceconversion.cc
@@ -48,8 +48,7 @@
 
 #include "dlg_colorspaceconversion.h"
 
-K_PLUGIN_FACTORY(ColorSpaceConversionFactory, \
                registerPlugin<ColorSpaceConversion>();)
-K_EXPORT_PLUGIN(ColorSpaceConversionFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(ColorSpaceConversionFactory, \
"kritacolorspaceconversion.json", registerPlugin<ColorSpaceConversion>();)  
 
 ColorSpaceConversion::ColorSpaceConversion(QObject *parent, const QVariantList &)
diff --git a/krita/plugins/extensions/dockers/CMakeLists.txt \
b/krita/plugins/extensions/dockers/CMakeLists.txt index 40da8db..d4d2fdb 100644
--- a/krita/plugins/extensions/dockers/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/CMakeLists.txt
@@ -1,13 +1,13 @@
 add_subdirectory(defaultdockers)
 add_subdirectory(smallcolorselector)
-add_subdirectory(specificcolorselector)
+# add_subdirectory(specificcolorselector)
 add_subdirectory(digitalmixer)
 add_subdirectory(advancedcolorselector)
 add_subdirectory(presetdocker)
 add_subdirectory(historydocker)
 add_subdirectory(channeldocker)
-add_subdirectory(imagedocker)
-add_subdirectory(artisticcolorselector)
+#add_subdirectory(imagedocker)
+#add_subdirectory(artisticcolorselector)
 add_subdirectory(tasksetdocker)
 add_subdirectory(compositiondocker)
 add_subdirectory(patterndocker)
@@ -16,4 +16,4 @@ if(HAVE_OCIO)
 endif()
 add_subdirectory(overview)
 add_subdirectory(palettedocker)
-add_subdirectory(colorslider)
+#add_subdirectory(colorslider)
diff --git a/krita/plugins/extensions/dockers/advancedcolorselector/CMakeLists.txt \
b/krita/plugins/extensions/dockers/advancedcolorselector/CMakeLists.txt index \
                ebce596..2b0459a 100644
--- a/krita/plugins/extensions/dockers/advancedcolorselector/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/advancedcolorselector/CMakeLists.txt
@@ -32,6 +32,7 @@ ki18n_wrap_ui(KRITA_COLORSELECTORNG_PART_SRCS
 )
 
 add_library(kritacolorselectorng MODULE ${KRITA_COLORSELECTORNG_PART_SRCS})
+kcoreaddons_desktop_to_json(kritacolorselectorng krita_colorselectorng.desktop)
 
 target_link_libraries(kritacolorselectorng kritaui)
 
diff --git a/krita/plugins/extensions/dockers/advancedcolorselector/colorselectorng.cpp \
b/krita/plugins/extensions/dockers/advancedcolorselector/colorselectorng.cpp index \
                5d60adf..04ea4c7 100644
--- a/krita/plugins/extensions/dockers/advancedcolorselector/colorselectorng.cpp
+++ b/krita/plugins/extensions/dockers/advancedcolorselector/colorselectorng.cpp
@@ -28,8 +28,8 @@
 #include "kis_color_selector_settings.h"
 #include "kis_preference_set_registry.h"
 
-K_PLUGIN_FACTORY(ColorSelectorNgPluginFactory, \
                registerPlugin<ColorSelectorNgPlugin>();)
-K_EXPORT_PLUGIN(ColorSelectorNgPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(ColorSelectorNgPluginFactory, \
"krita_colorselectorng.json", registerPlugin<ColorSelectorNgPlugin>();) +
 
 class ColorSelectorNgDockFactory : public KoDockFactoryBase
 {
diff --git a/krita/plugins/extensions/dockers/advancedcolorselector/kis_color_patches.cpp \
b/krita/plugins/extensions/dockers/advancedcolorselector/kis_color_patches.cpp index \
                700c2f9..a0e3caf 100644
--- a/krita/plugins/extensions/dockers/advancedcolorselector/kis_color_patches.cpp
+++ b/krita/plugins/extensions/dockers/advancedcolorselector/kis_color_patches.cpp
@@ -21,6 +21,7 @@
 #include <QPainter>
 #include <QWheelEvent>
 #include <QMouseEvent>
+#include <QDrag>
 
 #include <kconfig.h>
 #include <kconfiggroup.h>
diff --git a/krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector_settings.cpp \
b/krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector_settings.cpp
 index 53fdbd7..8b992fe 100644
--- a/krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector_settings.cpp
                
+++ b/krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector_settings.cpp
 @@ -24,6 +24,7 @@
 #include <QPushButton>
 
 #include <kconfiggroup.h>
+#include <kglobal.h>
 
 #include <KoIcon.h>
 #include "KoColorSpace.h"
diff --git a/krita/plugins/extensions/dockers/artisticcolorselector/CMakeLists.txt \
b/krita/plugins/extensions/dockers/artisticcolorselector/CMakeLists.txt index \
                669beb5..36c33d4 100644
--- a/krita/plugins/extensions/dockers/artisticcolorselector/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/artisticcolorselector/CMakeLists.txt
@@ -8,6 +8,7 @@ set(kritaartisticcolorselector_PART_SRCS
 
 ki18n_wrap_ui(kritaartisticcolorselector_PART_SRCS forms/wdgArtisticColorSelector.ui \
forms/wdgColorPreferencesPopup.ui)  add_library(kritaartisticcolorselector MODULE \
${kritaartisticcolorselector_PART_SRCS}) \
+kcoreaddons_desktop_to_json(kritaartisticcolorselector \
krita_artisticcolorselector.desktop)  
 target_link_libraries(kritaartisticcolorselector kritaui)
 
diff --git a/krita/plugins/extensions/dockers/artisticcolorselector/artisticcolorselector_plugin.cpp \
b/krita/plugins/extensions/dockers/artisticcolorselector/artisticcolorselector_plugin.cpp
 index b16cb38..18622f0 100644
--- a/krita/plugins/extensions/dockers/artisticcolorselector/artisticcolorselector_plugin.cpp
                
+++ b/krita/plugins/extensions/dockers/artisticcolorselector/artisticcolorselector_plugin.cpp
 @@ -23,8 +23,7 @@
 #include <KoDockFactoryBase.h>
 #include <KoDockRegistry.h>
 
-K_PLUGIN_FACTORY(PaletteDockPluginFactory, \
                registerPlugin<ArtisticColorSelectorPlugin>();)
-K_EXPORT_PLUGIN(PaletteDockPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(PaletteDockPluginFactory, \
"kritaartisticcolorselector.json", registerPlugin<ArtisticColorSelectorPlugin>();)  
 class ArtisticColorSelectorDockFactory: public KoDockFactoryBase
 {
diff --git a/krita/plugins/extensions/dockers/channeldocker/CMakeLists.txt \
b/krita/plugins/extensions/dockers/channeldocker/CMakeLists.txt index \
                2e29628..5fc346a 100644
--- a/krita/plugins/extensions/dockers/channeldocker/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/channeldocker/CMakeLists.txt
@@ -2,6 +2,7 @@
 set(KRITA_CHANNELDOCKER_PART_SRCS channelmodel.cpp channeldocker.cpp \
channeldocker_dock.cpp )  
 add_library(kritachanneldocker MODULE ${KRITA_CHANNELDOCKER_PART_SRCS})
+kcoreaddons_desktop_to_json(kritachanneldocker krita_channeldocker.desktop)
 
 target_link_libraries(kritachanneldocker kritaui)
 
diff --git a/krita/plugins/extensions/dockers/channeldocker/channeldocker.cpp \
b/krita/plugins/extensions/dockers/channeldocker/channeldocker.cpp index \
                00798f8..1eb2c7c 100644
--- a/krita/plugins/extensions/dockers/channeldocker/channeldocker.cpp
+++ b/krita/plugins/extensions/dockers/channeldocker/channeldocker.cpp
@@ -37,8 +37,7 @@
 #include "channeldocker_dock.h"
 #include <KoDockRegistry.h>
 
-K_PLUGIN_FACTORY(ChannelDockerPluginFactory, registerPlugin<ChannelDockerPlugin>();)
-K_EXPORT_PLUGIN(ChannelDockerPluginFactory( "krita" ) )
+K_PLUGIN_FACTORY_WITH_JSON(ChannelDockerPluginFactory, "krita_channeldocker.json", \
registerPlugin<ChannelDockerPlugin>();)  
 class ChannelDockerDockFactory : public KoDockFactoryBase {
 public:
diff --git a/krita/plugins/extensions/dockers/channeldocker/channelmodel.cpp \
b/krita/plugins/extensions/dockers/channeldocker/channelmodel.cpp index \
                7aea2fa..ab1c5f9 100644
--- a/krita/plugins/extensions/dockers/channeldocker/channelmodel.cpp
+++ b/krita/plugins/extensions/dockers/channeldocker/channelmodel.cpp
@@ -139,3 +139,4 @@ void ChannelModel::slotColorSpaceChanged(const KoColorSpace \
*colorSpace)  slotLayerActivated(m_currentLayer);
 }
 
+#include "moc_channelmodel.cpp"
diff --git a/krita/plugins/extensions/dockers/colorslider/CMakeLists.txt \
b/krita/plugins/extensions/dockers/colorslider/CMakeLists.txt index 3e13f22..b5b3685 \
                100644
--- a/krita/plugins/extensions/dockers/colorslider/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/colorslider/CMakeLists.txt
@@ -11,6 +11,7 @@ set(kritacolorslider_PART_SRCS
 # ki18n_wrap_ui(kritaspecificcolorselector_PART_SRCS myuifile.ui )
 
 add_library(kritacolorslider MODULE ${kritacolorslider_PART_SRCS})
+kcoreaddons_desktop_to_json(kritacolorslider krita_colorslider.desktop)
 
 target_link_libraries(kritacolorslider kritaui ${OPENEXR_LIBRARIES})
 
diff --git a/krita/plugins/extensions/dockers/colorslider/kis_color_slider.cpp \
b/krita/plugins/extensions/dockers/colorslider/kis_color_slider.cpp index \
                fc4b829..ed3a824 100644
--- a/krita/plugins/extensions/dockers/colorslider/kis_color_slider.cpp
+++ b/krita/plugins/extensions/dockers/colorslider/kis_color_slider.cpp
@@ -37,8 +37,7 @@
 
 #include "kis_color_slider_dock.h"
 
-K_PLUGIN_FACTORY(ColorSliderPluginFactory, registerPlugin<ColorSliderPlugin>();)
-K_EXPORT_PLUGIN(ColorSliderPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(ColorSliderPluginFactory, "krita_colorslider.json", \
registerPlugin<ColorSliderPlugin>();)  
 class ColorSliderDockFactory : public KoDockFactoryBase
 {
@@ -80,4 +79,4 @@ ColorSliderPlugin::~ColorSliderPlugin()
 {
 }
 
-#include "kis_color_slider.moc"
+#include "moc_kis_color_slider.cpp"
diff --git a/krita/plugins/extensions/dockers/colorslider/kis_color_slider_dock.cpp \
b/krita/plugins/extensions/dockers/colorslider/kis_color_slider_dock.cpp index \
                0069994..acb6f13 100644
--- a/krita/plugins/extensions/dockers/colorslider/kis_color_slider_dock.cpp
+++ b/krita/plugins/extensions/dockers/colorslider/kis_color_slider_dock.cpp
@@ -132,7 +132,7 @@ void ColorSliderDock::layerChanged(const KisNodeSP node)
     m_colorSliders->setColor(m_view->resourceProvider()->fgColor());
 }
 
-
+#include "moc_kis_color_slider_dock.cpp"
 
 
 
diff --git a/krita/plugins/extensions/dockers/colorslider/kis_color_slider_input.cpp \
b/krita/plugins/extensions/dockers/colorslider/kis_color_slider_input.cpp index \
                95f618f..5fc770e 100644
--- a/krita/plugins/extensions/dockers/colorslider/kis_color_slider_input.cpp
+++ b/krita/plugins/extensions/dockers/colorslider/kis_color_slider_input.cpp
@@ -711,3 +711,5 @@ void KisHSXColorSliderInput::toneUpdate(int l, int type)
         
     }
 }
+
+#include "moc_kis_color_slider_input.cpp"
diff --git a/krita/plugins/extensions/dockers/colorslider/kis_color_slider_widget.cpp \
b/krita/plugins/extensions/dockers/colorslider/kis_color_slider_widget.cpp index \
                9036291..1019d01 100644
--- a/krita/plugins/extensions/dockers/colorslider/kis_color_slider_widget.cpp
+++ b/krita/plugins/extensions/dockers/colorslider/kis_color_slider_widget.cpp
@@ -449,3 +449,4 @@ void KisColorSliderWidget::toneUpdate(int l, int type)
     emit(toneUpdated(l, type));
 }
 
+#include "moc_kis_color_slider_widget.cpp"
\ No newline at end of file
diff --git a/krita/plugins/extensions/dockers/compositiondocker/CMakeLists.txt \
b/krita/plugins/extensions/dockers/compositiondocker/CMakeLists.txt index \
                1670061..ba01bc5 100644
--- a/krita/plugins/extensions/dockers/compositiondocker/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/compositiondocker/CMakeLists.txt
@@ -5,6 +5,7 @@ ki18n_wrap_ui(KRITA_COMPOSITIONDOCKER_PART_SRCS
     wdgcompositiondocker.ui
 )
 add_library(kritacompositiondocker MODULE ${KRITA_COMPOSITIONDOCKER_PART_SRCS})
+kcoreaddons_desktop_to_json(kritacompositiondocker krita_compositiondocker.desktop)
 
 target_link_libraries(kritacompositiondocker ${KDE4_KFILE_LIBRARY} kritaui)
 
diff --git a/krita/plugins/extensions/dockers/compositiondocker/compositiondocker.cpp \
b/krita/plugins/extensions/dockers/compositiondocker/compositiondocker.cpp index \
                70f1906..144a9a6 100644
--- a/krita/plugins/extensions/dockers/compositiondocker/compositiondocker.cpp
+++ b/krita/plugins/extensions/dockers/compositiondocker/compositiondocker.cpp
@@ -37,8 +37,7 @@
 #include "compositiondocker_dock.h"
 #include <KoDockRegistry.h>
 
-K_PLUGIN_FACTORY(CompositionDockerPluginFactory, \
                registerPlugin<CompositionDockerPlugin>();)
-K_EXPORT_PLUGIN(CompositionDockerPluginFactory( "krita" ) )
+K_PLUGIN_FACTORY_WITH_JSON(CompositionDockerPluginFactory, \
"krita_compositiondocker.json", registerPlugin<CompositionDockerPlugin>();)  
 class CompositionDockerDockFactory : public KoDockFactoryBase {
 public:
diff --git a/krita/plugins/extensions/dockers/defaultdockers/CMakeLists.txt \
b/krita/plugins/extensions/dockers/defaultdockers/CMakeLists.txt index \
                7949f11..9a801db 100644
--- a/krita/plugins/extensions/dockers/defaultdockers/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/defaultdockers/CMakeLists.txt
@@ -14,6 +14,7 @@ ki18n_wrap_ui(kritadefaultdockers_PART_SRCS
 
 
 add_library(kritadefaultdockers MODULE ${kritadefaultdockers_PART_SRCS} \
${kritadefaultdockers_PART_HEADERS}) +kcoreaddons_desktop_to_json(kritadefaultdockers \
kritadefaultdockers.desktop)  
 target_link_libraries(kritadefaultdockers kritaui)
 
diff --git a/krita/plugins/extensions/dockers/defaultdockers/defaultdockers.cpp \
b/krita/plugins/extensions/dockers/defaultdockers/defaultdockers.cpp index \
                64ddc48..4d55a5e 100644
--- a/krita/plugins/extensions/dockers/defaultdockers/defaultdockers.cpp
+++ b/krita/plugins/extensions/dockers/defaultdockers/defaultdockers.cpp
@@ -26,8 +26,7 @@
 
 #include "kis_layer_box.h"
 
-K_PLUGIN_FACTORY(KritaDefaultDockersPluginFactory, \
                registerPlugin<KritaDefaultDockersPlugin>();)
-K_EXPORT_PLUGIN(KritaDefaultDockersPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(KritaDefaultDockersPluginFactory, \
"kritadefaultdockers.json", registerPlugin<KritaDefaultDockersPlugin>();)  
 KritaDefaultDockersPlugin::KritaDefaultDockersPlugin(QObject *parent, const \
QVariantList &)  : QObject(parent)
diff --git a/krita/plugins/extensions/dockers/defaultdockers/kis_layer_box.cpp \
b/krita/plugins/extensions/dockers/defaultdockers/kis_layer_box.cpp index \
                bf78315..19cc4c5 100644
--- a/krita/plugins/extensions/dockers/defaultdockers/kis_layer_box.cpp
+++ b/krita/plugins/extensions/dockers/defaultdockers/kis_layer_box.cpp
@@ -780,3 +780,5 @@ void KisLayerBox::updateThumbnail()
     m_wdgLayerBox->listLayers->updateNode(m_wdgLayerBox->listLayers->currentIndex());
  }
 
+#include "moc_kis_layer_box.cpp"
+
diff --git a/krita/plugins/extensions/dockers/digitalmixer/CMakeLists.txt \
b/krita/plugins/extensions/dockers/digitalmixer/CMakeLists.txt index 404d0a8..87f570b \
                100644
--- a/krita/plugins/extensions/dockers/digitalmixer/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/digitalmixer/CMakeLists.txt
@@ -4,6 +4,7 @@ set(KRITA_DIGITALMIXER_PART_SRCS digitalmixer.cc digitalmixer_dock.cc \
)  # ki18n_wrap_ui(kritadigitalmixer_PART_SRCS myuifile.ui )
 
 add_library(kritadigitalmixer MODULE ${KRITA_DIGITALMIXER_PART_SRCS})
+kcoreaddons_desktop_to_json(kritadigitalmixer krita_digitalmixer.desktop)
 
 target_link_libraries(kritadigitalmixer kritaui)
 
diff --git a/krita/plugins/extensions/dockers/digitalmixer/digitalmixer.cc \
b/krita/plugins/extensions/dockers/digitalmixer/digitalmixer.cc index \
                c4088c3..86fd67d 100644
--- a/krita/plugins/extensions/dockers/digitalmixer/digitalmixer.cc
+++ b/krita/plugins/extensions/dockers/digitalmixer/digitalmixer.cc
@@ -37,8 +37,7 @@
 #include "digitalmixer_dock.h"
 #include <KoDockRegistry.h>
 
-K_PLUGIN_FACTORY(DigitalMixerPluginFactory, registerPlugin<DigitalMixerPlugin>();)
-K_EXPORT_PLUGIN(DigitalMixerPluginFactory( "krita" ) )
+K_PLUGIN_FACTORY_WITH_JSON(DigitalMixerPluginFactory, "krita_digitalmixer.json", \
registerPlugin<DigitalMixerPlugin>();)  
 class DigitalMixerDockFactory : public KoDockFactoryBase {
 public:
diff --git a/krita/plugins/extensions/dockers/historydocker/CMakeLists.txt \
b/krita/plugins/extensions/dockers/historydocker/CMakeLists.txt index \
                6166ac0..f81b612 100644
--- a/krita/plugins/extensions/dockers/historydocker/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/historydocker/CMakeLists.txt
@@ -12,6 +12,7 @@ set(kritahistorydocker_PART_SRCS
 )
 
 add_library(kritahistorydocker MODULE ${kritahistorydocker_PART_SRCS})
+kcoreaddons_desktop_to_json(kritahistorydocker kritahistorydocker.desktop)
 
 target_link_libraries(kritahistorydocker kritaimage kritaui)
 
diff --git a/krita/plugins/extensions/dockers/historydocker/History.cpp \
b/krita/plugins/extensions/dockers/historydocker/History.cpp index 7b3de07..6fc9242 \
                100644
--- a/krita/plugins/extensions/dockers/historydocker/History.cpp
+++ b/krita/plugins/extensions/dockers/historydocker/History.cpp
@@ -27,8 +27,7 @@
 
 #include "HistoryDock.h"
 
-K_PLUGIN_FACTORY(HistoryPluginFactory, registerPlugin<HistoryPlugin>();)
-K_EXPORT_PLUGIN(HistoryPluginFactory( "krita" ) )
+K_PLUGIN_FACTORY_WITH_JSON(HistoryPluginFactory, "kritahistorydocker.json", \
registerPlugin<HistoryPlugin>();)  
 class HistoryDockFactory : public KoDockFactoryBase
 {
diff --git a/krita/plugins/extensions/dockers/imagedocker/CMakeLists.txt \
b/krita/plugins/extensions/dockers/imagedocker/CMakeLists.txt index 4834b48..1e9c381 \
                100644
--- a/krita/plugins/extensions/dockers/imagedocker/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/imagedocker/CMakeLists.txt
@@ -9,6 +9,8 @@ set(kritaimagedocker_PART_SRCS
 ki18n_wrap_ui(kritaimagedocker_PART_SRCS forms/wdgimagedocker.ui \
forms/wdgImageViewPopup.ui)  
 add_library(kritaimagedocker MODULE ${kritaimagedocker_PART_SRCS})
+kcoreaddons_desktop_to_json(kritaimagedocker kritaimagedocker.desktop)
+
 target_link_libraries(kritaimagedocker kritaui)
 
 install(TARGETS kritaimagedocker DESTINATION ${PLUGIN_INSTALL_DIR})
diff --git a/krita/plugins/extensions/dockers/imagedocker/imagedocker.cpp \
b/krita/plugins/extensions/dockers/imagedocker/imagedocker.cpp index 3d010bc..519a20f \
                100644
--- a/krita/plugins/extensions/dockers/imagedocker/imagedocker.cpp
+++ b/krita/plugins/extensions/dockers/imagedocker/imagedocker.cpp
@@ -23,8 +23,7 @@
 #include <KoDockFactoryBase.h>
 #include <KoDockRegistry.h>
 
-K_PLUGIN_FACTORY(ImageDockerPluginFactory, registerPlugin<ImageDockerPlugin>();)
-K_EXPORT_PLUGIN(ImageDockerPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(ImageDockerPluginFactory, "kritaimagedocker.json", \
registerPlugin<ImageDockerPlugin>();)  
 class ImageDockerDockFactory: public KoDockFactoryBase {
 public:
diff --git a/krita/plugins/extensions/dockers/imagedocker/imagedocker_dock.cpp \
b/krita/plugins/extensions/dockers/imagedocker/imagedocker_dock.cpp index \
                3ad87b2..72b5eaf 100644
--- a/krita/plugins/extensions/dockers/imagedocker/imagedocker_dock.cpp
+++ b/krita/plugins/extensions/dockers/imagedocker/imagedocker_dock.cpp
@@ -38,6 +38,7 @@
 #include <QButtonGroup>
 #include <QDesktopServices>
 #include <QTemporaryFile>
+#include <QMimeData>
 
 #include "ui_wdgimagedocker.h"
 #include "ui_wdgImageViewPopup.h"
diff --git a/krita/plugins/extensions/dockers/lut/CMakeLists.txt \
b/krita/plugins/extensions/dockers/lut/CMakeLists.txt index 08da1da..302fe50 100644
--- a/krita/plugins/extensions/dockers/lut/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/lut/CMakeLists.txt
@@ -14,6 +14,8 @@ ki18n_wrap_ui(KRITA_LUTDOCKER_PART_SRCS
 )
 
 add_library(kritalutdocker MODULE ${KRITA_LUTDOCKER_PART_SRCS})
+kcoreaddons_desktop_to_json(kritalutdocker krita_lutdocker.desktop)
+
 target_link_libraries(kritalutdocker kritaui ${OCIO_LIBRARIES})
 
 if(HAVE_OPENGL)
diff --git a/krita/plugins/extensions/dockers/lut/lutdocker.cpp \
b/krita/plugins/extensions/dockers/lut/lutdocker.cpp index cef45c2..bcbd8f6 100644
--- a/krita/plugins/extensions/dockers/lut/lutdocker.cpp
+++ b/krita/plugins/extensions/dockers/lut/lutdocker.cpp
@@ -40,8 +40,7 @@
 namespace OCIO = OCIO_NAMESPACE;
 
 
-K_PLUGIN_FACTORY(LutDockerPluginFactory, registerPlugin<LutDockerPlugin>();)
-K_EXPORT_PLUGIN(LutDockerPluginFactory( "krita" ) )
+K_PLUGIN_FACTORY_WITH_JSON(LutDockerPluginFactory, "krita_lutdocker.json", \
registerPlugin<LutDockerPlugin>();)  
 class LutDockerDockFactory : public KoDockFactoryBase {
 public:
diff --git a/krita/plugins/extensions/dockers/overview/CMakeLists.txt \
b/krita/plugins/extensions/dockers/overview/CMakeLists.txt index 712ee5c..d3bdcd4 \
                100644
--- a/krita/plugins/extensions/dockers/overview/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/overview/CMakeLists.txt
@@ -1,6 +1,7 @@
 set(KRITA_OVERVIEWDOCKER_PART_SRCS overviewdocker.cpp overviewdocker_dock.cpp \
overviewwidget.cc )  
 add_library(kritaoverviewdocker MODULE ${KRITA_OVERVIEWDOCKER_PART_SRCS})
+kcoreaddons_desktop_to_json(kritaoverviewdocker krita_overviewdocker.desktop)
 
 target_link_libraries(kritaoverviewdocker kritaui)
 
diff --git a/krita/plugins/extensions/dockers/overview/overviewdocker.cpp \
b/krita/plugins/extensions/dockers/overview/overviewdocker.cpp index 8804a31..5b8b424 \
                100644
--- a/krita/plugins/extensions/dockers/overview/overviewdocker.cpp
+++ b/krita/plugins/extensions/dockers/overview/overviewdocker.cpp
@@ -37,8 +37,7 @@
 #include "overviewdocker_dock.h"
 #include <KoDockRegistry.h>
 
-K_PLUGIN_FACTORY(OverviewDockerPluginFactory, \
                registerPlugin<OverviewDockerPlugin>();)
-K_EXPORT_PLUGIN(OverviewDockerPluginFactory( "krita" ) )
+K_PLUGIN_FACTORY_WITH_JSON(OverviewDockerPluginFactory, "krita_overviewdocker.json", \
registerPlugin<OverviewDockerPlugin>();)  
 class OverviewDockerDockFactory : public KoDockFactoryBase {
 public:
diff --git a/krita/plugins/extensions/dockers/palettedocker/CMakeLists.txt \
b/krita/plugins/extensions/dockers/palettedocker/CMakeLists.txt index \
                b7aabae..b681f4a 100644
--- a/krita/plugins/extensions/dockers/palettedocker/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/palettedocker/CMakeLists.txt
@@ -6,6 +6,7 @@ ki18n_wrap_ui(KRITA_PALETTEDOCKER_PART_SRCS
 )
 
 add_library(kritapalettedocker MODULE ${KRITA_PALETTEDOCKER_PART_SRCS})
+kcoreaddons_desktop_to_json(kritapalettedocker krita_palettedocker.desktop)
 
 target_link_libraries(kritapalettedocker kritaui)
 
diff --git a/krita/plugins/extensions/dockers/palettedocker/palettedocker.cpp \
b/krita/plugins/extensions/dockers/palettedocker/palettedocker.cpp index \
                d737382..988f192 100644
--- a/krita/plugins/extensions/dockers/palettedocker/palettedocker.cpp
+++ b/krita/plugins/extensions/dockers/palettedocker/palettedocker.cpp
@@ -34,8 +34,7 @@
 #include "palettedocker_dock.h"
 #include <KoDockRegistry.h>
 
-K_PLUGIN_FACTORY(PaletteDockerPluginFactory, registerPlugin<PaletteDockerPlugin>();)
-K_EXPORT_PLUGIN(PaletteDockerPluginFactory( "krita" ) )
+K_PLUGIN_FACTORY_WITH_JSON(PaletteDockerPluginFactory, "krita_palettedocker.json", \
registerPlugin<PaletteDockerPlugin>();)  
 class PaletteDockerDockFactory : public KoDockFactoryBase {
 public:
diff --git a/krita/plugins/extensions/dockers/patterndocker/CMakeLists.txt \
b/krita/plugins/extensions/dockers/patterndocker/CMakeLists.txt index \
                830f27e..94b72b5 100644
--- a/krita/plugins/extensions/dockers/patterndocker/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/patterndocker/CMakeLists.txt
@@ -2,6 +2,7 @@
 set(KRITA_PATTERNDOCKER_PART_SRCS patterndocker.cpp patterndocker_dock.cpp )
 
 add_library(kritapatterndocker MODULE ${KRITA_PATTERNDOCKER_PART_SRCS})
+kcoreaddons_desktop_to_json(kritapatterndocker krita_patterndocker.desktop)
 
 target_link_libraries(kritapatterndocker kritaui)
 
diff --git a/krita/plugins/extensions/dockers/patterndocker/patterndocker.cpp \
b/krita/plugins/extensions/dockers/patterndocker/patterndocker.cpp index \
                70327d2..d4a52f4 100644
--- a/krita/plugins/extensions/dockers/patterndocker/patterndocker.cpp
+++ b/krita/plugins/extensions/dockers/patterndocker/patterndocker.cpp
@@ -37,8 +37,7 @@
 #include "patterndocker_dock.h"
 #include <KoDockRegistry.h>
 
-K_PLUGIN_FACTORY(PatternDockerPluginFactory, registerPlugin<PatternDockerPlugin>();)
-K_EXPORT_PLUGIN(PatternDockerPluginFactory( "krita" ) )
+K_PLUGIN_FACTORY_WITH_JSON(PatternDockerPluginFactory, "krita_patterndocker.json", \
registerPlugin<PatternDockerPlugin>();)  
 class PatternDockerDockFactory : public KoDockFactoryBase {
 public:
diff --git a/krita/plugins/extensions/dockers/presetdocker/CMakeLists.txt \
b/krita/plugins/extensions/dockers/presetdocker/CMakeLists.txt index a6c76ef..eabf906 \
                100644
--- a/krita/plugins/extensions/dockers/presetdocker/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/presetdocker/CMakeLists.txt
@@ -2,6 +2,7 @@
 set(KRITA_PRESETDOCKER_PART_SRCS presetdocker.cpp presetdocker_dock.cpp )
 
 add_library(kritapresetdocker MODULE ${KRITA_PRESETDOCKER_PART_SRCS})
+kcoreaddons_desktop_to_json(kritapresetdocker krita_presetdocker.desktop)
 
 target_link_libraries(kritapresetdocker kritaui)
 
diff --git a/krita/plugins/extensions/dockers/presetdocker/presetdocker.cpp \
b/krita/plugins/extensions/dockers/presetdocker/presetdocker.cpp index \
                fcaa3cf..09e1337 100644
--- a/krita/plugins/extensions/dockers/presetdocker/presetdocker.cpp
+++ b/krita/plugins/extensions/dockers/presetdocker/presetdocker.cpp
@@ -37,8 +37,7 @@
 #include "presetdocker_dock.h"
 #include <KoDockRegistry.h>
 
-K_PLUGIN_FACTORY(PresetDockerPluginFactory, registerPlugin<PresetDockerPlugin>();)
-K_EXPORT_PLUGIN(PresetDockerPluginFactory( "krita" ) )
+K_PLUGIN_FACTORY_WITH_JSON(PresetDockerPluginFactory, "krita_presetdocker.json", \
registerPlugin<PresetDockerPlugin>();)  
 class PresetDockerDockFactory : public KoDockFactoryBase {
 public:
diff --git a/krita/plugins/extensions/dockers/smallcolorselector/CMakeLists.txt \
b/krita/plugins/extensions/dockers/smallcolorselector/CMakeLists.txt index \
                12484b2..e7167db 100644
--- a/krita/plugins/extensions/dockers/smallcolorselector/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/smallcolorselector/CMakeLists.txt
@@ -4,6 +4,7 @@ set(KRITA_smallCOLORSELECTOR_PART_SRCS smallcolorselector.cc \
smallcolorselector_  # ki18n_wrap_ui(kritasmallcolorselector_PART_SRCS myuifile.ui )
 
 add_library(kritasmallcolorselector MODULE ${KRITA_smallCOLORSELECTOR_PART_SRCS})
+kcoreaddons_desktop_to_json(kritasmallcolorselector \
krita_smallcolorselector.desktop)  
 target_link_libraries(kritasmallcolorselector kritaui)
 
diff --git a/krita/plugins/extensions/dockers/smallcolorselector/smallcolorselector.cc \
b/krita/plugins/extensions/dockers/smallcolorselector/smallcolorselector.cc index \
                b814b54..6dd21ea 100644
--- a/krita/plugins/extensions/dockers/smallcolorselector/smallcolorselector.cc
+++ b/krita/plugins/extensions/dockers/smallcolorselector/smallcolorselector.cc
@@ -25,8 +25,7 @@
 
 #include "smallcolorselector_dock.h"
 
-K_PLUGIN_FACTORY(SmallColorSelectorPluginFactory, \
                registerPlugin<SmallColorSelectorPlugin>();)
-K_EXPORT_PLUGIN(SmallColorSelectorPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(SmallColorSelectorPluginFactory, \
"krita_smallcolorselector.json", registerPlugin<SmallColorSelectorPlugin>();)  
 class SmallColorSelectorDockFactory : public KoDockFactoryBase
 {
diff --git a/krita/plugins/extensions/dockers/specificcolorselector/CMakeLists.txt \
b/krita/plugins/extensions/dockers/specificcolorselector/CMakeLists.txt index \
                3706e3d..d738e50 100644
--- a/krita/plugins/extensions/dockers/specificcolorselector/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/specificcolorselector/CMakeLists.txt
@@ -4,6 +4,7 @@ set(KRITA_SPECIFICCOLORSELECTOR_PART_SRCS specificcolorselector.cc \
specificcolor  # ki18n_wrap_ui(kritaspecificcolorselector_PART_SRCS myuifile.ui )
 
 add_library(kritaspecificcolorselector MODULE \
${KRITA_SPECIFICCOLORSELECTOR_PART_SRCS}) \
+kcoreaddons_desktop_to_json(kritaspecificcolorselector \
krita_specificcolorselector.desktop)  
 target_link_libraries(kritaspecificcolorselector kritaui ${OPENEXR_LIBRARIES})
 
diff --git a/krita/plugins/extensions/dockers/specificcolorselector/kis_specific_color_selector_widget.cc \
b/krita/plugins/extensions/dockers/specificcolorselector/kis_specific_color_selector_widget.cc
 index 8d4e1d9..67a83e2 100644
--- a/krita/plugins/extensions/dockers/specificcolorselector/kis_specific_color_selector_widget.cc
                
+++ b/krita/plugins/extensions/dockers/specificcolorselector/kis_specific_color_selector_widget.cc
 @@ -180,3 +180,5 @@ void KisSpecificColorSelectorWidget::setCustomColorSpace(const \
KoColorSpace *col  setColorSpace(colorSpace);
     setColor(m_color);
 }
+
+#include "moc_kis_specific_color_selector_widget.cpp"
\ No newline at end of file
diff --git a/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector.cc \
b/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector.cc \
                index 5e68772..8607de2 100644
--- a/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector.cc
+++ b/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector.cc
@@ -37,8 +37,7 @@
 
 #include "specificcolorselector_dock.h"
 
-K_PLUGIN_FACTORY(SpecificColorSelectorPluginFactory, \
                registerPlugin<SpecificColorSelectorPlugin>();)
-K_EXPORT_PLUGIN(SpecificColorSelectorPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(SpecificColorSelectorPluginFactory, \
"krita_specificcolorselector.json", registerPlugin<SpecificColorSelectorPlugin>();)  
 class SpecificColorSelectorDockFactory : public KoDockFactoryBase
 {
@@ -80,4 +79,4 @@ SpecificColorSelectorPlugin::~SpecificColorSelectorPlugin()
 {
 }
 
-#include "specificcolorselector.moc"
+#include "moc_specificcolorselector.cpp"
diff --git a/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector_dock.cc \
b/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector_dock.cc
 index 5d54841..d204b4b 100644
--- a/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector_dock.cc
                
+++ b/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector_dock.cc
 @@ -95,4 +95,4 @@ void SpecificColorSelectorDock::layerChanged(const KisNodeSP node)
     m_colorSelector->setColor(m_view->resourceProvider()->fgColor());
 }
 
-
+#include "moc_specificcolorselector_dock.cpp"
diff --git a/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector_dock.h \
b/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector_dock.h \
                index 56e6f4c..f899b10 100644
--- a/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector_dock.h
                
+++ b/krita/plugins/extensions/dockers/specificcolorselector/specificcolorselector_dock.h
 @@ -1,3 +1,4 @@
+
 /*
  *  Copyright (c) 2008 Cyrille Berger <cberger@cberger.net>
  *
diff --git a/krita/plugins/extensions/dockers/tasksetdocker/CMakeLists.txt \
b/krita/plugins/extensions/dockers/tasksetdocker/CMakeLists.txt index \
                e48da01..766a3ec 100644
--- a/krita/plugins/extensions/dockers/tasksetdocker/CMakeLists.txt
+++ b/krita/plugins/extensions/dockers/tasksetdocker/CMakeLists.txt
@@ -5,6 +5,7 @@ ki18n_wrap_ui(KRITA_TASKSETDOCKER_PART_SRCS
     wdgtasksetdocker.ui
 )
 add_library(kritatasksetdocker MODULE ${KRITA_TASKSETDOCKER_PART_SRCS})
+kcoreaddons_desktop_to_json(kritatasksetdocker krita_tasksetdocker.desktop)
 
 target_link_libraries(kritatasksetdocker kritaui)
 
diff --git a/krita/plugins/extensions/dockers/tasksetdocker/tasksetdocker.cpp \
b/krita/plugins/extensions/dockers/tasksetdocker/tasksetdocker.cpp index \
                f62cee3..2b7fdcd 100644
--- a/krita/plugins/extensions/dockers/tasksetdocker/tasksetdocker.cpp
+++ b/krita/plugins/extensions/dockers/tasksetdocker/tasksetdocker.cpp
@@ -37,8 +37,7 @@
 #include "tasksetdocker_dock.h"
 #include <KoDockRegistry.h>
 
-K_PLUGIN_FACTORY(TasksetDockerPluginFactory, registerPlugin<TasksetDockerPlugin>();)
-K_EXPORT_PLUGIN(TasksetDockerPluginFactory( "krita" ) )
+K_PLUGIN_FACTORY_WITH_JSON(TasksetDockerPluginFactory, "krita_tasksetdocker.json", \
registerPlugin<TasksetDockerPlugin>();)  
 class TasksetDockerDockFactory : public KoDockFactoryBase {
 public:
diff --git a/krita/plugins/extensions/dropshadow/CMakeLists.txt \
b/krita/plugins/extensions/dropshadow/CMakeLists.txt index 0cf24fd..0d154e7 100644
--- a/krita/plugins/extensions/dropshadow/CMakeLists.txt
+++ b/krita/plugins/extensions/dropshadow/CMakeLists.txt
@@ -5,7 +5,7 @@ set(kritadropshadow_PART_SRCS kis_dropshadow.cc dlg_dropshadow.cc \
kis_dropshadow  ki18n_wrap_ui(kritadropshadow_PART_SRCS wdg_dropshadow.ui )
 
 add_library(kritadropshadow MODULE ${kritadropshadow_PART_SRCS})
-
+kcoreaddons_desktop_to_json(kritadropshadow kritadropshadow.desktop)
 
 
 target_link_libraries(kritadropshadow kritaui)
diff --git a/krita/plugins/extensions/dropshadow/dlg_dropshadow.cc \
b/krita/plugins/extensions/dropshadow/dlg_dropshadow.cc index da37643..1ca6bfa 100644
--- a/krita/plugins/extensions/dropshadow/dlg_dropshadow.cc
+++ b/krita/plugins/extensions/dropshadow/dlg_dropshadow.cc
@@ -27,6 +27,7 @@
 #include <QComboBox>
 #include <QColor>
 
+#include <kglobal.h>
 #include <kconfig.h>
 #include <klocale.h>
 #include <knuminput.h>
diff --git a/krita/plugins/extensions/dropshadow/kis_dropshadow_plugin.cc \
b/krita/plugins/extensions/dropshadow/kis_dropshadow_plugin.cc index ac226dc..2d8feec \
                100644
--- a/krita/plugins/extensions/dropshadow/kis_dropshadow_plugin.cc
+++ b/krita/plugins/extensions/dropshadow/kis_dropshadow_plugin.cc
@@ -37,8 +37,8 @@
 #include "kis_dropshadow.h"
 #include "dlg_dropshadow.h"
 
-K_PLUGIN_FACTORY(KisDropshadowPluginFactory, registerPlugin<KisDropshadowPlugin>();)
-K_EXPORT_PLUGIN(KisDropshadowPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(KisDropshadowPluginFactory, "kritadropshadow.json", \
registerPlugin<KisDropshadowPlugin>();) +
 
 KisDropshadowPlugin::KisDropshadowPlugin(QObject *parent, const QVariantList &)
         : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/gmic/kis_gmic_plugin.cpp \
b/krita/plugins/extensions/gmic/kis_gmic_plugin.cpp index b6711cd..9c00465 100644
--- a/krita/plugins/extensions/gmic/kis_gmic_plugin.cpp
+++ b/krita/plugins/extensions/gmic/kis_gmic_plugin.cpp
@@ -67,7 +67,7 @@
 #include <kis_gmic_small_applicator.h>
 #include "gmic.h"
 
-K_PLUGIN_FACTORY(KisGmicPluginFactory, registerPlugin<KisGmicPlugin>();)
+K_PLUGIN_FACTORY_WITH_JSON(KisGmicPluginFactory, registerPlugin<KisGmicPlugin>();)
 K_EXPORT_PLUGIN(KisGmicPluginFactory("krita"))
 
 const QString STANDARD_GMIC_DEFINITION = "gmic_def.gmic";
diff --git a/krita/plugins/extensions/histogram/CMakeLists.txt \
b/krita/plugins/extensions/histogram/CMakeLists.txt index d4e5518..f1a697e 100644
--- a/krita/plugins/extensions/histogram/CMakeLists.txt
+++ b/krita/plugins/extensions/histogram/CMakeLists.txt
@@ -5,7 +5,7 @@ set(kritahistogram_PART_SRCS histogram.cc dlg_histogram.cc \
kis_histogram_widget.  ki18n_wrap_ui(kritahistogram_PART_SRCS wdghistogram.ui )
 
 add_library(kritahistogram MODULE ${kritahistogram_PART_SRCS})
-
+kcoreaddons_desktop_to_json(kritahistogram kritahistogram.desktop)
 
 
 target_link_libraries(kritahistogram kritaui)
diff --git a/krita/plugins/extensions/histogram/histogram.cc \
b/krita/plugins/extensions/histogram/histogram.cc index aac0610..8ab2543 100644
--- a/krita/plugins/extensions/histogram/histogram.cc
+++ b/krita/plugins/extensions/histogram/histogram.cc
@@ -33,8 +33,7 @@
 #include "kis_node_manager.h"
 #include <kis_action.h>
 
-K_PLUGIN_FACTORY(HistogramFactory, registerPlugin<Histogram>();)
-K_EXPORT_PLUGIN(HistogramFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(HistogramFactory, "kritahistogram.json", \
registerPlugin<Histogram>();)  
 Histogram::Histogram(QObject *parent, const QVariantList &)
         : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/imagesize/dlg_imagesize.cc \
b/krita/plugins/extensions/imagesize/dlg_imagesize.cc index 7e27999..8b05131 100644
--- a/krita/plugins/extensions/imagesize/dlg_imagesize.cc
+++ b/krita/plugins/extensions/imagesize/dlg_imagesize.cc
@@ -26,6 +26,7 @@
 #include <KoSizeGroup.h>
 #include <klocalizedstring.h>
 #include <klocale.h>
+#include <kglobal.h>
 
 #include <kis_filter_strategy.h>
 
diff --git a/krita/plugins/extensions/imagesize/imagesize.cc \
b/krita/plugins/extensions/imagesize/imagesize.cc index 312505a..cc7b6df 100644
--- a/krita/plugins/extensions/imagesize/imagesize.cc
+++ b/krita/plugins/extensions/imagesize/imagesize.cc
@@ -42,7 +42,7 @@
 #include "kis_filter_strategy.h"
 #include "kis_action.h"
 
-K_PLUGIN_FACTORY(ImageSizeFactory, registerPlugin<ImageSize>();)
+K_PLUGIN_FACTORY_WITH_JSON(ImageSizeFactory, registerPlugin<ImageSize>();)
 K_EXPORT_PLUGIN(ImageSizeFactory("krita"))
 
 ImageSize::ImageSize(QObject *parent, const QVariantList &)
diff --git a/krita/plugins/extensions/imagesplit/CMakeLists.txt \
b/krita/plugins/extensions/imagesplit/CMakeLists.txt index c06608d..1719229 100644
--- a/krita/plugins/extensions/imagesplit/CMakeLists.txt
+++ b/krita/plugins/extensions/imagesplit/CMakeLists.txt
@@ -11,6 +11,7 @@ ki18n_wrap_ui(kritaimagesplit_PART_SRCS
 add_library(kritaimagesplit MODULE ${kritaimagesplit_PART_SRCS})
 
 target_link_libraries(kritaimagesplit kritaui)
+kcoreaddons_desktop_to_json(kritaimagesplit kritaimagesplit.desktop)
 
 install(TARGETS kritaimagesplit  DESTINATION ${PLUGIN_INSTALL_DIR})
 
diff --git a/krita/plugins/extensions/imagesplit/imagesplit.cpp \
b/krita/plugins/extensions/imagesplit/imagesplit.cpp index e10ab2f..524f94a 100644
--- a/krita/plugins/extensions/imagesplit/imagesplit.cpp
+++ b/krita/plugins/extensions/imagesplit/imagesplit.cpp
@@ -46,8 +46,7 @@
 
 #include "dlg_imagesplit.h"
 
-K_PLUGIN_FACTORY(ImagesplitFactory, registerPlugin<Imagesplit>();)
-K_EXPORT_PLUGIN(ImagesplitFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(ImagesplitFactory, "kritaimagesplit.json", \
registerPlugin<Imagesplit>();)  
 Imagesplit::Imagesplit(QObject *parent, const QVariantList &)
     : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/layergroupswitcher/CMakeLists.txt \
b/krita/plugins/extensions/layergroupswitcher/CMakeLists.txt index 9b8ae4b..1a2bd3a \
                100644
--- a/krita/plugins/extensions/layergroupswitcher/CMakeLists.txt
+++ b/krita/plugins/extensions/layergroupswitcher/CMakeLists.txt
@@ -3,6 +3,7 @@ set(kritalayergroupswitcher_PART_SRCS
 )
 
 add_library(kritalayergroupswitcher MODULE ${kritalayergroupswitcher_PART_SRCS})
+kcoreaddons_desktop_to_json(kritalayergroupswitcher kritalayergroupswitcher.desktop)
 
 target_link_libraries(kritalayergroupswitcher kritaui)
 
diff --git a/krita/plugins/extensions/layergroupswitcher/layergroupswitcher.cpp \
b/krita/plugins/extensions/layergroupswitcher/layergroupswitcher.cpp index \
                cb7f305..79bbe10 100644
--- a/krita/plugins/extensions/layergroupswitcher/layergroupswitcher.cpp
+++ b/krita/plugins/extensions/layergroupswitcher/layergroupswitcher.cpp
@@ -35,8 +35,7 @@
 
 #include "kis_action.h"
 
-K_PLUGIN_FACTORY(LayerGroupSwitcherFactory, registerPlugin<LayerGroupSwitcher>();)
-K_EXPORT_PLUGIN(LayerGroupSwitcherFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(LayerGroupSwitcherFactory, \
"kritalayergroupswitcher.json", registerPlugin<LayerGroupSwitcher>();)  
 LayerGroupSwitcher::LayerGroupSwitcher(QObject *parent, const QVariantList &)
     : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/layersplit/CMakeLists.txt \
b/krita/plugins/extensions/layersplit/CMakeLists.txt index 3c1474f..4c178ec 100644
--- a/krita/plugins/extensions/layersplit/CMakeLists.txt
+++ b/krita/plugins/extensions/layersplit/CMakeLists.txt
@@ -9,6 +9,7 @@ ki18n_wrap_ui(kritalayersplit_PART_SRCS
     )
 
 add_library(kritalayersplit MODULE ${kritalayersplit_PART_SRCS})
+kcoreaddons_desktop_to_json(kritalayersplit kritalayersplit.desktop)
 
 target_link_libraries(kritalayersplit kritaui)
 
diff --git a/krita/plugins/extensions/layersplit/layersplit.cpp \
b/krita/plugins/extensions/layersplit/layersplit.cpp index 80931d3..084663b 100644
--- a/krita/plugins/extensions/layersplit/layersplit.cpp
+++ b/krita/plugins/extensions/layersplit/layersplit.cpp
@@ -49,8 +49,7 @@
 #include <KoUpdater.h>
 #include <KoProgressUpdater.h>
 
-K_PLUGIN_FACTORY(LayerSplitFactory, registerPlugin<LayerSplit>();)
-K_EXPORT_PLUGIN(LayerSplitFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(LayerSplitFactory, "kritalayersplit.json", \
registerPlugin<LayerSplit>();)  
 LayerSplit::LayerSplit(QObject *parent, const QVariantList &)
     : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/metadataeditor/CMakeLists.txt \
b/krita/plugins/extensions/metadataeditor/CMakeLists.txt index 80b16d0..6c1603e \
                100644
--- a/krita/plugins/extensions/metadataeditor/CMakeLists.txt
+++ b/krita/plugins/extensions/metadataeditor/CMakeLists.txt
@@ -8,6 +8,7 @@ ki18n_wrap_ui(kritametadataeditor_PART_SRCS
 )
 
 add_library(kritametadataeditor MODULE ${kritametadataeditor_PART_SRCS})
+kcoreaddons_desktop_to_json(kritametadataeditor kritametadataeditor.desktop)
 
 target_link_libraries(kritametadataeditor kritaui )
 
diff --git a/krita/plugins/extensions/metadataeditor/kis_meta_data_editor.cc \
b/krita/plugins/extensions/metadataeditor/kis_meta_data_editor.cc index \
                ce30526..7deee6d 100644
--- a/krita/plugins/extensions/metadataeditor/kis_meta_data_editor.cc
+++ b/krita/plugins/extensions/metadataeditor/kis_meta_data_editor.cc
@@ -23,6 +23,7 @@
 
 #include <klocale.h>
 #include <kstandarddirs.h>
+#include <kglobal.h>
 
 #include <KoIcon.h>
 #include <kis_debug.h>
diff --git a/krita/plugins/extensions/metadataeditor/metadataeditor.cc \
b/krita/plugins/extensions/metadataeditor/metadataeditor.cc index ca37453..709158d \
                100644
--- a/krita/plugins/extensions/metadataeditor/metadataeditor.cc
+++ b/krita/plugins/extensions/metadataeditor/metadataeditor.cc
@@ -44,8 +44,7 @@
 #include "kis_entry_editor.h"
 #include "kis_meta_data_editor.h"
 
-K_PLUGIN_FACTORY(metadataeditorPluginFactory, \
                registerPlugin<metadataeditorPlugin>();)
-K_EXPORT_PLUGIN(metadataeditorPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(metadataeditorPluginFactory, "kritametadataeditor.json", \
registerPlugin<metadataeditorPlugin>();)  
 metadataeditorPlugin::metadataeditorPlugin(QObject *parent, const QVariantList &)
         : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/modify_selection/CMakeLists.txt \
b/krita/plugins/extensions/modify_selection/CMakeLists.txt index 76a6ce8..ee78b81 \
                100644
--- a/krita/plugins/extensions/modify_selection/CMakeLists.txt
+++ b/krita/plugins/extensions/modify_selection/CMakeLists.txt
@@ -18,7 +18,7 @@ ki18n_wrap_ui(kritamodifyselection_PART_SRCS
     )
 
 add_library(kritamodifyselection MODULE ${kritamodifyselection_PART_SRCS})
-
+kcoreaddons_desktop_to_json(kritamodifyselection kritamodifyselection.desktop)
 
 
 target_link_libraries(kritamodifyselection kritaui)
diff --git a/krita/plugins/extensions/modify_selection/modify_selection.cc \
b/krita/plugins/extensions/modify_selection/modify_selection.cc index \
                dcc2953..a171a2b 100644
--- a/krita/plugins/extensions/modify_selection/modify_selection.cc
+++ b/krita/plugins/extensions/modify_selection/modify_selection.cc
@@ -33,8 +33,7 @@
 #include "dlg_feather_selection.h"
 #include "modify_selection_operations.h"
 
-K_PLUGIN_FACTORY(ModifySelectionFactory, registerPlugin<ModifySelection>();)
-K_EXPORT_PLUGIN(ModifySelectionFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(ModifySelectionFactory, "kritamodifyselection.json", \
registerPlugin<ModifySelection>();)  
 ModifySelection::ModifySelection(QObject *parent, const QVariantList &)
         : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/offsetimage/CMakeLists.txt \
b/krita/plugins/extensions/offsetimage/CMakeLists.txt index 6142a03..f9a6218 100644
--- a/krita/plugins/extensions/offsetimage/CMakeLists.txt
+++ b/krita/plugins/extensions/offsetimage/CMakeLists.txt
@@ -4,6 +4,7 @@ set(kritaoffsetimage_PART_SRCS offsetimage.cpp dlg_offsetimage.cpp \
kis_offset_pr  
 ki18n_wrap_ui(kritaoffsetimage_PART_SRCS wdg_offsetimage.ui )
 add_library(kritaoffsetimage MODULE ${kritaoffsetimage_PART_SRCS})
+kcoreaddons_desktop_to_json(kritaoffsetimage kritaoffsetimage.desktop)
 
 target_link_libraries(kritaoffsetimage kritaui)
 install(TARGETS kritaoffsetimage  DESTINATION ${PLUGIN_INSTALL_DIR})
diff --git a/krita/plugins/extensions/offsetimage/offsetimage.cpp \
b/krita/plugins/extensions/offsetimage/offsetimage.cpp index 24941ab..eee8e45 100644
--- a/krita/plugins/extensions/offsetimage/offsetimage.cpp
+++ b/krita/plugins/extensions/offsetimage/offsetimage.cpp
@@ -39,8 +39,7 @@
 #include "dlg_offsetimage.h"
 #include "kis_offset_processing_visitor.h"
 
-K_PLUGIN_FACTORY(OffsetImageFactory, registerPlugin<OffsetImage>();)
-K_EXPORT_PLUGIN(OffsetImageFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(OffsetImageFactory, "kritaoffsetimage.json", \
registerPlugin<OffsetImage>();)  
 OffsetImage::OffsetImage(QObject *parent, const QVariantList &)
         : KisViewPlugin(parent)
@@ -144,4 +143,4 @@ QRect OffsetImage::offsetWrapRect()
 
 
 
-#include "offsetimage.moc"
+#include "moc_offsetimage.cpp"
diff --git a/krita/plugins/extensions/resourcemanager/CMakeLists.txt \
b/krita/plugins/extensions/resourcemanager/CMakeLists.txt index af67978..0a44c89 \
                100644
--- a/krita/plugins/extensions/resourcemanager/CMakeLists.txt
+++ b/krita/plugins/extensions/resourcemanager/CMakeLists.txt
@@ -14,6 +14,7 @@ ki18n_wrap_ui(kritaresourcemanager_PART_SRCS
 )
 
 add_library(kritaresourcemanager MODULE ${kritaresourcemanager_PART_SRCS})
+kcoreaddons_desktop_to_json(kritaresourcemanager kritaresourcemanager.desktop)
 
 target_link_libraries(kritaresourcemanager kowidgets kritaui kritalibpaintop)
 
diff --git a/krita/plugins/extensions/resourcemanager/resourcebundle_manifest.h \
b/krita/plugins/extensions/resourcemanager/resourcebundle_manifest.h index \
                e4de7a2..3fdfded 100644
--- a/krita/plugins/extensions/resourcemanager/resourcebundle_manifest.h
+++ b/krita/plugins/extensions/resourcemanager/resourcebundle_manifest.h
@@ -18,11 +18,13 @@
 #ifndef KOXMLRESOURCEBUNDLEMANIFEST_H
 #define KOXMLRESOURCEBUNDLEMANIFEST_H
 
+#include <QString>
 #include <QPair>
 #include <QMap>
 #include <QMultiMap>
 #include "krita_export.h"
 
+class QIODevice;
 
 class  ResourceBundleManifest
 {
diff --git a/krita/plugins/extensions/resourcemanager/resourcemanager.cpp \
b/krita/plugins/extensions/resourcemanager/resourcemanager.cpp index 2c67a46..5ada137 \
                100644
--- a/krita/plugins/extensions/resourcemanager/resourcemanager.cpp
+++ b/krita/plugins/extensions/resourcemanager/resourcemanager.cpp
@@ -104,8 +104,7 @@ public:
 
 };
 
-K_PLUGIN_FACTORY(ResourceManagerFactory, registerPlugin<ResourceManager>();)
-K_EXPORT_PLUGIN(ResourceManagerFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(ResourceManagerFactory, "kritaresourcemanager.json", \
registerPlugin<ResourceManager>();)  
 ResourceManager::ResourceManager(QObject *parent, const QVariantList &)
     : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/resourcemanager/tests/CMakeLists.txt \
b/krita/plugins/extensions/resourcemanager/tests/CMakeLists.txt index \
                abf5a4dd..3c1231e 100644
--- a/krita/plugins/extensions/resourcemanager/tests/CMakeLists.txt
+++ b/krita/plugins/extensions/resourcemanager/tests/CMakeLists.txt
@@ -12,4 +12,4 @@ macro_add_unittest_definitions()
 
 set(ResourceBundleTest_SRCS ResourceBundleTest.cpp ../resourcebundle.cpp \
../resourcebundle_manifest.cpp)  kde4_add_unit_test(ResourceBundleTest TESTNAME \
                krita-resourcemanager-ResourceBundleTest ${ResourceBundleTest_SRCS})
-target_link_libraries(ResourceBundleTest kritaui kritalibbrush kritalibpaintop \
${QT_QTTEST_LIBRARY} ${KDE4_KDEUI_LIBS}) +target_link_libraries(ResourceBundleTest \
                kritaui kritalibbrush kritalibpaintop Qt5::Test ${KDE4_KDEUI_LIBS})
diff --git a/krita/plugins/extensions/rotateimage/CMakeLists.txt \
b/krita/plugins/extensions/rotateimage/CMakeLists.txt index 33aca26..a125e20 100644
--- a/krita/plugins/extensions/rotateimage/CMakeLists.txt
+++ b/krita/plugins/extensions/rotateimage/CMakeLists.txt
@@ -11,7 +11,7 @@ set(kritarotateimage_PART_SRCS rotateimage.cc dlg_rotateimage.cc )
 ki18n_wrap_ui(kritarotateimage_PART_SRCS wdg_rotateimage.ui )
 
 add_library(kritarotateimage MODULE ${kritarotateimage_PART_SRCS})
-
+kcoreaddons_desktop_to_json(kritarotateimage kritarotateimage.desktop)
 
 
 target_link_libraries(kritarotateimage kritaui)
diff --git a/krita/plugins/extensions/rotateimage/rotateimage.cc \
b/krita/plugins/extensions/rotateimage/rotateimage.cc index b83416d..3560023 100644
--- a/krita/plugins/extensions/rotateimage/rotateimage.cc
+++ b/krita/plugins/extensions/rotateimage/rotateimage.cc
@@ -38,8 +38,7 @@
 
 #include "dlg_rotateimage.h"
 
-K_PLUGIN_FACTORY(RotateImageFactory, registerPlugin<RotateImage>();)
-K_EXPORT_PLUGIN(RotateImageFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(RotateImageFactory, "kritarotateimage.json", \
registerPlugin<RotateImage>();)  
 RotateImage::RotateImage(QObject *parent, const QVariantList &)
         : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/separate_channels/CMakeLists.txt \
b/krita/plugins/extensions/separate_channels/CMakeLists.txt index bfabcd0..8f9acd9 \
                100644
--- a/krita/plugins/extensions/separate_channels/CMakeLists.txt
+++ b/krita/plugins/extensions/separate_channels/CMakeLists.txt
@@ -2,6 +2,7 @@ set(kritaseparatechannels_PART_SRCS kis_channel_separator.cc \
dlg_separate.cc kis  
 ki18n_wrap_ui(kritaseparatechannels_PART_SRCS wdg_separations.ui )
 add_library(kritaseparatechannels MODULE ${kritaseparatechannels_PART_SRCS})
+kcoreaddons_desktop_to_json(kritaseparatechannels kritaseparatechannels.desktop)
 
 target_link_libraries(kritaseparatechannels kritaui)
 
diff --git a/krita/plugins/extensions/separate_channels/kis_separate_channels_plugin.cc \
b/krita/plugins/extensions/separate_channels/kis_separate_channels_plugin.cc index \
                b81ffb7..7b478b8 100644
--- a/krita/plugins/extensions/separate_channels/kis_separate_channels_plugin.cc
+++ b/krita/plugins/extensions/separate_channels/kis_separate_channels_plugin.cc
@@ -43,8 +43,7 @@
 #include "kis_channel_separator.h"
 #include "dlg_separate.h"
 
-K_PLUGIN_FACTORY(KisSeparateChannelsPluginFactory, \
                registerPlugin<KisSeparateChannelsPlugin>();)
-K_EXPORT_PLUGIN(KisSeparateChannelsPluginFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(KisSeparateChannelsPluginFactory, \
"kritaseparatechannels.json", registerPlugin<KisSeparateChannelsPlugin>();)  
 KisSeparateChannelsPlugin::KisSeparateChannelsPlugin(QObject *parent, const \
QVariantList &)  : KisViewPlugin(parent)
diff --git a/krita/plugins/extensions/shearimage/CMakeLists.txt \
b/krita/plugins/extensions/shearimage/CMakeLists.txt index 2b9288b..26588c1 100644
--- a/krita/plugins/extensions/shearimage/CMakeLists.txt
+++ b/krita/plugins/extensions/shearimage/CMakeLists.txt
@@ -5,7 +5,7 @@ set(kritashearimage_PART_SRCS shearimage.cc dlg_shearimage.cc )
 ki18n_wrap_ui(kritashearimage_PART_SRCS wdg_shearimage.ui )
 
 add_library(kritashearimage MODULE ${kritashearimage_PART_SRCS})
-
+kcoreaddons_desktop_to_json(kritashearimage kritashearimage.desktop)
 
 
 target_link_libraries(kritashearimage kritaui)
diff --git a/krita/plugins/extensions/shearimage/dlg_shearimage.cc \
b/krita/plugins/extensions/shearimage/dlg_shearimage.cc index cf8a05f..548fde9 100644
--- a/krita/plugins/extensions/shearimage/dlg_shearimage.cc
+++ b/krita/plugins/extensions/shearimage/dlg_shearimage.cc
@@ -70,12 +70,12 @@ void DlgShearImage::setAngleY(quint32 angle)
 
 qint32 DlgShearImage::angleX()
 {
-    return (qint32)qRound(m_page->shearAngleX->value());
+    return m_page->shearAngleX->value();
 }
 
 qint32 DlgShearImage::angleY()
 {
-    return (qint32)qRound(m_page->shearAngleY->value());
+    return m_page->shearAngleY->value();
 }
 
 // SLOTS
diff --git a/krita/plugins/extensions/shearimage/shearimage.cc \
b/krita/plugins/extensions/shearimage/shearimage.cc index 0413a25..9389f9d 100644
--- a/krita/plugins/extensions/shearimage/shearimage.cc
+++ b/krita/plugins/extensions/shearimage/shearimage.cc
@@ -31,8 +31,7 @@
 
 #include "dlg_shearimage.h"
 
-K_PLUGIN_FACTORY(ShearImageFactory, registerPlugin<ShearImage>();)
-K_EXPORT_PLUGIN(ShearImageFactory("krita"))
+K_PLUGIN_FACTORY_WITH_JSON(ShearImageFactory, "kritashearimage.json", \
registerPlugin<ShearImage>();)  
 ShearImage::ShearImage(QObject *parent, const QVariantList &)
         : KisViewPlugin(parent)
diff --git a/krita/ui/KisMainWindow.cpp b/krita/ui/KisMainWindow.cpp
index af122fd..d4af78d 100644
--- a/krita/ui/KisMainWindow.cpp
+++ b/krita/ui/KisMainWindow.cpp
@@ -356,7 +356,7 @@ KisMainWindow::KisMainWindow()
 
     setAutoSaveSettings(KisFactory::componentName(), false);
 
-    KoPluginLoader::instance()->load("Krita/ViewPlugin", "Type == 'Service' and \
([X-Krita-Version] == 28)", KoPluginLoader::PluginsConfig()); +    \
KoPluginLoader::instance()->load("Krita/ViewPlugin", "Type == 'Service' and \
([X-Krita-Version] == 28)", KoPluginLoader::PluginsConfig(), viewManager());  
     subWindowActivated();
     updateWindowMenu();
diff --git a/libs/koplugin/KoPluginLoader.cpp b/libs/koplugin/KoPluginLoader.cpp
index a8ca898..ba3079d 100644
--- a/libs/koplugin/KoPluginLoader.cpp
+++ b/libs/koplugin/KoPluginLoader.cpp
@@ -55,7 +55,7 @@ KoPluginLoader* KoPluginLoader::instance()
     return s_instance;
 }
 
-void KoPluginLoader::load(const QString & serviceType, const QString & \
versionString, const PluginsConfig &config) +void KoPluginLoader::load(const QString \
& serviceType, const QString & versionString, const PluginsConfig &config, QObject* \
owner)  {
     // Don't load the same plugins again
     if (d->loadedServiceTypes.contains(serviceType)) {
@@ -125,7 +125,7 @@ void KoPluginLoader::load(const QString & serviceType, const \
QString & versionSt  QList<QString> whiteList;
     foreach(QPluginLoader *loader, serviceNames) {
         KPluginFactory *factory = qobject_cast<KPluginFactory \
                *>(loader->instance());
-        QObject *plugin = factory->create<QObject>(0, QVariantList());
+        QObject *plugin = factory->create<QObject>(owner, QVariantList());
         if (plugin) {
             QJsonObject json = loader->metaData().value("MetaData").toObject();
             const QString pluginName = \
                json.value("X-KDE-PluginInfo-Name").toString();
diff --git a/libs/koplugin/KoPluginLoader.h b/libs/koplugin/KoPluginLoader.h
index 1ad046f..191a1a0 100644
--- a/libs/koplugin/KoPluginLoader.h
+++ b/libs/koplugin/KoPluginLoader.h
@@ -111,7 +111,7 @@ public:
      * @param config when passing a valid config only the wanted plugins are \
                actually loaded
      * @return a list of services (by library name) that were not know in the config
      */
-    void load(const QString & serviceType, const QString & versionString = \
QString(), const PluginsConfig &config = PluginsConfig()); +    void load(const \
QString & serviceType, const QString & versionString = QString(), const PluginsConfig \
&config = PluginsConfig(), QObject* owner = 0);  
 private:
     KoPluginLoader();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic