1
0
mirror of https://github.com/KDE/krfb synced 2026-07-01 15:51:18 -07:00

Compare commits

...

79 Commits

Author SHA1 Message Date
Script Kiddy
9ba02362f7 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=743875
2007-12-02 08:05:56 +00:00
Script Kiddy
376357337c SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=743233
2007-11-30 07:56:37 +00:00
Script Kiddy
a5be8fc33b SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=742560
2007-11-28 07:46:42 +00:00
Script Kiddy
2cbb930877 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=742121
2007-11-27 07:46:56 +00:00
Giovanni Venturi
7e41e3c244 fixed compiling, thanks to Laurent and David
CCMAIL:faure@kde.org,montel@kde.org

svn path=/trunk/KDE/kdenetwork/krfb/; revision=741971
2007-11-26 20:59:39 +00:00
Script Kiddy
c021cd6d42 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=741705
2007-11-26 08:06:14 +00:00
Script Kiddy
d2f1a0e3f8 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=741243
2007-11-25 07:48:46 +00:00
Script Kiddy
2e13247d25 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=738181
2007-11-18 07:52:37 +00:00
Laurent Montel
21d8285fb9 Remove "endl;" not necessary now
svn path=/trunk/KDE/kdenetwork/krfb/; revision=737505
2007-11-16 12:01:49 +00:00
Allen Winter
924a4af066 various fixes:
- replace DocPath with X-DocPath
 - replace Keywords with X-KDE-Keywords
 - replace ServicesTypes with X-KDE-ServiceTypes
 - remove deprecated Encoding
 - minor stuff

svn path=/trunk/KDE/kdenetwork/krfb/; revision=737252
2007-11-15 21:40:29 +00:00
Script Kiddy
ad0d5f8a9f SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=735600
2007-11-12 08:08:54 +00:00
Dirk Mueller
6061ed71fd fix FSF address
svn path=/trunk/KDE/kdenetwork/krfb/; revision=734468
2007-11-08 22:49:41 +00:00
Urs Wolfer
24edd4302d Relicense GPLv2 only code to GPLv2+.
All these files have been added to SVN by Alessandro Praduroux. He agreed on this change.

CCMAIL: pradu@pradu.it

svn path=/trunk/KDE/kdenetwork/krfb/; revision=734376
2007-11-08 18:50:58 +00:00
Script Kiddy
d54df82b05 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=733797
2007-11-07 07:59:50 +00:00
David Faure
d045784353 Ported to KPluginFactory -- and then realized it was disabled from compilation...
svn path=/trunk/KDE/kdenetwork/krfb/; revision=733078
2007-11-05 12:37:48 +00:00
Dirk Mueller
279324047a only increase the reference counter if it is zero? That
doesn't make sense. a counter is a counter, not a boolean.

svn path=/trunk/KDE/kdenetwork/krfb/; revision=731746
2007-11-01 19:27:53 +00:00
Script Kiddy
f2fed6edcf SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=730930
2007-10-30 07:54:29 +00:00
Pino Toscano
cd6d5722ef icon renamings:
- encrypted -> security-high/document-encrypt
- decrypted -> security-low/document-decrypt
- halfencrypted -> security-medium

svn path=/trunk/KDE/kdenetwork/krfb/; revision=728147
2007-10-22 14:52:36 +00:00
David Faure
b790fb3b93 Test for it before linking to it
svn path=/trunk/KDE/kdenetwork/krfb/; revision=728112
2007-10-22 12:43:43 +00:00
Script Kiddy
394ca0ed8c SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=727590
2007-10-21 06:13:10 +00:00
Script Kiddy
9dd7c3ba49 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=726888
2007-10-19 06:34:10 +00:00
Script Kiddy
0acc8b0a6b SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=725779
2007-10-16 06:15:53 +00:00
David Faure
bf3dfe5887 kcmshell renamed to kcmshell4 to fix co-installability between kdelibs3 and kdebase4-runtime
svn path=/trunk/KDE/kdenetwork/krfb/; revision=725652
2007-10-15 22:24:08 +00:00
Script Kiddy
51b7cc67ed SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=722867
2007-10-08 06:41:29 +00:00
Script Kiddy
47cc317131 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=722374
2007-10-07 07:08:53 +00:00
Andreas Pakulat
f7b1527fb8 Fix includes
svn path=/trunk/KDE/kdenetwork/krfb/; revision=721980
2007-10-06 11:40:58 +00:00
Pino Toscano
54f664ea8f needed includes
svn path=/trunk/KDE/kdenetwork/krfb/; revision=721969
2007-10-06 11:26:27 +00:00
Script Kiddy
ba0437cbea SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=720542
2007-10-03 06:40:38 +00:00
Script Kiddy
6c728b9633 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=719471
2007-10-01 06:26:12 +00:00
Script Kiddy
7c6186ed2f SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=719028
2007-09-30 06:19:16 +00:00
Dirk Mueller
3ff2c20690 don't pass port as an integer to i18n, it will call KLocale localisation
on it, which breaks havoc. novell bug 325543.

svn path=/trunk/KDE/kdenetwork/krfb/; revision=718332
2007-09-28 13:31:59 +00:00
Script Kiddy
043d610833 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=718164
2007-09-28 06:45:03 +00:00
Script Kiddy
f7d1f89ea9 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=717661
2007-09-27 09:34:18 +00:00
Script Kiddy
45cf2161b5 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=716134
2007-09-24 05:47:43 +00:00
Urs Wolfer
5571224cca Fix two issues reported by Dirk:
* don't crash after deleting the first invitation in the list if there are more than one
* be able to connect to the VNC server right after the invitation has been created; don't wait until the dialog has been closed

svn path=/trunk/KDE/kdenetwork/krfb/; revision=715692
2007-09-22 22:34:39 +00:00
Laurent Montel
882bb7dc0b Fix ui files
svn path=/trunk/KDE/kdenetwork/krfb/; revision=715073
2007-09-21 07:30:03 +00:00
Script Kiddy
379acfaec3 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=713873
2007-09-18 06:23:39 +00:00
Dirk Mueller
ddc5ef5d1d don't write the password to the syslog!
svn path=/trunk/KDE/kdenetwork/krfb/; revision=713404
2007-09-17 12:22:42 +00:00
Dirk Mueller
fdd4ea25f8 don't crash on exit all the time
svn path=/trunk/KDE/kdenetwork/krfb/; revision=713403
2007-09-17 12:20:03 +00:00
Script Kiddy
0e8fbe34ab SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=713329
2007-09-17 05:48:38 +00:00
Urs Wolfer
d11198cbd4 port away from KDE3 support: K3StaticDeleter -> K_GLOBAL_STATIC. Krfb is now KDE3 support free again.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=712838
2007-09-15 13:11:12 +00:00
Mickael Marchand
4e3efb7760 compile
svn path=/trunk/KDE/kdenetwork/krfb/; revision=710005
2007-09-08 21:02:57 +00:00
Pino Toscano
0ca62a4705 DocPath -> X-DocPath for .desktop of type Application
svn path=/trunk/KDE/kdenetwork/krfb/; revision=709118
2007-09-06 15:37:56 +00:00
Dirk Mueller
ed7d58d8dc KStaticDeleter -> K3StaticDeleter
svn path=/trunk/KDE/kdenetwork/krfb/; revision=706314
2007-08-29 22:36:51 +00:00
Matthias Kretz
1b1a07fdc4 KDE3_SUPPORT for KCModules and K3StaticDeleter + link to libkde3support for krfb
svn path=/trunk/KDE/kdenetwork/krfb/; revision=705634
2007-08-28 08:16:15 +00:00
Script Kiddy
84160b9b6e SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=705079
2007-08-27 06:10:11 +00:00
Script Kiddy
a4b7c1d852 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=702205
2007-08-20 07:39:22 +00:00
Laurent Montel
033e5453f2 Use an uniq macro to create/install doc
svn path=/trunk/KDE/kdenetwork/doc/krfb/; revision=702124
2007-08-20 06:32:53 +00:00
Script Kiddy
956a22ae9c SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=701740
2007-08-19 06:12:59 +00:00
Laurent Montel
e55a29888e Adapt to new cmake macro
svn path=/trunk/KDE/kdenetwork/doc/krfb/; revision=699457
2007-08-13 06:25:24 +00:00
Rafael Fernández López
1404f0bf3c Fix .desktop entries and code where needed related to revision change 699388
svn path=/trunk/KDE/kdenetwork/krfb/; revision=699394
2007-08-12 22:10:16 +00:00
Stephan Binner
2f1c8fa8bd i18n style guide fixes
svn path=/trunk/KDE/kdenetwork/krfb/; revision=699178
2007-08-12 07:21:58 +00:00
Laurent Montel
1e5cc5662f Fix extract message
svn path=/trunk/KDE/kdenetwork/krfb/; revision=698716
2007-08-10 20:11:51 +00:00
Pino Toscano
a9988c4a61 fixuifiles
svn path=/trunk/KDE/kdenetwork/krfb/; revision=696264
2007-08-04 11:23:12 +00:00
Urs Wolfer
a1a2c1bb38 * Use everywhere the nice new oxygen artwork.
* Cleanup and improve some code.
* Fix some UI layouts.

svn path=/trunk/KDE/kdenetwork/krfb/; revision=696140
2007-08-03 22:49:22 +00:00
Laurent Montel
9a8d94d26b Adapt to new KWarning/kFatal/kDebug api
svn path=/trunk/KDE/kdenetwork/krfb/; revision=695881
2007-08-03 07:19:24 +00:00
Script Kiddy
0ec1666748 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=694583
2007-07-31 05:36:58 +00:00
Richard Johnson
616f5e2776 BUG:134948
Thanks Sander for the patch.

svn path=/trunk/KDE/kdenetwork/doc/krfb/; revision=693725
2007-07-28 20:21:47 +00:00
Urs Wolfer
09c31cd387 * fix crash in PersonalInviteDialog
* fix all krazy issues (exclude not used folder from krazy checks)

svn path=/trunk/KDE/kdenetwork/krfb/; revision=691982
2007-07-24 19:31:30 +00:00
Laurent Montel
345afdd423 change XDG_APPS_DIR -> XDG_APPS_INSTALL_DIR, XDG_DIRECTORY_DIR->XDG_DIRECTORY_INSTALL_DIR, DBUS_INTERFACES_DIR->DBUS_INTERFACES_INSTALL_ DIR, DBUS_SERVICES_DIR->DBUS_SERVICES_INSTALL_DIR to have same naming convention as discussed with Alex.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=691226
2007-07-23 07:07:44 +00:00
Allen Winter
3dddc13164 remove kde4_automoc()
svn path=/trunk/KDE/kdenetwork/krfb/; revision=686208
2007-07-10 20:21:21 +00:00
Laurent Montel
2f10504666 Now dcop is dead
svn path=/trunk/KDE/kdenetwork/krfb/; revision=686104
2007-07-10 17:49:44 +00:00
Urs Wolfer
467d74df80 remove kde4_automoc()
Thanks Stefan Nikolaus for the nice 'script'.

svn path=/trunk/KDE/kdenetwork/krfb/; revision=685985
2007-07-10 09:15:45 +00:00
Script Kiddy
91513e82f5 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=685145
2007-07-08 04:45:18 +00:00
Script Kiddy
3088d3f418 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=684086
2007-07-06 05:08:40 +00:00
Chusslove Illich
040f4de26a Auto-conversion to new KCmdLineArgs/KAboutData/KComponentData API (trunk/KDE). Watch for the few remaining QString to QByteArray assignments that will not compile without extra specification (typically needs .toLocal8Bit() or .toUtf8()).
svn path=/trunk/KDE/kdenetwork/krfb/; revision=682260
2007-07-02 08:52:55 +00:00
Script Kiddy
495e6e4df3 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=681737
2007-06-30 04:35:43 +00:00
Pino Toscano
5d317a1a5e - add the Encoding key where missing
- end the lists with the separator

svn path=/trunk/KDE/kdenetwork/krfb/; revision=676264
2007-06-16 13:26:33 +00:00
Script Kiddy
8373bed91d SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=676136
2007-06-16 05:24:39 +00:00
Laurent Montel
36967e26ae Remove not necessary "class classname;"
svn path=/trunk/KDE/kdenetwork/krfb/; revision=671258
2007-06-04 10:29:37 +00:00
Nicolas Lécureuil
1499de61e8 Forward port of Helio and Boiko concerning Categories on Desktop files
CCMAIL: boiko@mandriva.com

svn path=/trunk/KDE/kdenetwork/krfb/; revision=669772
2007-05-30 11:15:04 +00:00
Script Kiddy
f97cf472bf SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=669349
2007-05-29 05:16:38 +00:00
Alessandro Praduroux
b0da7c0ce0 removed unused dependency on QT3 support and KIO
svn path=/trunk/KDE/kdenetwork/krfb/; revision=665042
2007-05-15 16:45:27 +00:00
Laurent Montel
fed4fc82fa Link
svn path=/trunk/KDE/kdenetwork/krfb/; revision=664926
2007-05-15 07:27:38 +00:00
Script Kiddy
4cd8a24c14 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=664091
2007-05-13 06:02:42 +00:00
Alessandro Praduroux
c5a3a89721 - email invitation now working
- determine the peer address when we get a new connection
- use the configured port from kconfig insteand of the fixed :5900 value in 
  personal invitation dialog


svn path=/trunk/KDE/kdenetwork/krfb/; revision=662656
2007-05-08 20:37:36 +00:00
Laurent Montel
a09868a7be Fix compile with enable final
svn path=/trunk/KDE/kdenetwork/krfb/; revision=662203
2007-05-07 16:25:58 +00:00
Marcus Hufgard
f49be4ebf5 #added include X11/keysym.h
svn path=/trunk/KDE/kdenetwork/krfb/; revision=662066
2007-05-07 12:20:19 +00:00
Alessandro Praduroux
ac0a5e8240 correctly set announced desktop name
svn path=/trunk/KDE/kdenetwork/krfb/; revision=660813
2007-05-03 20:55:41 +00:00
55 changed files with 1671 additions and 1004 deletions

2
.krazy Normal file
View File

@@ -0,0 +1,2 @@
SKIP /kinetd/

View File

@@ -27,8 +27,6 @@ set(krfb_SRCS
x11framebuffer.cpp
)
kde4_automoc(${krfb_SRCS})
kde4_add_kcfg_files(krfb_SRCS krfbconfig.kcfgc)
kde4_add_ui_files(krfb_SRCS connectionwidget.ui
@@ -41,17 +39,16 @@ kde4_add_ui_files(krfb_SRCS connectionwidget.ui
kde4_add_executable(krfb ${krfb_SRCS})
target_link_libraries(krfb ${KDE4_KIO_LIBS} ${JPEG_LIBRARIES} ${SLP_LIBRARIES} ${LIBVNCSERVER_LIBRARIES} ${X11_Xdamage_LIB} ${KDE4_KDNSSD_LIBRARY})
target_link_libraries(krfb ${JPEG_LIBRARIES} ${SLP_LIBRARIES} ${LIBVNCSERVER_LIBRARIES} ${X11_Xdamage_LIB} ${KDE4_KDNSSD_LIBS})
if(X11_XTest_FOUND)
target_link_libraries(krfb ${X11_XTest_Lib})
endif(X11_XTest_FOUND)
install(TARGETS krfb DESTINATION ${BIN_INSTALL_DIR})
########### install files ###############
install(FILES krfb.desktop DESTINATION ${XDG_APPS_DIR})
install(FILES krfb.desktop DESTINATION ${XDG_APPS_INSTALL_DIR})
install(FILES krfb.notifyrc DESTINATION ${DATA_INSTALL_DIR}/krfb)
install(FILES eyes-open24.png eyes-closed24.png connection-side-image.png DESTINATION ${DATA_INSTALL_DIR}/krfb/pics)
kde4_install_icons(${ICON_INSTALL_DIR})
endif (HAVE_LIBVNCSERVER)

View File

@@ -1,9 +0,0 @@
DCOP Interfaces:
// Exits the application, disconnects clients
void exit()
// Set the desktop to be controlable from remote clients
void setAllowDesktopControl(bool)

View File

@@ -9,9 +9,6 @@
<height>201</height>
</rect>
</property>
<property name="windowTitle" >
<string>Form</string>
</property>
<layout class="QVBoxLayout" >
<item>
<widget class="QCheckBox" name="kcfg_allowUninvitedConnections" >
@@ -49,7 +46,7 @@
<bool>false</bool>
</property>
<property name="text" >
<string>Uninvited connections password</string>
<string>Uninvited connections password:</string>
</property>
<property name="buddy" >
<cstring>kcfg_uninvitedConnectionPassword</cstring>

View File

@@ -9,9 +9,6 @@
<height>169</height>
</rect>
</property>
<property name="windowTitle" >
<string>Form</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
@@ -50,7 +47,7 @@
<item>
<widget class="QLabel" name="label" >
<property name="text" >
<string>Listening Port:</string>
<string>Listening port:</string>
</property>
<property name="buddy" >
<cstring>kcfg_port</cstring>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -4,8 +4,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#include "connectioncontroller.h"
#include "connectioncontroller.moc"
@@ -22,6 +22,7 @@
#include <KUser>
#include <KNotification>
#include <KLocale>
#include <KDebug>
#include "invitationmanager.h"
@@ -32,6 +33,30 @@
#include "krfbconfig.h"
#include <X11/Xutil.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
static QString peerAddress(int sock) {
const int ADDR_SIZE = 50;
struct sockaddr sa;
socklen_t salen = sizeof(struct sockaddr);
if (getpeername(sock, &sa, &salen) == 0) {
if (sa.sa_family == AF_INET) {
struct sockaddr_in *si = (struct sockaddr_in *)&sa;
return QString(inet_ntoa(si->sin_addr));
}
if (sa.sa_family == AF_INET6) {
char inetbuf[ADDR_SIZE];
inet_ntop(sa.sa_family, &sa, inetbuf, ADDR_SIZE);
return QString(inetbuf);
}
return QString("not a network address");
}
return QString("unable to determine...");
}
static void clientGoneHook(rfbClientPtr cl)
{
@@ -78,14 +103,7 @@ enum rfbNewClientAction ConnectionController::handleNewClient()
bool askOnConnect = KrfbConfig::askOnConnect();
bool allowUninvited = KrfbConfig::allowUninvitedConnections();
#if 0
int socket = cl->sock;
// TODO: this drops the connection >.<
QTcpSocket t;
t.setSocketDescriptor(socket); //, QAbstractSocket::ConnectedState, QIODevice::NotOpen);
remoteIp = t.peerAddress().toString();
#endif
remoteIp = peerAddress(cl->sock);
if (!allowUninvited && InvitationManager::self()->activeInvitations() == 0) {
KNotification::event("ConnectionAttempted",
@@ -107,7 +125,6 @@ enum rfbNewClientAction ConnectionController::handleNewClient()
i18n("Received connection from %1, on hold (waiting for confirmation)",
remoteIp));
//cl->screen->authPasswdData = (void *)1;
cl->clientGoneHook = clientGoneHook;
ConnectionDialog *dialog = new ConnectionDialog(0);
@@ -128,7 +145,7 @@ bool ConnectionController::handleCheckPassword(rfbClientPtr cl, const char *resp
QString password = KrfbConfig::uninvitedConnectionPassword();
bool authd = false;
kDebug() << "about to start autentication" << endl;
kDebug() << "about to start autentication";
if (allowUninvited) {
authd = checkPassword(password, cl->authChallenge, response, len);
@@ -138,7 +155,7 @@ bool ConnectionController::handleCheckPassword(rfbClientPtr cl, const char *resp
QList<Invitation> invlist = InvitationManager::self()->invitations();
foreach(Invitation it, invlist) {
kDebug() << "checking password" << endl;
kDebug() << "checking password";
if (checkPassword(it.password(), cl->authChallenge, response, len) && it.isValid()) {
authd = true;
InvitationManager::self()->removeInvitation(it);
@@ -184,7 +201,7 @@ void ConnectionController::handlePointerEvent(int bm, int x, int y)
void ConnectionController::handleClientGone()
{
emit clientDisconnected(this);
kDebug() << "client gone" << endl;
kDebug() << "client gone";
deleteLater();
}
@@ -202,7 +219,7 @@ void ConnectionController::dialogAccepted()
void ConnectionController::dialogRejected()
{
kDebug() << "refused connection" << endl;
kDebug() << "refused connection";
rfbRefuseOnHoldClient(cl);
}

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#ifndef CONNECTIONCONTROLLER_H

View File

@@ -34,11 +34,12 @@ ConnectionDialog::ConnectionDialog( QWidget *parent )
setDefaultButton(Cancel);
setModal(true);
setMinimumSize(500, 200);
m_connectWidget = new QWidget( this );
setupUi(m_connectWidget);
pixmapLabel->setPixmap(
UserIcon( "connection-side-image.png" ) );
pixmapLabel->setPixmap(KIcon("krfb").pixmap(128));
KGuiItem accept = KStandardGuiItem::ok();
accept.setText( i18n( "Accept Connection" ) );

View File

@@ -5,175 +5,142 @@
<rect>
<x>0</x>
<y>0</y>
<width>521</width>
<height>318</height>
<width>500</width>
<height>212</height>
</rect>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item row="0" column="1" colspan="2" >
<widget class="QLabel" name="TextLabel5" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>1</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font" >
<font>
<pointsize>13</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Attention</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="indent" >
<number>0</number>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2" >
<widget class="QLabel" name="mainTextLabel" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="lineWidth" >
<number>-1</number>
</property>
<property name="midLineWidth" >
<number>5</number>
</property>
<property name="text" >
<string>Somebody is requesting a connection to your computer. Granting this will allow the remote user to watch your desktop. </string>
</property>
<property name="textFormat" >
<enum>Qt::AutoText</enum>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
<property name="margin" >
<number>0</number>
</property>
<property name="indent" >
<number>0</number>
</property>
</widget>
</item>
<item rowspan="6" row="0" column="0" >
<layout class="QHBoxLayout" >
<item>
<widget class="QLabel" name="pixmapLabel" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>108</width>
<height>318</height>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>108</width>
<height>318</height>
</size>
</property>
<property name="frameShape" >
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow" >
<enum>QFrame::Plain</enum>
</property>
<property name="lineWidth" >
<number>0</number>
</property>
<property name="scaledContents" >
<bool>true</bool>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="margin" >
<number>0</number>
</property>
<property name="indent" >
<number>0</number>
</property>
</widget>
</item>
<item row="3" column="2" >
<widget class="QLabel" name="remoteHost" >
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>123.234.123.234</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="5" column="1" colspan="2" >
<widget class="QCheckBox" name="cbAllowRemoteControl" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>1</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="whatsThis" >
<string>If you turn this option on, the remote user can enter keystrokes and use your mouse pointer. This gives them full control over your computer, so be careful. When the option is disabled the remote user can only watch your screen.</string>
</property>
<property name="text" >
<string>Allow remote user to &amp;control keyboard and mouse</string>
</property>
</widget>
</item>
<item row="3" column="1" >
<widget class="QLabel" name="TextLabel1" >
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Remote system:</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
<item>
<layout class="QVBoxLayout" >
<item>
<widget class="QLabel" name="TextLabel5" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="font" >
<font>
<pointsize>13</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Attention</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
<property name="indent" >
<number>0</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="mainTextLabel" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="lineWidth" >
<number>-1</number>
</property>
<property name="midLineWidth" >
<number>5</number>
</property>
<property name="text" >
<string>Somebody is requesting a connection to your computer. Granting this will allow the remote user to watch your desktop. </string>
</property>
<property name="textFormat" >
<enum>Qt::AutoText</enum>
</property>
<property name="alignment" >
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
<property name="margin" >
<number>0</number>
</property>
<property name="indent" >
<number>0</number>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" >
<item>
<widget class="QLabel" name="TextLabel1" >
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Remote system:</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="remoteHost" >
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>123.234.123.234</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="cbAllowRemoteControl" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Minimum" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="whatsThis" >
<string>If you turn this option on, the remote user can enter keystrokes and use your mouse pointer. This gives them full control over your computer, so be careful. When the option is disabled the remote user can only watch your screen.</string>
</property>
<property name="text" >
<string>Allow remote user to &amp;control keyboard and mouse</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>

View File

@@ -1,3 +1,2 @@
########### install files ###############
kde4_create_handbook(index.docbook)
kde4_install_handbook()
kde4_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en)

View File

@@ -139,7 +139,7 @@ the frame-buffer level, which roughly corresponds to the rendered
screen image, which means that it can be applied to all windowing
systems (including X11, &MacOS; and &Microsoft; &Windows;). Remote
Frame Buffer applications exist for many platforms, and can often be
free re-distributed.
freely re-distributed.
</para>
<para>

View File

@@ -4,23 +4,17 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#include "events.h"
#include <QApplication>
#include <QX11Info>
#include <QDesktopWidget>
#include <QClipboard>
#include <KNotification>
#include "events.h"
#include "connectioncontroller.h"
#include <X11/Xutil.h>
#include <X11/keysym.h>
#include <X11/extensions/XTest.h>

View File

@@ -4,17 +4,23 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#ifndef EVENTS_H
#define EVENTS_H
#include <QDesktopWidget>
#include <QEvent>
#include <QString>
#include <X11/Xlib.h>
class ConnectionController;
class QCursor;
class VNCEvent {
public:
virtual void exec() = 0;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#include "framebuffer.h"

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#ifndef FRAMEBUFFER_H

Binary file not shown.

Before

Width:  |  Height:  |  Size: 919 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -14,6 +14,8 @@
#include "invitation.h"
#include <KConfigGroup>
#include <KDebug>
#include <KRandom>
#include <KStringHandler>
@@ -57,7 +59,7 @@ Invitation::Invitation(const Invitation &x)
Invitation::Invitation(const KConfigGroup &config) {
m_password = KStringHandler::obscure(config.readEntry("password", QString()));
kDebug() << "read: " << config.readEntry("password", QString()) << " = " << m_password << endl;
kDebug() << "read: " << config.readEntry("password", QString()) << " = " << m_password;
m_creationTime = config.readEntry("creation", QDateTime());
m_expirationTime = config.readEntry("expiration", QDateTime());
}
@@ -72,11 +74,11 @@ Invitation &Invitation::operator= (const Invitation&x) {
return *this;
}
void Invitation::save(KConfigGroup &config) const {
kDebug() << "write: " << m_password << ": " << KStringHandler::obscure(m_password) << endl;
void Invitation::save(KConfigGroup &config) const
{
config.writeEntry("password", KStringHandler::obscure(m_password));
config.writeEntry("creation", m_creationTime);
config.writeEntry("expiration", m_expirationTime);
config.writeEntry("creation", m_creationTime);
config.writeEntry("expiration", m_expirationTime);
}
QString Invitation::password() const {

View File

@@ -3,24 +3,28 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#include "invitationmanager.h"
#include "invitationmanager.moc"
#include <KStaticDeleter>
#include <KConfigGroup>
#include <KConfig>
#include <KGlobal>
#include <QTimer>
static KStaticDeleter<InvitationManager> sd;
InvitationManager * InvitationManager::_self = 0;
class InvitationManagerPrivate
{
public:
InvitationManager instance;
};
K_GLOBAL_STATIC(InvitationManagerPrivate, invitationManagerPrivate)
InvitationManager * InvitationManager::self() {
if (!_self) sd.setObject(_self, new InvitationManager);
return _self;
return &invitationManagerPrivate->instance;
}
InvitationManager::InvitationManager()

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#ifndef INVITATIONMANAGER_H
#define INVITATIONMANAGER_H
@@ -14,13 +14,14 @@
#include "invitation.h"
class InvitationManager;
class InvitationManagerPrivate;
/**
@author Alessandro Praduroux <pradu@pradu.it>
*/
class InvitationManager : public QObject
{
Q_OBJECT
friend class InvitationManagerPrivate;
public:
static InvitationManager *self();

View File

@@ -21,7 +21,6 @@
#include <kiconloader.h>
#include <klocale.h>
#include <KStandardDirs>
#include <KStandardGuiItem>
#include <QtGui/QLabel>
@@ -37,10 +36,12 @@ InviteDialog::InviteDialog( QWidget *parent )
setDefaultButton(NoDefault);
setModal(true);
setMinimumSize(500, 300);
m_inviteWidget = new QWidget( this );
setupUi(m_inviteWidget);
pixmapLabel->setPixmap(KStandardDirs::locate("data", "krfb/pics/connection-side-image.png"));
pixmapLabel->setPixmap(KIcon("krfb").pixmap(128));
setMainWidget( m_inviteWidget );
setButtonGuiItem( User1, KStandardGuiItem::configure() );

View File

@@ -5,190 +5,170 @@
<rect>
<x>0</x>
<y>0</y>
<width>521</width>
<height>336</height>
<width>603</width>
<height>364</height>
</rect>
</property>
<property name="windowTitle" >
<string/>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item row="2" column="2" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>215</width>
<height>101</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1" colspan="3" >
<widget class="QLabel" name="helpLabel" >
<property name="text" >
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">KDE Desktop Sharing allows you to invite somebody at a remote location to watch and possibly control your desktop. &lt;a href="whatsthis">More about invitations...&lt;/a>&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="textFormat" >
<enum>Qt::RichText</enum>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
<property name="openExternalLinks" >
<bool>false</bool>
</property>
<property name="textInteractionFlags" >
<enum>Qt::LinksAccessibleByMouse</enum>
</property>
</widget>
</item>
<item row="4" column="2" >
<widget class="QPushButton" name="btnEmailInvite" >
<property name="whatsThis" >
<string>This button will start your email application with a pre-configured text that explains to the recipient how to connect to your computer. </string>
</property>
<property name="text" >
<string>Invite via &amp;Email...</string>
</property>
</widget>
</item>
<item row="5" column="2" >
<widget class="QPushButton" name="btnManageInvite" >
<property name="text" >
<string>&amp;Manage Invitations (%1)...</string>
</property>
</widget>
</item>
<item row="4" column="1" >
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="6" column="2" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>24</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="2" >
<widget class="QPushButton" name="btnCreateInvite" >
<property name="toolTip" >
<string/>
</property>
<property name="whatsThis" >
<string>Create a new invitation and display the connection data. Use this option if you want to invite somebody personally, for example, to give the connection data over the phone.</string>
</property>
<property name="text" >
<string>Create &amp;Personal Invitation...</string>
</property>
</widget>
</item>
<item row="4" column="3" >
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item rowspan="7" row="0" column="0" >
<layout class="QHBoxLayout" >
<item>
<widget class="QLabel" name="pixmapLabel" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>108</width>
<height>318</height>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>108</width>
<height>318</height>
</size>
</property>
<property name="frameShape" >
<enum>QFrame::WinPanel</enum>
</property>
<property name="frameShadow" >
<enum>QFrame::Sunken</enum>
</property>
<property name="scaledContents" >
<bool>true</bool>
</property>
<property name="alignment" >
<set>Qt::AlignTop</set>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="1" colspan="3" >
<widget class="QLabel" name="TextLabel2" >
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Welcome to KDE Desktop Sharing</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
<item>
<layout class="QVBoxLayout" >
<item>
<widget class="QLabel" name="TextLabel2" >
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Welcome to KDE Desktop Sharing</string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="helpLabel" >
<property name="text" >
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">KDE Desktop Sharing allows you to invite somebody at a remote location to watch and possibly control your desktop. &lt;a href="whatsthis">More about invitations...&lt;/a>&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="textFormat" >
<enum>Qt::RichText</enum>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
<property name="openExternalLinks" >
<bool>false</bool>
</property>
<property name="textInteractionFlags" >
<set>Qt::LinksAccessibleByMouse</set>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::MinimumExpanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>215</width>
<height>101</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" >
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>90</width>
<height>26</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QVBoxLayout" >
<item>
<widget class="QPushButton" name="btnCreateInvite" >
<property name="toolTip" >
<string/>
</property>
<property name="whatsThis" >
<string>Create a new invitation and display the connection data. Use this option if you want to invite somebody personally, for example, to give the connection data over the phone.</string>
</property>
<property name="text" >
<string>Create &amp;Personal Invitation...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnEmailInvite" >
<property name="whatsThis" >
<string>This button will start your email application with a pre-configured text that explains to the recipient how to connect to your computer. </string>
</property>
<property name="text" >
<string>Invite via &amp;Email...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="btnManageInvite" >
<property name="text" >
<string>&amp;Manage Invitations (%1)...</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>90</width>
<height>26</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>24</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>

View File

@@ -2,8 +2,6 @@ include_directories(${CMAKE_BINARY_DIR}/krfb/krfb/ ${CMAKE_SOURCE_DIR}/krfb/srvl
set(kcm_krfb_PART_SRCS kcm_krfb.cpp ${srvloc_SRCS} ${krfbconfig_SRCS})
kde4_automoc(${kcm_krfb_PART_SRCS})
kde4_add_ui3_files(kcm_krfb_PART_SRCS configurationwidget.ui)
kde4_add_ui3_files(kcm_krfb_PART_SRCS
${CMAKE_SOURCE_DIR}/krfb/krfb/manageinvitations.ui

View File

@@ -1,2 +1,2 @@
#! /bin/sh
$XGETTEXT *.cpp *.h -o $podir/kcm_krfb.pot
$XGETTEXT *.cpp -o $podir/kcm_krfb.pot

View File

@@ -57,12 +57,12 @@ KcmKRfb::KcmKRfb(QWidget *p, const QStringList &) :
setButtons(Default|Apply|Default);
KAboutData* about = new KAboutData( "kcm_krfb", I18N_NOOP("Desktop Sharing Control Module"),
KAboutData* about = new KAboutData( "kcm_krfb", 0, ki18n("Desktop Sharing Control Module"),
VERSION,
I18N_NOOP("Configure desktop sharing"), KAboutData::License_GPL,
"(c) 2002, Tim Jansen\n",
0, "http://www.tjansen.de/krfb", "tim@tjansen.de");
about->addAuthor("Tim Jansen", 0, "tim@tjansen.de");
ki18n("Configure desktop sharing"), KAboutData::License_GPL,
ki18n("(c) 2002, Tim Jansen\n"),
KLocalizedString(), "http://www.tjansen.de/krfb", "tim@tjansen.de");
about->addAuthor(ki18n("Tim Jansen"), KLocalizedString(), "tim@tjansen.de");
setAboutData( about );
load();

View File

@@ -21,7 +21,9 @@
#include <qobject.h>
#include <qdatetime.h>
#define KDE3_SUPPORT
#include <kcmodule.h>
#undef KDE3_SUPPORT
#include "configurationwidget.h"
#include "../krfb/configuration.h"

View File

@@ -1,27 +1,26 @@
[Desktop Entry]
Encoding=UTF-8
Icon=krfb
Exec=kcmshell kcmkrfb
Exec=kcmshell4 kcmkrfb
Type=Service
DocPath=krfb/krfb-configuration.html
ServiceTypes=KCModule
X-DocPath=krfb/krfb-configuration.html
X-KDE-ServiceTypes=KCModule
X-KDE-Library=krfb
X-KDE-Library=kcm_krfb
X-KDE-Factoryname=krfb
X-KDE-ParentApp=kcontrol
Name=Desktop Sharing
Name[af]=Werkskerm Deeling
Name[ar]=مشاركة سطح المكتب
Name[bg]=Споделяне на работното място
Name[br]=Rannañ ar vurev
Name[ca]=Compartició de l'escriptori
Name[cs]=Sdílení pracovní plochy
Name[cy]=Rhannu Penbwrdd
Name[da]=Desktopdeling
Name[de]=Arbeitsfläche freigeben
Name[de]=Arbeitsflächen-Freigabe
Name[el]=Κοινή χρήση επιφάνειας εργασίας
Name[eo]=Tabuloj komunaj
Name[eo]=Tabula komunigado
Name[es]=Escritorio compartido
Name[et]=Töölaua jagamine
Name[eu]=Mahaigain partekatzea
@@ -29,7 +28,7 @@ Name[fa]=اشتراک رومیزی
Name[fi]=Työpöydän jakaminen
Name[fr]=Partage de bureau
Name[ga]=Roinnt Deisce
Name[gl]=Compartición do escritorio
Name[gl]=Compartilla do escritorio
Name[he]=שיתוף שולחנות עבודה
Name[hr]=Dijeljenje radne površine
Name[hu]=Munkaasztal-megosztás
@@ -38,6 +37,7 @@ Name[it]=Condivisione Desktop
Name[ja]=デスクトップ共有
Name[kk]=Үстелді ортақтастыру
Name[km]=ការ​ចែក​រំលែក​ផ្ទៃ​តុ
Name[ko]=데스크톱 공유
Name[lt]=Dalinimasis darbastaliu
Name[mk]=Делење на работната површина
Name[ms]=Perkongsian Ruang Kerja
@@ -47,28 +47,29 @@ Name[ne]=डेस्कटप साझेदारी
Name[nl]=Bureaublad delen
Name[nn]=Skrivebordsdeling
Name[pl]=Współdzielenie pulpitu
Name[pt]=Partilha do Ambiente de Trabalho
Name[pt]=Partilha do Ecrã
Name[pt_BR]=Compartilhamento do Desktop
Name[ro]=Partajare ecran
Name[ru]=Общий рабочий стол
Name[se]=Čállinbeavdejuohkkin
Name[sl]=Deljenje namizja
Name[sr]=Дељење радне површине
Name[sr@Latn]=Deljenje radne površine
Name[sr@latin]=Deljenje radne površine
Name[sv]=Dela ut skrivbordet
Name[ta]=பணிமேடை பகிர்வு
Name[tg]=Истифодабарии муштараки Мизи корӣ
Name[tr]=Masaüstü Paylaşımı
Name[uk]=Спільні стільниці
Name[vi]=Chia sẻ màn hình nền
Name[x-test]=xxDesktop Sharingxx
Name[xh]=Ukwehlulelana kwe Desktop
Name[zh_CN]=桌面共享
Name[zh_HK]=桌面分享
Name[zh_TW]=桌面分享
Comment=Configure Desktop Sharing
Comment[af]=Konfigureer Werkskerm Deeling
Comment[ar]=تعديل مشاركة سطح المكتب
Comment[bg]=Настройки на споделянето на работно място
Comment[bg]=Настройване споделянето на работното място
Comment[br]=Kefluniañ rannañ ar vurev
Comment[ca]=Lupa de l'escriptori
Comment[cs]=Nastavit sdílení pracovní plochy
@@ -76,7 +77,7 @@ Comment[cy]=Ffurfweddu Rhannu Penbwrdd
Comment[da]=Indstil desktopdeling
Comment[de]=Freigabe der Arbeitsfläche einrichten
Comment[el]=Ρύθμιση της κοινής χρήσης της επιφάνειας εργασίας
Comment[eo]=Agordu fordonadon de viaj tabuloj
Comment[eo]=Agordi la tabulan komunigadon
Comment[es]=Configure su escritorio compartido
Comment[et]=Töölaua jagamise seadistamine
Comment[eu]=Konfiguratu mahaigain partekatzea
@@ -84,7 +85,7 @@ Comment[fa]=پیکربندی اشتراک رومیزی
Comment[fi]=Aseta työpöydän jakaminen
Comment[fr]=Configuration du partage du bureau
Comment[ga]=Cumraigh Roinnt Deisce
Comment[gl]=Configura-la compartición do escritorio
Comment[gl]=Configurar a compartilla do escritorio
Comment[he]=שינוי הגדרות שיתוף שולחנות העבודה
Comment[hr]=Podešavanje dijeljenja radne površine
Comment[hu]=A munkaasztal-megosztás beállításai
@@ -93,6 +94,7 @@ Comment[it]=Configura condivisione desktop
Comment[ja]=デスクトップ共有の設定
Comment[kk]=Үстелді ортақтастыруды баптау
Comment[km]=កំណត់​រចនា​សម្ព័ន្ធ​ការ​ចែក​រំលែក​ផ្ទៃ​តុ
Comment[ko]=데스크톱 공유 설정
Comment[lt]=Derinti dalinimąsi darbastaliu
Comment[mk]=Конфигурирајте делење на површината
Comment[ms]= Selaraskan Perkongsian Desktop
@@ -102,63 +104,66 @@ Comment[ne]=डेस्कटप साझेदारी कन्फिगर
Comment[nl]=Bureaublad delen instellen
Comment[nn]=Set opp skrivebordsdeling
Comment[pl]=Konfiguracja współdzielenia pulpitu
Comment[pt]=Configura a Partilha do Ecrã
Comment[pt]=Configurar a Partilha do Ecrã
Comment[pt_BR]=Configurar Compartilhamento do Desktop
Comment[ru]=Параметры общего рабочего стола
Comment[se]=Heivet čállinbeavdejuohkkima
Comment[sl]=Nastavi deljenje namizja
Comment[sr]=Подешавање дељења радне површине
Comment[sr@Latn]=Podešavanje deljenja radne površine
Comment[sr@latin]=Podešavanje deljenja radne površine
Comment[sv]=Anpassa utdelning av skrivbord
Comment[ta]=பணிமேடை பகிர்வை உள்ளமை
Comment[tg]=Батанзимдарории Истифодабарии муштараки Мизи корӣ
Comment[tr]=Masaüstü Paylaşımını Yapılandır
Comment[uk]=Налаштувати спільні стільниці
Comment[vi]=Cấu hình chia sẻ màn hình nền
Comment[x-test]=xxConfigure Desktop Sharingxx
Comment[xh]=Qwalasela Ukusebenzisa ngokuhlangeneyo kwe Desktop
Comment[zh_CN]=配置桌面共享
Comment[zh_HK]=設定桌面分享
Comment[zh_TW]=設定桌面分享
Keywords=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited
Keywords[ar]=مشاركة سطح المكتب,krfb,vnc,مشاركة,krdc,اتصال سطح مكتب بعيد,دعوة,منفذ,slp,غير مدعو
Keywords[bg]=споделяне, работно, място, десктоп, покана, връзка, desktop sharing, krfb, vnc, sharing, krdc, remote desktop connection, invitation, port, slp, uninvited
Keywords[ca]=compartició de l'escriptori,krfb,vnc,compartir,krdc,connexió a l'escriptori remot,invitació,port,slp,no invitat
Keywords[cs]=sdílení plochy,krfb,vnc,sdílení,rdp,krdc,připojení vzdálené plochy,pozvánka,port,slp
Keywords[cy]=rhannu penbwrdd,krfb,vnc,rhannu,rdp,krdc,cysylltiad penbwrdd pell,gwahoddiad,porth,slp,heb wahoddiad
Keywords[da]=desktopdeling,krfb,vnc,deling,krdc,ekstern desktopforbindelse,invitation,port,slp,ikke inviteret
Keywords[de]=Arbeitsfläche freigeben,krfb,VNC,freigeben,krdc,Entfernte Arbeitsfläche,Einladung,Port,slp,uneingeladen
Keywords[el]=κοινή χρήση επιφάνειας εργασίας,krfb,vnc,κοινή χρήση,krdc,σύνδεση σε απομακρυσμένη επιφάνεια εργασίας,πρόσκληση,θύρα,slp,απρόσκλητο
Keywords[es]=escritorio compartido,krfb,vnc,compartir,rdp,krdc, conexión escritorio remoto,invitación,puerto,slp,no invitado
Keywords[et]=töölaua jagamine,krfb,vnc,jagamine,rdp,krdc,kaugtöölaua ühendus,rdp,kutse,port,slp,kutsumata
Keywords[eu]=mahaigain partekatzea,krfb,vnc,partekatzea,krdc,urruneko mahaigain konexioa,gonbidapena,ataka,slp,gonbidapen gabea
Keywords[fa]=اشتراک رومیزی، krfb، vnc، اتصال رومیزی راه دور، دعوت، درگاه، slp، دعوت‌نشده
Keywords[fi]=työpöydän jakaminen,krfb,vnc,jakaminen,krdc,etätyöpöytäyhteys, kutsu,portti,slp,kutsumaton, työpöytä
Keywords[fr]=partage de bureau,krfb,vnc,partage,rdp,krdc,connexion à un bureau distant,invitation,port,slp,non invité
Keywords[gl]=compartición de escritorio, vnc, compartir, krdc, conexión escritorio remoto, invitación, porto, slt
Keywords[he]=שיתוף שולחן עבודה,שיתוף,חיבור לשולחן עבודה מרוחק,desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection, invitation, port, slp, uninvited
Keywords[hu]=munkaasztal-megosztás,krfb,vnc,megosztás,krdc,csatlakozás távoli munkaasztalhoz,meghívás,port,slp,meghívás nélkül
Keywords[is]=skjáborðsmiðlun,miðlun,krfb,vnc,rdp,krdc,fjarvinnsla,remote desktop connection,rdp
Keywords[it]=condivisione desktop,krfb,vnc,condivisione,krdc,connessione desktop remoto,invito,porta,slp,non invitato
Keywords[ja]=デスクトップ共有,krfb,vnc,共有,rdp,krdc,リモートデスクトップ接続,招待,ポート,slp,uninvited
Keywords[km]=ការ​ចែក​រំ​លែក​ផ្ទៃ​តុ,krfb,vnc,ការ​ចែក​រំលែក,krdc,ការ​ត​ភ្ជាប់​ផ្ទៃ​តុ​ពី​ចម្ងាយ,អញ្ជើញ,ច្រក,slp,មិន​បាន​អញ្ជើញ
Keywords[lt]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,dalinimasis darbastaliu,nutolusio darbastalio prijungimas,kvietimas,ryšys,nekviestas,jungtis,prievadas,dalintis,pasidalinti,jungimasis,prisijungti,kviesti
Keywords[mk]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,делење на површината,krfb,vnc,делење,krdc,поврзување со оддалечена површина,покана,порта,slp,непоканет
Keywords[ms]= perkongsian ruang kerja, sambungan, liang, desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited
Keywords[nb]=skrivebordsdeling,krfb,vnc,deling,krdc,tilkobling til fjernt skrivebord,invitasjon,port,slp,ikke invitert
Keywords[nds]=schriefdisch,freegeven,freegaav,krfb,vnc,delen,krdc,feern Schriefdisch,verbinnen,inladen,port,slp,nich inlaadt
Keywords[ne]=डेस्कटप साझेदारी,krfb,vnc,साझेदारी,krdc, टाढाको डेस्कटप जडान,निमन्त्रणा,पोर्ट,slp,निमन्त्रणा नगरिएको
Keywords[nl]=desktop sharing,krfb,vnc,sharing,rdp,krdc,remote desktop connection,uitnodiging,slp,rdp,verbinding, bureaublad delen,bureaublad op afstand
Keywords[nn]=skrivebordsdeling,krfb,vnc,deling,krdc,nettverksskrivebord,invitasjon,port,slp,ikkje invitert
Keywords[pl]=współdzielenie pulpitu,krfb,vnc,współdzielenie,rdp,krdc,zdalne połączenie, zdalne biurko, zdalny pulpit, zaproszenie,port,slp
Keywords[pt]=partilha do ecrã,krfb,vnc,partilha,krdc,ligação a um ecrã remoto,convite,porto,slp,sem convite
Keywords[pt_BR]=compartilhamento de desktop,krfb,vnc,compartilhamento,krdc,conexão a desktop remoto,convite,porta,slp,não convidado
Keywords[sl]=namizje,souporaba,krfb,vnc,krdc,povezava oddaljenega namizja, povabilo,port,slp,nepovabljen
Keywords[sr]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,радна површина,дељење,позив,порт,непозван,удаљено
Keywords[sr@Latn]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,radna površina,deljenje,poziv,port,nepozvan,udaljeno
Keywords[sv]=dela skrivbord,krfb,vnc,dela,krdc,fjärrskrivbordsanslutning,inbjudan,port,slp
Keywords[ta]=பணிமேடை பகிர்வு,krfb,vnc,பகிர்வு,krdc,தொலை பணிமேடை இணைப்பு,அழைப்பிதழ், துறை, slp, uninvited
Keywords[tr]=masaüstü paylaşımı,krfb,vnc,paylaşım,krdc,uzak masaüstü bağlantısı,davet,port,slp
Keywords[uk]=спільні стільниці,krfb,vnc,спільний,rdp,krdc,з'єднання віддаленої стільниці,запрошення,rdp,slp,без запрошення
Keywords[x-test]=xxdesktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvitedxx
Keywords[zh_TW]=desktop sharing,krfb,vnc,sharing,rdp,krdc,remote desktop connection,rdp,桌面分享,分享,遠端桌面連線,invitation,port,slp,uninvited
X-KDE-Keywords=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited
X-KDE-Keywords[bg]=Keywords=споделяне, работно, място, десктоп, покана, връзка, desktop sharing, krfb, vnc, sharing, krdc, remote desktop connection, invitation, port, slp, uninvited
X-KDE-Keywords[ca]=compartició de l'escriptori,krfb,vnc,compartir,krdc,connexió a l'escriptori remot,invitació,port,slp,no invitat
X-KDE-Keywords[cs]=sdílení plochy,krfb,vnc,sdílení,rdp,krdc,připojení vzdálené plochy,pozvánka,port,slp
X-KDE-Keywords[cy]=rhannu penbwrdd,krfb,vnc,rhannu,rdp,krdc,cysylltiad penbwrdd pell,gwahoddiad,porth,slp,heb wahoddiad
X-KDE-Keywords[da]=desktopdeling,krfb,vnc,deling,krdc,ekstern desktopforbindelse,invitation,port,slp,ikke inviteret
X-KDE-Keywords[de]=Arbeitsfläche freigeben,krfb,VNC,freigeben,krdc,Entfernte Arbeitsfläche,Einladung,Port,slp,uneingeladen,rdp,remote desktop
X-KDE-Keywords[el]=κοινή χρήση επιφάνειας εργασίας,krfb,vnc,κοινή χρήση,krdc,σύνδεση σε απομακρυσμένη επιφάνεια εργασίας,πρόσκληση,θύρα,slp,απρόσκλητο
X-KDE-Keywords[es]=escritorio compartido,krfb,vnc,compartir,rdp,krdc, conexión escritorio remoto,invitación,puerto,slp,no invitado
X-KDE-Keywords[et]=töölaua jagamine,krfb,vnc,jagamine,rdp,krdc,kaugtöölaua ühendus,rdp,kutse,port,slp,kutsumata
X-KDE-Keywords[eu]=mahaigain partekatzea,krfb,vnc,partekatzea,krdc,urruneko mahaigain konexioa,gonbidapena,ataka,slp,gonbidapen gabea
X-KDE-Keywords[fa]=اشتراک رومیزی، krfb، vnc، اتصال رومیزی راه دور، دعوت، درگاه، slp، دعوت‌نشده
X-KDE-Keywords[fi]=työpöydän jakaminen,krfb,vnc,jakaminen,krdc,etätyöpöytäyhteys, kutsu,portti,slp,kutsumaton, työpöytä
X-KDE-Keywords[fr]=partage de bureau,krfb,vnc,partage,rdp,krdc,connexion à un bureau distant,invitation,port,slp,non invité
X-KDE-Keywords[gl]=compartilla de escritorio, vnc, compartir, krdc, conexón ao escritorio remoto, invitación, porto, slt, convidado, compartillar
X-KDE-Keywords[he]=שיתוף שולחן עבודה,שיתוף,חיבור לשולחן עבודה מרוחק,desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection, invitation, port, slp, uninvited
X-KDE-Keywords[hu]=munkaasztal-megosztás,krfb,vnc,megosztás,krdc,csatlakozás távoli munkaasztalhoz,meghívás,port,slp,meghívás nélkül
X-KDE-Keywords[is]=skjáborðsmiðlun,miðlun,krfb,vnc,rdp,krdc,fjarvinnsla,remote desktop connection,rdp
X-KDE-Keywords[it]=condivisione desktop,krfb,vnc,condivisione,krdc,connessione desktop remoto,invito,porta,slp,non invitato
X-KDE-Keywords[ja]=デスクトップ共有,krfb,vnc,共有,rdp,krdc,リモートデスクトップ接続,招待,ポート,slp,uninvited
X-KDE-Keywords[km]=ការ​ចែក​រំ​លែក​ផ្ទៃ​តុ,krfb,vnc,ការ​ចែក​រំលែក,krdc,ការ​ត​ភ្ជាប់​ផ្ទៃ​តុ​ពី​ចម្ងាយ,អញ្ជើញ,ច្រក,slp,មិន​បាន​អញ្ជើញ
X-KDE-Keywords[lt]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,dalinimasis darbastaliu,nutolusio darbastalio prijungimas,kvietimas,ryšys,nekviestas,jungtis,prievadas,dalintis,pasidalinti,jungimasis,prisijungti,kviesti
X-KDE-Keywords[mk]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,делење на површината,krfb,vnc,делење,krdc,поврзување со оддалечена површина,покана,порта,slp,непоканет
X-KDE-Keywords[ms]= perkongsian ruang kerja, sambungan, liang, desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited
X-KDE-Keywords[nb]=skrivebordsdeling,krfb,vnc,deling,krdc,tilkobling til fjernt skrivebord,invitasjon,port,slp,ikke invitert
X-KDE-Keywords[nds]=schriefdisch,freegeven,freegaav,krfb,vnc,delen,krdc,feern Schriefdisch,verbinnen,inladen,port,slp,nich inlaadt
X-KDE-Keywords[ne]=डेस्कटप साझेदारी,krfb,vnc,साझेदारी,krdc, टाढाको डेस्कटप जडान,निमन्त्रणा,पोर्ट,slp,निमन्त्रणा नगरिएको
X-KDE-Keywords[nl]=desktop sharing,krfb,vnc,sharing,rdp,krdc,remote desktop connection,uitnodiging,slp,rdp,verbinding, bureaublad delen,bureaublad op afstand
X-KDE-Keywords[nn]=skrivebordsdeling,krfb,vnc,deling,krdc,nettverksskrivebord,invitasjon,port,slp,ikkje invitert
X-KDE-Keywords[pl]=współdzielenie pulpitu,krfb,vnc,współdzielenie,rdp,krdc,zdalne połączenie, zdalne biurko, zdalny pulpit, zaproszenie,port,slp
X-KDE-Keywords[pt]=partilha do ecrã,krfb,vnc,partilha,krdc,ligação a um ecrã remoto,convite,porto,slp,sem convite
X-KDE-Keywords[pt_BR]=compartilhamento de desktop,krfb,vnc,compartilhamento,krdc,conexão a desktop remoto,convite,porta,slp,não convidado
X-KDE-Keywords[sl]=namizje,souporaba,krfb,vnc,krdc,povezava oddaljenega namizja, povabilo,port,slp,nepovabljen
X-KDE-Keywords[sr]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,радна површина,дељење,позив,порт,непозван,удаљено
X-KDE-Keywords[sr@latin]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,radna površina,deljenje,poziv,port,nepozvan,udaljeno
X-KDE-Keywords[sv]=dela skrivbord,krfb,vnc,dela,krdc,fjärrskrivbordsanslutning,inbjudan,port,slp
X-KDE-Keywords[ta]=பணிமேடை பகிர்வு,krfb,vnc,பகிர்வு,krdc,தொலை பணிமேடை இணைப்பு,அழைப்பிதழ், துறை, slp, uninvited
X-KDE-Keywords[tr]=masaüstü paylaşımı,krfb,vnc,paylaşım,krdc,uzak masaüstü bağlantısı,davet,port,slp
X-KDE-Keywords[uk]=спільні стільниці,krfb,vnc,спільний,rdp,krdc,з'єднання віддаленої стільниці,запрошення,rdp,slp,без запрошення
X-KDE-Keywords[vi]=chia sẻ màn hình,krfb,vnc,chia sẻ,krdc,màn hình ở xa kết nối,mời kết nối,cổng,slp,không được mời
X-KDE-Keywords[x-test]=xxdesktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvitedxx
X-KDE-Keywords[zh_CN]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,桌面共享,共享,远程桌面连接,邀请,端口,未邀请
X-KDE-Keywords[zh_TW]=desktop sharing,krfb,vnc,sharing,rdp,krdc,remote desktop connection,rdp,桌面分享,分享,遠端桌面連線,invitation,port,slp,uninvited
Categories=Qt;KDE;X-KDE-settings-network;
Categories=Qt;KDE;X-KDE-settings-network;Settings;

View File

@@ -6,8 +6,6 @@ include_directories( ${CMAKE_SOURCE_DIR}/krfb/srvloc )
set(kded_kinetd_PART_SRCS kinetd.cpp ${srvloc_SRCS})
kde4_automoc(${kded_kinetd_PART_SRCS})
message(STATUS "Port to krfb DBUS")
# kde4_add_dcop_skels(kded_kinetd_PART_SRCS kinetd.h )

View File

@@ -35,6 +35,14 @@
#include <unistd.h>
#include <fcntl.h>
#include <kpluginfactory.h>
#include <kpluginloader.h>
K_PLUGIN_FACTORY(KInetDFactory,
registerPlugin<KInetD>();
)
K_EXPORT_PLUGIN(KInetDFactory("kinetd"))
PortListener::PortListener(KService::Ptr s,
KConfig *config,
KServiceRegistry *srvreg) :
@@ -255,11 +263,11 @@ QStringList PortListener::processServiceTemplate(const QString &a) {
QString hostName = address->nodeName();
KUser u;
QString x = a; // replace does not work in const QString. Why??
l.append(x.replace(QRegExp("%h"), KServiceRegistry::encodeAttributeValue(hostName))
.replace(QRegExp("%p"), QString::number(m_port))
.replace(QRegExp("%u"), KServiceRegistry::encodeAttributeValue(u.loginName()))
.replace(QRegExp("%i"), KServiceRegistry::encodeAttributeValue(m_uuid))
.replace(QRegExp("%f"), KServiceRegistry::encodeAttributeValue(u.fullName())));
l.append(x.replace(QString("%h"), KServiceRegistry::encodeAttributeValue(hostName))
.replace(QString("%p"), QString::number(m_port))
.replace(QString("%u"), KServiceRegistry::encodeAttributeValue(u.loginName()))
.replace(QString("%i"), KServiceRegistry::encodeAttributeValue(m_uuid))
.replace(QString("%f"), KServiceRegistry::encodeAttributeValue(u.fullName())));
}
return l;
}
@@ -350,7 +358,7 @@ void PortListener::setServiceRegistrationEnabledInternal(bool e) {
*(it++),
*(it2++),
m_serviceLifetime))
kDebug(7021) << "Failure registering SLP service (no slpd running?)"<< endl;
kDebug(7021) << "Failure registering SLP service (no slpd running?)";
}
m_serviceRegistered = true;
// make lifetime 30s shorter, because the timeout is not precise
@@ -408,13 +416,13 @@ PortListener::~PortListener() {
}
KInetD::KInetD() :
KDEDModule()
KInetD::KInetD(QObject* parent, const QList<QVariant>&) :
KDEDModule(parent)
{
m_config = new KConfig("kinetdrc");
m_srvreg = new KServiceRegistry();
if (!m_srvreg->available()) {
kDebug(7021) << "SLP not available"<< endl;
kDebug(7021) << "SLP not available";
delete m_srvreg;
m_srvreg = 0;
}
@@ -645,12 +653,3 @@ KInetD::~KInetD() {
delete m_config;
delete m_srvreg;
}
extern "C" {
KDE_EXPORT KDEDModule *create_kinetd()
{
KGlobal::locale()->insertCatalog("kinetd");
return new KInetD();
}
}

View File

@@ -1,16 +1,13 @@
[Desktop Entry]
Encoding=UTF-8
Type=Service
ServiceTypes=KDEDModule
X-KDE-ServiceTypes=KDEDModule
X-KDE-ModuleType=Library
X-KDE-Library=kinetd
X-KDE-FactoryName=kinetd
X-KDE-Kded-autoload=true
Name=KDE Internet Daemon
Name[af]=Kde Internet Bediener
Name[ar]=مراقب انترنت كيدي
Name[bg]=Интернет демон
Name[br]=Diaoul kenrouedad KDE
Name[ca]=Dimoni d'Internet per al KDE
@@ -19,7 +16,7 @@ Name[cy]=Daemon Rhyngrwyd KDE
Name[da]=KDE Internet-dæmon
Name[de]=Internet-Dienst
Name[el]=Δαίμονας διαδικτύου για το KDE
Name[eo]=Retodemono
Name[eo]=KDE interreta demono
Name[es]=Demonio de Internet de KDE
Name[et]=KDE internetideemon
Name[eu]=KDE internet deabrua
@@ -27,7 +24,7 @@ Name[fa]=شبح اینترنتی KDE
Name[fi]=KDE Internet-palvelin
Name[fr]=Démon Internet de KDE
Name[ga]=Deamhan Idirlín KDE
Name[gl]=O demo de Internet de KDE
Name[gl]=Daemon de internet de KDE
Name[he]=תהליך הרקע האינטרנטי של KDE
Name[hu]=KDE internetes szolgáltatás
Name[is]=KDE Internetþjónn
@@ -35,12 +32,12 @@ Name[it]=Demone internet di KDE
Name[ja]=KDE インターネットデーモン
Name[kk]=KDE Интернет қызметі
Name[km]=ដេមិន​អ៊ីនធឺណិត​របស់ KDE
Name[ko]=KDE 인터넷 데몬
Name[lt]=KDE interneto tarnyba
Name[mk]=Даемон за Интернет на KDE
Name[ms]=Daemon Internet KDE
Name[nb]=KDEs Internett-nisse
Name[nds]=KDE-Internetdämoon
Name[ne]=केडीई इन्टरनेट डेइमन
Name[ne]=केडीई इन्टरनेट डेइम
Name[nn]=KDE-Internett-nisse
Name[pl]=Internet/sieć
Name[pt]=Servidor de Internet do KDE
@@ -50,18 +47,19 @@ Name[ru]=Доступ к Интернету
Name[se]=KDE-Interneahtta-duogášprográmma
Name[sl]=Internetni strežnik za KDE
Name[sr]=KDE-ов интернет демон
Name[sr@Latn]=KDE-ov internet demon
Name[sr@latin]=KDE-ov internet demon
Name[sv]=KDE:s Internetdemon
Name[ta]=கேடிஇ இணைய டேமொன்
Name[tg]=KDE Азозили Интернет
Name[tr]=KDE İnternet Programı
Name[uk]=Демон Інтернет KDE
Name[uz]=KDE Интернет демони
Name[vi]=Trình nền Mạng KDE
Name[x-test]=xxKDE Internet Daemonxx
Name[zh_CN]=KDE Internet 守护进程
Name[zh_HK]=KDE 互聯網系統程式
Name[zh_TW]=KDE Internet 伺服程式
Comment=An Internet daemon that starts network services on demand
Comment[ar]=مراقب انترنت يقوم ببدء خدمات الشبكة عند الطلب
Comment[bg]=Интернет демон, който служи за стартиране на мрежови услуги при поискване
Comment[ca]=Un dimoni d'Internet que arrenca els serveis de xarxa sota demanda
Comment[cs]=Internetový démon spouštějící síťové služby na požádání
@@ -69,7 +67,7 @@ Comment[cy]=Daemon Rhyngrwyd sy'n cychwyn gwasanaethau rhwydwaith ar alw
Comment[da]=En internet-dæmon der starter netværkstjenester efter forespørgsel
Comment[de]=Startet Netzwerkdienste bei Bedarf
Comment[el]=Ένας δαίμονας για το διαδίκτυο ο οποίος ξεκινάει τις υπηρεσίες δικτύου όταν απαιτείται
Comment[eo]=retdemono kiu lanĉas retajn servojn laŭ bezono
Comment[eo]=Interreta demono kiu lanĉas retajn servojn laŭ bezono
Comment[es]=Un demonio de Internet que inicia los servicios de red a demanda
Comment[et]=Internetideemon, mis käivitab nõudmisel võrguteenused
Comment[eu]=Sare zerbitzuak eskatzean abiarazten dituen deabrua
@@ -77,7 +75,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í gréasáin ar éileamh
Comment[gl]=Un demo de Internet que comenza servicios de rede según demanda
Comment[gl]=Un daemon de Internet que comenza servizos de rede baixo demanda
Comment[he]=תהליך רקע של אינטרנט שמתחיל שירותי רשת לפי דרישה
Comment[hr]=Internet daemon koji pokreće mrežne usluge kada su zatražene
Comment[hu]=A hálózati szolgáltatások vezérlését biztosító program
@@ -86,12 +84,12 @@ Comment[it]=Un demone internet che avvia i servizi di rete a richiesta
Comment[ja]=要求時にネットワークサービスを起動するインターネットデーモン
Comment[kk]=Талап етілгенде керек желі қызметтерді жегетін қызмет
Comment[km]=ដេមិន​អ៊ីនធឺណិត​ដែល​ចាប់ផ្ដើម​សេវា​បណ្ដាញ​នៅ​ពេល​ត្រូវការ
Comment[ko]=요청에 따라 네트워크 서비스를 시작하는 인터넷 데몬
Comment[lt]=Interneto tarnyba, paleidžianti tinklo tarnybas esant poreikiui
Comment[mk]=Даемон за Интернет кој ги вклучува мрежните сервиси на барање
Comment[ms]=Daemon Internet yang memulakan servis jaringan di atas permintaan
Comment[nb]=Internett-nisse som starter nettverkstjenester ved behov
Comment[nds]=En Internet-Dämoon, wat Nettwarkdeensten op Anfraag start
Comment[ne]=एउटा इन्टरनेट डेइमन जसले मागमा सञ्जाल सेवा सुरु गर्दछ
Comment[ne]=एउटा इन्टरनेट डेइमन जसले मागमा सञ्जाल सेवा सुरु गर्दछ
Comment[nl]=Een internetdaemon die netwerkdiensten op afroep start
Comment[nn]=Internett-nisse som startar nettverkstenester når dei trengst
Comment[pl]=Uruchamianie usług na żądanie
@@ -102,14 +100,16 @@ Comment[ru]=Служба установления подключения при
Comment[se]=Interneahtta-duogášprográmma mii álggaha fierpmádatbálvalusaid go dárbbašuvvo
Comment[sl]=Internetni strežnik, ki zažene omrežne storitve na zahtevo
Comment[sr]=Интернет демон који покреће мрежне сервисе по захтеву
Comment[sr@Latn]=Internet demon koji pokreće mrežne servise po zahtevu
Comment[sr@latin]=Internet demon koji pokreće mrežne servise po zahtevu
Comment[sv]=Internetdemon som startar nätverkstjänster vid behov
Comment[ta]=ஒரு இணைய டேமொன், டேமொன் பிணைய சேவையை ஆரம்பிக்கிறது
Comment[tg]=Азозили шабакавие, ки хидматрасони шабакавиро бо дархост сар медиҳад
Comment[tr]=Başlangıçta ağ servisleri tarafından istenen internet hayalet programı
Comment[uk]=Демон Інтернет, що запускає служби мережі при запиті
Comment[uz]=Талаб қилинганда тармоқ хизматларини ишга тушурувчи Интернет демони
Comment[vi]=Một trình nền Mạng mà chạy các dịch vụ mạng theo nhu cầu
Comment[x-test]=xxAn Internet daemon that starts network services on demandxx
Comment[xh]=Internet daemon eqala iinkonzo zomsebenzi wonatha xa zifunwa
Comment[zh_CN]=按需启动网络服务的守护进程
Comment[zh_HK]=自動依需求起動網絡服務的互聯網系統程式
Comment[zh_TW]=依要求起動網路服務的 Internet 伺服程式

View File

@@ -140,8 +140,8 @@ public slots:
* @param service name of a service as specified in its .desktop file
* @param port the first port number to try or -1 to restore defaults
* @param autoPortRange the number of ports to try
* @return true if a port could be found or service is disabled, false
* otherwise.
* @return true if a port could be found or service is disabled, false
* otherwise.
*/
bool setPort(QString service, int port = -1, int autoPortRange = 1);
@@ -189,7 +189,7 @@ public slots:
void reregistrationTimer();
public:
KInetD();
KInetD(QObject* parent, const QList<QVariant>&);
virtual ~KInetD();
void loadServiceList();
PortListener *getListenerByName(QString name);

View File

@@ -1,26 +1,181 @@
[Global]
IconName=kinetd
Comment=KInetD
Comment[sv]=Kinetd
Comment[x-test]=xxKInetDxx
[Event/IncomingConnection]
Name=IncomingConnection
Name[br]=Kevreadenn resev
Name[ca]=Connexió entrant
Name[cs]=Příchozí spojení
Name[cy]=CysylltiadCyrraedd
Name[da]=IndkommendeForbindelse
Name[de]=Eingehende Verbindung
Name[el]=Εισερχόμενη σύνδεση
Name[eo]=Envenanta konekto
Name[et]=Sissetulev ühendus
Name[eu]=Sarrerako konexioa
Name[fi]=Saapuva yhteys
Name[fr]=Connexion entrante
Name[ga]=NascIsteach
Name[he]=חיבור נכנס
Name[hr]=DolaznaVeza
Name[hu]=Bejövő kapcsolat
Name[it]=Connessioni in entrata
Name[ja]=外部からの接続
Name[km]=ការ​តភ្ជាប់​ចូល
Name[lt]=Gautas kvietimas ryšiui
Name[mk]=Дојдовно поврзување
Name[ms]=Sambungan Masuk
Name[nb]=Innkommende tilkobling
Name[nds]=RinkamenVerbinnen
Name[nl]=Inkomende_verbinding
Name[pl]=Połączenia przychodzące
Name[pt_BR]=Conexões de Entrada
Name[ro]=Conexiune de intrare
Name[ru]=Входящее соединение
Name[sl]=Prihajajoča povezava
Name[sr]=Dolazeća veza
Name[sr@latin]=Dolazeća veza
Name[sv]=Inkommande anslutning
Name[ta]=உள்வரும் இணைப்புகள்
Name[tg]=Пайвастшавии Воридшаванда
Name[tr]=Gelen Bağlantı
Name[x-test]=xxIncomingConnectionxx
Name[xh]=Uxhumaniso Olungenayo
Name[zh_CN]=进入的连接
Name[zh_HK]=進入連線
Name[zh_TW]=進來的連線
Comment=Received incoming connection
Comment[el]=Λήψη εισερχόμενης σύνδεσης
Comment[af]=Ontvang inkomende verbinding
Comment[ca]=Rebuda connexió entrant
Comment[cs]=Obdrženo příchozí spojení
Comment[cy]=Derbynwyd cysylltiad a gyrhaeddodd
Comment[da]=Modtog indkommende forbindelse
Comment[de]=Verbindungsanfrage eingegangen
Comment[el]=Λήφθηκε μια εισερχόμενη σύνδεση
Comment[eo]=Ricevis envenantan konekton
Comment[et]=Saadi sissetulev ühendus
Comment[eu]=Konexio bat jaso da
Comment[fi]=Vastaanotettiin saapuva yhteys
Comment[fr]=Reçu une connexion entrante
Comment[ga]=Fuarthas nasc isteach
Comment[he]=נתקבל חיבור נכנס
Comment[hr]=Primio dolaznu vezu
Comment[hu]=Csatlakozási kérés érkezett
Comment[is]=Tók á móti uppkalli
Comment[it]=Connessione in entrata stabilita
Comment[ja]=外部からの接続がありました
Comment[km]=បាន​ទទួល​ការ​តភ្ជាប់​ចូល
Comment[ko]=들어오는 연결을 받았습니다
Comment[lt]=Gautas kvietimas ryšiui
Comment[mk]=Примено е дојдовно поврзување
Comment[ms]=Menerima sambungan masuk
Comment[nb]=Mottok innkommende tilkobling
Comment[nds]=Tokoppelanfraag kregen
Comment[nl]=Inkomende verbinding ontvangen
Comment[pl]=Otrzymano połącznie przychodzące
Comment[pt]=Foi recebida uma ligação
Comment[pt_BR]=Recebendo conexão de entrada
Comment[ro]=Conexiune de intrare recepţionată
Comment[ru]=Входящее соединение завершилось успешно
Comment[sl]=Prejeta je prihajajoča povezava
Comment[sr]=Primljena je dolazeća veza
Comment[sr@latin]=Primljena je dolazeća veza
Comment[sv]=Tar emot inkommande anslutning
Comment[tg]=Пайвастшавии воридшаванда қабул гардид
Comment[tr]=Gelen bağlantı alınıyor
Comment[x-test]=xxReceived incoming connectionxx
Comment[xh]=Uxhulumano olungenayo olufunyenweyo
Comment[zh_CN]=收到进入的连接
Comment[zh_HK]=已接收的進入連線
Comment[zh_TW]=接收到進來的連線
Action=None
[Event/ProcessFailed]
Name=ProcessFailed
Name[el]=Η επεξεργασία απέτυχε
Name[ca]=Procés fallit
Name[cs]=Proces selhal
Name[cy]=MethoddProses
Name[da]=ProcesMislykkedes
Name[de]=Prozess fehlgeschlagen
Name[el]=Η διεργασία απέτυχε
Name[eo]=Procezo fiaskis
Name[et]=Protsess nurjus
Name[eu]=Prozesuak huts egin du
Name[fi]=Prosessi epäonnistui
Name[fr]=Échec du processus
Name[ga]=PróiseasTeipthe
Name[he]=תהליך נכשל
Name[hr]=ProcesNeuspješan
Name[hu]=Hibás folyamat
Name[it]=Processo fallito
Name[ja]=プロセス失敗
Name[km]=ដំណើរ​ការ​បាន​បរាជ័យ
Name[lt]=Procesas nepavyko
Name[mk]=Процесот не успеа
Name[ms]=Proses Gagal
Name[nb]=Prosessen mislyktes
Name[nds]=PerzessFehlslaan
Name[nl]=Proces_mislukt
Name[pl]=Błąd procesu
Name[pt_BR]=Falha de Processo
Name[ro]=Proces eşuat
Name[ru]=Ошибка процесса
Name[sl]=Proces ni uspel
Name[sr]=Proces nije uspeo
Name[sr@latin]=Proces nije uspeo
Name[sv]=Process misslyckades
Name[ta]=செயல் தோல்வியுற்றது
Name[tg]=Ҷараён бо Нокомӣ анҷомид
Name[tr]=Başarısız İşlemler
Name[x-test]=xxProcessFailedxx
Name[xh]=Inkqubo Yahlulekile
Name[zh_CN]=处理失败
Name[zh_HK]=程序失敗
Name[zh_TW]=行程失敗
Comment=Could not call process to handle connection
Comment[el]=Δεν ήταν δυνατή η κλήση της διεργασίας για τον έλεγχο της σύνδεσης
Comment[af]=Kon nie roep proses na handvatsel verbinding
Comment[ca]=No es pot cridar al procés per a manejar la connexió
Comment[cs]=Nelze spustit proces k obsluze spojení
Comment[cy]=Methu galw proses i drin y cysylltiad
Comment[da]=Kunne ikke kalde proces til at håndtere forbindelse
Comment[de]=Der Prozess zur Bearbeitung der Verbindungsanfrage kann nicht gestartet werden
Comment[el]=Αδύνατη η κλήση της διεργασίας για τη διαχείριση της σύνδεσης
Comment[eo]=Ne eblis lanĉi la procezon por trakti la konekton
Comment[et]=Ei suuda käivitada protsessi ühenduse käsitsemiseks
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[he]=אין אפשרות לקרוא לתהליך על מנת לטפל בחיבור
Comment[hr]=Nisam mogao pozvati proces za kontrolu veze
Comment[hu]=A kapcsolat kezelése nem sikerült
Comment[is]=Gat ekki kallað á forrit til að höndla tengingu
Comment[it]=Impossibile richiamare il processo per gestire la connessione
Comment[ja]=接続を扱うプロセスを呼び出せません
Comment[km]=មិន​អាច​ហៅ​ដំណើរ​ការ ដើម្បីដោះស្រាយ​ការ​ត​ភ្ជាប់​បាន​ឡើយ
Comment[ko]=연결을 처리하기 위한 프로세스를 부를 수 없습니다
Comment[lt]=Nepavyko iškviesti proceso prisijungimui apdoroti
Comment[mk]=Не може да се повика процесот за ракување со поврзувањето
Comment[ms]=Tidak dapat memanggil proses untuk mengendalikan sambungan
Comment[nb]=Klarte ikke kalle på prosess for å håndtere tilkobling
Comment[nds]=Perzess för't Verarbeiden vun Tokoppelanfragen lett sik nich opropen
Comment[nl]=Kon geen proces aanroepen om de verbinding af te handelen
Comment[pl]=Nie można było uruchomić procesu obsługi połączenia
Comment[pt]=Não foi possível invocar o processo para lidar com as ligações
Comment[pt_BR]=Não foi possível chamar o processo de controle da conexão
Comment[ru]=Не удаётся запустить процесс обработки соединения
Comment[sl]=Ni možno poklicati procesa za upravljanje s povezavo
Comment[sr]=Nisam mogao da pozovem proces da opsluži vezu
Comment[sr@latin]=Nisam mogao da pozovem proces da opsluži vezu
Comment[sv]=Kunde inte anropa process för att hantera anslutning
Comment[ta]=இணைப்பை கையாள செயற்பாட்டை அழைக்க முடியவில்லை
Comment[tg]=Барои даскории пайвастшавӣ ҷараён бозхонда нашуд
Comment[tr]=Elle bağlantıda başarısız çağrı işlemleri
Comment[x-test]=xxCould not call process to handle connectionxx
Comment[xh]=Ayikwazanga ukubiza inkqubo ezakuphatha uxhulumano
Comment[zh_CN]=无法调用进程处理连接
Comment[zh_HK]=無法呼叫處理連線的程序
Comment[zh_TW]=無法呼叫行程來處理此連線
Action=None

View File

@@ -4,16 +4,15 @@
Type=ServiceType
X-KDE-ServiceType=KInetDModule
Name=KInetD Module Type
Name[ar]=KInetD نوع وحدة
Name[bg]=Модул на KInetD
Name[br]=Seurt ar mollad KInetD
Name[ca]=Tipus de mòdul del KInetD
Name[cs]=Typ modulu KInetD
Name[cy]=Math Modiwl KInetD
Name[da]=KInetD-modultype
Name[de]=KInetD Modultyp
Name[de]=KInetD-Modultyp
Name[el]=Τύπος αρθρώματος KInetD
Name[eo]=KInetD-modulotipo
Name[eo]=KInetD modulotipo
Name[es]=Tipo de módulo KInetD
Name[et]=KInetD mooduli tüüp
Name[eu]=KInetD modulu mota
@@ -30,6 +29,7 @@ Name[it]=Tipo modulo KInetD
Name[ja]=KInetD モジュールタイプ
Name[kk]=KInetD модулі
Name[km]=ប្រភេទ​ម៉ូលឌុល KInetD
Name[ko]=KInetD 모듈 종류
Name[lt]=KInetD modulio tipas
Name[mk]=Тип на модул за KInetD
Name[ms]=Jenis Modul KInetD
@@ -46,14 +46,16 @@ Name[ru]=Модуль KInetD
Name[se]=KInetD-moduvlašládja
Name[sl]=Vrsta modula KInetD
Name[sr]=KInetD врста модула
Name[sr@Latn]=KInetD vrsta modula
Name[sr@latin]=KInetD vrsta modula
Name[sv]=Kinetd-modultyp
Name[ta]=KInetD கூறு வகை
Name[tg]=Навъи Модули KInetD
Name[tr]=KDED Modül Türü
Name[uk]=Тип модулю KinetD
Name[vi]=Kiểu môđun KInetD
Name[x-test]=xxKInetD Module Typexx
Name[xh]=Udidi Lomqongo womlinganiselo we KInetD
Name[zh_CN]=KInetD 模块类型
Name[zh_HK]=KInetD 模組類型
Name[zh_TW]=KInetD 模組類型

View File

@@ -1,16 +1,15 @@
# KDE Config File
[Desktop Entry]
Encoding=UTF-8
Type=Application
Exec=krfb -caption "%c"
Icon=krfb
DocPath=krfb/index.html
X-DocPath=krfb/index.html
Terminal=false
Name=Krfb
Name[x-test]=xxKrfbxx
Name[zh_TW]=Krfb 桌面分享
GenericName=Desktop Sharing
GenericName[bg]=Споделяне на раб. място
GenericName[bg]=Споделяне на работното място
GenericName[br]=Rannañ ar vurev
GenericName[ca]=Compartició de l'escriptori
GenericName[cs]=Sdílení pracovní plochy
@@ -18,6 +17,7 @@ GenericName[cy]=Rhannu Penbwrdd
GenericName[da]=Desktopdeling
GenericName[de]=Arbeitsfläche freigeben
GenericName[el]=Κοινή χρήση επιφάνειας εργασίας
GenericName[eo]=Tabula komunigado
GenericName[es]=Escritorio compartido
GenericName[et]=Töölaua jagamine
GenericName[eu]=Mahaigain partekatzea
@@ -25,7 +25,7 @@ GenericName[fa]=اشتراک رومیزی
GenericName[fi]=Työpöydän jakaminen
GenericName[fr]=Partage de bureau
GenericName[ga]=Roinnt Deisce
GenericName[gl]=Compartidor de Escritorio
GenericName[gl]=Compartilla de escritorio
GenericName[he]=שיתוף שולחנות עבודה
GenericName[hu]=Munkaasztal-megosztás
GenericName[is]=Skjáborðsmiðlun
@@ -33,6 +33,7 @@ GenericName[it]=Condivisione desktop
GenericName[ja]=デスクトップ共有
GenericName[kk]=Үстелді ортақтастыру
GenericName[km]=ការ​ចែក​រំលែក​ផ្ទៃ​តុ
GenericName[ko]=데스크톱 공유
GenericName[lt]=Dalinimasis darbastaliu
GenericName[nb]=Delte skrivebord
GenericName[nds]=Schriefdisch-Freegaav
@@ -40,17 +41,19 @@ GenericName[ne]=डेस्कटप साझेदारी
GenericName[nl]=Bureaublad delen
GenericName[nn]=Skrivebordsdeling
GenericName[pl]=Współdzielenie pulpitu
GenericName[pt]=Partilha do Ambiente de Trabalho
GenericName[pt]=Partilha do Ecrã
GenericName[pt_BR]=Compartilhamento de Ambiente de Trabalho
GenericName[ru]=Общий рабочий стол
GenericName[sl]=Deljenje namizja
GenericName[sr]=Дељење радне површине
GenericName[sr@Latn]=Deljenje radne površine
GenericName[sr@latin]=Deljenje radne površine
GenericName[sv]=Dela ut skrivbordet
GenericName[tr]=Masaüstü Paylaşımı
GenericName[uk]=Спільні стільниці
GenericName[uz]=Иш столи билан бўлишиш
GenericName[vi]=Chia sẻ màn hình nền
GenericName[x-test]=xxDesktop Sharingxx
GenericName[zh_CN]=桌面共享
GenericName[zh_HK]=桌面分享
GenericName[zh_TW]=桌面分享
Categories=Qt;KDE;System;
Categories=Qt;KDE;System;RemoteAccess;Network;

View File

@@ -34,4 +34,4 @@
<label>Password for uninvited connections.</label>
</entry>
</group>
</kcfg>
</kcfg>

View File

@@ -1,106 +1,655 @@
[Global]
IconName=krfb
Comment=Desktop Sharing
Comment[af]=Werkskerm Deeling
Comment[br]=Rannañ ar vurev
Comment[ca]=Compartició de l'escriptori
Comment[cs]=Sdílení pracovní plochy
Comment[cy]=Rhannu Penbwrdd
Comment[da]=Desktopdeling
Comment[de]=Arbeitsflächen-Freigabe
Comment[el]=Κοινή χρήση επιφάνειας εργασίας
Comment[eo]=Tabula komunigado
Comment[et]=Töölaua jagamine
Comment[eu]=Mahaigain partekatzea
Comment[fi]=Työpöydän jakaminen
Comment[fr]=Partage du bureau
Comment[ga]=Roinnt Deisce
Comment[he]=שיתוף שולחנות עבודה
Comment[hr]=Dijeljenje radne površine
Comment[hu]=Munkaasztal-megosztás
Comment[is]=Skjáborðamiðlun
Comment[it]=Condivisione desktop
Comment[ja]=デスクトップ共有
Comment[km]=ការ​ចែក​រំលែក​ផ្ទែ​តុ
Comment[ko]=데스크톱 공유
Comment[lt]=Dalinimasis darbastaliu
Comment[mk]=Делење на работната површина
Comment[ms]=Perkongsian Ruang Kerja
Comment[nb]=Delte skrivebord
Comment[nds]=Schriefdisch-Freegaav
Comment[nl]=Bureaublad delen
Comment[pl]=Współdzielenie pulpitu
Comment[pt]=Partilha do Ecrã
Comment[pt_BR]=Compartilhamento do Ambiente de Trabalho
Comment[ro]=Partajare ecran
Comment[ru]=Параметры общего рабочего стола
Comment[sl]=Deljenje namizja
Comment[sr]=Deljenje radne površine
Comment[sr@latin]=Deljenje radne površine
Comment[sv]=Dela ut skrivbordet
Comment[ta]=பணிமேடை பகிர்வு
Comment[tg]=Истифодаи Муштараки Мизи Корӣ
Comment[tr]=Masaüstü Paylaşımı
Comment[x-test]=xxDesktop Sharingxx
Comment[xh]=Ulwahlulelano lwe Desktop
Comment[zh_CN]=桌面共享
Comment[zh_HK]=桌面分享
Comment[zh_TW]=桌面分享
[Event/UserAcceptsConnection]
Name=UserAcceptsConnection
Name[el]=Ο χρήστης αποδέχεται σύνδεση
Name[fr]=L'utilisateur accepte les connexions
Name[x-test]=xxUserAcceptsConnectionxx
Name=User Accepts Connection
Name[ca]=L'usuari accepta la connexió
Name[de]=Benutzer akzeptiert Verbindung
Name[el]=Ο χρήστης δέχεται τη σύνδεση
Name[eo]=Uzanto akceptas la konekton
Name[et]=Kasutaja nõustub ühendusega
Name[ga]=Glacann an tÚsáideoir Le Ceangal
Name[ja]=ユーザが接続を許可
Name[ko]=사용자가 연결을 수락함
Name[nb]=Bruker godtar tilkobling
Name[nds]=Bruker lett tokoppeln to
Name[nl]=Gebruiker accepteert de verbinding
Name[pl]=Połączenie zaakceptowane przez użytkownika
Name[pt]=O Utilizador Aceita a Ligação
Name[pt_BR]=O Utilizador Aceita a Ligação
Name[sv]=Användaren accepterar anslutning
Name[x-test]=xxUser Accepts Connectionxx
Name[zh_CN]=用户接受连接
Name[zh_TW]=使用者接受連線
Comment=User accepts connection
Comment[el]=Ο χρήστης αποδέχεται σύνδεση
Comment[af]=Gebruiker aanvaar verbinding
Comment[ca]=L'usuari accepta la connexió
Comment[cs]=Uživatel přijímá spojení
Comment[cy]=Mae'r defnyddiwr yn derbyn y cysylltiad
Comment[da]=Bruger accepterer forbindelse
Comment[de]=Der Benutzer akzeptiert die Verbindung
Comment[el]=Ο χρήστης δέχεται τη σύνδεση
Comment[eo]=Uzanto akceptas la konekton
Comment[et]=Kasutaja nõustub ühendusega
Comment[eu]=Erabiltzaileak konexioa onartu du
Comment[fi]=Käyttäjä hyväksyy yhteyden
Comment[fr]=l'utilisateur accepte les connexions
Comment[ga]=Glacann úsáideoir le ceangal
Comment[he]=המשתמש מקבל את החיבור
Comment[hr]=Korisnik prihvaća vezu
Comment[hu]=A felhasználó elfogadja a csatlakozási kérést
Comment[is]=Notandi samþykkir tengingu
Comment[it]=L'utente accetta la connessione
Comment[ja]=ユーザが接続を許可
Comment[km]=អ្នក​ប្រើ​ទទួលយក​ការ​ត​ភ្ជាប់
Comment[ko]=사용자가 연결을 수락함
Comment[lt]=Naudotojas priima kvietimą
Comment[mk]=Корисникот прифаќа поврзување
Comment[ms]= Pengguna menerima sambungan
Comment[nb]=Bruker godtar tilkobling
Comment[nds]=Bruker nimmt Tokoppelanfraag an
Comment[nl]=Gebruiker accepteert de verbinding
Comment[pl]=Użytkownik akceptuje połączenie
Comment[pt]=O utilizador aceita a ligação
Comment[pt_BR]=O usuário aceita a conexão
Comment[ro]=Utilizatorul acceptă conexiunea
Comment[ru]=Пользователь принимает соединения
Comment[sl]=Uporabnik sprejel povezavo
Comment[sr]=Korisnik prihvata vezu
Comment[sr@latin]=Korisnik prihvata vezu
Comment[sv]=Användaren accepterar anslutning
Comment[ta]=பயனர் இணைப்பு ஏற்றுக்கொள்ளப்பட்டது
Comment[tg]=Корванд пайвастшавиро қабул мекунад
Comment[tr]=Kullanıcı bağlantıyı kabul etti
Comment[x-test]=xxUser accepts connectionxx
Comment[xh]=Umsebenzisi wamkela uxhulumaniso
Comment[zh_CN]=用户接受连接
Comment[zh_HK]=用戶接受連線
Comment[zh_TW]=使用者接受連線
Action=None
[Event/UserRefusesConnection]
Name=UserRefusesConnection
Name[el]=Ο χρήστης απορρίπτει σύνδεση
Name[fr]=L'utilisateur refuse les connexions
Name[x-test]=xxUserRefusesConnectionxx
Name=User Refuses Connection
Name[ca]=L'usuari refusa la connexió
Name[de]=Benutzer verweigert Verbindung
Name[el]=Ο χρήστης απέρριψε τη σύνδεση
Name[eo]=Uzanto rifuzas la konekton
Name[et]=Kasutaja keeldub ühendusest
Name[ga]=Diúltíonn an tÚsáideoir Le Ceangal
Name[ja]=ユーザが接続を拒否
Name[ko]=사용자가 연결을 거부함
Name[nb]=Bruker nekter tilkobling
Name[nds]=Bruker wiest tokoppeln af
Name[nl]=Gebruiker weigert de verbinding
Name[pl]=Połączenie odrzucone przez użytkownika
Name[pt]=O Utilizador Recusa a Ligação
Name[pt_BR]=O Utilizador Recusa a Ligação
Name[sv]=Användaren vägrar anslutning
Name[x-test]=xxUser Refuses Connectionxx
Name[zh_CN]=用户拒绝连接
Name[zh_TW]=使用者拒絕連線
Comment=User refuses connection
Comment[el]=Ο χρήστης απορρίπτει σύνδεση
Comment[af]=Gebruiker weier verbinding
Comment[ca]=L'usuari refusa la connexió
Comment[cs]=Uživatel odmítá spojení
Comment[cy]=Mae'r defnyddiwr yn gwrthod y cysylltiad
Comment[da]=Bruger afslår forbindelse
Comment[de]=Der Benutzer verweigert die Verbindung
Comment[el]=Ο χρήστης απέρριψε τη σύνδεση
Comment[eo]=Uzanto rifuzas konektojn
Comment[et]=Kasutaja keeldub ühendusest
Comment[eu]=Erabiltzaileak konexioa ukatu du
Comment[fi]=Käyttäjä hylkää yhteyden
Comment[fr]=L'utilisateur refuse les connexions
Comment[ga]=Diúltaíonn úsáideoir ceangal
Comment[he]=המשתמש מסרב לחיבור
Comment[hr]=Korisnik odbija vezu
Comment[hu]=A felhasználó visszautasítja a csatlakozási kérést
Comment[is]=Notandi hafnar tengingu
Comment[it]=L'utente rifiuta la connessione
Comment[ja]=ユーザが接続を拒否
Comment[km]=អ្នក​ប្រើ​បដិសេធ​ការ​ត​ភ្ជាប់
Comment[ko]=사용자가 연결을 거부함
Comment[lt]=Naudotojas atmeta kvietimą
Comment[mk]=Корисникот одбива поврзување
Comment[ms]=Pengguna menolak sambungan
Comment[nb]=Bruker nekter tilkobling
Comment[nds]=Bruker wiest Tokoppelanfraag af
Comment[nl]=Gebruiker weigert de verbinding
Comment[pl]=Użytkownik odrzuca połączenie
Comment[pt]=O utilizador recusa a ligação
Comment[pt_BR]=O usuário rejeita a conexão
Comment[ro]=Utilizatorul refuză conexiunea
Comment[ru]=Пользователь не принимает соединения
Comment[sl]=Uporabnik zavrnil povezavo
Comment[sr]=Korisnik odbija vezu
Comment[sr@latin]=Korisnik odbija vezu
Comment[sv]=Användaren vägrar anslutning
Comment[ta]=பயனர் இணைப்பு ஏற்க மறுக்கப்பட்டது
Comment[tg]=Корванд пайвастшавиро рад мекунад
Comment[tr]=Kullanıcı bağlantıyı iptal etti
Comment[x-test]=xxUser refuses connectionxx
Comment[xh]=Umsebenzisi wala uxhulumaniso
Comment[zh_CN]=用户拒绝连接
Comment[zh_HK]=用戶拒絕連線
Comment[zh_TW]=使用者拒絕連線使用者
Action=None
[Event/ConnectionClosed]
Name=ConnectionClosed
Name=Connection Closed
Name[ca]=Connexió tancada
Name[de]=Verbindung geschlossen
Name[el]=Η σύνδεση έκλεισε
Name[fr]=Connexion fermée
Name[x-test]=xxConnectionClosedxx
Name[eo]=Konekto fermita
Name[et]=Ühendus suletud
Name[ga]=Ceangal Dúnta
Name[ja]=接続切断
Name[ko]=연결이 닫힘
Name[nb]=Forbindelsen lukket
Name[nds]=Afkoppelt
Name[nl]=Verbinding gesloten
Name[pl]=Połączenia zakończone
Name[pt]=Ligação Fechada
Name[pt_BR]=Ligação Fechada
Name[sv]=Anslutning stängd
Name[x-test]=xxConnection Closedxx
Name[zh_CN]=连接关闭
Name[zh_TW]=連線已關閉
Comment=Connection closed
Comment[af]=Verbinding gesluit
Comment[br]=Serret eo ar gevreadenn
Comment[ca]=Connexió tancada
Comment[cs]=Spojení ukončeno
Comment[cy]=Mae'r cysylltiad ar gau
Comment[da]=Forbindelse lukket
Comment[de]=Verbindung geschlossen
Comment[el]=Η σύνδεση έκλεισε
Comment[eo]=Konekto fermita
Comment[et]=Ühendus suletud
Comment[eu]=Konexioa itxi da
Comment[fi]=Yhteys suljettu
Comment[fr]=Connexion coupée
Comment[ga]=Ceangal dúnta
Comment[he]=החיבור נסגר
Comment[hr]=Veza prekinuta
Comment[hu]=A kapcsolat bezárva
Comment[is]=Tengingu lokað
Comment[it]=Connessione chiusa
Comment[ja]=接続が閉じられました
Comment[km]=បាន​បិទ​ការ​ត​ភ្ជាប់
Comment[ko]=연결이 닫힘
Comment[lt]=Ryšys baigtas
Comment[mk]=Поврзувањето е затворено
Comment[ms]=Sambungan ditutup
Comment[nb]=Forbindelsen lukket
Comment[nds]=Afkoppelt
Comment[nl]=Verbinding verbroken
Comment[pl]=Połączenie zakończone
Comment[pt]=A ligação foi encerrada
Comment[pt_BR]=conexão encerrada
Comment[ro]=Conexiune închisă
Comment[ru]=Соединение закрыто
Comment[sl]=Povezava zaprta
Comment[sr]=Veza je zatvorena
Comment[sr@latin]=Veza je zatvorena
Comment[sv]=Anslutning stängd
Comment[ta]=இணைப்புகள் மூடப்பட்டது
Comment[tg]=Пайвастшавӣ пӯшида аст
Comment[tr]=Bağlantı kesildi
Comment[uz]=Алоқа узилди
Comment[x-test]=xxConnection closedxx
Comment[xh]=Uxhulumaniso luvaliwe
Comment[zh_CN]=连接关闭
Comment[zh_HK]=連線已關閉
Comment[zh_TW]=連線已關閉
Action=None
[Event/InvalidPassword]
Name=InvalidPassword
Name=Invalid Password
Name[ca]=Contrasenya no vàlida
Name[de]=Passwort ungültig
Name[el]=Μη έγκυρος κωδικός πρόσβασης
Name[fr]=Mots de passe non valable
Name[x-test]=xxInvalidPasswordxx
Name[eo]=Nevalida pasvorto
Name[et]=Vale parool
Name[ga]=Focal Faire Neamhbhailí
Name[ja]=無効なパスワード
Name[ko]=잘못된 암호
Name[nb]=Ugyldig passord
Name[nds]=Leeg Passwoort
Name[nl]=Ongeldig wachtwoord
Name[pl]=Błędne hasło
Name[pt]=Senha Inválida
Name[pt_BR]=Senha Inválida
Name[sv]=Ogiltigt lösenord
Name[x-test]=xxInvalid Passwordxx
Name[zh_CN]=无效密码
Name[zh_TW]=不正確的密碼
Comment=Invalid password
Comment[af]=Ongeldige wagwoord
Comment[br]=Tremenger siek
Comment[ca]=Contrasenya no vàlida
Comment[cs]=Neplatné heslo
Comment[cy]=Cyfrinair annilys
Comment[da]=Ugyldigt kodeord
Comment[de]=Passwort ungültig
Comment[el]=Μη έγκυρος κωδικός πρόσβασης
Comment[eo]=Nevalida pasvorto
Comment[et]=Vale parool
Comment[eu]=Baliogabeko pasahitza
Comment[fi]=Virheellinen salasana
Comment[fr]=Mot de passe non valable
Comment[ga]=Focal faire neamhbhailí
Comment[he]=הסיסמה שגויה
Comment[hr]=Nevažeća šifra
Comment[hu]=Érvénytelen jelszó
Comment[is]=Lykilorð ógilt
Comment[it]=Password non valida
Comment[ja]=無効なパスワード
Comment[km]=ពាក្យ​សម្ងាត់​មិន​ត្រឹមត្រូវ
Comment[ko]=잘못된 암호
Comment[lt]=Neteisingas slaptažodis
Comment[mk]=Невалидна лозинка
Comment[ms]=Kata laluan tidak sah
Comment[nb]=Ugyldig passord
Comment[nds]=Leeg Passwoort
Comment[nl]=Ongeldig wachtwoord
Comment[pl]=Błędne hasło
Comment[pt]=A senha é inválida
Comment[pt_BR]=senha inválida
Comment[ro]=Parolă eronată
Comment[ru]=Неверный пароль
Comment[sl]=Neveljavno geslo
Comment[sr]=Pogrešna lozinka
Comment[sr@latin]=Pogrešna lozinka
Comment[sv]=Ogiltigt lösenord
Comment[ta]=செல்லாத கடவுச்சொல்
Comment[tg]=Гузарвожаи нодуруст
Comment[tr]=Geçersiz parola
Comment[uz]=Махфий сўз ҳақиқий эмас
Comment[wa]=Sicret nén valide
Comment[x-test]=xxInvalid passwordxx
Comment[xh]=Igama lokugqitha elingasebenziyo
Comment[zh_CN]=无效密码
Comment[zh_HK]=無效的密碼
Comment[zh_TW]=不正確的密碼
Action=None
[Event/InvalidPasswordInvitations]
Name=InvalidPasswordInvitations
Name[el]=Μη έγκυρες προσκλήσεις κωδικού πρόσβασης
Name[fr]=Invitations de mot de passe non valable
Name[x-test]=xxInvalidPasswordInvitationsxx
Name=Invalid Password Invitations
Name[ca]=Contrasenya de les invitacions no vàlides
Name[de]=Ungültiges Einladungs-Passwort
Name[el]=Μη έγκυρος κωδικός πρόσβασης πρόσκλησης
Name[eo]=Nevalidaj pasvortaj invitoj
Name[et]=Kutsutu vale parool
Name[ja]=招待に対する無効なパスワード
Name[ko]=잘못된 비밀번호 초대장
Name[nb]=Ugyldig invitasjonspassord
Name[nds]=Leeg Passwoort bi Inladen
Name[nl]=Ongeldig wachtwoord uitnodiging
Name[pl]=Informacja o błędnym haśle
Name[pt]=Convites de Senha Inválidos
Name[pt_BR]=Convites de Senha Inválidos
Name[sv]=Ogiltigt lösenord vid inbjudan
Name[x-test]=xxInvalid Password Invitationsxx
Name[zh_CN]=无效密码邀请
Name[zh_TW]=不合法的密碼邀請
Comment=The invited party sent an invalid password. Connection refused.
Comment[el]=Η πλευρά που προσκλήθηκε έστειλε μη έγκυρο κωδικό πρόσβασης. Η σύνδεση απορρίφθηκε.
Comment[af]=Die uitgenooi party gestuur 'n ongeldige wagwoord. Verbinding geweier.
Comment[ca]=La part invitada ha enviat una contrasenya no vàlida. Connexió refusada.
Comment[cs]=Pozvaná strana poslala neplatné heslo. Spojení odmítnuto.
Comment[cy]=Anfonodd y person gwahodd cyfrinair annilys. Gwrthodwyd y cysylltiad.
Comment[da]=Den inviterede part sendte et ugyldigt kodeord. Forbindelse afslået.
Comment[de]=Die eingeladene Person hat ein ungültiges Passwort gesendet: Verbindung abgelehnt.
Comment[el]=Η πρόσκληση περιέχει μη έγκυρο κωδικό πρόσβασης. Η σύνδεση απορρίφθηκε.
Comment[eo]=La invitita kliento sendis nevalidan pasvorton. Konekto rifuzita.
Comment[et]=Kutsutu saatis vigase parooli. Ühendusest keelduti.
Comment[eu]=Gonbidatutako parekoak baliogabeko pasahitza bidali du. Konexioa ukatu da.
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[he]=הצד המוזמן שלח סיסמה שגויה. החיבור נדחה.
Comment[hr]=Stranka koju ste pozvali je poslala nevažeću šifru. Veza odbijena.
Comment[hu]=A meghívott fél érvénytelen jelszót küldött. A csatlakozás nem sikerült.
Comment[is]=Boðinn aðili sendi ógilt lykilorð. Tengingu hafnað
Comment[it]=La parte invitata ha inviato una password non valida. Connessione rifiutata.
Comment[ja]=招待された人が無効なパスワードを送ってきました。接続を拒否しました。
Comment[km]=ភាគី​ដែល​បាន​អញ្ជើញ បាន​ផ្ញើ​ពាក្យ​សម្ងាត់​មិន​ត្រឹមត្រូវ ។ ការ​តភ្ជាប់​ត្រូវ​បាន​បដិសេធ ។
Comment[ko]=초대한 사람이 잘못된 비밀번호를 보냈습니다. 연결이 잘못되었습니다.
Comment[lt]=Pakviestoji pusė atsiuntė neteisingą slaptažodį. Ryšys nutrauktas.
Comment[mk]=Поканетата страна испрати невалидна лозинка. Поврзувањето е одбиено.
Comment[ms]=Pihak yang dijemput telah menghantar kata laluan yang salah. Sambungan ditolak.
Comment[nb]=Den inviterte brukeren sendte et ugyldig passord. Tilkobling nektet.
Comment[nds]=De inlaadt Deel hett en leeg Passwoort angeven. Tokoppeln torüchwiest.
Comment[nl]=De uitgenodigde partij stuurde een ongeldig wachtwoord. De verbinding is geweigerd.
Comment[pl]=Z drugiej strony podano błędne hasło. Połączenie odrzucone.
Comment[pt]=O utilizador convidado enviou uma senha inválida. A ligação foi recusada.
Comment[pt_BR]=A parte "convidada" enviou uma senha inválida. Conexão recusada.
Comment[ru]=Удалённый пользователь ввёл неверный пароль. В доступе отказано.
Comment[sl]=Povabljena stranka je poslala neveljavno geslo. Povezava zavrnjena.
Comment[sr]=Pozvana stranka je poslala pogrešnu lozinku. Veza je odbijena.
Comment[sr@latin]=Pozvana stranka je poslala pogrešnu lozinku. Veza je odbijena.
Comment[sv]=Den inbjudna personen skickade ett ogiltigt lösenord. Anslutning vägrades.
Comment[ta]=அழைத்த நபர் தவறான கடவுச்சொல்லை அனுப்பியுள்ளார். இணைப்பு நிராகரிக்கப்பட்டது.
Comment[tg]=Корванди дурдаст гузарвожаи нодурустро фиристод. Пайвастшавӣ манъ шудааст.
Comment[tr]=Davet edilenden gönderilmiş geçersiz parola. Bağlantı rededildi.
Comment[x-test]=xxThe invited party sent an invalid password. Connection refused.xx
Comment[xh]=Umhlangano omenyiweyo uthumele igama lokugqitha elisebenzayo. Uxhulumano lwa liwe.
Comment[zh_CN]=受邀请方发送的密码不对。连接被拒绝。
Comment[zh_HK]=被邀請的一方送出無效的密碼。已拒絕連線。
Comment[zh_TW]=邀請的人送出了不合法的密碼邀請。連線已拒絕。
Action=Popup
[Event/NewConnectionOnHold]
Name=NewConnectionOnHold
Name=New Connection on Hold
Name[ca]=Nova connexió en espera
Name[de]=Neue Verbindung wartet
Name[el]=Νέα σύνδεση σε αναμονή
Name[fr]=Nouvelle connexion au raccroché
Name[x-test]=xxNewConnectionOnHoldxx
Name[eo]=Nova konekto atendante
Name[et]=Uus ühendus ootel
Name[ga]=Ceangal Nua Ag Fanacht
Name[ja]=保留中の新規接続
Name[ko]=새 연결 대기 중
Name[nb]=Ny tilkobling venter
Name[nds]=Nieg Verbinnen töövt
Name[nl]=Nieuwe verbinding in de wacht
Name[pl]=Nowe połączenie wstrzymane
Name[pt]=Ligação Nova em Espera
Name[pt_BR]=Ligação Nova em Espera
Name[sv]=Ny anslutning väntar
Name[x-test]=xxNew Connection on Holdxx
Name[zh_CN]=新连接已搁置
Name[zh_TW]=新連線等待處理
Comment=Connection requested, user must accept
Comment[el]=Αιτήθηκε σύνδεση, ο χρήστης πρέπει να αποδεχθεί
Comment[af]=Verbinding versoekte, gebruiker moet aanvaar
Comment[ca]=Connexió sol·licitada, l'usuari ha d'acceptar-la
Comment[cs]=Vyžadováno spojení, uživatel musí přijmout
Comment[cy]=Cais wedi'i wneud am gysylltiad,rhaid i'r ddefnyddiwr ei dderbyn
Comment[da]=Forbindelse forespurgt, bruger skal acceptere
Comment[de]=Verbindungsanfrage, Benutzer muss bestätigen
Comment[el]=Αίτηση για σύνδεση, απαιτείται παρέμβαση του χρήστη
Comment[eo]=Konekto pridemandita, la uzanto devas akcepti
Comment[et]=Nõutakse ühendust, kasutaja peab seda lubama
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 leis an úsáideoir glacadh leis
Comment[he]=נתבקש חיבור, על המשתמש לקבלו
Comment[hr]=Veza je zatražena, korisnik mora prihvatiti
Comment[hu]=Csatlakozási kérés, megerősítés szükséges
Comment[is]=Beiðni um tengingu, notandi verður að samþykkja
Comment[it]=Connessione richiesta, l'utente deve accettare
Comment[ja]=接続が要求されています。ユーザが許可しなければなりません。
Comment[km]=បាន​ស្នើ​ការ​ត​ភ្ជាប់​, អ្នក​ប្រើ​ត្រូវ​តែ​ទទួលយក
Comment[ko]=연결 요청됨, 사용자가 수락해야 함
Comment[lt]=Kvietimas ryšiui išsiųstas, naudotojas turi priimti kvietimą
Comment[mk]=Побарано е поврзување, корисникот мора да прифати
Comment[ms]=Sambungan diminta, pengguna mesti menerima
Comment[nb]=Anmodning om tilkobling, bruker må godta
Comment[nds]=Tokoppeln anfraagt, Bruker mutt verlöven
Comment[nl]=Verbindingsverzoek, gebruiker dient toe te stemmen
Comment[pl]=Próba połączenia, musi być zaakceptowana przez użytkownika
Comment[pt]=Foi pedida uma ligação que o utilizador deverá aceitar
Comment[pt_BR]=Conexão requisitada; o usuário deve aceitar
Comment[ro]=Cerere de conectare; utilizatorul trebuie să accepte
Comment[ru]=Запрос на соединение, требуется подтверждение пользователя
Comment[sl]=Povezava zahtevana, uporabnik mora sprejeti
Comment[sr]=Zahtevana je veza, korisnik mora da je prihvati
Comment[sr@latin]=Zahtevana je veza, korisnik mora da je prihvati
Comment[sv]=Anslutning begärd, användaren måste acceptera
Comment[ta]=இணைப்பு கோரப்பட்டது, பயனர் கண்டிப்பாக ஏற்றுக்கொள்ள வேண்டும்
Comment[tg]=Пайвастшавӣ дархоста шудааст, корванд бояд қабул кунад
Comment[tr]=Bağlantı isteği, kullanıcı kabul etmeli
Comment[x-test]=xxConnection requested, user must acceptxx
Comment[xh]=Uxhulumaniso luceliwe, umsebenzisi kufanele amkele
Comment[zh_CN]=连接已请求,用户必须接受
Comment[zh_HK]=已請求連線,用戶必須接受
Comment[zh_TW]=連線已要求,必須等使用者接受
Action=None
[Event/NewConnectionAutoAccepted]
Name=NewConnectionAutoAccepted
Name=New Connection Auto Accepted
Name[ca]=Nova connexió acceptada automàticament
Name[de]=Neue Verbindung automatisch angenommen
Name[el]=Αυτόματη αποδοχή νέας σύνδεσης
Name[fr]=Nouvelle connexion auto-acceptée
Name[x-test]=xxNewConnectionAutoAcceptedxx
Name[eo]=Nova konekto aŭtomate akceptita
Name[et]=Uue ühendusega automaatselt nõus
Name[ga]=Ceangal nua bunaithe go huathoibríoch
Name[ja]=新規接続の自動受け入れ
Name[ko]=새 연결 자동 수락
Name[nb]=Ny tilkobling automatisk godtatt
Name[nds]=Nieg Verbinnen automaatsch tolaten
Name[nl]=Nieuwe verbinding automatisch accepteren
Name[pl]=Nowe połączenie automatycznie przyjęte
Name[pt]=Nova Ligação Aceite Automaticamente
Name[pt_BR]=Nova Ligação Aceite Automaticamente
Name[sv]=Ny anslutning accepterades automatiskt
Name[x-test]=xxNew Connection Auto Acceptedxx
Name[zh_CN]=新连接自动接受
Name[zh_TW]=新連線自動接受
Comment=New connection automatically established
Comment[el]=Νέα σύνδεση αυτόματα αποκαταστάθηκε
Comment[af]=Nuwe verbinding automaties vasgestel
Comment[ca]=Nova connexió establerta automàticament
Comment[cs]=Automaticky navázáno nové spojení
Comment[cy]=Sefydlwyd cysylltiad newydd yn awtomatig
Comment[da]=Ny forbindelse automatisk etableret
Comment[de]=Neue Verbindung automatisch hergestellt
Comment[el]=Μια νέα σύνδεση δημιουργήθηκε αυτόματα
Comment[eo]=Nova konekto aŭtomate establita
Comment[et]=Uus ühendus automaatselt loodud
Comment[eu]=Konexio berria automatikoki ezarri da
Comment[fi]=Uusi yhteys muodostettu automaattisesti
Comment[fr]=Nouvelle connexion établie automatiquement
Comment[ga]=Ceangal nua bunaithe go huathoibríoch
Comment[he]=נוצר חיבור חדש באופן אוטומטי
Comment[hr]=Nova veza automatski prihvaćena
Comment[hu]=Automatikusan létrejött az új kapcsolat
Comment[is]=Nýjar tengingar sjálfkrafa samþykktar
Comment[it]=Stabilita nuova connessione automaticamente
Comment[ja]=新規接続を自動的に確立しました
Comment[km]=បាន​បង្កើត​ការ​ត​ភ្ជាប់​ថ្មី​ដោយ​ស្វ័យ​ប្រវត្តិ
Comment[ko]=새 연결이 자동으로 성립됨
Comment[lt]=Naujas ryšys užmegztas automatiškai
Comment[mk]=Автоматски е воспоставено ново поврзување
Comment[ms]=Sambungan baru secara automatik terjalin
Comment[nb]=En ny tilkobling er automatisk opprettet
Comment[nds]=Nieg Verbinnen automaatsch inricht
Comment[nl]=Nieuwe verbinding automatisch opgebouwd
Comment[pl]=Nowe połączenie ustanowiono automatycznie
Comment[pt]=Foi estabelecida automaticamente uma nova ligação
Comment[pt_BR]=Nova conexão estabelecida automaticamente
Comment[ro]=Conexiune nouă stabilită automat
Comment[ru]=Новое соединение устанавливается автоматически
Comment[sl]=Nova povezava samodejno vzpostavljena
Comment[sr]=Nova veza je automatski uspostavljena
Comment[sr@latin]=Nova veza je automatski uspostavljena
Comment[sv]=Ny anslutning automatiskt upprättad
Comment[ta]=இணைப்புகள் தானாக உருவாக்கப்பட்டது
Comment[tg]=Пайвастшавии нав ба таври худкор барпо мегардад
Comment[tr]=Yeni bağlantı otomatik olarak kuruldu
Comment[x-test]=xxNew connection automatically establishedxx
Comment[xh]=Uxhulumaniso olutsha lufunyenwe ngokuzenzekelayo
Comment[zh_CN]=自动建立新连接
Comment[zh_HK]=已自動建立新連線
Comment[zh_TW]=新連線自動建立
Action=None
[Event/TooManyConnections]
Name=TooManyConnections
Name=Too Many Connections
Name[ca]=Massa connexions
Name[de]=Zu viele Verbindungen
Name[el]=Πάρα πολλές συνδέσεις
Name[fr]=Trop de connexions
Name[x-test]=xxTooManyConnectionsxx
Name[eo]=Tro multaj konektoj
Name[et]=Liiga palju ühendusi
Name[ga]=An Iomarca Ceangal
Name[ja]=多すぎる接続
Name[ko]=너무 많은 연결
Name[nb]=For mange tilkoblinger
Name[nds]=To vele Verbinnen
Name[nl]=Teveel verbindingen
Name[pl]=Zbyt wiele połączeń
Name[pt]=Demasiadas Ligações
Name[pt_BR]=Demasiadas Ligações
Name[sv]=För många anslutningar
Name[x-test]=xxToo Many Connectionsxx
Name[zh_CN]=连接过多
Name[zh_TW]=太多連線
Comment=Busy, connection refused
Comment[el]=Απασχολημένο, η σύνδεση απορρίφθηκε
Comment[af]=Besig, verbinding geweier
Comment[br]=Dalc'het, kevreadenn disteuleret
Comment[ca]=Ocupat, connexió refusada
Comment[cs]=Zaneprázdněn, spojení odmítnuto
Comment[cy]=Prysur, gwrthodwyd y cysylltiad
Comment[da]=Optaget, forbindelse afslået
Comment[de]=Beschäftigt, Verbindung abgelehnt
Comment[el]=Απασχολημένος, η σύνδεση απορρίφθηκε
Comment[eo]=Okupata, konekto rifuzita
Comment[et]=Hõivatud, ühendusest keelduti
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[he]=תפוס, החיבור נדחה
Comment[hr]=Zauzeto, veza odbijena
Comment[hu]=Foglalt, a csatlakozási kérés visszautasítva
Comment[is]=Uptekinn, tengingu hafnað
Comment[it]=Occupato, connessione rifiutata
Comment[ja]=ビジーです、接続を拒否しました
Comment[km]=រវល់​,​បោះបង់​ការ​ត​ភ្ជាប់
Comment[ko]=바쁨, 연결 거부됨
Comment[lt]=Užimta, kvietimas ryšiui atmestas
Comment[mk]=Зафатено, поврзувањето е одбиено
Comment[ms]=Sibuk, sambungan ditolak
Comment[nb]=Opptatt, tilkobling nektet
Comment[nds]=Bunnen, Verbinnen torüchwiest
Comment[nl]=Bezet, verbinding geweigerd
Comment[pl]=Zajęte, połączenie odrzucone
Comment[pt]=Ocupado, pelo a ligação foi recusada
Comment[pt_BR]=Ocupado; conexão recusada
Comment[ro]=Ocupat; conexiune refuzată
Comment[ru]=Занято, соединение закрыто
Comment[sl]=Zaposlen, povezava zavrnjena
Comment[sr]=Zauzeto, veza je odbijena
Comment[sr@latin]=Zauzeto, veza je odbijena
Comment[sv]=Upptagen, anslutning vägras
Comment[ta]=வேலையில் உள்ளது, இணைப்பு நிராகரிக்கப்பட்டது
Comment[tg]=Банд, пайвастшавӣ рад гардидааст
Comment[tr]=Meşgul, bağlantı rededildi
Comment[uz]=Банд, алоқа рад этилди
Comment[x-test]=xxBusy, connection refusedxx
Comment[xh]=Uxhulumaniso, olu xakekileyo lwaliwe
Comment[zh_CN]=对方处于忙碌状态,连接被拒绝
Comment[zh_HK]=忙碌,已拒絕連線
Comment[zh_TW]=忙碌,連線被拒
Action=None
default_logfile=
[Event/UnexpectedConnection]
Name=UnexpectedConnection
Name=Unexpected Connection
Name[ca]=Connexió inesperada
Name[de]=Unerwartete Verbindung
Name[el]=Μη αναμενόμενη σύνδεση
Name[fr]=Connexion inattendue
Name[x-test]=xxUnexpectedConnectionxx
Name[eo]=Neatendita konekto
Name[et]=Ootamatu ühendus
Name[ga]=Nasc Gan Choinne
Name[ja]=予期しない接続
Name[ko]=예상하지 않은 연결
Name[nb]=Uventet tilkobling
Name[nds]=Nich verwacht Tokoppeln
Name[nl]=Onverwachte verbinding
Name[pl]=Niespodziewane połączenie
Name[pt]=Ligação Inesperada
Name[pt_BR]=Ligação Inesperada
Name[sv]=Oväntad anslutning
Name[x-test]=xxUnexpected Connectionxx
Name[zh_CN]=未预料的连接
Name[zh_TW]=未知的連線
Comment=Received unexpected connection, abort
Comment[el]=Λήψη μη αναμενόμενης σύνδεσης, εγκατάλειψη
Comment[af]=Ontvang onverwagte verbinding, staak
Comment[ca]=Rebuda una connexió inesperada, avortant
Comment[cs]=Obdrženo neočekávané spojení, přerušeno
Comment[cy]=Derbynwyd cysylltiad annisgwyl,terfynu
Comment[da]=Modtog uventet forbindelse, afbrød
Comment[de]=Unerwartete Verbindung hergestellt, Abbruch
Comment[el]=Λήφθηκε μια μη αναμενόμενη σύνδεση· εγκατάλειψη
Comment[eo]=Ricevis neatenditan konekton, ĉesi
Comment[et]=Saadi ootamatu ühendus, loobuti
Comment[eu]=Ustegabeko konexioa jaso da, abortatzen
Comment[fi]=Vastaanotettiin odottamaton yhteys, lopeta
Comment[fr]=Reçu une connexion inattendue, interruption
Comment[he]=נתקבל חיבור בלתי צפוי, בוטל
Comment[hr]=Primio sam neočekivanu vezu, prekid
Comment[hu]=Nem várt csatlakozási kérés, kilépés
Comment[is]=Tók á móti óvæntri tengingu, hætti
Comment[it]=Ricevuta connessione inaspettata, termina
Comment[ja]=予期しない接続を受信しました。廃棄します。
Comment[km]=បាន​ទទួលយក​ការ​ត​ភ្ជាប់​ដែល​មិន​បាន​រំពឹង​ទុក, ​បោះបង់
Comment[ko]=예상하지 않은 연결을 받았습니다, 중지합니다
Comment[lt]=Sulaukta netikėto prisijungimo, nutraukiama
Comment[mk]=Примено е неочекувано поврзување, се прекинува
Comment[ms]=Menerima sambungan luar jangka, menamatkan
Comment[nb]=Mottok uventet tilkobling, avbrutt
Comment[nds]=Unverwacht Verbinnen kregen, afbraken
Comment[nl]=Ontving een onverwachte verbinding, afgebroken
Comment[pl]=Otrzymano niespodziewane połączenie. Przerwane.
Comment[pt]=Foi recebida uma ligação inesperada, pelo que foi interrompida
Comment[pt_BR]=conexão recebida inesperadamente; abortar
Comment[ro]=A fost recepţionată o conexiune neaşteptată şi a fost anulată
Comment[ru]=Получено неожиданное соединение. Отключение
Comment[sl]=Prejeta nepričakovana povezava, prekinjeno
Comment[sr]=Primljena je neočekivana veza, prekidam
Comment[sr@latin]=Primljena je neočekivana veza, prekidam
Comment[sv]=Tog emot oväntad anslutning, avbryter
Comment[ta]=எதிர்பாராத இணைப்பு, நிறுத்தப்பட்டது
Comment[tg]=Пайвастшавии ғайричашмдош қабул гардид, кандашавӣ
Comment[tr]=Babul edilmiş beklenmedik bağlantı, durdur
Comment[x-test]=xxReceived unexpected connection, abortxx
Comment[xh]=Ufumene uxhulumaniso olungalindelekanga, lahla
Comment[zh_CN]=收到意外连接,已中止
Comment[zh_HK]=接收到非預期的連線,中止
Comment[zh_TW]=已接收到未知的連線,中止。
Action=None

View File

@@ -1,3 +1,3 @@
File=krfb.kcfg
ClassName=KrfbConfig
Singleton=true
Singleton=true

View File

@@ -4,8 +4,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
@@ -23,7 +23,7 @@
#include <KGlobal>
#include <KUser>
#include <KLocale>
#include <KStaticDeleter>
#include <KDebug>
#include <KMessageBox>
#include <dnssd/publicservice.h>
@@ -124,26 +124,30 @@ class KrfbServer::KrfbServerP {
rfbScreenInfoPtr screen;
bool running;
int numClients;
QByteArray desktopName;
};
class KrfbServerPrivate
{
public:
KrfbServer instance;
};
K_GLOBAL_STATIC(KrfbServerPrivate, krfbServerPrivate)
static KStaticDeleter<KrfbServer> sd;
KrfbServer * KrfbServer::_self = 0;
KrfbServer * KrfbServer::self() {
if (!_self) sd.setObject(_self, new KrfbServer);
return _self;
return &krfbServerPrivate->instance;
}
KrfbServer::KrfbServer()
:d(new KrfbServerP)
{
kDebug() << "starting " << endl;
kDebug() << "starting ";
d->running = true;
d->fb = FrameBuffer::getFrameBuffer(QApplication::desktop()->winId(), this);
QTimer::singleShot(0, this, SLOT(startListening()));
connect(InvitationManager::self(), SIGNAL(invitationNumChanged(int)),SLOT(updatePassword()));
}
KrfbServer::~KrfbServer()
@@ -182,7 +186,8 @@ void KrfbServer::startListening()
screen->passwordCheck = passwordCheck;
screen->setXCutText = clipboardHook;
screen->desktopName = i18n("%1@%2 (shared desktop)", KUser().loginName(), QHostInfo::localHostName()).toLatin1().data();
d->desktopName = i18n("%1@%2 (shared desktop)", KUser().loginName(), QHostInfo::localHostName()).toLatin1();
screen->desktopName = d->desktopName.constData();
if (!myCursor) {
myCursor = rfbMakeXCursor(19, 19, (char*) cur, (char*) mask);
@@ -211,6 +216,10 @@ void KrfbServer::startListening()
qApp->processEvents();
}
rfbShutdownServer(screen, true);
// framebuffer has to be deleted before X11 connection goes down
delete d->fb;
d->fb = 0;
emit quitApp();
}
@@ -232,10 +241,8 @@ void KrfbServer::disconnectAndQuit()
enum rfbNewClientAction KrfbServer::handleNewClient(struct _rfbClientRec * cl)
{
ConnectionController *cc = new ConnectionController(cl, this);
if (d->numClients == 0) {
if (d->numClients++ == 0)
d->fb->startMonitor();
d->numClients++;
}
d->controllers.append(cc);
cc->setControlEnabled(KrfbConfig::allowDesktopControl());
@@ -262,10 +269,10 @@ void KrfbServer::updatePassword()
" invitations " << InvitationManager::self()->activeInvitations() << endl;
if (pw.isEmpty() && InvitationManager::self()->activeInvitations() == 0) {
kDebug() << "no password from now on" << endl;
kDebug() << "no password from now on";
d->screen->authPasswdData = (void *)0;
} else {
kDebug() << "Ask for password to accept connections" << endl;
kDebug() << "Ask for password to accept connections";
d->screen->authPasswdData = (void *)1;
}
}
@@ -286,13 +293,11 @@ bool KrfbServer::checkX11Capabilities() {
void KrfbServer::clientDisconnected(ConnectionController *cc)
{
kDebug() << "clients--: " << d->numClients << endl;
d->numClients--;
if (d->numClients == 0) {
kDebug() << "clients--: " << d->numClients;
if (!--d->numClients) {
d->fb->stopMonitor();
}
disconnect(cc, SIGNAL(clientDisconnected(ConnectionController)),this, SLOT(clientDisconnected(ConnectionController)));
}

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#ifndef KRFBSERVER_H
@@ -13,7 +13,6 @@
#include <QObject>
#include <rfb/rfb.h>
class FrameBuffer;
class ConnectionController;
/**
This class implements the listening server for the RFB protocol.
@@ -23,6 +22,7 @@ This class implements the listening server for the RFB protocol.
class KrfbServer : public QObject
{
Q_OBJECT
friend class KrfbServerPrivate;
public:
static KrfbServer *self();

View File

@@ -43,35 +43,35 @@ static const char description[] = I18N_NOOP("VNC-compatible server to share "
int main(int argc, char *argv[])
{
KAboutData aboutData( "krfb", I18N_NOOP("Desktop Sharing"),
VERSION, description, KAboutData::License_GPL,
"(c) 2007, Alessandro Praduroux\n"
KAboutData aboutData( "krfb", 0, ki18n("Desktop Sharing"),
VERSION, ki18n(description), KAboutData::License_GPL,
ki18n("(c) 2007, Alessandro Praduroux\n"
"(c) 2001-2003, Tim Jansen\n"
"(c) 2001, Johannes E. Schindelin\n"
"(c) 2000, heXoNet Support GmbH, D-66424 Homburg\n"
"(c) 2000-2001, Const Kaplinsky\n"
"(c) 2000, Tridia Corporation\n"
"(c) 1999, AT&T Laboratories Cambridge\n");
aboutData.addAuthor("Alessandro Praduroux", I18N_NOOP("KDE4 porting"), "pradu@pradu.it");
aboutData.addAuthor("Tim Jansen", "", "tim@tjansen.de");
aboutData.addAuthor("Ian Reinhart Geiser", I18N_NOOP("DCOP interface"), "geiseri@kde.org");
aboutData.addCredit("Johannes E. Schindelin",
I18N_NOOP("libvncserver"));
aboutData.addCredit("Const Kaplinsky",
I18N_NOOP("TightVNC encoder"));
aboutData.addCredit("Tridia Corporation",
I18N_NOOP("ZLib encoder"));
aboutData.addCredit("AT&T Laboratories Cambridge",
I18N_NOOP("original VNC encoders and "
"(c) 1999, AT&T Laboratories Boston\n"));
aboutData.addAuthor(ki18n("Alessandro Praduroux"), ki18n("KDE4 porting"), "pradu@pradu.it");
aboutData.addAuthor(ki18n("Tim Jansen"), KLocalizedString(), "tim@tjansen.de");
aboutData.addAuthor(ki18n("Ian Reinhart Geiser"), ki18n("DCOP interface"), "geiseri@kde.org");
aboutData.addCredit(ki18n("Johannes E. Schindelin"),
ki18n("libvncserver"));
aboutData.addCredit(ki18n("Const Kaplinsky"),
ki18n("TightVNC encoder"));
aboutData.addCredit(ki18n("Tridia Corporation"),
ki18n("ZLib encoder"));
aboutData.addCredit(ki18n("AT&T Laboratories Boston"),
ki18n("original VNC encoders and "
"protocol design"));
aboutData.addCredit("Jens Wagner (heXoNet Support GmbH)",
I18N_NOOP("X11 update scanner, "
aboutData.addCredit(ki18n("Jens Wagner (heXoNet Support GmbH)"),
ki18n("X11 update scanner, "
"original code base"));
aboutData.addCredit("Jason Spisak",
I18N_NOOP("Connection side image"),
aboutData.addCredit(ki18n("Jason Spisak"),
ki18n("Connection side image"),
"kovalid@yahoo.com");
aboutData.addCredit("Karl Vogel",
I18N_NOOP("KDesktop background deactivation"));
aboutData.addCredit(ki18n("Karl Vogel"),
ki18n("KDesktop background deactivation"));
KCmdLineArgs::init(argc, argv, &aboutData);
KApplication app;

View File

@@ -5,8 +5,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>691</width>
<height>336</height>
<width>550</width>
<height>337</height>
</rect>
</property>
<property name="windowTitle" >
@@ -16,28 +16,6 @@
<iconset/>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item row="2" column="2" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>81</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1" colspan="2" >
<widget class="QLabel" name="TextLabel2" >
<property name="font" >
@@ -54,12 +32,54 @@
</property>
</widget>
</item>
<item row="1" column="1" colspan="2" >
<widget class="QLabel" name="helpLabel" >
<property name="text" >
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">KDE Desktop Sharing allows you to invite somebody at a remote location to watch and possibly control your desktop. &lt;a href="whatsthis">More about invitations...&lt;/a>&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="textFormat" >
<enum>Qt::RichText</enum>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
<property name="openExternalLinks" >
<bool>false</bool>
</property>
<property name="textInteractionFlags" >
<set>Qt::LinksAccessibleByMouse</set>
</property>
</widget>
</item>
<item rowspan="3" row="2" column="0" >
<widget class="QLabel" name="pixmapLabel" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Maximum" hsizetype="Maximum" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>128</width>
<height>128</height>
</size>
</property>
</widget>
</item>
<item rowspan="5" row="2" column="1" >
<widget class="QTreeWidget" name="invitationWidget" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>7</vsizetype>
<sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -85,58 +105,45 @@
</column>
</widget>
</item>
<item rowspan="7" row="0" column="0" >
<widget class="QLabel" name="pixmapLabel" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<item row="2" column="2" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="minimumSize" >
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>108</width>
<height>318</height>
<width>155</width>
<height>62</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>108</width>
<height>318</height>
</size>
</spacer>
</item>
<item row="3" column="2" >
<widget class="QPushButton" name="newPersonalInvitationButton" >
<property name="toolTip" >
<string>Create a new personal invitation...</string>
</property>
<property name="frameShape" >
<enum>QFrame::StyledPanel</enum>
<property name="whatsThis" >
<string>Click this button to create a new personal invitation.</string>
</property>
<property name="frameShadow" >
<enum>QFrame::Plain</enum>
</property>
<property name="scaledContents" >
<bool>true</bool>
</property>
<property name="alignment" >
<set>Qt::AlignTop</set>
</property>
<property name="wordWrap" >
<bool>false</bool>
<property name="text" >
<string>New &amp;Personal Invitation...</string>
</property>
</widget>
</item>
<item row="6" column="2" >
<widget class="QPushButton" name="deleteOneButton" >
<property name="enabled" >
<bool>false</bool>
</property>
<item row="4" column="2" >
<widget class="QPushButton" name="newEmailInvitationButton" >
<property name="toolTip" >
<string>Delete the selected invitation</string>
<string>Send a new invitation via email...</string>
</property>
<property name="whatsThis" >
<string>Delete the selected invitation. The invited person will not be able to connect using this invitation anymore.</string>
<string>Click this button to send a new invitation via email.</string>
</property>
<property name="text" >
<string>&amp;Delete</string>
<string>&amp;New Email Invitation...</string>
</property>
</widget>
</item>
@@ -156,51 +163,19 @@
</property>
</widget>
</item>
<item row="4" column="2" >
<widget class="QPushButton" name="newEmailInvitationButton" >
<property name="toolTip" >
<string>Send a new invitation via email...</string>
</property>
<property name="whatsThis" >
<string>Click this button to send a new invitation via email.</string>
</property>
<property name="text" >
<string>&amp;New Email Invitation...</string>
</property>
</widget>
</item>
<item row="3" column="2" >
<widget class="QPushButton" name="newPersonalInvitationButton" >
<property name="toolTip" >
<string>Create a new personal invitation...</string>
</property>
<property name="whatsThis" >
<string>Click this button to create a new personal invitation.</string>
</property>
<property name="text" >
<string>New &amp;Personal Invitation...</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="2" >
<widget class="QLabel" name="helpLabel" >
<property name="text" >
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">KDE Desktop Sharing allows you to invite somebody at a remote location to watch and possibly control your desktop. &lt;a href="whatsthis">More about invitations...&lt;/a>&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="textFormat" >
<enum>Qt::RichText</enum>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
<property name="openExternalLinks" >
<item row="6" column="2" >
<widget class="QPushButton" name="deleteOneButton" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="textInteractionFlags" >
<enum>Qt::LinksAccessibleByMouse</enum>
<property name="toolTip" >
<string>Delete the selected invitation</string>
</property>
<property name="whatsThis" >
<string>Delete the selected invitation. The invited person will not be able to connect using this invitation anymore.</string>
</property>
<property name="text" >
<string>&amp;Delete</string>
</property>
</widget>
</item>
@@ -214,10 +189,6 @@ p, li { white-space: pre-wrap; }
<tabstop>deleteAllButton</tabstop>
<tabstop>deleteOneButton</tabstop>
</tabstops>
<includes>
<include location="global" >k3listview.h</include>
<include location="local" >k3listview.h</include>
</includes>
<resources/>
<connections/>
</ui>

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#include "manageinvitationsdialog.h"
#include "manageinvitationsdialog.moc"
@@ -19,14 +19,15 @@
#include <QToolTip>
#include <QCursor>
#include <QDateTime>
#include <QNetworkInterface>
#include <KStandardDirs>
#include <KStandardGuiItem>
#include <KIconLoader>
#include <KLocale>
#include <KGlobal>
#include <KConfigDialog>
#include <KMessageBox>
#include <KToolInvocation>
// settings dialog
#include "ui_configtcp.h"
@@ -55,12 +56,11 @@ ManageInvitationsDialog::ManageInvitationsDialog(QWidget *parent)
setCaption(i18n("Invitation"));
setButtons(User1|Close|Help);
setDefaultButton(NoDefault);
setModal(false);
QWidget *main = new QWidget(this);
setupUi(main);
setMainWidget( main );
pixmapLabel->setPixmap(KStandardDirs::locate("data", "krfb/pics/connection-side-image.png"));
setMinimumSize(500, 330);
setupUi(mainWidget());
pixmapLabel->setPixmap(KIcon("krfb").pixmap(128));
setButtonGuiItem( User1, KStandardGuiItem::configure() );
@@ -106,11 +106,52 @@ void ManageInvitationsDialog::inviteManually()
PersonalInviteDialog *pid = new PersonalInviteDialog(this);
pid->setPassword(inv.password());
pid->setExpiration(inv.expirationTime());
pid->exec();
pid->show();
}
void ManageInvitationsDialog::inviteByMail()
{
int r = KMessageBox::warningContinueCancel(this,
i18n("When sending an invitation by email, note that everybody who reads this email "
"will be able to connect to your computer for one hour, or until the first "
"successful connection took place, whichever comes first. \n"
"You should either encrypt the email or at least send it only in a "
"secure network, but not over the Internet."),
i18n("Send Invitation via Email"),
KStandardGuiItem::cont(),
KStandardGuiItem::cancel(),
"showEmailInvitationWarning");
if (r == KMessageBox::Cancel)
return;
QList<QNetworkInterface> ifl = QNetworkInterface::allInterfaces();
QString host;
int port = KrfbConfig::port();
foreach (QNetworkInterface nif, ifl) {
if (nif.flags() & QNetworkInterface::IsLoopBack) continue;
if (nif.flags() & QNetworkInterface::IsRunning) {
host = nif.addressEntries()[0].ip().toString();
}
}
Invitation inv = InvitationManager::self()->addInvitation();
KUrl invUrl(QString("vnc://invitation:%1@%2:%3").arg(inv.password()).arg(host).arg(port));
KToolInvocation::invokeMailer(QString(), QString(), QString(),
i18n("Desktop Sharing (VNC) invitation"),
ki18n("You have been invited to a VNC session. If you have the KDE Remote "
"Desktop Connection installed, just click on the link below.\n\n"
"%1\n\n"
"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.")
.subs(invUrl.url())
.subs(host)
.subs(QString::number(port))
.subs(inv.password())
.subs(KGlobal::locale()->formatDateTime(inv.expirationTime()))
.toString());
}
void ManageInvitationsDialog::reloadInvitations()
@@ -135,7 +176,7 @@ void ManageInvitationsDialog::showConfiguration()
KConfigDialog *dialog = new KConfigDialog(this, "settings", KrfbConfig::self());
dialog->addPage(new TCP, i18n("Network"), "network");
dialog->addPage(new Security, i18n("Security"), "encrypted");
dialog->addPage(new Security, i18n("Security"), "security-high");
connect(dialog, SIGNAL(settingsChanged(QString)),KrfbServer::self(),SLOT(updateSettings()));
dialog->show();
}
@@ -168,6 +209,11 @@ void ManageInvitationsDialog::deleteCurrent()
{
return;
}
// disable updates while deleting items, otherwise the list would invalidate itself
disconnect(InvitationManager::self(), SIGNAL(invitationNumChanged(int)),
this, SLOT(reloadInvitations()));
QList<QTreeWidgetItem *> itl = invitationWidget->selectedItems();
foreach(QTreeWidgetItem *itm, itl) {
foreach(Invitation inv, InvitationManager::self()->invitations()) {
@@ -177,6 +223,11 @@ void ManageInvitationsDialog::deleteCurrent()
}
}
// update it manually
reloadInvitations();
connect(InvitationManager::self(), SIGNAL(invitationNumChanged(int)),
SLOT(reloadInvitations()));
}
void ManageInvitationsDialog::selectionChanged()

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#ifndef MANAGEINVITATIONSDIALOG_H

View File

@@ -22,13 +22,12 @@
#include <QtGui/QLabel>
#include <QtGui/QToolTip>
#include <QNetworkInterface>
#include <kiconloader.h>
#include <klocale.h>
#include <KStandardDirs>
#include <QNetworkInterface>
#include "krfbconfig.h"
PersonalInviteDialog::PersonalInviteDialog( QWidget *parent )
: KDialog( parent )
@@ -38,16 +37,20 @@ PersonalInviteDialog::PersonalInviteDialog( QWidget *parent )
setDefaultButton(Close);
setModal(true);
setMinimumSize(500, 250);
int port = KrfbConfig::port();
m_inviteWidget = new QWidget ( this );
setupUi(m_inviteWidget);
pixmapLabel->setPixmap(KStandardDirs::locate("data", "krfb/pics/connection-side-image.png"));
pixmapLabel->setPixmap(KIcon("krfb").pixmap(128));
QList<QNetworkInterface> ifl = QNetworkInterface::allInterfaces();
foreach (QNetworkInterface nif, ifl) {
if (nif.flags() & QNetworkInterface::IsLoopBack) continue;
if (nif.flags() & QNetworkInterface::IsRunning) {
hostLabel->setText( QString( "%1:5900" ).arg(nif.addressEntries()[0].ip().toString()));
if (nif.flags() & QNetworkInterface::IsRunning && !nif.addressEntries().isEmpty()) {
hostLabel->setText( QString( "%1:%2" ).arg(nif.addressEntries().first().ip().toString()).arg(port));
}
}

View File

@@ -5,235 +5,198 @@
<rect>
<x>0</x>
<y>0</y>
<width>519</width>
<height>328</height>
<width>567</width>
<height>324</height>
</rect>
</property>
<property name="windowTitle" >
<string/>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item row="0" column="1" colspan="3" >
<widget class="QLabel" name="mainTextLabel" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy" >
<enum>Qt::NoFocus</enum>
</property>
<property name="text" >
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600;">Personal Invitation&lt;/span>&lt;/p>
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Give the information below to the person that you want to invite (&lt;a href="htc">how to connect&lt;/a>). Note that everybody who gets the password can connect, so be careful.&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>34</height>
</size>
</property>
</spacer>
</item>
<item rowspan="6" row="0" column="0" >
<layout class="QHBoxLayout" >
<item>
<widget class="QLabel" name="pixmapLabel" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>108</width>
<height>318</height>
<width>128</width>
<height>128</height>
</size>
</property>
<property name="maximumSize" >
<size>
<width>108</width>
<height>318</height>
</size>
</property>
<property name="frameShape" >
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow" >
<enum>QFrame::Plain</enum>
</property>
<property name="scaledContents" >
<bool>true</bool>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="5" column="2" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>30</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="2" >
<widget class="QLabel" name="hostLabel" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy" >
<enum>Qt::NoFocus</enum>
</property>
<property name="textInteractionFlags" >
<enum>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</enum>
</property>
</widget>
</item>
<item row="3" column="1" >
<widget class="QLabel" name="kActiveLabel6" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>&lt;b>Password:&lt;/b></string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="4" column="1" >
<widget class="QLabel" name="kActiveLabel7" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>&lt;b>Expiration time:&lt;/b></string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="2" >
<widget class="QLabel" name="passwordLabel" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy" >
<enum>Qt::NoFocus</enum>
</property>
<property name="textInteractionFlags" >
<enum>Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</enum>
</property>
</widget>
</item>
<item row="4" column="2" >
<widget class="QLabel" name="expirationLabel" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy" >
<enum>Qt::NoFocus</enum>
</property>
</widget>
</item>
<item row="2" column="1" >
<widget class="QLabel" name="kActiveLabel5" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>&lt;b>Host:&lt;/b></string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="3" >
<widget class="QLabel" name="hostHelpLabel" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
<item>
<layout class="QVBoxLayout" >
<item>
<widget class="QLabel" name="mainTextLabel" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="Expanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy" >
<enum>Qt::NoFocus</enum>
</property>
<property name="text" >
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-weight:600;">Personal Invitation&lt;/span>&lt;/p>
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Give the information below to the person that you want to invite (&lt;a href="htc">how to connect&lt;/a>). Note that everybody who gets the password can connect, so be careful.&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>21</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QGridLayout" >
<item row="0" column="0" >
<widget class="QLabel" name="kActiveLabel5" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>&lt;b>Host:&lt;/b></string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="1" >
<widget class="QLabel" name="hostLabel" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy" >
<enum>Qt::NoFocus</enum>
</property>
<property name="textInteractionFlags" >
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::NoTextInteraction|Qt::TextBrowserInteraction|Qt::TextEditable|Qt::TextEditorInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="0" column="2" >
<widget class="QLabel" name="hostHelpLabel" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;a href="help">Help&lt;/a>&lt;/p>&lt;/body>&lt;/html></string>
</property>
</widget>
</property>
</widget>
</item>
<item row="1" column="0" >
<widget class="QLabel" name="kActiveLabel6" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>&lt;b>Password:&lt;/b></string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="1" >
<widget class="QLabel" name="passwordLabel" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy" >
<enum>Qt::NoFocus</enum>
</property>
<property name="textInteractionFlags" >
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::NoTextInteraction|Qt::TextBrowserInteraction|Qt::TextEditable|Qt::TextEditorInteraction|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse</set>
</property>
</widget>
</item>
<item row="2" column="0" >
<widget class="QLabel" name="kActiveLabel7" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>&lt;b>Expiration time:&lt;/b></string>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="1" >
<widget class="QLabel" name="expirationLabel" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy" >
<enum>Qt::NoFocus</enum>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Expanding</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>65</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#include "qtframebuffer.h"

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#ifndef QTFRAMEBUFFER_H
@@ -21,7 +21,7 @@ class QtFrameBuffer : public FrameBuffer
{
Q_OBJECT
public:
QtFrameBuffer(WId id, QObject *parent = 0);
explicit QtFrameBuffer(WId id, QObject *parent = 0);
~QtFrameBuffer();

View File

@@ -29,11 +29,11 @@
#include "invitedialog.h"
TrayIcon::TrayIcon(KDialog *d) :
KSystemTrayIcon(d),
quitting(false)
TrayIcon::TrayIcon(KDialog *d)
: KSystemTrayIcon(d),
quitting(false)
{
setIcon(KIcon("eyes-closed24"));
setIcon(KIcon("krfb").pixmap(22, 22, KIcon::Disabled));
setToolTip(i18n("Desktop Sharing - disconnected"));
@@ -44,56 +44,62 @@ TrayIcon::TrayIcon(KDialog *d) :
// contextMenu()->addSeparator();
enableControlAction = new KToggleAction(i18n("Enable Remote Control"), actionCollection());
enableControlAction->setCheckedState(KGuiItem(i18n("Disable Remote Control")));
enableControlAction->setEnabled(false);
actionCollection()->addAction("enable_control", enableControlAction);
connect(enableControlAction, SIGNAL(toggled(bool)), SIGNAL(enableDesktopControl(bool)));
contextMenu()->addAction(actionCollection()->action("enable_control"));
enableControlAction = new KToggleAction(i18n("Enable Remote Control"), actionCollection());
enableControlAction->setCheckedState(KGuiItem(i18n("Disable Remote Control")));
enableControlAction->setEnabled(false);
actionCollection()->addAction("enable_control", enableControlAction);
connect(enableControlAction, SIGNAL(toggled(bool)), SIGNAL(enableDesktopControl(bool)));
contextMenu()->addAction(actionCollection()->action("enable_control"));
contextMenu()->addSeparator();
contextMenu()->addAction(KStandardAction::aboutApp(this, SLOT(showAbout()), actionCollection()));
show();
show();
}
TrayIcon::~TrayIcon(){
TrayIcon::~TrayIcon()
{
}
void TrayIcon::showAbout() {
void TrayIcon::showAbout()
{
KAboutApplicationDialog(KGlobal::mainComponent().aboutData()).exec();
}
void TrayIcon::prepareQuit() {
quitting = true;
void TrayIcon::prepareQuit()
{
quitting = true;
}
void TrayIcon::showConnectedMessage(const QString &host) {
void TrayIcon::showConnectedMessage(const QString &host)
{
setIcon(KIcon("eyes-open24"));
KPassivePopup::message(i18n("Desktop Sharing"),
i18n("The remote user has been authenticated and is now connected."),
KIcon("eyes-open24").pixmap(22),
this);
setToolTip(i18n("Desktop Sharing - connected with %1", host));
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() {
if (quitting)
return;
void TrayIcon::showDisconnectedMessage()
{
if (quitting)
return;
setToolTip(i18n("Desktop Sharing - disconnected"));
setIcon(KIcon("eyes-closed24"));
KPassivePopup *p = KPassivePopup::message(i18n("Desktop Sharing"),
i18n("The remote user has closed the connection."),
KIcon("eyes-closed24").pixmap(22),
this);
connect(p, SIGNAL(hidden()), this, SIGNAL(diconnectedMessageDisplayed()));
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) {
enableControlAction->setEnabled(true);
enableControlAction->setChecked(b);
void TrayIcon::setDesktopControlSetting(bool b)
{
enableControlAction->setEnabled(true);
enableControlAction->setChecked(b);
}
void TrayIcon::showManageInvitations()

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#include "x11framebuffer.h"
@@ -17,6 +17,7 @@
#include <QDesktopWidget>
#include <KApplication>
#include <KDebug>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
@@ -54,7 +55,7 @@ X11FrameBuffer::X11FrameBuffer(WId id, QObject* parent)
{
#ifdef HAVE_XSHM
d->useShm = XShmQueryExtension(QX11Info::display());
kDebug() << "shm: " << d->useShm << endl;
kDebug() << "shm: " << d->useShm;
#else
d->useShm = false;
#endif
@@ -193,24 +194,24 @@ void X11FrameBuffer::cleanupRects() {
QList<QRect> cpy = tiles;
bool inserted = false;
tiles.clear();
// kDebug() << "before cleanup: " << cpy.size() << endl;
// kDebug() << "before cleanup: " << cpy.size();
foreach (QRect r, cpy) {
if (tiles.size() > 0) {
for(int i = 0; i < tiles.size(); i++) {
// kDebug() << r << tiles[i] << endl;
// kDebug() << r << tiles[i];
if (r.intersects(tiles[i])) {
tiles[i] |= r;
inserted = true;
break;
// kDebug() << "merged into " << tiles[i] << endl;
// kDebug() << "merged into " << tiles[i];
}
}
if (!inserted) {
tiles.append(r);
// kDebug() << "appended " << r << endl;
// kDebug() << "appended " << r;
}
} else {
// kDebug() << "appended " << r << endl;
// kDebug() << "appended " << r;
tiles.append(r);
}
}
@@ -229,7 +230,7 @@ void X11FrameBuffer::cleanupRects() {
tiles[i].setRight(d->framebufferImage->width);
}
}
// kDebug() << "after cleanup: " << tiles.size() << endl;
// kDebug() << "after cleanup: " << tiles.size();
}
void X11FrameBuffer::acquireEvents() {
@@ -254,7 +255,7 @@ QList< QRect > X11FrameBuffer::modifiedTiles()
#ifdef HAVE_XSHM
foreach(QRect r, tiles) {
// kDebug() << r << endl;
// kDebug() << r;
gl |= r;
int y = r.y();
int x = r.x();
@@ -266,7 +267,7 @@ QList< QRect > X11FrameBuffer::modifiedTiles()
if (x+d->updateTile->width > d->framebufferImage->width) {
x = d->framebufferImage->width - d->updateTile->width;
}
// kDebug() << "x: " << x << " (" << r.x() << ") y: " << y << " (" << r.y() << ") " << r << endl;
// kDebug() << "x: " << x << " (" << r.x() << ") y: " << y << " (" << r.y() << ") " << r;
XShmGetImage(QX11Info::display(), win, d->updateTile, x, y, AllPlanes);
int pxsize = d->framebufferImage->bits_per_pixel / 8;
char *dest = fb + ((d->framebufferImage->bytes_per_line * y) + (x*pxsize));
@@ -300,8 +301,8 @@ QList< QRect > X11FrameBuffer::modifiedTiles()
}
}
}
// kDebug() << "tot: " << gl << endl;
// kDebug() << tiles.size() << endl;
// kDebug() << "tot: " << gl;
// kDebug() << tiles.size();
ret = tiles;
tiles.clear();
return ret;

View File

@@ -3,8 +3,8 @@
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; version 2
of the License.
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
*/
#ifndef X11FRAMEBUFFER_H
#define X11FRAMEBUFFER_H