Compare commits

..

9 Commits

Author SHA1 Message Date
Script Kiddy
7f98f53657 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=1028167
2009-09-26 03:11:29 +00:00
Script Kiddy
523140aef5 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=1024443
2009-09-16 16:13:24 +00:00
Script Kiddy
0daac50928 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=1023623
2009-09-15 03:12:29 +00:00
George Goldberg
336d0952eb Backport r1022261.
BUG: 162493

svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=1022262
2009-09-11 09:48:36 +00:00
Script Kiddy
c3fe689bbd SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=1018668
2009-09-02 03:18:28 +00:00
Script Kiddy
68193c26e5 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=1009453
2009-08-10 03:10:52 +00:00
Script Kiddy
717cf2f342 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=1000353
2009-07-21 08:09:23 +00:00
Pino Toscano
42be7b23c7 explicitly link to X11, Xext, QtNetwork and kdeui
CCBUG: 200100

svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=1000051
2009-07-20 18:47:02 +00:00
Script Kiddy
2336fa0c8f SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=988518
2009-06-28 07:59:29 +00:00
35 changed files with 137 additions and 882 deletions

View File

@@ -1,22 +1,5 @@
project(krfb)
if(NOT INSIDE_KDENETWORK)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/../cmake/modules ${CMAKE_MODULE_PATH})
find_package(KDE4 REQUIRED)
include(KDE4Defaults)
include(MacroLibrary)
include(CheckSymbolExists)
find_package(LibVNCServer)
macro_optional_find_package(LibVNCServer)
set(CMAKE_REQUIRED_DEFINITIONS ${_KDE_PLATFORM_DEFINITIONS})
add_definitions(${QT_DEFINITIONS} ${QT_DBUS_DEFINITIONS} ${KDE4_DEFINITIONS})
include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES})
endif(NOT INSIDE_KDENETWORK)
check_symbol_exists(rfbInitServer "rfb/rfb.h" HAVE_LIBVNCSERVER)
macro_bool_to_01(X11_Xdamage_FOUND HAVE_XDAMAGE)
macro_bool_to_01(X11_XShm_FOUND HAVE_XSHM)
@@ -33,51 +16,6 @@ endif(Q_WS_X11)
#add_subdirectory(kcm_krfb)
if (HAVE_LIBVNCSERVER)
#####################################
# First target: libkrfb - a library
# for linking plugins against.
set (krfbprivate_SRCS
framebuffer.cpp
framebufferplugin.cpp
)
kde4_add_library (krfbprivate
SHARED
${krfbprivate_SRCS}
)
target_link_libraries (krfbprivate
${QT_QTCORE_LIBRARY}
${QT_QTGUI_LIBRARY}
${X11_X11_LIB}
${LIBVNCSERVER_LIBRARIES}
)
set_target_properties (krfbprivate PROPERTIES
VERSION ${GENERIC_LIB_VERSION}
SOVERSION ${GENERIC_LIB_VERSION}
)
install (TARGETS krfbprivate
${INSTALL_TARGETS_DEFAULT_ARGS}
)
install (FILES
krfb-framebuffer.desktop
DESTINATION ${SERVICETYPES_INSTALL_DIR}
)
#####################################
# Build the plugins
include_directories (${CMAKE_CURRENT_SOURCE_DIR})
add_subdirectory (framebuffers)
#####################################
# Second target: krfb - the app
# itself.
set(krfb_SRCS
main.cpp
trayicon.cpp
@@ -90,7 +28,9 @@ set(krfb_SRCS
personalinvitedialog.cpp
connectioncontroller.cpp
events.cpp
framebuffermanager.cpp
framebuffer.cpp
qtframebuffer.cpp
x11framebuffer.cpp
)
kde4_add_kcfg_files(krfb_SRCS krfbconfig.kcfgc)
@@ -105,18 +45,7 @@ kde4_add_ui_files(krfb_SRCS connectionwidget.ui
kde4_add_executable(krfb ${krfb_SRCS})
target_link_libraries(krfb
krfbprivate
${JPEG_LIBRARIES}
${LIBVNCSERVER_LIBRARIES}
${X11_Xext_LIB}
${X11_X11_LIB}
${X11_Xdamage_LIB}
${QT_QTNETWORK_LIBRARY}
${KDE4_KDNSSD_LIBS}
${KDE4_KDEUI_LIBS}
)
target_link_libraries(krfb ${JPEG_LIBRARIES} ${LIBVNCSERVER_LIBRARIES} ${X11_Xext_LIB} ${X11_X11_LIB} ${X11_Xdamage_LIB} ${QT_QTNETWORK_LIBRARY} ${KDE4_KDNSSD_LIBS} ${KDE4_KDEUI_LIBS})
if(X11_XTest_FOUND)
target_link_libraries(krfb ${X11_XTest_LIB})
endif(X11_XTest_FOUND)

View File

@@ -1,8 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<ui version="4.0" >
<class>Security</class>
<widget class="QWidget" name="Security">
<property name="geometry">
<widget class="QWidget" name="Security" >
<property name="geometry" >
<rect>
<x>0</x>
<y>0</y>
@@ -10,66 +9,66 @@
<height>201</height>
</rect>
</property>
<layout class="QVBoxLayout">
<layout class="QVBoxLayout" >
<item>
<widget class="QCheckBox" name="kcfg_allowUninvitedConnections">
<property name="text">
<widget class="QCheckBox" name="kcfg_allowUninvitedConnections" >
<property name="text" >
<string>Allow uninvited connections</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="kcfg_allowDesktopControl">
<property name="text">
<widget class="QCheckBox" name="kcfg_allowDesktopControl" >
<property name="text" >
<string>Allow remote connections to control your desktop</string>
</property>
<property name="checked">
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="kcfg_askOnConnect">
<property name="enabled">
<widget class="QCheckBox" name="kcfg_askOnConnect" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="text">
<string>Ask before accepting connections</string>
<property name="text" >
<string>Ask before accepting an uninvited connection</string>
</property>
<property name="checked">
<property name="checked" >
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label">
<property name="enabled">
<widget class="QLabel" name="label" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="text">
<property name="text" >
<string>Uninvited connections password:</string>
</property>
<property name="buddy">
<property name="buddy" >
<cstring>kcfg_uninvitedConnectionPassword</cstring>
</property>
</widget>
</item>
<item>
<widget class="KLineEdit" name="kcfg_uninvitedConnectionPassword">
<property name="enabled">
<widget class="KLineEdit" name="kcfg_uninvitedConnectionPassword" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="echoMode">
<property name="echoMode" >
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation">
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<property name="sizeHint" >
<size>
<width>20</width>
<height>40</height>
@@ -94,11 +93,11 @@
<receiver>kcfg_askOnConnect</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<hint type="sourcelabel" >
<x>22</x>
<y>24</y>
</hint>
<hint type="destinationlabel">
<hint type="destinationlabel" >
<x>29</x>
<y>80</y>
</hint>
@@ -110,11 +109,11 @@
<receiver>kcfg_uninvitedConnectionPassword</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<hint type="sourcelabel" >
<x>98</x>
<y>21</y>
</hint>
<hint type="destinationlabel">
<hint type="destinationlabel" >
<x>192</x>
<y>137</y>
</hint>
@@ -126,11 +125,11 @@
<receiver>label</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<hint type="sourcelabel" >
<x>117</x>
<y>20</y>
</hint>
<hint type="destinationlabel">
<hint type="destinationlabel" >
<x>120</x>
<y>94</y>
</hint>

View File

@@ -99,7 +99,6 @@ ConnectionController::~ConnectionController()
enum rfbNewClientAction ConnectionController::handleNewClient()
{
kDebug();
bool askOnConnect = KrfbConfig::askOnConnect();
bool allowUninvited = KrfbConfig::allowUninvitedConnections();
@@ -107,17 +106,13 @@ enum rfbNewClientAction ConnectionController::handleNewClient()
remoteIp = peerAddress(cl->sock);
if (!allowUninvited && InvitationManager::self()->activeInvitations() == 0) {
KNotification::event("UnexpectedConnection",
KNotification::event("ConnectionAttempted",
i18n("Refused uninvited connection attempt from %1",
remoteIp));
return RFB_CLIENT_REFUSE;
}
// In the remaining cases, the connection will be at least partially established, so we need
// the clientGoneHook to be called when the connection ends.
cl->clientGoneHook = clientGoneHook;
if (!askOnConnect) {
if (!askOnConnect && InvitationManager::self()->activeInvitations() == 0) {
KNotification::event("NewConnectionAutoAccepted",
i18n("Accepted uninvited connection from %1",
remoteIp));
@@ -130,9 +125,11 @@ enum rfbNewClientAction ConnectionController::handleNewClient()
i18n("Received connection from %1, on hold (waiting for confirmation)",
remoteIp));
cl->clientGoneHook = clientGoneHook;
ConnectionDialog *dialog = new ConnectionDialog(0);
dialog->setRemoteHost(remoteIp);
dialog->setAllowRemoteControl(KrfbConfig::allowDesktopControl());
dialog->setAllowRemoteControl( true );
connect(dialog, SIGNAL(okClicked()), SLOT(dialogAccepted()));
connect(dialog, SIGNAL(cancelClicked()), SLOT(dialogRejected()));
@@ -216,17 +213,8 @@ void ConnectionController::clipboardToServer(const QString &s)
void ConnectionController::dialogAccepted()
{
ConnectionDialog *dialog = qobject_cast<ConnectionDialog*>(sender());
if (!dialog) {
kWarning() << "Wrong type of sender.";
return;
}
// rfbStartOnHoldClient(cl);
cl->onHold = false;
setControlEnabled(dialog->cbAllowRemoteControl->isChecked());
setControlCanBeEnabled(dialog->cbAllowRemoteControl->isChecked());
emit sessionEstablished(remoteIp);
}
void ConnectionController::dialogRejected()
@@ -240,14 +228,4 @@ void ConnectionController::setControlEnabled(bool enable)
controlEnabled = enable;
}
void ConnectionController::setControlCanBeEnabled(bool canBeEnabled)
{
m_controlCanBeEnabled = canBeEnabled;
}
bool ConnectionController::controlCanBeEnabled() const
{
return m_controlCanBeEnabled;
}

View File

@@ -39,9 +39,6 @@ public:
void setControlEnabled(bool enable);
void setControlCanBeEnabled(bool canBeEnabled);
bool controlCanBeEnabled() const;
Q_SIGNALS:
void sessionEstablished(QString);
void notification(QString, QString);
@@ -55,7 +52,6 @@ private:
QString remoteIp;
struct _rfbClientRec *cl;
bool controlEnabled;
bool m_controlCanBeEnabled;
/*
int fd;
KrfbServer *server;

View File

@@ -60,7 +60,6 @@ void ConnectionDialog::setRemoteHost( const QString &host )
void ConnectionDialog::setAllowRemoteControl( bool b )
{
cbAllowRemoteControl->setChecked( b );
cbAllowRemoteControl->setVisible(b);
}
bool ConnectionDialog::allowRemoteControl()

View File

@@ -12,14 +12,26 @@
#include <config-krfb.h>
#include <QX11Info>
#include "qtframebuffer.h"
#include "x11framebuffer.h"
#include <X11/Xutil.h>
#ifdef HAVE_XDAMAGE
#include <X11/extensions/Xdamage.h>
#endif
FrameBuffer::FrameBuffer(WId id, QObject *parent)
: QObject(parent), win(id)
{
//TODO: implement reference counting to avoid update the screen
// while no client is connected.
}
FrameBuffer::~FrameBuffer()
{
delete fb;
@@ -56,6 +68,18 @@ int FrameBuffer::depth()
return 32;
}
FrameBuffer * FrameBuffer::getFrameBuffer(WId id, QObject * parent)
{
#ifdef HAVE_XDAMAGE
int tmp, er;
if (XDamageQueryExtension(QX11Info::display(), &tmp, &er)) {
return new X11FrameBuffer(id, parent);
}
#endif
return new QtFrameBuffer(id, parent);
}
int FrameBuffer::paddedWidth()
{
return width() * depth() / 8;
@@ -69,3 +93,4 @@ void FrameBuffer::stopMonitor()
{
}

View File

@@ -15,19 +15,18 @@
#include <QList>
#include <QWidget>
#include <kdemacros.h>
#include <rfb/rfb.h>
class FrameBuffer;
/**
@author Alessandro Praduroux <pradu@pradu.it>
*/
class KDE_EXPORT FrameBuffer : public QObject
class FrameBuffer : public QObject
{
Q_OBJECT
public:
explicit FrameBuffer(WId id, QObject *parent = 0);
static FrameBuffer* getFrameBuffer(WId id, QObject *parent);
virtual ~FrameBuffer();
@@ -44,13 +43,12 @@ public:
virtual void getServerFormat(rfbPixelFormat &format);
protected:
explicit FrameBuffer(WId id, QObject *parent = 0);
WId win;
char *fb;
QList<QRect> tiles;
private:
Q_DISABLE_COPY(FrameBuffer)
};
#endif

View File

@@ -1,132 +0,0 @@
/* This file is part of the KDE project
Copyright (C) 2009 Collabora Ltd <info@collabora.co.uk>
@author George Goldberg <george.goldberg@collabora.co.uk>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "framebuffermanager.h"
#include "framebufferplugin.h"
#include "krfbconfig.h"
#include <KDebug>
#include <KGlobal>
#include <KServiceTypeTrader>
#include <QtCore/QSharedPointer>
class FrameBufferManagerStatic
{
public:
FrameBufferManager instance;
};
K_GLOBAL_STATIC(FrameBufferManagerStatic, frameBufferManagerStatic)
FrameBufferManager::FrameBufferManager()
{
kDebug();
loadPlugins();
}
FrameBufferManager::~FrameBufferManager()
{
kDebug();
}
FrameBufferManager *FrameBufferManager::instance()
{
kDebug();
return &frameBufferManagerStatic->instance;
}
void FrameBufferManager::loadPlugins()
{
kDebug();
// Load the all the plugin factories here, for use later.
KService::List offers = KServiceTypeTrader::self()->query("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) {
kWarning() << "KPluginFactory could not load the plugin:" << service->library();
continue;
}
FrameBufferPlugin *plugin = factory->create<FrameBufferPlugin>(this);
if (plugin) {
kDebug() << "Loaded plugin:" << service->name();
m_plugins.insert(service->library(), plugin);
} else {
kDebug() << error;
}
}
}
QSharedPointer<FrameBuffer> FrameBufferManager::frameBuffer(WId id)
{
kDebug();
// See if there is still an existing framebuffer to this WId.
if (m_frameBuffers.contains(id)) {
QWeakPointer<FrameBuffer> weakFrameBuffer = m_frameBuffers.value(id);
if (weakFrameBuffer) {
kDebug() << "Found cached frame buffer.";
return weakFrameBuffer.toStrongRef();
} else {
kDebug() << "Found deleted cached frame buffer. Don't use.";
m_frameBuffers.remove(id);
}
}
// We don't already have that frame buffer.
QMap<QString, FrameBufferPlugin*>::const_iterator iter = m_plugins.constBegin();
while (iter != m_plugins.constEnd()) {
if (iter.key() == KrfbConfig::preferredFrameBufferPlugin()) {
kDebug() << "Using FrameBuffer:" << KrfbConfig::preferredFrameBufferPlugin();
QSharedPointer<FrameBuffer> frameBuffer(iter.value()->frameBuffer(id));
if (frameBuffer) {
m_frameBuffers.insert(id, frameBuffer.toWeakRef());
return frameBuffer;
}
}
++iter;
}
// No valid framebuffer plugin found.
kDebug() << "No valid framebuffer found. returning null.";
return QSharedPointer<FrameBuffer>();
}
#include "framebuffermanager.moc"

View File

@@ -1,62 +0,0 @@
/* This file is part of the KDE project
Copyright (C) 2009 Collabora Ltd <info@collabora.co.uk>
@author George Goldberg <george.goldberg@collabora.co.uk>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef KRFB_FRAMEBUFFERMANAGER_H
#define KRFB_FRAMEBUFFERMANAGER_H
#include "framebuffer.h"
#include <kdemacros.h>
#include <QtCore/QMap>
#include <QtCore/QObject>
#include <QtCore/QSharedPointer>
#include <QtCore/QWeakPointer>
#include <QtGui/QWidget>
class FrameBufferPlugin;
class KPluginFactory;
class KDE_EXPORT FrameBufferManager : public QObject
{
Q_OBJECT
friend class FrameBufferManagerStatic;
public:
static FrameBufferManager *instance();
virtual ~FrameBufferManager();
QSharedPointer<FrameBuffer> frameBuffer(WId id);
private:
Q_DISABLE_COPY(FrameBufferManager)
FrameBufferManager();
void loadPlugins();
QMap<QString, FrameBufferPlugin*> m_plugins;
QMap<WId, QWeakPointer<FrameBuffer> > m_frameBuffers;
};
#endif // Header guard

View File

@@ -1,36 +0,0 @@
/* This file is part of the KDE project
Copyright (C) 2009 Collabora Ltd <info@collabora.co.uk>
@author George Goldberg <george.goldberg@collabora.co.uk>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "framebufferplugin.h"
#include "framebuffer.h"
FrameBufferPlugin::FrameBufferPlugin(QObject *parent, const QVariantList &)
: QObject(parent)
{
}
FrameBufferPlugin::~FrameBufferPlugin()
{
}
#include "framebufferplugin.moc"

View File

@@ -1,44 +0,0 @@
/* This file is part of the KDE project
Copyright (C) 2009 Collabora Ltd <info@collabora.co.uk>
@author George Goldberg <george.goldberg@collabora.co.uk>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef LIB_KRFB_FRAMEBUFFERPLUGIN_H
#define LIB_KRFB_FRAMEBUFFERPLUGIN_H
#include <kdemacros.h>
#include <QtCore/QVariantList>
#include <QtGui/QWidget>
class FrameBuffer;
class KDE_EXPORT FrameBufferPlugin : public QObject
{
Q_OBJECT
public:
FrameBufferPlugin(QObject *parent, const QVariantList &args);
virtual ~FrameBufferPlugin();
virtual FrameBuffer *frameBuffer(WId id) = 0;
};
#endif // Header guard

View File

@@ -1,3 +0,0 @@
add_subdirectory (qt)
add_subdirectory (x11)

View File

@@ -1,28 +0,0 @@
include_directories (${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
set (krfb_framebuffer_qt_SRCS
qtframebuffer.cpp
qtframebufferplugin.cpp
)
kde4_add_plugin (krfb_framebuffer_qt
${krfb_framebuffer_qt_SRCS}
)
target_link_libraries (krfb_framebuffer_qt
${QT_QTCORE_LIBRARY}
${QT_QTGUI_LIBRARY}
${KDE4_KDEUI_LIBS}
krfbprivate
)
install (TARGETS krfb_framebuffer_qt
DESTINATION ${PLUGIN_INSTALL_DIR}
)
install (FILES krfb_framebuffer_qt.desktop
DESTINATION ${SERVICES_INSTALL_DIR}
)

View File

@@ -1,53 +0,0 @@
[Desktop Entry]
Encoding=UTF-8
Comment=Qt based Framebuffer for KRfb.
Comment[ca]=«Framebuffer» basat en Qt per al KRfb.
Comment[da]=Qt-baseret framebuffer til KRfb.
Comment[en_GB]=Qt based Framebuffer for KRfb.
Comment[es]=Esquema Qt de buffer para KRfb
Comment[et]=KRfb Qt põhine kaadripuhver
Comment[gl]=Framebuffer baseado en Qt para KRfb.
Comment[ko]=KRfb를 위한 Qt 기반 프레임버퍼.
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[pt]='Framebuffer' baseado no Qt para o KRfb.
Comment[pt_BR]=Framebuffer baseado no Qt para o KRfb.
Comment[sr]=Кадробафер за КРФБ на основу КуТу
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_TW]=KRfb 的 Qt-based Framebuffer
Name=Qt Framebuffer for KRfb
Name[ca]=«Framebuffer» Qt per al KRfb.
Name[da]=Qt-framebuffer til KRfb
Name[en_GB]=Qt Framebuffer for KRfb
Name[es]=Esquema Qt de buffer para KRfb
Name[et]=KRfb Qt kaadripuhver
Name[gl]=Framebuffer de Qt para KRfb
Name[ko]=KRfb를 위한 Qt 프레임버퍼
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[pt]='Framebuffer' do Qt para o KRfb
Name[pt_BR]=Framebuffer do Qt para o KRfb
Name[sr]=КуТ‑ов кадробафер за КРФБ
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_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,47 +0,0 @@
/* This file is part of the KDE project
Copyright (C) 2009 Collabora Ltd <info@collabora.co.uk>
@author George Goldberg <george.goldberg@collabora.co.uk>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "qtframebufferplugin.h"
#include "qtframebuffer.h"
#include <KGenericFactory>
QtFrameBufferPlugin::QtFrameBufferPlugin(QObject *parent, const QVariantList &args)
: FrameBufferPlugin(parent, args)
{
}
QtFrameBufferPlugin::~QtFrameBufferPlugin()
{
}
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

@@ -1,48 +0,0 @@
/* This file is part of the KDE project
Copyright (C) 2009 Collabora Ltd <info@collabora.co.uk>
@author George Goldberg <george.goldberg@collabora.co.uk>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef KRFB_FRAMEBUFFER_QT_QTFRAMEBUFFERPLUGIN_H
#define KRFB_FRAMEBUFFER_QT_QTFRAMEBUFFERPLUGIN_H
#include "framebufferplugin.h"
#include <kdemacros.h>
#include <QtGui/QWidget>
class FrameBuffer;
class QtFrameBufferPlugin : public FrameBufferPlugin
{
Q_OBJECT
public:
QtFrameBufferPlugin(QObject *parent, const QVariantList &args);
virtual ~QtFrameBufferPlugin();
virtual FrameBuffer *frameBuffer(WId id);
private:
Q_DISABLE_COPY(QtFrameBufferPlugin)
};
#endif // Header guard

View File

@@ -1,31 +0,0 @@
include_directories (${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
set (krfb_framebuffer_x11_SRCS
x11framebuffer.cpp
x11framebufferplugin.cpp
)
kde4_add_plugin (krfb_framebuffer_x11
${krfb_framebuffer_x11_SRCS}
)
target_link_libraries (krfb_framebuffer_x11
${KDE4_KDEUI_LIBS}
${QT_QTCORE_LIBRARY}
${QT_QTGUI_LIBRARY}
${X11_X11_LIB}
${X11_Xdamage_LIB}
${X11_Xext_LIB}
krfbprivate
)
install (TARGETS krfb_framebuffer_x11
DESTINATION ${PLUGIN_INSTALL_DIR}
)
install (FILES krfb_framebuffer_x11.desktop
DESTINATION ${SERVICES_INSTALL_DIR}
)

View File

@@ -1,53 +0,0 @@
[Desktop Entry]
Encoding=UTF-8
Comment=X11 XDamage/XShm based Framebuffer for KRfb.
Comment[ca]=«Framebuffer» basat en XDamage/XShmQt de l'X11 per al KRfb.
Comment[da]=X11 XDamage/XShm-baseret framebuffer til KRfb.
Comment[en_GB]=X11 XDamage/XShm based Framebuffer for KRfb.
Comment[es]=Esquema de buffer para KRfb basado en XDamage/XShm
Comment[et]=KRfb X11 XDamage/XShm põhine kaadripuhver
Comment[gl]=Framebuffer baseado en Xll XDamage/Xshm para XRfb.
Comment[ko]=KRfb를 위한 X11 XDamage/XShm 기반 프레임버퍼.
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[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[sr]=Кадробафер за КРФБ на основу Икс‑демиџа/Икс‑схма у Иксу11.
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_TW]=KRfb 的 X11 XDamage/XShm based Framebuffer
Name=X11 Framebuffer for KRfb
Name[ca]=«Framebuffer» de l'X11 per al KRfb.
Name[da]=X11-framebuffer til KRfb
Name[en_GB]=X11 Framebuffer for KRfb
Name[es]=Buffer de X11 para KRfb
Name[et]=KRfb X11 kaadripuhver
Name[gl]=Framebuffer de X11 para KRfb
Name[ko]=KRfb를 위한 X11 프레임버퍼
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[pt]='Framebuffer' do X11 para o KRfb
Name[pt_BR]=Framebuffer do X11 para o KRfb
Name[sr]=Икс11 кадробафер за КРФБ.
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_TW]=KRfb 的 X11 Framebuffer
Type=Service
ServiceTypes=krfb/framebuffer
X-KDE-Library=krfb_framebuffer_x11
X-KDE-PluginInfo-Name=x11
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,47 +0,0 @@
/* This file is part of the KDE project
Copyright (C) 2009 Collabora Ltd <info@collabora.co.uk>
@author George Goldberg <george.goldberg@collabora.co.uk>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#include "x11framebufferplugin.h"
#include "x11framebuffer.h"
#include <KGenericFactory>
X11FrameBufferPlugin::X11FrameBufferPlugin(QObject *parent, const QVariantList &args)
: FrameBufferPlugin(parent, args)
{
}
X11FrameBufferPlugin::~X11FrameBufferPlugin()
{
}
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

@@ -1,48 +0,0 @@
/* This file is part of the KDE project
Copyright (C) 2009 Collabora Ltd <info@collabora.co.uk>
@author George Goldberg <george.goldberg@collabora.co.uk>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef KRFB_FRAMEBUFFER_X11_X11FRAMEBUFFERPLUGIN_H
#define KRFB_FRAMEBUFFER_X11_X11FRAMEBUFFERPLUGIN_H
#include "framebufferplugin.h"
#include <kdemacros.h>
#include <QtGui/QWidget>
class FrameBuffer;
class X11FrameBufferPlugin : public FrameBufferPlugin
{
Q_OBJECT
public:
X11FrameBufferPlugin(QObject *parent, const QVariantList &args);
virtual ~X11FrameBufferPlugin();
virtual FrameBuffer *frameBuffer(WId id);
private:
Q_DISABLE_COPY(X11FrameBufferPlugin)
};
#endif // Header guard

View File

@@ -103,7 +103,7 @@ Comment[hi]=डेस्कटॉप साझेदारी कॉन्फ़
Comment[hne]=डेस्कटाप साझेदारी कान्फिगर करव
Comment[hr]=Podešavanje dijeljenja radne površine
Comment[hu]=A munkaasztal-megosztás beállításai
Comment[is]=Stilla skjáborðsmiðlun
Comment[is]=Stilla skjáborðamiðlun
Comment[it]=Configura condivisione desktop
Comment[ja]=デスクトップ共有の設定
Comment[kk]=Үстелді ортақтастыруды баптау

View File

@@ -92,7 +92,7 @@ Comment[fa]=یک شبح اینترنتی که خدمات شبکه را بر اس
Comment[fi]=Internet-palvelin, joka käynnistää verkkopalveluita
Comment[fr]=Un démon Internet qui démarre le service réseau à la demande
Comment[ga]=Deamhan Idirlín a thosaíonn seirbhísí líonra ar éileamh
Comment[gl]=Un daemon de Internet que inicia servizos de rede baixo demanda
Comment[gl]=Un daemon de Internet que comenza servizos de rede baixo demanda
Comment[he]=תהליך רקע של אינטרנט שמתחיל שירותי רשת לפי דרישה
Comment[hi]=एक इंटरनेट डेमन जो मांग पर नेटवर्क सेवा प्रारंभ करता है
Comment[hne]=एक इंटरनेट डेमन जऊन मांग मं नेटवर्क सेवा चालू करथे

View File

@@ -78,7 +78,7 @@ Name[eu]=Sarrerako konexioa
Name[fi]=Saapuva yhteys
Name[fr]=Connexion entrante
Name[ga]=Ceangal Isteach
Name[gl]=Conexión entrante
Name[gl]=Conexón entrante
Name[he]=חיבור נכנס
Name[hi]=आवक-कनेक्शन
Name[hne]=आवक-कनेक्सन
@@ -136,7 +136,7 @@ Comment[eu]=Sarrerako konexio bat jaso da
Comment[fi]=Vastaanotettiin saapuva yhteys
Comment[fr]=Reçu une connexion entrante
Comment[ga]=Fuarthas ceangal isteach
Comment[gl]=Recibiuse unha conexión entrante
Comment[gl]=Recebeuse unha conexón entrante
Comment[he]=נתקבל חיבור נכנס
Comment[hi]=आवक कनेक्शन प्राप्त
Comment[hne]=आवक कनेक्सन प्राप्त
@@ -253,7 +253,7 @@ Comment[eu]=Ezin izan da konexioa kudeatzeko prozesua deitu
Comment[fi]=Ei voitu kutsua prosessia yhteyden hoitamiseksi
Comment[fr]=Impossible d'appeler le processus pour gérer la connexion
Comment[ga]=Níorbh fhéidir próiseas a thosú chun an ceangal a láimhseáil
Comment[gl]=Non foi posíbel chamar ao proceso que xestiona a conexión
Comment[gl]=Non foi posíbel chamar ao proceso que xestiona a conexón
Comment[he]=אין אפשרות לקרוא לתהליך על מנת לטפל בחיבור
Comment[hi]=कनेक्शन हैंडल करने के लिए प्रक्रिया काल नहीं कर सका
Comment[hne]=कनेक्सन हेंडल करे बर काम काल नइ कर सकिस

View File

@@ -1,25 +0,0 @@
[Desktop Entry]
Type=ServiceType
X-KDE-ServiceType=krfb/framebuffer
Comment=Frame Buffer plugins for KRfb
Comment[ca]=Connectors de «framebuffer» per al KRfb.
Comment[da]=Framebuffer-plugins til KRfb
Comment[en_GB]=Frame Buffer plugins for KRfb
Comment[es]=Complemento de buffer para KRfb
Comment[et]=KRfb kaadripuhvri plugin
Comment[gl]=Engadido de frame buffer para KRfb
Comment[ko]=KRfb 프레임버퍼 플러그인
Comment[nb]=Rammebuffer-programtillegg for KRfb
Comment[nds]=Bildpuffer-Modulen för KRfb
Comment[nl]=Framebuffer-plugins voor KRfb
Comment[nn]=Framebuffer-tillegg KRfb
Comment[pt]='Plugins' de 'framebuffers' para o KRfb
Comment[pt_BR]=Plug-ins de framebuffers para o KRfb
Comment[sr]=Прикључци кадробафера за КРФБ
Comment[sr@latin]=Priključci kadrobafera za KRFB
Comment[sv]=Insticksprogram med rambuffert för Krfb
Comment[tr]=KRfb için Çerçeve Tamponu eklentileri
Comment[uk]=Додатки буфера кадрів для KRfb
Comment[x-test]=xxFrame Buffer plugins for KRfbxx
Comment[zh_TW]=KRfb 的 Frame Buffer 外掛程式

View File

@@ -34,10 +34,4 @@
<label>Password for uninvited connections.</label>
</entry>
</group>
<group name="FrameBuffer">
<entry name="preferredFrameBufferPlugin" type="String">
<label>Preferred Frame Buffer Plugin</label>
<default>krfb_framebuffer_x11</default>
</entry>
</group>
</kcfg>

View File

@@ -76,7 +76,7 @@ Name[eu]=Erabiltzaileak konexioa onartu du
Name[fi]=Käyttäjä hyväksyy yhteyden
Name[fr]=L'utilisateur accepte la connexion
Name[ga]=Glacann an tÚsáideoir Le Ceangal
Name[gl]=O usuario acepta a conexión
Name[gl]=O usuario aceita a conexón
Name[hi]=उपयोक्ता ने कनेक्शन स्वीकारा
Name[hne]=कमइया हर कनेक्सन स्वीकारा
Name[hr]=Korisnik prihvaća vezu
@@ -126,7 +126,7 @@ Comment[eu]=Erabiltzaileak konexioa onartu du
Comment[fi]=Käyttäjä hyväksyy yhteyden
Comment[fr]=L'utilisateur accepte la connexion
Comment[ga]=Glacann úsáideoir le ceangal
Comment[gl]=O usuario acepta a conexión
Comment[gl]=O usuario aceitou a conexón
Comment[he]=המשתמש מקבל את החיבור
Comment[hi]=उपयोक्ता ने कनेक्शन स्वीकारा
Comment[hne]=कमइया हर कनेक्सन स्वीकारा
@@ -166,7 +166,7 @@ Comment[x-test]=xxUser accepts connectionxx
Comment[zh_CN]=用户接受连接
Comment[zh_HK]=用戶接受連線
Comment[zh_TW]=使用者接受連線
Action=Popup
Action=None
[Event/UserRefusesConnection]
Name=User Refuses Connection
@@ -184,7 +184,7 @@ Name[eu]=Erabiltzaileak konexioa ukatu du
Name[fi]=Käyttäjä hylkää yhteyden
Name[fr]=L'utilisateur refuse la connexion
Name[ga]=Diúltaíonn an tÚsáideoir Le Ceangal
Name[gl]=O usuario rexeita a conexión
Name[gl]=O usuario recusou a conexón
Name[hi]=उपयोक्ता ने कनेक्शन अस्वीकारा
Name[hne]=कमइया हर कनेक्सन अस्वीकारा
Name[hr]=Korisnik odbija vezu
@@ -234,7 +234,7 @@ Comment[eu]=Erabiltzaileak konexioa ukatu du
Comment[fi]=Käyttäjä hylkää yhteyden
Comment[fr]=L'utilisateur refuse la connexion
Comment[ga]=Diúltaíonn úsáideoir ceangal
Comment[gl]=O usuario non acepta a conexión
Comment[gl]=O usuario non aceita a conexón
Comment[he]=המשתמש מסרב לחיבור
Comment[hi]=उपयोक्ता ने कनेक्शन अस्वीकारा
Comment[hne]=कमइया हर कनेक्सन अस्वीकारा
@@ -274,7 +274,7 @@ Comment[x-test]=xxUser refuses connectionxx
Comment[zh_CN]=用户拒绝连接
Comment[zh_HK]=用戶拒絕連線
Comment[zh_TW]=使用者拒絕連線使用者
Action=Popup
Action=None
[Event/ConnectionClosed]
Name=Connection Closed
@@ -292,7 +292,7 @@ Name[eu]=Konexioa itxi da
Name[fi]=Yhteys suljettu
Name[fr]=Connexion fermée
Name[ga]=Ceangal Dúnta
Name[gl]=Conexión fechada
Name[gl]=Conexón pechada
Name[hi]=कनेक्शन बन्द
Name[hne]=कनेक्सन बन्द
Name[hr]=Veza prekinuta
@@ -344,7 +344,7 @@ Comment[eu]=Konexioa itxi da
Comment[fi]=Yhteys suljettu
Comment[fr]=Connexion coupée
Comment[ga]=Ceangal dúnta
Comment[gl]=A conexión está fechada
Comment[gl]=A conexón está pechada
Comment[he]=החיבור נסגר
Comment[hi]=कनेक्शन बन्द
Comment[hne]=कनेक्सन बन्द
@@ -386,7 +386,7 @@ Comment[x-test]=xxConnection closedxx
Comment[zh_CN]=连接关闭
Comment[zh_HK]=連線已關閉
Comment[zh_TW]=連線已關閉
Action=Popup
Action=None
[Event/InvalidPassword]
Name=Invalid Password
@@ -404,7 +404,7 @@ Name[eu]=Baliogabeko pasahitza
Name[fi]=Virheellinen salasana
Name[fr]=Mot de passe non valable
Name[ga]=Focal Faire Neamhbhailí
Name[gl]=O contrasinal non é válido
Name[gl]=Contrasinal non válido
Name[hi]=अवैध पासवर्ड
Name[hne]=अवैध पासवर्ड
Name[hr]=Nevažeća zaporka
@@ -455,7 +455,7 @@ Comment[eu]=Baliogabeko pasahitza
Comment[fi]=Virheellinen salasana
Comment[fr]=Mot de passe non valable
Comment[ga]=Focal faire neamhbhailí
Comment[gl]=Este contrasinal non é válido
Comment[gl]=O contrasinal non é válido
Comment[he]=הסיסמה שגויה
Comment[hi]=अवैध पासवर्ड
Comment[hne]=अवैध पासवर्ड
@@ -500,7 +500,7 @@ Comment[x-test]=xxInvalid passwordxx
Comment[zh_CN]=无效密码
Comment[zh_HK]=無效的密碼
Comment[zh_TW]=不正確的密碼
Action=Popup
Action=None
[Event/InvalidPasswordInvitations]
Name=Invalid Password Invitations
@@ -518,7 +518,7 @@ Name[eu]=Baliogabeko pasahitz gonbidapena
Name[fi]=Virheellinen salasana kutsuun
Name[fr]=Invitations de mot de passe non valables
Name[ga]=Cuirí Neamhbhailí Focal Faire
Name[gl]=O contrasinal de convidado non válido
Name[gl]=Contrasinal de convidado non válido
Name[hi]=अवैध पासवर्ड निमंत्रण
Name[hne]=अवैध पासवर्ड निमंत्रन
Name[hr]=Pozivnice s nevažećim zaporkama
@@ -568,7 +568,7 @@ Comment[eu]=Gonbidatutako parekoak baliogabeko pasahitza bidali du. Konexioa uka
Comment[fi]=Kutsuttu taho lähetti virheellisen salasanan. Yhteys hylättiin.
Comment[fr]=La partie invitée a envoyé un mot de passe non valable. Connexion refusée.
Comment[ga]=Sheol an duine le cuireadh focal faire neamhbhailí. Diúltaíodh an ceangal.
Comment[gl]=A parte convidada envioulle un contrasinal non válido. A conexión foi rexeitada.
Comment[gl]=A parte convidante envioulle un contrasinal non válido. A conexón foi rexeitada.
Comment[he]=הצד המוזמן שלח סיסמה שגויה. החיבור נדחה.
Comment[hi]=निमंत्रित पार्टी ने अवैध पासवर्ड भेजा. कनेक्शन अस्वीकृत.
Comment[hne]=निमंत्रित पार्टी हर अवैध पासवर्ड भेजिस. कनेक्सन अस्वीकृत.
@@ -625,7 +625,7 @@ Name[eu]=Konexio berria itxarote moduan
Name[fi]=Uusi yhteys odottaa
Name[fr]=Nouvelle connexion en attente
Name[ga]=Ceangal Nua Ag Fanacht
Name[gl]=Nova conexión en espera
Name[gl]=Nova conexón en espera
Name[hi]=नया कनेक्शन होल्ड पर रखा
Name[hne]=नवा कनेक्सन होल्ड मं रखा
Name[hr]=Nova veza na čekanju
@@ -675,7 +675,7 @@ Comment[eu]=Konexioa eskatu da, erabiltzaileak onartu behar du
Comment[fi]=Pyydettiin yhteyttä, käyttäjän tulee hyväksyä
Comment[fr]=Connexion demandée, l'utilisateur doit accepter
Comment[ga]=Ceangal iarrtha; ní mór don úsáideoir glacadh leis
Comment[gl]=Pediuse a conexión; o usuario debe aceptar
Comment[gl]=Pediuse a conexón, o usuario debe aceitar
Comment[he]=נתבקש חיבור, על המשתמש לקבלו
Comment[hi]=कनेक्शन निवेदित. उपयोक्ता को स्वीकार होना चाहिए
Comment[hne]=कनेक्सन निवेदित. कमइया ल स्वीकार होना चाही
@@ -715,7 +715,7 @@ Comment[x-test]=xxConnection requested, user must acceptxx
Comment[zh_CN]=连接已请求,用户必须接受
Comment[zh_HK]=已請求連線,用戶必須接受
Comment[zh_TW]=連線已要求,必須等使用者接受
Action=Popup
Action=None
[Event/NewConnectionAutoAccepted]
Name=New Connection Auto Accepted
@@ -733,7 +733,7 @@ Name[eu]=Konexio berria auto-onartu da
Name[fi]=Uusi yhteys hyväksyttiin automaattisesti
Name[fr]=Nouvelle connexion auto-acceptée
Name[ga]=Ceangal nua bunaithe go huathoibríoch
Name[gl]=Nova conexión aceptada automaticamente
Name[gl]=Nova conexón aceitada automaticamente
Name[hi]=नय कनेक्शन स्वचालित स्वीकारा
Name[hne]=नय कनेक्सन अपने अपन स्वीकारा
Name[hr]=Nova veza automatski prihvaćena
@@ -783,7 +783,7 @@ Comment[eu]=Konexio berria automatikoki ezarri da
Comment[fi]=Uusi yhteys muodostettiin automaattisesti
Comment[fr]=Nouvelle connexion établie automatiquement
Comment[ga]=Ceangal nua bunaithe go huathoibríoch
Comment[gl]=Estableceuse automaticamente unha conexión nova
Comment[gl]=Estabeleceuse automaticamente unha nova conexón
Comment[he]=נוצר חיבור חדש באופן אוטומטי
Comment[hi]=नया कनेक्शन स्वचलित स्थापित
Comment[hne]=नवा कनेक्सन अपने अपन स्थापित
@@ -823,7 +823,7 @@ Comment[x-test]=xxNew connection automatically establishedxx
Comment[zh_CN]=自动建立新连接
Comment[zh_HK]=已自動建立新連線
Comment[zh_TW]=新連線自動建立
Action=Popup
Action=None
[Event/TooManyConnections]
Name=Too Many Connections
@@ -841,7 +841,7 @@ Name[eu]=Konexio gehiegi
Name[fi]=Liikaa yhteyksiä
Name[fr]=Trop de connexions
Name[ga]=An Iomarca Ceangal
Name[gl]=Hai demasiadas conexións
Name[gl]=Demasiadas conexóns
Name[hi]=बहुत सारे कनेक्शन
Name[hne]=बहुत अकन कनेक्सन
Name[hr]=Previše veza
@@ -892,7 +892,7 @@ Comment[eu]=Lanpetuta, konexioa ukatu da
Comment[fi]=Varattu, yhteys hylättiin
Comment[fr]=Occupé, connexion refusée
Comment[ga]=Gnóthach; ceangal diúltaithe
Comment[gl]=Ocupado; a conexión foi rexeitada
Comment[gl]=Ocupado, a conexón foi recusada
Comment[he]=תפוס, החיבור נדחה
Comment[hi]=व्यस्त, कनेक्शन अस्वीकृत
Comment[hne]=व्यस्त, कनेक्सन अस्वीकृत
@@ -934,7 +934,8 @@ Comment[x-test]=xxBusy, connection refusedxx
Comment[zh_CN]=对方处于忙碌状态,连接被拒绝
Comment[zh_HK]=忙碌,已拒絕連線
Comment[zh_TW]=忙碌,連線被拒
Action=Popup
Action=None
default_logfile=
[Event/UnexpectedConnection]
Name=Unexpected Connection
@@ -952,7 +953,7 @@ Name[eu]=Ustekabeko konexioa
Name[fi]=Odottamaton yhteys
Name[fr]=Connexion inattendue
Name[ga]=Ceangal Gan Choinne
Name[gl]=Conexión non agardada
Name[gl]=Conexón non agardada
Name[hi]=अप्रत्याशित कनेक्शन
Name[hne]=अप्रत्यासित कनेक्सन
Name[hr]=Neočekivana veza
@@ -1002,7 +1003,7 @@ Comment[eu]=Ustegabeko konexioa jaso da, abortatzen
Comment[fi]=Vastaanotettiin odottamaton yhteys, lopeta
Comment[fr]=Reçu une connexion inattendue, interruption
Comment[ga]=Fuarthas ceangal gan choinne, á thobscor
Comment[gl]=Recibiuse unha conexión non agardada; cancélase
Comment[gl]=Recebiuse unha conexón non agardada, abortouse
Comment[he]=נתקבל חיבור בלתי צפוי, בוטל
Comment[hi]=अप्रत्याशित कनेक्शन प्राप्त. छोड़ा
Comment[hne]=अप्रत्यासित कनेक्सन प्राप्त. छोड़ा
@@ -1041,4 +1042,4 @@ Comment[x-test]=xxReceived unexpected connection, abortxx
Comment[zh_CN]=收到意外连接,已中止
Comment[zh_HK]=接收到非預期的連線,中止
Comment[zh_TW]=已接收到未知的連線,中止。
Action=Popup
Action=None

View File

@@ -29,7 +29,6 @@
#include "connectioncontroller.h"
#include "framebuffer.h"
#include "framebuffermanager.h"
#include "krfbconfig.h"
#include "invitationmanager.h"
@@ -118,9 +117,9 @@ static void clipboardHook(char* str,int len, rfbClientPtr cl)
class KrfbServer::KrfbServerP {
public:
KrfbServerP() : screen(0), numClients(0) {};
KrfbServerP() : fb(0), screen(0), numClients(0) {};
QSharedPointer<FrameBuffer> fb;
FrameBuffer *fb;
QList< QPointer<ConnectionController> > controllers;
rfbScreenInfoPtr screen;
int numClients;
@@ -145,7 +144,7 @@ KrfbServer::KrfbServer()
:d(new KrfbServerP)
{
kDebug() << "starting ";
d->fb = FrameBufferManager::instance()->frameBuffer(QApplication::desktop()->winId());
d->fb = FrameBuffer::getFrameBuffer(QApplication::desktop()->winId(), this);
QTimer::singleShot(0, this, SLOT(startListening()));
connect(InvitationManager::self(), SIGNAL(invitationNumChanged(int)),SLOT(updatePassword()));
}
@@ -238,7 +237,8 @@ void KrfbServer::shutdown()
{
rfbShutdownServer(d->screen, true);
// framebuffer has to be deleted before X11 connection goes down
d->fb.clear();
delete d->fb;
d->fb = 0;
}
@@ -246,9 +246,7 @@ void KrfbServer::enableDesktopControl(bool enable)
{
foreach (QPointer<ConnectionController> ptr, d->controllers) {
if (ptr) {
if (ptr->controlCanBeEnabled()) {
ptr->setControlEnabled(enable);
}
ptr->setControlEnabled(enable);
}
}
}
@@ -261,7 +259,6 @@ enum rfbNewClientAction KrfbServer::handleNewClient(struct _rfbClientRec * cl)
d->controllers.append(cc);
cc->setControlEnabled(KrfbConfig::allowDesktopControl());
cc->setControlCanBeEnabled(KrfbConfig::allowDesktopControl());
connect(cc, SIGNAL(sessionEstablished(QString)), SIGNAL(sessionEstablished(QString)));
connect(cc, SIGNAL(clientDisconnected(ConnectionController *)),SLOT(clientDisconnected(ConnectionController *)));
@@ -312,11 +309,8 @@ void KrfbServer::clientDisconnected(ConnectionController *cc)
kDebug() << "clients--: " << d->numClients;
if (!--d->numClients) {
d->fb->stopMonitor();
kDebug() << "stopMonitor: d->numClients = " << d->numClients;
}
disconnect(cc, SIGNAL(clientDisconnected(ConnectionController*)),this, SLOT(clientDisconnected(ConnectionController*)));
Q_EMIT sessionFinished();
disconnect(cc, SIGNAL(clientDisconnected(ConnectionController)),this, SLOT(clientDisconnected(ConnectionController)));
}

View File

@@ -12,6 +12,9 @@
<property name="windowTitle" >
<string>Manage Invitations - Desktop Sharing</string>
</property>
<property name="windowIcon" >
<iconset/>
</property>
<layout class="QGridLayout" >
<item row="0" column="1" colspan="2" >
<widget class="QLabel" name="TextLabel2" >

View File

@@ -28,7 +28,6 @@
#include <KConfigDialog>
#include <KMessageBox>
#include <KToolInvocation>
#include <KSystemTimeZone>
// settings dialog
#include "ui_configtcp.h"
@@ -147,13 +146,12 @@ void ManageInvitationsDialog::inviteByMail()
"Otherwise you can use any VNC client with the following parameters:\n\n"
"Host: %2:%3\n"
"Password: %4\n\n"
"For security reasons this invitation will expire at %5 (%6).")
"For security reasons this invitation will expire at %5.")
.subs(invUrl.url())
.subs(host)
.subs(QString::number(port))
.subs(inv.password())
.subs(KGlobal::locale()->formatDateTime(inv.expirationTime()))
.subs(KSystemTimeZones::local().name())
.toString());
}

View File

@@ -31,7 +31,6 @@ QtFrameBuffer::QtFrameBuffer(WId id, QObject *parent)
QtFrameBuffer::~QtFrameBuffer()
{
delete [] fb;
fb = 0;
}
int QtFrameBuffer::depth()

View File

@@ -7,8 +7,8 @@
version 2 of the License, or (at your option) any later version.
*/
#ifndef KRFB_FRAMEBUFFER_QT_QTFRAMEBUFFER_H
#define KRFB_FRAMEBUFFER_QT_QTFRAMEBUFFER_H
#ifndef QTFRAMEBUFFER_H
#define QTFRAMEBUFFER_H
#include <QImage>
#include "framebuffer.h"

View File

@@ -24,20 +24,19 @@
#include <kglobal.h>
#include <kactioncollection.h>
#include <kaboutapplicationdialog.h>
#include <KNotification>
#include "manageinvitationsdialog.h"
#include "invitedialog.h"
TrayIcon::TrayIcon(KDialog *d)
: KStatusNotifierItem(d),
: KSystemTrayIcon(d),
quitting(false)
{
setIconByPixmap(KIcon("krfb").pixmap(22, 22, KIcon::Disabled));
setIcon(KIcon("krfb").pixmap(22, 22, KIcon::Disabled));
setToolTip(i18n("Desktop Sharing - disconnected"));
setToolTipTitle(i18n("Desktop Sharing - disconnected"));
setCategory(KStatusNotifierItem::ApplicationStatus);
// manageInvitationsAction = new KAction(i18n("Manage &Invitations"), &actionCollection);
// actionCollection.addAction("manage_invitations", manageInvitationsAction);
// connect(manageInvitationsAction, SIGNAL(triggered(bool)), SLOT(showManageInvitations()));
@@ -55,6 +54,7 @@ TrayIcon::TrayIcon(KDialog *d)
contextMenu()->addSeparator();
contextMenu()->addAction(KStandardAction::aboutApp(this, SLOT(showAbout()), actionCollection()));
show();
}
TrayIcon::~TrayIcon()
@@ -74,13 +74,12 @@ void TrayIcon::prepareQuit()
void TrayIcon::showConnectedMessage(const QString &host)
{
setIconByPixmap(KIcon("krfb"));
KNotification::event("UserAcceptsConnection",
i18n("The remote user %1 is now connected.",
host));
setToolTipTitle(i18n("Desktop Sharing - connected with %1", host));
setStatus(KStatusNotifierItem::Active);
setIcon(KIcon("krfb"));
KPassivePopup::message(i18n("Desktop Sharing"),
i18n("The remote user has been authenticated and is now connected."),
KIcon("krfb").pixmap(22, 22),
this);
setToolTip(i18n("Desktop Sharing - connected with %1", host));
}
void TrayIcon::showDisconnectedMessage()
@@ -88,13 +87,13 @@ void TrayIcon::showDisconnectedMessage()
if (quitting)
return;
setToolTipTitle(i18n("Desktop Sharing - disconnected"));
setIconByPixmap(KIcon("krfb").pixmap(22, 22, KIcon::Disabled));
KNotification::event("ConnectionClosed", i18n("The remote user has closed the connection."));
setStatus(KStatusNotifierItem::Passive);
Q_EMIT disconnectedMessageDisplayed();
setToolTip(i18n("Desktop Sharing - disconnected"));
setIcon(KIcon("krfb").pixmap(22, 22, KIcon::Disabled));
KPassivePopup *p = KPassivePopup::message(i18n("Desktop Sharing"),
i18n("The remote user has closed the connection."),
KIcon("krfb").pixmap(22, 22, KIcon::Disabled),
this);
connect(p, SIGNAL(hidden()), this, SIGNAL(diconnectedMessageDisplayed()));
}
void TrayIcon::setDesktopControlSetting(bool b)

View File

@@ -18,10 +18,10 @@
#ifndef TRAYICON_H
#define TRAYICON_H
#include <ksystemtrayicon.h>
#include <kpassivepopup.h>
#include <KActionCollection>
#include <KToggleAction>
#include <kstatusnotifieritem.h>
class KDialog;
@@ -30,7 +30,7 @@ class KDialog;
* @author Tim Jansen
*/
class TrayIcon : public KStatusNotifierItem {
class TrayIcon : public KSystemTrayIcon {
Q_OBJECT
public:
TrayIcon(KDialog*);
@@ -38,7 +38,7 @@ public:
signals:
void disconnectedMessageDisplayed();
void diconnectedMessageDisplayed();
void enableDesktopControl(bool);
void quitApp();

View File

@@ -6,8 +6,8 @@
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#ifndef KRFB_FRAMEBUFFER_X11_X11FRAMEBUFFER_H
#define KRFB_FRAMEBUFFER_X11_X11FRAMEBUFFER_H
#ifndef X11FRAMEBUFFER_H
#define X11FRAMEBUFFER_H
#include <framebuffer.h>
#include <QWidget>
@@ -35,7 +35,7 @@ class X11FrameBuffer : public FrameBuffer
{
Q_OBJECT
public:
X11FrameBuffer(WId id, QObject* parent = 0);
X11FrameBuffer(WId id, QObject* parent);
~X11FrameBuffer();