1
0
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:
Jeremy Whiting 2015-09-16 20:55:30 -06:00
parent 9bb8e28eeb
commit 10176b9e01
15 changed files with 331 additions and 59 deletions

View File

@ -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)

View File

@ -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}
)

View 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 Qtu",
"Description[sr@latin]": "Kadrobafer za KRFB na osnovu Qtu",
"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]": "Qtov kadrobafer za KRFB",
"Name[sr@latin]": "Qtov 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"
}
}

View File

@ -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;
}

View File

@ -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"

View File

@ -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}
)

View 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"
}
}

View File

@ -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"

View File

@ -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}
)

View File

@ -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>();
}

View File

@ -40,6 +40,5 @@ public:
virtual FrameBuffer *frameBuffer(WId id) = 0;
};
#endif // Header guard

View File

@ -31,7 +31,7 @@
#include <KUser>
#include <KRandom>
#include <KStringHandler>
#include <KWallet/Wallet>
#include <KWallet/KWallet>
#include <dnssd/publicservice.h>
using KWallet::Wallet;

View 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"
}

View File

@ -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>

View File

@ -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;
};