X-Git-Url: http://Server1/repobrowser/?p=xestiacalendar%2F.git;a=blobdiff_plain;f=source%2Fforms%2Feventeditor%2FfrmEventEditor.cpp;h=52e4d2dbe40d3844ed55d28a051262941c838a27;hp=dda8dd17ac2d4d872181169a3fdaac0ddf9f37f6;hb=a191ad71a0d6823b9710067c7cccf8905290dc9c;hpb=616ddd1b189837e5a7d1d6953534115be44f477b diff --git a/source/forms/eventeditor/frmEventEditor.cpp b/source/forms/eventeditor/frmEventEditor.cpp index dda8dd1..52e4d2d 100644 --- a/source/forms/eventeditor/frmEventEditor.cpp +++ b/source/forms/eventeditor/frmEventEditor.cpp @@ -53,7 +53,7 @@ void frmEventEditor::SetupForm(CalendarDataStorage *dataStorage, XCALPreferences CDSGetCalendarInfo calendarInfo = dataStorage->GetCalendar((*calendarSeek)); combinedName += calendarInfo.calendarName; - cmbCalendar->Append((wxString)combinedName); + cmbCalendar->Append(wxString(combinedName.c_str(), wxConvUTF8)); calendarIDList.push_back(calendarInfo.calendarID); } @@ -87,8 +87,8 @@ void frmEventEditor::SetupForm(CalendarDataStorage *dataStorage, XCALPreferences // Load the data into the form. - txtEventName->SetValue(wxString(eventInfo.entryName)); - txtEventDescription->SetValue(wxString(eventInfo.entryDescription)); + txtEventName->SetValue(wxString(eventInfo.entryName.c_str(), wxConvUTF8)); + txtEventDescription->SetValue(wxString(eventInfo.entryDescription.c_str(), wxConvUTF8)); // Load the start and end dates. @@ -159,7 +159,10 @@ void frmEventEditor::SaveContact(wxCommandEvent &event){ void frmEventEditor::SaveNewContact(wxCommandEvent &event){ - SaveContact(); + if (!SaveContact()) + { + return; + } // Reset the form for a new entry. @@ -180,14 +183,14 @@ void frmEventEditor::SaveNewContact(wxCommandEvent &event){ } -void frmEventEditor::SaveContact(){ +bool frmEventEditor::SaveContact(){ // Verify that a calendar has been selected. if (cmbCalendar->GetSelection() == -1 && editMode == false){ wxMessageBox("Please select a calendar for this entry.", "No calendar selected", wxOK); - return; + return false; } @@ -196,7 +199,7 @@ void frmEventEditor::SaveContact(){ if (txtEventName->GetValue().IsEmpty()){ wxMessageBox("The event name cannot be left empty.", "Event name is empty", wxOK); - return; + return false; } @@ -221,8 +224,21 @@ void frmEventEditor::SaveContact(){ // Set the data into the calendar event object. - eventData.summaryData = txtEventName->GetValue().ToStdString(); - eventData.descriptionList.push_back(txtEventDescription->GetValue().ToStdString()); + eventData.summaryData = string(txtEventName->GetValue().ToUTF8()); + + if (eventData.descriptionList.size() > 0) + { + eventData.descriptionList[0] = string(txtEventDescription->GetValue().ToUTF8()); + } + else + { + eventData.descriptionList.push_back(string(txtEventDescription->GetValue().ToUTF8())); + eventData.descriptionListAltRep.push_back(""); + eventData.descriptionListLanguage.push_back(""); + eventData.descriptionListTokens.push_back(""); + } + + eventData.descriptionList.push_back(string(txtEventDescription->GetValue().ToUTF8())); eventData.descriptionListAltRep.push_back(""); eventData.descriptionListLanguage.push_back(""); eventData.descriptionListTokens.push_back(""); @@ -265,12 +281,12 @@ void frmEventEditor::SaveContact(){ CDSGetCalendarInfo calendarInfo = dataStorage->GetCalendar(calendarIDList[cmbCalendar->GetSelection()]); CDSGetAccountInfo accountInfo = dataStorage->GetAccount(calendarInfo.accountName); - string calendarDirectory = GetUserDir().ToStdString(); + string calendarDirectory = string(GetUserDir().ToUTF8()); calendarDirectory += "accounts"; calendarDirectory += "/"; - calendarDirectory += preferences->accounts.GetAccountDirectory(accountInfo.accountPreferencesID).ToStdString(); + calendarDirectory += string(preferences->accounts.GetAccountDirectory(accountInfo.accountPreferencesID).ToUTF8()); calendarDirectory += "."; - calendarDirectory += preferences->accounts.GetAccountType(accountInfo.accountPreferencesID).ToStdString(); + calendarDirectory += string(preferences->accounts.GetAccountType(accountInfo.accountPreferencesID).ToUTF8()); calendarDirectory += "/"; calendarDirectory += calendarInfo.calendarTextID; calendarDirectory += "/"; @@ -293,7 +309,8 @@ void frmEventEditor::SaveContact(){ // the main window. EventProperties *eventInfo = new EventProperties; - eventInfo->eventName = txtEventName->GetValue().ToStdString(); + eventInfo->eventName = string(txtEventName->GetValue().ToUTF8()); + eventInfo->eventDescipriton = string(txtEventDescription->GetValue().ToUTF8()); eventInfo->calendarID = calendarIDList[cmbCalendar->GetSelection()]; eventInfo->eventID = addEventResult.calendarEntryID; eventInfo->eventYear = dapStartDate->GetValue().GetYear(); @@ -340,7 +357,8 @@ void frmEventEditor::SaveContact(){ // the main window. EventProperties *eventInfo = new EventProperties; - eventInfo->eventName = txtEventName->GetValue().ToStdString(); + eventInfo->eventName = string(txtEventName->GetValue().ToUTF8()); + eventInfo->eventDescipriton = string(txtEventDescription->GetValue().ToUTF8()); eventInfo->calendarID = calendarID; eventInfo->eventID = eventID; eventInfo->eventYear = dapStartDate->GetValue().GetYear(); @@ -357,6 +375,8 @@ void frmEventEditor::SaveContact(){ } + return true; + } void frmEventEditor::CloseWindow(wxCommandEvent &event) @@ -529,7 +549,7 @@ void frmEventEditor::UpdateWindowName() // Generate the window title. - string windowTitle; + wxString windowTitle; if (cmbCalendar->GetSelection() == -1) { @@ -537,7 +557,7 @@ void frmEventEditor::UpdateWindowName() } else { - windowTitle += cmbCalendar->GetStringSelection().ToStdString(); + windowTitle += cmbCalendar->GetStringSelection(); } if (txtEventName->IsEmpty()) @@ -548,7 +568,7 @@ void frmEventEditor::UpdateWindowName() else { windowTitle += " - "; - windowTitle += txtEventName->GetValue().ToStdString(); + windowTitle += txtEventName->GetValue(); } SetTitle(windowTitle); @@ -574,4 +594,4 @@ void frmEventEditor::UpdateWindowName() updateEvent.SetClientData(updateWindowData); wxPostEvent(this->GetParent(), updateEvent); -} \ No newline at end of file +}