summaryrefslogtreecommitdiffstats
path: root/unix/vncviewer/OptionsDialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'unix/vncviewer/OptionsDialog.h')
-rw-r--r--unix/vncviewer/OptionsDialog.h314
1 files changed, 0 insertions, 314 deletions
diff --git a/unix/vncviewer/OptionsDialog.h b/unix/vncviewer/OptionsDialog.h
deleted file mode 100644
index a3303fe9..00000000
--- a/unix/vncviewer/OptionsDialog.h
+++ /dev/null
@@ -1,314 +0,0 @@
-/* Copyright (C) 2002-2005 RealVNC Ltd. All Rights Reserved.
- *
- * This 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 software 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 software; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- * USA.
- */
-//
-// OptionsDialog.h
-//
-
-#ifndef __OPTIONSDIALOG_H__
-#define __OPTIONSDIALOG_H__
-
-#include "TXDialog.h"
-#include "TXLabel.h"
-#include "TXEntry.h"
-#include "TXButton.h"
-#include "TXCheckbox.h"
-#include "parameters.h"
-
-#define SECOND_COL_XPAD 350
-
-class OptionsDialogCallback {
-public:
- virtual void setOptions() = 0;
- virtual void getOptions() = 0;
-};
-
-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_),
-
- /* Encoding and color level */
- formatAndEnc(dpy, _("Encoding and Color Level:"), this),
- inputs(dpy, _("Inputs:"), this),
- misc(dpy, _("Misc:"), this),
- autoSelect(dpy, _("Auto select"), this, false, this),
- fullColour(dpy, _("Full (all available colors)"), this, true, this),
- mediumColour(dpy, _("Medium (256 colors)"), this, true, this),
- lowColour(dpy, _("Low (64 colors)"), this, true, this),
- veryLowColour(dpy, _("Very low (8 colors)"), this, true, this),
- tight(dpy, "Tight", this, true, this),
- 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)
-
-#ifdef HAVE_GNUTLS
- ,
- /* 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)
-#endif
- {
- /* Render the first collumn */
- int y = yPad;
- formatAndEnc.move(xPad, y);
- y += formatAndEnc.height();
- autoSelect.move(xPad, y);
- int x2 = xPad + autoSelect.width() + xPad*5;
- y += autoSelect.height();
- tight.move(xPad, y);
- fullColour.move(x2, y);
- y += tight.height();
- zrle.move(xPad, y);
- mediumColour.move(x2, y);
- y += zrle.height();
- hextile.move(xPad, y);
- lowColour.move(x2, y);
- y += hextile.height();
- raw.move(xPad, y);
- veryLowColour.move(x2, y);
- y += raw.height() + yPad*2;
-
- customCompressLevel.move(xPad, y);
- y += customCompressLevel.height();
- compressLevel.move(xPad*10, y);
- compressLevelLabel.move(xPad*20, y);
- y += compressLevel.height();
-
- noJpeg.move(xPad, y);
- y += noJpeg.height();
- qualityLevel.move(xPad*10, y);
- qualityLevelLabel.move(xPad*20, y);
- y += qualityLevel.height();
-
- y += yPad*4;
- inputs.move(xPad, y);
- y += inputs.height();
- viewOnly.move(xPad, y);
- y += viewOnly.height();
- acceptClipboard.move(xPad, y);
- y += acceptClipboard.height();
- sendClipboard.move(xPad, y);
- y += sendClipboard.height();
- sendPrimary.move(xPad, y);
- y += sendPrimary.height();
-
- y += yPad*4;
- misc.move(xPad, y);
- y += misc.height();
- shared.move(xPad, y);
- y += shared.height();
- fullScreen.move(xPad, y);
- y += fullScreen.height();
- useLocalCursor.move(xPad, y);
- y += useLocalCursor.height();
- dotWhenNoCursor.move(xPad, y);
- y += dotWhenNoCursor.height();
-
-#ifdef HAVE_GNUTLS
- /* Render the second collumn */
- y = yPad;
- xPad += SECOND_COL_XPAD;
- resize(750, height());
-
- 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();
-
- xPad -= SECOND_COL_XPAD;
-#endif
-
- /* 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());
-
- setBorderWidth(1);
- }
-
- virtual void initDialog() {
- if (cb) cb->setOptions();
- tight.disabled(autoSelect.checked());
- zrle.disabled(autoSelect.checked());
- hextile.disabled(autoSelect.checked());
- raw.disabled(autoSelect.checked());
- fullColour.disabled(autoSelect.checked());
- mediumColour.disabled(autoSelect.checked());
- lowColour.disabled(autoSelect.checked());
- veryLowColour.disabled(autoSelect.checked());
- sendPrimary.disabled(!sendClipboard.checked());
- dotWhenNoCursor.disabled(!useLocalCursor.checked());
- compressLevel.disabled(!customCompressLevel.checked());
- qualityLevel.disabled(autoSelect.checked() || !noJpeg.checked());
- }
-
- virtual void takeFocus(Time time) {
- //XSetInputFocus(dpy, entry.win, RevertToParent, time);
- }
-
- virtual void buttonActivate(TXButton* b) {
- if (b == &okButton) {
- if (cb) cb->getOptions();
- unmap();
- } else if (b == &cancelButton) {
- unmap();
- }
- }
-
- virtual void checkboxSelect(TXCheckbox* checkbox) {
- if (checkbox == &autoSelect) {
- tight.disabled(autoSelect.checked());
- zrle.disabled(autoSelect.checked());
- hextile.disabled(autoSelect.checked());
- raw.disabled(autoSelect.checked());
- fullColour.disabled(autoSelect.checked());
- mediumColour.disabled(autoSelect.checked());
- lowColour.disabled(autoSelect.checked());
- veryLowColour.disabled(autoSelect.checked());
- qualityLevel.disabled(autoSelect.checked() || !noJpeg.checked());
- } else if (checkbox == &fullColour || checkbox == &mediumColour ||
- checkbox == &lowColour || checkbox == &veryLowColour) {
- fullColour.checked(checkbox == &fullColour);
- mediumColour.checked(checkbox == &mediumColour);
- lowColour.checked(checkbox == &lowColour);
- veryLowColour.checked(checkbox == &veryLowColour);
- } else if (checkbox == &tight || checkbox == &zrle || checkbox == &hextile || checkbox == &raw) {
- tight.checked(checkbox == &tight);
- zrle.checked(checkbox == &zrle);
- hextile.checked(checkbox == &hextile);
- raw.checked(checkbox == &raw);
- } else if (checkbox == &sendClipboard) {
- sendPrimary.disabled(!sendClipboard.checked());
- } else if (checkbox == &useLocalCursor) {
- dotWhenNoCursor.disabled(!useLocalCursor.checked());
- } else if (checkbox == &customCompressLevel) {
- compressLevel.disabled(!customCompressLevel.checked());
- } else if (checkbox == &noJpeg) {
- qualityLevel.disabled(autoSelect.checked() || !noJpeg.checked());
-#ifdef HAVE_GNUTLS
- } else if (checkbox == &secVeNCrypt) {
- encTLS.checked(false);
- encTLS.disabled(!secVeNCrypt.checked());
- encX509.checked(false);
- encX509.disabled(!secVeNCrypt.checked());
- secPlain.checked(false);
- secPlain.disabled(!secVeNCrypt.checked());
-#endif
- }
- }
-
- virtual void entryCallback(TXEntry* e, Detail detail, Time time) {
- }
-
- OptionsDialogCallback* cb;
- TXLabel formatAndEnc, inputs, misc;
- TXCheckbox autoSelect;
- TXCheckbox fullColour, mediumColour, lowColour, veryLowColour;
- TXCheckbox tight, zrle, hextile, raw;
-
- TXCheckbox customCompressLevel; TXEntry compressLevel; TXLabel compressLevelLabel;
- TXCheckbox noJpeg; TXEntry qualityLevel; TXLabel qualityLevelLabel;
-
- TXCheckbox viewOnly, acceptClipboard, sendClipboard, sendPrimary;
- TXCheckbox shared, fullScreen, useLocalCursor, dotWhenNoCursor;
- TXButton okButton, cancelButton;
-
-#ifdef HAVE_GNUTLS
- 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
-};
-
-#endif