summaryrefslogtreecommitdiff
path: root/RealtimeSync/main_dlg.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'RealtimeSync/main_dlg.cpp')
-rw-r--r--RealtimeSync/main_dlg.cpp109
1 files changed, 41 insertions, 68 deletions
diff --git a/RealtimeSync/main_dlg.cpp b/RealtimeSync/main_dlg.cpp
index c91e4856..dfb1a85e 100644
--- a/RealtimeSync/main_dlg.cpp
+++ b/RealtimeSync/main_dlg.cpp
@@ -59,15 +59,15 @@ MainDialog::MainDialog(wxDialog* dlg, const wxString& cfgFileName)
if (!cfgFileName.empty() || wxFileExists(lastConfigFileName()))
try
{
- rts::readRealOrBatchConfig(currentConfigFile, newConfig);
+ rts::readRealOrBatchConfig(toZ(currentConfigFile), newConfig);
loadCfgSuccess = true;
}
catch (const xmlAccess::FfsXmlError& error)
{
if (error.getSeverity() == xmlAccess::FfsXmlError::WARNING)
- wxMessageBox(error.toString(), _("Warning"), wxOK | wxICON_WARNING);
+ wxMessageBox(error.toString(), _("Warning"), wxOK | wxICON_WARNING, this);
else
- wxMessageBox(error.toString(), _("Error"), wxOK | wxICON_ERROR);
+ wxMessageBox(error.toString(), _("Error"), wxOK | wxICON_ERROR, this);
}
const bool startWatchingImmediately = loadCfgSuccess && !cfgFileName.empty();
@@ -102,30 +102,18 @@ MainDialog::~MainDialog()
try //write config to XML
{
- writeRealConfig(currentCfg, lastConfigFileName());
+ writeRealConfig(currentCfg, toZ(lastConfigFileName()));
}
catch (const xmlAccess::FfsXmlError& error)
{
- wxMessageBox(error.toString().c_str(), _("Error"), wxOK | wxICON_ERROR);
+ wxMessageBox(error.toString().c_str(), _("Error"), wxOK | wxICON_ERROR, this);
}
}
-void MainDialog::OnClose(wxCloseEvent& event)
-{
- Destroy();
-}
-
-
-void MainDialog::OnQuit(wxCommandEvent& event)
-{
- Destroy();
-}
-
-
const wxString& MainDialog::lastConfigFileName()
{
- static wxString instance = toWx(zen::getConfigDir()) + wxT("LastRun.ffs_real");
+ static wxString instance = toWx(zen::getConfigDir()) + L"LastRun.ffs_real";
return instance;
}
@@ -145,23 +133,19 @@ void MainDialog::OnMenuAbout(wxCommandEvent& event)
//build information
wxString build = __TDATE__;
#if wxUSE_UNICODE
- build += wxT(" - Unicode");
+ build += L" - Unicode";
#else
- build += wxT(" - ANSI");
+ build += L" - ANSI";
#endif //wxUSE_UNICODE
//compile time info about 32/64-bit build
if (zen::is64BitBuild)
- build += wxT(" x64");
+ build += L" x64";
else
- build += wxT(" x86");
+ build += L" x86";
assert_static(zen::is32BitBuild || zen::is64BitBuild);
- wxString buildFormatted = _("(Build: %x)");
- buildFormatted.Replace(wxT("%x"), build);
-
- wxMessageDialog* aboutDlg = new wxMessageDialog(this, wxString(L"RealtimeSync") + L"\n\n" + buildFormatted, _("About"), wxOK);
- aboutDlg->ShowModal();
+ wxMessageBox(L"RealtimeSync" L"\n\n" + replaceCpy(_("(Build: %x)"), L"%x", build), _("About"), wxOK, this);
}
@@ -170,7 +154,7 @@ void MainDialog::OnKeyPressed(wxKeyEvent& event)
const int keyCode = event.GetKeyCode();
if (keyCode == WXK_ESCAPE)
- Destroy();
+ Close();
event.Skip();
}
@@ -184,52 +168,43 @@ void MainDialog::OnStart(wxCommandEvent& event)
switch (rts::startDirectoryMonitor(currentCfg, xmlAccess::extractJobName(currentConfigFileName)))
{
- case rts::QUIT:
- {
- Destroy();
+ case rts::EXIT_APP:
+ Close();
return;
- }
- break;
- case rts::RESUME:
+ case rts::SHOW_GUI:
break;
}
-
- Show();
+ Show(); //don't show for EXIT_APP
}
void MainDialog::OnSaveConfig(wxCommandEvent& event)
{
- wxString defaultFileName = currentConfigFileName.empty() ? wxT("Realtime.ffs_real") : currentConfigFileName;
+ wxString defaultFileName = currentConfigFileName.empty() ? L"Realtime.ffs_real" : currentConfigFileName;
//attention: currentConfigFileName may be an imported *.ffs_batch file! We don't want to overwrite it with a GUI config!
- if (defaultFileName.EndsWith(wxT(".ffs_batch")))
- defaultFileName.Replace(wxT(".ffs_batch"), wxT(".ffs_real"), false);
+ if (endsWith(defaultFileName, L".ffs_batch"))
+ replace(defaultFileName, L".ffs_batch", L".ffs_real", false);
- wxFileDialog* filePicker = new wxFileDialog(this, wxEmptyString, wxEmptyString, defaultFileName, wxString(_("RealtimeSync configuration")) + wxT(" (*.ffs_real)|*.ffs_real"), wxFD_SAVE);
- if (filePicker->ShowModal() == wxID_OK)
- {
- const wxString newFileName = filePicker->GetPath();
+ wxFileDialog filePicker(this, wxEmptyString, wxEmptyString, defaultFileName,
+ _("RealtimeSync configuration") + L" (*.ffs_real)|*.ffs_real",
+ wxFD_SAVE /*| wxFD_OVERWRITE_PROMPT*/);
+ if (filePicker.ShowModal() != wxID_OK)
+ return;
- if (wxFileExists(newFileName))
- {
- wxMessageDialog* messageDlg = new wxMessageDialog(this, wxString(_("File already exists. Overwrite?")) + wxT(" \"") + newFileName + wxT("\""), _("Warning") , wxOK | wxCANCEL);
- if (messageDlg->ShowModal() != wxID_OK)
- return OnSaveConfig(event); //retry
- }
+ const wxString newFileName = filePicker.GetPath();
- //write config to XML
- const xmlAccess::XmlRealConfig currentCfg = getConfiguration();
- try
- {
- writeRealConfig(currentCfg, newFileName);
- setLastUsedConfig(newFileName);
- }
- catch (const zen::FileError& error)
- {
- wxMessageBox(error.toString().c_str(), _("Error"), wxOK | wxICON_ERROR);
- }
+ //write config to XML
+ const xmlAccess::XmlRealConfig currentCfg = getConfiguration();
+ try
+ {
+ writeRealConfig(currentCfg, toZ(newFileName)); //throw FfsXmlError
+ setLastUsedConfig(newFileName);
+ }
+ catch (const xmlAccess::FfsXmlError& e)
+ {
+ wxMessageBox(e.toString().c_str(), _("Error"), wxOK | wxICON_ERROR, this);
}
}
@@ -240,7 +215,7 @@ void MainDialog::loadConfig(const wxString& filename)
try
{
- rts::readRealOrBatchConfig(filename, newConfig);
+ rts::readRealOrBatchConfig(toZ(filename), newConfig);
}
catch (const xmlAccess::FfsXmlError& error)
{
@@ -276,11 +251,11 @@ void MainDialog::setLastUsedConfig(const wxString& filename)
void MainDialog::OnLoadConfig(wxCommandEvent& event)
{
- wxFileDialog* filePicker = new wxFileDialog(this, wxEmptyString, wxEmptyString, wxEmptyString,
- wxString(_("RealtimeSync configuration")) + wxT(" (*.ffs_real;*.ffs_batch)|*.ffs_real;*.ffs_batch"),
- wxFD_OPEN);
- if (filePicker->ShowModal() == wxID_OK)
- loadConfig(filePicker->GetPath());
+ wxFileDialog filePicker(this, wxEmptyString, wxEmptyString, wxEmptyString,
+ _("RealtimeSync configuration") + L" (*.ffs_real;*.ffs_batch)|*.ffs_real;*.ffs_batch",
+ wxFD_OPEN);
+ if (filePicker.ShowModal() == wxID_OK)
+ loadConfig(filePicker.GetPath());
}
@@ -342,13 +317,11 @@ void MainDialog::OnRemoveFolder(wxCommandEvent& event)
//find folder pair originating the event
const wxObject* const eventObj = event.GetEventObject();
for (std::vector<DirectoryPanel*>::const_iterator i = dirNamesExtra.begin(); i != dirNamesExtra.end(); ++i)
- {
if (eventObj == static_cast<wxObject*>((*i)->m_bpButtonRemoveFolder))
{
removeAddFolder(i - dirNamesExtra.begin());
return;
}
- }
}
bgstack15