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)&copyData);
 }