Browse Source

[Development] Expose encryption and authentication params in the "Options" window.


git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4142 3789f03b-4d11-0410-bbf8-ca57d06f2519
tags/v1.0.90
Adam Tkac 14 years ago
parent
commit
e3cb0c3c8a
1 changed files with 84 additions and 2 deletions
  1. 84
    2
      unix/vncviewer/OptionsDialog.h

+ 84
- 2
unix/vncviewer/OptionsDialog.h View File

@@ -29,6 +29,8 @@
#include "TXCheckbox.h"
#include "parameters.h"

#define SECOND_COL_XPAD 350

class OptionsDialogCallback {
public:
virtual void setOptions() = 0;
@@ -39,7 +41,9 @@ class OptionsDialog : public TXDialog, public TXButtonCallback,
public TXCheckboxCallback, public TXEntryCallback {
public:
OptionsDialog(Display* dpy, OptionsDialogCallback* cb_)
: TXDialog(dpy, 450, 450, _("VNC Viewer: Connection Options")), cb(cb_),
: TXDialog(dpy, 750, 450, _("VNC Viewer: Connection Options")), cb(cb_),

/* Encoding and color level */
formatAndEnc(dpy, _("Encoding and Color Level:"), this),
inputs(dpy, _("Inputs:"), this),
misc(dpy, _("Misc:"), this),
@@ -52,24 +56,54 @@ public:
zrle(dpy, "ZRLE", this, true, this),
hextile(dpy, "Hextile", this, true, this),
raw(dpy, "Raw", this, true, this),

/* Compression */
customCompressLevel(dpy, _("Custom compression level:"), this, false, this),
compressLevel(dpy, this, this, false, 30),
compressLevelLabel(dpy, _("level (1=fast, 9=best)"), this),
noJpeg(dpy, _("Allow JPEG compression:"), this, false, this),
qualityLevel(dpy, this, this, false, 30),
qualityLevelLabel(dpy, _("quality (1=poor, 9=best)"), this),

/* Inputs */
viewOnly(dpy, _("View only (ignore mouse & keyboard)"), this, false, this),
acceptClipboard(dpy, _("Accept clipboard from server"), this, false, this),
sendClipboard(dpy, _("Send clipboard to server"), this, false, this),
sendPrimary(dpy, _("Send primary selection & cut buffer as clipboard"),
this, false, this),

/* Misc */
shared(dpy, _("Shared (don't disconnect other viewers)"), this, false,this),
fullScreen(dpy, _("Full-screen mode"), this, false, this),
useLocalCursor(dpy, _("Render cursor locally"), this, false, this),
dotWhenNoCursor(dpy, _("Show dot when no cursor"), this, false, this),
okButton(dpy, _("OK"), this, this, 60),
cancelButton(dpy, _("Cancel"), this, this, 60)
cancelButton(dpy, _("Cancel"), this, this, 60),

/* Security */
security(dpy, _("Security:"), this),
secVeNCrypt(dpy, _("Extended encryption and authentication methods (VeNCrypt)"),
this, false, this),

/* Encryption */
encryption(dpy, _("Session encryption:"), this),
encNone(dpy, _("None"), this, false, this),
encTLS(dpy, _("TLS with anonymous certificates"), this, false, this),
encX509(dpy, _("TLS with X509 certificates"), this, false, this),
cacert(dpy, _("Path to X509 CA certificate"), this),
ca(dpy, this, this, false, 350),
crlcert(dpy, _("Path to X509 CRL file"), this),
crl(dpy, this, this, false, 350),

/* Authentication */
authentication(dpy, _("Authentication:"), this),
secNone(dpy, _("None"), this, false, this),
secVnc(dpy, _("Standard VNC (insecure without encryption)"),
this, false, this),
secPlain(dpy, _("Username and password (insecure without encryption)"),
this, false, this)
{
/* Render the first collumn */
int y = yPad;
formatAndEnc.move(xPad, y);
y += formatAndEnc.height();
@@ -125,10 +159,48 @@ public:
dotWhenNoCursor.move(xPad, y);
y += dotWhenNoCursor.height();


/* Render "OK" and "Cancel" buttons */
okButton.move(width() - xPad*12 - cancelButton.width() - okButton.width(),
height() - yPad*4 - okButton.height());
cancelButton.move(width() - xPad*6 - cancelButton.width(),
height() - yPad*4 - cancelButton.height());

/* Render the second collumn */
y = yPad;
xPad += SECOND_COL_XPAD;

security.move(xPad, y);
y += security.height();
secVeNCrypt.move(xPad, y);
y += secVeNCrypt.height();

encryption.move(xPad, y);
y += encryption.height();
encNone.move(xPad, y);
y += encNone.height();
encTLS.move(xPad, y);
y += encTLS.height();
encX509.move(xPad, y);
y += encX509.height();
cacert.move(xPad, y);
y += cacert.height();
ca.move(xPad, y);
y += ca.height();
crlcert.move(xPad, y);
y += crlcert.height();
crl.move(xPad, y);
y += crl.height();

authentication.move(xPad, y);
y += authentication.height();
secNone.move(xPad, y);
y += secNone.height();
secVnc.move(xPad, y);
y += secVnc.height();
secPlain.move(xPad, y);
y += secPlain.height();

setBorderWidth(1);
}

@@ -209,6 +281,16 @@ public:
TXCheckbox viewOnly, acceptClipboard, sendClipboard, sendPrimary;
TXCheckbox shared, fullScreen, useLocalCursor, dotWhenNoCursor;
TXButton okButton, cancelButton;

TXLabel security;
TXCheckbox secVeNCrypt;

TXLabel encryption;
TXCheckbox encNone, encTLS, encX509;
TXLabel cacert; TXEntry ca; TXLabel crlcert; TXEntry crl;

TXLabel authentication;
TXCheckbox secNone, secVnc, secPlain;
};

#endif

Loading…
Cancel
Save