X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditorOrganisations.cpp;h=2f67cb490ebdceae2778c1ae8abde57ab9e6ab3c;hp=ccfb5095829ff049526ee9aefc7b4d52528514b7;hb=ada42724cf083b0a311cf22260485d61516c25c8;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc diff --git a/source/contacteditor/frmContactEditorOrganisations.cpp b/source/contacteditor/frmContactEditorOrganisations.cpp index ccfb509..2f67cb4 100644 --- a/source/contacteditor/frmContactEditorOrganisations.cpp +++ b/source/contacteditor/frmContactEditorOrganisations.cpp @@ -1,3 +1,21 @@ +// frmContactEditorOrganisation.cpp - frmContactEditorOrganisation form. +// +// (c) 2012-2015 Xestia Software Development. +// +// This file is part of Xestia Address Book. +// +// Xestia Address Book is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation, version 3 of the license. +// +// Xestia Address Book is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with Xestia Address Book. If not, see + #include "frmContactEditorOrganisations.h" #include #include "../common/textprocessing.h" @@ -6,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(); @@ -49,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){ @@ -94,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 { @@ -113,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())); } @@ -141,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 { @@ -163,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 { @@ -181,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 @@ -221,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; @@ -233,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); } @@ -249,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, @@ -264,6 +291,8 @@ void frmContactEditorOrganisations::SetupPointers(std::map *Organ int OrganisationIndex ) { + // Setup the pointers. + OrganisationListPtr = OrganisationList; OrganisationListLanguagePtr = OrganisationListLanguage; OrganisationListSortAsPtr = OrganisationListSortAs;