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

Compare commits

...

147 Commits

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

svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=1000051
2009-07-20 18:47:02 +00:00
Script Kiddy
2336fa0c8f SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/4.3/kdenetwork/krfb/; revision=988518
2009-06-28 07:59:29 +00:00
Script Kiddy
3918e4304a SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=975962
2009-05-31 14:22:58 +00:00
Script Kiddy
b90e9eaf98 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=973183
2009-05-26 14:20:33 +00:00
Script Kiddy
b663ca9294 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=966634
2009-05-11 17:14:07 +00:00
Script Kiddy
b1101ff3cb SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=957599
2009-04-22 15:13:49 +00:00
Christoph Feck
4933c61d2a SVN_SILENT Cleanup .ui files
This removes (as discussed on k-c-d)
* obsolete <pixmapfunction>
* deprecated <layoutdefault>
* empty <author>, <comment>, <exportmacro>


svn path=/trunk/KDE/kdenetwork/krfb/; revision=957382
2009-04-21 21:59:58 +00:00
Script Kiddy
5f91e53004 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=955786
2009-04-18 14:40:58 +00:00
Laurent Montel
e99a257a41 Fix crash when interface return empty list
svn path=/trunk/KDE/kdenetwork/krfb/; revision=940747
2009-03-18 08:34:42 +00:00
George Kiagiadakis
383e6cef4c Add an option to hide the invitations management dialog at startup.
Some advanced users may not like r877454.
BUG: 187143

svn path=/trunk/KDE/kdenetwork/krfb/; revision=939310
2009-03-14 16:03:50 +00:00
Laurent Montel
03b494aa1a not necessary
svn path=/trunk/KDE/kdenetwork/krfb/; revision=938584
2009-03-12 12:24:54 +00:00
Andrew Coles
04e5768db5 Proof-reading.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=936908
2009-03-08 16:27:30 +00:00
Script Kiddy
173a43f3d2 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=936845
2009-03-08 14:42:17 +00:00
Script Kiddy
366c99e7ec SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=935174
2009-03-04 15:52:01 +00:00
Script Kiddy
c540fa79a7 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=917794
2009-01-28 15:07:38 +00:00
Nick Shaforostoff
42d395da7d add fine-grained categories in (compliance with xdg menu spec)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=915866
2009-01-24 01:00:48 +00:00
Script Kiddy
44a3596ade SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=903845
2008-12-31 14:36:39 +00:00
Allen Winter
a7517c6444 add nice logging messages for missing X11 XTest
svn path=/trunk/KDE/kdenetwork/krfb/; revision=897377
2008-12-15 21:58:23 +00:00
Script Kiddy
be2e9e1671 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=895335
2008-12-10 13:49:18 +00:00
Script Kiddy
9879f90714 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=893869
2008-12-07 13:52:21 +00:00
Script Kiddy
199514dcb0 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=883252
2008-11-12 13:45:49 +00:00
George Kiagiadakis
b874281010 Show the ManageInvitationsDialog on startup, so that users are not confused
by the absence of a main window.
BUG: 167953


svn path=/trunk/KDE/kdenetwork/krfb/; revision=877454
2008-10-29 15:29:15 +00:00
George Kiagiadakis
7216c5e59c Integrate the rfb event system with qt's event loop instead of running a custom event loop in KrfbServer.
This fixes the major problem that modal dialogs were closing immediately after they were shown,
which caused huge usability issues.
BUG: 167955


svn path=/trunk/KDE/kdenetwork/krfb/; revision=877254
2008-10-28 23:58:35 +00:00
Script Kiddy
e3a3993b96 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=874351
2008-10-21 11:50:21 +00:00
Script Kiddy
de016de12d SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=871263
2008-10-14 11:16:22 +00:00
Laurent Montel
55a40ee55a Fix mem leak
svn path=/trunk/KDE/kdenetwork/krfb/; revision=843076
2008-08-06 11:41:57 +00:00
Script Kiddy
5ff4f3d0f9 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=843051
2008-08-06 11:16:39 +00:00
Script Kiddy
b84107555e SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=839177
2008-07-29 13:28:13 +00:00
Jakub Stachowski
dc2c6f0db7 Remove SLP bits from buildsystem. Code itself was removed long ago anyway.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=826942
2008-07-01 20:45:46 +00:00
Laurent Montel
c7fda197fd Translate
svn path=/trunk/KDE/kdenetwork/krfb/; revision=822166
2008-06-19 11:31:52 +00:00
Script Kiddy
9e372bc6b5 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=817871
2008-06-06 21:50:23 +00:00
Script Kiddy
b3be22f5aa SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=817023
2008-06-05 02:26:24 +00:00
Script Kiddy
e76e391c4f SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=815784
2008-06-02 15:16:19 +00:00
Script Kiddy
1eb1b7a053 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=814787
2008-05-31 09:43:22 +00:00
Laurent Montel
32769b41e5 Use INSTALL_TARGETS_DEFAULT_ARGS
svn path=/trunk/KDE/kdenetwork/krfb/; revision=813293
2008-05-27 11:14:39 +00:00
Script Kiddy
d551495469 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=808732
2008-05-17 12:48:23 +00:00
Script Kiddy
0e39f8c09e SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=803891
2008-05-04 12:28:40 +00:00
Friedrich W. H. Kossebau
9befaf6f6a removed unnessecary explicit setting of the application icon
svn path=/trunk/KDE/kdenetwork/krfb/; revision=799270
2008-04-20 22:50:58 +00:00
Script Kiddy
e5326e218f SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=788508
2008-03-21 17:48:42 +00:00
Script Kiddy
fe5e724bd1 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=784312
2008-03-10 22:15:23 +00:00
Urs Wolfer
74fe120ea8 Fix typo. Patch by crazy.
BUG:155173

svn path=/trunk/KDE/kdenetwork/krfb/; revision=783749
2008-03-09 14:11:27 +00:00
Script Kiddy
80d794873c SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=780677
2008-02-29 19:02:40 +00:00
Script Kiddy
bef509ac05 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=779685
2008-02-26 19:55:06 +00:00
Script Kiddy
b17a0b5815 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=774942
2008-02-14 13:05:43 +00:00
Script Kiddy
2709312471 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=774170
2008-02-12 16:55:33 +00:00
Albert Astals Cid
a6f727d990 microoptimization
const & in foreach

svn path=/trunk/KDE/kdenetwork/krfb/; revision=772847
2008-02-09 15:56:10 +00:00
Script Kiddy
d641dc702b SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=771196
2008-02-05 13:33:12 +00:00
Script Kiddy
ad824b9b80 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=767678
2008-01-28 14:23:45 +00:00
Script Kiddy
35d083a674 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=765168
2008-01-23 11:39:45 +00:00
Script Kiddy
d571aaf062 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=764654
2008-01-22 10:07:15 +00:00
Urs Wolfer
af216dabe1 * fix help buttons
* fix some strings
* do not set the main dialog modal; that will cause trouble for example with about and quit dialog sometimes

svn path=/trunk/KDE/kdenetwork/krfb/; revision=762755
2008-01-17 20:17:01 +00:00
Laurent Montel
ce4d5c60ee Fix help button
svn path=/trunk/KDE/kdenetwork/krfb/; revision=760517
2008-01-12 21:14:03 +00:00
Script Kiddy
5a04b9ef09 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=760329
2008-01-12 12:20:38 +00:00
Script Kiddy
073257304d SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=758824
2008-01-09 10:39:07 +00:00
Urs Wolfer
01eab2a02f Krazy fixes
svn path=/trunk/KDE/kdenetwork/krfb/; revision=758702
2008-01-08 21:14:52 +00:00
Urs Wolfer
b77d07c08d this should work again...(old one did not anymore)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=757767
2008-01-05 21:14:07 +00:00
Urs Wolfer
0fb20dfff0 Fix: Make quit working when krfb has been started from menu
Fix icons.
Patch by crazy.

svn path=/trunk/KDE/kdenetwork/krfb/; revision=757206
2008-01-04 13:14:35 +00:00
Script Kiddy
a9ff5ffc8b SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=757117
2008-01-04 08:42:10 +00:00
Script Kiddy
d30bdd7404 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=756425
2008-01-03 08:35:06 +00:00
Script Kiddy
9cafe806a4 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=755853
2008-01-02 08:28:53 +00:00
Jakob Petsovits
6fdad54a7a Icon naming spec compliance (code changes - KDE/):
network -> network-workgroup, or whatever fits best.
Plus some other icon name fixes.

svn path=/trunk/KDE/kdenetwork/krfb/; revision=754310
2007-12-29 14:44:22 +00:00
Script Kiddy
0432b60d4f SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=754157
2007-12-29 08:22:18 +00:00
Script Kiddy
9beb3ac122 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=752704
2007-12-25 08:11:26 +00:00
Script Kiddy
aad4a17674 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=751147
2007-12-21 07:56:46 +00:00
Script Kiddy
78fd984dd8 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=750406
2007-12-19 08:09:37 +00:00
Script Kiddy
77dfcd28d8 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=747948
2007-12-13 08:04:25 +00:00
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
56 changed files with 2271 additions and 1122 deletions

1
.krazy Normal file
View File

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

View File

@@ -6,6 +6,12 @@ macro_bool_to_01(X11_XShm_FOUND HAVE_XSHM)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config-krfb.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-krfb.h )
include_directories(${CMAKE_CURRENT_BINARY_DIR}) # for config-krfb.h
if(Q_WS_X11)
if(NOT X11_XTest_FOUND)
macro_log_feature(X11_XTest_FOUND "libXtst" "X11 Testing Resource extension library" "http://xorg.freedesktop.org" FALSE "" "useful for automated testing of X clients.")
endif(NOT X11_XTest_FOUND)
endif(Q_WS_X11)
#add_subdirectory(kinetd)
#add_subdirectory(kcm_krfb)
if (HAVE_LIBVNCSERVER)
@@ -27,8 +33,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 +45,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} ${LIBVNCSERVER_LIBRARIES} ${X11_Xext_LIB} ${X11_X11_LIB} ${X11_Xdamage_LIB} ${QT_QTNETWORK_LIBRARY} ${KDE4_KDNSSD_LIBS} ${KDE4_KDEUI_LIBS})
if(X11_XTest_FOUND)
target_link_libraries(krfb ${X11_XTest_LIB})
endif(X11_XTest_FOUND)
install(TARGETS krfb DESTINATION ${BIN_INSTALL_DIR})
install(TARGETS krfb ${INSTALL_TARGETS_DEFAULT_ARGS})
########### 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,18 +103,11 @@ 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",
i18n("Attepted uninvited connection from %1: connection refused",
i18n("Refused uninvited connection attempt from %1",
remoteIp));
return RFB_CLIENT_REFUSE;
}
@@ -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);
@@ -137,8 +154,8 @@ bool ConnectionController::handleCheckPassword(rfbClientPtr cl, const char *resp
if (!authd) {
QList<Invitation> invlist = InvitationManager::self()->invitations();
foreach(Invitation it, invlist) {
kDebug() << "checking password" << endl;
foreach(const Invitation &it, invlist) {
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,180 +5,145 @@
<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>
<layoutdefault spacing="6" margin="11" />
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<resources/>
<resources/>
<connections/>
</ui>

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>
@@ -34,13 +33,15 @@ InviteDialog::InviteDialog( QWidget *parent )
{
setCaption(i18n("Invitation"));
setButtons(User1|Close|Help);
setHelp(QString(), "krfb");
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,196 +5,167 @@
<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>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></string>
</property>
<property name="textFormat" >
<enum>Qt::RichText</enum>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
<property name="textInteractionFlags" >
<set>Qt::LinksAccessibleByKeyboard|Qt::LinksAccessibleByMouse|Qt::NoTextInteraction</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>
<layoutdefault spacing="6" margin="11" />
<layoutfunction spacing="KDialog::spacingHint" margin="KDialog::marginHint" />
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<resources/>
<resources/>
<connections/>
</ui>

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

@@ -495,7 +495,6 @@ Most VNC clients use a display number instead of the actual port. This display n
<tabstop>passwordInput</tabstop>
<tabstop>portInput</tabstop>
</tabstops>
<layoutdefaults spacing="6" margin="11"/>
<customwidgets>
<customwidget>
<class>KIntNumInput</class>

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,74 +1,85 @@
[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[bn]=ডেস্কটপ ভাগাভাগি
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
Name[eu]=Mahaigaina partekatzea
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[hi]=डेस्कटॉप साझेदारी
Name[hne]=डेस्कटाप साझेदारी
Name[hr]=Dijeljenje radne površine
Name[hu]=Munkaasztal-megosztás
Name[is]=Skjáborðamiðlun
Name[it]=Condivisione Desktop
Name[it]=Condivisione desktop
Name[ja]=デスクトップ共有
Name[kk]=Үстелді ортақтастыру
Name[km]=ការ​ចែក​រំលែក​ផ្ទៃ​តុ
Name[ko]=데스크톱 공유
Name[lt]=Dalinimasis darbastaliu
Name[lv]=Darbvirsmas koplietošana
Name[mk]=Делење на работната површина
Name[ml]=പണിയിടം പങ്കുവെക്കല്‍
Name[ms]=Perkongsian Ruang Kerja
Name[nb]=Delte skrivebord
Name[nds]=Schriefdisch-Freegaav
Name[ne]=डेस्कटप साझेदारी
Name[nl]=Bureaublad delen
Name[nn]=Skrivebordsdeling
Name[pa]=ਡੈਸਕਟਾਪ ਸ਼ੇਅਰਿੰਗ
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[ro]=Partajare birou
Name[ru]=Общий рабочий стол
Name[se]=Čállinbeavdejuohkkin
Name[sk]=Zdieľanie pracovnej plochy
Name[sl]=Deljenje namizja
Name[sr]=Дељење радне површине
Name[sr@Latn]=Deljenje radne površine
Name[sr]=Дељење површи
Name[sr@latin]=Deljenje površi
Name[sv]=Dela ut skrivbordet
Name[ta]=பணிமேடை பகிர்வு
Name[tg]=Истифодабарии муштараки Мизи корӣ
Name[tr]=Masaüstü Paylaşımı
Name[uk]=Спільні стільниці
Name[x-test]=xxDesktop Sharingxx
Name[vi]=Chia sẻ màn hình nền
Name[xh]=Ukwehlulelana kwe Desktop
Name[x-test]=xxDesktop Sharingxx
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[bn]=ডেস্কটপ ভাগাভাগি কনফিগার করুন
Comment[br]=Kefluniañ rannañ ar vurev
Comment[ca]=Lupa de l'escriptori
Comment[cs]=Nastavit sdílení pracovní plochy
@@ -76,89 +87,100 @@ 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
Comment[eu]=Konfiguratu mahaigaina partekatzea
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[hi]=डेस्कटॉप साझेदारी कॉन्फ़िगर करें
Comment[hne]=डेस्कटाप साझेदारी कान्फिगर करव
Comment[hr]=Podešavanje dijeljenja radne površine
Comment[hu]=A munkaasztal-megosztás beállításai
Comment[is]=Stilla skjáborðsmiðlun
Comment[is]=Stilla skjáborðamiðlun
Comment[it]=Configura condivisione desktop
Comment[ja]=デスクトップ共有の設定
Comment[kk]=Үстелді ортақтастыруды баптау
Comment[km]=កំណត់​រចនា​សម្ព័ន្ធ​ការ​ចែក​រំលែក​ផ្ទៃ​តុ
Comment[lt]=Derinti dalinimąsi darbastaliu
Comment[ko]=데스크톱 공유 설정
Comment[lt]=Konfigūruoti dalinimąsi darbastaliu
Comment[lv]=Konfigurē darbvirsmas koplietošanu
Comment[mk]=Конфигурирајте делење на површината
Comment[ml]=പണിയിടം പങ്കുവെക്കല്‍ ക്രമീകരിക്കാം
Comment[ms]= Selaraskan Perkongsian Desktop
Comment[nb]=Tilpass delte skrivebord
Comment[nds]=Schriefdisch-Freegaav instellen
Comment[ne]=डेस्कटप साझेदारी कन्फिगर गर्नुहोस्
Comment[nl]=Bureaublad delen instellen
Comment[nn]=Set opp skrivebordsdeling
Comment[pa]=ਡੈਸਕਟਾਪ ਸ਼ੇਅਰਿੰਗ ਸੰਰਚਨਾ
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[ro]=Configurează partajarea biroului
Comment[ru]=Параметры общего рабочего стола
Comment[se]=Heivet čállinbeavdejuohkkima
Comment[sk]=Nastavenie zdieľania pracovnej plochy
Comment[sl]=Nastavi deljenje namizja
Comment[sr]=Подешавање дељења радне површине
Comment[sr@Latn]=Podešavanje deljenja radne površine
Comment[sr]=Подешавање дељења површи
Comment[sr@latin]=Podešavanje deljenja površi
Comment[sv]=Anpassa utdelning av skrivbord
Comment[ta]=பணிமேடை பகிர்வை உள்ளமை
Comment[tg]=Батанзимдарории Истифодабарии муштараки Мизи корӣ
Comment[tr]=Masaüstü Paylaşımını Yapılandır
Comment[uk]=Налаштувати спільні стільниці
Comment[x-test]=xxConfigure Desktop Sharingxx
Comment[vi]=Cấu hình chia sẻ màn hình nền
Comment[xh]=Qwalasela Ukusebenzisa ngokuhlangeneyo kwe Desktop
Comment[x-test]=xxConfigure Desktop Sharingxx
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,17 +1,16 @@
[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[ar]=كيدي إنترنت مراقب
Name[bg]=Интернет демон
Name[bn]=কে-ডি-ই ইন্টারনেট ডিমন
Name[br]=Diaoul kenrouedad KDE
Name[ca]=Dimoni d'Internet per al KDE
Name[cs]=KDE Internet démon
@@ -19,66 +18,81 @@ Name[cy]=Daemon Rhyngrwyd KDE
Name[da]=KDE Internet-dæmon
Name[de]=Internet-Dienst
Name[el]=Δαίμονας διαδικτύου για το KDE
Name[eo]=Retodemono
Name[en_GB]=KDE Internet Dæmon
Name[eo]=KDE interreta demono
Name[es]=Demonio de Internet de KDE
Name[et]=KDE internetideemon
Name[eu]=KDE internet deabrua
Name[eu]=KDE interneteko daemona
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[hi]=केडीई इंटरनेट डेमन
Name[hne]=केडीई इंटरनेट डेमन
Name[hu]=KDE internetes szolgáltatás
Name[is]=KDE Internetþjónn
Name[it]=Demone internet di KDE
Name[ja]=KDE インターネットデーモン
Name[kk]=KDE Интернет қызметі
Name[km]=ដេមិន​អ៊ីនធឺណិត​របស់ KDE
Name[ko]=KDE 인터넷 데몬
Name[lt]=KDE interneto tarnyba
Name[lv]=KDE Interneta dēmons
Name[mk]=Даемон за Интернет на KDE
Name[ml]=കെഡിഈ ഇന്റര്‍നെറ്റ് സഹായി
Name[ms]=Daemon Internet KDE
Name[nb]=KDEs Internett-nisse
Name[nds]=KDE-Internetdämoon
Name[ne]=केडीई इन्टरनेट डेइमन
Name[nn]=KDE-Internett-nisse
Name[ne]=केडीई इन्टरनेट डेइम
Name[nn]=KDE-Internett-teneste
Name[pa]=KDE ਇੰਟਰਨੈੱਟ ਡੈਮਨ
Name[pl]=Internet/sieć
Name[pt]=Servidor de Internet do KDE
Name[pt_BR]=Servidor Internet do KDE
Name[ro]=Demon internet KDE
Name[ro]=Demon de Internet KDE
Name[ru]=Доступ к Интернету
Name[se]=KDE-Interneahtta-duogášprográmma
Name[sk]=KDE Internet démon
Name[sl]=Internetni strežnik za KDE
Name[sr]=KDE-ов интернет демон
Name[sr@Latn]=KDE-ov internet demon
Name[sr]=КДЕ‑ов интернет демон
Name[sr@latin]=KDEov internet demon
Name[sv]=KDE:s Internetdemon
Name[ta]=கேடிஇ இணைய டேமொன்
Name[tg]=KDE Азозили Интернет
Name[tr]=KDE İnternet Programı
Name[uk]=Демон Інтернет KDE
Name[uz]=KDE Интернет демони
Name[uk]=Фонова служба Інтернет KDE
Name[uz]=KDE Internet demoni
Name[uz@cyrillic]=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[ar]=رقيب الإنترنت بدأ خدمة الشبكة على الرقيب
Comment[bg]=Интернет демон, който служи за стартиране на мрежови услуги при поискване
Comment[bn]=একটি ইন্টারনেট ডিমন যে চাহিদা ভিত্তিক নেটওয়ার্ক সার্ভিস আরম্ভ করে
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í
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[en_GB]=An Internet dæmon that starts network services on demand
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
Comment[eu]=Sare zerbitzuak eskatzean abiarazten dituen Interneteko daemona
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[ga]=Deamhan Idirlín a thosaíonn seirbhísí líonra ar éileamh
Comment[gl]=Un daemon de Internet que comenza servizos de rede baixo demanda
Comment[he]=תהליך רקע של אינטרנט שמתחיל שירותי רשת לפי דרישה
Comment[hi]=एक इंटरनेट डेमन जो मांग पर नेटवर्क सेवा प्रारंभ करता है
Comment[hne]=एक इंटरनेट डेमन जऊन मांग मं नेटवर्क सेवा चालू करथे
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
Comment[is]=Internetþjónn sem ræsir tengingar við Internetið eftir þörfum
@@ -86,30 +100,38 @@ 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[lv]=Interneta dēmons pēc vajadzības palaiž tīkla servisus
Comment[mk]=Даемон за Интернет кој ги вклучува мрежните сервиси на барање
Comment[ml]=ആവശ്യ‌പ്പെടുമ്പോള്‍ ശൃംഖലാസേവനം തുടങ്ങുന്ന ഒരു ഇന്റര്‍നെറ്റ് സഹായി
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[nn]=Internett-teneste som startar nettverkstenester når dei trengst
Comment[pa]=ਇੱਕ ਇੰਟਰਨੈੱਟ ਡੈਮਨ, ਜੋ ਕਿ ਲੋੜ ਪੈਣ ਉੱਤੇ ਨੈੱਟਵਰਕ ਸਰਵਿਸਾਂ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ।
Comment[pl]=Uruchamianie usług na żądanie
Comment[pt]=Um servidor da Internet que inicia os serviços de rede a pedido
Comment[pt_BR]=Um servidor Internet que inicia os serviços de rede por demanda
Comment[ro]=Un demon de internet care porneşte serviciile de reţea la cerere
Comment[ro]=Un demon de Internet ce pornește serviciile de rețea la cerere
Comment[ru]=Служба установления подключения при запросе сетевых ресурсов
Comment[se]=Interneahtta-duogášprográmma mii álggaha fierpmádatbálvalusaid go dárbbašuvvo
Comment[sk]=Internetový démon ktorý spúšťa sieťové služby na požiadanie
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[x-test]=xxAn Internet daemon that starts network services on demandxx
Comment[uk]=Фонова служба Інтернет, що запускає служби мережі при запиті
Comment[uz]=Talab qilinganda tarmoq xizmatlarini ishga tushuruvchi Internet demoni
Comment[uz@cyrillic]=Талаб қилинганда тармоқ хизматларини ишга тушурувчи Интернет демони
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[xh]=Internet daemon eqala iinkonzo zomsebenzi wonatha xa zifunwa
Comment[x-test]=xxAn Internet daemon that starts network services on demandxx
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,233 @@
[Global]
IconName=kinetd
Comment=KInetD
Comment[bn]=কে-আইনেট-ডি
Comment[hi]=के-इनिट-डी
Comment[hne]=के-इनिट-डी
Comment[ml]=കെഐനെറ്റ്ഡി
Comment[sr]=КинетД
Comment[sv]=Kinetd
Comment[x-test]=xxKInetDxx
[Event/IncomingConnection]
Name=IncomingConnection
Name[ar]=اتصال وارد
Name[bn]=অন্তর্মুখী সংযোগ
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[es]=Conexión entrante
Name[et]=Sissetulev ühendus
Name[eu]=Sarrerako konexioa
Name[fi]=Saapuva yhteys
Name[fr]=Connexion entrante
Name[ga]=Ceangal Isteach
Name[gl]=Conexón entrante
Name[he]=חיבור נכנס
Name[hi]=आवक-कनेक्शन
Name[hne]=आवक-कनेक्सन
Name[hr]=DolaznaVeza
Name[hu]=Bejövő kapcsolat
Name[it]=Connessioni in entrata
Name[ja]=外部からの接続
Name[km]=ការ​តភ្ជាប់​ចូល
Name[lt]=Gautas kvietimas ryšiui
Name[lv]=IenākošaisSavienojums
Name[mk]=Дојдовно поврзување
Name[ml]=ആഗമനബന്ധം
Name[ms]=Sambungan Masuk
Name[nb]=Innkommende tilkobling
Name[nds]=RinkamenVerbinnen
Name[nl]=Inkomende_verbinding
Name[nn]=Innkommande tilkopling
Name[pa]=ਆ ਰਹੇ ਕੁਨੈਕਸ਼ਨ
Name[pl]=Połączenia przychodzące
Name[pt_BR]=Conexões de Entrada
Name[ro]=ConexiuneDeIntrare
Name[ru]=Входящее соединение
Name[sk]=Prichádzajúce spojenia
Name[sl]=Prihajajoča povezava
Name[sr]=Долазна веза
Name[sr@latin]=Dolazna veza
Name[sv]=Inkommande anslutning
Name[ta]=உள்வரும் இணைப்புகள்
Name[tg]=Пайвастшавии Воридшаванда
Name[tr]=Gelen Bağlantı
Name[xh]=Uxhumaniso Olungenayo
Name[x-test]=xxIncomingConnectionxx
Name[zh_CN]=进入的连接
Name[zh_HK]=進入連線
Name[zh_TW]=進來的連線
Comment=Received incoming connection
Comment[el]=Λήψη εισερχόμενης σύνδεσης
Comment[af]=Ontvang inkomende verbinding
Comment[ar]=تلقي اتصال وارد
Comment[bn]=অন্তর্মুখী সংযোগ গ্রহণ করল
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[es]=Recibida conexión entrante
Comment[et]=Saadi sissetulev ühendus
Comment[eu]=Sarrerako konexio bat jaso da
Comment[fi]=Vastaanotettiin saapuva yhteys
Comment[fr]=Reçu une connexion entrante
Comment[ga]=Fuarthas ceangal isteach
Comment[gl]=Recebeuse unha conexón entrante
Comment[he]=נתקבל חיבור נכנס
Comment[hi]=आवक कनेक्शन प्राप्त
Comment[hne]=आवक कनेक्सन प्राप्त
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[lv]=Saņemts ienākošs savienojums
Comment[mk]=Примено е дојдовно поврзување
Comment[ml]=ആഗമനബന്ധം ലഭിച്ചു
Comment[ms]=Menerima sambungan masuk
Comment[nb]=Mottok innkommende tilkobling
Comment[nds]=Tokoppelanfraag kregen
Comment[nl]=Inkomende verbinding ontvangen
Comment[nn]=Fekk ei innkommande tilkopling
Comment[pa]=ਮਿਲੇ ਆ ਰਹੇ ਕੁਨੈਕਸ਼ਨ
Comment[pl]=Otrzymano połączenie 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[sk]=Prijaté príchodzie spojenia
Comment[sl]=Prejeta je prihajajoča povezava
Comment[sr]=Примљена је долазна веза
Comment[sr@latin]=Primljena je dolazna veza
Comment[sv]=Tar emot inkommande anslutning
Comment[tg]=Пайвастшавии воридшаванда қабул гардид
Comment[tr]=Gelen bağlantı alınıyor
Comment[uk]=Отримано вхідне з’єднання
Comment[xh]=Uxhulumano olungenayo olufunyenweyo
Comment[x-test]=xxReceived incoming connectionxx
Comment[zh_CN]=收到进入的连接
Comment[zh_HK]=已接收的進入連線
Comment[zh_TW]=接收到進來的連線
Action=None
[Event/ProcessFailed]
Name=ProcessFailed
Name[el]=Η επεξεργασία απέτυχε
Name[ar]=فشلت العملية
Name[bn]=প্রসেস ব্যর্থ
Name[ca]=Procés erroni
Name[cs]=Proces selhal
Name[cy]=MethoddProses
Name[da]=ProcesMislykkedes
Name[de]=Prozess fehlgeschlagen
Name[el]=Η διεργασία απέτυχε
Name[eo]=Procezo fiaskis
Name[es]=Proceso fallido
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[gl]=Fallou o proceso
Name[he]=תהליך נכשל
Name[hi]=प्रक्रिया-असफल
Name[hne]=काम-फेल
Name[hr]=ProcesNeuspješan
Name[hu]=Hibás folyamat
Name[it]=Processo fallito
Name[ja]=プロセス失敗
Name[km]=ដំណើរ​ការ​បាន​បរាជ័យ
Name[lt]=Procesas nepavyko
Name[lv]=ProcessNeveiksmīgs
Name[mk]=Процесот не успеа
Name[ml]=പ്രക്രിയ പരാജയപ്പെട്ടു
Name[ms]=Proses Gagal
Name[nb]=Prosessen mislyktes
Name[nds]=PerzessFehlslaan
Name[nl]=Proces_mislukt
Name[nn]=Prosessen feila
Name[pa]=ਪਰੋਸੈਸ ਫੇਲ੍ਹ
Name[pl]=Błąd procesu
Name[pt_BR]=Falha de Processo
Name[ro]=ProcesEșuat
Name[ru]=Ошибка процесса
Name[sk]=Proces neúspešny
Name[sl]=Proces ni uspel
Name[sr]=Процес није успео
Name[sr@latin]=Proces nije uspeo
Name[sv]=Process misslyckades
Name[ta]=செயல் தோல்வியுற்றது
Name[tg]=Ҷараён бо Нокомӣ анҷомид
Name[tr]=Başarısız İşlemler
Name[xh]=Inkqubo Yahlulekile
Name[x-test]=xxProcessFailedxx
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[ar]= لا يمكن نداء الإجراء إلى مؤشر الاتصال
Comment[bn]=সংযোগ পরিচালনা করতে প্রসেস শুরু করতে পারল না
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[es]=No se puede llamar un proceso para manejar la conexión
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[ga]=Níorbh fhéidir próiseas a thosú chun an ceangal a láimhseáil
Comment[gl]=Non foi posíbel chamar ao proceso que xestiona a conexón
Comment[he]=אין אפשרות לקרוא לתהליך על מנת לטפל בחיבור
Comment[hi]=कनेक्शन हैंडल करने के लिए प्रक्रिया काल नहीं कर सका
Comment[hne]=कनेक्सन हेंडल करे बर काम काल नइ कर सकिस
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 apdoroti prisijungimui
Comment[lv]=Neizdevās izsaukt procesu savienojuma apstrādei
Comment[mk]=Не може да се повика процесот за ракување со поврзувањето
Comment[ml]=ബന്ധം കൈകാര്യം ചെയ്യാന്‍ പ്രക്രിയയെ വിളിക്കാന്‍ കഴിഞ്ഞില്ല
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[nn]=Klarte ikkje kalla på prosessen som skulle handtera tilkoplinga
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[ro]=Procesul ce manipulează conexiunea nu a putut fi apelat
Comment[ru]=Не удаётся запустить процесс обработки соединения
Comment[sk]=Nemohol som zavolať proces pre spracovanie spojenia
Comment[sl]=Ni možno poklicati procesa za upravljanje s povezavo
Comment[sr]=Нисам могао да позовем процес да опслужи везу
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[uk]=Не вдалося викликати процес для з’єднання
Comment[xh]=Ayikwazanga ukubiza inkqubo ezakuphatha uxhulumano
Comment[x-test]=xxCould not call process to handle connectionxx
Comment[zh_CN]=无法调用进程处理连接
Comment[zh_HK]=無法呼叫處理連線的程序
Comment[zh_TW]=無法呼叫行程來處理此連線
Action=None

View File

@@ -4,16 +4,17 @@
Type=ServiceType
X-KDE-ServiceType=KInetDModule
Name=KInetD Module Type
Name[ar]=KInetD نوع وحدة
Name[ar]=KInetD نوع الوحدة
Name[bg]=Модул на KInetD
Name[bn]=কে-আইনেট-ডি মডিউল ধরন
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
@@ -23,6 +24,8 @@ Name[fr]=Type de module de KInetD
Name[ga]=Cineál Modúil KInetD
Name[gl]=Tipo de módulo KInetD
Name[he]=סוג מודול של KInetD
Name[hi]=के-इनिट-डी मॉड्यूल प्रकार
Name[hne]=के-इनिट-डी माड्यूल किसम
Name[hr]=Tip KInetD Modula
Name[hu]=KInetD modultípus
Name[is]=KInetD Module tegund
@@ -30,8 +33,11 @@ Name[it]=Tipo modulo KInetD
Name[ja]=KInetD モジュールタイプ
Name[kk]=KInetD модулі
Name[km]=ប្រភេទ​ម៉ូលឌុល KInetD
Name[ko]=KInetD 모듈 종류
Name[lt]=KInetD modulio tipas
Name[lv]=KInetD moduļa tips
Name[mk]=Тип на модул за KInetD
Name[ml]=കെഐനെറ്റ് ഘടക രീതി
Name[ms]=Jenis Modul KInetD
Name[nb]=KInetd-programtillegstype
Name[nds]=KInetD-Moduultyp
@@ -44,16 +50,19 @@ Name[pt_BR]=Módulo KInetD
Name[ro]=Tip modul KInetD
Name[ru]=Модуль KInetD
Name[se]=KInetD-moduvlašládja
Name[sk]=Typ modulu KInetD
Name[sl]=Vrsta modula KInetD
Name[sr]=KInetD врста модула
Name[sr@Latn]=KInetD vrsta modula
Name[sr]=Врста модула КинетД‑а
Name[sr@latin]=Vrsta modula KInetDa
Name[sv]=Kinetd-modultyp
Name[ta]=KInetD கூறு வகை
Name[tg]=Навъи Модули KInetD
Name[tr]=KDED Modül Türü
Name[uk]=Тип модулю KinetD
Name[x-test]=xxKInetD Module Typexx
Name[vi]=Kiểu môđun KInetD
Name[xh]=Udidi Lomqongo womlinganiselo we KInetD
Name[x-test]=xxKInetD Module Typexx
Name[zh_CN]=KInetD 模块类型
Name[zh_HK]=KInetD 模組類型
Name[zh_TW]=KInetD 模組類型

View File

@@ -1,16 +1,23 @@
# KDE Config File
[Desktop Entry]
Encoding=UTF-8
Type=Application
Exec=krfb -caption "%c"
Exec=krfb -caption "%c" %i
Icon=krfb
DocPath=krfb/index.html
X-DocPath=krfb/index.html
Terminal=false
Name=Krfb
Name[bn]=কে-আর-এফ-বি
Name[hi]=केआरएफबी
Name[hne]=केआरएफबी
Name[ml]=കെആര്‍എഫ്ബി
Name[sr]=КРФБ
Name[sr@latin]=KRFB
Name[x-test]=xxKrfbxx
Name[zh_TW]=Krfb 桌面分享
GenericName=Desktop Sharing
GenericName[bg]=Споделяне на раб. място
GenericName[ar]=مشاركة سطح المكتب
GenericName[bg]=Споделяне на работното място
GenericName[bn]=ডেস্কটপ ভাগাভাগি
GenericName[br]=Rannañ ar vurev
GenericName[ca]=Compartició de l'escriptori
GenericName[cs]=Sdílení pracovní plochy
@@ -18,39 +25,51 @@ 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
GenericName[eu]=Mahaigaina partekatzea
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[hi]=डेस्कटॉप साझेदारी
GenericName[hne]=डेस्कटाप साझेदारी
GenericName[hu]=Munkaasztal-megosztás
GenericName[is]=Skjáborðsmiðlun
GenericName[it]=Condivisione desktop
GenericName[ja]=デスクトップ共有
GenericName[kk]=Үстелді ортақтастыру
GenericName[km]=ការ​ចែក​រំលែក​ផ្ទៃ​តុ
GenericName[ko]=데스크톱 공유
GenericName[lt]=Dalinimasis darbastaliu
GenericName[lv]=Darbvirsmas koplietošana
GenericName[ml]=പണിയിടം പങ്കുവെക്കല്‍
GenericName[nb]=Delte skrivebord
GenericName[nds]=Schriefdisch-Freegaav
GenericName[ne]=डेस्कटप साझेदारी
GenericName[nl]=Bureaublad delen
GenericName[nn]=Skrivebordsdeling
GenericName[pa]=ਡੈਸਕਟਾਪ ਸ਼ੇਅਰਿੰਗ
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[ro]=Partajare birou
GenericName[ru]=Общий рабочий стол
GenericName[sk]=Zdieľanie pracovnej plochy
GenericName[sl]=Deljenje namizja
GenericName[sr]=Дељење радне површине
GenericName[sr@Latn]=Deljenje radne površine
GenericName[sr]=Дељење површи
GenericName[sr@latin]=Deljenje površi
GenericName[sv]=Dela ut skrivbordet
GenericName[tr]=Masaüstü Paylaşımı
GenericName[uk]=Спільні стільниці
GenericName[uz]=Иш столи билан бўлишиш
GenericName[uz]=Ish stoli bilan boʻlishish
GenericName[uz@cyrillic]=Иш столи билан бўлишиш
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;Network;RemoteAccess;

View File

@@ -9,7 +9,7 @@
<default>true</default>
</entry>
<entry name="port" type="Int">
<label>This is the port on wich krfb will listen.</label>
<label>This is the port on which krfb will listen.</label>
<default>5900</default>
</entry>
<entry name="publishService" type="Bool">
@@ -34,4 +34,4 @@
<label>Password for uninvited connections.</label>
</entry>
</group>
</kcfg>
</kcfg>

File diff suppressed because it is too large Load Diff

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>
@@ -122,28 +122,31 @@ class KrfbServer::KrfbServerP {
FrameBuffer *fb;
QList< QPointer<ConnectionController> > controllers;
rfbScreenInfoPtr screen;
bool running;
int numClients;
QByteArray desktopName;
QTimer rfbProcessEventTimer;
};
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;
d->running = true;
kDebug() << "starting ";
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 +185,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);
@@ -194,8 +198,10 @@ void KrfbServer::startListening()
rfbInitServer(screen);
if (!rfbIsActive(screen)) {
KMessageBox::error(0,"krfb","Address already in use");
disconnectAndQuit();
KMessageBox::error(0,i18n("Address already in use"),"krfb");
shutdown();
qApp->quit();
return;
};
if (KrfbConfig::publishService()) {
@@ -203,15 +209,31 @@ void KrfbServer::startListening()
service->publishAsync();
}
while (d->running) {
foreach(QRect r, d->fb->modifiedTiles()) {
rfbMarkRectAsModified(screen, r.x(), r.y(), r.right(), r.bottom());
}
rfbProcessEvents(screen, 100);
qApp->processEvents();
/* Integrate the rfb event mechanism with qt's event loop.
* Call processRfbEvents() every time the qt event loop is run,
* so that it also processes and delivers rfb events and call
* shutdown() when QApplication exits to shutdown the rfb server
* before the X11 connection goes down.
*/
connect(&d->rfbProcessEventTimer, SIGNAL(timeout()), SLOT(processRfbEvents()));
connect(qApp, SIGNAL(aboutToQuit()), SLOT(shutdown()));
d->rfbProcessEventTimer.start(0);
}
void KrfbServer::processRfbEvents()
{
foreach(const QRect &r, d->fb->modifiedTiles()) {
rfbMarkRectAsModified(d->screen, r.x(), r.y(), r.right(), r.bottom());
}
rfbShutdownServer(screen, true);
emit quitApp();
rfbProcessEvents(d->screen, 100);
}
void KrfbServer::shutdown()
{
rfbShutdownServer(d->screen, true);
// framebuffer has to be deleted before X11 connection goes down
delete d->fb;
d->fb = 0;
}
@@ -224,18 +246,11 @@ void KrfbServer::enableDesktopControl(bool enable)
}
}
void KrfbServer::disconnectAndQuit()
{
d->running = false;
}
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 +277,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 +301,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();
@@ -36,13 +36,13 @@ signals:
void sessionEstablished(QString);
void sessionFinished();
void desktopControlSettingChanged(bool);
void quitApp();
public Q_SLOTS:
void startListening();
void processRfbEvents();
void shutdown();
void enableDesktopControl(bool);
void disconnectAndQuit();
void updateSettings();
void updatePassword();
void clientDisconnected(ConnectionController *);

View File

@@ -43,40 +43,49 @@ 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;
KCmdLineOptions options;
options.add("nodialog", ki18n("Do not show the invitations management dialog at startup"));
KCmdLineArgs::addCmdLineOptions(options);
TrayIcon trayicon(new ManageInvitationsDialog);
KApplication app;
app.setQuitOnLastWindowClosed(false);
ManageInvitationsDialog invitationsDialog;
if ( KCmdLineArgs::parsedArgs()->isSet("dialog") )
invitationsDialog.show();
TrayIcon trayicon(&invitationsDialog);
KrfbServer *server = KrfbServer::self(); // initialize the server manager
if (!server->checkX11Capabilities()) {
@@ -91,10 +100,6 @@ int main(int argc, char *argv[])
&trayicon, SLOT(showDisconnectedMessage()));
QObject::connect(server, SIGNAL(desktopControlSettingChanged(bool)),
&trayicon, SLOT(setDesktopControlSetting(bool)));
QObject::connect(&trayicon, SIGNAL(quitSelected()),
server, SLOT(disconnectAndQuit()));
QObject::connect(server, SIGNAL(quitApp()),
&app, SLOT(quit()));
sigset_t sigs;
sigemptyset(&sigs);

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,134 +32,6 @@
</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>
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="alternatingRowColors" >
<bool>true</bool>
</property>
<property name="rootIsDecorated" >
<bool>false</bool>
</property>
<property name="allColumnsShowFocus" >
<bool>true</bool>
</property>
<column>
<property name="text" >
<string>Created</string>
</property>
</column>
<column>
<property name="text" >
<string>Expire Time</string>
</property>
</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>
</property>
<property name="minimumSize" >
<size>
<width>108</width>
<height>318</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="alignment" >
<set>Qt::AlignTop</set>
</property>
<property name="wordWrap" >
<bool>false</bool>
</property>
</widget>
</item>
<item row="6" column="2" >
<widget class="QPushButton" name="deleteOneButton" >
<property name="enabled" >
<bool>false</bool>
</property>
<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>
<item row="5" column="2" >
<widget class="QPushButton" name="deleteAllButton" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="toolTip" >
<string>Delete all invitations</string>
</property>
<property name="whatsThis" >
<string>Deletes all open invitations.</string>
</property>
<property name="text" >
<string>Delete All</string>
</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" >
@@ -200,13 +50,137 @@ p, li { white-space: pre-wrap; }
<bool>false</bool>
</property>
<property name="textInteractionFlags" >
<enum>Qt::LinksAccessibleByMouse</enum>
<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 vsizetype="Expanding" hsizetype="Expanding" >
<horstretch>2</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="alternatingRowColors" >
<bool>true</bool>
</property>
<property name="rootIsDecorated" >
<bool>false</bool>
</property>
<property name="allColumnsShowFocus" >
<bool>true</bool>
</property>
<column>
<property name="text" >
<string>Creation Time</string>
</property>
</column>
<column>
<property name="text" >
<string>Expire Time</string>
</property>
</column>
</widget>
</item>
<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>155</width>
<height>62</height>
</size>
</property>
</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="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="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="5" column="2" >
<widget class="QPushButton" name="deleteAllButton" >
<property name="enabled" >
<bool>false</bool>
</property>
<property name="toolTip" >
<string>Delete all invitations</string>
</property>
<property name="whatsThis" >
<string>Deletes all open invitations.</string>
</property>
<property name="text" >
<string>Delete All</string>
</property>
</widget>
</item>
<item row="6" column="2" >
<widget class="QPushButton" name="deleteOneButton" >
<property name="enabled" >
<bool>false</bool>
</property>
<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>
</layout>
</widget>
<layoutdefault spacing="6" margin="11" />
<tabstops>
<tabstop>invitationWidget</tabstop>
<tabstop>newPersonalInvitationButton</tabstop>
@@ -214,10 +188,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"
@@ -54,13 +55,13 @@ ManageInvitationsDialog::ManageInvitationsDialog(QWidget *parent)
{
setCaption(i18n("Invitation"));
setButtons(User1|Close|Help);
setHelp(QString(), "krfb");
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,18 +107,60 @@ 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 (const QNetworkInterface &nif, ifl) {
if (nif.flags() & QNetworkInterface::IsLoopBack) continue;
if (nif.flags() & QNetworkInterface::IsRunning) {
if(!nif.addressEntries().isEmpty())
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()
{
invitationWidget->clear();
KLocale *loc = KGlobal::locale();
foreach(Invitation inv, InvitationManager::self()->invitations()) {
foreach(const Invitation &inv, InvitationManager::self()->invitations()) {
QStringList strs;
strs << loc->formatDateTime(inv.creationTime()) << loc->formatDateTime(inv.expirationTime());
QTreeWidgetItem *it = new QTreeWidgetItem(strs);
@@ -134,8 +177,9 @@ void ManageInvitationsDialog::showConfiguration()
return;
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 TCP, i18n("Network"), "network-workgroup");
dialog->addPage(new Security, i18n("Security"), "security-high");
dialog->setHelp(QString(),"krfb");
connect(dialog, SIGNAL(settingsChanged(QString)),KrfbServer::self(),SLOT(updateSettings()));
dialog->show();
}
@@ -168,15 +212,25 @@ 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()) {
foreach(const Invitation &inv, InvitationManager::self()->invitations()) {
if (inv.creationTime() == itm->data(0,Qt::UserRole+1)) {
InvitationManager::self()->removeInvitation(inv);
}
}
}
// 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) {
foreach (const 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,241 +5,201 @@
<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>
<layoutdefault spacing="6" margin="11" />
<layoutfunction spacing="KDialog::spacingHint" margin="KDialog::marginHint" />
<pixmapfunction>qPixmapFromMimeSource</pixmapfunction>
<resources/>
<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 "qtframebuffer.h"
@@ -30,6 +30,7 @@ QtFrameBuffer::QtFrameBuffer(WId id, QObject *parent)
QtFrameBuffer::~QtFrameBuffer()
{
delete [] fb;
}
int QtFrameBuffer::depth()

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;
foreach (QRect r, cpy) {
// kDebug() << "before cleanup: " << cpy.size();
foreach (const 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() {
@@ -253,8 +254,8 @@ QList< QRect > X11FrameBuffer::modifiedTiles()
if (d->useShm) {
#ifdef HAVE_XSHM
foreach(QRect r, tiles) {
// kDebug() << r << endl;
foreach(const QRect &r, tiles) {
// 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));
@@ -284,7 +285,7 @@ QList< QRect > X11FrameBuffer::modifiedTiles()
}
#endif
} else {
foreach(QRect r, tiles) {
foreach(const QRect &r, tiles) {
XGetSubImage(QX11Info::display(),
win,
r.left(),
@@ -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