Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor(*): Call Layout on szrGeneral after adding priorty control
[xestiaab/.git] / source / contacteditor / frmContactEditorNickname.cpp
index 5261969..6af836b 100644 (file)
@@ -1,11 +1,44 @@
+// frmContactEditorNickname.cpp - frmContactEditorNickname 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 "frmContactEditorNickname.h"
-#include "../common/textprocessing.h"
 
 frmContactEditorNickname::frmContactEditorNickname( wxWindow* parent )
 :
 frmContactEditorNicknameADT( parent )
 {
 
+       std::vector<std::string> LanguageCodeList = GetLanguageCodeList();
+       
+       wxArrayString LanguageList;
+       
+       for (auto LanguageItem : LanguageCodeList){
+               
+               LanguageList.Add((wxString)LanguageItem, 1);
+               
+       }
+       
+       cmbLanguage->Append(LanguageList);
+       
+       priorityCtrl = new XABPriorityCtrl(tabGeneral);
+       szrGeneral->Add(priorityCtrl, 1, wxEXPAND, 5);
+       szrGeneral->Layout();
+       
 }
 
 void frmContactEditorNickname::InitAddressEditor( wxInitDialogEvent& event )
@@ -13,17 +46,11 @@ void frmContactEditorNickname::InitAddressEditor( wxInitDialogEvent& event )
        // Do nothing with this subroutine for the time being.
 }
 
-void frmContactEditorNickname::EnablePriority( wxCommandEvent& event )
-{
-       if (chkUsePref->IsChecked()){
-               sliPriority->Enable();
-       } else {
-               sliPriority->Disable();
-       }
-}
-
 void frmContactEditorNickname::ProcessData( wxCommandEvent& event )
 {
+       
+       // Process the data.
+       
        long ListCtrlIndex;
 
        if (EditorMode == FALSE){
@@ -58,15 +85,15 @@ void frmContactEditorNickname::ProcessData( wxCommandEvent& event )
                
                // Add nickname priority.
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       NicknamesListPrefPtr->insert(std::make_pair(NicknamesListIndex, sliPriority->GetValue()));
+                       NicknamesListPrefPtr->insert(std::make_pair(NicknamesListIndex, priorityCtrl->GetValue()));
                
                } else {
                
                        NicknamesListPrefPtr->insert(std::make_pair(NicknamesListIndex, 0));            
                
-               }               
+               }
                
                // Add the data to the form.
                
@@ -77,9 +104,9 @@ void frmContactEditorNickname::ProcessData( wxCommandEvent& event )
                coldata.SetText(txtNickname->GetValue());
                ListCtrlIndex = NicknamesListCtrlPtr->InsertItem(coldata);
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       NicknamesListCtrlPtr->SetItem(ListCtrlIndex, 1, wxString::Format(wxT("%i"), sliPriority->GetValue()));
+                       NicknamesListCtrlPtr->SetItem(ListCtrlIndex, 1, wxString::Format(wxT("%i"), priorityCtrl->GetValue()));
                
                }
                
@@ -98,9 +125,9 @@ void frmContactEditorNickname::ProcessData( wxCommandEvent& event )
                
                NicknamesListPrefPtr->erase(NicknamesListIndex);
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       NicknamesListPrefPtr->insert(std::make_pair(NicknamesListIndex, sliPriority->GetValue()));
+                       NicknamesListPrefPtr->insert(std::make_pair(NicknamesListIndex, priorityCtrl->GetValue()));
                
                } else {
                
@@ -121,15 +148,15 @@ void frmContactEditorNickname::ProcessData( wxCommandEvent& event )
                
                NicknamesListCtrlPtr->SetItem(longSelected, 0, txtNickname->GetValue());
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       NicknamesListCtrlPtr->SetItem(longSelected, 1, wxString::Format(wxT("%i"), sliPriority->GetValue()));
+                       NicknamesListCtrlPtr->SetItem(longSelected, 1, wxString::Format(wxT("%i"), priorityCtrl->GetValue()));
                
                } else {
                
                        NicknamesListCtrlPtr->SetItem(longSelected, 1, wxT(""));
                
-               }       
+               }
                        
                this->Close();
        
@@ -139,11 +166,16 @@ void frmContactEditorNickname::ProcessData( wxCommandEvent& event )
 
 void frmContactEditorNickname::CloseWindow( wxCommandEvent& event )
 {
+       
+       // Close this window.
+       
        this->Close();
+       
 }
 
 void frmContactEditorNickname::SetEditorMode(bool EditMode, SectionType SectType)
 {
+       
        // Set if the editor is adding or editing an address.
        // FALSE = Add
        // TRUE = Edit
@@ -180,7 +212,8 @@ void frmContactEditorNickname::SetEditorMode(bool EditMode, SectionType SectType
                
                striter = NicknamesListLanguagePtr->find(NicknamesListIndex);
                 
-               if (striter->first == NicknamesListIndex){
+               if (striter->first == NicknamesListIndex &&
+                       striter != NicknamesListLanguagePtr->end()){
                
                        strValue = striter->second;
                
@@ -193,11 +226,11 @@ void frmContactEditorNickname::SetEditorMode(bool EditMode, SectionType SectType
                
                intiter = NicknamesListPrefPtr->find(NicknamesListIndex);
                
-               if (intiter->first == NicknamesListIndex && intiter->second > 0){
+               if (intiter->first == NicknamesListIndex && intiter->second > 0 &&
+                       intiter != NicknamesListPrefPtr->end()){
                
-                       sliPriority->SetValue(intiter->second);
-                       sliPriority->Enable();
-                       chkUsePref->SetValue(TRUE);
+                       priorityCtrl->SetValue(intiter->second);
+                       priorityCtrl->EnablePriority(true);
                
                }       
                
@@ -218,6 +251,8 @@ void frmContactEditorNickname::SetupPointers(std::map<int, wxString> *NicknamesL
        int NicknamesIndex )
 {
 
+       // Setup the pointers.
+       
        NicknamesListPtr = NicknamesList;
        NicknamesListAltIDPtr = NicknamesListAltID;
        NicknamesListPIDPtr = NicknamesListPID;
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