void ExportVCard3(bool DirMode, wxString OutputLocation, wxArrayString *FileList, int *ExportCount){
+ // Export a vCard 3.0 contact file.
+
if (DirMode == TRUE){
// Output each contact into the directory.
void ExportVCard4(bool DirMode, wxString OutputLocation, wxArrayString *FileList, int *ExportCount){
+ // Export a vCard 4.0 contact file.
+
if (DirMode == TRUE){
// Output each contact into the directory.
void ExportRun(frmMain *frmMainPtrInc, wxArrayString *FileListInc){
+ // Run the export function. Bring up the export file save
+ // dialog and run the required export functions as needed.
+
frmMainPtrInc->PauseAllTimers();
wxString FileTypes;
treAccounts->AssignImageList(AccImgList);
- // Load the preferences.
+ // Load the preferences.
wxString preffilename = GetUserPrefDir();
- XABPreferences preferences(preffilename);
+ XABPreferences preferences(preffilename);
- // Setup the main window position (if needed).
+ // Setup the main window position (if needed).
- bool SaveWindowPos = preferences.GetBoolData(wxT("SaveWindowPosition"));
- bool HideLocalABs = preferences.GetBoolData(wxT("HideLocalAddressBooks"));
+ bool SaveWindowPos = preferences.GetBoolData(wxT("SaveWindowPosition"));
+ bool HideLocalABs = preferences.GetBoolData(wxT("HideLocalAddressBooks"));
- if (SaveWindowPos == TRUE){
+ if (SaveWindowPos == TRUE){
- this->SetSize(preferences.GetMainWindowData());
+ this->SetSize(preferences.GetMainWindowData());
- }
+ }
- treAccounts->DeleteAllItems();
+ treAccounts->DeleteAllItems();
- wxTreeItemId RootNode = treAccounts->AddRoot(wxT("Root Item"));
-
- /*
- for (int i = (preferences.accounts.GetCount() - 1); i > 0; --i){
- treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i));
- }
- */
-
- wxString AccDir;
- wxString AccDirFull;
- wxString AccDirFullSfx;
- wxString AccName;
- wxString AccType;
- wxString AccDirFinal;
- wxTreeItemId AccountTreeId;
- wxTreeItemId GroupTreeId;
-
- for (int i = 0; i < preferences.accounts.GetCount(); i++){
+ wxTreeItemId RootNode = treAccounts->AddRoot(wxT("Root Item"));
+
+ wxString AccDir;
+ wxString AccDirFull;
+ wxString AccDirFullSfx;
+ wxString AccName;
+ wxString AccType;
+ wxString AccDirFinal;
+ wxTreeItemId AccountTreeId;
+ wxTreeItemId GroupTreeId;
+
+ for (int i = 0; i < preferences.accounts.GetCount(); i++){
- if ((preferences.accounts.GetAccountType(i) == wxT("Local") ||
- preferences.accounts.GetAccountType(i) == wxT("local")) && HideLocalABs == TRUE){
-
- continue;
+ if ((preferences.accounts.GetAccountType(i) == wxT("Local") ||
+ preferences.accounts.GetAccountType(i) == wxT("local")) && HideLocalABs == TRUE){
+ continue;
- }
+ }
- AccDir = preferences.accounts.GetAccountDirectory(i);
- AccDirFull = preferences.accounts.GetAccountDirectory(i);
- AccDirFull.Trim();
- AccDirFull.Append(wxT("."));
- AccDirFullSfx.Append(preferences.accounts.GetAccountType(i));
- AccDirFullSfx.LowerCase();
- AccDirFullSfx.Trim();
- AccDirFull.Append(AccDirFullSfx);
- AccName = preferences.accounts.GetAccountName(i);
- AccName.Trim();
- AccType = preferences.accounts.GetAccountType(i);
- AccType.Trim();
- AccountAccDirList.insert(std::make_pair(i, AccDirFull));
- AccountAccTypeList.insert(std::make_pair(i, AccType));
+ AccDir = preferences.accounts.GetAccountDirectory(i);
+ AccDirFull = preferences.accounts.GetAccountDirectory(i);
+ AccDirFull.Trim();
+ AccDirFull.Append(wxT("."));
+ AccDirFullSfx.Append(preferences.accounts.GetAccountType(i));
+ AccDirFullSfx.LowerCase();
+ AccDirFullSfx.Trim();
+ AccDirFull.Append(AccDirFullSfx);
+ AccName = preferences.accounts.GetAccountName(i);
+ AccName.Trim();
+ AccType = preferences.accounts.GetAccountType(i);
+ AccType.Trim();
+ AccountAccDirList.insert(std::make_pair(i, AccDirFull));
+ AccountAccTypeList.insert(std::make_pair(i, AccType));
- if (preferences.accounts.GetAccountType(i) == wxT("CardDAV") ||
- preferences.accounts.GetAccountType(i) == wxT("carddav")){
+ if (preferences.accounts.GetAccountType(i) == wxT("CardDAV") ||
+ preferences.accounts.GetAccountType(i) == wxT("carddav")){
- AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountNetID, -1);
+ AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountNetID, -1);
- } else {
+ } else {
- AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountID, -1);
+ AccountTreeId = treAccounts->AppendItem(RootNode, preferences.accounts.GetAccountName(i), AccountID, -1);
- }
+ }
- // Clearup for next account.
+ // Clearup for next account.
- AccDir.clear();
- AccDirFull.clear();
- AccDirFullSfx.clear();
- AccDirFinal.clear();
- AccName.clear();
+ AccDir.clear();
+ AccDirFull.clear();
+ AccDirFullSfx.clear();
+ AccDirFinal.clear();
+ AccName.clear();
- }
+ }
- DialogResult = FALSE;
+ DialogResult = FALSE;
}
frmImportContacts::~frmImportContacts()
{
- /*delete AccControl;
- AccControl = NULL;
- delete treAccounts;
- treAccounts = NULL;
- delete AccImgList;
- AccImgList = NULL;*/
-
}
void frmImportContacts::GetResult()
void frmImportContacts::SetupList(std::map<int,ImportDataContact>* ContactDataInc)
{
- // Go through the list and setup each contact for the list.
+ // Go through the list and setup each contact for the list.
- int Seek = 0;
+ int Seek = 0;
- for (std::map<int,ImportDataContact>::iterator iter = ContactDataInc->begin();
+ for (std::map<int,ImportDataContact>::iterator iter = ContactDataInc->begin();
iter != ContactDataInc->end(); iter++){
ImportDataContact *Moo = &iter->second;
Seek++;
- }
+ }
for (int i = 0; i < lstContacts->GetCount(); i++){
wxString AccountName;
- //XABPrefAccounts prefaccounts;
-
wxTreeItemIdValue cookie;
wxTreeItemId next = treAccounts->GetRootItem();
-
+
wxTreeItemId selectedChild = treAccounts->GetSelection();
wxTreeItemId nextChild;
for (int i = 0; i < preferences.accounts.GetCount(); i++){
if (!nextChild){
+
nextChild = treAccounts->GetFirstChild(next, cookie);
+
} else {
+
nextChild = treAccounts->GetNextSibling(nextChild);
+
}
if (nextChild == selectedChild){
}
-
}
return AccountName;
wxString AccountType;
- //XABPrefAccounts prefaccounts;
-
wxTreeItemIdValue cookie;
wxTreeItemId next = treAccounts->GetRootItem();
for (int i = 0; i < preferences.accounts.GetCount(); i++){
if (!nextChild){
+
nextChild = treAccounts->GetFirstChild(next, cookie);
+
} else {
+
nextChild = treAccounts->GetNextSibling(nextChild);
+
}
if (nextChild == selectedChild){
void frmImportResults::CopyClipboard( wxCommandEvent& event )
{
+ // Copy the results to the clipboard.
+
if (wxTheClipboard->Open()){
wxTextDataObject ResultData;
void frmImportResults::CloseWindow( wxCommandEvent& event )
{
+
+ // Close the window.
+
this->Close();
+
}
void frmImportResults::LoadData(std::map<int,wxString> *ResultDataInc, int ImportCount, int ImportErrorCount)
{
+ // Load and process the data from the ResultDataInc pointer.
+
wxString ResultDataText;
for (std::map<int,wxString>::iterator iter = ResultDataInc->begin();
std::map<int,ImportDataContact> ImportVCard3(wxArrayString *FileListInc){
+ // Import from a vCard 3.0 file.
+
std::map<int,ImportDataContact> FinalData;
// Go through each of the file names, load them up and collect the
std::map<int,ImportDataContact> ImportVCard4(wxArrayString *FileListInc){
+ // Import from a vCard 4.0 file.
+
std::map<int,ImportDataContact> FinalData;
// Go through each of the file names, load them up and collect the
delete frmIC;
frmIC = NULL;
- // Import the contacts into the selected account.
+ // Import the contacts into the selected account.
int ImportCount = 0;
int ImportSeek = 0;
if (iter->second.ContactSelected == TRUE){
- // Workout the file name. void CloseWindow( wxCommandEvent& event );
+ // Workout the file name.
// Get the UID value and check if it is empty.
// If it isn't empty, check it can be used for a valid
// filename other wise generate a file name for the purposes
XABSearchPanelADT( parent )
{
+ // Setup the search panel.
+
// Setup the images for the add and delete buttons.
wxMemoryInputStream astream(buttons_add_png, sizeof(buttons_add_png));
void XABSearchPanel::UpdateOptions( wxCommandEvent& event )
{
+ // Update the options in the search panel.
+
if (choOption->GetSelection() == 12 ||
choOption->GetSelection() == 13 ||
choOption->GetSelection() == 14 ){
void XABSearchPanel::AddSearchWidget( wxCommandEvent& event )
{
+ // Add the search panel.
+
frmSearch *SCHWin = static_cast<frmSearch*>(SCHWinPtr);
wxCommandEvent eventsend(SE_ADDSEARCHSETTING);
void XABSearchPanel::RemoveSearchWidget( wxCommandEvent& event )
{
+ // Remove the search panel.
+
frmSearch *SCHWin = static_cast<frmSearch*>(SCHWinPtr);
wxCommandEvent eventsend(SE_REMOVESEARCHSETTING);
void XABSearchPanel::EnableButtons(bool AddButton, bool DeleteButton)
{
+ // Enable the buttons for the search panel.
+
if (AddButton == TRUE){
btnAdd->Enable();
} else {
void XABSearchPanel::SetupPointers(void* SCHWinPtrInc){
+ // Setup the pointers for the search panel.
+
SCHWinPtr = SCHWinPtrInc;
}
void XABSearchPanel::SetupInteger(int IntInc){
+ // Set the ID of the search panel.
+
SCHInt = IntInc;
}
int XABSearchPanel::GetInteger(){
+ // Get the ID of the search panel.
+
return SCHInt;
}
void XABSearchPanel::DisableControls(wxCommandEvent &event){
+ // Disable the search controls.
+
choOption->Disable();
chkActive->Disable();
txtSearch->Disable();
void XABSearchPanel::EnableControls(wxCommandEvent &event){
+ // Enable the search controls.
+
choOption->Enable();
chkActive->Enable();
txtSearch->Enable();
int XABSearchPanel::GetSelectionOption(){
+ // Get the selection option.
+
return choOption->GetSelection();
}
bool XABSearchPanel::GetCheckboxSetting(){
+ // Get the checkbox setting.
+
return chkActive->IsChecked();
}
wxString XABSearchPanel::GetStringSetting(){
+ // Get the search string setting.
+
return txtSearch->GetValue();
}
\ No newline at end of file
void frmSearch::ShowContactMenu( wxMouseEvent& event ){
+ // Show the contact menu.
+
ContactMenu->SetupPointersSearch(this, lstResults, SearchMode);
PopupMenu(ContactMenu->MenuPointer(), wxDefaultPosition);
void frmSearch::AddResult( wxCommandEvent& event ){
+ // Add a search result.
+
SRNotif *srnotif = (SRNotif*)event.GetClientData();
// Process Data and add to the list of results.
void frmSearch::UpdateResult( wxCommandEvent& event ){
+ // Update a result.
+
UCNotif *uc = (UCNotif*)event.GetClientData();
long longSelected = -1;
std::map<long,wxString> *SRAcc,
std::map<long,wxString> *SRFN){
+ // Check for duplicate search results.
+
std::map<long,wxString>::iterator fniter;
// Check comparison code.
void frmSearch::DeleteResult(wxCommandEvent &event){
+ // Delete the search result.
+
UCNotif *uc = (UCNotif*)event.GetClientData();
long longSelected = -1;
frmSearchADT( parent )
{
+ // Setup the search window.
+
XABSearchPanel *InitPanel = new XABSearchPanel( tabSearch );
InitPanel->EnableButtons(TRUE, FALSE);
InitPanel->SetupPointers(this);
NewPanel->SetupPointers(this);
NewPanel->SetupInteger(ScrollGen);
szrSearch->Add(NewPanel, 1, wxEXPAND|wxGROW, 5);
- //szrSearch->Fit(tabSearch);
szrSearch->FitInside(tabSearch);
szrSearch->Layout();
szrSearch->RecalcSizes();
void frmSearch::RemoveSearchSetting( wxCommandEvent& event )
{
+ // Remove a search setting frame from the list.
+
// Get the integer from the event.
std::map<int,void*>::iterator iter;
iter = SearchFrames.find(event.GetInt());
- // Remove a search setting frame from the list.
-
XABSearchPanel *XABSPPtr;
XABSPPtr = static_cast<XABSearchPanel*>(iter->second);
delete XABSPPtr;
XABSPPtr = NULL;
- //szrSearch->Fit(tabSearch);
-
if (SearchFrames.size() < SEARCHSETTINGS_MAX && SearchFrames.size() > 1){
for (std::map<int,void*>::iterator iter = SearchFrames.begin();
}
void frmSearch::SearchBarUpdate( wxCommandEvent& event ){
-
+
+ // Update the status bar.
+
wxString *SBData = (wxString*)event.GetClientData();
stbBottom->SetStatusText(*SBData, 0);
void frmSearch::SearchFinished( wxCommandEvent& event ){
+ // Reset the search button and unlock the search
+ // panel buttons.
+
StopMode = FALSE;
btnSearch->SetLabel(_("Search"));
DisableAllSearchSettings(FALSE);
void frmSearch::CloseWindow( wxCommandEvent& event ){
+ // Close this window.
+
this->Close();
}
void frmSearch::SetUID(int UID){
+ // Set the UID of the search window.
+
SearchUID = UID;
}
void frmSearch::SetSearchMode(bool SearchModeIn){
+ // Set the search mode of the window.
+
SearchMode = SearchModeIn;
if (SearchMode == TRUE){
std::map<wxString, wxString> *SearchAccountsList)
{
+ // Load the list of accounts to the accounts list in the window.
+
SAPtr = SearchAccounts;
SALPtr = SearchAccountsList;
std::map<wxString, wxString>::iterator SALiter;
}
chlAccounts->Append(AccList);
- //chlAccounts->SetSelection(wxNOT_FOUND);
// Check if each account is selected.
void frmSearchAccounts::CloseWindow( wxCommandEvent& event )
{
+
+ // Close this window.
+
this->Close();
+
}
// RFC 6350 specification.
vCard34Conv::vCard34Conv(){
- vCardBegin = FALSE;
- vCardEnd = FALSE;
- vCardFN = FALSE;
- vCardVersion = 0.0;
- SettingCount = 0;
+
+ vCardBegin = FALSE;
+ vCardEnd = FALSE;
+ vCardFN = FALSE;
+ vCardVersion = 0.0;
+ SettingCount = 0;
+
}
void vCard34Conv::ConvertV4PropertyProc(wxString *wxSPropertyName,
intPrevValue = intiter->second;
if (PropertyName == wxT("type") && PropertyValue == wxT("INTERNET")){
+
continue;
+
}
if (PropertyName == wxT("type") && PropertyValue == wxT("pref")){
if (ProcessItemData == FALSE){
+
PropertyName = wxT("PREF");
PropertyValue = wxT("50");
+
} else {
+
continue;
+
}
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("HOME") || PropertyValue == wxT("home"))){
+
PropertyValue = wxT("home");
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("WORK") || PropertyValue == wxT("work"))){
+
PropertyValue = wxT("work");
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("OTHER") || PropertyValue == wxT("other"))){
+
PropertyName = wxT("X-TYPE");
PropertyValue = wxT("other");
+
}
// Process properties.
if (PropertyName == wxT("type") && PropertyValue == wxT("pref")){
if (ProcessItemData == FALSE){
+
PropertyName = wxT("PREF");
PropertyValue = wxT("50");
+
} else {
+
continue;
+
}
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("HOME") || PropertyValue == wxT("home"))){
+
PropertyValue = wxT("home");
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("WORK") || PropertyValue == wxT("work"))){
+
PropertyValue = wxT("work");
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("OTHER") || PropertyValue == wxT("other"))){
+
PropertyName = wxT("X-TYPE");
PropertyValue = wxT("other");
+
}
// Process properties.
intPrevValue = intiter->second;
if (PropertyName == wxT("type") && PropertyValue == wxT("pref")){
+
continue;
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("HOME") || PropertyValue == wxT("home"))){
+
PropertyValue = wxT("home");
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("WORK") || PropertyValue == wxT("work"))){
+
PropertyValue = wxT("work");
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("OTHER") || PropertyValue == wxT("other"))){
+
PropertyName = wxT("X-TYPE");
PropertyValue = wxT("other");
+
}
// Process properties.
intPrevValue = intiter->second;
if (PropertyName == wxT("type") && PropertyValue == wxT("pref")){
+
continue;
+
}
if (PropertyName == wxT("X-SERVICE-TYPE")){
+
continue;
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("HOME") || PropertyValue == wxT("home"))){
+
PropertyValue = wxT("home");
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("WORK") || PropertyValue == wxT("work"))){
+
PropertyValue = wxT("work");
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("OTHER") || PropertyValue == wxT("other"))){
+
PropertyName = wxT("X-TYPE");
PropertyValue = wxT("other");
+
}
// Process properties.
intPrevValue = intiter->second;
if (PropertyName == wxT("type") && PropertyValue == wxT("pref")){
+
continue;
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("HOME") || PropertyValue == wxT("home"))){
+
TelType.insert(std::make_pair(wxT("home"), wxT("home")));
continue;
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("WORK") || PropertyValue == wxT("work"))){
+
TelType.insert(std::make_pair(wxT("work"), wxT("work")));
continue;
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("OTHER") || PropertyValue == wxT("other"))){
+
PropertyName = wxT("X-TYPE");
PropertyValue = wxT("other");
+
}
// Process the telephone type options.
// text
if (PropertyName == wxT("type") && (PropertyValue == wxT("TEXT") || PropertyValue == wxT("text"))){
+
TelType.insert(std::make_pair(wxT("text"), wxT("text")));
continue;
+
}
// voice
if (PropertyName == wxT("type") && (PropertyValue == wxT("VOICE") || PropertyValue == wxT("voice"))){
+
TelType.insert(std::make_pair(wxT("voice"), wxT("voice")));
continue;
+
}
// fax
if (PropertyName == wxT("type") && (PropertyValue == wxT("FAX") || PropertyValue == wxT("fax"))){
+
TelType.insert(std::make_pair(wxT("fax"), wxT("fax")));
continue;
+
}
// cell
if (PropertyName == wxT("type") && (PropertyValue == wxT("CELL") || PropertyValue == wxT("cell"))){
+
TelType.insert(std::make_pair(wxT("cell"), wxT("cell")));
continue;
+
}
// video
if (PropertyName == wxT("type") && (PropertyValue == wxT("VIDEO") || PropertyValue == wxT("video"))){
+
TelType.insert(std::make_pair(wxT("video"), wxT("video")));
continue;
+
}
// pager
if (PropertyName == wxT("type") && (PropertyValue == wxT("PAGER") || PropertyValue == wxT("pager"))){
+
TelType.insert(std::make_pair(wxT("pager"), wxT("pager")));
continue;
+
}
// textphone
if (PropertyName == wxT("type") && (PropertyValue == wxT("TEXTPHONE") || PropertyValue == wxT("textphone"))){
+
TelType.insert(std::make_pair(wxT("textphone"), wxT("textphone")));
continue;
+
}
if (PropertyName == wxT("type") && PropertyValue.Find(wxT(",")) != wxNOT_FOUND){
+
wxStringTokenizer TypeSplit(PropertyValue, wxT(","));
wxString TypeSplitData;
while (TypeSplit.HasMoreTokens()){
intPrevValue = intiter->second;
if (PropertyName == wxT("type") && PropertyValue == wxT("pref")){
+
continue;
+
}
// Process properties.
intPrevValue = intiter->second;
if (PropertyName == wxT("type") && PropertyValue == wxT("pref")){
+
continue;
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("HOME") || PropertyValue == wxT("home"))){
+
PropertyValue = wxT("home");
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("WORK") || PropertyValue == wxT("work"))){
+
PropertyValue = wxT("work");
+
}
if (PropertyName == wxT("type") && (PropertyValue == wxT("OTHER") || PropertyValue == wxT("other"))){
+
PropertyName = wxT("X-TYPE");
PropertyValue = wxT("other");
+
}
// Process properties.
wxString PropertyValue;
wxString PropertyTokens;
bool FirstToken = TRUE;
- int intPrevValue = 3;
+ int intPrevValue = 3;
wxSPropertyDataOut->Append(*wxSPropertySeg2Ptr);
*wxSPropertyDataNameOut = wxT("N");
wxString PropertyName;
wxString PropertyValue;
wxString PropertyTokens;
- bool FirstToken = TRUE;
+ bool FirstToken = TRUE;
int intPrevValue = 12;
if (ProcessItemData == TRUE){
if (PropertyLine->Mid(i, 1) == wxT(";") &&
PropertyLine->Mid((i - 1), 1) != wxT("\\")){
- if (intSplitsFound == 0){
+ if (intSplitsFound == 0){
- SplitLength->insert(std::make_pair(intSplitsFound, (intSplitSize)));
+ SplitLength->insert(std::make_pair(intSplitsFound, (intSplitSize)));
- } else {
+ } else {
- SplitLength->insert(std::make_pair(intSplitsFound, (intSplitSize - 1)));
+ SplitLength->insert(std::make_pair(intSplitsFound, (intSplitSize - 1)));
- }
+ }
- SplitPoints->insert(std::make_pair(intSplitsFound, (i + 1)));
+ SplitPoints->insert(std::make_pair(intSplitsFound, (i + 1)));
- intSplitsFound++;
- intSplitSeek = i;
- intSplitSize = 0;
+ intSplitsFound++;
+ intSplitSeek = i;
+ intSplitSize = 0;
}
if (PropertyLine->Mid(i, 1) == wxT(";") &&
PropertyLine->Mid((i - 1), 1) != wxT("\\")){
- if (intSplitsFound == 0){
+ if (intSplitsFound == 0){
DataStr = PropertyLine->Mid(intSplitSeek, (intSplitSize));
SplitLength->insert(std::make_pair(intSplitsFound, (intSplitSize)));
}
- SplitPoints->insert(std::make_pair(intSplitsFound, (i + 1)));
+ SplitPoints->insert(std::make_pair(intSplitsFound, (i + 1)));
- intSplitsFound++;
- intSplitSeek = (i + 1);
- intSplitSize = 0;
+ intSplitsFound++;
+ intSplitSeek = (i + 1);
+ intSplitSize = 0;
- if (!DataStr.IsEmpty()){
+ if (!DataStr.IsEmpty()){
- PropertyElement.SetString(DataStr, wxT("="));
- PropertyName = PropertyElement.GetNextToken();
- PropertyValue = PropertyElement.GetNextToken();
- SplitData->insert(std::make_pair(PropertyName, PropertyValue));
+ PropertyElement.SetString(DataStr, wxT("="));
+ PropertyName = PropertyElement.GetNextToken();
+ PropertyValue = PropertyElement.GetNextToken();
+ SplitData->insert(std::make_pair(PropertyName, PropertyValue));
- }
+ }
- DataStr.clear();
- PropertyName.clear();
- PropertyValue.clear();
+ DataStr.clear();
+ PropertyName.clear();
+ PropertyValue.clear();
}