X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fcontacteditor%2FfrmContactEditorSound.cpp;h=6e77c686ecb8d61b0eeefff83e9182c781be6a28;hb=56eff3f03cf38a27161b3279318c474e0421111c;hp=6e1fab0840cc4c3fd44b71a28a89ae18593201f8;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc;p=xestiaab%2F.git diff --git a/source/contacteditor/frmContactEditorSound.cpp b/source/contacteditor/frmContactEditorSound.cpp index 6e1fab0..6e77c68 100644 --- a/source/contacteditor/frmContactEditorSound.cpp +++ b/source/contacteditor/frmContactEditorSound.cpp @@ -1,36 +1,57 @@ -#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(); cmbType->Append(wxT("")); cmbType->Append(_("Home")); cmbType->Append(_("Work")); + } void frmContactEditorSound::EnablePriority( wxCommandEvent& event ) { + + // Enable/disable the priority setting. + if (chkUsePref->IsChecked()){ sliPriority->Enable(); } else { sliPriority->Disable(); } + } void frmContactEditorSound::ProcessData( wxCommandEvent& event ) { + + // Process audio data. + long ListCtrlIndex; if (EditorMode == FALSE){ @@ -42,55 +63,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. @@ -193,8 +181,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; @@ -257,11 +243,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,15 +299,14 @@ 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){ - + if (intiter->first == SoundListIndex && intiter->second > 0 && + intiter != SoundListPrefPtr->end()){ + sliPriority->SetValue(intiter->second); sliPriority->Enable(); chkUsePref->SetValue(TRUE); @@ -339,6 +331,8 @@ void frmContactEditorSound::SetupPointers(std::map *SoundList, wxListCtrl *SoundListCtrl, int SoundIndex ) { + + // Setup the pointers. SoundListPtr = SoundList; SoundListAltIDPtr = SoundListAltID;