Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor(*): Call Layout on szrGeneral after adding priorty control
[xestiaab/.git] / source / contacteditor / frmContactEditorPicture.cpp
index 905e3ad..1600bb0 100644 (file)
@@ -1,3 +1,21 @@
+// frmContactEditorPicture.cpp - frmContactEditorPicture 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 "frmContactEditorPicture.h"
 
 #include <wx/wx.h>
 #include "../common/base64.h"
 #include "../common/mime.h"
 
-
 frmContactEditorPicture::frmContactEditorPicture( wxWindow* parent )
 :
 frmContactEditorPictureADT( parent )
 {
+       
+       // Setup the window.
+       
        EditorMode = FALSE;
-       sliPriority->Disable();
+       priorityCtrl = new XABPriorityCtrl(tabGeneral);
+       szrGeneral->Add(priorityCtrl, 1, wxEXPAND, 5);
+       szrGeneral->Layout();
        
        cmbType->Append(wxT(""));
        cmbType->Append(_("Home"));
        cmbType->Append(_("Work"));
-}
-
-void frmContactEditorPicture::EnablePriority( wxCommandEvent& event )
-{
-       if (chkUsePref->IsChecked()){
-               sliPriority->Enable();
-       } else {
-               sliPriority->Disable();
-       }
+       
 }
 
 void frmContactEditorPicture::ProcessData( wxCommandEvent& event )
 {
+       
+       // Process data.
+       
        long ListCtrlIndex;
        
        if (EditorMode == FALSE){
@@ -144,9 +161,9 @@ void frmContactEditorPicture::ProcessData( wxCommandEvent& event )
                
                // Setup Organisation Priority.
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       PictureListPrefPtr->insert(std::make_pair(PictureListIndex, sliPriority->GetValue()));
+                       PictureListPrefPtr->insert(std::make_pair(PictureListIndex, priorityCtrl->GetValue()));
                
                } else {
                
@@ -168,7 +185,17 @@ void frmContactEditorPicture::ProcessData( wxCommandEvent& event )
                
                coldata.SetId(PictureListIndex);
                coldata.SetData(PictureListIndex);
-               coldata.SetText(_("Picture"));
+               
+               if (PictureLogo == TRUE){
+               
+                       coldata.SetText(_("Picture"));
+               
+               } else {
+
+                       coldata.SetText(_("Logo"));
+               
+               }
+               
                ListCtrlIndex = PictureListCtrlPtr->InsertItem(coldata);
                
                if (strValue == _("Home")) {
@@ -185,9 +212,9 @@ void frmContactEditorPicture::ProcessData( wxCommandEvent& event )
                
                }               
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       PictureListCtrlPtr->SetItem(ListCtrlIndex, 2, wxString::Format(wxT("%i"), sliPriority->GetValue()));
+                       PictureListCtrlPtr->SetItem(ListCtrlIndex, 2, wxString::Format(wxT("%i"), priorityCtrl->GetValue()));
                
                }
                
@@ -220,9 +247,9 @@ void frmContactEditorPicture::ProcessData( wxCommandEvent& event )
                
                PictureListPrefPtr->erase(PictureListIndex);
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       PictureListPrefPtr->insert(std::make_pair(PictureListIndex, sliPriority->GetValue()));
+                       PictureListPrefPtr->insert(std::make_pair(PictureListIndex, priorityCtrl->GetValue()));
                
                } else {
                
@@ -240,12 +267,20 @@ void frmContactEditorPicture::ProcessData( wxCommandEvent& event )
                        return;
                }               
                
-               PictureListCtrlPtr->SetItem(longSelected, 0, wxT("Picture"));
+               if (PictureLogo == TRUE){               
+                       PictureListCtrlPtr->SetItem(longSelected, 0, _("Picture"));
+                       
+               } else {
+               
+                       PictureListCtrlPtr->SetItem(longSelected, 0, _("Logo"));
+               
+               }
+               
                PictureListCtrlPtr->SetItem(longSelected, 1, strValue);
                
-               if (chkUsePref->IsChecked()){
+               if (priorityCtrl->IsPriorityChecked()){
                
-                       PictureListCtrlPtr->SetItem(longSelected, 2, wxString::Format(wxT("%i"), sliPriority->GetValue()));
+                       PictureListCtrlPtr->SetItem(longSelected, 2, wxString::Format(wxT("%i"), priorityCtrl->GetValue()));
                
                } else {
                
@@ -260,11 +295,18 @@ void frmContactEditorPicture::ProcessData( wxCommandEvent& event )
 
 void frmContactEditorPicture::CloseWindow( wxCommandEvent& event )
 {
+       
+       // Close this window.
+       
        this->Close();
+       
 }
 
 void frmContactEditorPicture::SetEditorMode(bool EditMode)
 {
+       
+       // Set the editor mode.
+       
        // Set if the editor is adding or editing an address.
        // FALSE = Add
        // TRUE = Edit
@@ -290,7 +332,8 @@ void frmContactEditorPicture::SetEditorMode(bool EditMode)
                
                striter = PictureListTypePtr->find(PictureListIndex);
                 
-               if (striter->first == PictureListIndex){
+               if (striter->first == PictureListIndex &&
+                       striter != PictureListTypePtr->end()){
                
                        strValue = striter->second;
                
@@ -316,11 +359,11 @@ void frmContactEditorPicture::SetEditorMode(bool EditMode)
                
                intiter = PictureListPrefPtr->find(PictureListIndex);
                
-               if (intiter->first == PictureListIndex && intiter->second > 0){
+               if (intiter->first == PictureListIndex && intiter->second > 0 &&
+                       intiter != PictureListPrefPtr->end()){
                
-                       sliPriority->SetValue(intiter->second);
-                       sliPriority->Enable();
-                       chkUsePref->SetValue(TRUE);
+                       priorityCtrl->SetValue(intiter->second);
+                       priorityCtrl->EnablePriority(true);
                
                }       
                
@@ -338,9 +381,12 @@ void frmContactEditorPicture::SetupPointers(std::map<int, std::string> *PictureL
        std::map<int, wxString> *PictureListMediatype,  
        std::map<int, int> *PictureListPref,
        wxListCtrl *PictureListCtrl,
-       int PictureIndex )
+       int PictureIndex,
+       bool PictureLogoIn )
 {
 
+       // Setup the pointers.
+       
        PictureListPtr = PictureList;
        PictureListAltIDPtr = PictureListAltID;
        PictureListPIDPtr = PictureListPID;
@@ -352,5 +398,6 @@ void frmContactEditorPicture::SetupPointers(std::map<int, std::string> *PictureL
        PictureListPrefPtr = PictureListPref;
        PictureListCtrlPtr = PictureListCtrl;
        PictureListIndex = PictureIndex;
+       PictureLogo = PictureLogoIn;
        
 }
\ No newline at end of file
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