X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditorOrganisations.cpp;h=2f67cb490ebdceae2778c1ae8abde57ab9e6ab3c;hp=b6c2e19fcdb1cb459040e246b97f802a5560fc0a;hb=ada42724cf083b0a311cf22260485d61516c25c8;hpb=da64d37d0a13895554e4ad945c46dd0af6d1c0e6 diff --git a/source/contacteditor/frmContactEditorOrganisations.cpp b/source/contacteditor/frmContactEditorOrganisations.cpp index b6c2e19..2f67cb4 100644 --- a/source/contacteditor/frmContactEditorOrganisations.cpp +++ b/source/contacteditor/frmContactEditorOrganisations.cpp @@ -24,13 +24,21 @@ frmContactEditorOrganisations::frmContactEditorOrganisations( wxWindow* parent ) : frmContactEditorOrganisationsADT( parent ) { + + // Setup the window. + EditorMode = FALSE; - sliPriority->Disable(); + priorityCtrl = new XABPriorityCtrl(tabGeneral); + szrGeneral->Add(priorityCtrl, 1, wxEXPAND, 5); + szrGeneral->Layout(); + } void frmContactEditorOrganisations::UpdateSortAs( wxCommandEvent& event ) { + // Update the predefined SortAs listings. + // Clear out the options for the combo box. cmbSortAs->Clear(); @@ -67,18 +75,11 @@ void frmContactEditorOrganisations::UpdateSortAs( wxCommandEvent& event ) } -void frmContactEditorOrganisations::EnablePriority( wxCommandEvent& event ) -{ - if (chkUsePref->IsChecked()){ - sliPriority->Enable(); - } else { - sliPriority->Disable(); - } -} - void frmContactEditorOrganisations::ProcessAction( wxCommandEvent& event ) { + // Process action. + long ListCtrlIndex; if (EditorMode == FALSE){ @@ -112,9 +113,9 @@ void frmContactEditorOrganisations::ProcessAction( wxCommandEvent& event ) // Setup Organisation Priority. - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - OrganisationListPrefPtr->insert(std::make_pair(OrganisationListIndex, sliPriority->GetValue())); + OrganisationListPrefPtr->insert(std::make_pair(OrganisationListIndex, priorityCtrl->GetValue())); } else { @@ -131,9 +132,9 @@ void frmContactEditorOrganisations::ProcessAction( wxCommandEvent& event ) coldata.SetText(txtOrganisation->GetValue()); ListCtrlIndex = OrganisationListCtrlPtr->InsertItem(coldata); - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - OrganisationListCtrlPtr->SetItem(ListCtrlIndex, 1, wxString::Format(wxT("%i"), sliPriority->GetValue())); + OrganisationListCtrlPtr->SetItem(ListCtrlIndex, 1, wxString::Format(wxT("%i"), priorityCtrl->GetValue())); } @@ -159,9 +160,9 @@ void frmContactEditorOrganisations::ProcessAction( wxCommandEvent& event ) OrganisationListPrefPtr->erase(OrganisationListIndex); - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - OrganisationListPrefPtr->insert(std::make_pair(OrganisationListIndex, sliPriority->GetValue())); + OrganisationListPrefPtr->insert(std::make_pair(OrganisationListIndex, priorityCtrl->GetValue())); } else { @@ -181,9 +182,9 @@ void frmContactEditorOrganisations::ProcessAction( wxCommandEvent& event ) OrganisationListCtrlPtr->SetItem(longSelected, 0, txtOrganisation->GetValue()); - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - OrganisationListCtrlPtr->SetItem(longSelected, 1, wxString::Format(wxT("%i"), sliPriority->GetValue())); + OrganisationListCtrlPtr->SetItem(longSelected, 1, wxString::Format(wxT("%i"), priorityCtrl->GetValue())); } else { @@ -199,6 +200,9 @@ void frmContactEditorOrganisations::ProcessAction( wxCommandEvent& event ) void frmContactEditorOrganisations::SetEditorMode(bool EditMode, SectionType SectType) { + + // Set the editor mode. + // Set if the editor is adding or editing an address. // FALSE = Add // TRUE = Edit @@ -239,7 +243,8 @@ void frmContactEditorOrganisations::SetEditorMode(bool EditMode, SectionType Sec striter = OrganisationListSortAsPtr->find(OrganisationListIndex); - if (striter->first == OrganisationListIndex){ + if (striter->first == OrganisationListIndex && + striter != OrganisationListSortAsPtr->end()){ strValue = striter->second; @@ -251,11 +256,11 @@ void frmContactEditorOrganisations::SetEditorMode(bool EditMode, SectionType Sec intiter = OrganisationListPrefPtr->find(OrganisationListIndex); - if (intiter->first == OrganisationListIndex && intiter->second > 0){ + if (intiter->first == OrganisationListIndex && intiter->second > 0 && + intiter != OrganisationListPrefPtr->end()){ - sliPriority->SetValue(intiter->second); - sliPriority->Enable(); - chkUsePref->SetValue(TRUE); + priorityCtrl->SetValue(intiter->second); + priorityCtrl->EnablePriority(true); } @@ -267,7 +272,11 @@ void frmContactEditorOrganisations::SetEditorMode(bool EditMode, SectionType Sec void frmContactEditorOrganisations::CloseWindow( wxCommandEvent& event ) { + + // Close the window. + this->Close(); + } void frmContactEditorOrganisations::SetupPointers(std::map *OrganisationList, @@ -282,6 +291,8 @@ void frmContactEditorOrganisations::SetupPointers(std::map *Organ int OrganisationIndex ) { + // Setup the pointers. + OrganisationListPtr = OrganisationList; OrganisationListLanguagePtr = OrganisationListLanguage; OrganisationListSortAsPtr = OrganisationListSortAs;