[commit] r1126 - trunk/GME/MgaUtil

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Tue Jan 11 16:01:43 CST 2011


Author: ksmyth
Date: Tue Jan 11 16:01:42 2011
New Revision: 1126

Log:
No one knows what "Toggle" meant: rename to Enable/Disable. Filter OnNotify events better to remove flicker on UAC icon on m_remove

Modified:
   trunk/GME/MgaUtil/CompDlg.cpp
   trunk/GME/MgaUtil/CompDlg.h
   trunk/GME/MgaUtil/MgaUtil.rc
   trunk/GME/MgaUtil/resource.h

Modified: trunk/GME/MgaUtil/CompDlg.cpp
==============================================================================
--- trunk/GME/MgaUtil/CompDlg.cpp	Tue Jan 11 11:36:48 2011	(r1125)
+++ trunk/GME/MgaUtil/CompDlg.cpp	Tue Jan 11 16:01:42 2011	(r1126)
@@ -42,7 +42,7 @@
 {
 	CDialog::DoDataExchange(pDX);
 	//{{AFX_DATA_MAP(CCompDlg)
-	DDX_Control(pDX, Toggle, m_toggle);
+	DDX_Control(pDX, IDC_ENABLE_DISABLE, m_enable_disable);
 	DDX_Control(pDX, IDC_REMOVE, m_remove);
 	DDX_Control(pDX, IDC_INSTALL, m_install);
 	DDX_Control(pDX, IDC_LIST, m_list);
@@ -59,7 +59,7 @@
 	ON_BN_CLICKED(IDC_ACTIVEDISP, OnActivedisp)
 	ON_BN_CLICKED(IDC_ACTIVE_INACTIVE, OnActiveInactive)
 	ON_BN_CLICKED(IDC_ALLCOMPS, OnAllcomps)
-	ON_BN_CLICKED(Toggle, OnToggle)
+	ON_BN_CLICKED(IDC_ENABLE_DISABLE, OnEnableDisable)
 	//}}AFX_MSG_MAP
 	ON_WM_SIZE()
 	ON_BN_CLICKED(IDC_RADIOSYS, &CCompDlg::OnBnClickedRadiosys)
@@ -132,7 +132,7 @@
 		bool shieldOn = regacc_translate(m_accessmode) != REGACCESS_USER;
 		CUACUtils::SetShieldIcon(m_install, true);
 		CUACUtils::SetShieldIcon(m_remove, true);
-		CUACUtils::SetShieldIcon(m_toggle, shieldOn);
+		CUACUtils::SetShieldIcon(m_enable_disable, shieldOn);
 	}
 }
 
@@ -143,7 +143,7 @@
 	ASSERT( registrar != NULL );
 
 	m_remove.EnableWindow(false);
-	m_toggle.EnableWindow(false);
+	m_enable_disable.EnableWindow(false);
 
 	UpdateData();
 	VERIFYTHROW( m_list.DeleteAllItems() != 0 );
@@ -243,6 +243,26 @@
 			m_list.SetItemState(index, LVIS_SELECTED, LVIS_SELECTED);
 		}
 	}
+	UpdateEnableDisable();
+}
+
+void CCompDlg::UpdateEnableDisable() {
+	POSITION pos = m_list.GetFirstSelectedItemPosition();
+	if (pos != NULL) {
+		int i = m_list.GetNextSelectedItem(pos);
+		CString progid = m_list.GetItemText(i, 2);
+		CComPtr<IMgaRegistrar> registrar;
+		registrar.CoCreateInstance(L"Mga.MgaRegistrar");
+		ASSERT(registrar != NULL);
+		VARIANT_BOOL is_ass, can_ass;
+		HRESULT hr = registrar->IsAssociated(PutInBstr(progid), PutInBstr(paradigm), &is_ass, &can_ass, REGACCESS_PRIORITY);
+		ASSERT(SUCCEEDED(hr));
+		if (SUCCEEDED(hr) && is_ass == VARIANT_TRUE) {
+			m_enable_disable.SetWindowTextA("Disable");
+			return;
+		}
+	}
+	m_enable_disable.SetWindowTextA("Enable");
 }
 
 void CCompDlg::OnOK() 
@@ -263,12 +283,18 @@
 
 BOOL CCompDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) 
 {
-	if( wParam == IDC_LIST && ((NMHDR*)lParam)->code == LVN_ITEMCHANGED )
+	if( wParam == IDC_LIST && ((NMHDR*)lParam)->code == LVN_ITEMCHANGED &&
+		((NMLISTVIEW*)lParam)->uNewState == (LVIS_FOCUSED|LVIS_SELECTED))
 	{
 		POSITION pos = m_list.GetFirstSelectedItemPosition();
 		m_remove.EnableWindow(pos != NULL);
-		m_toggle.EnableWindow(pos != NULL);
+		m_enable_disable.EnableWindow(pos != NULL);
 		to_select = m_list.GetItemText(m_list.GetNextSelectedItem(pos),0);
+		UpdateEnableDisable();
+		return TRUE;
+	} else if (wParam == IDC_LIST && ((NMHDR*)lParam)->code == NM_DBLCLK )
+	{
+		OnEnableDisable();
 		return TRUE;
 	}
 	
@@ -324,7 +350,7 @@
 }
 
 
-void CCompDlg::OnToggle() 
+void CCompDlg::OnEnableDisable() 
 {
 	UpdateData();
 	MSGTRY
@@ -618,7 +644,7 @@
 		MoveControl(IDC_ACTIVEDISP,				0, deltaHeight, 0, 0, defer, &dwp);
 		MoveControl(IDC_ACTIVE_INACTIVE,		0, deltaHeight, 0, 0, defer, &dwp);
 		MoveControl(IDC_ALLCOMPS,				0, deltaHeight, 0, 0, defer, &dwp);
-		MoveControl(Toggle,						0, deltaHeight, 0, 0, defer, &dwp);
+                MoveControl(IDC_ENABLE_DISABLE,                 0, deltaHeight, 0, 0, defer, &dwp);
 		MoveControl(IDC_RADIOSYS,				0, deltaHeight, 0, 0, defer, &dwp);
 		MoveControl(IDC_RADIOUSER,				0, deltaHeight, 0, 0, defer, &dwp);
 		MoveControl(IDC_RADIOBOTH,				0, deltaHeight, 0, 0, defer, &dwp);

Modified: trunk/GME/MgaUtil/CompDlg.h
==============================================================================
--- trunk/GME/MgaUtil/CompDlg.h	Tue Jan 11 11:36:48 2011	(r1125)
+++ trunk/GME/MgaUtil/CompDlg.h	Tue Jan 11 16:01:42 2011	(r1126)
@@ -22,7 +22,7 @@
 // Dialog Data
 	//{{AFX_DATA(CCompDlg)
 	enum { IDD = IDD_COMPDLG };
-	CButton	m_toggle;
+	CButton	m_enable_disable;
 	CButton	m_remove;
 	CButton m_install;
 	CListCtrl	m_list;
@@ -51,7 +51,7 @@
 	afx_msg void OnActivedisp();
 	afx_msg void OnActiveInactive();
 	afx_msg void OnAllcomps();
-	afx_msg void OnToggle();
+	afx_msg void OnEnableDisable();
 	//}}AFX_MSG
 	DECLARE_MESSAGE_MAP()
 
@@ -61,6 +61,7 @@
 	void RegisterDll(const CString &path);
 	void RegisterPattern(const CString &path);
 	void RegisterUnknownFile(const CString &path);
+	void UpdateEnableDisable();
 
 public:
 	CString paradigm;

Modified: trunk/GME/MgaUtil/MgaUtil.rc
==============================================================================
--- trunk/GME/MgaUtil/MgaUtil.rc	Tue Jan 11 11:36:48 2011	(r1125)
+++ trunk/GME/MgaUtil/MgaUtil.rc	Tue Jan 11 16:01:42 2011	(r1126)
@@ -115,7 +115,7 @@
 FONT 8, "MS Sans Serif", 0, 0, 0x0
 BEGIN
     DEFPUSHBUTTON   "Close",IDOK,7,204,55,15
-    PUSHBUTTON      "Toggle",Toggle,73,204,55,15,WS_DISABLED
+    PUSHBUTTON      "Enable",IDC_ENABLE_DISABLE,73,204,55,15,WS_DISABLED
     PUSHBUTTON      "Install New...",IDC_INSTALL,7,180,55,15
     PUSHBUTTON      "Remove",IDC_REMOVE,73,180,55,15,WS_DISABLED
     LTEXT           "Please select the component you want to work with",IDC_STATIC,5,5,255,25

Modified: trunk/GME/MgaUtil/resource.h
==============================================================================
--- trunk/GME/MgaUtil/resource.h	Tue Jan 11 11:36:48 2011	(r1125)
+++ trunk/GME/MgaUtil/resource.h	Tue Jan 11 16:01:42 2011	(r1126)
@@ -110,7 +110,7 @@
 #define IDC_STATIC_VALUE                2171
 #define IDC_SYSICONPATH                 2172
 #define IDC_ADDSYSICONPATH              2173
-#define Toggle                          2174
+#define IDC_ENABLE_DISABLE              2174
 #define IDC_EXT_EDITOR                  2174
 #define IDC_EXT_BUTTON                  2175
 #define IDC_NAME                        2176


More information about the gme-commit mailing list