diff options
author | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2005-04-11 10:16:25 +0000 |
---|---|---|
committer | Alexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de> | 2005-04-11 10:16:25 +0000 |
commit | 1fbd38f3b46df62561f8be74cbc05fcf8ad88a21 (patch) | |
tree | ec8b0924c4ff833e5c24599920c4f7dd10dde094 | |
parent | 6848b0353897a6a5d1218b266c22fb87a7c6d730 (diff) |
Added wizard page for clipboard selection and additional server parameters
-rw-r--r-- | hw/xwin/xlaunch/config.cc | 5 | ||||
-rw-r--r-- | hw/xwin/xlaunch/config.h | 8 | ||||
-rwxr-xr-x | hw/xwin/xlaunch/main.cc | 35 | ||||
-rwxr-xr-x | hw/xwin/xlaunch/resources/dialog.rc | 9 | ||||
-rwxr-xr-x | hw/xwin/xlaunch/resources/resources.h | 8 | ||||
-rw-r--r-- | hw/xwin/xlaunch/resources/strings.rc | 9 |
6 files changed, 65 insertions, 9 deletions
diff --git a/hw/xwin/xlaunch/config.cc b/hw/xwin/xlaunch/config.cc index 16d2a3a86..b6bf65ae3 100644 --- a/hw/xwin/xlaunch/config.cc +++ b/hw/xwin/xlaunch/config.cc @@ -181,6 +181,8 @@ void CConfig::Save(const char *filename) setAttribute(root, L"XDMCPHost", xdmcp_host.c_str()); setAttribute(root, L"XDMCPBroadcast", broadcast?L"True":L"False"); setAttribute(root, L"XDMCPIndirect", indirect?L"True":L"False"); + setAttribute(root, L"Clipboard", clipboard?L"True":L"False"); + setAttribute(root, L"ExtraParams", extra_params.c_str()); VARIANT var = VariantString(filename); HRCALL(doc->save(var), "save"); @@ -271,7 +273,8 @@ void CConfig::Load(const char *filename) getAttribute(root, L"XDMCPHost", xdmcp_host); getAttributeBool(root, L"XDMCPBroadcast", broadcast); getAttributeBool(root, L"XDMCPIndirect", indirect); - + getAttributeBool(root, L"Clipboard", clipboard); + getAttribute(root, L"ExtraParams", extra_params); doc->Release(); diff --git a/hw/xwin/xlaunch/config.h b/hw/xwin/xlaunch/config.h index 5351db3aa..f0aed3cf1 100644 --- a/hw/xwin/xlaunch/config.h +++ b/hw/xwin/xlaunch/config.h @@ -40,14 +40,18 @@ struct CConfig bool broadcast; bool indirect; std::string xdmcp_host; + bool clipboard; + std::string extra_params; #ifdef _DEBUG CConfig() : window(MultiWindow), client(StartProgram), local(false), display("1"), protocol("Putty"), program("xterm"), host("lupus"), user("ago"), - broadcast(false), indirect(false), xdmcp_host("lupus") {}; + broadcast(false), indirect(false), xdmcp_host("lupus"), + clipboard(true), extra_params() {}; #else CConfig() : window(MultiWindow), client(StartProgram), local(false), display("0"), protocol("Putty"), program("xterm"), host(""), user(""), - broadcast(true), indirect(false), xdmcp_host("") {}; + broadcast(true), indirect(false), xdmcp_host(""), + clipboard(true), extra_params() {}; #endif void Load(const char* filename); void Save(const char* filename); diff --git a/hw/xwin/xlaunch/main.cc b/hw/xwin/xlaunch/main.cc index 2b4fcd8d8..4450c07f3 100755 --- a/hw/xwin/xlaunch/main.cc +++ b/hw/xwin/xlaunch/main.cc @@ -59,6 +59,7 @@ class CMyWizard : public CWizard AddPage(IDD_PROGRAM, IDS_PROGRAM_TITLE, IDS_PROGRAM_SUBTITLE); AddPage(IDD_XDMCP, IDS_XDMCP_TITLE, IDS_XDMCP_SUBTITLE); //AddPage(IDD_FONTPATH, IDS_FONTPATH_TITLE, IDS_FONTPATH_SUBTITLE); + AddPage(IDD_CLIPBOARD, IDS_CLIPBOARD_TITLE, IDS_CLIPBOARD_SUBTITLE); AddPage(IDD_FINISH, IDS_FINISH_TITLE, IDS_FINISH_SUBTITLE); } @@ -124,7 +125,7 @@ class CMyWizard : public CWizard } else if (IsDlgButtonChecked(hwndDlg, IDC_CLIENT_NONE)) { config.client = CConfig::NoClient; - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_FINISH); + SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CLIPBOARD); } else SetWindowLong(hwndDlg, DWL_MSGRESULT, -1); return TRUE; @@ -156,7 +157,7 @@ class CMyWizard : public CWizard if (!config.local && (config.host.empty() || config.program.empty())) SetWindowLong(hwndDlg, DWL_MSGRESULT, -1); else - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_FINISH); + SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CLIPBOARD); return TRUE; case IDD_XDMCP: // Check for broadcast @@ -185,8 +186,23 @@ class CMyWizard : public CWizard if (!config.broadcast && config.xdmcp_host.empty()) SetWindowLong(hwndDlg, DWL_MSGRESULT, -1); else - SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_FINISH); + SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CLIPBOARD); return TRUE; + case IDD_CLIPBOARD: + // check for clipboard + if (IsDlgButtonChecked(hwndDlg, IDC_CLIPBOARD)) + config.clipboard = true; + else + config.clipboard = false; + // read parameters + { + char buffer[512]; + GetDlgItemText(hwndDlg, IDC_EXTRA_PARAMS, buffer, 512); + buffer[511] = 0; + config.extra_params = buffer; + } + SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_FINISH); + return TRUE; default: break; } @@ -218,7 +234,7 @@ class CMyWizard : public CWizard SetWindowLong(hwndDlg, DWL_MSGRESULT, IDD_CLIENTS); return TRUE; case IDD_FONTPATH: - case IDD_FINISH: // temporary. fontpath is disabled + case IDD_CLIPBOARD: // temporary. fontpath is disabled switch (config.client) { case CConfig::NoClient: @@ -416,6 +432,10 @@ class CMyWizard : public CWizard // Set hostname SetDlgItemText(hwndDlg, IDC_XDMCP_HOST, config.xdmcp_host.c_str()); break; + case IDD_CLIPBOARD: + CheckDlgButton(hwndDlg, IDC_CLIPBOARD, config.clipboard?BST_CHECKED:BST_UNCHECKED); + SetDlgItemText(hwndDlg, IDC_EXTRA_PARAMS, config.extra_params.c_str()); + break; } case WM_COMMAND: @@ -514,6 +534,13 @@ class CMyWizard : public CWizard buffer += config.xdmcp_host; } } + if (config.clipboard) + buffer += "-clipboard "; + if (!config.extra_params.empty()) + { + buffer += config.extra_params; + buffer += " "; + } // Construct client commandline if (config.client == CConfig::StartProgram) diff --git a/hw/xwin/xlaunch/resources/dialog.rc b/hw/xwin/xlaunch/resources/dialog.rc index 7e6948176..8b00df4ef 100755 --- a/hw/xwin/xlaunch/resources/dialog.rc +++ b/hw/xwin/xlaunch/resources/dialog.rc @@ -95,11 +95,16 @@ BEGIN LTEXT STR_XDMCP_QUERY_DESC,IDC_XDMCP_QUERY_DESC,7,56,300,42 END -IDD_FONTPATH DIALOGEX 0, 0, 317, 143 +IDD_CLIPBOARD DIALOGEX 0, 0, 317, 143 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_CENTERMOUSE -CAPTION STR_CAPTION_FONTPATH +CAPTION STR_CAPTION_CLIPBOARD FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN + AUTOCHECKBOX STR_CLIPBOARD,IDC_CLIPBOARD,7,14,300,10 + LTEXT STR_CLIPBOARD_DESC,IDC_CLIPBOARD_DESC,19,28,280,27 + + LTEXT STR_EXTRA_PARAMS_DESC,IDC_EXTRA_PARAMS_DESC,7,56,280,10 + EDITTEXT IDC_EXTRA_PARAMS,7,70,128,12 END IDD_FINISH DIALOGEX 0, 0, 317, 143 diff --git a/hw/xwin/xlaunch/resources/resources.h b/hw/xwin/xlaunch/resources/resources.h index a6dd1fd07..470005192 100755 --- a/hw/xwin/xlaunch/resources/resources.h +++ b/hw/xwin/xlaunch/resources/resources.h @@ -33,6 +33,7 @@ #define IDD_PROGRAM 104
#define IDD_XDMCP 105
#define IDD_FONTPATH 106
+#define IDD_CLIPBOARD 107
#define IDS_DISPLAY_TITLE 300
#define IDS_DISPLAY_SUBTITLE 301
@@ -46,6 +47,8 @@ #define IDS_FONTPATH_SUBTITLE 309
#define IDS_FINISH_TITLE 310
#define IDS_FINISH_SUBTITLE 311
+#define IDS_CLIPBOARD_TITLE 312
+#define IDS_CLIPBOARD_SUBTITLE 313
#define IDS_SAVE_TITLE 320
#define IDS_SAVE_FILETITLE 321
#define IDS_SAVE_FILTER 322
@@ -89,3 +92,8 @@ #define IDC_FINISH_DESC 250
#define IDC_FINISH_SAVE 251
#define IDC_FINISH_SAVE_DESC 252
+
+#define IDC_CLIPBOARD 260
+#define IDC_CLIPBOARD_DESC 261
+#define IDC_EXTRA_PARAMS 262
+#define IDC_EXTRA_PARAMS_DESC 263
diff --git a/hw/xwin/xlaunch/resources/strings.rc b/hw/xwin/xlaunch/resources/strings.rc index 36bd34ff1..5a9cd281b 100644 --- a/hw/xwin/xlaunch/resources/strings.rc +++ b/hw/xwin/xlaunch/resources/strings.rc @@ -57,6 +57,11 @@ #define STR_CAPTION_FONTPATH "Fontpath settings" +#define STR_CAPTION_CLIPBOARD "Clipboard settings" +#define STR_CLIPBOARD "Clipboard" +#define STR_CLIPBOARD_DESC "Start the integrated clipboard manager" +#define STR_EXTRA_PARAMS_DESC "Additional parameters for Xming" + #define STR_CAPTION_FINISH "Finish configuration" #define STR_FINISH_DESC "Configuration is complete. Clish Finish to start Xming." #define STR_FINISH_SAVE_DESC "You may also save the configuration for later use." @@ -74,6 +79,8 @@ #define STR_FONTPATH_SUBTITLE "" #define STR_FINISH_TITLE "Configuration complete" #define STR_FINISH_SUBTITLE "" +#define STR_CLIPBOARD_TITLE "Clipboard settings" +#define STR_CLIPBOARD_SUBTITLE "" #define STR_SAVE_TITLE "Save configuration" #define STR_SAVE_FILETITLE "Filename" @@ -93,6 +100,8 @@ BEGIN IDS_FONTPATH_SUBTITLE STR_FONTPATH_SUBTITLE IDS_FINISH_TITLE STR_FINISH_TITLE IDS_FINISH_SUBTITLE STR_FINISH_SUBTITLE + IDS_CLIPBOARD_TITLE STR_CLIPBOARD_TITLE + IDS_CLIPBOARD_SUBTITLE STR_CLIPBOARD_SUBTITLE IDS_SAVE_TITLE STR_SAVE_TITLE IDS_SAVE_FILETITLE STR_SAVE_FILETITLE IDS_SAVE_FILTER STR_SAVE_FILTER |