Compare commits

..

8 Commits

Author SHA1 Message Date
Christoph Feck
7479837548 GIT_SILENT Upgrade KDE Applications version to 18.04.3. 2018-07-07 11:30:21 +02:00
l10n daemon script
b899c747f0 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-06-03 07:16:48 +02:00
Christoph Feck
2b28a3c3f0 GIT_SILENT Upgrade KDE Applications version to 18.04.2. 2018-06-02 00:54:15 +02:00
Christoph Feck
f8449d042b GIT_SILENT Upgrade KDE Applications version to 18.04.1. 2018-05-02 14:20:08 +02:00
l10n daemon script
224e4741fc SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2018-04-29 07:24:54 +02:00
Christoph Feck
9bf46fda40 GIT_SILENT Upgrade KDE Applications version to 18.04.0. 2018-04-09 22:44:37 +02:00
Christoph Feck
80200d4da8 GIT_SILENT Upgrade KDE Applications version to 18.03.90. 2018-04-02 21:23:17 +02:00
Albert Astals Cid
59bbb3a749 GIT_SILENT Upgrade KDE Applications version to 18.03.80. 2018-03-19 23:43:24 +01:00
43 changed files with 430 additions and 191 deletions

View File

@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.0)
# KDE Application Version, managed by release script
set (KDE_APPLICATIONS_VERSION_MAJOR "18")
set (KDE_APPLICATIONS_VERSION_MINOR "12")
set (KDE_APPLICATIONS_VERSION_MINOR "04")
set (KDE_APPLICATIONS_VERSION_MICRO "3")
set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")
@@ -11,7 +11,7 @@ project(krfb VERSION ${KDE_APPLICATIONS_VERSION})
set(QT_MIN_VERSION 5.6.0)
set(KF5_MIN_VERSION 5.31.0)
find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core DBus Widgets X11Extras)
find_package(Qt5 REQUIRED COMPONENTS Core DBus Widgets X11Extras)
find_package(ECM ${KF5_MIN_VERSION} NO_MODULE REQUIRED)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
@@ -61,7 +61,7 @@ if(WIN32)
endif(WIN32)
add_definitions(${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS})
add_definitions(-DQT_USE_FAST_OPERATOR_PLUS)
add_definitions(-DQT_USE_FAST_CONCATENATION -DQT_USE_FAST_OPERATOR_PLUS)
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} )
set(CMAKE_MODULE_PATH

View File

@@ -38,4 +38,4 @@ ELSE (LIBVNCSERVER_FOUND)
ENDIF (LIBVNCSERVER_FIND_REQUIRED)
ENDIF (LIBVNCSERVER_FOUND)
MARK_AS_ADVANCED(LIBVNCSERVER_INCLUDE_DIR LIBVNCSERVER_LIBRARIES)
MARK_AS_ADVANCED(LIBVNCSERVER_INCLUDE_DIR LIBVNCSERVER_LIBRARIES)

View File

@@ -0,0 +1,109 @@
[Desktop Entry]
Encoding=UTF-8
Comment=Qt based Framebuffer for KRfb.
Comment[ast]=Búfer de cuadros basáu en Qt pa KRfb.
Comment[bg]=Основан на Qt фреймбуфер за KRfb.
Comment[bs]=Kadrobafer za KRfb na osnovu Qt.
Comment[ca]=«Framebuffer» basat en les Qt per al KRfb.
Comment[ca@valencia]=«Framebuffer» basat en les Qt per al KRfb.
Comment[cs]=Framebuffer založený na Qt pro KRfb.
Comment[da]=Qt-baseret framebuffer til KRfb.
Comment[de]=Qt-basierter Framebuffer für KRfb
Comment[el]=Μνήμη εξόδου βίντεο καρέ με βάση το Qt για το KRfb.
Comment[en_GB]=Qt based Framebuffer for KRfb.
Comment[es]=Memoria intermedia de vídeo basada en Qt para KRfb.
Comment[et]=KRfb Qt põhine kaadripuhver
Comment[eu]=Qt-n oinarritutako KRfb-ren irteerako bideoa
Comment[fi]=QT-perustainen Kehyspuskuri KRfb:lle
Comment[fr]=Sortie vidéo fondée sur Qt pour Krfb.
Comment[ga]=Maolán fráma le haghaidh KRfb, bunaithe ar Qt.
Comment[gl]=Framebuffer baseado en Qt para KRfb.
Comment[hr]=Međuspremnik okvira baziran na Qt-u za KRfb.
Comment[hu]=Qt-alapú framebuffer a Krfb-hez.
Comment[ia]=Framebuffer basate sur Qt per KRfb
Comment[id]=Framebuffer berbasiskan Qt untuk KRfb.
Comment[it]=Framebuffer basato su Qt per KRfb.
Comment[kk]=Qt негіздеген KRfb-нің кадр буфері.
Comment[km]=Framebuffer មាន​មូលដ្ឋាន​លើ Qt សម្រាប់ KRfb 
Comment[ko]=KRfb를 위한 Qt 기반 프레임버퍼.
Comment[lt]=Qt pagrindu veikiantis Framebuffer skirtas KRfb.
Comment[lv]=Qt balstīts kadrbuferis priekš KRfb.
Comment[nb]=Qt-basert rammebuffer for KRfb.
Comment[nds]=Op Qt opbuut Bildpuffer för KRfb
Comment[nl]=Op Qt gebaseerd framebuffer voor KRfb.
Comment[nn]=Qt basert framebuffer for KRfb.
Comment[pl]=Bufor ramki na podstawie Qt dla KRfb.
Comment[pt]='Framebuffer' baseado no Qt para o KRfb.
Comment[pt_BR]=Framebuffer baseado no Qt para o KRfb.
Comment[ru]=Буфер экрана для KRfb на базе Qt.
Comment[si]=KRfb සඳහා Qt මත පදනම් වූ රාමු බෆරය
Comment[sk]=Framebuffer založený na Qt pre KRfb.
Comment[sl]=Slikovni medpomnilnik za KRFB, ki temelji na Qt
Comment[sr]=Кадробафер за КРФБ на основу КуТу
Comment[sr@ijekavian]=Кадробафер за КРФБ на основу КуТу
Comment[sr@ijekavianlatin]=Kadrobafer za KRFB na osnovu Qtu
Comment[sr@latin]=Kadrobafer za KRFB na osnovu Qtu
Comment[sv]=Qt-baserad rambuffert för Krfb.
Comment[tr]=KRfb için Qt temelli Çerçeve tamponu.
Comment[uk]=Заснований на Qt буфер кадрів для KRfb.
Comment[x-test]=xxQt based Framebuffer for KRfb.xx
Comment[zh_CN]=基于 Qt 的 KRfb 帧缓冲机制
Comment[zh_TW]=KRfb 的 Qt-based Framebuffer
Name=Qt Framebuffer for KRfb
Name[ast]=Búfer de cuadros Qt pa KRfb
Name[bg]=Qt фреймбуфер за KRfb
Name[bs]=Qt-ov kadrobafer za KRFB
Name[ca]=«Framebuffer» de les Qt per al KRfb.
Name[ca@valencia]=«Framebuffer» de les 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[id]=Qt Framebuffer untuk 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]=КуТ‑ов кадробафер за КРФБ
Name[sr@ijekavian]=КуТ‑ов кадробафер за КРФБ
Name[sr@ijekavianlatin]=Qtov kadrobafer za KRFB
Name[sr@latin]=Qtov kadrobafer za KRFB
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
Type=Service
ServiceTypes=krfb/framebuffer
X-KDE-Library=krfb_framebuffer_qt
X-KDE-PluginInfo-Name=qt
X-KDE-PluginInfo-Version=0.1
X-KDE-PluginInfo-Website=http://www.kde.org
X-KDE-PluginInfo-License=GPL
X-KDE-PluginInfo-EnabledByDefault=true

View File

@@ -1,13 +1,14 @@
{
"Encoding": "UTF-8",
"KPlugin": {
"Description": "Qt based Framebuffer for KRfb.",
"Description[ast]": "Búfer de cuadros basáu en Qt pa KRfb.",
"Description[ca@valencia]": "«Framebuffer» basat en les Qt per al KRfb.",
"Description[ca]": "«Framebuffer» basat en les 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]": "Μνήμη ανανέωσης βίντεο με βάση τhn Qt για το KRfb.",
"Description[en_GB]": "Qt based Framebuffer for KRfb.",
"Description[es]": "Framebuffer basado en Qt para KRfb.",
"Description[et]": "KRfb Qt põhine kaadripuhver",
"Description[fi]": "QT-perustainen Kehyspuskuri KRfb:lle",
@@ -39,13 +40,13 @@
"Id": "qt",
"License": "GPL",
"Name": "Qt Framebuffer for KRfb",
"Name[ast]": "Búfer de cuadros Qt pa KRfb",
"Name[ca@valencia]": "«Framebuffer» de les Qt per al KRfb.",
"Name[ca]": "«Framebuffer» de les 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 για το KRfb",
"Name[en_GB]": "Qt Framebuffer for KRfb",
"Name[es]": "Framebuffer de Qt para KRfb",
"Name[et]": "KRfb Qt kaadripuhver",
"Name[fi]": "QT-kehyspuskuri KRfb:lle",

View File

@@ -8,6 +8,7 @@
*/
#include "qtframebuffer.h"
#include "qtframebuffer.moc"
#include <QTimer>
#include <QRegion>
@@ -28,8 +29,8 @@ QtFrameBuffer::QtFrameBuffer(WId id, QObject *parent)
fbImage = screen->grabWindow(win).toImage();
fb = new char[fbImage.byteCount()];
} else {
fb = nullptr;
primaryScreen = nullptr;
fb = Q_NULLPTR;
primaryScreen = Q_NULLPTR;
}
t = new QTimer(this);
@@ -41,7 +42,7 @@ QtFrameBuffer::~QtFrameBuffer()
{
if (fb)
delete [] fb;
fb = nullptr;
fb = 0;
}
int QtFrameBuffer::depth()

View File

@@ -22,9 +22,9 @@ class QtFrameBuffer : public FrameBuffer
{
Q_OBJECT
public:
explicit QtFrameBuffer(WId id, QObject *parent = nullptr);
explicit QtFrameBuffer(WId id, QObject *parent = 0);
~QtFrameBuffer() override;
~QtFrameBuffer();
int depth() override;
int height() override;

View File

@@ -33,7 +33,7 @@ class QtFrameBufferPlugin : public FrameBufferPlugin
public:
QtFrameBufferPlugin(QObject *parent, const QVariantList &args);
~QtFrameBufferPlugin() override;
virtual ~QtFrameBufferPlugin();
FrameBuffer *frameBuffer(WId id) override;

View File

@@ -0,0 +1,109 @@
[Desktop Entry]
Encoding=UTF-8
Comment=X11 XDamage/XShm based Framebuffer for KRfb.
Comment[ast]=Búfer de cuadros basáu en XDamage/XShm de X11 pa KRfb.
Comment[bg]=Основан на X11 XDamage/XShm фреймбуфер за KRfb.
Comment[bs]=X11 XDamage/XShm baziran framebafer za KRfb.
Comment[ca]=«Framebuffer» basat en XDamage/XShmQt del X11 per al KRfb.
Comment[ca@valencia]=«Framebuffer» basat en XDamage/XShmQt del X11 per al KRfb.
Comment[cs]=Framebuffer založený na X11 XDamage/XShm pro KRfb.
Comment[da]=X11 XDamage/XShm-baseret framebuffer til KRfb.
Comment[de]=X11 XDamage/XShm-basierter Framebuffer für KRfb.
Comment[el]=Μνήμη εξόδου βίντεο καρέ με βάση το X11 XDamage/XShm για το KRfb.
Comment[en_GB]=X11 XDamage/XShm based Framebuffer for KRfb.
Comment[es]=Memoria intermedia de vídeo basada en X11 Damage/XShm para KRfb.
Comment[et]=KRfb X11 XDamage/XShm põhine kaadripuhver
Comment[eu]=X11 XDamage/XShm oinarritutako KRfb-ren irteerako bideoa.
Comment[fi]=X11 XDamage/XShm-perustainen kehyspuskui KRfb:lle.
Comment[fr]=Sortie vidéo fondée sur X11 « XDamage / XShm » pour Krfb.
Comment[ga]=Maolán fráma le haghaidh KRfb, bunaithe ar X11 XDamage/XShm
Comment[gl]=Framebuffer baseado en X11 XDamage/Xshm para XRfb.
Comment[hr]=Međuspreminik okvira baziran na X11 XDamage/XShm za KRfb.
Comment[hu]=X11 XDamage/XShm-alapú framebuffer a Krfb-hez.
Comment[ia]=Framebuffer basate sur X11 XDamage/XShm per KRfb.
Comment[id]=Framebuffer berbasiskan X11 XDamage/XShm untuk KRfb.
Comment[it]=Framebuffer basato su XDamage/XShm di X11 per KRfb.
Comment[kk]=X11 XDamage/XShm негіздеген KRfb кадр буфері.
Comment[km]=X11 XDamage/XShm based Framebuffer សម្រាប់ KRfb 
Comment[ko]=KRfb를 위한 X11 XDamage/XShm 기반 프레임버퍼.
Comment[lt]=X11 XDamage/XShm paremtas Framebuffer skirtas KRfb.
Comment[lv]=X11 XDamage/XShm balstīts kadrbuferis priekš KRfb.
Comment[nb]=Rammebuffer for KRfb basert på X11 XDamage/XShm.
Comment[nds]=Op X11-XDamage/-XShm opbuut Bildpuffer för KRfb
Comment[nl]=Op X11 XDamage/XShm gebaseerd framebuffer voor KRfb.
Comment[nn]=X11 XDamage/XShm basert framebuffer for KRfb.
Comment[pl]=Bufor ramki na podstawie X11 XDamage/XShm dla KRfb.
Comment[pt]='Framebuffer' baseado no XDamage/XShm do X11 para o KRfb.
Comment[pt_BR]=Framebuffer baseado no XDamage/XShm do X11 para o KRfb.
Comment[ru]=Буфер экрана для KRfb на базе X11 XDamage/XShm
Comment[si]=KRfb සඳහා වන රාමු බෆරය මත පදනම් වූ X11 XDamage/XShm.
Comment[sk]=Framebuffer založený na X11 XDamage/XShm pre KRfb.
Comment[sl]=Slikovni medpomnilnik za KRFB, ki temelji na X11 XDamage/XShm
Comment[sr]=Кадробафер за КРФБ на основу Икс‑демиџа/Икс‑схма у Иксу11.
Comment[sr@ijekavian]=Кадробафер за КРФБ на основу Икс‑демиџа/Икс‑схма у Иксу11.
Comment[sr@ijekavianlatin]=Kadrobafer za KRFB na osnovu XDamagea/XShma u X11.
Comment[sr@latin]=Kadrobafer za KRFB na osnovu XDamagea/XShma u X11.
Comment[sv]=X11 XDamage/XShm-baserad rambuffert för Krfb.
Comment[tr]=KRfb için X11 XDamage/XShm temelli Çerçeve Tamponu.
Comment[uk]=Заснований на XDamage/XShm X11 буфер кадрів для KRfb.
Comment[x-test]=xxX11 XDamage/XShm based Framebuffer for KRfb.xx
Comment[zh_CN]=基于 X11 XDamage/XShm 扩展的 KRfb 帧缓冲机制。
Comment[zh_TW]=KRfb 的 X11 XDamage/XShm based Framebuffer
Name=X11 Framebuffer for KRfb
Name[ast]=Búfer de cuadros de X11 pa KRfb
Name[bg]=X11 фреймбуфер за KRfb
Name[bs]=X11 frame bafer za KRfb
Name[ca]=«Framebuffer» del X11 per al KRfb.
Name[ca@valencia]=«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[id]=Framebuffer X11 untuk 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]=Икс11 кадробафер за КРФБ.
Name[sr@ijekavian]=Икс11 кадробафер за КРФБ.
Name[sr@ijekavianlatin]=X11 kadrobafer za KRFB.
Name[sr@latin]=X11 kadrobafer za KRFB.
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
Type=Service
ServiceTypes=krfb/framebuffer
X-KDE-Library=krfb_framebuffer_xcb
X-KDE-PluginInfo-Name=xcb
X-KDE-PluginInfo-Version=0.1
X-KDE-PluginInfo-Website=http://www.kde.org
X-KDE-PluginInfo-License=GPL
X-KDE-PluginInfo-EnabledByDefault=true

View File

@@ -1,13 +1,14 @@
{
"Encoding": "UTF-8",
"KPlugin": {
"Description": "X11 XDamage/XShm based Framebuffer for KRfb.",
"Description[ast]": "Búfer de cuadros basáu en XDamage/XShm de X11 pa KRfb.",
"Description[ca@valencia]": "«Framebuffer» basat en XDamage/XShmQt del 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]": "Framebuffer basado en XDamage/XShm de X11 para KRfb.",
"Description[et]": "KRfb X11 XDamage/XShm põhine kaadripuhver",
"Description[fi]": "X11 XDamage/XShm-perustainen kehyspuskui KRfb:lle.",
@@ -39,13 +40,13 @@
"Id": "xcb",
"License": "GPL",
"Name": "X11 Framebuffer for KRfb",
"Name[ast]": "Búfer de cuadros de X11 pa KRfb",
"Name[ca@valencia]": "«Framebuffer» del 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 για το KRfb.",
"Name[en_GB]": "X11 Framebuffer for KRfb",
"Name[es]": "Framebuffer X11 para KRfb",
"Name[et]": "KRfb X11 kaadripuhver",
"Name[fi]": "X11-kehyspuskuri KRfb:lle",

View File

@@ -8,6 +8,7 @@
*/
#include "xcb_framebuffer.h"
#include "xcb_framebuffer.moc"
#include <xcb/xcb.h>
#include <xcb/xproto.h>
@@ -32,7 +33,7 @@ public:
KrfbXCBEventFilter(XCBFrameBuffer *owner);
public:
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) override;
virtual bool nativeEventFilter(const QByteArray &eventType, void *message, long *result);
public:
int xdamageBaseEvent;
@@ -61,7 +62,7 @@ KrfbXCBEventFilter::KrfbXCBEventFilter(XCBFrameBuffer *owner):
QX11Info::connection(),
XCB_DAMAGE_MAJOR_VERSION,
XCB_DAMAGE_MINOR_VERSION),
nullptr);
NULL);
if (!xdamage_version) {
qWarning() << "xcb framebuffer: ERROR: Failed to get XDamage extension version!\n";
return;
@@ -135,7 +136,7 @@ public:
static xcb_screen_t *get_xcb_screen(xcb_connection_t *conn, int screen_num) {
xcb_screen_t *screen = nullptr;
xcb_screen_t *screen = NULL;
xcb_screen_iterator_t screens_iter = xcb_setup_roots_iterator(xcb_get_setup(conn));
for (; screens_iter.rem; --screen_num, xcb_screen_next(&screens_iter))
if (screen_num == 0)
@@ -150,16 +151,16 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent):
{
d->running = false;
d->damage = XCB_NONE;
d->framebufferImage = nullptr;
d->shminfo.shmaddr = nullptr;
d->framebufferImage = Q_NULLPTR;
d->shminfo.shmaddr = Q_NULLPTR;
d->shminfo.shmid = XCB_NONE;
d->shminfo.shmseg = XCB_NONE;
d->updateTile = nullptr;
d->updateTile = Q_NULLPTR;
d->area.setRect(0, 0, 0, 0);
d->x11EvtFilter = new KrfbXCBEventFilter(this);
d->rootScreen = get_xcb_screen(QX11Info::connection(), QX11Info::appScreen());
this->fb = nullptr;
this->fb = Q_NULLPTR;
QScreen *primaryScreen = QGuiApplication::primaryScreen();
if (primaryScreen) {
@@ -206,9 +207,9 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent):
d->area.height(), // height
XCB_IMAGE_FORMAT_Z_PIXMAP, // image format
d->rootScreen->root_depth, // depth
nullptr, // base address = 0
NULL, // base address = 0
(uint32_t)~0, // bytes = 0xffffffff
nullptr); // data = 0
NULL); // data = 0
if (d->updateTile) {
#ifdef _DEBUG
qDebug() << "xcb framebuffer: Successfully created new empty image in native format";
@@ -227,7 +228,7 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent):
// so, we get as many bytes as needed for image (updateTile->size)
d->shminfo.shmid = shmget(IPC_PRIVATE, d->updateTile->size, IPC_CREAT | 0777);
// attached shared memory address is stored both in shminfo structure and in xcb_image_t->data
d->shminfo.shmaddr = (uint8_t *)shmat(d->shminfo.shmid, nullptr, 0);
d->shminfo.shmaddr = (uint8_t *)shmat(d->shminfo.shmid, NULL, 0);
d->updateTile->data = d->shminfo.shmaddr;
// we keep updateTile->base == NULL here, so xcb_image_destroy() will not attempt
// to free this block, just in case.
@@ -255,9 +256,9 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent):
// will not use shared mem! detach and cleanup
xcb_shm_detach(QX11Info::connection(), d->shminfo.shmseg);
shmdt(d->shminfo.shmaddr);
shmctl(d->shminfo.shmid, IPC_RMID, nullptr); // mark shm segment as removed
shmctl(d->shminfo.shmid, IPC_RMID, 0); // mark shm segment as removed
d->x11EvtFilter->xshmAvail = false;
d->shminfo.shmaddr = nullptr;
d->shminfo.shmaddr = Q_NULLPTR;
d->shminfo.shmid = XCB_NONE;
d->shminfo.shmseg = XCB_NONE;
qWarning() << "xcb framebuffer: ERROR: xcb_image_shm_get() result: " << shmget_res;
@@ -266,9 +267,9 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent):
// image is freed, and recreated again for every new damage rectangle
// data was allocated manually and points to shared mem;
// tell xcb_image_destroy() do not free image data
d->updateTile->data = nullptr;
d->updateTile->data = NULL;
xcb_image_destroy(d->updateTile);
d->updateTile = nullptr;
d->updateTile = NULL;
}
}
@@ -289,7 +290,7 @@ XCBFrameBuffer::~XCBFrameBuffer() {
//
if (d->framebufferImage) {
xcb_image_destroy(d->framebufferImage);
fb = nullptr; // image data was already destroyed by above call
fb = Q_NULLPTR; // image data was already destroyed by above call
}
if (d->x11EvtFilter->xshmAvail) {
// detach shared memory
@@ -298,12 +299,12 @@ XCBFrameBuffer::~XCBFrameBuffer() {
if (d->shminfo.shmaddr)
shmdt(d->shminfo.shmaddr); // detach addr from our address space
if (d->shminfo.shmid != XCB_NONE)
shmctl(d->shminfo.shmid, IPC_RMID, nullptr); // mark shm segment as removed
shmctl(d->shminfo.shmid, IPC_RMID, 0); // mark shm segment as removed
}
// and delete image used for shared mem
if (d->updateTile) {
d->updateTile->base = nullptr;
d->updateTile->data = nullptr;
d->updateTile->base = NULL;
d->updateTile->data = NULL;
xcb_image_destroy(d->updateTile);
}
// we don't use d->x11EvtFilter anymore, can delete it now
@@ -349,7 +350,7 @@ void XCBFrameBuffer::getServerFormat(rfbPixelFormat &format) {
if (!d->framebufferImage) return;
// get information about XCB visual params
xcb_visualtype_t *root_visualtype = nullptr; // visual info
xcb_visualtype_t *root_visualtype = NULL; // visual info
if (d->rootScreen) {
xcb_visualid_t root_visual = d->rootScreen->root_visual;
xcb_depth_iterator_t depth_iter;
@@ -559,7 +560,7 @@ QList<QRect> XCBFrameBuffer::modifiedTiles() {
0);
xcb_shm_get_image_reply_t *sgi_reply = xcb_shm_get_image_reply(
QX11Info::connection(), sgi_cookie, nullptr);
QX11Info::connection(), sgi_cookie, NULL);
if (sgi_reply) {
// create temporary image to get update rect contents into
d->updateTile = xcb_image_create_native(
@@ -568,9 +569,9 @@ QList<QRect> XCBFrameBuffer::modifiedTiles() {
r.height(),
XCB_IMAGE_FORMAT_Z_PIXMAP,
d->rootScreen->root_depth,
nullptr, // base == 0
NULL, // base == 0
(uint32_t)~0, // bytes == ~0
nullptr);
NULL);
if (d->updateTile) {
d->updateTile->data = d->shminfo.shmaddr;
@@ -587,9 +588,9 @@ QList<QRect> XCBFrameBuffer::modifiedTiles() {
}
// delete temporary image
d->updateTile->data = nullptr;
d->updateTile->data = NULL;
xcb_image_destroy(d->updateTile);
d->updateTile = nullptr;
d->updateTile = NULL;
}
free(sgi_reply);

View File

@@ -22,18 +22,18 @@ class XCBFrameBuffer: public FrameBuffer
{
Q_OBJECT
public:
explicit XCBFrameBuffer(WId winid, QObject *parent = nullptr);
~XCBFrameBuffer() override;
XCBFrameBuffer(WId winid, QObject *parent = 0);
~XCBFrameBuffer();
public:
QList<QRect> modifiedTiles() override;
int depth() override;
int height() override;
int width() override;
int paddedWidth() override;
void getServerFormat(rfbPixelFormat &format) override;
void startMonitor() override;
void stopMonitor() override;
QList<QRect> modifiedTiles() Q_DECL_OVERRIDE;
int depth() Q_DECL_OVERRIDE;
int height() Q_DECL_OVERRIDE;
int width() Q_DECL_OVERRIDE;
int paddedWidth() Q_DECL_OVERRIDE;
void getServerFormat(rfbPixelFormat &format) Q_DECL_OVERRIDE;
void startMonitor() Q_DECL_OVERRIDE;
void stopMonitor() Q_DECL_OVERRIDE;
public:
void handleXDamageNotify(xcb_generic_event_t *xevent);

View File

@@ -1,5 +1,5 @@
/* This file is part of the KDE project
Copyright (C) 2017 Alexey Min <alexey.min@gmail.com>
@author Alexey Min <alexey.min@gmail.com>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public

View File

@@ -33,7 +33,7 @@ class XCBFrameBufferPlugin: public FrameBufferPlugin
public:
XCBFrameBufferPlugin(QObject *parent, const QVariantList &args);
~XCBFrameBufferPlugin() override;
virtual ~XCBFrameBufferPlugin();
FrameBuffer *frameBuffer(WId id) override;

View File

@@ -80,3 +80,7 @@ void InvitationsConnectionDialog::setRemoteHost(const QString &host)
{
m_ui.remoteHost->setText(host);
}
//**********
#include "connectiondialog.moc"

View File

@@ -29,8 +29,8 @@ template <typename UI>
class ConnectionDialog : public QDialog
{
public:
explicit ConnectionDialog(QWidget *parent);
~ConnectionDialog() override {};
ConnectionDialog(QWidget *parent);
~ConnectionDialog() {};
void setAllowRemoteControl(bool b);
bool allowRemoteControl();
@@ -59,7 +59,7 @@ class InvitationsConnectionDialog : public ConnectionDialog<Ui::ConnectionWidget
{
Q_OBJECT
public:
explicit InvitationsConnectionDialog(QWidget *parent);
InvitationsConnectionDialog(QWidget *parent);
void setRemoteHost(const QString & host);
};

View File

@@ -9,7 +9,7 @@
#include "framebuffer.h"
#include <config-krfb.h>
#include "config-krfb.h"
#include <X11/Xutil.h>
@@ -67,3 +67,7 @@ void FrameBuffer::startMonitor()
void FrameBuffer::stopMonitor()
{
}
#include "framebuffer.moc"

View File

@@ -14,9 +14,9 @@
#include "krfbprivate_export.h"
#include <QObject>
#include <QRect>
#include <QList>
#include <QtCore/QObject>
#include <QtCore/QRect>
#include <QtCore/QList>
#include <QWidget>
@@ -28,9 +28,9 @@ class KRFBPRIVATE_EXPORT FrameBuffer : public QObject
{
Q_OBJECT
public:
explicit FrameBuffer(WId id, QObject *parent = nullptr);
explicit FrameBuffer(WId id, QObject *parent = 0);
~FrameBuffer() override;
virtual ~FrameBuffer();
char *data();

View File

@@ -30,7 +30,7 @@
#include <KPluginLoader>
#include <KPluginMetaData>
#include <QSharedPointer>
#include <QtCore/QSharedPointer>
class FrameBufferManagerStatic
{
@@ -135,3 +135,7 @@ QSharedPointer<FrameBuffer> FrameBufferManager::frameBuffer(WId id)
qDebug() << "No valid framebuffer found. returning null.";
return QSharedPointer<FrameBuffer>();
}
#include "framebuffermanager.moc"

View File

@@ -25,10 +25,10 @@
#include "krfbprivate_export.h"
#include <QMap>
#include <QObject>
#include <QSharedPointer>
#include <QWeakPointer>
#include <QtCore/QMap>
#include <QtCore/QObject>
#include <QtCore/QSharedPointer>
#include <QtCore/QWeakPointer>
#include <QWidget>
@@ -43,7 +43,7 @@ class KRFBPRIVATE_EXPORT FrameBufferManager : public QObject
public:
static FrameBufferManager *instance();
~FrameBufferManager() override;
virtual ~FrameBufferManager();
QSharedPointer<FrameBuffer> frameBuffer(WId id);

View File

@@ -30,3 +30,7 @@ FrameBufferPlugin::FrameBufferPlugin(QObject *parent, const QVariantList &)
FrameBufferPlugin::~FrameBufferPlugin()
{
}
#include "framebufferplugin.moc"

View File

@@ -23,7 +23,7 @@
#include "krfbprivate_export.h"
#include <QVariantList>
#include <QtCore/QVariantList>
#include <QWidget>
@@ -35,7 +35,7 @@ class KRFBPRIVATE_EXPORT FrameBufferPlugin : public QObject
public:
FrameBufferPlugin(QObject *parent, const QVariantList &args);
~FrameBufferPlugin() override;
virtual ~FrameBufferPlugin();
virtual FrameBuffer *frameBuffer(WId id) = 0;
};

View File

@@ -29,7 +29,7 @@
#include <KLocalizedString>
#include <QDebug>
#include <QSocketNotifier>
#include <QtCore/QSocketNotifier>
#include <poll.h>
#include <KConfigGroup>
@@ -65,7 +65,7 @@ PendingInvitationsRfbClient::~PendingInvitationsRfbClient()
void PendingInvitationsRfbClient::processNewClient()
{
QString host = peerAddress(m_rfbClient->sock) + ':' + QString::number(peerPort(m_rfbClient->sock));
QString host = peerAddress(m_rfbClient->sock) + ":" + QString::number(peerPort(m_rfbClient->sock));
if (d->askOnConnect == false) {
@@ -79,7 +79,7 @@ void PendingInvitationsRfbClient::processNewClient()
i18n("Received connection from %1, on hold (waiting for confirmation)",
host));
InvitationsConnectionDialog *dialog = new InvitationsConnectionDialog(nullptr);
InvitationsConnectionDialog *dialog = new InvitationsConnectionDialog(0);
dialog->setRemoteHost(host);
dialog->setAllowRemoteControl(KrfbConfig::allowDesktopControl());
@@ -126,7 +126,7 @@ void PendingInvitationsRfbClient::onSocketActivated()
bool PendingInvitationsRfbClient::checkPassword(const QByteArray & encryptedPassword)
{
QByteArray password ;
qDebug() << "about to start authentication";
qDebug() << "about to start autentication";
if(InvitationsRfbServer::instance->allowUnattendedAccess() && vncAuthCheckPassword(
InvitationsRfbServer::instance->unattendedPassword().toLocal8Bit(),
@@ -149,3 +149,5 @@ void PendingInvitationsRfbClient::dialogAccepted()
client->setControlEnabled(dialog->allowRemoteControl());
accept(client);
}
#include "invitationsrfbclient.moc"

View File

@@ -23,7 +23,7 @@
class InvitationsRfbClient : public RfbClient
{
public:
explicit InvitationsRfbClient(rfbClientPtr client, QObject* parent = nullptr)
InvitationsRfbClient(rfbClientPtr client, QObject* parent = 0)
: RfbClient(client, parent) {}
};
@@ -32,8 +32,8 @@ class PendingInvitationsRfbClient : public PendingRfbClient
{
Q_OBJECT
public:
explicit PendingInvitationsRfbClient(rfbClientPtr client, QObject *parent = nullptr);
~PendingInvitationsRfbClient() override;
PendingInvitationsRfbClient(rfbClientPtr client, QObject *parent = 0);
virtual ~PendingInvitationsRfbClient();
protected Q_SLOTS:
void processNewClient() override;

View File

@@ -22,9 +22,9 @@
#include "invitationsrfbclient.h"
#include "krfbconfig.h"
#include "rfbservermanager.h"
#include <QTimer>
#include <QtCore/QTimer>
#include <QApplication>
#include <QHostInfo>
#include <QtNetwork/QHostInfo>
#include <QDebug>
#include <KLocalizedString>
@@ -115,8 +115,8 @@ void InvitationsRfbServer::toggleUnattendedAccess(bool allow)
InvitationsRfbServer::InvitationsRfbServer()
{
m_desktopPassword = readableRandomString(4)+'-'+readableRandomString(3);
m_unattendedPassword = readableRandomString(4)+'-'+readableRandomString(3);
m_desktopPassword = readableRandomString(4)+"-"+readableRandomString(3);
m_unattendedPassword = readableRandomString(4)+"-"+readableRandomString(3);
KConfigGroup krfbConfig(KSharedConfig::openConfig(),"Security");
m_allowUnattendedAccess = krfbConfig.readEntry(
"allowUnattendedAccess", QVariant(false)).toBool();
@@ -223,3 +223,5 @@ QString InvitationsRfbServer::readableRandomString(int length)
}
return str;
}
#include "invitationsrfbserver.moc"

View File

@@ -53,7 +53,7 @@ public Q_SLOTS:
protected:
InvitationsRfbServer();
~InvitationsRfbServer() override;
virtual ~InvitationsRfbServer();
PendingRfbClient* newClient(rfbClientPtr client) override;
private Q_SLOTS:

View File

@@ -3,6 +3,7 @@ Type=ServiceType
X-KDE-ServiceType=krfb/framebuffer
Comment=Frame Buffer plugins for KRfb
Comment[ast]=Complementos del búfer de cuadros pa KRfb
Comment[bg]=Приставки за фреймбуфер за KRfb
Comment[bs]=Priključci framebafera za KRfb
Comment[ca]=Connectors de «framebuffer» per al KRfb.
@@ -51,5 +52,5 @@ Comment[th]=ส่วนเสริมของ KRfb สำหรับจั
Comment[tr]=KRfb için Çerçeve Tamponu eklentileri
Comment[uk]=Додатки буфера кадрів для KRfb
Comment[x-test]=xxFrame Buffer plugins for KRfbxx
Comment[zh_CN]=KRfb 帧缓冲插件
Comment[zh_CN]=KRfb 帧缓冲插件
Comment[zh_TW]=KRfb 的 Frame Buffer 外掛程式

View File

@@ -1,13 +1,13 @@
{
"KPlugin": {
"Description": "Frame Buffer plugins for KRfb",
"Description[ast]": "Complementos del búfer de cuadros pa 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 framebuffer para KRfb",
"Description[et]": "KRfb kaadripuhvri pluginad",
"Description[fi]": "Kehyspuskuriliitännäinen kohteelle KRfb",

View File

@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
<kcfgfile name="krfbrc"/>
<!DOCTYPE kcfg SYSTEM
"http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
<kcfg>
<kcfgfile />
<group name="MainWindow">
<entry name="startMinimized" type="Bool">
<label>Start minimized</label>

View File

@@ -3,6 +3,7 @@ IconName=krfb
Comment=Desktop Sharing
Comment[af]=Werkskerm Deeling
Comment[ar]=مشاركة سطح المكتب
Comment[ast]=Compartición d'escritoriu
Comment[bg]=Споделяне на работния плот
Comment[bn]=ডেস্কটপ ভাগাভাগি
Comment[br]=Rannañ ar vurev
@@ -75,6 +76,7 @@ Comment[zh_TW]=桌面分享
[Event/UserAcceptsConnection]
Name=User Accepts Connection
Name[ar]=المستخدم يقبل الاتصال
Name[ast]=L'usuariu aceuta la conexón
Name[bg]=Потребителят приема връзката
Name[bs]=Korisnik prihvata vezu
Name[ca]=L'usuari accepta la connexió
@@ -97,7 +99,7 @@ Name[hne]=कमइया हर कनेक्सन स्वीकारा
Name[hr]=Korisnik prihvaća vezu
Name[hu]=A felhasználó engedélyezi a csatlakozást
Name[ia]=Usator da acceptation a connexion
Name[id]=Pengguna Menyetujui Koneksi
Name[id]=Pengguna Menyetujui Sambungan
Name[is]=Notandi samþykkir tengingar
Name[it]=L'utente accetta la connessione
Name[ja]=ユーザが接続を許可
@@ -136,6 +138,7 @@ Name[zh_TW]=使用者接受連線
Comment=User accepts connection
Comment[af]=Gebruiker aanvaar verbinding
Comment[ar]=المستخدم يقبل الاتصال
Comment[ast]=L'usuariu aceuta la conexón
Comment[bg]=Потребителят приема връзката
Comment[bn]=ব্যবহারকারী সংযোগ গ্রহণ করে
Comment[bs]=Korisnik prihvata vezu
@@ -161,7 +164,7 @@ Comment[hne]=कमइया हर कनेक्सन स्वीकार
Comment[hr]=Korisnik prihvaća vezu
Comment[hu]=A felhasználó engedélyezi a csatlakozást
Comment[ia]=Usator da acceptation a connexion
Comment[id]=Pengguna menyetujui koneksi
Comment[id]=Pengguna menyetujui sambungan
Comment[is]=Notandi samþykkir tengingu
Comment[it]=L'utente accetta la connessione
Comment[ja]=ユーザが接続を許可
@@ -208,6 +211,7 @@ Action=Popup
[Event/UserRefusesConnection]
Name=User Refuses Connection
Name[ar]=المستخدم يرفض الاتصال
Name[ast]=L'usuariu refuga la conexón
Name[bg]=Потребителят отказва връзката
Name[bs]=Korisnik odbija vezu
Name[ca]=L'usuari refusa la connexió
@@ -230,7 +234,7 @@ Name[hne]=कमइया हर कनेक्सन अस्वीकार
Name[hr]=Korisnik odbija vezu
Name[hu]=A felhasználó elutasítja a csatlakozást
Name[ia]=Usator refuta connexion
Name[id]=Pengguna Menampik Koneksi
Name[id]=Pengguna Menampik Sambungan
Name[is]=Notandi hafnar tengingum
Name[it]=L'utente rifiuta la connessione
Name[ja]=ユーザが接続を拒否
@@ -269,6 +273,7 @@ Name[zh_TW]=使用者拒絕連線
Comment=User refuses connection
Comment[af]=Gebruiker weier verbinding
Comment[ar]=المستخدم يرفض الاتصال
Comment[ast]=L'usuariu refuga la conexón
Comment[bg]=Потребителят отказва връзката
Comment[bn]=ব্যবহারকারী সংযোগ অস্বীকার করে
Comment[bs]=Korisnik odbija vezu
@@ -294,7 +299,7 @@ Comment[hne]=कमइया हर कनेक्सन अस्वीका
Comment[hr]=Korisnik odbija vezu
Comment[hu]=A felhasználó elutasítja a csatlakozást
Comment[ia]=Usator refuta connexion
Comment[id]=Pengguna menampik koneksi
Comment[id]=Pengguna menampik sambungan
Comment[is]=Notandi hafnar tengingu
Comment[it]=L'utente rifiuta la connessione
Comment[ja]=ユーザが接続を拒否
@@ -341,6 +346,7 @@ Action=Popup
[Event/ConnectionClosed]
Name=Connection Closed
Name[ar]=الاتصال أغلق
Name[ast]=Conexón zarrada
Name[bg]=Връзката е прекъсната
Name[bs]=Konekcija zatvorena
Name[ca]=Connexió tancada
@@ -363,7 +369,7 @@ Name[hne]=कनेक्सन बन्द
Name[hr]=Veza prekinuta
Name[hu]=A kapcsolat megszűnt
Name[ia]=Connexion claudite
Name[id]=Koneksi Ditutup
Name[id]=Sambungan Ditutup
Name[is]=Tengingu lokað
Name[it]=Connessione chiusa
Name[ja]=接続切断
@@ -404,6 +410,7 @@ Name[zh_TW]=連線已關閉
Comment=Connection closed
Comment[af]=Verbinding gesluit
Comment[ar]=تمّ غلق الاتصال
Comment[ast]=Zarróse la conexón
Comment[bg]=Връзката е прекъсната
Comment[bn]=সংযোগ বন্ধ করা হল
Comment[br]=Serret eo ar gevreadenn
@@ -430,7 +437,7 @@ Comment[hne]=कनेक्सन बन्द
Comment[hr]=Veza prekinuta
Comment[hu]=A kapcsolat megszűnt
Comment[ia]=Connexion claudite
Comment[id]=Koneksi ditutup
Comment[id]=Sambungan ditutup
Comment[is]=Tengingu lokað
Comment[it]=Connessione chiusa
Comment[ja]=接続が閉じられました
@@ -480,6 +487,7 @@ Action=Popup
[Event/InvalidPassword]
Name=Invalid Password
Name[ar]=كلمة المرور غير صحيحة
Name[ast]=Contraseña non válida
Name[bg]=Неправилна парола
Name[bs]=Neispravna šifra
Name[ca]=Contrasenya no vàlida
@@ -543,6 +551,7 @@ Name[zh_TW]=不正確的密碼
Comment=Invalid password
Comment[af]=Ongeldige wagwoord
Comment[ar]=كلمة المرور غير صحيحة
Comment[ast]=La contraseña nun ye válida
Comment[bg]=Неправилна парола
Comment[bn]=অবৈধ পাসওয়ার্ড
Comment[br]=Tremenger siek
@@ -683,6 +692,7 @@ Name[zh_TW]=不合法的密碼邀請
Comment=The invited party sent an invalid password. Connection refused.
Comment[af]=Die uitgenooi party gestuur 'n ongeldige wagwoord. Verbinding geweier.
Comment[ar]=المدعو أرسل كلمة مرور غير صحيحة. رفض الإتصال.
Comment[ast]=La parte invitada unvió una contraseña non válida. Refugóse la conexón.
Comment[bg]=Поканената страна изпрати неправилна парола. Връзката е отказана.
Comment[bn]=আমন্ত্রিত দল একটি অবৈধ পাসওয়ার্ড পাঠাল। সংযোগ অস্বীকার করা হল।
Comment[bs]=Pozvana strana je poslala pogrešnu šifru. Veza je odbijena.
@@ -708,7 +718,7 @@ Comment[hne]=निमंत्रित पार्टी हर अवैध
Comment[hr]=Stranka koju ste pozvali je poslala nevažeću šifru. Veza odbijena.
Comment[hu]=A meghívott fél érvénytelen jelszót küldött. A csatlakozási kérés elutasítva.
Comment[ia]=Le partita invitate inviava un contrasigno invalide. Connexion refusate.
Comment[id]=Undangan mengirimkan sebuah sandi tidak absah. Koneksi ditampik.
Comment[id]=Undangan mengirimkan sebuah sandi tidak absah. Sambungan ditampik.
Comment[is]=Boðinn aðili sendi ógilt lykilorð. Tengingu hafnað
Comment[it]=La parte invitata ha inviato una password non valida. Connessione rifiutata.
Comment[ja]=招待された人が無効なパスワードを送ってきました。接続を拒否しました。
@@ -753,6 +763,7 @@ Action=Popup
[Event/NewConnectionOnHold]
Name=New Connection on Hold
Name[ar]=اتصال جديد على التوقف
Name[ast]=Conexón nueva n'espera
Name[bg]=Изчакване на новата връзка
Name[bs]=Nova veza je na čekanju
Name[ca]=Connexió nova en espera
@@ -775,7 +786,7 @@ Name[hne]=नवा कनेक्सन होल्ड मं रखा
Name[hr]=Nova veza na čekanju
Name[hu]=Új kapcsolat tartva
Name[ia]=Nove connexion in pausa
Name[id]=Koneksi Baru sedang Tertahan
Name[id]=Sambungan Baru sedang Tertahan
Name[is]=Ný tenging á bið
Name[it]=Nuova connessione in attesa
Name[ja]=保留中の新しい接続
@@ -813,6 +824,7 @@ Name[zh_TW]=新連線等待處理
Comment=Connection requested, user must accept
Comment[af]=Verbinding versoekte, gebruiker moet aanvaar
Comment[ar]=الاتصال طلب، يجب موافقة المستخدم
Comment[ast]=Solicitóse la conexón, l'usuariu ha aceutar
Comment[bg]=Поискана е връзка, следва потребителят да приеме
Comment[bn]=সংযোগ অনুরোধ করা হল, ব্যবহারকারীকে অবশ্যই স্বীকার করতে হবে
Comment[bs]=Veza je zahtijevana, korinik mora da je prihvati
@@ -838,7 +850,7 @@ Comment[hne]=कनेक्सन निवेदित. कमइया ल
Comment[hr]=Veza je zatražena, korisnik mora prihvatiti
Comment[hu]=Csatlakozási kérés, a felhasználónak el kell fogadnia
Comment[ia]=Connexion requirite, usator debe dar acceptation
Comment[id]=Koneksi diminta, pengguna harus menyetujui
Comment[id]=Sambungan diminta, pengguna harus menyetujui
Comment[is]=Beiðni um tengingu, notandi verður að samþykkja
Comment[it]=Connessione richiesta, l'utente deve accettare
Comment[ja]=接続が要求されています。ユーザが許可しなければなりません。
@@ -884,6 +896,7 @@ Action=Popup
[Event/NewConnectionAutoAccepted]
Name=New Connection Auto Accepted
Name[ar]=اتصال جديد مقبول تلقائيا
Name[ast]=Conexón nueva auto-aceutada
Name[bg]=Автоматично приемане на новата връзка
Name[bs]=Nova veza je automatski prihvaćena
Name[ca]=Connexió nova acceptada automàticament
@@ -906,7 +919,7 @@ Name[hne]=नय कनेक्सन अपने अपन स्वीका
Name[hr]=Nova veza automatski prihvaćena
Name[hu]=Új kapcsolat automatikusan engedélyezve
Name[ia]=Nove connexion con acceptation automatic
Name[id]=Koneksi Baru Tersetujui Otomatis
Name[id]=Sambungan Baru Tersetujui Otomatis
Name[is]=Ný tenging sjálfvirkt samþykkt
Name[it]=Nuova connessione accettata automaticamente
Name[ja]=新しい接続の自動受け入れ
@@ -944,6 +957,7 @@ Name[zh_TW]=新連線自動接受
Comment=New connection automatically established
Comment[af]=Nuwe verbinding automaties vasgestel
Comment[ar]=اتصال جديد مفعل تلقائيا
Comment[ast]=Afitóse automáticamente la conexón nueva
Comment[bg]=Новата връзка е автоматично приета
Comment[bn]=নতুন সংযোগ স্বয়ংক্রীয়ভাবে স্থাপন করা হল
Comment[bs]=Nova veza je automatski uspostavljena
@@ -969,7 +983,7 @@ Comment[hne]=नवा कनेक्सन अपने अपन स्था
Comment[hr]=Nova veza automatski prihvaćena
Comment[hu]=Automatikusan létrejött egy új kapcsolat
Comment[ia]=Nove connexion establite automaticamente
Comment[id]=Koneksi baru secara otomatis terpancang
Comment[id]=Sambungan baru secara otomatis terpancang
Comment[is]=Nýjar tengingar sjálfkrafa samþykktar
Comment[it]=Nuova connessione stabilita automaticamente
Comment[ja]=新しい接続を自動的に確立しました
@@ -1015,6 +1029,7 @@ Action=Popup
[Event/TooManyConnections]
Name=Too Many Connections
Name[ar]=اتصالات عديدة
Name[ast]=Milenta conexones
Name[bg]=Твърде много връзки
Name[bs]=Previše veza
Name[ca]=Massa connexions
@@ -1037,7 +1052,7 @@ Name[hne]=बहुत अकन कनेक्सन
Name[hr]=Previše veza
Name[hu]=Túl sok kapcsolat
Name[ia]=Nimie connexiones
Name[id]=Terlalu Banyak Koneksi
Name[id]=Terlalu Banyak Sambungan
Name[is]=Of margar tengingar
Name[it]=Troppe connessioni
Name[ja]=多すぎる接続
@@ -1075,6 +1090,7 @@ Name[zh_TW]=太多連線
Comment=Busy, connection refused
Comment[af]=Besig, verbinding geweier
Comment[ar]=مشغول، الإتصال رفض
Comment[ast]=Ocupáu, refugóse la conexón
Comment[bg]=Заето. Връзката е отказана.
Comment[bn]=ব্যস্ত, সংযোগ অস্বীকার করল
Comment[br]=Dalc'het, kevreadenn disteuleret
@@ -1101,7 +1117,7 @@ Comment[hne]=व्यस्त, कनेक्सन अस्वीकृत
Comment[hr]=Zauzeto, veza odbijena
Comment[hu]=A csatlakozási kérés elutasítva túlterhelés miatt
Comment[ia]=Occupate, connexion refusate
Comment[id]=Sibuk, koneksi ditampik
Comment[id]=Sibuk, sambungan ditampik
Comment[is]=Uptekinn, tengingu hafnað
Comment[it]=Occupato, connessione rifiutata
Comment[ja]=ビジーです、接続を拒否しました
@@ -1149,6 +1165,7 @@ Action=Popup
[Event/UnexpectedConnection]
Name=Unexpected Connection
Name[ar]=الاتصال غير متوقّع
Name[ast]=Conexón inesperada
Name[bg]=Неочаквана връзка
Name[bs]=Neočekivana veza
Name[ca]=Connexió inesperada
@@ -1171,7 +1188,7 @@ Name[hne]=अप्रत्यासित कनेक्सन
Name[hr]=Neočekivana veza
Name[hu]=Nem várt kapcsolat
Name[ia]=Connexion impreviste
Name[id]=Koneksi Tak Terduga
Name[id]=Sambungan Tak Terduga
Name[is]=Óvænt Tenging
Name[it]=Connessione inattesa
Name[ja]=予期しない接続
@@ -1210,6 +1227,7 @@ Name[zh_TW]=未知的連線
Comment=Received unexpected connection, abort
Comment[af]=Ontvang onverwagte verbinding, staak
Comment[ar]=استقبال اتصال غير متوقع، إنهاء
Comment[ast]=Recibióse una conexón inesperada, albortando
Comment[bg]=Получена е неочаквана връзка. Прекъсване.
Comment[bn]=অপ্রত্যাশিত সংযোগ গ্রহণ করল, বাতিল করুন
Comment[bs]=Primljena je neočekivana veza, prekini
@@ -1228,14 +1246,14 @@ Comment[eu]=Ustekabeko konexioa jaso da, abortatzen
Comment[fi]=Vastaanotettiin odottamaton yhteys, lopeta
Comment[fr]=Connexion inattendue reçue. Annulation
Comment[ga]=Fuarthas ceangal gan choinne, á thobscor
Comment[gl]=Recibiuse unha conexión non agardada; interrómpese
Comment[gl]=Recibiuse unha conexión non agardada; cancélase
Comment[he]=נתקבל חיבור בלתי צפוי, בוטל
Comment[hi]=अप्रत्याशित कनेक्शन प्राप्त. छोड़ा
Comment[hne]=अप्रत्यासित कनेक्सन प्राप्त. छोड़ा
Comment[hr]=Primio sam neočekivanu vezu, prekid
Comment[hu]=Nem várt csatlakozási kérés érkezett, megszakítás
Comment[ia]=On recipeva connexion impreviste, aborta
Comment[id]=Diperoleh koneksi tak terduga, gugurkan
Comment[id]=Diperoleh sambungan tak terduga, gugurkan
Comment[is]=Tók á móti óvæntri tengingu, hætti
Comment[it]=Ricevuta connessione inattesa, terminata
Comment[ja]=予期しない接続を受信しました。廃棄します。

View File

@@ -47,7 +47,7 @@ static bool checkX11Capabilities()
&majorv, &minorv);
if ((!r) || (((majorv * 1000) + minorv) < 2002)) {
KMessageBox::error(nullptr,
KMessageBox::error(0,
i18n("Your X11 Server does not support the required XTest extension "
"version 2.2. Sharing your desktop is not possible."),
i18n("Desktop Sharing Error"));
@@ -146,7 +146,7 @@ int main(int argc, char *argv[])
sigset_t sigs;
sigemptyset(&sigs);
sigaddset(&sigs, SIGPIPE);
sigprocmask(SIG_BLOCK, &sigs, nullptr);
sigprocmask(SIG_BLOCK, &sigs, 0);
return app.exec();
}

View File

@@ -32,13 +32,13 @@
#include <QSizePolicy>
#include <QVector>
#include <QSet>
#include <QNetworkInterface>
#include <QtNetwork/QNetworkInterface>
class TCP: public QWidget, public Ui::TCP
{
public:
TCP(QWidget *parent = nullptr) : QWidget(parent) {
TCP(QWidget *parent = 0) : QWidget(parent) {
setupUi(this);
}
};
@@ -46,7 +46,7 @@ public:
class Security: public QWidget, public Ui::Security
{
public:
Security(QWidget *parent = nullptr) : QWidget(parent) {
Security(QWidget *parent = 0) : QWidget(parent) {
setupUi(this);
}
};
@@ -54,7 +54,7 @@ public:
class ConfigFramebuffer: public QWidget, public Ui::Framebuffer
{
public:
ConfigFramebuffer(QWidget *parent = nullptr) : QWidget(parent) {
ConfigFramebuffer(QWidget *parent = 0) : QWidget(parent) {
setupUi(this);
// hide the line edit with framebuffer string
kcfg_preferredFrameBufferPlugin->hide();
@@ -262,3 +262,5 @@ void MainWindow::saveProperties(KConfigGroup& group)
group.writeEntry("Visible", isVisible());
KMainWindow::saveProperties(group);
}
#include "mainwindow.moc"

View File

@@ -8,8 +8,8 @@
version 2 of the License, or (at your option) any later version.
*/
#ifndef KRFB_MAINWINDOW_H
#define KRFB_MAINWINDOW_H
#ifndef MANAGEINVITATIONSDIALOG_H
#define MANAGEINVITATIONSDIALOG_H
#include "ui_mainwidget.h"
@@ -22,8 +22,8 @@ class MainWindow : public KXmlGuiWindow
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = nullptr);
~MainWindow() override;
MainWindow(QWidget *parent = 0);
~MainWindow();
public Q_SLOTS:
void showConfiguration();

View File

@@ -4,6 +4,7 @@
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
<name>Krfb</name>
<name xml:lang="ast">Krfb</name>
<name xml:lang="ca">Krfb</name>
<name xml:lang="ca-valencia">Krfb</name>
<name xml:lang="cs">Krfb</name>
@@ -15,7 +16,6 @@
<name xml:lang="fi">Krfb</name>
<name xml:lang="fr">Krfb</name>
<name xml:lang="gl">Krfb</name>
<name xml:lang="ia">Krfb</name>
<name xml:lang="id">Krfb</name>
<name xml:lang="it">Krfb</name>
<name xml:lang="ko">Krfb</name>
@@ -35,8 +35,8 @@
<name xml:lang="uk">Krfb</name>
<name xml:lang="x-test">xxKrfbxx</name>
<name xml:lang="zh-CN">Krfb</name>
<name xml:lang="zh-TW">Krfb</name>
<summary>Desktop sharing</summary>
<summary xml:lang="ast">Compartición d'escritoriu</summary>
<summary xml:lang="ca">Compartició de l'escriptori</summary>
<summary xml:lang="ca-valencia">Compartició de l'escriptori</summary>
<summary xml:lang="cs">Sdílení pracovní plochy</summary>
@@ -48,7 +48,6 @@
<summary xml:lang="fi">Työpöydän jako</summary>
<summary xml:lang="fr">Partage de bureau</summary>
<summary xml:lang="gl">Compartición do escritorio</summary>
<summary xml:lang="ia">Compartir de scriptorio</summary>
<summary xml:lang="id">Desktop sharing</summary>
<summary xml:lang="it">Condivisione del desktop</summary>
<summary xml:lang="ko">데스크톱 공유</summary>
@@ -68,9 +67,9 @@
<summary xml:lang="uk">Спільне користування стільницею</summary>
<summary xml:lang="x-test">xxDesktop sharingxx</summary>
<summary xml:lang="zh-CN">桌面共享</summary>
<summary xml:lang="zh-TW">桌面分享</summary>
<description>
<p>Krfb Desktop Sharing is a server application that allows you to share your current session with a user on another machine, who can use a VNC client to view or even control the desktop.</p>
<p xml:lang="ast">Krfb ye una aplicación sirvidora que te permite compartir la to sesión actual con un usuariu n'otra máquina que puea usar un veceru VNC pa ver o controlar l'escritoriu.</p>
<p xml:lang="ca">El Krfb és una aplicació de servidor que permet compartir la vostra sessió actual amb un usuari en una altra màquina, la qual pot emprar un client VNC per veure o controlar l'escriptori.</p>
<p xml:lang="ca-valencia">El Krfb és una aplicació de servidor que permet compartir la vostra sessió actual amb un usuari en una altra màquina, la qual pot emprar un client VNC per veure o controlar l'escriptori.</p>
<p xml:lang="da">Krfb-skrivebordsdeling er et serverprogram der giver dig mulighed for at dele din nuværende session med en bruger på en anden maskine som kan bruge en VNC-klient til at vise eller endda styrer skrivebordet.</p>
@@ -81,13 +80,12 @@
<p xml:lang="fi">Krfb-työpöytäjako on palvelinsovellus, jolla voit jakaa nykyisen istuntosi toisen koneen käyttäjälle, joka voi VNC-asiakkaalla nähdä tai jopa hallita työpöytääsi.</p>
<p xml:lang="fr">Le partage de bureau Krfb est une application de serveur qui vous permet de partager votre session courante avec un utilisateur sur une autre machine, qui peut utiliser un client VNC pour afficher et même contrôler le bureau.</p>
<p xml:lang="gl">Krfb é un aplicativo de servidor que permite compartir a sesión actual cun usuario que está noutro equipo, que pode usar un cliente VNC para ver ou mesmo controlar o escritorio.</p>
<p xml:lang="id">Krfb Desktop Sharing adalah aplikasi server yang memungkinkan kamu untuk berbagi sesimu saat ini dengan pengguna di mesin lain, yang bisa menggunakan klien VNC untuk menampilkan atau bahkan mengendalikan desktop.</p>
<p xml:lang="id">Krfb Desktop Sharing adalah aplikasi server yang membolehkan Anda untuk berbagi sesi Anda saat ini dengan pengguna di mesin lain, yang bisa menggunakan klien VNC untuk menampilkan atau bahkan mengendalikan desktop.</p>
<p xml:lang="it">Condivisione del desktop Krfb è un'applicazione server che permette di condividere la sessione attuale con un utente su un'altra macchina, che potrà usare un client VNC per visualizzare ed anche controllare il desktop.</p>
<p xml:lang="ko">Krfb 데스크톱 공유는 현재 세션을 다른 머신의 사용자와 VNC를 통해서 공유하거나 원격 제어를 요청할 수 있는 서버 프로그램입니다.</p>
<p xml:lang="nl">Bureaublad delen is een server-applicatie die u in staat stelt uw huidige sessie te delen met een gebruiker op een andere machine, die een VNC-client kan gebruiken om uw bureaublad te bekijken of zelfs te besturen.</p>
<p xml:lang="pl">Współdzielenie pulpitu Krfb jest aplikacją serwerową, która umożliwia współdzielenie twojej bieżącej sesji z użytkownikiem na innym komputerze, który może użyć klienta VNC do oglądania,a a nawet sterowania twoim pulpitem.</p>
<p xml:lang="pt">A Partilha de Ecrã Krfb é uma aplicação de servidor que lhe permite partilhar a sua sessão actual com um utilizador noutra máquina, o qual poderá usar um cliente de VNC para ver ou mesmo controlar o ambiente de trabalho.</p>
<p xml:lang="pt-BR">Krfb Desktop Sharing é um aplicativo de servidor que lhe permite compartilhar a sua sessão atual com um usuário em outra máquina, que poderá usar um cliente de VNC para ver ou mesmo controlar a máquina.</p>
<p xml:lang="ru">Krfb является сервером, который позволяет вам предоставлять доступ к своему текущему сеансу пользователю на другом компьютере, который использует клиент VNC для просмотра или управления вашим рабочим столом.</p>
<p xml:lang="sk">Krfb je serverová aplikácia, ktorá vám umožní zdieľať vaše aktuálne sedenie s používateľom na inom stroji, ktorý môže používať VNC klienta na pripojenie alebo ovládanie stanice.</p>
<p xml:lang="sl">Souporaba namizja Krfb je strežniški program, ki vam dovoli, da delite vašo trenutno sejo z uporabnikom na drugem računalniku, ki ima odjemalec VNC. Uporabnik lahko gleda ali celo nadzira namizje.</p>
@@ -100,37 +98,15 @@
<p xml:lang="uk">Програма для спільного використання стільниці Krfb — це серверна програма, яка надає вам змогу розділити ваш поточний сеанс роботи з користувачем, який працює на іншому комп’ютері, так, щоб цей користувач зміг скористатися клієнтом VNC для перегляду або навіть керування вашою стільницею.</p>
<p xml:lang="x-test">xxKrfb Desktop Sharing is a server application that allows you to share your current session with a user on another machine, who can use a VNC client to view or even control the desktop.xx</p>
<p xml:lang="zh-CN">Krfb 桌面共享是一个可以让您与另一个在其他机器上的用户共享当前会话的服务器程序,他可以使用 VNC 客户端来查看甚至控制桌面。</p>
<p xml:lang="zh-TW">Krfb 桌面分享是款伺服器應用程式,它可以將您目前的桌面階段分享給一位於其他主機上的使用者,以讓他能使用 VNC 客戶端檢視、甚至控制您的桌面。</p>
</description>
<url type="homepage">https://userbase.kde.org/Krfb</url>
<url type="bugtracker">https://bugs.kde.org/enter_bug.cgi?format=guided&amp;product=krfb</url>
<url type="homepage">https://www.kde.org</url>
<url type="bugtracker">https://bugs.kde.org</url>
<url type="donation">https://www.kde.org/community/donations</url>
<url type="help">https://docs.kde.org/?application=krfb</url>
<screenshots>
<screenshot type="default">
<caption>Sharing desktop with Krfb</caption>
<caption xml:lang="ca">Compartint l'escriptori amb el Krfb</caption>
<caption xml:lang="ca-valencia">Compartint l'escriptori amb el Krfb</caption>
<caption xml:lang="cs">Sdílím pracovní plochu pomocí Krfb</caption>
<caption xml:lang="de">Freigabe der Arbeitsfläche mit Krfb</caption>
<caption xml:lang="en-GB">Sharing desktop with Krfb</caption>
<caption xml:lang="es">Compartiendo el escritorio con Krfb</caption>
<caption xml:lang="fi">Työpöydän jakaminen Krfb:llä</caption>
<caption xml:lang="fr">Partage de bureau grâce à Krfb</caption>
<caption xml:lang="gl">Compartindo o escritorio con Krfb</caption>
<caption xml:lang="id">Berbagi desktop dengan Krfb</caption>
<caption xml:lang="it">Condivisone del desktop con Krfb</caption>
<caption xml:lang="nl">Bureaublad delen met Krfb</caption>
<caption xml:lang="pl">Udostępnienie pulpitu przy użyciu Krfb</caption>
<caption xml:lang="pt">Partilha do ecrã com o Krfb</caption>
<caption xml:lang="pt-BR">Compartilhando a área de trabalho com o Krfb</caption>
<caption xml:lang="ru">Общий доступ к рабочему столу с использованием Krfb</caption>
<caption xml:lang="sv">Dela skrivbord med Krfb</caption>
<caption xml:lang="uk">Спільне використання стільниці за допомогою Krfb</caption>
<caption xml:lang="x-test">xxSharing desktop with Krfbxx</caption>
<caption xml:lang="zh-CN">使用 Krfb 共享桌面</caption>
<caption xml:lang="zh-TW">使用 Krfb 分享桌面</caption>
<image>https://cdn.kde.org/screenshots/krfb/krfb.png</image>
<image>
https://cdn.kde.org/screenshots/krfb/krfb.png
</image>
</screenshot>
</screenshots>
<provides>

View File

@@ -8,6 +8,7 @@ X-DocPath=krfb/index.html
Terminal=false
Name=Krfb
Name[ar]=Krfb
Name[ast]=Krfb
Name[bg]=Krfb
Name[bn]=কে-আর-এফ-বি
Name[br]=Krfb
@@ -76,6 +77,7 @@ Name[zh_HK]=Krfb
Name[zh_TW]=桌面分享_Krfb
GenericName=Desktop Sharing
GenericName[ar]=مشاركة سطح المكتب
GenericName[ast]=Compartición d'escritoriu
GenericName[bg]=Споделяне на работния плот
GenericName[bn]=ডেস্কটপ ভাগাভাগি
GenericName[br]=Rannañ ar vurev
@@ -147,6 +149,7 @@ GenericName[zh_TW]=桌面分享
Comment=Desktop Sharing
Comment[af]=Werkskerm Deeling
Comment[ar]=مشاركة سطح المكتب
Comment[ast]=Compartición d'escritoriu
Comment[bg]=Споделяне на работния плот
Comment[bn]=ডেস্কটপ ভাগাভাগি
Comment[br]=Rannañ ar vurev

View File

@@ -22,7 +22,7 @@
#include "krfbconfig.h"
#include "sockethelpers.h"
#include "events.h"
#include <QSocketNotifier>
#include <QtCore/QSocketNotifier>
#include <QDebug>
#include <poll.h>
#include <strings.h> //for bzero()
@@ -43,7 +43,7 @@ struct RfbClient::Private
RfbClient::RfbClient(rfbClientPtr client, QObject* parent)
: QObject(parent), d(new Private(client))
{
d->remoteAddressString = peerAddress(d->client->sock) + ':' +
d->remoteAddressString = peerAddress(d->client->sock) + ":" +
QString::number(peerPort(d->client->sock));
d->notifier = new QSocketNotifier(client->sock, QSocketNotifier::Read, this);
@@ -197,7 +197,7 @@ void PendingRfbClient::reject()
rfbCloseClient(m_rfbClient);
rfbClientConnectionGone(m_rfbClient);
Q_EMIT finished(nullptr);
Q_EMIT finished(NULL);
deleteLater();
}
@@ -205,7 +205,7 @@ bool PendingRfbClient::checkPassword(const QByteArray & encryptedPassword)
{
Q_UNUSED(encryptedPassword);
return m_rfbClient->screen->authPasswdData == (void*)nullptr;
return m_rfbClient->screen->authPasswdData == (void*)0;
}
bool PendingRfbClient::vncAuthCheckPassword(const QByteArray& password, const QByteArray& encryptedPassword) const
@@ -228,3 +228,5 @@ bool PendingRfbClient::vncAuthCheckPassword(const QByteArray& password, const QB
rfbEncryptBytes(challenge, passwd);
return memcmp(challenge, encryptedPassword, encryptedPassword.size()) == 0;
}
#include "rfbclient.moc"

View File

@@ -21,7 +21,7 @@
#define RFBCLIENT_H
#include "rfb.h"
#include <QObject>
#include <QtCore/QObject>
class RfbClient : public QObject
{
@@ -29,8 +29,8 @@ class RfbClient : public QObject
Q_PROPERTY(bool controlEnabled READ controlEnabled WRITE setControlEnabled NOTIFY controlEnabledChanged)
Q_PROPERTY(bool onHold READ isOnHold WRITE setOnHold NOTIFY holdStatusChanged)
public:
explicit RfbClient(rfbClientPtr client, QObject *parent = nullptr);
~RfbClient() override;
RfbClient(rfbClientPtr client, QObject *parent = 0);
virtual ~RfbClient();
/** Returns a name for the client, to be shown to the user */
virtual QString name() const;
@@ -73,8 +73,8 @@ class PendingRfbClient : public QObject
{
Q_OBJECT
public:
explicit PendingRfbClient(rfbClientPtr client, QObject *parent = nullptr);
~PendingRfbClient() override;
PendingRfbClient(rfbClientPtr client, QObject *parent = 0);
virtual ~PendingRfbClient();
Q_SIGNALS:
void finished(RfbClient *client);
@@ -97,7 +97,7 @@ protected:
virtual bool checkPassword(const QByteArray & encryptedPassword);
/** This method checks if the \a encryptedPassword that was sent from the remote
* user matches the \a password that you have specified locally to be the password
* user matches the \a password that you have specified localy to be the password
* for this connection. This assumes that the standard VNC authentication mechanism
* is used. Returns true if the password matches or false otherwise.
*/

View File

@@ -19,10 +19,9 @@
*/
#include "rfbserver.h"
#include "rfbservermanager.h"
#include <QSocketNotifier>
#include <QtCore/QSocketNotifier>
#include <QApplication>
#include <QClipboard>
#include <QPointer>
#include <QDebug>
struct RfbServer::Private
@@ -31,8 +30,7 @@ struct RfbServer::Private
int listeningPort;
bool passwordRequired;
rfbScreenInfoPtr screen;
QPointer<QSocketNotifier> ipv4notifier;
QPointer<QSocketNotifier> ipv6notifier;
QSocketNotifier *notifier;
};
RfbServer::RfbServer(QObject *parent)
@@ -41,7 +39,8 @@ RfbServer::RfbServer(QObject *parent)
d->listeningAddress = "0.0.0.0";
d->listeningPort = 0;
d->passwordRequired = true;
d->screen = nullptr;
d->screen = NULL;
d->notifier = NULL;
RfbServerManager::instance()->registerServer(this);
}
@@ -121,7 +120,7 @@ bool RfbServer::start()
if (passwordRequired()) {
d->screen->authPasswdData = (void *)1;
} else {
d->screen->authPasswdData = (void *)nullptr;
d->screen->authPasswdData = (void *)0;
}
qDebug() << "Starting server. Listen port:" << listeningPort()
@@ -136,13 +135,9 @@ bool RfbServer::start()
return false;
};
d->ipv4notifier = new QSocketNotifier(d->screen->listenSock, QSocketNotifier::Read, this);
connect(d->ipv4notifier, &QSocketNotifier::activated, this, &RfbServer::onListenSocketActivated);
if (d->screen->listen6Sock > 0) {
// we're also listening on additional IPv6 socket, get events from there
d->ipv6notifier = new QSocketNotifier(d->screen->listen6Sock, QSocketNotifier::Read, this);
connect(d->ipv6notifier, &QSocketNotifier::activated, this, &RfbServer::onListenSocketActivated);
}
d->notifier = new QSocketNotifier(d->screen->listenSock, QSocketNotifier::Read, this);
d->notifier->setEnabled(true);
connect(d->notifier, &QSocketNotifier::activated, this, &RfbServer::onListenSocketActivated);
connect(QApplication::clipboard(), &QClipboard::dataChanged,
this, &RfbServer::krfbSendServerCutText);
@@ -153,11 +148,10 @@ void RfbServer::stop()
{
if (d->screen) {
rfbShutdownServer(d->screen, true);
for (auto notifier : {d->ipv4notifier, d->ipv6notifier}) {
if (notifier) {
notifier->setEnabled(false);
notifier->deleteLater();
}
if (d->notifier) {
d->notifier->setEnabled(false);
d->notifier->deleteLater();
d->notifier = NULL;
}
}
}
@@ -193,7 +187,7 @@ void krfb_rfbSetCursorPosition(rfbScreenInfoPtr screen, rfbClientPtr client, int
/* Inform all clients about this cursor movement. */
iterator = rfbGetClientIterator(screen);
while ((cl = rfbClientIteratorNext(iterator)) != nullptr) {
while ((cl = rfbClientIteratorNext(iterator)) != NULL) {
cl->cursorWasMoved = true;
}
rfbReleaseClientIterator(iterator);
@@ -207,7 +201,7 @@ void krfb_rfbSetCursorPosition(rfbScreenInfoPtr screen, rfbClientPtr client, int
void RfbServer::updateCursorPosition(const QPoint & position)
{
if (d->screen) {
krfb_rfbSetCursorPosition(d->screen, nullptr, position.x(), position.y());
krfb_rfbSetCursorPosition(d->screen, NULL, position.x(), position.y());
}
}
@@ -284,3 +278,5 @@ void RfbServer::clipboardHook(char *str, int len, rfbClientPtr /*cl*/)
{
QApplication::clipboard()->setText(QString::fromLocal8Bit(str,len));
}
#include "rfbserver.moc"

View File

@@ -22,14 +22,14 @@
#include "rfb.h"
#include "rfbclient.h"
#include <QRect>
#include <QtCore/QRect>
class RfbServer : public QObject
{
Q_OBJECT
public:
explicit RfbServer(QObject *parent = nullptr);
~RfbServer() override;
RfbServer(QObject *parent = 0);
virtual ~RfbServer();
QByteArray listeningAddress() const;
int listeningPort() const;

View File

@@ -24,11 +24,11 @@
#include "framebuffermanager.h"
#include "sockethelpers.h"
#include "krfbconfig.h"
#include <QTimer>
#include <QtCore/QTimer>
#include <QApplication>
#include <QDesktopWidget>
#include <QGlobalStatic>
#include <QHostInfo>
#include <QtNetwork/QHostInfo>
#include <QDebug>
#include <KLocalizedString>
@@ -176,7 +176,7 @@ void RfbServerManager::unregisterServer(RfbServer* server)
rfbScreenInfoPtr RfbServerManager::newScreen()
{
rfbScreenInfoPtr screen = nullptr;
rfbScreenInfoPtr screen = NULL;
if (!d->fb.isNull()) {
int w = d->fb->width();
@@ -192,7 +192,7 @@ rfbScreenInfoPtr RfbServerManager::newScreen()
rfbLogEnable(0);
screen = rfbGetScreen(nullptr, nullptr, w, h, 8, 3, bpp);
screen = rfbGetScreen(0, 0, w, h, 8, 3, bpp);
screen->paddedWidthInBytes = d->fb->paddedWidth();
d->fb->getServerFormat(screen->serverFormat);
screen->frameBuffer = d->fb->data();
@@ -232,3 +232,5 @@ void RfbServerManager::removeClient(RfbClient* cc)
Q_EMIT clientDisconnected(cc);
}
#include "rfbservermanager.moc"

View File

@@ -21,7 +21,7 @@
#define RFBSERVERMANAGER_H
#include "rfb.h"
#include <QObject>
#include <QtCore/QObject>
class RfbClient;
struct RfbServerManagerStatic;
@@ -52,7 +52,7 @@ private:
void removeClient(RfbClient *cc);
RfbServerManager();
~RfbServerManager() override;
virtual ~RfbServerManager();
Q_DISABLE_COPY(RfbServerManager)
friend class RfbServer;

View File

@@ -20,10 +20,7 @@
Boston, MA 02110-1301, USA.
*/
#ifndef SOCKETHELPERS_H
#define SOCKETHELPERS_H
#include <QString>
#include <QtCore/QString>
QString peerAddress(int sock);
unsigned short peerPort(int sock);
@@ -31,4 +28,3 @@ unsigned short peerPort(int sock);
QString localAddress(int sock);
unsigned short localPort(int sock);
#endif

View File

@@ -68,7 +68,7 @@ ClientActions::ClientActions(RfbClient* client, QMenu* menu, QAction* before)
QObject::connect(client, &RfbClient::controlEnabledChanged,
m_enableControlAction, &KToggleAction::setChecked);
} else {
m_enableControlAction = nullptr;
m_enableControlAction = NULL;
}
m_separator = m_menu->insertSeparator(before);
@@ -143,3 +143,5 @@ void TrayIcon::showAbout()
KHelpMenu menu;
menu.aboutApplication();
}
#include "trayicon.moc"

View File

@@ -32,7 +32,7 @@ class TrayIcon : public KStatusNotifierItem
{
Q_OBJECT
public:
explicit TrayIcon(QWidget *mainWindow);
TrayIcon(QWidget *mainWindow);
public Q_SLOTS:
void onClientConnected(RfbClient *client);