X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditorSound.cpp;h=28f3aeb9018dc972d695e1c706bab96352ce3be8;hp=6e1fab0840cc4c3fd44b71a28a89ae18593201f8;hb=ada42724cf083b0a311cf22260485d61516c25c8;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc diff --git a/source/contacteditor/frmContactEditorSound.cpp b/source/contacteditor/frmContactEditorSound.cpp index 6e1fab0..28f3aeb 100644 --- a/source/contacteditor/frmContactEditorSound.cpp +++ b/source/contacteditor/frmContactEditorSound.cpp @@ -1,36 +1,46 @@ -#include "frmContactEditorSound.h" - -#include -#include -#include +// frmContactEditorSound.cpp - frmContactEditorSound 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 "../common/textprocessing.h" -#include "../common/base64.h" -#include "../common/mime.h" +#include "frmContactEditorSound.h" frmContactEditorSound::frmContactEditorSound( wxWindow* parent ) : frmContactEditorSoundADT( 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 frmContactEditorSound::EnablePriority( wxCommandEvent& event ) -{ - if (chkUsePref->IsChecked()){ - sliPriority->Enable(); - } else { - sliPriority->Disable(); - } + } void frmContactEditorSound::ProcessData( wxCommandEvent& event ) { + + // Process audio data. + long ListCtrlIndex; if (EditorMode == FALSE){ @@ -42,55 +52,22 @@ void frmContactEditorSound::ProcessData( wxCommandEvent& event ) wxString wxSAudioFilename; wxString wxSAudioMIMEType; sf::SoundBuffer AudioBuffer; - size_t len; + wxFileOffset len; std::string b64enc; wxSAudioFilename = fipSound->GetPath(); -/* -#if wxABI_VERSION < 20900 - if (AudioFile.Open(wxSAudioFilename.c_str(), wxT("rb"))){ -#else - if (AudioFile.Open(wxSAudioFilename, wxT("rb"))){ -#endif - -*/ if (AudioFile.Open(wxSAudioFilename, wxFile::read)){ - size_t flen; + len = AudioFile.Length(); unsigned char* AudioFileData = new unsigned char[len]; - flen = AudioFile.Read(AudioFileData, len); - - // Get MIME Type. - - /*const char *MIMEType; - magic_t MagicCookie = magic_open(MAGIC_MIME); - magic_setflags(MagicCookie, MAGIC_MIME_TYPE); - - if (!MagicCookie){ - - wxMessageBox(_("An error occured with the support library for getting the picture type."), _("Error opening picture file"), wxICON_ERROR); - return; - - } - - if (magic_load(MagicCookie, NULL) != 0) { - - wxMessageBox(_("An error occured whilst determining the picture type."), _("Error opening picture file"), wxICON_ERROR); - return; - - } - - MIMEType = magic_file(MagicCookie, wxSAudioFilename.mb_str()); - wxSAudioMIMEType = wxString::FromUTF8(MIMEType); - magic_close(MagicCookie);*/ wxSAudioMIMEType = GetMIME(wxSAudioFilename); // Check to make sure it is an audio file. - if (!AudioBuffer.loadFromMemory(AudioFileData, len)){ + if (!AudioBuffer.loadFromMemory(AudioFileData, (size_t)len)){ // Can't load file. We must flee... // Also show an error message too. @@ -139,9 +116,9 @@ void frmContactEditorSound::ProcessData( wxCommandEvent& event ) // Setup Organisation Priority. - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - SoundListPrefPtr->insert(std::make_pair(SoundListIndex, sliPriority->GetValue())); + SoundListPrefPtr->insert(std::make_pair(SoundListIndex, priorityCtrl->GetValue())); } else { @@ -180,9 +157,9 @@ void frmContactEditorSound::ProcessData( wxCommandEvent& event ) } - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - SoundListCtrlPtr->SetItem(ListCtrlIndex, 2, wxString::Format(wxT("%i"), sliPriority->GetValue())); + SoundListCtrlPtr->SetItem(ListCtrlIndex, 2, wxString::Format(wxT("%i"), priorityCtrl->GetValue())); } @@ -193,8 +170,6 @@ void frmContactEditorSound::ProcessData( wxCommandEvent& event ) // Do not touch the audio file but update the settings // associated with the audio file. - - long longSelected = -1; wxString strValue; @@ -217,9 +192,9 @@ void frmContactEditorSound::ProcessData( wxCommandEvent& event ) SoundListPrefPtr->erase(SoundListIndex); - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - SoundListPrefPtr->insert(std::make_pair(SoundListIndex, sliPriority->GetValue())); + SoundListPrefPtr->insert(std::make_pair(SoundListIndex, priorityCtrl->GetValue())); } else { @@ -240,9 +215,9 @@ void frmContactEditorSound::ProcessData( wxCommandEvent& event ) SoundListCtrlPtr->SetItem(longSelected, 0, wxT("Sound")); SoundListCtrlPtr->SetItem(longSelected, 1, strValue); - if (chkUsePref->IsChecked()){ + if (priorityCtrl->IsPriorityChecked()){ - SoundListCtrlPtr->SetItem(longSelected, 2, wxString::Format(wxT("%i"), sliPriority->GetValue())); + SoundListCtrlPtr->SetItem(longSelected, 2, wxString::Format(wxT("%i"), priorityCtrl->GetValue())); } else { @@ -257,11 +232,18 @@ void frmContactEditorSound::ProcessData( wxCommandEvent& event ) void frmContactEditorSound::CloseWindow( wxCommandEvent& event ) { + + // Close this window. + this->Close(); + } void frmContactEditorSound::SetEditorMode(bool EditMode) { + + // Set the editor mode. + // Set if the editor is adding or editing an address. // FALSE = Add // TRUE = Edit @@ -306,18 +288,16 @@ void frmContactEditorSound::SetEditorMode(bool EditMode) cmbType->SetSelection(0); } - - //strValue.Clear(); - + // Get the website priority. intiter = SoundListPrefPtr->find(SoundListIndex); - if (intiter->first == SoundListIndex && intiter->second > 0){ - - sliPriority->SetValue(intiter->second); - sliPriority->Enable(); - chkUsePref->SetValue(TRUE); + if (intiter->first == SoundListIndex && intiter->second > 0 && + intiter != SoundListPrefPtr->end()){ + + priorityCtrl->SetValue(intiter->second); + priorityCtrl->EnablePriority(true); } @@ -339,6 +319,8 @@ void frmContactEditorSound::SetupPointers(std::map *SoundList, wxListCtrl *SoundListCtrl, int SoundIndex ) { + + // Setup the pointers. SoundListPtr = SoundList; SoundListAltIDPtr = SoundListAltID;