mirror of
https://invent.kde.org/network/krfb
synced 2024-07-01 07:24:29 +00:00
Port from KServiceTypeTrader, etc. to new json style plugins.
Finish porting away from KDELibs4Support. Changed preferred framebuffer config to use plugin ids defaulting to x11.
This commit is contained in:
parent
9bb8e28eeb
commit
10176b9e01
|
@ -16,14 +16,17 @@ include(ECMAddAppIcon)
|
|||
|
||||
find_package(KF5 REQUIRED COMPONENTS
|
||||
I18n
|
||||
Crash
|
||||
Completion
|
||||
Config
|
||||
CoreAddons
|
||||
Crash
|
||||
DBusAddons
|
||||
DNSSD
|
||||
DocTools
|
||||
KDELibs4Support
|
||||
Notifications
|
||||
Wallet
|
||||
WidgetsAddons
|
||||
XmlGui
|
||||
)
|
||||
|
||||
find_package(X11 REQUIRED)
|
||||
|
|
|
@ -15,15 +15,10 @@ add_library(krfb_framebuffer_qt
|
|||
target_link_libraries (krfb_framebuffer_qt
|
||||
Qt5::Core
|
||||
Qt5::Gui
|
||||
KF5::KDELibs4Support
|
||||
KF5::CoreAddons
|
||||
krfbprivate
|
||||
)
|
||||
|
||||
install (TARGETS krfb_framebuffer_qt
|
||||
DESTINATION ${PLUGIN_INSTALL_DIR}
|
||||
DESTINATION ${PLUGIN_INSTALL_DIR}/krfb
|
||||
)
|
||||
|
||||
install (FILES krfb_framebuffer_qt.desktop
|
||||
DESTINATION ${SERVICES_INSTALL_DIR}
|
||||
)
|
||||
|
||||
|
|
109
framebuffers/qt/krfb_framebuffer_qt.json
Normal file
109
framebuffers/qt/krfb_framebuffer_qt.json
Normal file
|
@ -0,0 +1,109 @@
|
|||
{
|
||||
"Encoding": "UTF-8",
|
||||
"KPlugin": {
|
||||
"Description": "Qt based Framebuffer for KRfb.",
|
||||
"Description[ast]": "Esquema Qt de buffer pa KRfb",
|
||||
"Description[bg]": "Основан на Qt фреймбуфер за KRfb.",
|
||||
"Description[bs]": "Kadrobafer za KRfb na osnovu Qt.",
|
||||
"Description[ca@valencia]": "«Framebuffer» basat en Qt per al KRfb.",
|
||||
"Description[ca]": "«Framebuffer» basat en Qt per al KRfb.",
|
||||
"Description[cs]": "Framebuffer založený na Qt pro KRfb.",
|
||||
"Description[da]": "Qt-baseret framebuffer til KRfb.",
|
||||
"Description[de]": "Qt-basierter Framebuffer für KRfb",
|
||||
"Description[el]": "Μνήμη εξόδου βίντεο καρέ με βάση το Qt για το KRfb.",
|
||||
"Description[en_GB]": "Qt based Framebuffer for KRfb.",
|
||||
"Description[es]": "Memoria intermedia de vídeo basada en Qt para KRfb.",
|
||||
"Description[et]": "KRfb Qt põhine kaadripuhver",
|
||||
"Description[eu]": "Qt-n oinarritutako KRfb-ren irteerako bideoa",
|
||||
"Description[fi]": "QT-perustainen Kehyspuskuri KRfb:lle",
|
||||
"Description[fr]": "Sortie vidéo fondée sur Qt pour Krfb.",
|
||||
"Description[ga]": "Maolán fráma le haghaidh KRfb, bunaithe ar Qt.",
|
||||
"Description[gl]": "Framebuffer baseado en Qt para KRfb.",
|
||||
"Description[hr]": "Međuspremnik okvira baziran na Qt-u za KRfb.",
|
||||
"Description[hu]": "Qt-alapú framebuffer a Krfb-hez.",
|
||||
"Description[ia]": "Framebuffer basate sur Qt per KRfb",
|
||||
"Description[it]": "Framebuffer basato su Qt per KRfb.",
|
||||
"Description[kk]": "Qt негіздеген KRfb-нің кадр буфері.",
|
||||
"Description[km]": "Framebuffer មានមូលដ្ឋានលើ Qt សម្រាប់ KRfb ។",
|
||||
"Description[ko]": "KRfb를 위한 Qt 기반 프레임버퍼.",
|
||||
"Description[lt]": "Qt pagrindu veikiantis Framebuffer skirtas KRfb.",
|
||||
"Description[lv]": "Qt balstīts kadrbuferis priekš KRfb.",
|
||||
"Description[nb]": "Qt-basert rammebuffer for KRfb.",
|
||||
"Description[nds]": "Op Qt opbuut Bildpuffer för KRfb",
|
||||
"Description[nl]": "Op Qt gebaseerd framebuffer voor KRfb.",
|
||||
"Description[nn]": "Qt basert framebuffer for KRfb.",
|
||||
"Description[pl]": "Bufor ramki na podstawie Qt dla KRfb.",
|
||||
"Description[pt]": "'Framebuffer' baseado no Qt para o KRfb.",
|
||||
"Description[pt_BR]": "Framebuffer baseado no Qt para o KRfb.",
|
||||
"Description[ru]": "Буфер экрана для KRfb на базе Qt.",
|
||||
"Description[si]": "KRfb සඳහා Qt මත පදනම් වූ රාමු බෆරය",
|
||||
"Description[sk]": "Framebuffer založený na Qt pre KRfb.",
|
||||
"Description[sl]": "Slikovni medpomnilnik za KRFB, ki temelji na Qt",
|
||||
"Description[sr@ijekavian]": "Кадробафер за КРФБ на основу КуТ‑у",
|
||||
"Description[sr@ijekavianlatin]": "Kadrobafer za KRFB na osnovu Qt‑u",
|
||||
"Description[sr@latin]": "Kadrobafer za KRFB na osnovu Qt‑u",
|
||||
"Description[sr]": "Кадробафер за КРФБ на основу КуТ‑у",
|
||||
"Description[sv]": "Qt-baserad rambuffert för Krfb.",
|
||||
"Description[tr]": "KRfb için Qt temelli Çerçeve tamponu.",
|
||||
"Description[uk]": "Заснований на Qt буфер кадрів для KRfb.",
|
||||
"Description[x-test]": "xxQt based Framebuffer for KRfb.xx",
|
||||
"Description[zh_CN]": "基于 Qt 的 KRfb 帧缓冲机制",
|
||||
"Description[zh_TW]": "KRfb 的 Qt-based Framebuffer",
|
||||
"EnabledByDefault": true,
|
||||
"Id": "qt",
|
||||
"License": "GPL",
|
||||
"Name": "Qt Framebuffer for KRfb",
|
||||
"Name[ast]": "Esquema Qt de buffer pa KRfb",
|
||||
"Name[bg]": "Qt фреймбуфер за KRfb",
|
||||
"Name[bs]": "Qt-ov kadrobafer za KRFB",
|
||||
"Name[ca@valencia]": "«Framebuffer» Qt per al KRfb.",
|
||||
"Name[ca]": "«Framebuffer» Qt per al KRfb.",
|
||||
"Name[cs]": "Qt Framebuffer pro KRfb",
|
||||
"Name[da]": "Qt-framebuffer til KRfb",
|
||||
"Name[de]": "Qt-Framebuffer für KRfb",
|
||||
"Name[el]": "Qt Framebuffer for KRfb",
|
||||
"Name[en_GB]": "Qt Framebuffer for KRfb",
|
||||
"Name[es]": "Memoria intermedia de vídeo Qt para KRfb",
|
||||
"Name[et]": "KRfb Qt kaadripuhver",
|
||||
"Name[eu]": "KRfb-ren Qt-ko irteerako bideoa",
|
||||
"Name[fi]": "QT-kehyspuskuri KRfb:lle",
|
||||
"Name[fr]": "Sortie vidéo Qt pour Krfb",
|
||||
"Name[ga]": "Maolán fráma Qt le haghaidh KRfb",
|
||||
"Name[gl]": "Framebuffer de Qt para KRfb",
|
||||
"Name[hr]": "Qt Framebuffer za KRfb",
|
||||
"Name[hu]": "Qt framebuffer a Krfb-hez",
|
||||
"Name[ia]": "Framebuffer Qt per KRfb",
|
||||
"Name[it]": "Framebuffer Qt per KRfb",
|
||||
"Name[kk]": "Qt KRfb кадр буфері",
|
||||
"Name[km]": "Qt Framebuffer សម្រាប់for KRfb",
|
||||
"Name[ko]": "KRfb를 위한 Qt 프레임버퍼",
|
||||
"Name[lt]": "Qt Framebufferis skirtas KRfb",
|
||||
"Name[lv]": "Qt kadrbuferis priekš KRfb.",
|
||||
"Name[nb]": "Qt rammebuffer for KRfb",
|
||||
"Name[nds]": "Qt-Bildpuffer för KRfb",
|
||||
"Name[nl]": "Qt-framebuffer voor KRfb",
|
||||
"Name[nn]": "Qt-framebuffer for KRfb",
|
||||
"Name[pl]": "Bufor ramki Qt dla KRfb",
|
||||
"Name[pt]": "'Framebuffer' do Qt para o KRfb",
|
||||
"Name[pt_BR]": "Framebuffer do Qt para o KRfb",
|
||||
"Name[ru]": "Буфер экрана Qt для KRfb",
|
||||
"Name[si]": "KRfb සඳහා වන Qt රාමුබෆරය",
|
||||
"Name[sk]": "Qt Framebuffer pre KRfb",
|
||||
"Name[sl]": "Slikovni medpomnilnik Qt za KRFB",
|
||||
"Name[sr@ijekavian]": "КуТ‑ов кадробафер за КРФБ",
|
||||
"Name[sr@ijekavianlatin]": "Qt‑ov kadrobafer za KRFB",
|
||||
"Name[sr@latin]": "Qt‑ov kadrobafer za KRFB",
|
||||
"Name[sr]": "КуТ‑ов кадробафер за КРФБ",
|
||||
"Name[sv]": "Qt-rambuffert för Krfb",
|
||||
"Name[tr]": "KRfb için Qt Çerçeve tamponu",
|
||||
"Name[uk]": "Буфер кадрів на Qt для KRfb",
|
||||
"Name[x-test]": "xxQt Framebuffer for KRfbxx",
|
||||
"Name[zh_CN]": "KRfb 的 Qt 帧缓冲机制",
|
||||
"Name[zh_TW]": "Krfb 的 Qt Framebuffer",
|
||||
"ServiceTypes": [
|
||||
"krfb/framebuffer"
|
||||
],
|
||||
"Version": "0.1",
|
||||
"Website": "http://www.kde.org"
|
||||
}
|
||||
}
|
|
@ -22,7 +22,7 @@ QtFrameBuffer::QtFrameBuffer(WId id, QObject *parent)
|
|||
: FrameBuffer(id, parent)
|
||||
{
|
||||
fbImage = QPixmap::grabWindow(win).toImage();
|
||||
fb = new char[fbImage.numBytes()];
|
||||
fb = new char[fbImage.byteCount()];
|
||||
t = new QTimer(this);
|
||||
connect(t, SIGNAL(timeout()), SLOT(updateFrameBuffer()));
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ void QtFrameBuffer::updateFrameBuffer()
|
|||
tiles.append(img.rect());
|
||||
#endif
|
||||
|
||||
memcpy(fb, (const char *)img.bits(), img.numBytes());
|
||||
memcpy(fb, (const char *)img.bits(), img.byteCount());
|
||||
fbImage = img;
|
||||
|
||||
}
|
||||
|
|
|
@ -22,8 +22,10 @@
|
|||
|
||||
#include "qtframebuffer.h"
|
||||
|
||||
#include <KGenericFactory>
|
||||
#include <KPluginFactory>
|
||||
|
||||
K_PLUGIN_FACTORY_WITH_JSON(QtFrameBufferPluginFactory, "krfb_framebuffer_qt.json",
|
||||
registerPlugin<QtFrameBufferPlugin>();)
|
||||
|
||||
QtFrameBufferPlugin::QtFrameBufferPlugin(QObject *parent, const QVariantList &args)
|
||||
: FrameBufferPlugin(parent, args)
|
||||
|
@ -39,9 +41,5 @@ FrameBuffer *QtFrameBufferPlugin::frameBuffer(WId id)
|
|||
return new QtFrameBuffer(id);
|
||||
}
|
||||
|
||||
K_PLUGIN_FACTORY(factory, registerPlugin<QtFrameBufferPlugin>();) \
|
||||
K_EXPORT_PLUGIN(factory("krfb_framebuffer_qt"))
|
||||
|
||||
|
||||
#include "qtframebufferplugin.moc"
|
||||
|
||||
|
|
|
@ -13,21 +13,15 @@ add_library(krfb_framebuffer_x11
|
|||
)
|
||||
|
||||
target_link_libraries (krfb_framebuffer_x11
|
||||
|
||||
Qt5::Core
|
||||
Qt5::Gui
|
||||
${X11_X11_LIB}
|
||||
${X11_Xdamage_LIB}
|
||||
${X11_Xext_LIB}
|
||||
KF5::KDELibs4Support
|
||||
KF5::CoreAddons
|
||||
krfbprivate
|
||||
)
|
||||
|
||||
install (TARGETS krfb_framebuffer_x11
|
||||
DESTINATION ${PLUGIN_INSTALL_DIR}
|
||||
DESTINATION ${PLUGIN_INSTALL_DIR}/krfb
|
||||
)
|
||||
|
||||
install (FILES krfb_framebuffer_x11.desktop
|
||||
DESTINATION ${SERVICES_INSTALL_DIR}
|
||||
)
|
||||
|
||||
|
|
109
framebuffers/x11/krfb_framebuffer_x11.json
Normal file
109
framebuffers/x11/krfb_framebuffer_x11.json
Normal file
|
@ -0,0 +1,109 @@
|
|||
{
|
||||
"Encoding": "UTF-8",
|
||||
"KPlugin": {
|
||||
"Description": "X11 XDamage/XShm based Framebuffer for KRfb.",
|
||||
"Description[ast]": "Esquema de buffer pa KRfb basáu en XDamage/XShm",
|
||||
"Description[bg]": "Основан на X11 XDamage/XShm фреймбуфер за KRfb.",
|
||||
"Description[bs]": "X11 XDamage/XShm baziran framebafer za KRfb.",
|
||||
"Description[ca@valencia]": "«Framebuffer» basat en XDamage/XShmQt de l'X11 per al KRfb.",
|
||||
"Description[ca]": "«Framebuffer» basat en XDamage/XShmQt del X11 per al KRfb.",
|
||||
"Description[cs]": "Framebuffer založený na X11 XDamage/XShm pro KRfb.",
|
||||
"Description[da]": "X11 XDamage/XShm-baseret framebuffer til KRfb.",
|
||||
"Description[de]": "X11 XDamage/XShm-basierter Framebuffer für KRfb.",
|
||||
"Description[el]": "Μνήμη εξόδου βίντεο καρέ με βάση το X11 XDamage/XShm για το KRfb.",
|
||||
"Description[en_GB]": "X11 XDamage/XShm based Framebuffer for KRfb.",
|
||||
"Description[es]": "Memoria intermedia de vídeo basada en X11 Damage/XShm para KRfb.",
|
||||
"Description[et]": "KRfb X11 XDamage/XShm põhine kaadripuhver",
|
||||
"Description[eu]": "X11 XDamage/XShm oinarritutako KRfb-ren irteerako bideoa.",
|
||||
"Description[fi]": "X11 XDamage/XShm-perustainen kehyspuskui KRfb:lle.",
|
||||
"Description[fr]": "Sortie vidéo fondée sur X11 « XDamage / XShm » pour Krfb.",
|
||||
"Description[ga]": "Maolán fráma le haghaidh KRfb, bunaithe ar X11 XDamage/XShm",
|
||||
"Description[gl]": "Framebuffer baseado en Xll XDamage/Xshm para XRfb.",
|
||||
"Description[hr]": "Međuspreminik okvira baziran na X11 XDamage/XShm za KRfb.",
|
||||
"Description[hu]": "X11 XDamage/XShm-alapú framebuffer a Krfb-hez.",
|
||||
"Description[ia]": "Framebuffer basate sur X11 XDamage/XShm per KRfb.",
|
||||
"Description[it]": "Framebuffer basato su XDamage/XShm di X11 per KRfb.",
|
||||
"Description[kk]": "X11 XDamage/XShm негіздеген KRfb кадр буфері.",
|
||||
"Description[km]": "X11 XDamage/XShm based Framebuffer សម្រាប់ KRfb ។",
|
||||
"Description[ko]": "KRfb를 위한 X11 XDamage/XShm 기반 프레임버퍼.",
|
||||
"Description[lt]": "X11 XDamage/XShm paremtas Framebuffer skirtas KRfb.",
|
||||
"Description[lv]": "X11 XDamage/XShm balstīts kadrbuferis priekš KRfb.",
|
||||
"Description[nb]": "Rammebuffer for KRfb basert på X11 XDamage/XShm.",
|
||||
"Description[nds]": "Op X11-XDamage/-XShm opbuut Bildpuffer för KRfb",
|
||||
"Description[nl]": "Op X11 XDamage/XShm gebaseerd framebuffer voor KRfb.",
|
||||
"Description[nn]": "X11 XDamage/XShm basert framebuffer for KRfb.",
|
||||
"Description[pl]": "Bufor ramki na podstawie X11 XDamage/XShm dla KRfb.",
|
||||
"Description[pt]": "'Framebuffer' baseado no XDamage/XShm do X11 para o KRfb.",
|
||||
"Description[pt_BR]": "Framebuffer baseado no XDamage/XShm do X11 para o KRfb.",
|
||||
"Description[ru]": "Буфер экрана для KRfb на базе X11 XDamage/XShm",
|
||||
"Description[si]": "KRfb සඳහා වන රාමු බෆරය මත පදනම් වූ X11 XDamage/XShm.",
|
||||
"Description[sk]": "Framebuffer založený na X11 XDamage/XShm pre KRfb.",
|
||||
"Description[sl]": "Slikovni medpomnilnik za KRFB, ki temelji na X11 XDamage/XShm",
|
||||
"Description[sr@ijekavian]": "Кадробафер за КРФБ на основу Икс‑демиџа/Икс‑схма у Иксу11.",
|
||||
"Description[sr@ijekavianlatin]": "Kadrobafer za KRFB na osnovu XDamagea/XShma u X11.",
|
||||
"Description[sr@latin]": "Kadrobafer za KRFB na osnovu XDamagea/XShma u X11.",
|
||||
"Description[sr]": "Кадробафер за КРФБ на основу Икс‑демиџа/Икс‑схма у Иксу11.",
|
||||
"Description[sv]": "X11 XDamage/XShm-baserad rambuffert för Krfb.",
|
||||
"Description[tr]": "KRfb için X11 XDamage/XShm temelli Çerçeve Tamponu.",
|
||||
"Description[uk]": "Заснований на XDamage/XShm X11 буфер кадрів для KRfb.",
|
||||
"Description[x-test]": "xxX11 XDamage/XShm based Framebuffer for KRfb.xx",
|
||||
"Description[zh_CN]": "基于 X11 XDamage/XShm 扩展的 KRfb 帧缓冲机制。",
|
||||
"Description[zh_TW]": "KRfb 的 X11 XDamage/XShm based Framebuffer",
|
||||
"EnabledByDefault": true,
|
||||
"Id": "x11",
|
||||
"License": "GPL",
|
||||
"Name": "X11 Framebuffer for KRfb",
|
||||
"Name[ast]": "Buffer de X11 pa KRfb",
|
||||
"Name[bg]": "X11 фреймбуфер за KRfb",
|
||||
"Name[bs]": "X11 frame bafer za KRfb",
|
||||
"Name[ca@valencia]": "«Framebuffer» de l'X11 per al KRfb.",
|
||||
"Name[ca]": "«Framebuffer» del X11 per al KRfb.",
|
||||
"Name[cs]": "X11 Framebuffer pro KRfb",
|
||||
"Name[da]": "X11-framebuffer til KRfb",
|
||||
"Name[de]": "X11-Framebuffer für KRfb",
|
||||
"Name[el]": "X11 Framebuffer for KRfb",
|
||||
"Name[en_GB]": "X11 Framebuffer for KRfb",
|
||||
"Name[es]": "Memoria intermedia de vídeo X11 para KRfb",
|
||||
"Name[et]": "KRfb X11 kaadripuhver",
|
||||
"Name[eu]": "KRfb-ren X11-ko irteerako bideoa",
|
||||
"Name[fi]": "X11-kehyspuskuri KRfb:lle",
|
||||
"Name[fr]": "Sortie vidéo X11 pour Krfb",
|
||||
"Name[ga]": "Maolán fráma X11 le haghaidh KRfb",
|
||||
"Name[gl]": "Framebuffer de X11 para KRfb",
|
||||
"Name[hr]": "Međuspremnik okvira X11 za KRfb",
|
||||
"Name[hu]": "X11 framebuffer a Krfb-hez",
|
||||
"Name[ia]": "Framebuffer X11 per KRfb",
|
||||
"Name[it]": "Framebuffer X11 per KRfb",
|
||||
"Name[kk]": "X11 KRfb кадр буфері",
|
||||
"Name[km]": "X11 Framebuffer សម្រាប់ KRfb",
|
||||
"Name[ko]": "KRfb를 위한 X11 프레임버퍼",
|
||||
"Name[lt]": "X11 Framebuffer skirtas KRfb",
|
||||
"Name[lv]": "X11 kadrbuferis priekš KRfb",
|
||||
"Name[nb]": "X11 rammebuffer for KRfb",
|
||||
"Name[nds]": "X11-Bildpuffer för KRfb",
|
||||
"Name[nl]": "X11 framebuffer voor KRfb",
|
||||
"Name[nn]": "X11-framebuffer for KRfb",
|
||||
"Name[pl]": "Bufor ramki X11 dla KRfb",
|
||||
"Name[pt]": "'Framebuffer' do X11 para o KRfb",
|
||||
"Name[pt_BR]": "Framebuffer do X11 para o KRfb",
|
||||
"Name[ru]": "Буфер экрана X11 для KRfb",
|
||||
"Name[si]": "KRfb සඳහා X11 රාමු බෆරය",
|
||||
"Name[sk]": "X11 Framebuffer pre KRfb",
|
||||
"Name[sl]": "Slikovni medpomnilnik X11 za KRFB",
|
||||
"Name[sr@ijekavian]": "Икс11 кадробафер за КРФБ.",
|
||||
"Name[sr@ijekavianlatin]": "X11 kadrobafer za KRFB.",
|
||||
"Name[sr@latin]": "X11 kadrobafer za KRFB.",
|
||||
"Name[sr]": "Икс11 кадробафер за КРФБ.",
|
||||
"Name[sv]": "X11-rambuffert för Krfb",
|
||||
"Name[tr]": "KRfb için X11 Çerçeve Tamponu",
|
||||
"Name[uk]": "Буфер кадрів X11 для KRfb",
|
||||
"Name[x-test]": "xxX11 Framebuffer for KRfbxx",
|
||||
"Name[zh_CN]": "KRfb 的 X11 帧缓冲机制",
|
||||
"Name[zh_TW]": "KRfb 的 X11 Framebuffer",
|
||||
"ServiceTypes": [
|
||||
"krfb/framebuffer"
|
||||
],
|
||||
"Version": "0.1",
|
||||
"Website": "http://www.kde.org"
|
||||
}
|
||||
}
|
|
@ -22,8 +22,10 @@
|
|||
|
||||
#include "x11framebuffer.h"
|
||||
|
||||
#include <KGenericFactory>
|
||||
#include <KPluginFactory>
|
||||
|
||||
K_PLUGIN_FACTORY_WITH_JSON(X11FrameBufferPluginFactory, "krfb_framebuffer_x11.json",
|
||||
registerPlugin<X11FrameBufferPlugin>();)
|
||||
|
||||
X11FrameBufferPlugin::X11FrameBufferPlugin(QObject *parent, const QVariantList &args)
|
||||
: FrameBufferPlugin(parent, args)
|
||||
|
@ -39,9 +41,5 @@ FrameBuffer *X11FrameBufferPlugin::frameBuffer(WId id)
|
|||
return new X11FrameBuffer(id);
|
||||
}
|
||||
|
||||
K_PLUGIN_FACTORY(factory, registerPlugin<X11FrameBufferPlugin>();) \
|
||||
K_EXPORT_PLUGIN(factory("krfb_framebuffer_x11"))
|
||||
|
||||
|
||||
#include "x11framebufferplugin.moc"
|
||||
|
||||
|
|
|
@ -106,11 +106,15 @@ target_link_libraries (krfb
|
|||
${X11_X11_LIB}
|
||||
${X11_Xdamage_LIB}
|
||||
Qt5::Network
|
||||
KF5::Completion
|
||||
KF5::CoreAddons
|
||||
KF5::DBusAddons
|
||||
KF5::DNSSD
|
||||
KF5::KDELibs4Support
|
||||
KF5::I18n
|
||||
KF5::Notifications
|
||||
KF5::Wallet
|
||||
KF5::WidgetsAddons
|
||||
KF5::XmlGui
|
||||
${LIBVNCSERVER_LIBRARIES}
|
||||
)
|
||||
|
||||
|
|
|
@ -26,7 +26,9 @@
|
|||
#include <QDebug>
|
||||
#include <QGlobalStatic>
|
||||
|
||||
#include <KServiceTypeTrader>
|
||||
#include <KPluginFactory>
|
||||
#include <KPluginLoader>
|
||||
#include <KPluginMetaData>
|
||||
|
||||
#include <QtCore/QSharedPointer>
|
||||
|
||||
|
@ -61,30 +63,34 @@ void FrameBufferManager::loadPlugins()
|
|||
{
|
||||
//qDebug();
|
||||
|
||||
// Load the all the plugin factories here, for use later.
|
||||
KService::List offers = KServiceTypeTrader::self()->query("krfb/framebuffer");
|
||||
const QVector<KPluginMetaData> plugins = KPluginLoader::findPlugins(QStringLiteral("krfb"), [](const KPluginMetaData & md) {
|
||||
return md.serviceTypes().contains(QStringLiteral("krfb/framebuffer"));
|
||||
});
|
||||
|
||||
KService::List::const_iterator iter;
|
||||
|
||||
for (iter = offers.constBegin(); iter < offers.constEnd(); ++iter) {
|
||||
QString error;
|
||||
KService::Ptr service = *iter;
|
||||
|
||||
KPluginFactory *factory = KPluginLoader(service->library()).factory();
|
||||
|
||||
if (!factory) {
|
||||
qWarning() << "KPluginFactory could not load the plugin:" << service->library();
|
||||
QVectorIterator<KPluginMetaData> i(plugins);
|
||||
i.toBack();
|
||||
QSet<QString> unique;
|
||||
while (i.hasPrevious()) {
|
||||
KPluginMetaData data = i.previous();
|
||||
// only load plugins once, even if found multiple times!
|
||||
if (unique.contains(data.name()))
|
||||
continue;
|
||||
}
|
||||
|
||||
FrameBufferPlugin *plugin = factory->create<FrameBufferPlugin>(this);
|
||||
|
||||
if (plugin) {
|
||||
//qDebug() << "Loaded plugin:" << service->name();
|
||||
m_plugins.insert(service->library(), plugin);
|
||||
} else {
|
||||
//qDebug() << error;
|
||||
}
|
||||
KPluginFactory *factory = KPluginLoader(data.fileName()).factory();
|
||||
|
||||
if (!factory) {
|
||||
qDebug() << "KPluginFactory could not load the plugin:" << data.fileName();
|
||||
} else {
|
||||
qDebug() << "found plugin at " << data.fileName();
|
||||
}
|
||||
|
||||
FrameBufferPlugin *plugin = factory->create<FrameBufferPlugin>(this);
|
||||
if (plugin) {
|
||||
m_plugins.insert(data.pluginId(), plugin);
|
||||
qDebug() << "Loaded plugin with name " << data.pluginId();
|
||||
} else {
|
||||
qDebug() << "unable to load pluign for " << data.fileName();
|
||||
}
|
||||
unique.insert (data.name());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -111,7 +117,7 @@ QSharedPointer<FrameBuffer> FrameBufferManager::frameBuffer(WId id)
|
|||
while (iter != m_plugins.constEnd()) {
|
||||
|
||||
if (iter.key() == KrfbConfig::preferredFrameBufferPlugin()) {
|
||||
//qDebug() << "Using FrameBuffer:" << KrfbConfig::preferredFrameBufferPlugin();
|
||||
qDebug() << "Using FrameBuffer:" << KrfbConfig::preferredFrameBufferPlugin();
|
||||
|
||||
QSharedPointer<FrameBuffer> frameBuffer(iter.value()->frameBuffer(id));
|
||||
|
||||
|
@ -126,7 +132,7 @@ QSharedPointer<FrameBuffer> FrameBufferManager::frameBuffer(WId id)
|
|||
}
|
||||
|
||||
// No valid framebuffer plugin found.
|
||||
//qDebug() << "No valid framebuffer found. returning null.";
|
||||
qDebug() << "No valid framebuffer found. returning null.";
|
||||
return QSharedPointer<FrameBuffer>();
|
||||
}
|
||||
|
||||
|
|
|
@ -40,6 +40,5 @@ public:
|
|||
virtual FrameBuffer *frameBuffer(WId id) = 0;
|
||||
};
|
||||
|
||||
|
||||
#endif // Header guard
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include <KUser>
|
||||
#include <KRandom>
|
||||
#include <KStringHandler>
|
||||
#include <KWallet/Wallet>
|
||||
#include <KWallet/KWallet>
|
||||
|
||||
#include <dnssd/publicservice.h>
|
||||
using KWallet::Wallet;
|
||||
|
|
56
krfb/krfb-framebuffer.json
Normal file
56
krfb/krfb-framebuffer.json
Normal file
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"KPlugin": {
|
||||
"Description": "Frame Buffer plugins for KRfb",
|
||||
"Description[ast]": "Complementu de buffer pa KRfb",
|
||||
"Description[bg]": "Приставки за фреймбуфер за KRfb",
|
||||
"Description[bs]": "Priključci framebafera za KRfb",
|
||||
"Description[ca@valencia]": "Connectors de «framebuffer» per al KRfb.",
|
||||
"Description[ca]": "Connectors de «framebuffer» per al KRfb.",
|
||||
"Description[cs]": "Moduly Frame bufferu pro KRfb",
|
||||
"Description[da]": "Framebuffer-plugins til KRfb",
|
||||
"Description[de]": "Framebuffer-Module für KRfb",
|
||||
"Description[el]": "Πρόσθετα μνήμης εξόδου βίντεο καρέ για το KRfb",
|
||||
"Description[en_GB]": "Frame Buffer plugins for KRfb",
|
||||
"Description[es]": "Complementos de memoria intermedia de vídeo para KRfb",
|
||||
"Description[et]": "KRfb kaadripuhvri plugin",
|
||||
"Description[eu]": "Irteerako bideoaren pluginak KRfb-rentzako",
|
||||
"Description[fi]": "Kehyspuskuriliitännäinen kohteelle KRfb",
|
||||
"Description[fr]": "Modules externes de sortie vidéo pour Krfb",
|
||||
"Description[ga]": "Breiseáin Mhaoláin Fráma le haghaidh KRfb",
|
||||
"Description[gl]": "Engadido de frame buffer para KRfb",
|
||||
"Description[hr]": "Priključci za međuspremnike okvira za KRfb",
|
||||
"Description[hu]": "Framebuffer bővítmények a Krfb-hez",
|
||||
"Description[ia]": "Plug-ins de Frame Buffer per KRfb",
|
||||
"Description[it]": "Estensioni del framebuffer per KRfb",
|
||||
"Description[ja]": "KRfb の フレームバッファプラグイン",
|
||||
"Description[kk]": "KRfb кадр буфер плагині",
|
||||
"Description[km]": "កម្មវិធីជំនួយ Frame Buffer សម្រាប់ KRfb",
|
||||
"Description[ko]": "KRfb 프레임버퍼 플러그인",
|
||||
"Description[lt]": "Frame Buffer priedai skirti KRfb",
|
||||
"Description[lv]": "Kadru bufera sprudņi priekš KRfb",
|
||||
"Description[nb]": "Rammebuffer-programtillegg for KRfb",
|
||||
"Description[nds]": "Bildpuffer-Modulen för KRfb",
|
||||
"Description[nl]": "Framebuffer-plugins voor KRfb",
|
||||
"Description[nn]": "Framebuffer-tillegg KRfb",
|
||||
"Description[pa]": "KRfb ਲਈ ਫਰੇਮ ਬਫ਼ਰ ਪਲੱਗਇਨ",
|
||||
"Description[pl]": "Wtyczki buforów ramek dla KRfb",
|
||||
"Description[pt]": "'Plugins' de 'framebuffers' para o KRfb",
|
||||
"Description[pt_BR]": "Plugins de framebuffers para o KRfb",
|
||||
"Description[ru]": "Модуль буфера кадров для KRfb",
|
||||
"Description[si]": "KRfb සඳහා රාමු බෆර ප්ලගින",
|
||||
"Description[sk]": "Frame Buffer modul pre KRfb",
|
||||
"Description[sl]": "Vstavki slikovnih medpomnilnikov za KRFB",
|
||||
"Description[sr@ijekavian]": "Прикључци кадробафера за КРФБ",
|
||||
"Description[sr@ijekavianlatin]": "Priključci kadrobafera za KRFB",
|
||||
"Description[sr@latin]": "Priključci kadrobafera za KRFB",
|
||||
"Description[sr]": "Прикључци кадробафера за КРФБ",
|
||||
"Description[sv]": "Insticksprogram med rambuffert för Krfb",
|
||||
"Description[th]": "ส่วนเสริมของ KRfb สำหรับจัดการเฟรมบัฟเฟอร์",
|
||||
"Description[tr]": "KRfb için Çerçeve Tamponu eklentileri",
|
||||
"Description[uk]": "Додатки буфера кадрів для KRfb",
|
||||
"Description[x-test]": "xxFrame Buffer plugins for KRfbxx",
|
||||
"Description[zh_CN]": "KRfb 帧缓冲插件",
|
||||
"Description[zh_TW]": "KRfb 的 Frame Buffer 外掛程式"
|
||||
},
|
||||
"X-KDE-ServiceType": "krfb/framebuffer"
|
||||
}
|
|
@ -36,7 +36,7 @@
|
|||
<group name="FrameBuffer">
|
||||
<entry name="preferredFrameBufferPlugin" type="String">
|
||||
<label>Preferred Frame Buffer Plugin</label>
|
||||
<default>krfb_framebuffer_x11</default>
|
||||
<default>x11</default>
|
||||
</entry>
|
||||
</group>
|
||||
</kcfg>
|
||||
|
|
|
@ -90,6 +90,7 @@ bool RfbServer::start()
|
|||
if (!d->screen) {
|
||||
d->screen = RfbServerManager::instance()->newScreen();
|
||||
if (!d->screen) {
|
||||
qDebug() << "Unable to get rbfserver screen";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -129,7 +130,7 @@ bool RfbServer::start()
|
|||
rfbInitServer(d->screen);
|
||||
|
||||
if (!rfbIsActive(d->screen)) {
|
||||
//qDebug() << "Failed to start server";
|
||||
qDebug() << "Failed to start server";
|
||||
rfbShutdownServer(d->screen, false);
|
||||
return false;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user