mirror of
https://github.com/KDE/krfb
synced 2026-07-03 16:31:18 -07:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7f98f53657 | ||
|
|
523140aef5 | ||
|
|
0daac50928 | ||
|
|
336d0952eb | ||
|
|
c3fe689bbd | ||
|
|
68193c26e5 | ||
|
|
717cf2f342 | ||
|
|
42be7b23c7 | ||
|
|
2336fa0c8f |
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -60,7 +60,6 @@ void ConnectionDialog::setRemoteHost( const QString &host )
|
||||
void ConnectionDialog::setAllowRemoteControl( bool b )
|
||||
{
|
||||
cbAllowRemoteControl->setChecked( b );
|
||||
cbAllowRemoteControl->setVisible(b);
|
||||
}
|
||||
|
||||
bool ConnectionDialog::allowRemoteControl()
|
||||
|
||||
@@ -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()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
add_subdirectory (qt)
|
||||
add_subdirectory (x11)
|
||||
|
||||
@@ -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}
|
||||
)
|
||||
|
||||
@@ -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 Qt‑u
|
||||
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]=Qt‑ov 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
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}
|
||||
)
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]=Үстелді ортақтастыруды баптау
|
||||
|
||||
@@ -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]=एक इंटरनेट डेमन जऊन मांग मं नेटवर्क सेवा चालू करथे
|
||||
|
||||
@@ -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]=कनेक्सन हेंडल करे बर काम काल नइ कर सकिस
|
||||
|
||||
@@ -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 外掛程式
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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" >
|
||||
|
||||
@@ -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());
|
||||
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@ QtFrameBuffer::QtFrameBuffer(WId id, QObject *parent)
|
||||
QtFrameBuffer::~QtFrameBuffer()
|
||||
{
|
||||
delete [] fb;
|
||||
fb = 0;
|
||||
}
|
||||
|
||||
int QtFrameBuffer::depth()
|
||||
@@ -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"
|
||||
37
trayicon.cpp
37
trayicon.cpp
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user