diff options
-rw-r--r-- | Source/MFCDialog/CMakeSetupDialog.cpp | 14 | ||||
-rw-r--r-- | Source/MFCDialog/PropertyList.cpp | 1 |
2 files changed, 11 insertions, 4 deletions
diff --git a/Source/MFCDialog/CMakeSetupDialog.cpp b/Source/MFCDialog/CMakeSetupDialog.cpp index 635be38..f03e0f2 100644 --- a/Source/MFCDialog/CMakeSetupDialog.cpp +++ b/Source/MFCDialog/CMakeSetupDialog.cpp @@ -164,7 +164,6 @@ BOOL CMakeSetupDialog::OnInitDialog() cmMakefile::GetMinorVersion()); SetDlgItemText(IDC_CMAKE_VERSION, tmp); this->UpdateData(FALSE); - m_OKButton.EnableWindow(false); return TRUE; // return TRUE unless you set the focus to a control } @@ -455,8 +454,6 @@ void CMakeSetupDialog::RunCMake(bool generateProjectFiles) void CMakeSetupDialog::OnConfigure() { this->RunCMake(false); - // if cache has values then enb - m_OKButton.EnableWindow(true); } @@ -519,6 +516,15 @@ void CMakeSetupDialog::FillCacheGUIFromCacheManager() } const cmCacheManager::CacheEntryMap &cache = cmCacheManager::GetInstance()->GetCacheMap(); + if(cache.size() == 0) + { + m_OKButton.EnableWindow(false); + } + else + { + m_OKButton.EnableWindow(true); + } + for(cmCacheManager::CacheEntryMap::const_iterator i = cache.begin(); i != cache.end(); ++i) { @@ -704,7 +710,7 @@ void CMakeSetupDialog::OnGetMinMaxInfo( MINMAXINFO FAR* lpMMI ) void CMakeSetupDialog::OnCancel() { - if(m_OKButton.IsWindowEnabled()) + if(m_CacheEntriesList.IsDirty()) { if(MessageBox("You have changed options but not rebuilt, " "are you sure you want to exit?", "Confirm Exit", diff --git a/Source/MFCDialog/PropertyList.cpp b/Source/MFCDialog/PropertyList.cpp index f60d423..e5b347b 100644 --- a/Source/MFCDialog/PropertyList.cpp +++ b/Source/MFCDialog/PropertyList.cpp @@ -652,6 +652,7 @@ void CPropertyList::RemoveAll() delete pItem; this->DeleteString(0); } + m_Dirty = false; this->HideControls(); InvalidateList(); } |