aboutsummaryrefslogtreecommitdiffstats
path: root/vncviewer
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2025-01-31 13:50:58 +0100
committerPierre Ossman <ossman@cendio.se>2025-03-12 17:17:08 +0100
commite55ad4ebc1d3e661b2974f7382a876021ebf1bd4 (patch)
treeae21cf3379d3b542fe6aad3c36e94f54542c344d /vncviewer
parent9c7aa35e82cbbe55f266c464156b9e4cc39a8ee5 (diff)
downloadtigervnc-e55ad4ebc1d3e661b2974f7382a876021ebf1bd4.tar.gz
tigervnc-e55ad4ebc1d3e661b2974f7382a876021ebf1bd4.zip
Convert PreferredEncoding to EnumParameter
Diffstat (limited to 'vncviewer')
-rw-r--r--vncviewer/CConn.cxx4
-rw-r--r--vncviewer/OptionsDialog.cxx19
-rw-r--r--vncviewer/parameters.cxx12
-rw-r--r--vncviewer/parameters.h2
-rw-r--r--vncviewer/vncviewer.man4
5 files changed, 20 insertions, 21 deletions
diff --git a/vncviewer/CConn.cxx b/vncviewer/CConn.cxx
index d22ea0f6..e567939c 100644
--- a/vncviewer/CConn.cxx
+++ b/vncviewer/CConn.cxx
@@ -313,7 +313,7 @@ void CConn::initDone()
// Force a switch to the format and encoding we'd like
updatePixelFormat();
- int encNum = rfb::encodingNum(::preferredEncoding);
+ int encNum = rfb::encodingNum(::preferredEncoding.getValueStr().c_str());
if (encNum != -1)
setPreferredEncoding(encNum);
}
@@ -567,7 +567,7 @@ void CConn::handleOptions(void *data)
// list is cheap. Avoid overriding what the auto logic has selected
// though.
if (!autoSelect) {
- int encNum = rfb::encodingNum(::preferredEncoding);
+ int encNum = rfb::encodingNum(::preferredEncoding.getValueStr().c_str());
if (encNum != -1)
self->setPreferredEncoding(encNum);
diff --git a/vncviewer/OptionsDialog.cxx b/vncviewer/OptionsDialog.cxx
index aadf8618..0ca5bc10 100644
--- a/vncviewer/OptionsDialog.cxx
+++ b/vncviewer/OptionsDialog.cxx
@@ -159,27 +159,18 @@ void OptionsDialog::loadOptions(void)
/* Compression */
autoselectCheckbox->value(autoSelect);
- int encNum = rfb::encodingNum(preferredEncoding);
-
- switch (encNum) {
- case rfb::encodingTight:
+ if (preferredEncoding == "Tight")
tightButton->setonly();
- break;
- case rfb::encodingZRLE:
+ else if (preferredEncoding == "ZRLE")
zrleButton->setonly();
- break;
- case rfb::encodingHextile:
+ else if (preferredEncoding == "Hextile")
hextileButton->setonly();
- break;
#ifdef HAVE_H264
- case rfb::encodingH264:
+ else if (preferredEncoding == "H.264")
h264Button->setonly();
- break;
#endif
- case rfb::encodingRaw:
+ else if (preferredEncoding == "Raw")
rawButton->setonly();
- break;
- }
if (fullColour)
fullcolorCheckbox->setonly();
diff --git a/vncviewer/parameters.cxx b/vncviewer/parameters.cxx
index de62a34d..4127c475 100644
--- a/vncviewer/parameters.cxx
+++ b/vncviewer/parameters.cxx
@@ -113,10 +113,18 @@ core::IntParameter
core::AliasParameter
lowColourLevelAlias("LowColourLevel",
"Alias for LowColorLevel", &lowColourLevel);
-core::StringParameter
+core::EnumParameter
preferredEncoding("PreferredEncoding",
- "Preferred encoding to use (Tight, ZRLE, Hextile "
+ "Preferred encoding to use (Tight, ZRLE, Hextile, "
+#ifdef HAVE_H264
+ "H.264, "
+#endif
"or Raw)",
+ {"Tight", "ZRLE", "Hextile",
+#ifdef HAVE_H264
+ "H.264",
+#endif
+ "Raw"},
"Tight");
core::BoolParameter
customCompressLevel("CustomCompressLevel",
diff --git a/vncviewer/parameters.h b/vncviewer/parameters.h
index d1961817..9362c5bb 100644
--- a/vncviewer/parameters.h
+++ b/vncviewer/parameters.h
@@ -45,7 +45,7 @@ extern core::BoolParameter fullColour;
extern core::AliasParameter fullColourAlias;
extern core::IntParameter lowColourLevel;
extern core::AliasParameter lowColourLevelAlias;
-extern core::StringParameter preferredEncoding;
+extern core::EnumParameter preferredEncoding;
extern core::BoolParameter customCompressLevel;
extern core::IntParameter compressLevel;
extern core::BoolParameter noJpeg;
diff --git a/vncviewer/vncviewer.man b/vncviewer/vncviewer.man
index 21748b62..4812b5d4 100644
--- a/vncviewer/vncviewer.man
+++ b/vncviewer/vncviewer.man
@@ -269,8 +269,8 @@ Time in milliseconds to rate-limit successive pointer events. Default is
.
.TP
.B \-PreferredEncoding \fIencoding\fP
-This option specifies the preferred encoding to use from one of "Tight", "ZRLE",
-"hextile" or "raw".
+This option specifies the preferred encoding to use from one of "Tight",
+"ZRLE", "Hextile", "H.264", or "Raw".
.
.TP
.B \-QualityLevel \fIlevel\fP