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

Compare commits

...

145 Commits

Author SHA1 Message Date
Ana Beatriz Guerrero López
9cad89a41a Desktop validation fixes: remove deprecated entries for Encoding.
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=826181
2008-06-29 22:52:09 +00:00
Script Kiddy
2f62009364 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=809521
2008-05-19 02:42:52 +00:00
Script Kiddy
0d41c9e96f SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=808996
2008-05-18 02:33:12 +00:00
Giovanni Venturi
08f208f8ea fix compiling on Slackware 12.1
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=794662
2008-04-08 09:16:17 +00:00
Bernhard Rosenkraenzer
5a0d155e9d Another fix for the gcc 4.3 + --enable-final combo
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=759326
2008-01-10 12:09:23 +00:00
Bernhard Rosenkraenzer
cb80c2f3df Fix build with --enable-final and gcc 4.3 (--enable-final causes
config.h, which #defines VERSION, to be included before kcm_krfb.cpp,
which #defines VERSION as well - gcc 4.3 makes a double definition a
fatal error even if the value is the same)

svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=759288
2008-01-10 09:58:24 +00:00
Script Kiddy
d573ff1cc6 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=747122
2007-12-11 04:24:47 +00:00
Script Kiddy
0d0dd73452 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=735568
2007-11-12 04:17:09 +00:00
Dirk Mueller
6fdc1325f4 fix locking error
CCBUG: 124529

svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=733442
2007-11-06 10:20:12 +00:00
Script Kiddy
130b037ec7 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=730525
2007-10-29 04:27:14 +00:00
Script Kiddy
a5cda6bda3 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=730146
2007-10-28 03:04:18 +00:00
Script Kiddy
34a4a144ef SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=726815
2007-10-19 02:53:23 +00:00
Script Kiddy
430ab272b9 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=707812
2007-09-03 02:47:08 +00:00
Script Kiddy
0a61cbfdba SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=670331
2007-06-01 03:31:55 +00:00
Gustavo P. Boiko
b8a55dd2c6 Configuration modules shouldn't receive the Network category
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=667396
2007-05-22 17:29:53 +00:00
Helio Castro
aba4bfd64f Fixed freedesktop categories in desktop files.
Provided by Nicolas Lécureuil and reviewed at core-devel

svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=667377
2007-05-22 16:49:08 +00:00
Script Kiddy
596d867f61 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=656335
2007-04-21 03:25:43 +00:00
Script Kiddy
b75d3116e4 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=654414
2007-04-16 03:31:36 +00:00
Script Kiddy
7328765920 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=645785
2007-03-23 16:07:47 +00:00
Bram Schoenmakers
044c5a63c1 Replace Mac newlines with Unix newlines, and the problem of 100% CPU utilization with the first connection disappeared. Credits go to Reinhold and Modestas.
BUG:135013


svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=636245
2007-02-22 15:31:50 +00:00
Script Kiddy
5b372297e3 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=634039
2007-02-16 06:50:21 +00:00
Script Kiddy
18e76a5186 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=633507
2007-02-14 06:56:57 +00:00
Script Kiddy
4c5ca223bb SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=627319
2007-01-26 07:00:32 +00:00
Script Kiddy
d0abbf1bc8 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=623132
2007-01-14 06:46:34 +00:00
Burkhard Lück
e90c40885b fixed wrong link in khelpcenter, thanks to Richard Johnson for the bugreport
BUG:139195

svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=620548
2007-01-06 15:27:35 +00:00
Script Kiddy
84453f1024 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=617425
2006-12-29 06:46:52 +00:00
Script Kiddy
6f710171ea SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=616873
2006-12-27 06:46:54 +00:00
Script Kiddy
70a494acb5 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=615337
2006-12-21 07:35:51 +00:00
Script Kiddy
348c91131c SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=614284
2006-12-17 07:06:58 +00:00
Pino Toscano
2286aceaec Make them a bit more freedesktop.org compliant.
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=613961
2006-12-15 21:06:06 +00:00
Script Kiddy
54caeba888 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=610928
2006-12-06 06:41:47 +00:00
Script Kiddy
a166824bf0 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=608714
2006-11-28 06:54:06 +00:00
Script Kiddy
73d9a923bb SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=594385
2006-10-11 05:31:56 +00:00
Script Kiddy
d9abdda588 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=589981
2006-09-29 05:32:12 +00:00
Script Kiddy
dc1068e38d SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=585870
2006-09-18 05:37:59 +00:00
Script Kiddy
fdadaea683 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=583352
2006-09-12 05:28:35 +00:00
Andreas Kling
103195be61 Merge region fixes from the LibVNCServer project, fixes a bunch of nasty pointer action.
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=566908
2006-07-27 14:16:13 +00:00
Andreas Kling
916d55e1e1 Fixed two delete/delete[] mismatches.
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=566900
2006-07-27 13:45:57 +00:00
Andreas Kling
b53fcbd29f Make sure PortListener::m_dnssdRegistered is initialized, or it will be used uninitialized in dnssdRegister()
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=566892
2006-07-27 13:28:28 +00:00
Script Kiddy
792cd5ab5c SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=566018
2006-07-25 07:09:49 +00:00
Andreas Kling
073cbe4e42 Allow listening on all TCP ports between 1024 and 65535.
BUG: 77626

svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=564234
2006-07-19 16:26:58 +00:00
Script Kiddy
4ae59ccc13 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=563264
2006-07-17 06:27:13 +00:00
Script Kiddy
453805a706 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=552794
2006-06-19 07:01:56 +00:00
Script Kiddy
3faabd41fb SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=549579
2006-06-09 06:49:01 +00:00
Script Kiddy
d02225efaa SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=543920
2006-05-23 06:50:25 +00:00
Script Kiddy
4f6a459dee SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=541396
2006-05-16 06:47:20 +00:00
Script Kiddy
6f151b566e SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=527163
2006-04-07 06:32:24 +00:00
Script Kiddy
be831dadd2 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=518767
2006-03-15 07:37:13 +00:00
Script Kiddy
749279c766 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=518459
2006-03-14 07:36:32 +00:00
Script Kiddy
83a970ca11 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=517478
2006-03-11 07:35:13 +00:00
Script Kiddy
cac8be85d9 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=517160
2006-03-10 07:30:29 +00:00
Caleb Tennis
42951a11e7 Change head argument so it's compliant with latest coreutils
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=502433
2006-01-25 23:22:55 +00:00
Script Kiddy
5e782a932b SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=501494
2006-01-23 06:35:38 +00:00
Dirk Mueller
a5464ea125 avoid format string warning
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=501250
2006-01-22 14:38:20 +00:00
Script Kiddy
1543cece01 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=500393
2006-01-20 06:33:12 +00:00
Script Kiddy
fa2d957445 Improve portability by declaring using Bash with the help of /usr/bin/env
(Bug #95475)
(goutte)

svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=499197
2006-01-17 08:52:21 +00:00
Script Kiddy
60b96a550f SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=484594
2005-12-01 06:10:42 +00:00
Thiago Macieira
222e9fa7ec SVN_SILENT More non-executables that had the svn:ignore property
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=476279
2005-11-01 01:35:54 +00:00
Script Kiddy
5fb8d4deaf SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=475700
2005-10-30 11:44:48 +00:00
Script Kiddy
12b0ae6fbd SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=474349
2005-10-26 06:09:38 +00:00
Script Kiddy
48985ef458 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=473590
2005-10-24 06:22:36 +00:00
Script Kiddy
6cc8241681 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=465545
2005-09-30 06:10:11 +00:00
Script Kiddy
c4e0e5b09f SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=464752
2005-09-28 05:58:55 +00:00
Script Kiddy
2fa2c0a516 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=462462
2005-09-21 07:01:56 +00:00
Script Kiddy
9b3696f1d6 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=458425
2005-09-08 07:03:27 +00:00
Script Kiddy
cbc7c75dc1 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=458054
2005-09-07 06:41:37 +00:00
Script Kiddy
2159930abd SVN_SILENT made messages (.desktop file, second try)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=454870
2005-08-30 06:32:47 +00:00
Stephan Binner
d3b031f694 add small icon
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=453644
2005-08-26 18:25:09 +00:00
Script Kiddy
b329dee143 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=450451
2005-08-18 09:01:27 +00:00
Script Kiddy
18664767f4 SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=448791
2005-08-13 07:04:13 +00:00
Script Kiddy
bd61242c1b SVN_SILENT made messages (.desktop file)
svn path=/branches/KDE/3.5/kdenetwork/krfb/; revision=445900
2005-08-12 04:47:13 +00:00
Script Kiddy
60ecb10298 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=436121
2005-07-19 04:05:24 +00:00
Script Kiddy
f059eedd88 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=434433
2005-07-14 04:03:30 +00:00
Script Kiddy
fe4cd8c787 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=434157
2005-07-13 04:05:45 +00:00
Script Kiddy
0ab660525e SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=425586
2005-06-15 04:25:55 +00:00
Script Kiddy
7ecfdbbad1 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=424487
2005-06-12 03:54:41 +00:00
Script Kiddy
2c068866bf SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=424186
2005-06-11 03:32:04 +00:00
Script Kiddy
f301b9c443 SVN_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=421949
2005-06-04 03:45:23 +00:00
Script Kiddy
690a53c590 CVS_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=413567
2005-05-14 03:40:12 +00:00
Script Kiddy
5cb29d745f CVS_SILENT made messages (.desktop file)
svn path=/trunk/KDE/kdenetwork/krfb/; revision=410634
2005-05-08 07:11:34 +00:00
Script Kiddy
a812ef6393 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=401169
2005-03-28 03:34:02 +00:00
Script Kiddy
0ef8f2d453 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=400397
2005-03-25 04:09:59 +00:00
Script Kiddy
c5b1b80c7d CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=392535
2005-02-23 05:08:44 +00:00
Aaron J. Seigo
c207e3bb73 fix frame
CCBUG:99396

svn path=/trunk/kdenetwork/krfb/; revision=389454
2005-02-14 21:03:08 +00:00
Script Kiddy
c936f30db9 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=388264
2005-02-11 04:54:21 +00:00
Stephan Kulow
4f703bf678 characters can be unsigned too
svn path=/trunk/kdenetwork/krfb/; revision=388040
2005-02-10 14:12:16 +00:00
Stephan Binner
9b59119cf3 CVS_SILENT i18n style guide fixes, first run
svn path=/trunk/kdenetwork/krfb/; revision=385798
2005-02-03 10:49:53 +00:00
Script Kiddy
69bd756bb7 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=384484
2005-01-31 08:38:42 +00:00
Script Kiddy
d3fac404e0 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=382809
2005-01-27 04:10:52 +00:00
Stephan Binner
b72740d994 fix menu entries
svn path=/trunk/kdenetwork/krfb/; revision=378969
2005-01-16 08:28:22 +00:00
Script Kiddy
f067112601 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=378951
2005-01-16 04:04:50 +00:00
Edwin Schepers
153c22d929 Give labels a NoFocus policy, so that it is not selected at startup of the dialog and is not in the tab sequence.
BUG: 92032

svn path=/trunk/kdenetwork/krfb/; revision=378279
2005-01-13 22:40:35 +00:00
Laurent Montel
bea44ed778 Fix export
svn path=/trunk/kdenetwork/krfb/; revision=377514
2005-01-11 16:35:05 +00:00
Script Kiddy
385d4455a9 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=376742
2005-01-09 04:06:23 +00:00
Script Kiddy
7c29d37323 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=375595
2005-01-05 04:03:22 +00:00
Script Kiddy
eaa39967b3 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=375379
2005-01-04 03:51:03 +00:00
Script Kiddy
b80715e14a CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=374823
2005-01-02 03:44:29 +00:00
Script Kiddy
b751d5529e CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=374569
2005-01-01 03:35:52 +00:00
Albert Astals Cid
fdaa7d29c1 fixuifiles
svn path=/trunk/kdenetwork/krfb/; revision=374524
2004-12-31 17:47:59 +00:00
Script Kiddy
f41085f9d2 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=374048
2004-12-29 17:55:25 +00:00
Laurent Montel
93abc31703 Use krun to launch kcm module
svn path=/trunk/kdenetwork/krfb/; revision=371072
2004-12-16 14:04:42 +00:00
Laurent Montel
de51a27501 Backport reload config
svn path=/trunk/kdenetwork/krfb/; revision=370499
2004-12-14 10:17:16 +00:00
Script Kiddy
6b2da6a798 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=370471
2004-12-14 03:41:19 +00:00
Script Kiddy
68351df3b4 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=369788
2004-12-11 06:41:41 +00:00
Jakub Stachowski
a7808c2433 Add DNS-SD based service publishing to kinetd and enable it in krfb.
svn path=/trunk/kdenetwork/krfb/; revision=369499
2004-12-09 20:10:23 +00:00
Stephan Binner
b66e85cb4a knewsticker/knewstickerstub/Makefile.am: KDE_ICON used but no icons present
krfb/kinetd/Makefile.am: KDE_ICON used but no icons present

svn path=/trunk/kdenetwork/krfb/; revision=367795
2004-12-02 09:47:55 +00:00
Script Kiddy
d5fedd911c CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=365706
2004-11-24 04:17:20 +00:00
Script Kiddy
7f6af1accf CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=364999
2004-11-22 04:42:34 +00:00
Dirk Mueller
988edb72ba fix export's
svn path=/trunk/kdenetwork/krfb/; revision=364991
2004-11-22 03:58:56 +00:00
Chris Howells
8e6c5ce5f8 s/whatever/whichever
svn path=/trunk/kdenetwork/krfb/; revision=362004
2004-11-10 14:08:23 +00:00
Script Kiddy
997ef4a6ff CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=361625
2004-11-09 03:39:00 +00:00
Script Kiddy
7e14c20337 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=359745
2004-11-02 04:22:33 +00:00
Script Kiddy
eaeea7803a CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=357783
2004-10-26 02:51:12 +00:00
Script Kiddy
2b02a82b11 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=356372
2004-10-21 03:02:16 +00:00
Benjamin Meyer
499b09de92 Terminal=0 -> Terminal=false
Terminal=1 -> Terminal=true
Add missing ';' to Categories
Remove depreceted: TerminalOptions, BinaryPattern, MiniIcon
(double checked)

svn path=/trunk/kdenetwork/krfb/; revision=355834
2004-10-19 03:49:14 +00:00
Albert Astals Cid
6029bcfdc5 Even more fixuifiles
svn path=/trunk/kdenetwork/krfb/; revision=355797
2004-10-18 21:42:05 +00:00
Script Kiddy
b4d7816864 CVS_SILENT made messages (.desktop file)
svn path=/trunk/kdenetwork/krfb/; revision=353574
2004-10-11 03:13:35 +00:00
Script Kiddy
7a7b70d192 CVS_SILENT made messages (desktop files)
svn path=/trunk/kdenetwork/krfb/; revision=353053
2004-10-09 02:33:51 +00:00
Script Kiddy
5d3cf54649 CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=350701
2004-10-01 06:51:58 +00:00
Nadeem Hasan
3f01551a08 Use KDialogBase.
svn path=/trunk/kdenetwork/krfb/; revision=349503
2004-09-26 17:10:32 +00:00
Laurent Montel
54a7625438 QString(i18n(...)) -> i18n(...)
svn path=/trunk/kdenetwork/krfb/; revision=347601
2004-09-19 11:52:23 +00:00
Nadeem Hasan
75f35ea664 Port to KDialogBase.
svn path=/trunk/kdenetwork/krfb/; revision=347549
2004-09-19 06:36:43 +00:00
Script Kiddy
671433402e CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=342856
2004-08-30 23:28:00 +00:00
Tim Jansen
c05a9b9d9f #67519: adjust applet name, patch by Allen Rouse
svn path=/trunk/kdenetwork/krfb/; revision=341875
2004-08-27 17:09:16 +00:00
Script Kiddy
d5b080ec40 CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=340251
2004-08-23 22:08:42 +00:00
Script Kiddy
e1e3d04465 CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=335843
2004-08-04 06:49:47 +00:00
Tim Jansen
f4e494094d solaris compile patch by Peter A Jonsson, thanks.
svn path=/trunk/kdenetwork/krfb/; revision=333276
2004-07-27 16:04:10 +00:00
Frans Englich
aeb23861a0 Avoid leaking KAboutData by using the new KCModule::setAboutData() function.
svn path=/trunk/kdenetwork/krfb/; revision=330749
2004-07-19 01:15:44 +00:00
Frans Englich
a246d1e7be Revert the third list of changes in the XDG mail. If anything more is to be reverted/changed, you will have to explicitly tell me so.
svn path=/trunk/kdenetwork/krfb/; revision=329375
2004-07-14 22:24:24 +00:00
Frans Englich
92e1ff56d2 Do the OnlyShowIn/NotShowIn hiding as discussed on the XDG list:
http://freedesktop.org/pipermail/xdg/2004-March/003619.html

svn path=/trunk/kdenetwork/krfb/; revision=328800
2004-07-13 17:05:56 +00:00
Stephan Binner
37f93609e9 CVS_SILENT No punctuation in command line descriptions
svn path=/trunk/kdenetwork/krfb/; revision=322582
2004-06-21 19:03:29 +00:00
Script Kiddy
c51a4e7d32 CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=321869
2004-06-19 07:00:27 +00:00
Script Kiddy
e3a6f4c656 CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=318114
2004-06-06 06:37:29 +00:00
Script Kiddy
757e8b6e44 CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=316985
2004-06-02 06:49:00 +00:00
Script Kiddy
8c19095ab6 CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=316289
2004-05-31 06:55:49 +00:00
Script Kiddy
7ddac51f20 CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=315004
2004-05-27 07:48:20 +00:00
Stephan Binner
9ba79d5aa6 setCheckedState++
svn path=/trunk/kdenetwork/krfb/; revision=311694
2004-05-15 20:18:25 +00:00
Script Kiddy
4c5e9487f9 CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=310227
2004-05-11 05:54:52 +00:00
Tim Jansen
5adc329b02 May solve #60229, thanks to Christian Krause.
svn path=/trunk/kdenetwork/krfb/; revision=304986
2004-04-19 19:21:29 +00:00
Tim Jansen
ffbe9e6a81 Fixes bug #77412, thanks Waldo!
svn path=/trunk/kdenetwork/krfb/; revision=300240
2004-03-31 21:45:52 +00:00
Brad Hards
5a2060c645 Fix web link for bugs. Thanks to Damien Raude-Morvan for reporting.
CCMAIL: 78648-done@bugs.kde.org

svn path=/trunk/kdenetwork/doc/krfb/; revision=299466
2004-03-29 11:13:32 +00:00
Script Kiddy
24c5afcc9f CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=294128
2004-03-07 06:47:14 +00:00
Script Kiddy
75a6ded81e CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=292456
2004-02-29 07:23:35 +00:00
Script Kiddy
252c969c68 CVS_SILENT made messages
svn path=/trunk/kdenetwork/krfb/; revision=284419
2004-02-02 04:05:03 +00:00
Tim Jansen
96a3ab8d83 Fix for #73288, patch by brad <bkn@ithryn.net>
svn path=/trunk/kdenetwork/krfb/; revision=283309
2004-01-28 16:30:37 +00:00
47 changed files with 2037 additions and 1562 deletions

0
doc/Makefile.am Executable file → Normal file
View File

2
doc/index.docbook Executable file → Normal file
View File

@@ -113,7 +113,7 @@ to help you perform a task.
<para>
Please report any problems or feature requests to the &kde; mailing
lists or file a bug at <ulink
url="http://bugs.kde.org">http://www.bugs.kde.org</ulink>.
url="http://bugs.kde.org">http://bugs.kde.org</ulink>.
</para>
</chapter>

View File

@@ -5,7 +5,7 @@ kde_module_LTLIBRARIES = kcm_krfb.la
kcm_krfb_la_SOURCES = configurationwidget.ui kcm_krfb.cpp
kcm_krfb_la_LDFLAGS = $(all_libraries) $(KDE_PLUGIN) -module
kcm_krfb_la_LIBADD = ../krfb/libkrfbconfig.la $(LIB_KDEUI)
kcm_krfb_la_LIBADD = ../krfb/libkrfbconfig.la $(LIB_KDEUI) -lkio
# Services
xdg_apps_DATA = kcmkrfb.desktop

View File

@@ -50,12 +50,6 @@
<property name="name">
<cstring>GroupBox1</cstring>
</property>
<property name="frameShape">
<enum>Box</enum>
</property>
<property name="frameShadow">
<enum>Sunken</enum>
</property>
<property name="title">
<string>Invitations</string>
</property>
@@ -424,7 +418,7 @@
<number>1024</number>
</property>
<property name="maxValue">
<number>32767</number>
<number>65535</number>
</property>
<property name="toolTip" stdset="0">
<string>Enter the TCP port number here</string>

View File

@@ -38,6 +38,7 @@
#include <kdebug.h>
#include <dcopclient.h>
#undef VERSION
#define VERSION "0.7"
@@ -45,7 +46,7 @@ typedef KGenericFactory<KcmKRfb, QWidget> KcmKRfbFactory;
// Can't use K_EXPORT_COMPONENT_FACTORY, since insertCatalogue necessary
extern "C" {
void *init_kcm_krfb() {
KDE_EXPORT void *init_kcm_krfb() {
KGlobal::locale()->insertCatalogue("krfb"); // For invitation translations
return new KcmKRfbFactory("kcm_krfb");
}
@@ -63,12 +64,13 @@ KcmKRfb::KcmKRfb(QWidget *p, const char *name, const QStringList &) :
setButtons(Default|Apply|Reset);
m_about = new KAboutData( "kcm_krfb", I18N_NOOP("Desktop Sharing Control Module"),
KAboutData* about = new KAboutData( "kcm_krfb", I18N_NOOP("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");
m_about->addAuthor("Tim Jansen", 0, "tim@tjansen.de");
about->addAuthor("Tim Jansen", 0, "tim@tjansen.de");
setAboutData( about );
load();
@@ -86,9 +88,6 @@ KcmKRfb::KcmKRfb(QWidget *p, const char *name, const QStringList &) :
setInvitationNum(m_configuration.invitations().size());
connect(m_confWidget->disableBackgroundCB, SIGNAL(clicked()), SLOT(configChanged()) );
}
KcmKRfb::~KcmKRfb() {
delete m_about;
}
void KcmKRfb::configChanged() {
emit changed(true);
@@ -153,6 +152,7 @@ void KcmKRfb::save() {
m_configuration.setPreferredPort(m_confWidget->portInput->value());
m_configuration.setDisableBackground(m_confWidget->disableBackgroundCB->isChecked());
m_configuration.save();
kapp->dcopClient()->emitDCOPSignal("KRFB::ConfigChanged", "KRFB_ConfigChanged()", QByteArray());
emit changed(false);
}
@@ -171,11 +171,6 @@ void KcmKRfb::defaults() {
emit changed(true);
}
const KAboutData *KcmKRfb::aboutData() const
{
return m_about;
}
QString KcmKRfb::quickHelp() const
{
return i18n("<h1>Desktop Sharing</h1> This module allows you to configure"

View File

@@ -30,17 +30,14 @@ class KcmKRfb : public KCModule {
private:
Configuration m_configuration;
ConfigurationWidget *m_confWidget;
KAboutData *m_about;
void checkKInetd(bool&, bool&);
public:
KcmKRfb(QWidget *p, const char *name, const QStringList &);
~KcmKRfb();
void load();
void save();
void defaults();
QString quickHelp() const;
const KAboutData *aboutData() const;
private slots:
void setInvitationNum(int num);
void configChanged();

View File

@@ -1,9 +1,8 @@
[Desktop Entry]
Encoding=UTF-8
Icon=krfb
Type=Application
Exec=kcmshell kcmkrfb
DocPath=help:/krfb/krfb-configuration.html
DocPath=krfb/krfb-configuration.html
X-KDE-ModuleType=Library
X-KDE-Library=krfb
@@ -12,130 +11,182 @@ X-KDE-ParentApp=kcontrol
Name=Desktop Sharing
Name[af]=Werkskerm Deeling
Name[ar]=مشاركة سطح المكتب
Name[bg]=Споделяне на работно място
Name[be]=Агульнае выкарыстанне стальніцы
Name[bg]=Споделяне на работното място
Name[bn]=ডেস্কটপ ভাগাভাগি
Name[br]=Rannañ ar vurev
Name[bs]=Dijeljenje desktopa
Name[ca]=Compartició de l'escriptori
Name[cs]=Sdílení pracovní plochy
Name[cy]=Rhannu Penbwrdd
Name[da]=Skrivebordsdeling
Name[da]=Desktopdeling
Name[de]=Arbeitsfläche freigeben
Name[el]=Μοίρασμα επιφάνειας εργασίας
Name[el]=Κοινή χρήση επιφάνειας εργασίας
Name[eo]=Tabuloj komunaj
Name[es]=Compartición de escritorio
Name[es]=Escritorio compartido
Name[et]=Töölaua jagamine
Name[eu]=Mahaigain 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[he]=שיתוף שולחנות עבודה
Name[hi]=डेस्कटॉप साझ
Name[hi]=डेस्कटॉप साझेदारी
Name[hr]=Dijeljenje radne površine
Name[hu]=Munkaasztal-megosztás
Name[is]=Skjáborðamiðlun
Name[it]=Condivisione Desktop
Name[ja]=デスクトップ共有
Name[ka]=სამუშაო მაგიდის გაზიარება
Name[kk]=Үстелді ортақтастыру
Name[km]=ការ​ចែក​រំលែក​ផ្ទៃ​តុ
Name[lt]=Dalinimasis darbastaliu
Name[mk]=Делење на работната површина
Name[mn]=Ажлын байрыг хамтран эзэмших
Name[ms]=Perkongsian Ruang Kerja
Name[mt]=Qsim tad-desktop
Name[nb]=Delte skrivebord
Name[nl]=Bureaubladvrijgave
Name[nds]=Schriefdisch-Freegaav
Name[ne]=डेस्कटप साझेदारी
Name[nl]=Bureaublad delen
Name[nn]=Skrivebordsdeling
Name[nso]=Kabagano ya Desktop
Name[pa]=ਡੈਸਕਟਾਪ ਸਾਂਝ
Name[pl]=Współdzielenie pulpitu
Name[pt]=Partilha do Ambiente de Trabalho
Name[pt_BR]=Compartilhamento do Desktop
Name[ro]=Partajare ecran
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[sv]=Dela ut skrivbordet
Name[ta]=மேசைமேல் பகிர்வு
Name[ta]=பணிமேடை பகிர்வு
Name[tg]=Истифодабарии муштараки Мизи корӣ
Name[th]=ใช้งานพื้นที่ทำงานร่วมกัน
Name[tr]=Masaüstü Paylaşımı
Name[uk]=Спільні стільниці
Name[ven]=U kovhekana ha Desikithopo
Name[xh]=Ukwehlulelana kwe Desktop
Name[xx]=xxDesktop Sharingxx
Name[zh_CN]=桌面共享
Name[zh_HK]=桌面分享
Name[zh_TW]=桌面分享
Name[zu]=Ukwahlulelana kwe-Desktop
Comment=Configure Desktop Sharing
Comment[af]=Konfigureer Werkskerm Deeling
Comment[ar]=تعديل مشاركة سطح المكتب
Comment[bg]=Настройки на споделянето на работно място
Comment[be]=Настаўленне агульнага выкарыстання стальніцы
Comment[bg]=Настройване споделянето на работното място
Comment[bn]=ডেস্কটপ ভাগাভাগি কনফিগার করুন
Comment[br]=Kefluniañ rannañ ar vurev
Comment[bs]=Podesite dijeljenje desktopa
Comment[ca]=Lupa de l'escriptori
Comment[cs]=Nastavit sdílení pracovní plochy
Comment[cy]=Ffurfweddu Rhannu Penbwrdd
Comment[da]=Indstil skrivebordsdeling
Comment[da]=Indstil desktopdeling
Comment[de]=Freigabe der Arbeitsfläche einrichten
Comment[el]=Ρύθμιση του μοιράσματος της επιφάνειας εργασίας
Comment[el]=Ρύθμιση της κοινής χρήσης της επιφάνειας εργασίας
Comment[eo]=Agordu fordonadon de viaj tabuloj
Comment[es]=Compartición de escritorio
Comment[es]=Configure su escritorio compartido
Comment[et]=Töölaua jagamise seadistamine
Comment[fi]=Aseta työpöydän jakamista
Comment[eu]=Konfiguratu mahaigain 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[he]=שינוי הגדרות שיתוף שולחנות העבודה
Comment[hi]=कॉन्फिगर डेस्कटॉप साझ
Comment[hi]=कॉन्फिगर डेस्कटॉप साझेदारी
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[it]=Configura condivisione desktop
Comment[ja]=デスクトップ共有の設定
Comment[lt]=Konfigūruoti dalinimąsi darbastaliu
Comment[ka]=სამუშაო მაგიდის კონფიგურაცია
Comment[kk]=Үстелді ортақтастыруды баптау
Comment[km]=កំណត់​រចនា​សម្ព័ន្ធ​ការ​ចែក​រំលែក​ផ្ទៃ​តុ
Comment[lt]=Derinti dalinimąsi darbastaliu
Comment[mk]=Конфигурирајте делење на површината
Comment[mn]=Ажлын байрны хамтран эзэмших тохируулга
Comment[ms]= Selaraskan Perkongsian Desktop
Comment[nb]=Tilpass delte skrivebord
Comment[nl]=Bureaubladvrijgave configureren
Comment[nds]=Schriefdisch-Freegaav instellen
Comment[ne]=डेस्कटप साझेदारी कन्फिगर गर्नुहोस्
Comment[nl]=Bureaublad delen instellen
Comment[nn]=Set opp skrivebordsdeling
Comment[nso]=Beakanya Kabagano ya Desktop
Comment[pa]=ਡੈਸਕਟਾਪ ਸਾਂਝ ਸੰਰਚਨਾ
Comment[pl]=Konfiguracja współdzielenia pulpitu
Comment[pt]=Configura a Partilha do Ecrã
Comment[pt_BR]=Configurar Compartilhamento do Desktop
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[sv]=Anpassa utdelning av skrivbord
Comment[ta]=மேஜைமேல் பகிர்வை உள்ளமை
Comment[ta]=பணிமேடை பகிர்வை உள்ளமை
Comment[tg]=Батанзимдарории Истифодабарии муштараки Мизи корӣ
Comment[tr]=Masaüstü Paylaşımını Yapılandır
Comment[uk]=Налаштувати спільні стільниці
Comment[ven]=Dzudzanyani u kovhekana ha desikithopo
Comment[xh]=Qwalasela Ukusebenzisa ngokuhlangeneyo kwe Desktop
Comment[xx]=xxConfigure Desktop Sharingxx
Comment[zh_CN]=配置桌面共享
Comment[zh_HK]=設定桌面分享
Comment[zh_TW]=設定桌面分享
Comment[zu]=Hlela kahle Ukwahlulelana kwe-Desktop
Keywords=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited
Keywords[bg]=споделяне,работно,място,десктоп,покана,връзка,desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited
Keywords[ar]=مشاركة سطح المكتب,krfb,vnc,مشاركة,krdc,اتصال سطح مكتب بعيد,دعوة,منفذ,slp,غير مدعو
Keywords[be]=агульнае выкарыстанне стальніцы,злучэнне,аддалены кампутар,запрашэнне,порт,desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited
Keywords[bg]=споделяне, работно, място, десктоп, покана, връзка, desktop sharing, krfb, vnc, sharing, krdc, remote desktop connection, invitation, port, slp, uninvited
Keywords[bs]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,dijeljenje desktopa,dijeljenje,udaljeni dekstop,poziv,nepozvan
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]=skrivebordsdeling,krfb,vnc,deling,krdc,ekstern skrivebordsforbindelse,invitation,port,slp,ikke inviteret
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]=compartición de escritorio,krfb,vnc,compartir,rdp,krdc, conexión escritorio remoto,invitación,puerto,slp,no invitado
Keywords[el]=κοινή χρήση επιφάνειας εργασίας,krfb,vnc,κοινή χρήση,krdc,σύνδεση σε απομακρυσμένη επιφάνεια εργασίας,πρόσκληση,θύρα,slp,απρόσκλητο
Keywords[eo]=tabulo,tabulokomunigado,foraj tabuloj
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[fi]=työpöydän jakaminen,krfb,vnc,jakaminen,krdc,etätyöpöytäyhteys, kutsu,portti,slp,kutsumaton
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]=שיתוף שולחן עבודה,krfb,vnc,שיתוף,rdp,krdc,חיבור לשולחן עבודה מרוחק,rdp
Keywords[hi]=डेस्कटॉप साझ, केआरएफबी,वीएनसी,साझ,केआरडीसी,रिमोट डेस्कटॉप कनेक्शन,निमंत्रण,पोर्ट,एसएलपी,अनिमंत्रित
Keywords[he]=שיתוף שולחן עבודה,שיתוף,חיבור לשולחן עבודה מרוחק,desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection, invitation, port, slp, uninvited
Keywords[hi]=डेस्कटॉप साझेदारी, केआरएफबी,वीएनसी,साझेदारी,केआरडीसी,रिमोट डेस्कटॉप कनेक्शन,निमंत्रण,पोर्ट,एसएलपी,बिन बुलाए
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[nl]=desktop sharing,krfb,vnc,sharing,rdp,krdc,remote desktop connection,uitnodiging,slp,rdp,verbinding,bureaubladvrijgave,bureaublad op afstand
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[ru]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,совместные ресурсы,рабочий стол,удалённая работа
Keywords[sk]=zdieľanie plochy,krfb,vnc,zdieľanie,rdp,krdc,pripojenie vzdialenej pracovnej plochy,rdp
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[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[xx]=xxdesktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvitedxx
Keywords[uk]=спільні стільниці,krfb,vnc,спільний,rdp,krdc,з'єднання віддаленої стільниці,запрошення,rdp,slp,без запрошення
Keywords[zh_CN]=desktop sharing,krfb,vnc,sharing,krdc,remote desktop connection,invitation,port,slp,uninvited,桌面共享,共享,远程桌面连接,邀请,端口,未邀请
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

@@ -5,7 +5,7 @@ kde_module_LTLIBRARIES = kded_kinetd.la
kded_kinetd_la_SOURCES = kinetd.cpp kinetd.skel
kded_kinetd_la_LDFLAGS = $(all_libraries) -module -avoid-version
kded_kinetd_la_LIBADD = ../srvloc/libsrvloc.la $(LIB_KIO)
kded_kinetd_la_LIBADD = ../srvloc/libsrvloc.la $(LIB_KIO) $(LIB_KDNSSD)
# Services
kde_servicetypes_DATA = kinetdmodule.desktop
@@ -17,8 +17,6 @@ EXTRA_DIST = $(kded_kinetd_la_SOURCES)\
$(kde_servicetypes_DATA) \
eventsrc README.debugging
KDE_ICON = kinetd
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(kde_datadir)/kinetd
$(INSTALL_DATA) $(srcdir)/eventsrc $(DESTDIR)$(kde_datadir)/kinetd/eventsrc

View File

@@ -1,14 +1,16 @@
[!Global!]
IconName=kinetd
Comment=KInetD
Comment[bn]=কে-আইনেট-ডি
Comment[hi]=के-इनिट-डी
Comment[sv]=Kinetd
Comment[xx]=xxKInetDxx
[IncomingConnection]
Name=IncomingConnection
Name[ar]=اتصال وارد
Name[bg]=Входяща връзка
Name[bg]=Получена е входяща връзка
Name[bn]=অন্তর্মুখী সংযোগ
Name[br]=Kevreadenn resev
Name[ca]=Connexió entrant
Name[cs]=Příchozí spojení
Name[cy]=CysylltiadCyrraedd
@@ -18,8 +20,11 @@ Name[el]=Εισερχόμενη σύνδεση
Name[eo]=EnvenantaKonekto
Name[es]=Conexión entrante
Name[et]=Sissetulev ühendus
Name[eu]=Sarrerako konexioa
Name[fa]=اتصال وارد‌شده
Name[fi]=Saapuva yhteys
Name[fr]=Connexion entrante
Name[ga]=CeangalIsteach
Name[gl]=Conexión Entrante
Name[he]=חיבור נכנס
Name[hi]=आवक-कनेक्शन
@@ -27,15 +32,21 @@ Name[hr]=DolaznaVeza
Name[hu]=Bejövő kapcsolat
Name[it]=Connessioni in entrata
Name[ja]=外部からの接続
Name[lt]=Ateinantis prisijungimas
Name[kk]=Кіріс қосылым
Name[km]=ការ​តភ្ជាប់​ចូល
Name[lt]=Gautas kvietimas ryšiui
Name[mk]=Дојдовно поврзување
Name[mn]=Орж ирсэн Холболт
Name[ms]=Sambungan Masuk
Name[mt]=KonnessjonijiDieħla
Name[nb]=Innkommende forbindelse
Name[nds]=RinkamenVerbinnen
Name[ne]=आगमन जडान
Name[nl]=Inkomende verbinding
Name[nn]=Innkomande samband
Name[nso]=Kopantsho yeo e Tsenago
Name[pl]=Połączenia przychodzące
Name[pt]=Ligação Recebida
Name[pt_BR]=Conexões de Entrada
Name[ro]=Conexiune de intrare
Name[ru]=Входящее соединение
@@ -43,21 +54,25 @@ Name[se]=Boahtti oktavuohta
Name[sk]=Prichádzajúce spojenia
Name[sl]=Prihajajoča povezava
Name[sr]=Долазећа веза
Name[sr@Latn]=Dolazeća veza
Name[sv]=Inkommande anslutning
Name[ta]=பல இணைப்புக்கள்
Name[ta]=உள்வரும் இணைப்புகள்
Name[tg]=Пайвастшавии Воридшаванда
Name[th]=มีการเชื่อมต่อเข้ามา
Name[tr]=Gelen Bağlantı
Name[uk]=ВхіднеЗ'єднання
Name[ven]=Vhukwamanihanga ngomu
Name[xh]=Uxhumaniso Olungenayo
Name[xx]=xxIncomingConnectionxx
Name[zh_CN]=进入的连接
Name[zh_HK]=進入連線
Name[zh_TW]=進來的連接
Name[zu]=UkuxhumanaOkuzayo
Comment=Received incoming connection
Comment[af]=Ontvang inkomende verbinding
Comment[ar]=تم استلام اتصال وارد
Comment[be]=Атрыманы запыт злучэння
Comment[bg]=Получена е входяща връзка
Comment[bn]=অন্তর্মুখী সংযোগ গ্রহণ করল
Comment[bs]=Primio dolaznu konekciju
Comment[ca]=Rebuda connexió entrant
Comment[cs]=Obdrženo příchozí spojení
@@ -68,6 +83,8 @@ Comment[el]=Λήψη εισερχόμενης σύνδεσης
Comment[eo]=Ricevantaj envenantaj konektoj
Comment[es]=Recibida conexión entrante
Comment[et]=Saadi sissetulev ühendus
Comment[eu]=Konexio bat jaso da
Comment[fa]=اتصال واردشده دریافت شد
Comment[fi]=Vastaanotettiin saapuva yhteys
Comment[fr]=Reçu une connexion entrante
Comment[gl]=Recibíuse unha conexión entrante
@@ -75,13 +92,20 @@ Comment[he]=נתקבל חיבור נכנס
Comment[hi]=आवक कनेक्शन प्राप्त
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[lt]=Gautas įeinantis prisijungimas
Comment[ka]=შემომავალი კავშირი მოვიდა
Comment[kk]=Кіріс қосылым қабылданды
Comment[km]=បាន​ទទួល​ការ​តភ្ជាប់​ចូល
Comment[lt]=Gautas kvietimas ryšiui
Comment[mk]=Примено е дојдовно поврзување
Comment[mn]=Орж ирсэн Холболтыг хүлээн авав
Comment[ms]=Menerima sambungan masuk
Comment[mt]=Irċevejt konnessjoni dieħla
Comment[nb]=Motta innkommende forbindelse
Comment[nds]=Tokoppelanfraag kregen
Comment[ne]=आगमन जडान प्राप्त गर्यो
Comment[nl]=Ontving een inkomende verbinding
Comment[nn]=Motta innkomande samband
Comment[nso]=Kopantsho yeo e amogetswego ya tseo di tsenago
@@ -90,18 +114,20 @@ 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[se]=Oaččui boahtti oktavuođa
Comment[sk]=Prijaté príchodzie spojenia
Comment[sl]=Prejeta je prihajajoča povezava
Comment[sr]=Примљена је долазећа веза
Comment[sr@Latn]=Primljena je dolazeća veza
Comment[sv]=Tar emot inkommande anslutning
Comment[ta]=எதிர்பாராத இணைப்பு ஏற்க்கப்ப்ட்டது
Comment[tg]=Пайвастшавии воридшаванда қабул гардид
Comment[th]=ได้รับการเชื่อมต่อเข้ามา
Comment[tr]=Gelen bağlantı alınıyor
Comment[uk]=Отримано вхідне з'єднання
Comment[ven]=Vhukwamani hau dzhena ho tanganedzhwaho
Comment[xh]=Uxhulumano olungenayo olufunyenweyo
Comment[xx]=xxReceived incoming connectionxx
Comment[zh_CN]=收到进入的连接
Comment[zh_HK]=已接收的進入連線
Comment[zh_TW]=已接收的進來的連線
Comment[zu]=Ukuxhumanisa okungenayo okutholakele
default_presentation=4
@@ -109,7 +135,8 @@ default_presentation=4
[ProcessFailed]
Name=ProcessFailed
Name[ar]=فشلت العملية
Name[bg]=Процесът се провали
Name[bg]=Процесът за обработка връзки не може да бъде стартиран
Name[bn]=প্রসেস ব্যর্থ
Name[ca]=Procés fallit
Name[cs]=Proces selhal
Name[cy]=MethoddProses
@@ -119,8 +146,11 @@ Name[el]=Η επεξεργασία απέτυχε
Name[eo]=ProcezoFiaskis
Name[es]=Proceso fallido
Name[et]=Protsess ebaõnnestus
Name[eu]=Prozesuak huts egin du
Name[fa]=خرابی پردازه
Name[fi]=Prosessi epäonnistui
Name[fr]=Échec du processus
Name[ga]=PróiseasTeipthe
Name[gl]=Proceso fallido
Name[he]=תהליך נכשל
Name[hi]=प्रक्रिया-असफल
@@ -128,15 +158,22 @@ Name[hr]=ProcesNeuspješan
Name[hu]=Hibás folyamat
Name[it]=Processo fallito
Name[ja]=プロセス失敗
Name[kk]=Процесс жаңылды
Name[km]=ដំណើរ​ការ​បាន​បរាជ័យ
Name[lt]=Procesas nepavyko
Name[mk]=Процесот не успеа
Name[mn]=Ажиллагаа сүйрэв
Name[ms]=Proses Gagal
Name[mt]=ProċessFalla
Name[nb]=Prosess mislyktes
Name[nl]=Proces faalde
Name[nds]=PerzessFehlslaan
Name[ne]=प्रक्रिया असफल भयो
Name[nl]=Proces mislukt
Name[nn]=Prosess mislukkast
Name[nso]=Tiragalo e Paletswe
Name[pa]=ਕਾਰਜ ਫੇਲ੍ਹ ਹੋਈ
Name[pl]=Błąd procesu
Name[pt]=Processo Mal-Sucedido
Name[pt_BR]=Falha de Processo
Name[ro]=Proces eşuat
Name[ru]=Ошибка процесса
@@ -144,20 +181,25 @@ Name[se]=Proseassa filtii
Name[sk]=Proces neúspešny
Name[sl]=Proces ni uspel
Name[sr]=Процес није успео
Name[sr@Latn]=Proces nije uspeo
Name[sv]=Process misslyckades
Name[ta]=செயல் தோல்வியுற்றது
Name[tg]=Ҷараён бо Нокомӣ анҷомид
Name[th]=โปรเซสล้มเหลว
Name[tr]=Başarısız İşlemler
Name[uk]=ПомилкаПроцесу
Name[ven]=Tshitenwa tsho bala
Name[xh]=Inkqubo Yahlulekile
Name[xx]=xxProcessFailedxx
Name[zh_CN]=处理失败
Name[zh_HK]=程序失敗
Name[zh_TW]=程序失敗
Name[zu]=UkwenzekaKuhlulekile
Comment=Could not call process to handle connection
Comment[af]=Kon nie roep proses na handvatsel verbinding
Comment[ar]=لم أستطع استحضار العملية لحمل المكالمة
Comment[bg]=Процесът за обработка на входящи връзки не може да бъде стартиран
Comment[be]=Немагчыма выклікаць працэс для апрацоўвання злучэння
Comment[bg]=Процесът за обработка връзки не може да бъде стартиран
Comment[bn]=সংযোগ পরিচালনা করতে প্রসেস শুরু করতে পারল না
Comment[bs]=Ne mogu pokrenuti proces koji upravlja konekcijom
Comment[ca]=No es pot cridar al procés per a manejar la connexió
Comment[cs]=Nelze spustit proces k obsluze spojení
@@ -168,38 +210,50 @@ Comment[el]=Δεν ήταν δυνατή η κλήση της διεργασία
Comment[eo]=Ne eblis lanĉi instancon por prizorgi la konekton
Comment[es]=Imposible lanzar proceso para manejar conexión
Comment[et]=Ei suuda käivitada protsessi ühenduse käsitsemiseks
Comment[eu]=Ezin izan da konexioa kudeatzeko prozesua deitu
Comment[fa]=نتوانست پردازه را برای گرداندن اتصال فراخوانی کند
Comment[fi]=Ei voitu kutsua prosessia yhteyden hoitamiseksi
Comment[fr]=Impossible d'appeler le processus pour gérer la connexion
Comment[gl]=Non se puidcho chamar ó proceso para que atendese á conexión
Comment[he]=אין אפשרות לקרוא לתהליך על מנת לטפל בחיבור
Comment[hi]=कनेक्शन हैंडल करने हेतु प्रक्रिया काल नहीं कर सका
Comment[hi]=कनेक्शन हैंडल करने के लिए प्रक्रिया काल नहीं कर सका
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[lt]=Negaliu iškviesti proceso prisijungimui apdoroti
Comment[ka]=კავშირის დამმუშავებელი პროცესის გამოძახება ვერ განხორციელდა
Comment[kk]=Қосылымды қолдайтын процесс жегілмеді
Comment[km]=មិន​អាច​ហៅ​ដំណើរ​ការ ដើម្បីដោះស្រាយ​ការ​ត​ភ្ជាប់​បាន​ឡើយ
Comment[lt]=Nepavyko iškviesti proceso prisijungimui apdoroti
Comment[mk]=Не може да се повика процесот за ракување со поврзувањето
Comment[mn]=Холболтыг заах ажиллагаагдуудаж чадаагүй
Comment[ms]=Tidak dapat memanggil proses untuk mengendalikan sambungan
Comment[mt]=Ma stajtx insejjaħ proċess biex jieħu ħsieb il-konnessjoni
Comment[nb]=Kunne ikke kalle en prosess for å håndtere forbindelsen
Comment[nds]=Perzess för't Verarbeiden vun Tokoppelanfragen lett sik nich opropen
Comment[ne]=जडान ह्यान्डल गर्न प्रक्रिया आह्वान गर्न सकेन
Comment[nl]=Het proces om de verbinding af te handelen kon niet worden aangeroepen
Comment[nn]=Klarte ikkje kalla prosess for sambandshandtering
Comment[nso]=Ebe ekase bitse tiragalo go swara kopantsho
Comment[pl]=Nie można było uruchomić procesu obsługi połączenia
Comment[pt]=Não foi possível chamar o processo de tratamento da ligação
Comment[pt]=Não foi possível invocar o processo para tratar da ligação
Comment[pt_BR]=Não foi possível chamar o processo de controle da conexão
Comment[ru]=Не удается запустить процесс обработки соединения
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@Latn]=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[th]=ไม่สามารถเรียกโปรเซสเพื่อรับการเชื่อมต่อได้
Comment[tr]=Elle bağlantıda başarısız çağrı işlemleri
Comment[uk]=Неможливо викликати процес для обробки з'єднання
Comment[ven]=Ingasi vhidze tshitenwa uitela u fara vhukwamani
Comment[xh]=Ayikwazanga ukubiza inkqubo ezakuphatha uxhulumano
Comment[xx]=xxCould not call process to handle connectionxx
Comment[zh_CN]=无法调用进程处理连接
Comment[zh_HK]=無法呼叫處理連線的程序
Comment[zh_TW]=無法呼叫處理連線的程序
Comment[zu]=Ayikwazanga ukubiza umsebenzi ukuzophatha ukuxhumanisa
default_presentation=4

View File

@@ -32,6 +32,9 @@
#include <klocale.h>
#include <kglobal.h>
#include <unistd.h>
#include <fcntl.h>
PortListener::PortListener(KService::Ptr s,
KConfig *config,
KServiceRegistry *srvreg) :
@@ -39,8 +42,11 @@ PortListener::PortListener(KService::Ptr s,
m_serviceRegistered(false),
m_socket(0),
m_config(config),
m_srvreg(srvreg)
m_srvreg(srvreg),
m_dnssdreg(0)
{
m_dnssdRegistered = false;
m_uuid = createUUID();
loadConfig(s);
@@ -75,8 +81,11 @@ bool PortListener::acquirePort() {
SLOT(accepted(KSocket*)));
bool s = m_registerService;
bool sd =m_dnssdRegister;
setServiceRegistrationEnabledInternal(false);
dnssdRegister(false);
setServiceRegistrationEnabledInternal(s);
dnssdRegister(sd);
return true;
}
@@ -86,6 +95,7 @@ void PortListener::freePort() {
delete m_socket;
m_socket = 0;
setServiceRegistrationEnabledInternal(m_registerService);
dnssdRegister(false);
}
void PortListener::loadConfig(KService::Ptr s) {
@@ -96,7 +106,7 @@ void PortListener::loadConfig(KService::Ptr s) {
m_multiInstance = false;
QVariant vid, vport, vautoport, venabled, vargument, vmultiInstance, vurl,
vsattributes, vslifetime;
vsattributes, vslifetime, vdname, vdtype, vddata;
m_execPath = s->exec().utf8();
vid = s->property("X-KDE-KINETD-id");
@@ -108,6 +118,9 @@ void PortListener::loadConfig(KService::Ptr s) {
vurl = s->property("X-KDE-KINETD-serviceURL");
vsattributes = s->property("X-KDE-KINETD-serviceAttributes");
vslifetime = s->property("X-KDE-KINETD-serviceLifetime");
vdname = s->property("X-KDE-KINETD-DNSSD-Name");
vdtype = s->property("X-KDE-KINETD-DNSSD-Type");
vddata = s->property("X-KDE-KINETD-DNSSD-Properties");
if (!vid.isValid()) {
kdDebug() << "Kinetd cannot load service "<<m_serviceName
@@ -149,6 +162,24 @@ void PortListener::loadConfig(KService::Ptr s) {
}
else
m_serviceAttributes = "";
if (vddata.isValid()) {
QStringList attrs = vddata.toStringList();
for (QStringList::iterator it=attrs.begin();
it!=attrs.end();it++) {
QString key = (*it).section('=',0,0);
QString value = processServiceTemplate((*it).section('=',1))[0];
if (!key.isEmpty()) m_dnssdData[key]=value;
}
}
if (vdname.isValid() && vdtype.isValid()) {
m_dnssdName = processServiceTemplate(vdname.toString())[0];
m_dnssdType = vdtype.toString();
m_dnssdRegister = true;
kdDebug() << "DNS-SD register is enabled\n";
}
else
m_dnssdRegister = false;
m_slpLifetimeEnd = QDateTime::currentDateTime().addSecs(m_serviceLifetime);
m_defaultPortBase = m_portBase;
@@ -188,6 +219,9 @@ void PortListener::accepted(KSocket *sock) {
return;
}
// disable CLOEXEC flag, fixes #77412
fcntl(sock->socket(), F_SETFD, fcntl(sock->socket(), F_GETFD) & ~FD_CLOEXEC);
m_process.clearArguments();
m_process << m_execPath << m_argument << QString::number(sock->socket());
if (!m_process.start(KProcess::DontCare)) {
@@ -275,6 +309,7 @@ void PortListener::setEnabledInternal(bool e, const QDateTime &ex) {
if (m_port < 0)
acquirePort();
m_enabled = m_port >= 0;
}
else {
freePort();
@@ -292,6 +327,7 @@ bool PortListener::isServiceRegistrationEnabled() {
void PortListener::setServiceRegistrationEnabled(bool e) {
setServiceRegistrationEnabledInternal(e);
dnssdRegister(e && m_enabled);
m_config->setGroup("ListenerConfig");
m_config->writeEntry("enable_srvreg_" + m_serviceName, e);
m_config->sync();
@@ -329,6 +365,23 @@ void PortListener::setServiceRegistrationEnabledInternal(bool e) {
}
}
void PortListener::dnssdRegister(bool e) {
if (m_dnssdName.isNull() || m_dnssdType.isNull())
return;
if (m_dnssdRegistered == e)
return;
if (e) {
m_dnssdRegistered=true;
m_dnssdreg = new DNSSD::PublicService(m_dnssdName,m_dnssdType,m_port);
m_dnssdreg->setTextData(m_dnssdData);
m_dnssdreg->publishAsync();
} else {
m_dnssdRegistered=false;
delete m_dnssdreg;
m_dnssdreg=0;
}
}
void PortListener::refreshRegistration() {
if (m_serviceRegistered && (m_slpLifetimeEnd.addSecs(-90) < QDateTime::currentDateTime())) {
setServiceRegistrationEnabledInternal(false);
@@ -597,7 +650,7 @@ KInetD::~KInetD() {
}
extern "C" {
KDEDModule *create_kinetd(QCString &name)
KDE_EXPORT KDEDModule *create_kinetd(QCString &name)
{
KGlobal::locale()->insertCatalogue("kinetd");
return new KInetD(name);

View File

@@ -1,5 +1,4 @@
[Desktop Entry]
Encoding=UTF-8
Type=Service
ServiceTypes=KDEDModule
@@ -11,97 +10,130 @@ X-KDE-Kded-autoload=true
Name=KDE Internet Daemon
Name[af]=Kde Internet Bediener
Name[ar]=مراقب انترنت كيدي
Name[bg]=Интернет демон за КДЕ
Name[be]=Сервіс Інтэрнэт KDE
Name[bg]=Интернет демон
Name[bn]=কে-ডি-ই ইন্টারনেট ডিমন
Name[br]=Diaoul kenrouedad KDE
Name[ca]=Dimoni d'Internet per al KDE
Name[cs]=KDE Internet démon
Name[cy]=Daemon Rhyngrwyd KDE
Name[da]=KDE Internet-dæmon
Name[de]=KDE Internet-Dämon
Name[de]=Internet-Dienst
Name[el]=Δαίμονας διαδικτύου για το KDE
Name[eo]=Retodemono
Name[es]=Demonio de Internet de KDE
Name[et]=KDE internetideemon
Name[fi]=KDE Internet palvelin
Name[eu]=KDE internet deabrua
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[he]=תהליך הרקע האינטרנטי של KDE
Name[hi]=केडीई इंटरनेट डेमन
Name[hu]=KDE internetes szolgáltatás
Name[is]=KDE Internetþjónn
Name[it]=Demone internet di KDE
Name[ja]=KDE インターネットデーモン
Name[lt]=KDE Interneto tarnyba
Name[ka]=KDE ინტერნეტის დემონი
Name[kk]=KDE Интернет қызметі
Name[km]=ដេមិន​អ៊ីនធឺណិត​របស់ KDE
Name[lt]=KDE interneto tarnyba
Name[mk]=Даемон за Интернет на KDE
Name[mn]=KDE Интернет-демон
Name[ms]=Daemon Internet KDE
Name[mt]=Daemon tal-internet KDE
Name[nb]=KDEs Internett-nisse
Name[nb]=KDEs internett-nisse
Name[nds]=KDE-Internetdämoon
Name[ne]=केडीई इन्टरनेट डेइमन
Name[nn]=KDE-Internett-nisse
Name[nso]=Daemon ya Internet ya KDE
Name[pl]=Demon internetowy KDE
Name[pa]=KDE ਇੰਟਰਨੈੱਟ ਡੈਮਨ
Name[pl]=Internet/sieć
Name[pt]=Servidor de Internet do KDE
Name[pt_BR]=Servidor Internet do do KDE
Name[pt_BR]=Servidor Internet do KDE
Name[ro]=Demon internet KDE
Name[ru]=Интернет-демон 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[sv]=KDE:s Internetdemon
Name[ta]=KDE இணைய டேமொன்
Name[ta]=கேடிஇ இணைய டேமொன்
Name[tg]=KDE Азозили Интернет
Name[th]=เดมอนอินเตอร์เน็ต KDE
Name[tr]=KDE İnternet Programı
Name[uk]=Демон Інтернет KDE
Name[uz]=KDE Интернет демони
Name[xx]=xxKDE Internet Daemonxx
Name[uz]=KDE Internet demoni
Name[uz@cyrillic]=KDE Интернет демони
Name[zh_CN]=KDE Internet 守护进程
Name[zh_HK]=KDE 互聯網系統程式
Name[zh_TW]=KDE Internet 伺服程式
Name[zu]=KDE Internet ye-Daemon
Comment=An Internet daemon that starts network services on demand
Comment[ar]=مراقب انترنت يقوم ببدء خدمات الشبكة عند الطلب
Comment[be]=Севіс Інтэрнэт, які стартуе сеткавыя сервісы па запыце
Comment[bg]=Интернет демон, който служи за стартиране на мрежови услуги при поискване
Comment[bn]=একটি ইন্টারনেট ডিমন যে চাহিদা ভিত্তিক নেটওয়ার্ক সার্ভিস আরম্ভ করে
Comment[bs]=Internet daemon koji pokreće mrežne servise po potrebi
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]=Ein Internet-Dämon, der Netzwerkdienste bei Bedarf startet
Comment[el]=Ένας δαίμονας για το διαδίκτυο ο οποίος ξεκινάει τις υπηρεσίες δικτύου βάση αίτησης
Comment[de]=Startet Netzwerkdienste bei Bedarf
Comment[el]=Ένας δαίμονας για το διαδίκτυο ο οποίος ξεκινάει τις υπηρεσίες δικτύου όταν απαιτείται
Comment[eo]=retdemono 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[fi]=Internet palvelin, joka käynnistää verkkopalveluita
Comment[eu]=Sare zerbitzuak eskatzean abiarazten dituen deabrua
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[he]=תהליך רקע של אינטרנט שמתחיל שירותי רשת לפי דרישה
Comment[hi]=एक इंटरनेट डेमन जो मांग पर नेटवर्क सेवा प्रारंभ करता है
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
Comment[it]=Un demone internet che avvia i servizi di rete a richiesta
Comment[ja]=要求時にネットワークサービスを起動するインターネットデーモン
Comment[ka]=ინტერნეტის დემონი, რომელიც ქსელის სერვისებს მოთხოვნით უშვებს
Comment[kk]=Талап етілгенде керек желі қызметтерді жегетін қызмет
Comment[km]=ដេមិន​អ៊ីនធឺណិត​ដែល​ចាប់ផ្ដើម​សេវា​បណ្ដាញ​នៅ​ពេល​ត្រូវការ
Comment[lt]=Interneto tarnyba, paleidžianti tinklo tarnybas esant poreikiui
Comment[mk]=Даемон за Интернет кој ги вклучува мрежните сервиси на барање
Comment[mn]=Сүлжээ-үйлчилгээний эрэлтээр ассан Сүлжээний демон
Comment[ms]=Daemon Internet yang memulakan servis jaringan di atas permintaan
Comment[mt]=Proċess tal-internet li jħaddem servizzi skond il-bżonn
Comment[nb]=Internett-nisse som starter nettverkstjenester ved behov
Comment[nl]=Een Internetdaemon die netwerkdiensten op afroep start
Comment[nb]=internett-nisse som starter nettverkstjenester ved behov
Comment[nds]=En Internet-Dämoon, wat Nettwarkdeensten op Anfraag start
Comment[ne]=एउटा इन्टरनेट डेइमन जसले मागमा सञ्जाल सेवा सुरु गर्दछ
Comment[nl]=Een internetdaemon die netwerkdiensten op afroep start
Comment[nn]=Internett-nisse som startar nettverkstenester når dei trengst
Comment[nso]=Daemon ya Internet yeo e thomisago ditirelo tsa kgokagano ge e nyakilwe
Comment[pl]=Demon internetowy, który uruchamia na żądanie usługi sieciowe
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 demone internet care porneşte serviciile de reţea la cerere
Comment[ru]=Сетевой демон, запускающий серверы по запросу из сети
Comment[ro]=Un demon de internet care 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[sv]=Internetdemon som startar nätverkstjänster vid behov
Comment[ta]=ஒரு இணைய டேமொன், டேமொன் பிணைய சேவையை ஆரம்பிகிறது
Comment[ta]=ஒரு இணைய டேமொன், டேமொன் பிணைய சேவையை ஆரம்பிக்கிறது
Comment[tg]=Азозили шабакавие, ки хидматрасони шабакавиро бо дархост сар медиҳад
Comment[th]=เดมอนอินเตอร์เน็ตซึ่งจะเริ่มทำงานบริการเครือข่ายเมื่อมีความต้องการ
Comment[tr]=Başlangıçta ağ servisleri tarafından istenen internet hayalet programı
Comment[uk]=Демон Інтернет, що запускає служби мережі при запиті
Comment[uz]=Талаб қилинганда тармоқ хизматларини ишга тушурувчи Интернет демони
Comment[uz]=Talab qilinganda tarmoq xizmatlarini ishga tushuruvchi Internet demoni
Comment[uz@cyrillic]=Талаб қилинганда тармоқ хизматларини ишга тушурувчи Интернет демони
Comment[ven]=Internet daemon ine ya thoma tshumelo ya vhukwamani kha muthetho
Comment[xh]=Internet daemon eqala iinkonzo zomsebenzi wonatha xa zifunwa
Comment[xx]=xxAn Internet daemon that starts network services on demandxx
Comment[zh_CN]=按需启动网络服务的守护进程
Comment[zh_HK]=自動依需求起動網絡服務的互聯網系統程式
Comment[zh_TW]=依要求起動網路服務的 Internet 伺服程式
Comment[zu]=I-Internet ye-daemon eqala ama-sevisi we-network adingekayo

View File

@@ -27,6 +27,7 @@
#include <qstring.h>
#include <qdatetime.h>
#include <qtimer.h>
#include <dnssd/publicservice.h>
#include "kserviceregistry.h"
@@ -37,6 +38,8 @@ private:
QString m_serviceName;
QString m_serviceURL, m_serviceAttributes;
QStringList m_registeredServiceURLs;
QString m_dnssdName, m_dnssdType;
QMap<QString,QString> m_dnssdData;
int m_serviceLifetime;
int m_port;
int m_portBase, m_autoPortRange;
@@ -46,6 +49,7 @@ private:
QString m_argument;
bool m_enabled;
bool m_serviceRegistered, m_registerService;
bool m_dnssdRegister, m_dnssdRegistered;
QDateTime m_expirationTime;
QDateTime m_slpLifetimeEnd;
QString m_uuid;
@@ -55,10 +59,12 @@ private:
KConfig *m_config;
KServiceRegistry *m_srvreg;
DNSSD::PublicService *m_dnssdreg;
void freePort();
void loadConfig(KService::Ptr s);
void setEnabledInternal(bool e, const QDateTime &ex);
void dnssdRegister(bool enabled);
void setServiceRegistrationEnabledInternal(bool enabled);
public:

View File

@@ -5,33 +5,48 @@ Type=ServiceType
X-KDE-ServiceType=KInetDModule
Name=KInetD Module Type
Name[ar]=KInetD نوع وحدة
Name[be]=Тып модуля KInetD
Name[bg]=Модул на KInetD
Name[bn]=কে-আইনেট-ডি মডিউল ধরন
Name[br]=Seurt ar mollad KInetD
Name[bs]=KInetD tip modula
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[el]=Τύπος αρθρώματος KInetD
Name[eo]=KInetD-modulotipo
Name[es]=Tipo de módulo KInetD
Name[et]=KInetD mooduli tüüp
Name[fi]=KInetD moduulityyppi
Name[eu]=KInetD modulu mota
Name[fa]=نوع پیمانۀ KInetD
Name[fi]=KInetD-moduulityyppi
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[hr]=Tip KInetD Modula
Name[hu]=KInetD modultípus
Name[is]=KInetD Module tegund
Name[it]=Tipo modulo KInetD
Name[ja]=KInetD モジュールタイプ
Name[ka]=KInetD მოდულის ტიპი
Name[kk]=KInetD модулі
Name[km]=ប្រភេទ​ម៉ូលឌុល KInetD
Name[lt]=KInetD modulio tipas
Name[mk]=Тип на модул за KInetD
Name[mn]=Модуль KInetD
Name[ms]=Jenis Modul KInetD
Name[mt]=Tip ta' modulu KInetD
Name[nb]=KInetd-programtillegstype
Name[nds]=KInetD-Moduultyp
Name[ne]=KInetD मोड्युल प्रकार
Name[nl]=KInetD-moduletype
Name[nn]=KInetD-programtilleggstype
Name[nso]=Mohuta wa Seripa sa KInetD
Name[pa]=KInetD ਮੋਡੀਊਲ ਕਿਸਮ
Name[pl]=Typ modułu KInetD
Name[pt]=Tipo de Módulo do KInetD
Name[pt_BR]=Módulo KInetD
@@ -41,14 +56,16 @@ 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[sv]=Kinetd-modultyp
Name[ta]=KInetD கூறு வகை
Name[tg]=Навъи Модули KInetD
Name[tr]=KDED Modül Türü
Name[uk]=Тип модулю KinetD
Name[ven]=Lushaka lwa Modulu ya KInetD
Name[xh]=Udidi Lomqongo womlinganiselo we KInetD
Name[xx]=xxKInetD Module Typexx
Name[zh_CN]=KInetD 模块类型
Name[zh_HK]=KInetD 模組類型
Name[zh_TW]=KInetD 模組類型
Name[zu]=KInetD Uhlobo Lokwenza
@@ -79,7 +96,7 @@ Type=QString
[PropertyDef::X-KDE-KINETD-multiInstance]
Type=bool
# if set, kinetd will register the given URL at the local SLP SA while
# if set, kinetd will register the given URL at the local SLP SA while
# the port is open. It will register one URL for each IP address of the
# host.
# The following strings will be substituted:
@@ -101,9 +118,31 @@ Type=QString
[PropertyDef::X-KDE-KINETD-serviceAttributes]
Type=QString
# the lifetime of a service in seconds. kinets will renew the service
# the lifetime of a service in seconds. kinets will renew the service
# automatically. Max 65535, never use anything under 2 min. Something like
# 5-20 minutes is a sane value for most desktop applications.
[PropertyDef::X-KDE-KINETD-serviceLifetime]
Type=int
# if set, kinetd will announce service with given name on local network while
# the port is open.
# The following strings will be substituted:
# %h with the local IP address
# %f with the user's full name
# %p with the port number
[PropertyDef::X-KDE-KINETD-DNSSD-Name]
Type=QString
# if kinetd announces service on network using DNS-SD, this string will be used as service
# type. It must be in form _yourservice._udp or _yourservice._tcp
# it uses the same substitution rules as X-KDE-KINETD-DNSSD-Name
[PropertyDef::X-KDE-KINETD-DNSSD-Type]
Type=QString
# defines list of text properties for service announced via DNS-SD
# it uses the same substitution rules as X-KDE-KINETD-DNSSD-Name
[PropertyDef::X-KDE-KINETD-DNSSD-Properties]
Type=QStringList

View File

@@ -3,21 +3,17 @@ KDE_CXXFLAGS = $(USE_THREADS)
METASOURCES = AUTO
noinst_LTLIBRARIES = libkrfbconfig.la
libkrfbconfig_la_SOURCES = configuration.cc manageinvitations.ui \
personalinvitation.ui invite.ui invitation.cc
libkrfbconfig_la_SOURCES = configuration.cc configuration.skel invitedialog.cc invitation.cc \
manageinvitations.ui personalinvitewidget.ui \
invitewidget.ui personalinvitedialog.cc
libkrfbconfig_la_LIBADD = ../srvloc/libsrvloc.la $(LIB_KDEUI)
bin_PROGRAMS = krfb
krfb_SOURCES = rfbcontroller.cc xupdatescanner.cc main.cpp \
newconnectiondialog.ui krfbifaceimpl.cc krfbiface.skel \
trayicon.cpp
krfb_LDADD = libkrfbconfig.la ../libvncserver/libvncserver.la ../srvloc/libsrvloc.la -lXtst $(LIB_KDEUI) $(LIBJPEG)
connectionwidget.ui krfbifaceimpl.cc krfbiface.skel \
trayicon.cpp connectiondialog.cc
krfb_LDADD = libkrfbconfig.la ../libvncserver/libvncserver.la ../srvloc/libsrvloc.la -lXtst $(LIB_KDEUI) $(LIBJPEG) -lkio
krfb_LDFLAGS = $(all_libraries) $(KDE_RPATH)
krfb_COMPILE_FIRST = manageinvitations.h personalinvitation.h invite.h
noinst_HEADERS = configuration.h invitation.h invite.h krfbiface.h \
krfbifaceimpl.h rfbcontroller.h trayicon.h xupdatescanner.h
appdatadir = $(kde_datadir)/krfb/pics
appdata_DATA = eyes-open24.png eyes-closed24.png connection-side-image.png

View File

@@ -35,6 +35,8 @@
#include <qlineedit.h>
#include <qcheckbox.h>
#include <krun.h>
/**
* Note that this class is used and provides GUI in every mode:
* - for the invitation dialogs
@@ -44,8 +46,8 @@
Configuration::Configuration(krfb_mode mode) :
m_mode(mode),
invMngDlg(0, 0, true),
invDlg(0, 0, true),
persInvDlg(0, 0, true),
invDlg(0, "InviteDialog"),
persInvDlg(0, "PersonalInviteDialog"),
portNum(-1),
kinetdRef("kded", "kinetd")
{
@@ -54,6 +56,8 @@ Configuration::Configuration(krfb_mode mode) :
saveToDialogs();
doKinetdConf();
connectDCOPSignal( 0, "KRFB::ConfigChanged", "KRFB_ConfigChanged()",
"updateKConfig()", false );
connect(invMngDlg.newPersonalInvitationButton, SIGNAL(clicked()),
SLOT(showPersonalInvitationDialog()));
connect(invMngDlg.newEmailInvitationButton, SIGNAL(clicked()), SLOT(inviteEmail()));
@@ -62,15 +66,16 @@ Configuration::Configuration(krfb_mode mode) :
invMngDlg.listView->setSelectionMode(QListView::Extended);
invMngDlg.listView->setMinimumSize(QSize(400, 100)); // QTs size is much to small
connect(invDlg.createInvitationButton, SIGNAL(clicked()),
connect(&invDlg, SIGNAL(createInviteClicked()),
SLOT(showPersonalInvitationDialog()));
connect(invDlg.createInvitationEMailButton, SIGNAL(clicked()),
connect(&invDlg, SIGNAL(emailInviteClicked()),
SLOT(inviteEmail()));
connect(invDlg.manageInvitationsButton, SIGNAL(clicked()),
connect(&invDlg, SIGNAL(manageInviteClicked()),
SLOT(showManageInvitationsDialog()));
connect(invDlg.configurationButton, SIGNAL(clicked()),
connect(&invDlg, SIGNAL(configureClicked()),
SLOT(showConfigurationModule()));
connect(this, SIGNAL(invitationNumChanged(int)), this, SLOT(changeInvDlgNum(int)));
connect(this, SIGNAL(invitationNumChanged(int)),
&invDlg, SLOT(setInviteCount(int)));
connect(this, SIGNAL(invitationNumChanged(int)),
&invMngDlg, SLOT(listSizeChanged(int)));
emit invitationNumChanged(invitationList.size());
@@ -83,6 +88,11 @@ Configuration::~Configuration() {
save();
}
void Configuration::updateKConfig()
{
loadFromKConfig();
}
void Configuration::setKInetdEnabled(bool enabled) {
kinetdRef.send("setEnabled", QString("krfb"), enabled);
kinetdRef.send("setEnabled", QString("krfb_httpd"), enabled);
@@ -388,10 +398,6 @@ void Configuration::showInvitationDialog() {
saveToKConfig();
}
void Configuration::changeInvDlgNum(int newNum) {
invDlg.manageInvitationsButton->setText( i18n("&Manage Invitations (%1)...").arg(newNum) );
}
////////////// personal invitation dialog //////////////////////////
void Configuration::showPersonalInvitationDialog() {
@@ -400,16 +406,15 @@ void Configuration::showPersonalInvitationDialog() {
save();
emit invitationNumChanged(invitationList.size());
invDlg.createInvitationButton->setEnabled(false);
invDlg.enableInviteButton(false);
invMngDlg.newPersonalInvitationButton->setEnabled(false);
persInvDlg.hostLabel->setText(QString("%1:%2").arg(hostname()).arg(port()));
persInvDlg.passwordLabel->setText(inv.password());
persInvDlg.expirationLabel->setText(
inv.expirationTime().toString(Qt::LocalDate));
persInvDlg.setHost(hostname(), port());
persInvDlg.setPassword(inv.password());
persInvDlg.setExpiration(inv.expirationTime());
persInvDlg.exec();
invDlg.createInvitationButton->setEnabled(true);
invDlg.enableInviteButton(true);
invMngDlg.newPersonalInvitationButton->setEnabled(true);
}
@@ -419,7 +424,7 @@ void Configuration::inviteEmail() {
int r = KMessageBox::warningContinueCancel(0,
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, whatever comes first. \n"
"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"),
@@ -462,9 +467,7 @@ void Configuration::inviteEmail() {
////////////// invoke kcontrol module //////////////////////////
void Configuration::showConfigurationModule() {
KProcess p;
p << "kcmshell" << "Network/kcmkrfb";
p.start(KProcess::DontCare);
KRun::run( "kcmshell kcmkrfb", KURL::List() );
}

View File

@@ -21,8 +21,8 @@
#include "invitation.h"
#include "manageinvitations.h"
#include "personalinvitation.h"
#include "invite.h"
#include "personalinvitedialog.h"
#include "invitedialog.h"
#include <dcopref.h>
#include <kconfig.h>
@@ -31,6 +31,8 @@
#include <qvalidator.h>
#include <qstring.h>
#include <dcopobject.h>
enum krfb_mode {
KRFB_UNKNOWN_MODE = 0,
KRFB_KINETD_MODE,
@@ -44,11 +46,12 @@ enum krfb_mode {
* standalone-config-dialog and all the invitation dialogs
* @author Tim Jansen
*/
class Configuration : public QObject {
class Configuration : public QObject, public DCOPObject {
K_DCOP
Q_OBJECT
public:
Configuration(krfb_mode mode);
~Configuration();
virtual ~Configuration();
krfb_mode mode() const;
bool askOnConnect() const;
@@ -104,8 +107,8 @@ private:
krfb_mode m_mode;
ManageInvitationsDialog invMngDlg;
InvitationDialog invDlg;
PersonalInvitationDialog persInvDlg;
InviteDialog invDlg;
PersonalInviteDialog persInvDlg;
QTimer refreshTimer;
bool askOnConnectFlag;
@@ -122,13 +125,15 @@ private:
bool disableBackgroundFlag;
bool disableXShmFlag;
k_dcop:
// Connected to the DCOP signal
void updateKConfig();
private slots:
void refreshTimeout();
void invMngDlgDeleteOnePressed();
void invMngDlgDeleteAllPressed();
void changeInvDlgNum(int newNum);
};
#endif

63
krfb/connectiondialog.cc Normal file
View File

@@ -0,0 +1,63 @@
/* This file is part of the KDE project
Copyright (C) 2004 Nadeem Hasan <nhasan@kde.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include "connectiondialog.h"
#include "connectionwidget.h"
#include <qcheckbox.h>
#include <qlabel.h>
#include <kiconloader.h>
#include <klocale.h>
ConnectionDialog::ConnectionDialog( QWidget *parent, const char *name )
: KDialogBase( parent, name, true, i18n( "New Connection" ),
Ok|Cancel, Cancel, true )
{
m_connectWidget = new ConnectionWidget( this, "ConnectWidget" );
m_connectWidget->pixmapLabel->setPixmap(
UserIcon( "connection-side-image.png" ) );
KGuiItem accept = KStdGuiItem::ok();
accept.setText( i18n( "Accept Connection" ) );
setButtonOK( accept );
KGuiItem refuse = KStdGuiItem::cancel();
refuse.setText( i18n( "Refuse Connection" ) );
setButtonCancel( refuse );
setMainWidget( m_connectWidget );
}
void ConnectionDialog::setRemoteHost( const QString &host )
{
m_connectWidget->remoteHost->setText( host );
}
void ConnectionDialog::setAllowRemoteControl( bool b )
{
m_connectWidget->cbAllowRemoteControl->setChecked( b );
}
bool ConnectionDialog::allowRemoteControl()
{
return m_connectWidget->cbAllowRemoteControl->isChecked();
}
#include "connectiondialog.moc"

44
krfb/connectiondialog.h Normal file
View File

@@ -0,0 +1,44 @@
/* This file is part of the KDE project
Copyright (C) 2004 Nadeem Hasan <nhasan@kde.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef CONNECTIONDIALOG_H
#define CONNECTIONDIALOG_H
#include <kdialogbase.h>
class ConnectionWidget;
class ConnectionDialog : public KDialogBase
{
Q_OBJECT
public:
ConnectionDialog( QWidget *parent, const char *name );
~ConnectionDialog() {};
void setRemoteHost( const QString &host );
void setAllowRemoteControl( bool b );
bool allowRemoteControl();
protected:
ConnectionWidget *m_connectWidget;
};
#endif // CONNECTIONDIALOG_H

208
krfb/connectionwidget.ui Normal file
View File

@@ -0,0 +1,208 @@
<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
<class>ConnectionWidget</class>
<widget class="QWidget">
<property name="name">
<cstring>NewConnectWidget</cstring>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>521</width>
<height>328</height>
</rect>
</property>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="margin">
<number>0</number>
</property>
<widget class="QLabel" row="0" column="1" rowspan="1" colspan="2">
<property name="name">
<cstring>TextLabel5</cstring>
</property>
<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>
<bold>1</bold>
</font>
</property>
<property name="text">
<string>Attention</string>
</property>
<property name="indent">
<number>0</number>
</property>
</widget>
<widget class="QLabel" row="1" column="1" rowspan="1" colspan="2">
<property name="name">
<cstring>mainTextLabel</cstring>
</property>
<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="margin">
<number>0</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>AutoText</enum>
</property>
<property name="alignment">
<set>WordBreak|AlignVCenter|AlignLeft</set>
</property>
<property name="indent">
<number>0</number>
</property>
<property name="wordwrap" stdset="0">
</property>
</widget>
<widget class="QLabel" row="0" column="0" rowspan="6" colspan="1">
<property name="name">
<cstring>pixmapLabel</cstring>
</property>
<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>WinPanel</enum>
</property>
<property name="frameShadow">
<enum>Sunken</enum>
</property>
<property name="lineWidth">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="indent">
<number>0</number>
</property>
</widget>
<widget class="QLabel" row="3" column="2">
<property name="name">
<cstring>remoteHost</cstring>
</property>
<property name="font">
<font>
<bold>1</bold>
</font>
</property>
<property name="text">
<string>123.234.123.234</string>
</property>
</widget>
<widget class="QCheckBox" row="5" column="1" rowspan="1" colspan="2">
<property name="name">
<cstring>cbAllowRemoteControl</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>1</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Allow remote user to &amp;control keyboard and mouse</string>
</property>
<property name="whatsThis" stdset="0">
<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>
</widget>
<widget class="QLabel" row="3" column="1">
<property name="name">
<cstring>TextLabel1</cstring>
</property>
<property name="font">
<font>
<bold>1</bold>
</font>
</property>
<property name="text">
<string>Remote system:</string>
</property>
</widget>
<spacer row="4" column="1">
<property name="name">
<cstring>spacer23</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>Minimum</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>84</height>
</size>
</property>
</spacer>
<spacer row="2" column="1">
<property name="name">
<cstring>spacer22</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>Minimum</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>80</height>
</size>
</property>
</spacer>
</grid>
</widget>
<layoutdefaults spacing="6" margin="11"/>
</UI>

BIN
krfb/cr16-app-krfb.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 931 B

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +0,0 @@
#include <kapplication.h>
void InvitationDialog::helpClicked()
{
KApplication::kApplication()->invokeHelp();
}

65
krfb/invitedialog.cc Normal file
View File

@@ -0,0 +1,65 @@
/* This file is part of the KDE project
Copyright (C) 2004 Nadeem Hasan <nhasan@kde.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include "invitedialog.h"
#include "invitewidget.h"
#include <kiconloader.h>
#include <klocale.h>
#include <kstdguiitem.h>
#include <qlabel.h>
#include <qpushbutton.h>
InviteDialog::InviteDialog( QWidget *parent, const char *name )
: KDialogBase( parent, name, true, i18n( "Invitation" ),
User1|Close|Help, NoDefault, true )
{
m_inviteWidget = new InviteWidget( this, "InviteWidget" );
m_inviteWidget->pixmapLabel->setPixmap(
UserIcon( "connection-side-image.png" ) );
setMainWidget( m_inviteWidget );
setButtonGuiItem( User1, KStdGuiItem::configure() );
connect( m_inviteWidget->btnCreateInvite, SIGNAL( clicked() ),
SIGNAL( createInviteClicked() ) );
connect( m_inviteWidget->btnEmailInvite, SIGNAL( clicked() ),
SIGNAL( emailInviteClicked() ) );
connect( m_inviteWidget->btnManageInvite, SIGNAL( clicked() ),
SIGNAL( manageInviteClicked() ) );
}
void InviteDialog::slotUser1()
{
emit configureClicked();
}
void InviteDialog::enableInviteButton( bool enable )
{
m_inviteWidget->btnCreateInvite->setEnabled( enable );
}
void InviteDialog::setInviteCount( int count )
{
m_inviteWidget->btnManageInvite->setText(
i18n( "&Manage Invitations (%1)..." ).arg( count ) );
}
#include "invitedialog.moc"

54
krfb/invitedialog.h Normal file
View File

@@ -0,0 +1,54 @@
/* This file is part of the KDE project
Copyright (C) 2004 Nadeem Hasan <nhasan@kde.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef INVITEDIALOG_H
#define INVITEDIALOG_H
class InviteWidget;
#include <kdialogbase.h>
class InviteDialog : public KDialogBase
{
Q_OBJECT
public:
InviteDialog( QWidget *parent, const char *name );
~InviteDialog() {}
void enableInviteButton( bool enable );
public slots:
void setInviteCount( int count );
signals:
void createInviteClicked();
void emailInviteClicked();
void manageInviteClicked();
void configureClicked();
protected slots:
void slotUser1();
protected:
InviteWidget *m_inviteWidget;
};
#endif // INVITEDIALOG_H

197
krfb/invitewidget.ui Normal file
View File

@@ -0,0 +1,197 @@
<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
<class>InviteWidget</class>
<widget class="QWidget">
<property name="name">
<cstring>InviteWidget</cstring>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>521</width>
<height>328</height>
</rect>
</property>
<property name="caption">
<string></string>
</property>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="margin">
<number>0</number>
</property>
<widget class="QLabel" row="0" column="1" rowspan="1" colspan="3">
<property name="name">
<cstring>TextLabel2</cstring>
</property>
<property name="font">
<font>
<bold>1</bold>
</font>
</property>
<property name="text">
<string>Welcome to KDE Desktop Sharing</string>
</property>
</widget>
<widget class="KActiveLabel" row="1" column="1" rowspan="1" colspan="3">
<property name="name">
<cstring>kActiveLabel1</cstring>
</property>
<property name="focusPolicy">
<enum>NoFocus</enum>
</property>
<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:&lt;p&gt;An invitation creates a one-time password that allows the receiver to connect to your desktop. It is valid for only one successful connection and will expire after an hour if it has not been used. When somebody connects to your computer a dialog will appear and ask you for permission. The connection will not be established before you accept it. In this dialog you can also restrict the other person to view your desktop only, without the ability to move your mouse pointer or press keys.&lt;/p&gt;&lt;p&gt;If you want to create a permanent password for Desktop Sharing, allow 'Uninvited Connections' in the configuration.&lt;/p&gt;"&gt;More about invitations...&lt;/a&gt;</string>
</property>
</widget>
<widget class="QLabel" row="0" column="0" rowspan="7" colspan="1">
<property name="name">
<cstring>pixmapLabel</cstring>
</property>
<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>WinPanel</enum>
</property>
<property name="frameShadow">
<enum>Sunken</enum>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
<property name="alignment">
<set>AlignTop</set>
</property>
</widget>
<spacer row="4" column="3">
<property name="name">
<cstring>spacer4</cstring>
</property>
<property name="orientation">
<enum>Horizontal</enum>
</property>
<property name="sizeType">
<enum>Expanding</enum>
</property>
<property name="sizeHint">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
<widget class="QPushButton" row="3" column="2">
<property name="name">
<cstring>btnCreateInvite</cstring>
</property>
<property name="text">
<string>Create &amp;Personal Invitation...</string>
</property>
<property name="toolTip" stdset="0">
<string></string>
</property>
<property name="whatsThis" stdset="0">
<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>
</widget>
<spacer row="6" column="2">
<property name="name">
<cstring>spacer5</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>Fixed</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>24</height>
</size>
</property>
</spacer>
<spacer row="4" column="1">
<property name="name">
<cstring>spacer3</cstring>
</property>
<property name="orientation">
<enum>Horizontal</enum>
</property>
<property name="sizeType">
<enum>Expanding</enum>
</property>
<property name="sizeHint">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
<widget class="QPushButton" row="5" column="2">
<property name="name">
<cstring>btnManageInvite</cstring>
</property>
<property name="text">
<string>&amp;Manage Invitations (%1)...</string>
</property>
</widget>
<widget class="QPushButton" row="4" column="2">
<property name="name">
<cstring>btnEmailInvite</cstring>
</property>
<property name="text">
<string>Invite via &amp;Email...</string>
</property>
<property name="whatsThis" stdset="0">
<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>
</widget>
<spacer row="2" column="2">
<property name="name">
<cstring>spacer2</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>MinimumExpanding</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>89</height>
</size>
</property>
</spacer>
</grid>
</widget>
<signals>
<signal>createInviteClicked()</signal>
<signal>emailInviteClicked()</signal>
<signal>manageInviteClicked()</signal>
</signals>
<layoutdefaults spacing="6" margin="11"/>
<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
</UI>

View File

@@ -1,5 +1,4 @@
[Desktop Entry]
Encoding=UTF-8
Type=Service
ServiceTypes=KInetDModule
@@ -14,83 +13,116 @@ X-KDE-KINETD-multiInstance=false
X-KDE-KINETD-serviceURL=service:remotedesktop.kde:vnc://%h:%p;(type=shared),(username=%u),(fullname=%f),(serviceid=%i)
X-KDE-KINETD-serviceAttributes=(type=shared),(username=%u),(fullname=%f),(serviceid=%i)
X-KDE-KINETD-serviceLifetime=1200
X-KDE-KINETD-DNSSD-Name=Remote Desktop of %u
X-KDE-KINETD-DNSSD-Type=_rfb._tcp
X-KDE-KINETD-DNSSD-Properties=type=shared,u=%u,fullname=%f
Name=KRfb Desktop Sharing
Name[ar]=KRfb مشاركة سطح المكتب
Name[bg]=Споделяне на работно място (KRfb)
Name[be]=Агульнае выкарыстанне кампутара KRfb
Name[bg]=Споделяне на работното място (KRfb)
Name[bn]=কে-আর-এফ-বি ডেস্কটপ ভাগাভাগি
Name[br]=Rannañ burev KRfb
Name[bs]=KRfb dijeljenje desktopa
Name[ca]=Compartició de l'escriptori KRfb
Name[cs]=Sdílení pracovní plochy KRfb
Name[cy]=Rhannu Penbwrdd KRfb
Name[da]=KRfb Skrivebordsdeling
Name[da]=KRfb desktopdeling
Name[de]=KRfb Arbeitsfläche freigeben
Name[el]=KRfb μοίρασμα επιφάνειας εργασίας
Name[el]=Κοινή χρήση επιφάνειας εργασίας KRfb
Name[eo]=KRfb Tabula fordonado
Name[es]=Compartición de escritorio KRfb
Name[es]=Escritorio compartido KRfb
Name[et]=KRfb Töölaua jagamine
Name[fi]=Työpöydän jakaminen
Name[eu]=KRfb mahaigain partekatzea
Name[fa]=اشتراک رومیزی KRfb
Name[fi]=KRfb työpöydän jakaminen
Name[fr]=Partage de bureau KRfb
Name[ga]=Roinnt Deisce KRfb
Name[gl]=KRfb Compartición de Escritorios
Name[he]=שיתוף שולחנות עבודה של KRfb
Name[hi]=KRfb डेस्कटॉप साझ
Name[hi]=KRfb डेस्कटॉप साझेदारी
Name[hr]=KRfb dijeljenje radne površine
Name[hu]=KRfb munkaasztal-megosztás
Name[is]=KRfb Skjáborðsmiðlun
Name[it]=Condivisione desktop KRfb
Name[ja]=KRfb デスクトップ共有
Name[lt]=KRfb dalinimasis darbastaliu
Name[ka]=KRfb სამუშაო მაგიდის გაზიარება
Name[kk]=KRfb ортақ үстелі
Name[km]=ការ​ចែក​រំលែក​ផ្ទៃ​តុ KRfb
Name[lt]=KRfb Dalinimasis darbastaliu
Name[mk]=Делење на површина со KRfb
Name[mn]=KRfb ажлын байр
Name[ms]=Perkongsian Ruang Kerja KRfb
Name[mt]=Qsim tad-desktop KRfb
Name[nb]=KRfb skrivebordsdeling
Name[nds]=KRfb-Schriefdischfreegaav
Name[ne]=KRfb डेस्कटप साझेदारी
Name[nl]=KRfb Bureaublad delen
Name[nn]=KRfb-skrivebordsdeling
Name[nso]=Kabagano ya Desktop ya KRfp
Name[pa]=KRfb ਡੈਸਕਟਾਪ ਸਾਂਝ
Name[pl]=KRfb Współdzielenie pulpitu
Name[pt]=Partilha do Ecrã KRfb
Name[pt_BR]=Compartilhamento do Ambiente de Trabalho KRfb
Name[ro]=Partajare ecran KRfb
Name[ru]=Общий рабочий стол KRfb
Name[se]=KRfb-čállinbeavdejuohkin
Name[sk]=KRfb zdieľanie pracovnej plochy
Name[sl]=Deljenje namizja z KRfb
Name[sr]=KRfb дељење радне површине
Name[sr@Latn]=KRfb deljenje radne površine
Name[sv]=Krfb dela ut skrivbord
Name[ta]=மேசைமேல் பகிர்வு
Name[ta]=KRfb பணிமேடை பகிர்வு
Name[tg]=Истифодабарии муштакари Мизи кории KRfb
Name[th]=แบ่งการใช้งานพื้นที่ทำงานร่วมกัน
Name[tr]=KRfb Masaüstü Paylaşımı
Name[uk]=Спільні стільниця KRfb
Name[ven]=U kovhekana ha Desikithopo ya KRfb
Name[xh]=Desktop ye KRfb Isebenza ngokuhlangeneyo
Name[xx]=xxKRfb Desktop Sharingxx
Name[zh_CN]=KRfb 桌面共享
Name[zh_HK]=KRfb 桌面分享
Name[zh_TW]=KRfb 桌面分享
Name[zu]=KRfb ukwahlukanisela kwe-Desktop Sharing
Comment=A daemon that allows you to share your desktop
Comment[af]='n bediener wat laat toe jy na deel jou werkskerm
Comment[ar]=مراقب يسمح لك بمشاركة سطح مكتبك
Comment[be]=Сервіс, які дае магчымасць кіравання стальніцай з іншага кампутара
Comment[bg]=Демон за споделяне на работното място
Comment[bn]=একটি ডিমন যে আপনার ডেস্কটপ ভাগাভাগি করতে আপনাকে অনুমতি দেয়
Comment[bs]=Daemon koji vam omogućuje da dijelite vaš desktop
Comment[ca]=Un dimoni que us permetrà compartir el vostre escriptori
Comment[cs]=Démon umožňující sdílení vaší plochy
Comment[cy]=Daemon sy'n gadael i chi rannu eich penbwrdd
Comment[da]=En dæmon der tillader dig at dele dit skrivebord
Comment[de]=Ein Dämon, der die Freigabe der Arbeitsfläche erlaubt
Comment[da]=En dæmon der tillader dig at dele din desktop
Comment[de]=Ein Dienst, der die Freigabe der Arbeitsfläche erlaubt
Comment[el]=Ένας δαίμονας που σας επιτρέπει να μοιραστείτε την επιφάνεια εργασίας σας
Comment[eo]=demono por permesi retan fordonadon de via tabulo
Comment[es]=Un demonio que le permite compartir su escritorio
Comment[et]=Deemon, mis lubab sul töölauda jagada
Comment[fi]=Palvelin joka mahdollistaa työpöydän jakamisen
Comment[eu]=Zure mahaigaina partekatzeko aukera ematen duen deabrua da
Comment[fa]=یک شبح که اجازۀ مشترک ساختن رومیزی را به شما می‌دهد
Comment[fi]=Palvelin, joka mahdollistaa työpöydän jakamisen
Comment[fr]=Un démon qui vous permet de partager votre bureau
Comment[ga]=Deamhan a chuireann ar do chumas do dheasca a roinnt
Comment[gl]=Un demo que permite a compartición do teu escritorio
Comment[he]=תהליך רקע שמאפשר לך לשתף את שולחן העבודה שלך
Comment[hi]=आपके डेस्कटॉप को साझ करने देने वाला डेमन
Comment[hi]=आपके डेस्कटॉप को साझेदारी करने देने वाला डेमन
Comment[hr]=Daemon koji vam omogućuje da dijelite svoju radnu površinu s drugima
Comment[hu]=Munkaasztal-megosztási szolgáltatás
Comment[is]=Þjónn sem leyfir þér að miðla skjáborðinu þínu
Comment[it]=Un demone che permette di condividere il tuo desktop
Comment[ja]=デスクトップ共有を可能にするデーモン
Comment[lt]=Tarnyba, leidžianti jums dalintis savo darbastaliu
Comment[ka]=დემონი, რომელიც სამუშაო მაგიდის გაზიარების საშუალებას იძლევა
Comment[kk]=Үстеліңізді ортақтастыруға мүмкіндік беретін қызмет
Comment[km]=ដេមិន​ដែល​អនុញ្ញាត​ឲ្យ​អ្នក​ចែក​រំលែក​ផ្ទៃតុ​របស់​អ្នក
Comment[lt]=Tarnyba, leidžianti dalintis savo darbastaliu
Comment[mk]=Даемон кој ви дозволува да ја делите вашата работна површина
Comment[mn]=Таны ажлын байрыг хамтран эзэмшихийгзөвшөөрсөн демон
Comment[ms]=Daemon yang membenarkan anda berkongsi ruang kerja
Comment[mt]=Daemon li jħallik taqsam id-desktop ma' ħaddieħor
Comment[nb]=En programnisse som tillater deling av ditt skrivebord med andre
Comment[nds]=En Dämoon, wo Du Dien Schriefdisch mit delen kannst
Comment[ne]=एउटा डेइमन जसले तपाईँको डेस्कटप साझेदार गर्न अनुमति दिन्छ
Comment[nl]=Een daemon waarmee u uw bureaublad kunt vrijgeven om te delen
Comment[nn]=Ein nisse som let deg dela skrivebordet
Comment[nso]=Daemon yeo ego dumelelago go abelana ka desktop ya gago
@@ -98,18 +130,21 @@ Comment[pl]=Usługa, która pozwala na współdzielenie pulpitu
Comment[pt]=Um servidor que lhe permite partilhar o seu ecrã
Comment[pt_BR]=Um servidor que permite a você compartilhar o seu ambiente de trabalho
Comment[ro]=Un demon care vă permite saă partajaţi sistemul dumneavoastră
Comment[ru]=Демон общего доступа к рабочему столу
Comment[ru]=Служба совместного доступа к рабочему столу
Comment[se]=Duogášprográmma mii diktá du juohkit čállinbeavddi earáiguin
Comment[sk]=Démon ktorý umožní zdieľať vašu pracovnú plochu
Comment[sl]=Demon, s katerim lahko delite vaše namizje
Comment[sl]=Strežnik, s katerim lahko delite vaše namizje
Comment[sr]=Демон који вам дозвољава да делите вашу радну површину
Comment[sr@Latn]=Demon koji vam dozvoljava da delite vašu radnu površinu
Comment[sv]=Demon som låter dig dela ut skrivbordet
Comment[ta]=ஒரு டேமொன் உங்கள் மேஜைமேல் பகிர்வை அளிக்கும்
Comment[ta]=ஒரு டேமொன் உங்கள் பணிமேடை பகிர்வை அளிக்கும்
Comment[tg]=Азозиле, ки ба шумо истифодабарии муштараки мизи кориро медиҳад
Comment[th]=เดมอนอนุญาตให้คุณแบ่งการใช้งานพื้นที่ทำงานร่วมกัน
Comment[tr]=Masaüstünüzde paylaşılmasına izin verilmiş hayalet program
Comment[uk]=Демон, що дозволяє спільне використання стільниць
Comment[ven]=Daemon ine yani tendela nitshi kovhekana desktop yanu
Comment[xh]=Daemon ekuvumela ukuba wabe i desktop yakho
Comment[xx]=xxA daemon that allows you to share your desktopxx
Comment[zh_CN]=允许您共享桌面的守护进程
Comment[zh_HK]=讓您分享您的桌面的系統程式
Comment[zh_TW]=讓您分享您的桌面的伺服程式
Comment[zu]=I-daemoni ekuvumela uhlukaniselana nge-desktop

View File

@@ -1,58 +1,64 @@
# KDE Config File
# KDE Config File
[Desktop Entry]
Type=Application
Exec=krfb -caption "%c" %i %m
Icon=krfb
DocPath=krfb/index.html
Terminal=0
Name=Desktop Sharing
Name[af]=Werkskerm Deeling
Name[ar]=مشاركة سطح المكتب
Name[bg]=Споделяне на работно място
Name[bs]=Dijeljenje desktopa
Name[ca]=Compartició de l'escriptori
Name[cs]=Sdílení pracovní plochy
Name[cy]=Rhannu Penbwrdd
Name[da]=Skrivebordsdeling
Name[de]=Arbeitsfläche freigeben
Name[el]=Μοίρασμα επιφάνειας εργασίας
Name[eo]=Tabuloj komunaj
Name[es]=Compartición de escritorio
Name[et]=Töölaua jagamine
Name[fi]=Työpöydän jakaminen
Name[fr]=Partage de bureau
Name[gl]=Compartición do escritorio
Name[he]=שיתוף שולחנות עבודה
Name[hi]=डेस्कटॉप साझा
Name[hr]=Dijeljenje radne površine
Name[hu]=Munkaasztal-megosztás
Name[it]=Condivisione Desktop
Name[ja]=デスクトップ共有
Name[lt]=Dalinimasis darbastaliu
Name[mn]=Ажлын байрыг хамтран эзэмших
Name[ms]=Perkongsian Ruang Kerja
Name[mt]=Qsim tad-desktop
Name[nb]=Delte skrivebord
Name[nl]=Bureaubladvrijgave
Name[nn]=Skrivebordsdeling
Name[nso]=Kabagano ya Desktop
Name[pl]=Współdzielenie pulpitu
Name[pt]=Partilha do Ambiente de Trabalho
Name[pt_BR]=Compartilhamento do Desktop
Name[ro]=Partajare ecran
Name[ru]=Общий рабочий стол
Name[sk]=Zdieľanie pracovnej plochy
Name[sl]=Deljenje namizja
Name[sr]=Дељење радне површине
Name[sv]=Dela ut skrivbordet
Name[ta]=மேசைமேல் பகிர்வு
Name[th]=ใช้งานพื้นที่ทำงานร่วมกัน
Name[tr]=Masaüstü Paylaşımı
Name[uk]=Спільні стільниці
Name[ven]=U kovhekana ha Desikithopo
Name[xh]=Ukwehlulelana kwe Desktop
Name[xx]=xxDesktop Sharingxx
Name[zh_CN]=桌面共享
Name[zh_TW]=桌面分享
Name[zu]=Ukwahlulelana kwe-Desktop
Categories=Qt;KDE;System
Terminal=false
Name=Krfb
Name[bn]=কে-আর-এফ-বি
Name[zh_TW]=Krfb 桌面分享
GenericName=Desktop Sharing
GenericName[be]=Агульнае выкарыстанне стальніцы
GenericName[bg]=Споделяне на раб. място
GenericName[bn]=ডেস্কটপ ভাগাভাগি
GenericName[br]=Rannañ ar vurev
GenericName[bs]=Dijeljenje desktopa
GenericName[ca]=Compartició de l'escriptori
GenericName[cs]=Sdílení pracovní plochy
GenericName[cy]=Rhannu Penbwrdd
GenericName[da]=Desktopdeling
GenericName[de]=Arbeitsfläche freigeben
GenericName[el]=Κοινή χρήση επιφάνειας εργασίας
GenericName[eo]=Tabulkomunigado
GenericName[es]=Escritorio compartido
GenericName[et]=Töölaua jagamine
GenericName[eu]=Mahaigain 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[he]=שיתוף שולחנות עבודה
GenericName[hu]=Munkaasztal-megosztás
GenericName[is]=Skjáborðsmiðlun
GenericName[it]=Condivisione desktop
GenericName[ja]=デスクトップ共有
GenericName[ka]=სამუშაო მაგიდის გაზიარება
GenericName[kk]=Үстелді ортақтастыру
GenericName[km]=ការ​ចែក​រំលែក​ផ្ទៃ​តុ
GenericName[lt]=Dalinimasis darbastaliu
GenericName[mt]=Qsim tad-desktop
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_BR]=Compartilhamento de Ambiente de Trabalho
GenericName[ru]=Общий рабочий стол
GenericName[sk]=Zdieľanie pracovnej plochy
GenericName[sl]=Deljenje namizja
GenericName[sr]=Дељење радне површине
GenericName[sr@Latn]=Deljenje radne površine
GenericName[sv]=Dela ut skrivbordet
GenericName[tr]=Masaüstü Paylaşımı
GenericName[uk]=Спільні стільниці
GenericName[uz]=Ish stoli bilan boʻlishish
GenericName[uz@cyrillic]=Иш столи билан бўлишиш
GenericName[zh_CN]=桌面共享
GenericName[zh_HK]=桌面分享
GenericName[zh_TW]=桌面分享
Categories=Qt;KDE;System;RemoteAccess;Network;

View File

@@ -39,6 +39,7 @@
#include <signal.h>
#undef VERSION
#define VERSION "1.0"
static const char description[] = I18N_NOOP("VNC-compatible server to share "
@@ -48,7 +49,7 @@ static const char description[] = I18N_NOOP("VNC-compatible server to share "
static KCmdLineOptions options[] =
{
{ ARG_KINETD " ", I18N_NOOP("Used for calling from kinetd."), 0},
{ ARG_KINETD " ", I18N_NOOP("Used for calling from kinetd"), 0},
KCmdLineLastOption
};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,54 @@
/* This file is part of the KDE project
Copyright (C) 2004 Nadeem Hasan <nhasan@kde.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include "personalinvitedialog.h"
#include "personalinvitewidget.h"
#include <qlabel.h>
#include <kactivelabel.h>
#include <kiconloader.h>
#include <klocale.h>
PersonalInviteDialog::PersonalInviteDialog( QWidget *parent, const char *name )
: KDialogBase( parent, name, true, i18n( "Personal Invitation" ),
Close, Close, true )
{
m_inviteWidget = new PersonalInviteWidget( this, "PersonalInviteWidget" );
m_inviteWidget->pixmapLabel->setPixmap(
UserIcon( "connection-side-image.png" ) );
setMainWidget( m_inviteWidget );
}
void PersonalInviteDialog::setHost( const QString &host, uint port )
{
m_inviteWidget->hostLabel->setText( QString( "%1:%2" )
.arg( host ).arg( port ) );
}
void PersonalInviteDialog::setPassword( const QString &passwd )
{
m_inviteWidget->passwordLabel->setText( passwd );
}
void PersonalInviteDialog::setExpiration( const QDateTime &expire )
{
m_inviteWidget->expirationLabel->setText( expire.toString( Qt::LocalDate ) );
}

View File

@@ -0,0 +1,44 @@
/* This file is part of the KDE project
Copyright (C) 2004 Nadeem Hasan <nhasan@kde.org>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef PERSONALINVITEDIALOG_H
#define PERSONALINVITEDIALOG_H
class PersonalInviteWidget;
#include <qdatetime.h>
#include <kdialogbase.h>
class PersonalInviteDialog : public KDialogBase
{
public:
PersonalInviteDialog( QWidget *parent, const char *name );
virtual ~PersonalInviteDialog() {}
void setHost( const QString &host, uint port );
void setPassword( const QString &passwd );
void setExpiration( const QDateTime &expire );
protected:
PersonalInviteWidget *m_inviteWidget;
};
#endif // PERSONALINVITEDIALOG_H

View File

@@ -0,0 +1,241 @@
<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
<class>PersonalInviteWidget</class>
<widget class="QWidget">
<property name="name">
<cstring>Form1</cstring>
</property>
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>519</width>
<height>328</height>
</rect>
</property>
<property name="caption">
<string></string>
</property>
<grid>
<property name="name">
<cstring>unnamed</cstring>
</property>
<property name="margin">
<number>0</number>
</property>
<property name="resizeMode">
<enum>Fixed</enum>
</property>
<widget class="KActiveLabel" row="0" column="1" rowspan="1" colspan="3">
<property name="name">
<cstring>mainTextLabel</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>NoFocus</enum>
</property>
<property name="text">
<string>&lt;h2&gt;Personal Invitation&lt;/h2&gt;
Give the information below to the person that you want to invite (&lt;a href="whatsthis:Desktop Sharing uses the VNC protocol. You can use any VNC client to connect. In KDE the client is called 'Remote Desktop Connection'. Enter the host information into the client and it will connect.."&gt;how to connect&lt;/a&gt;). Note that everybody who gets the password can connect, so be careful.</string>
</property>
</widget>
<spacer row="1" column="2">
<property name="name">
<cstring>spacer9</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>Expanding</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>34</height>
</size>
</property>
</spacer>
<widget class="QLabel" row="0" column="0" rowspan="6" colspan="1">
<property name="name">
<cstring>pixmapLabel</cstring>
</property>
<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>WinPanel</enum>
</property>
<property name="frameShadow">
<enum>Sunken</enum>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
<spacer row="5" column="2">
<property name="name">
<cstring>spacer10</cstring>
</property>
<property name="orientation">
<enum>Vertical</enum>
</property>
<property name="sizeType">
<enum>Expanding</enum>
</property>
<property name="sizeHint">
<size>
<width>20</width>
<height>30</height>
</size>
</property>
</spacer>
<widget class="KActiveLabel" row="2" column="2">
<property name="name">
<cstring>hostLabel</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>NoFocus</enum>
</property>
<property name="text">
<string>cookie.tjansen.de:0</string>
</property>
</widget>
<widget class="QLabel" row="3" column="1">
<property name="name">
<cstring>kActiveLabel6</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&lt;b&gt;Password:&lt;/b&gt;</string>
</property>
</widget>
<widget class="QLabel" row="4" column="1">
<property name="name">
<cstring>kActiveLabel7</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&lt;b&gt;Expiration time:&lt;/b&gt;</string>
</property>
</widget>
<widget class="KActiveLabel" row="3" column="2">
<property name="name">
<cstring>passwordLabel</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>NoFocus</enum>
</property>
<property name="text">
<string>12345</string>
</property>
</widget>
<widget class="KActiveLabel" row="4" column="2">
<property name="name">
<cstring>expirationLabel</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="focusPolicy">
<enum>NoFocus</enum>
</property>
<property name="text">
<string>17:12</string>
</property>
</widget>
<widget class="QLabel" row="2" column="1">
<property name="name">
<cstring>kActiveLabel5</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>&lt;b&gt;Host:&lt;/b&gt;</string>
</property>
</widget>
<widget class="KActiveLabel" row="2" column="3">
<property name="name">
<cstring>hostHelpLabel</cstring>
</property>
<property name="sizePolicy">
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>(&lt;a href="whatsthis:This field contains the address of your computer and the display number, separated by a colon. The address is just a hint - you can use any address that can reach your computer. Desktop Sharing tries to guess your address from your network configuration, but does not always succeed in doing so. If your computer is behind a firewall it may have a different address or be unreachable for other computers."&gt;Help&lt;/a&gt;)</string>
</property>
</widget>
</grid>
</widget>
<layoutdefaults spacing="6" margin="11"/>
<layoutfunctions spacing="KDialog::spacingHint" margin="KDialog::marginHint"/>
</UI>

View File

@@ -170,17 +170,11 @@ static void clipboardHook(char* str,int len, rfbClientPtr)
self->clipboardToServer(QString::fromUtf8(str, len));
}
void ConnectionDialog::closeEvent(QCloseEvent *)
{
emit closed();
}
VNCEvent::~VNCEvent() {
}
Display *KeyboardEvent::dpy;
char KeyboardEvent::modifiers[0x100];
signed char KeyboardEvent::modifiers[0x100];
KeyCode KeyboardEvent::keycodes[0x100];
KeyCode KeyboardEvent::leftShiftCode;
KeyCode KeyboardEvent::rightShiftCode;
@@ -228,7 +222,7 @@ void KeyboardEvent::initKeycodes() {
}
/* this function adjusts the modifiers according to mod (as from modifiers) and ModifierState */
void KeyboardEvent::tweakModifiers(char mod, bool down) {
void KeyboardEvent::tweakModifiers(signed char mod, bool down) {
bool isShift = ModifierState & (LEFTSHIFT|RIGHTSHIFT);
if(mod < 0)
@@ -351,23 +345,19 @@ void SessionEstablishedEvent::exec() {
controller->sendSessionEstablished();
}
RFBController::RFBController(Configuration *c) :
allowDesktopControl(false),
lastClipboardDirection(LAST_SYNC_TO_SERVER),
configuration(c),
dialog( 0, "ConnectionDialog" ),
disableBackgroundPending(false),
disableBackgroundState(false),
closePending(false),
forcedClose(false)
{
self = this;
connect(dialog.acceptConnectionButton, SIGNAL(clicked()),
SLOT(dialogAccepted()));
connect(dialog.refuseConnectionButton, SIGNAL(clicked()),
SLOT(dialogRefused()));
connect(&dialog, SIGNAL(closed()), SLOT(dialogRefused()));
connect(&dialog, SIGNAL(okClicked()), SLOT(dialogAccepted()));
connect(&dialog, SIGNAL(cancelClicked()), SLOT(dialogRefused()));
connect(&initIdleTimer, SIGNAL(timeout()), SLOT(checkAsyncEvents()));
connect(&idleTimer, SIGNAL(timeout()), SLOT(idleSlot()));
@@ -383,7 +373,7 @@ RFBController::RFBController(Configuration *c) :
if (gethostname(hostname, 255))
hostname[0] = 0;
hostname[255] = 0;
desktopName = QString(i18n("%1@%2 (shared desktop)")).arg(KUser().loginName()).arg(hostname);
desktopName = i18n("%1@%2 (shared desktop)").arg(KUser().loginName()).arg(hostname);
}
RFBController::~RFBController()
@@ -647,7 +637,7 @@ void RFBController::idleSlot()
void RFBController::dialogAccepted()
{
dialog.hide();
acceptConnection(dialog.allowRemoteControlCB->isChecked());
acceptConnection(dialog.allowRemoteControl());
}
void RFBController::dialogRefused()
@@ -769,8 +759,8 @@ enum rfbNewClientAction RFBController::handleNewClient(rfbClientPtr cl)
i18n("Received connection from %1, on hold (waiting for confirmation)")
.arg(remoteIp));
dialog.ipLabel->setText(remoteIp);
dialog.allowRemoteControlCB->setChecked(true);
dialog.setRemoteHost(remoteIp);
dialog.setAllowRemoteControl( true );
dialog.setFixedSize(dialog.sizeHint());
dialog.show();
return RFB_CLIENT_ON_HOLD;

View File

@@ -24,7 +24,7 @@
#define RFBCONTROLLER_H
#include "configuration.h"
#include "newconnectiondialog.h"
#include "connectiondialog.h"
#include "xupdatescanner.h"
#include <ksock.h>
#include <qobject.h>
@@ -49,15 +49,6 @@ typedef enum {
RFB_CONNECTED
} RFBState;
class ConnectionDialog : public KRFBConnectionDialog {
Q_OBJECT
public:
virtual void closeEvent(QCloseEvent *);
signals:
void closed();
};
class VNCEvent {
public:
virtual void exec() = 0;
@@ -70,14 +61,14 @@ class KeyboardEvent : public VNCEvent {
KeySym keySym;
static Display *dpy;
static char modifiers[0x100];
static signed char modifiers[0x100];
static KeyCode keycodes[0x100], leftShiftCode, rightShiftCode, altGrCode;
static const int LEFTSHIFT;
static const int RIGHTSHIFT;
static const int ALTGR;
static char ModifierState;
static void tweakModifiers(char mod, bool down);
static void tweakModifiers(signed char mod, bool down);
public:
static void initKeycodes();

View File

@@ -47,7 +47,7 @@ KPassivePopup2 *KPassivePopup2::message( const QString &caption, const QString &
}
TrayIcon::TrayIcon(KDialog *d, Configuration *c) :
TrayIcon::TrayIcon(KDialog *d, Configuration *c) :
KSystemTray(0, "krfb trayicon"),
configuration(c),
aboutDialog(d),
@@ -60,14 +60,15 @@ TrayIcon::TrayIcon(KDialog *d, Configuration *c) :
setPixmap(trayIconClosed);
QToolTip::add(this, i18n("Desktop Sharing - connecting"));
manageInvitationsAction = new KAction(i18n("Manage &Invitations"), QString::null,
0, this, SIGNAL(showManageInvitations()),
manageInvitationsAction = new KAction(i18n("Manage &Invitations"), QString::null,
0, this, SIGNAL(showManageInvitations()),
&actionCollection);
manageInvitationsAction->plug(contextMenu());
contextMenu()->insertSeparator();
enableControlAction = new KToggleAction(i18n("Enable Remote Control"));
enableControlAction->setCheckedState(i18n("Disable Remote Control"));
enableControlAction->plug(contextMenu());
enableControlAction->setEnabled(false);
connect(enableControlAction, SIGNAL(toggled(bool)), SIGNAL(enableDesktopControl(bool)));
@@ -96,8 +97,8 @@ void TrayIcon::prepareQuit() {
void TrayIcon::showConnectedMessage(QString host) {
setPixmap(trayIconOpen);
KPassivePopup2::message(i18n("Desktop Sharing"),
i18n("The remote user has been authenticated and is now connected."),
KPassivePopup2::message(i18n("Desktop Sharing"),
i18n("The remote user has been authenticated and is now connected."),
trayIconOpen,
this);
QToolTip::add(this, i18n("Desktop Sharing - connected with %1").arg(host));
@@ -109,8 +110,8 @@ void TrayIcon::showDisconnectedMessage() {
QToolTip::add(this, i18n("Desktop Sharing - disconnected"));
setPixmap(trayIconClosed);
KPassivePopup2 *p = KPassivePopup2::message(i18n("Desktop Sharing"),
i18n("The remote user has closed the connection."),
KPassivePopup2 *p = KPassivePopup2::message(i18n("Desktop Sharing"),
i18n("The remote user has closed the connection."),
trayIconClosed,
this);
connect(p, SIGNAL(hidden()), this, SIGNAL(diconnectedMessageDisplayed()));

View File

@@ -140,7 +140,7 @@ XUpdateScanner::XUpdateScanner(Display *_dpy,
tilesX = (width + tileWidth - 1) / tileWidth;
tilesY = (height + tileHeight - 1) / tileHeight;
tileMap = new bool[tilesX * tilesY];
tileRegionMap = new struct TileChangeRegion[tilesX * tilesY];
tileRegionMap = new struct TileChangeRegion[tilesX * tilesY];
unsigned int i;
for (i = 0; i < tilesX * tilesY; i++)
@@ -203,8 +203,8 @@ XUpdateScanner::~XUpdateScanner()
XDestroyImage(scanline);
XDestroyImage(tile);
}
delete tileMap;
delete tileRegionMap;
delete [] tileMap;
delete [] tileRegionMap;
}

View File

@@ -1,5 +1,4 @@
[Desktop Entry]
Encoding=UTF-8
Type=Service
ServiceTypes=KInetDModule
@@ -14,49 +13,84 @@ X-KDE-KINETD-multiInstance=false
X-KDE-KINETD-serviceLifetime=1200
Name=KRfb Micro Httpd
Name[ar]=KRfb ميكرو httpd
Name[bg]=Микро уеб сървър (KRfb - httpd)
Name[bn]=কে-আর-এফ-বি মাইক্রো এইচটিটিপিডি
Name[cs]=KRfb mikro Httpd
Name[cy]=Meicro-Httpd KRfb
Name[da]=KRfb Micro-Httpd
Name[de]=KRfb Mikro-Httpd
Name[et]=KRfb mikro-httpd
Name[fa]=ریزشبح قام KRfb
Name[fr]=Micro serveur httpd de KRfb
Name[gl]=KRfg Micro-Httpd
Name[hi]=KRfb माइक्रो Httpd
Name[hu]=KRfb mini-httpd
Name[is]=KRfb Micro vefþjónn
Name[ja]=KRfb マイクロ Httpd
Name[kk]=KRfb шағын Httpd
Name[ms]=Httpd Mikro KRfb
Name[nb]=KRfb mikro- http-nisse
Name[nds]=KRfb-Micro-Httpd
Name[ne]=KRfb माइक्रो Httpd
Name[nl]=KRfb micro webserver
Name[nn]=KRfb-mikro-http-nisse
Name[pl]=Mikroskopijny serwer HTTP dla KRfb
Name[pt]=Micro Httpd do KRfb
Name[ru]=KRfb микро Httpd
Name[sv]=Krfb mikro-HTTP demon
Name[tr]=KRfb Mini Httpd
Name[xx]=xxKRfb Micro Httpdxx
Name[uk]=KRfb мікро Httpd
Name[zh_CN]=KRfb 微 Httpd
Name[zh_HK]=KRfb 微型網頁伺服器
Comment=A micro http daemon for krfb that serves the VNC viewer applet.
Comment[ar]=مراقب httpd صغير لـkrfb الذي يخدم بريمج عرض VNC.
Comment[bg]=Малък уеб сървър, който обслужва аплета за преглед на VNC
Comment[ca]=Un micro-dimoni http per a krfb que serveix l'applet visor VNC.
Comment[bn]=কে-আর-এফ-বির জন্য একটি মাইক্রো এইচটিটিপি ডিমন যে ভি-এন-সি প্রদর্শক অ্যাপলেট সরবরাহ করে।
Comment[bs]=Mikro HTTP demon za krfb koji služi za applet VNC preglednika.
Comment[ca]=Un micro-dimoni http per a krfb que serveix l'aplet visor VNC.
Comment[cs]=Mikro HTTP server pro krfb sloužící VNC prohlížeči.
Comment[cy]=Meicro-daemon http sy'n gwasanaethu'r rhaglennig gwelydd VNC
Comment[da]=En mikro http-dæmon for krfb der betjener VNC visningsappletten.
Comment[de]=Ein Mikro-HTTP-Dämon für krfb, der als VNC-Anzeige-Applet dient.
Comment[el]=Ένας μικρός δαίμονας http για το krfb που εξυπηρετεί το εφαρμογίδιο προβολής VNC.
Comment[de]=Ein Mikro-HTTP-Server für krfb, der als Miniprogramm zu VNC-Anzeige dient.
Comment[el]=Ένας μικρός δαίμονας http για το krfb που εξυπηρετεί τη μικροεφαρμογή προβολής VNC.
Comment[es]=Un micro demonio http para krfb que sirve de applet de visor VNC.
Comment[et]=Mikro-HTTP deemon KRfb jaoks, mis teenindab VNC apletti.
Comment[fi]=Pieni http-palvelin krfb ohjelmalle, joka jakaa VNC-näyttäjäsovelmaa
Comment[eu]=VNC ikustaile applet-a zerbitzatzen duen krfb-rako micro http deabrua.
Comment[fa]=یک ریزشبح قام برای krfb، برای خدمت دادن به برنامک مشاهده‌گر VNC
Comment[fi]=Pieni http-palvelin krfb-ohjelmalle, joka jakaa VNC-näyttäjäsovelmaa
Comment[fr]=Un mini serveur http pour KRfb dédié à l'applet d'affichage de bureaux VNC.
Comment[gl]=Un micro demo de HTTP para krfb que serve unha applet de visualización de VNC
Comment[he]=שרת http זעיר עבור krfb שמשרת את יישומון תצוגת VNC.
Comment[hi]=krfb के लिए एक माइक्रो एचटीटीपी डीमॉन जो वीएनसी व्यूअर ऐप्लेट को सर्व करता है.
Comment[hu]=Mini HTTP-szolgáltatás a KRfb-hez, a VNC nézegető használatához.
Comment[is]=Verulega lítill vefþjónn sem veitir aðgang í VNC.
Comment[it]=Un micro demone http per krfb che server l'applet di VNC viewer.
Comment[ja]=krfb 用のマイクロ http デーモン (VNC ビューアアプレットを提供)
Comment[ka]=მიკრო http დემონი krfbსთვის, რომელიც ემსახურება VNC მხილველის აპლეტს.
Comment[kk]=VNC қарау апплетті қамтамасыз ететін krfb үшін шағын http қызметі.
Comment[km]=ដេមិន http តូច​មួយ​សម្រាប់ krfb ដែល​បម្រើ​អាប់ភ្លេត​មើល VNC ។
Comment[lt]=Micro http tarnyba skirta krfb ir aptarnaujanti VNC žiūriklį.
Comment[mk]=http-микродаемон за krfb кој служи на аплетот на VNC-прегледувачот.
Comment[ms]=Daemon http miKro untuk krfb yang melayan aplet pelihat VNC.
Comment[nb]=En bitteliten http-nisse for krfb som hjelper visningsprogrammet for VNC.
Comment[nds]=En lierlütt HTTP-Dämoon för krfb, de as VNC-Kiekerlüttprogramm bruukt warrt.
Comment[ne]=krfb का लागि माइक्रो http डेइमन जसले VNC दर्शक एप्लेट सेवा गर्दछ
Comment[nl]=Een micro webserver voor krfb dat de VNC weergave-applet beschikbaar stelt.
Comment[nn]=Ein ørliten http-nisse for krfb som hjelper visingsprogrammet for VNC.
Comment[pl]=Mikroskopijny serwer HTTP dla KRfb obsługującego aplet przeglądarki VNC.
Comment[pt]=Um micro-servidor de HTTP para o krfb que serve a 'applet' de visualização de VNC.
Comment[pt_BR]=Um micro daemon de http, para o krfb, que serve o miniaplicativo de visualização do VNC.
Comment[ru]=Микро-сервер http для krfb, который обслуживает аплет просмотра VNC.
Comment[sk]=Mikro http démon pre krfb ktorý ovláda prehliadací applet VNC.
Comment[sl]=Mikro http demon za krfb, ki streže pregledovalniku vstavkov VNC.
Comment[sl]=Mikro http strežnik za krfb, ki streže ogledovalnikom VNC.
Comment[sr]=Микро http демон за krfb који опслужује аплет VNC приказивача.
Comment[sr@Latn]=Mikro http demon za krfb koji opslužuje aplet VNC prikazivača.
Comment[sv]=En mikro-HTTP demon för Krfb som hanterar VNC-visningsminiprogrammet
Comment[ta]=krfb க்கா நுண்ணிய http அது VNC சேவையை குறுப்பயன் பார்வையாளர்.
Comment[ta]=krfb க்கா நுண்ணிய http அது VNC சேவையை குறுப்பயன் பார்வையாளர்.
Comment[tg]=Азозили micro http барои krfb, ки хидматрасони VNC апплети хидматрасон мебошад.
Comment[tr]=VNC izleyici programcığını çalıştıran mini bir web sunucu.
Comment[xx]=xxA micro http daemon for krfb that serves the VNC viewer applet.xx
Comment[uk]=Мікродаемон http для krfb, який обслуговує аплет переглядача VNC.
Comment[zh_CN]=支持 VNC 查看器小程序的 krfb 小 http 守护程序
Comment[zh_HK]=用於 krfb服務 VNC 檢視小程式的微型網頁伺服器
Comment[zh_TW]=服務 VNC 的小型網頁伺服器

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#! /usr/bin/env bash
if [ "$1" = "--kinetd" ]; then
# redirect stdin and stdout to the inetd socket.
@@ -6,21 +6,24 @@ if [ "$1" = "--kinetd" ]; then
fi
read request url httptype || exit 0
url="${url/
/}"
url="${url/
/}"
httptype="${httptype/
/}"
if [ "x$httptype" != "x" ]; then
line="x"
while [ -n "$line" ]; do
read line || exit 0
while [ -n "$line" ]; do
line="${line/
/}"
done
fi
# echo "url = $url, request = $request" >> /tmp/httpd.log
case "$url" in
/)
# We need the size of the display for the current applet.
case "$url" in
size=`xdpyinfo -display :0| grep dimensions:|head -n 1|sed -e "s/.*dimensions: *//" -e "s/ pixels.*//"`
width=`echo $size|sed -e "s/x.*//"`
height=`echo $size|sed -e "s/.*x//"`
# The VNC menubar is 20 pixels high ...
@@ -35,7 +38,7 @@ case "$url" in
content="
<HTML><HEAD><TITLE>$LOGNAME's desktop</TITLE></HEAD>
<BODY>
content="
<APPLET CODE=VncViewer.class ARCHIVE=VncViewer.jar WIDTH=$width HEIGHT=$height>
<param name=PORT value=$port>
</APPLET>
</BODY></HTML>"

View File

@@ -248,8 +248,8 @@ rfbSendSoftCursor(rfbClientPtr cl, Bool cursorWasChanged)
/* Send buffer contents if needed. */
if ( cl->ublen + sizeof(rfbSoftCursorMove) +
((scNindex >= 0) ?
(sizeof(rfbSoftCursorSetImage) + imgLen) : 0)) {
((scNindex >= 0 && cursorWasChanged) ?
(sizeof(rfbSoftCursorSetImage) + imgLen) : 0) > UPDATE_BUF_SIZE) {
if (!rfbSendUpdateBuf(cl))
return FALSE;
@@ -257,7 +257,7 @@ rfbSendSoftCursor(rfbClientPtr cl, Bool cursorWasChanged)
saved_ublen = cl->ublen;
if (scNindex >= 0) {
if (scNindex >= 0 && cursorWasChanged) {
rect.encoding = Swap32IfLE(rfbEncodingSoftCursor);
if (pCursor) {
rect.r.x = Swap16IfLE(pCursor->xhot);

0
libvncserver/keysym.h Executable file → Normal file
View File

View File

@@ -74,7 +74,7 @@ rfbLog(const char *format, ...)
time(&log_clock);
strftime(buf, 255, "%d/%m/%Y %T ", localtime(&log_clock));
fprintf(stderr,buf);
fprintf(stderr, "%s", buf);
vfprintf(stderr, format, args);
fflush(stderr);
@@ -260,6 +260,7 @@ clientOutput(void *data)
UNLOCK(cl->updateMutex);
if (!haveUpdate) {
LOCK(cl->updateMutex);
TIMEDWAIT(cl->updateCond, cl->updateMutex, PING_MS);
UNLOCK(cl->updateMutex); /* we really needn't lock now. */
if (!haveUpdate)

View File

@@ -40,7 +40,14 @@ extern "C"
/* TODO: this stuff has to go into autoconf */
typedef unsigned char CARD8;
typedef unsigned short CARD16;
#ifdef LONG64
typedef unsigned long CARD64;
typedef unsigned int CARD32;
#else
typedef unsigned long CARD32;
#endif
typedef CARD32 Pixel;
/* typedef CARD32 KeySym; */
#ifndef __osf__

141
libvncserver/sraRegion.c Executable file → Normal file
View File

@@ -33,7 +33,7 @@ typedef struct sraRegion {
sraSpanList *sraSpanListDup(const sraSpanList *src);
void sraSpanListDestroy(sraSpanList *list);
sraSpan *
static sraSpan *
sraSpanCreate(int start, int end, const sraSpanList *subspan) {
sraSpan *item = (sraSpan*)malloc(sizeof(sraSpan));
item->_next = item->_prev = NULL;
@@ -43,7 +43,7 @@ sraSpanCreate(int start, int end, const sraSpanList *subspan) {
return item;
}
sraSpan *
static sraSpan *
sraSpanDup(const sraSpan *src) {
sraSpan *span;
if (!src) return NULL;
@@ -51,7 +51,7 @@ sraSpanDup(const sraSpan *src) {
return span;
}
void
static void
sraSpanInsertAfter(sraSpan *newspan, sraSpan *after) {
newspan->_next = after->_next;
newspan->_prev = after;
@@ -59,7 +59,7 @@ sraSpanInsertAfter(sraSpan *newspan, sraSpan *after) {
after->_next = newspan;
}
void
static void
sraSpanInsertBefore(sraSpan *newspan, sraSpan *before) {
newspan->_next = before;
newspan->_prev = before->_prev;
@@ -67,32 +67,34 @@ sraSpanInsertBefore(sraSpan *newspan, sraSpan *before) {
before->_prev = newspan;
}
void
static void
sraSpanRemove(sraSpan *span) {
span->_prev->_next = span->_next;
span->_next->_prev = span->_prev;
}
void
static void
sraSpanDestroy(sraSpan *span) {
if (span->subspan) sraSpanListDestroy(span->subspan);
free(span);
}
void
#ifdef DEBUG
static void
sraSpanCheck(const sraSpan *span, const char *text) {
/* Check the span is valid! */
if (span->start == span->end) {
printf("%s:%d-%d\n", text, span->start, span->end);
exit(0);
printf(text);
printf(":%d-%d\n", span->start, span->end);
}
}
#endif
/* -=- SpanList routines */
void sraSpanPrint(const sraSpan *s);
static void sraSpanPrint(const sraSpan *s);
void
static void
sraSpanListPrint(const sraSpanList *l) {
sraSpan *curr;
if (!l) {
@@ -115,8 +117,8 @@ sraSpanPrint(const sraSpan *s) {
sraSpanListPrint(s->subspan);
}
sraSpanList *
sraSpanListCreate() {
static sraSpanList *
sraSpanListCreate(void) {
sraSpanList *item = (sraSpanList*)malloc(sizeof(sraSpanList));
item->front._next = &(item->back);
item->front._prev = NULL;
@@ -155,7 +157,7 @@ sraSpanListDestroy(sraSpanList *list) {
free(list);
}
void
static void
sraSpanListMakeEmpty(sraSpanList *list) {
sraSpan *curr, *next;
while (list->front._next != &(list->back)) {
@@ -171,7 +173,7 @@ sraSpanListMakeEmpty(sraSpanList *list) {
list->back._next = NULL;
}
Bool
static Bool
sraSpanListEqual(const sraSpanList *s1, const sraSpanList *s2) {
sraSpan *sp1, *sp2;
@@ -180,7 +182,7 @@ sraSpanListEqual(const sraSpanList *s1, const sraSpanList *s2) {
return 1;
} else {
printf("sraSpanListEqual:incompatible spans (only one NULL!)\n");
exit(1);
return FALSE;
}
}
@@ -204,12 +206,12 @@ sraSpanListEqual(const sraSpanList *s1, const sraSpanList *s2) {
}
}
Bool
static Bool
sraSpanListEmpty(const sraSpanList *list) {
return (list->front._next == &(list->back));
}
unsigned long
static unsigned long
sraSpanListCount(const sraSpanList *list) {
sraSpan *curr = list->front._next;
unsigned long count = 0;
@@ -224,11 +226,12 @@ sraSpanListCount(const sraSpanList *list) {
return count;
}
void
static void
sraSpanMergePrevious(sraSpan *dest) {
sraSpan *prev = dest->_prev;
while ((prev->end == dest->start) &&
(prev->_prev) &&
while ((prev->_prev) &&
(prev->end == dest->start) &&
(sraSpanListEqual(prev->subspan, dest->subspan))) {
/*
printf("merge_prev:");
@@ -244,11 +247,11 @@ sraSpanMergePrevious(sraSpan *dest) {
}
}
void
static void
sraSpanMergeNext(sraSpan *dest) {
sraSpan *next = dest->_next;
while ((next->start == dest->end) &&
(next->_next) &&
while ((next->_next) &&
(next->start == dest->end) &&
(sraSpanListEqual(next->subspan, dest->subspan))) {
/*
printf("merge_next:");
@@ -264,7 +267,7 @@ sraSpanMergeNext(sraSpan *dest) {
}
}
void
static void
sraSpanListOr(sraSpanList *dest, const sraSpanList *src) {
sraSpan *d_curr, *s_curr;
int s_start, s_end;
@@ -274,7 +277,7 @@ sraSpanListOr(sraSpanList *dest, const sraSpanList *src) {
return;
} else {
printf("sraSpanListOr:incompatible spans (only one NULL!)\n");
exit(1);
return;
}
}
@@ -354,7 +357,7 @@ sraSpanListOr(sraSpanList *dest, const sraSpanList *src) {
}
}
Bool
static Bool
sraSpanListAnd(sraSpanList *dest, const sraSpanList *src) {
sraSpan *d_curr, *s_curr, *d_next;
@@ -363,7 +366,7 @@ sraSpanListAnd(sraSpanList *dest, const sraSpanList *src) {
return 1;
} else {
printf("sraSpanListAnd:incompatible spans (only one NULL!)\n");
exit(1);
return FALSE;
}
}
@@ -434,7 +437,7 @@ sraSpanListAnd(sraSpanList *dest, const sraSpanList *src) {
return !sraSpanListEmpty(dest);
}
Bool
static Bool
sraSpanListSubtract(sraSpanList *dest, const sraSpanList *src) {
sraSpan *d_curr, *s_curr;
@@ -443,7 +446,7 @@ sraSpanListSubtract(sraSpanList *dest, const sraSpanList *src) {
return 1;
} else {
printf("sraSpanListSubtract:incompatible spans (only one NULL!)\n");
exit(1);
return FALSE;
}
}
@@ -584,6 +587,38 @@ sraRgnOffset(sraRegion *dst, int dx, int dy) {
}
}
sraRegion *sraRgnBBox(const sraRegion *src) {
int xmin=((unsigned int)(int)-1)>>1,ymin=xmin,xmax=1-xmin,ymax=xmax;
sraSpan *vcurr, *hcurr;
if(!src)
return sraRgnCreate();
vcurr = ((sraSpanList*)src)->front._next;
while (vcurr != &(((sraSpanList*)src)->back)) {
if(vcurr->start<ymin)
ymin=vcurr->start;
if(vcurr->end>ymax)
ymax=vcurr->end;
hcurr = vcurr->subspan->front._next;
while (hcurr != &(vcurr->subspan->back)) {
if(hcurr->start<xmin)
xmin=hcurr->start;
if(hcurr->end>xmax)
xmax=hcurr->end;
hcurr = hcurr->_next;
}
vcurr = vcurr->_next;
}
if(xmax<xmin || ymax<ymin)
return sraRgnCreate();
return sraRgnCreateRect(xmin,ymin,xmax,ymax);
}
Bool
sraRgnPopRect(sraRegion *rgn, sraRect *rect, unsigned long flags) {
sraSpan *vcurr, *hcurr;
@@ -656,7 +691,7 @@ sraRectangleIterator *sraRgnGetIterator(sraRegion *s)
sraRectangleIterator *i =
(sraRectangleIterator*)malloc(sizeof(sraRectangleIterator));
if(!i)
return(0);
return NULL;
/* we have to recurse eventually. So, the first sPtr is the pointer to
the sraSpan in the first level. the second sPtr is the pointer to
@@ -665,7 +700,7 @@ sraRectangleIterator *sraRgnGetIterator(sraRegion *s)
i->sPtrs = (sraSpan**)malloc(sizeof(sraSpan*)*DEFSIZE);
if(!i->sPtrs) {
free(i);
return(0);
return NULL;
}
i->ptrSize = DEFSIZE;
i->sPtrs[0] = &(s->front);
@@ -673,7 +708,7 @@ sraRectangleIterator *sraRgnGetIterator(sraRegion *s)
i->ptrPos = 0;
i->reverseX = 0;
i->reverseY = 0;
return(i);
return i;
}
sraRectangleIterator *sraRgnGetReverseIterator(sraRegion *s,Bool reverseX,Bool reverseY)
@@ -688,13 +723,13 @@ sraRectangleIterator *sraRgnGetReverseIterator(sraRegion *s,Bool reverseX,Bool r
return(i);
}
Bool sraReverse(sraRectangleIterator *i)
static Bool sraReverse(sraRectangleIterator *i)
{
return( ((i->ptrPos&2) && i->reverseX) ||
(!(i->ptrPos&2) && i->reverseY));
}
sraSpan* sraNextSpan(sraRectangleIterator *i)
static sraSpan* sraNextSpan(sraRectangleIterator *i)
{
if(sraReverse(i))
return(i->sPtrs[i->ptrPos]->_prev);
@@ -730,8 +765,8 @@ Bool sraRgnIteratorNext(sraRectangleIterator* i,sraRect* r)
}
if((i->ptrPos%4)!=2) {
fprintf(stderr,"sraRgnIteratorNext: offset is wrong (%d%%4!=2)\n",i->ptrPos);
exit(-1);
printf("sraRgnIteratorNext: offset is wrong (%d%%4!=2)\n",i->ptrPos);
return FALSE;
}
r->y1 = i->sPtrs[i->ptrPos-2]->start;
@@ -773,6 +808,28 @@ sraClipRect(int *x, int *y, int *w, int *h,
return (*w>0) && (*h>0);
}
Bool
sraClipRect2(int *x, int *y, int *x2, int *y2,
int cx, int cy, int cx2, int cy2) {
if (*x < cx)
*x = cx;
if (*y < cy)
*y = cy;
if (*x >= cx2)
*x = cx2-1;
if (*y >= cy2)
*y = cy2-1;
if (*x2 <= cx)
*x2 = cx+1;
if (*y2 <= cy)
*y2 = cy+1;
if (*x2 > cx2)
*x2 = cx2;
if (*y2 > cy2)
*y2 = cy2;
return (*x2>*x) && (*y2>*y);
}
/* test */
#ifdef SRA_TEST
@@ -805,7 +862,7 @@ int main(int argc, char** argv)
rect.x2-rect.x1,rect.y2-rect.y1,
rect.x1,rect.y1);
sraRgnReleaseIterator(i);
printf("\n20x10+0+0 600x30+0+10 590x10+10+40 30x150+10+50 250x150+350+50 590x100+10+200\n\n");
printf("\n20x10+0+0 600x30+0+10 590x10+10+40 30x150+10+50 250x150+350+50 590x100+10+200 \n\n");
i = sraRgnGetReverseIterator(region,1,0);
while(sraRgnIteratorNext(i, &rect))
@@ -813,7 +870,7 @@ int main(int argc, char** argv)
rect.x2-rect.x1,rect.y2-rect.y1,
rect.x1,rect.y1);
sraRgnReleaseIterator(i);
printf("\n20x10+0+0 600x30+0+10 590x10+10+40 250x150+350+50 30x150+10+50 590x100+10+200\n\n");
printf("\n20x10+0+0 600x30+0+10 590x10+10+40 250x150+350+50 30x150+10+50 590x100+10+200 \n\n");
i = sraRgnGetReverseIterator(region,1,1);
while(sraRgnIteratorNext(i, &rect))
@@ -821,7 +878,11 @@ int main(int argc, char** argv)
rect.x2-rect.x1,rect.y2-rect.y1,
rect.x1,rect.y1);
sraRgnReleaseIterator(i);
printf("\n590x100+10+200 250x150+350+50 30x150+10+50 590x10+10+40 600x30+0+10 20x10+0+0\n\n");
printf("\n590x100+10+200 250x150+350+50 30x150+10+50 590x10+10+40 600x30+0+10 20x10+0+0 \n\n");
sraRgnDestroy(region);
sraRgnDestroy(region1);
sraRgnDestroy(region2);
return(0);
}

6
libvncserver/sraRegion.h Executable file → Normal file
View File

@@ -1,4 +1,3 @@
#ifndef SRAREGION_H
#define SRAREGION_H
@@ -38,6 +37,8 @@ extern Bool sraRgnPopRect(sraRegion *region, sraRect *rect,
extern unsigned long sraRgnCountRects(const sraRegion *rgn);
extern Bool sraRgnEmpty(const sraRegion *rgn);
extern sraRegion *sraRgnBBox(const sraRegion *src);
/* -=- rectangle iterator */
typedef struct sraRectangleIterator {
@@ -58,4 +59,7 @@ void sraRgnPrint(const sraRegion *s);
extern Bool sraClipRect(int *x, int *y, int *w, int *h,
int cx, int cy, int cw, int ch);
extern Bool sraClipRect2(int *x, int *y, int *x2, int *y2,
int cx, int cy, int cx2, int cy2);
#endif

View File

@@ -182,7 +182,8 @@ KInetSocketAddress *KInetInterface::getPublicInetAddress() {
while (it != v.end()) {
if (((*it).flags() & (PointToPoint | Up | Running)) &&
(!((*it).flags() & Loopback)) &&
(*it).address())
(*it).address() &&
((*it).address()->family() == AF_INET))
return new KInetSocketAddress(*(*it).address());
it++;
}
@@ -192,7 +193,8 @@ KInetSocketAddress *KInetInterface::getPublicInetAddress() {
while (it != v.end()) {
if (((*it).flags() & (Up | Running)) &&
(!((*it).flags() & Loopback)) &&
(*it).address())
(*it).address() &&
((*it).address()->family() == AF_INET))
return new KInetSocketAddress(*(*it).address());
it++;
}
@@ -217,9 +219,11 @@ namespace {
else if (a->sa_family == AF_INET)
return new KInetSocketAddress((struct sockaddr_in*) a,
sizeof(struct sockaddr_in));
#ifdef AF_INET6
else if (a->sa_family == AF_INET6)
return new KInetSocketAddress((struct sockaddr_in6*) a,
sizeof(struct sockaddr_in6));
#endif
else
return 0;
}