void MainFrame::OnBtnTransferClick(wxCommandEvent& event) { if (mCfgSrcValid && mCfgDstValid) { if (wxMessageBox(wxT("Are you sure to transfer the selected nodes to the destination?"), wxT("Question"), wxICON_QUESTION | wxYES_NO | wxNO_DEFAULT ) == wxYES) { // Set all (checked) variables of lstEnvVars int items_selected = 0; for (int i=0; i<clbCfgSrc->GetCount(); ++i) { if (clbCfgSrc->IsChecked(i) && (mNodesSrc.size()>i)) { items_selected++; TiXmlNode* node = mNodesSrc.at(i); wxString path = clbCfgSrc->GetString(i); if (!TransferNode(&node, PathToArray(path))) { wxMessageBox(wxT("The node \"") + path + wxT("\" could not be transferred.\n" "Corrupted / unexpected configuration structure?"), wxT("Error"), wxICON_EXCLAMATION | wxOK); return; } } } if (items_selected) { // Update GUI after transfer(s) OfferConfig(mCfgDst, lstCfgDst, &mNodesDst); wxMessageBox(wxT("Selected items have been transferred successfully.\n" "Save the destination file to update the configuration permanently."), wxT("Info"), wxICON_INFORMATION | wxOK); } else { wxMessageBox(wxT("There were no items selected to transfer."), wxT("Warning"), wxICON_EXCLAMATION | wxOK); } } } else { wxMessageBox(wxT("Cannot begin transfer.\n" "At least one configuration is empty or invalid!"), wxT("Error"), wxICON_EXCLAMATION | wxOK); } }// OnBtnTransferClick
void MainFrame::OnBtnFileDstClick(wxCommandEvent& event) { wxString filename = FileSelector(); if (filename.IsEmpty() || SameConfig(filename, txtFileSrc)) return; if (!LoadConfig(filename, &mCfgDst) || !mCfgDst) { mCfgDstValid = false; return; } mFileDst = filename; txtFileDst->SetValue(filename); mCfgDstValid = true; // put configuration to wxListBox OfferConfig(mCfgDst, lstCfgDst, &mNodesDst); }// OnBtnFileDstClick
void MainFrame::OnBtnFileSrcClick(wxCommandEvent& /*event*/) { wxString filename = FileSelector(); if (filename.IsEmpty() || SameConfig(filename, txtFileDst)) return; if (!LoadConfig(filename, &mCfgSrc) || !mCfgSrc) { mCfgSrcValid = false; return; } mFileSrc = filename; txtFileSrc->SetValue(filename); mCfgSrcValid = true; // put configuration to wxCheckListBox OfferConfig(mCfgSrc, (wxListBox*)clbCfgSrc, &mNodesSrc); }// OnBtnFileSrcClick
void MainFrame::OnBtnFileDstClick(wxCommandEvent& /*event*/) { wxString filename = FileSelector(); if (filename.IsEmpty() || SameConfig(filename, txtFileSrc)) return; if (!LoadConfig(filename, &mCfgDst) || !mCfgDst) { wxMessageBox(wxT("Hint: To backup (export) your configuration use the \"Export\" button,\n" "to transfer to an existing (valid Code::Blocks) configuration file,\n" "use the \"Transfer\" button."), wxT("Information"), wxICON_INFORMATION | wxOK); mCfgDstValid = false; return; } mFileDst = filename; txtFileDst->SetValue(filename); mCfgDstValid = true; // put configuration to wxListBox OfferConfig(mCfgDst, lstCfgDst, &mNodesDst); }// OnBtnFileDstClick