szrMain = new wxBoxSizer( wxVERTICAL );
this->SetSizer(szrMain);
- this->SetSize(wxSize(350, 500));
-
- //scwMain = new wxScrolledWindow();
-
- //szrScrolled = new wxBoxSizer( wxHORIZONTAL );
- //scwMain->SetSizer(szrScrolled);
-
- //szrMain->Add(scwMain, 0, wxEXPAND, 5);
- //szrMain->Layout();
-
+ this->SetSize(wxSize(350, 500));
}
}
- // TODO: Delete the old controls.
+ // Delete the old controls. Remember which setting the checkboxes were hidden so they
+ // can be restored later on.
+
+ vector<int> calendarHiddenAccountsList = GetHiddenAccountsList();
+ vector<int> calendarHiddenCalendarsList = GetHiddenCalendarsList();
for (vector<XCCalendarListAccountCtrl*>::iterator accountCtrlIter = accountControlList.begin();
accountCtrlIter != accountControlList.end(); accountCtrlIter++){
XCCalendarListAccountCtrl *newAccountCtrl = new XCCalendarListAccountCtrl(this, accountListData.accountList[AccountSeek].accountName);
newAccountCtrl->SetAccountID(accountListData.accountList[AccountSeek].accountID);
+ newAccountCtrl->SetAccountPreferencesID(accountListData.accountList[AccountSeek].accountPreferencesID);
szrMain->Add(newAccountCtrl, 0, wxEXPAND, 5);
+ if (find(calendarHiddenAccountsList.begin(), calendarHiddenAccountsList.end(), accountListData.accountList[AccountSeek].accountID) != calendarHiddenAccountsList.end()){
+
+ newAccountCtrl->SetCheckBoxValue(wxCHK_UNCHECKED);
+
+ }
+
accountControlList.push_back(newAccountCtrl);
// Get the list of calendars and create controls.
XCCalendarListCalendarCtrl *newCalendarCtrl = new XCCalendarListCalendarCtrl(this, calendarInfo.calendarName, calendarInfo.calendarColour);
newCalendarCtrl->SetCalendarID(accountCalendarList.calendarList[calendarSeek]);
+ newCalendarCtrl->SetAccountPreferencesID(accountListData.accountList[AccountSeek].accountPreferencesID);
+
+ if (find(calendarHiddenCalendarsList.begin(), calendarHiddenCalendarsList.end(), accountCalendarList.calendarList[calendarSeek]) != calendarHiddenCalendarsList.end()){
+
+ newCalendarCtrl->SetCheckBoxValue(wxCHK_UNCHECKED);
+
+ }
+
newAccountCtrl->AddCalendar(newCalendarCtrl);
szrMain->Add(newCalendarCtrl, 0, wxEXPAND, 5);
// Set the updated checksum.
checksumUpdate = currentChecksum.checksumValue;
+
+ this->Layout();
}