+/// Save default file type
+void ctConfigToolView::OnGo(wxCommandEvent& WXUNUSED(event))
+{
+ ctConfigToolDoc* doc = (ctConfigToolDoc*) GetDocument();
+ wxString path = wxGetApp().GetSettings().m_lastSetupSaveDir;
+ if (!path.IsEmpty())
+ {
+ if (wxGetApp().GetSettings().m_defaultFileKind == wxT("Setup file"))
+ {
+ // setup.h
+ wxString setupStr = doc->GenerateSetup();
+
+ wxString fullPath = path + wxFILE_SEP_PATH + wxT("setup.h");
+ if (wxFileExists(fullPath))
+ {
+ wxString msg;
+ msg.Printf(wxT("Overwrite existing file %s?"), (const wxChar*) fullPath);
+ int ans = wxMessageBox(msg, _("Save Setup File"), wxICON_QUESTION|wxYES_NO|wxCANCEL);
+ if (ans == wxCANCEL)
+ return;
+ if (ans == wxNO)
+ return;
+ }
+ wxFileOutputStream stream(fullPath);
+ if (!stream.Ok())
+ {
+ wxMessageBox(_("Sorry, could not save this file."), _("Save Setup File"), wxICON_EXCLAMATION|wxOK);
+ return;
+ }
+ stream << setupStr;
+ }
+ else if (wxGetApp().GetSettings().m_defaultFileKind == wxT("Configure script"))
+ {
+ // configurewx.sh
+ wxString configureStr = doc->GenerateConfigureCommand();
+
+ wxString fullPath = path + wxFILE_SEP_PATH + wxT("configurewx.sh");
+ if (wxFileExists(fullPath))
+ {
+ wxString msg;
+ msg.Printf(wxT("Overwrite existing file %s?"), (const wxChar*) fullPath);
+ int ans = wxMessageBox(msg, _("Save Configure Script"), wxICON_QUESTION|wxYES_NO|wxCANCEL);
+ if (ans == wxCANCEL)
+ return;
+ if (ans == wxNO)
+ return;
+ }
+ wxFileOutputStream stream(fullPath);
+ if (!stream.Ok())
+ {
+ wxMessageBox(_("Sorry, could not save this file."), _("Save Configure Script"), wxICON_EXCLAMATION|wxOK);
+ return;
+ }
+ stream << configureStr;
+ }
+ else
+ {
+ wxMessageBox(wxT("Unrecognised default file type."));
+ }
+ }
+}
+
+/// Update
+void ctConfigToolView::OnUpdateGo(wxUpdateUIEvent& event)
+{
+ wxString path = wxGetApp().GetSettings().m_lastSetupSaveDir;
+ event.Enable(!path.IsEmpty());
+}
+