ENH: change the logic of disabling the ok button a bit

This commit is contained in:
Bill Hoffman 2001-07-26 10:18:26 -04:00
parent 4fe6473b8b
commit cb858f511e
2 changed files with 11 additions and 4 deletions

View File

@ -164,7 +164,6 @@ BOOL CMakeSetupDialog::OnInitDialog()
cmMakefile::GetMinorVersion()); cmMakefile::GetMinorVersion());
SetDlgItemText(IDC_CMAKE_VERSION, tmp); SetDlgItemText(IDC_CMAKE_VERSION, tmp);
this->UpdateData(FALSE); this->UpdateData(FALSE);
m_OKButton.EnableWindow(false);
return TRUE; // return TRUE unless you set the focus to a control return TRUE; // return TRUE unless you set the focus to a control
} }
@ -455,8 +454,6 @@ void CMakeSetupDialog::RunCMake(bool generateProjectFiles)
void CMakeSetupDialog::OnConfigure() void CMakeSetupDialog::OnConfigure()
{ {
this->RunCMake(false); this->RunCMake(false);
// if cache has values then enb
m_OKButton.EnableWindow(true);
} }
@ -519,6 +516,15 @@ void CMakeSetupDialog::FillCacheGUIFromCacheManager()
} }
const cmCacheManager::CacheEntryMap &cache = const cmCacheManager::CacheEntryMap &cache =
cmCacheManager::GetInstance()->GetCacheMap(); cmCacheManager::GetInstance()->GetCacheMap();
if(cache.size() == 0)
{
m_OKButton.EnableWindow(false);
}
else
{
m_OKButton.EnableWindow(true);
}
for(cmCacheManager::CacheEntryMap::const_iterator i = cache.begin(); for(cmCacheManager::CacheEntryMap::const_iterator i = cache.begin();
i != cache.end(); ++i) i != cache.end(); ++i)
{ {
@ -704,7 +710,7 @@ void CMakeSetupDialog::OnGetMinMaxInfo( MINMAXINFO FAR* lpMMI )
void CMakeSetupDialog::OnCancel() void CMakeSetupDialog::OnCancel()
{ {
if(m_OKButton.IsWindowEnabled()) if(m_CacheEntriesList.IsDirty())
{ {
if(MessageBox("You have changed options but not rebuilt, " if(MessageBox("You have changed options but not rebuilt, "
"are you sure you want to exit?", "Confirm Exit", "are you sure you want to exit?", "Confirm Exit",

View File

@ -652,6 +652,7 @@ void CPropertyList::RemoveAll()
delete pItem; delete pItem;
this->DeleteString(0); this->DeleteString(0);
} }
m_Dirty = false;
this->HideControls(); this->HideControls();
InvalidateList(); InvalidateList();
} }