Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor(*): Call Layout on szrGeneral after adding priorty control
[xestiaab/.git] / source / contacteditor / frmContactEditorGeoposition.cpp
index 3715411..bcc3e87 100644 (file)
@@ -1,3 +1,21 @@
+// frmContactEditorGeoposition.cpp - frmContactEditorGeoposition 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 <http://www.gnu.org/licenses/>
+
 #include "frmContactEditorGeoposition.h"
 #include <map>
 #include "../common/textprocessing.h"
@@ -6,24 +24,21 @@ frmContactEditorGeoposition::frmContactEditorGeoposition( wxWindow* parent )
 :
 frmContactEditorGeopositionADT( parent )
 {
+       
+       // Setup the window.
+       
        EditorMode = FALSE;
-       sliPriority->Disable();
-}
-
-void frmContactEditorGeoposition::EnablePriority( wxCommandEvent& event )
-{
-
-       if (chkUsePref->IsChecked()){
-               sliPriority->Enable();
-       } else {
-               sliPriority->Disable();
-       }
+       priorityCtrl = new XABPriorityCtrl(tabGeneral);
+       szrGeneral->Add(priorityCtrl, 1, wxEXPAND, 5);
+       szrGeneral->Layout();
        
 }
 
 void frmContactEditorGeoposition::SetEditorMode(bool EditMode, SectionType SectType)
 {
 
+       // Setup the editor mode.
+       
        // Set the editor mode for adding or editing a timezone.
 
        if (EditMode == FALSE){
@@ -58,11 +73,11 @@ void frmContactEditorGeoposition::SetEditorMode(bool EditMode, SectionType SectT
                
                intiter = GeopositionListPrefPtr->find(GeopositionListIndex);
                
-               if (intiter->first == GeopositionListIndex && intiter->second > 0){
+               if (intiter->first == GeopositionListIndex && intiter->second > 0 &&
+                       intiter != GeopositionListPrefPtr->end()){
                
-                       sliPriority->SetValue(intiter->second);
-                       sliPriority->Enable();
-                       chkUsePref->SetValue(TRUE);
+                       priorityCtrl->SetValue(intiter->second);
+                       priorityCtrl->EnablePriority(true);
                
                }       
                
@@ -75,6 +90,8 @@ void frmContactEditorGeoposition::SetEditorMode(bool EditMode, SectionType SectT
 void frmContactEditorGeoposition::ProcessAction( wxCommandEvent& event )
 {
 
+       // Process action.
+       
        long ListCtrlIndex;
 
        if (EditorMode == FALSE){
@@ -107,9 +124,9 @@ void frmContactEditorGeoposition::ProcessAction( wxCommandEvent& event )
                
                // Add Language priority.
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       GeopositionListPrefPtr->insert(std::make_pair(GeopositionListIndex, sliPriority->GetValue()));
+                       GeopositionListPrefPtr->insert(std::make_pair(GeopositionListIndex, priorityCtrl->GetValue()));
                
                } else {
                
@@ -126,9 +143,9 @@ void frmContactEditorGeoposition::ProcessAction( wxCommandEvent& event )
                coldata.SetText(txtGeoposition->GetValue());
                ListCtrlIndex = GeopositionListCtrlPtr->InsertItem(coldata);
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       GeopositionListCtrlPtr->SetItem(ListCtrlIndex, 1, wxString::Format(wxT("%i"), sliPriority->GetValue()));
+                       GeopositionListCtrlPtr->SetItem(ListCtrlIndex, 1, wxString::Format(wxT("%i"), priorityCtrl->GetValue()));
                
                }
                
@@ -147,9 +164,9 @@ void frmContactEditorGeoposition::ProcessAction( wxCommandEvent& event )
                
                GeopositionListPrefPtr->erase(GeopositionListIndex);
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       GeopositionListPrefPtr->insert(std::make_pair(GeopositionListIndex, sliPriority->GetValue()));
+                       GeopositionListPrefPtr->insert(std::make_pair(GeopositionListIndex, priorityCtrl->GetValue()));
                
                } else {
                
@@ -167,9 +184,9 @@ void frmContactEditorGeoposition::ProcessAction( wxCommandEvent& event )
                
                GeopositionListCtrlPtr->SetItem(longSelected, 0, txtGeoposition->GetValue());
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       GeopositionListCtrlPtr->SetItem(longSelected, 1, wxString::Format(wxT("%i"), sliPriority->GetValue()));
+                       GeopositionListCtrlPtr->SetItem(longSelected, 1, wxString::Format(wxT("%i"), priorityCtrl->GetValue()));
                
                } else {
                
@@ -185,13 +202,18 @@ void frmContactEditorGeoposition::ProcessAction( wxCommandEvent& event )
 
 void frmContactEditorGeoposition::CloseWindow( wxCommandEvent& event )
 {
+       
+       // Close this window.
+       
        this->Close();
+       
 }
 
 void frmContactEditorGeoposition::SetupPointers(std::map<int, wxString> *GeopositionList,
        std::map<int, wxString> *GeopositionListAltID,
        std::map<int, wxString> *GeopositionListPID,
        std::map<int, wxString> *GeopositionListType,
+       std::map<int, wxString> *GeopositionListDataType,
        std::map<int, wxString> *GeopositionListTokens,
        std::map<int, wxString> *GeopositionListMediatype,      
        std::map<int, int> *GeopositionListPref,
@@ -206,6 +228,7 @@ void frmContactEditorGeoposition::SetupPointers(std::map<int, wxString> *Geoposi
        GeopositionListAltIDPtr = GeopositionListAltID;
        GeopositionListPIDPtr = GeopositionListPID;
        GeopositionListTypePtr = GeopositionListType;
+       GeopositionListDataTypePtr = GeopositionListDataType;
        GeopositionListTokensPtr = GeopositionListTokens;
        GeopositionListPrefPtr = GeopositionListPref;
        GeopositionListCtrlPtr = GeopositionListCtrl;
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy