The code which realizes full functionality Control Panel,
in a kind existing now, was added.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@467 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/winvnc/ControlPanel.cxx b/winvnc/ControlPanel.cxx
index 1f69306..e668d91 100644
--- a/winvnc/ControlPanel.cxx
+++ b/winvnc/ControlPanel.cxx
@@ -8,7 +8,6 @@
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
-//using namespace rfb_win32;
using namespace winvnc;
bool ControlPanel::showDialog()
@@ -26,6 +25,8 @@
InitLVColumns(IDC_LIST_CONNECTIONS, handle, 120, 3, ColumnsStrings,
LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM,
LVS_EX_FULLROWSELECT, LVCFMT_LEFT);
+ SendCommand(3, -1);
+ setItemChecked(IDC_DISABLE_CLIENTS, ListConnStatus.getDisable());
}
bool ControlPanel::onCommand(int cmd)
@@ -42,11 +43,6 @@
SendCommand(2, -1);
return false;
}
- case IDC_DISABLE_CLIENTS:
- {
-
- return false;
- }
case IDC_KILL_SEL_CLIENT:
{
SendCommand(3, 3);
@@ -68,6 +64,12 @@
EndDialog(handle, 0);
return false;
}
+ case IDC_DISABLE_CLIENTS:
+ {
+ ListConnStatus.setDisable(isItemChecked(IDC_DISABLE_CLIENTS));
+ SendCommand(3, -1);
+ return false;
+ }
}
return false;
@@ -109,7 +111,6 @@
stop_updating = false;
SendCommand(3, 2);
}
- initDialog();
return TRUE;
case WM_COMMAND:
switch (LOWORD(wParam)) {
@@ -141,15 +142,15 @@
COPYDATASTRUCT copyData;
copyData.dwData = command;
copyData.lpData = 0;
+ getSelConnInfo();
if (data != -1) {
- getSelConnInfo();
ListConnStatus.Copy(&ListSelConn);
- for (ListConnStatus.iBegin(); !ListConnStatus.iEnd(); ListConnStatus.iNext())
- ListConnStatus.iSetStatus(data);
+ ListConnStatus.setAllStatus(data);
copyData.cbData = (DWORD)&ListConnStatus;
} else {
- copyData.cbData = 0;
+ ListConnStatus.Clear();
}
+ copyData.cbData = (DWORD)&ListConnStatus;
SendMessage(m_hSTIcon, WM_COPYDATA, 0, (LPARAM)©Data);
}