summaryrefslogtreecommitdiff
path: root/RealtimeSync
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 17:00:50 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 17:00:50 +0200
commit4ecfd41e36533d858c98d051ef70cab80e69e972 (patch)
treeca07d8745967d2c6a7123a5d32269cfbfaa7bd6c /RealtimeSync
parent2.2 (diff)
downloadFreeFileSync-4ecfd41e36533d858c98d051ef70cab80e69e972.tar.gz
FreeFileSync-4ecfd41e36533d858c98d051ef70cab80e69e972.tar.bz2
FreeFileSync-4ecfd41e36533d858c98d051ef70cab80e69e972.zip
2.3
Diffstat (limited to 'RealtimeSync')
-rw-r--r--RealtimeSync/RealtimeSync.cbp1
-rw-r--r--RealtimeSync/RealtimeSync.vcproj6
-rw-r--r--RealtimeSync/application.cpp18
-rw-r--r--RealtimeSync/guiGenerated.cpp368
-rw-r--r--RealtimeSync/guiGenerated.h130
-rw-r--r--RealtimeSync/mainDialog.cpp3
-rw-r--r--RealtimeSync/makefile2
-rw-r--r--RealtimeSync/resources.cpp4
-rw-r--r--RealtimeSync/xmlFreeFileSync.cpp68
-rw-r--r--RealtimeSync/xmlFreeFileSync.h2
10 files changed, 296 insertions, 306 deletions
diff --git a/RealtimeSync/RealtimeSync.cbp b/RealtimeSync/RealtimeSync.cbp
index 75c1d189..47afabf3 100644
--- a/RealtimeSync/RealtimeSync.cbp
+++ b/RealtimeSync/RealtimeSync.cbp
@@ -72,6 +72,7 @@
<Add option="-DTIXML_USE_STL" />
<Add directory="C:\Programme\C++\wxWidgets\include" />
<Add directory="C:\Programme\C++\wxWidgets\contrib\include" />
+ <Add directory="..\shared\boost_1_40_0" />
</Compiler>
<ResourceCompiler>
<Add directory="C:\Programme\C++\wxWidgets\include" />
diff --git a/RealtimeSync/RealtimeSync.vcproj b/RealtimeSync/RealtimeSync.vcproj
index 72bb7f61..7aebda01 100644
--- a/RealtimeSync/RealtimeSync.vcproj
+++ b/RealtimeSync/RealtimeSync.vcproj
@@ -42,7 +42,7 @@
<Tool
Name="VCCLCompilerTool"
Optimization="0"
- AdditionalIncludeDirectories="&quot;C:\Programme\C++\wxWidgets\include&quot;;&quot;C:\Programme\C++\wxWidgets\lib\vc_lib\mswud&quot;"
+ AdditionalIncludeDirectories="&quot;C:\Programme\C++\wxWidgets\include&quot;;&quot;C:\Programme\C++\wxWidgets\lib\vc_lib\mswud&quot;;..\shared\boost_1_40_0"
PreprocessorDefinitions="wxUSE_UNICODE;__WXMSW__;FFS_WIN;__WXDEBUG__;TIXML_USE_STL;ZSTRING_WIDE_CHAR"
MinimalRebuild="true"
BasicRuntimeChecks="3"
@@ -50,6 +50,7 @@
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
+ DisableSpecificWarnings="4804"
/>
<Tool
Name="VCManagedResourceCompilerTool"
@@ -126,13 +127,14 @@
Optimization="2"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
- AdditionalIncludeDirectories="&quot;C:\Programme\C++\wxWidgets\include&quot;;&quot;C:\Programme\C++\wxWidgets\lib\vc_lib\mswu&quot;"
+ AdditionalIncludeDirectories="&quot;C:\Programme\C++\wxWidgets\include&quot;;&quot;C:\Programme\C++\wxWidgets\lib\vc_lib\mswu&quot;;..\shared\boost_1_40_0"
PreprocessorDefinitions="wxUSE_UNICODE;__WXMSW__;FFS_WIN;NDEBUG;TIXML_USE_STL;ZSTRING_WIDE_CHAR"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
+ DisableSpecificWarnings="4804"
/>
<Tool
Name="VCManagedResourceCompilerTool"
diff --git a/RealtimeSync/application.cpp b/RealtimeSync/application.cpp
index 5515ded5..827a54c6 100644
--- a/RealtimeSync/application.cpp
+++ b/RealtimeSync/application.cpp
@@ -44,23 +44,7 @@ void Application::OnStartApplication(wxIdleEvent& event)
#endif
//set program language
- try
- {
- FreeFileSync::CustomLocale::getInstance().setLanguage(RealtimeSync::getProgramLanguage());
- }
- catch (const xmlAccess::XmlError& error)
- {
- if (wxFileExists(FreeFileSync::getGlobalConfigFile()))
- {
- SetExitOnFrameDelete(false); //prevent error messagebox from becoming top-level window
- if (error.getSeverity() == xmlAccess::XmlError::WARNING)
- wxMessageBox(error.show(), _("Warning"), wxOK | wxICON_WARNING);
- else
- wxMessageBox(error.show(), _("Error"), wxOK | wxICON_ERROR);
- SetExitOnFrameDelete(true);
-
- }
- }
+ FreeFileSync::CustomLocale::getInstance().setLanguage(RealtimeSync::getProgramLanguage());
//try to set config/batch-filename set by %1 parameter
wxString cfgFilename;
diff --git a/RealtimeSync/guiGenerated.cpp b/RealtimeSync/guiGenerated.cpp
index 1150ae1b..6954f01c 100644
--- a/RealtimeSync/guiGenerated.cpp
+++ b/RealtimeSync/guiGenerated.cpp
@@ -13,198 +13,198 @@
MainDlgGenerated::MainDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxFrame( parent, id, title, pos, size, style )
{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
-
- m_menubar1 = new wxMenuBar( 0 );
- m_menuFile = new wxMenu();
- wxMenuItem* m_menuItem14;
- m_menuItem14 = new wxMenuItem( m_menuFile, wxID_ANY, wxString( _("S&ave configuration") ) + wxT('\t') + wxT("CTRL-S"), wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItem14 );
-
- wxMenuItem* m_menuItem13;
- m_menuItem13 = new wxMenuItem( m_menuFile, wxID_ANY, wxString( _("&Load configuration") ) + wxT('\t') + wxT("CTRL-L"), wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItem13 );
-
- m_menuFile->AppendSeparator();
-
- wxMenuItem* m_menuItem4;
- m_menuItem4 = new wxMenuItem( m_menuFile, wxID_EXIT, wxString( _("&Quit") ) + wxT('\t') + wxT("CTRL-Q"), wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItem4 );
-
- m_menubar1->Append( m_menuFile, _("&File") );
-
- m_menuHelp = new wxMenu();
- m_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About...") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
- m_menuHelp->Append( m_menuItemAbout );
-
- m_menubar1->Append( m_menuHelp, _("&Help") );
-
- this->SetMenuBar( m_menubar1 );
-
- bSizerMain = new wxBoxSizer( wxVERTICAL );
-
- m_panelMain = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer1;
- bSizer1 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer1->Add( 0, 10, 0, 0, 5 );
-
- m_staticText2 = new wxStaticText( m_panelMain, wxID_ANY, _("Usage: Select directories for monitoring and enter a commandline. Each time files are modified within these directories (or subdirectories) the commandline is executed."), wxDefaultPosition, wxDefaultSize, 0|wxDOUBLE_BORDER );
- m_staticText2->Wrap( 350 );
- bSizer1->Add( m_staticText2, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 40 );
-
- m_staticline2 = new wxStaticLine( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer1->Add( m_staticline2, 0, wxTOP|wxBOTTOM|wxEXPAND, 10 );
-
- wxBoxSizer* bSizer8;
- bSizer8 = new wxBoxSizer( wxVERTICAL );
-
- wxStaticBoxSizer* sbSizer5;
- sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, _("Directories to watch") ), wxVERTICAL );
-
- m_panelMainFolder = new wxPanel( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer114;
- bSizer114 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer781;
- bSizer781 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bpButtonAddFolder = new wxBitmapButton( m_panelMainFolder, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 19,21 ), wxBU_AUTODRAW );
- m_bpButtonAddFolder->SetToolTip( _("Add folder") );
-
- m_bpButtonAddFolder->SetToolTip( _("Add folder") );
-
- bSizer781->Add( m_bpButtonAddFolder, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bpButtonRemoveTopFolder = new wxBitmapButton( m_panelMainFolder, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 19,21 ), wxBU_AUTODRAW );
- m_bpButtonRemoveTopFolder->SetToolTip( _("Remove folder") );
-
- m_bpButtonRemoveTopFolder->SetToolTip( _("Remove folder") );
-
- bSizer781->Add( m_bpButtonRemoveTopFolder, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- bSizer114->Add( bSizer781, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_txtCtrlDirectoryMain = new wxTextCtrl( m_panelMainFolder, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- bSizer114->Add( m_txtCtrlDirectoryMain, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_dirPickerMain = new wxDirPickerCtrl( m_panelMainFolder, wxID_ANY, wxEmptyString, _("Select a folder"), wxDefaultPosition, wxDefaultSize, 0 );
- m_dirPickerMain->SetToolTip( _("Select a folder") );
-
- bSizer114->Add( m_dirPickerMain, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_panelMainFolder->SetSizer( bSizer114 );
- m_panelMainFolder->Layout();
- bSizer114->Fit( m_panelMainFolder );
- sbSizer5->Add( m_panelMainFolder, 0, wxEXPAND, 5 );
-
- m_scrolledWinFolders = new wxScrolledWindow( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
- m_scrolledWinFolders->SetScrollRate( 5, 5 );
- bSizerFolders = new wxBoxSizer( wxVERTICAL );
-
- m_scrolledWinFolders->SetSizer( bSizerFolders );
- m_scrolledWinFolders->Layout();
- bSizerFolders->Fit( m_scrolledWinFolders );
- sbSizer5->Add( m_scrolledWinFolders, 0, wxEXPAND, 5 );
-
- bSizer8->Add( sbSizer5, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
- bSizer1->Add( bSizer8, 1, wxEXPAND, 5 );
-
- wxStaticBoxSizer* sbSizer3;
- sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, _("Commandline") ), wxVERTICAL );
-
- m_textCtrlCommand = new wxTextCtrl( m_panelMain, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- sbSizer3->Add( m_textCtrlCommand, 0, wxEXPAND|wxBOTTOM, 5 );
-
- bSizer1->Add( sbSizer3, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
-
- m_staticline1 = new wxStaticLine( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer1->Add( m_staticline1, 0, wxEXPAND|wxTOP|wxBOTTOM, 10 );
-
- wxStaticBoxSizer* sbSizer4;
- sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, _("Delay") ), wxVERTICAL );
-
- m_spinCtrlDelay = new wxSpinCtrl( m_panelMain, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, 0, 2000000000, 0 );
- m_spinCtrlDelay->SetToolTip( _("Delay between two invocations of the commandline") );
-
- sbSizer4->Add( m_spinCtrlDelay, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- bSizer1->Add( sbSizer4, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
-
- m_buttonStart = new wxButtonWithImage( m_panelMain, wxID_ANY, _("Start"), wxDefaultPosition, wxSize( -1,40 ), 0 );
- m_buttonStart->SetDefault();
- m_buttonStart->SetFont( wxFont( 14, 74, 90, 92, false, wxT("Arial Black") ) );
-
- bSizer1->Add( m_buttonStart, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_buttonCancel = new wxButton( m_panelMain, wxID_CANCEL, _("dummy"), wxDefaultPosition, wxSize( 0,0 ), 0 );
- bSizer1->Add( m_buttonCancel, 0, 0, 5 );
-
- m_panelMain->SetSizer( bSizer1 );
- m_panelMain->Layout();
- bSizer1->Fit( m_panelMain );
- bSizerMain->Add( m_panelMain, 1, wxEXPAND, 5 );
-
- this->SetSizer( bSizerMain );
- this->Layout();
- bSizerMain->Fit( this );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainDlgGenerated::OnClose ) );
- this->Connect( m_menuItem14->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnSaveConfig ) );
- this->Connect( m_menuItem13->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnLoadConfig ) );
- this->Connect( m_menuItem4->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnQuit ) );
- this->Connect( m_menuItemAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnMenuAbout ) );
- m_bpButtonAddFolder->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnAddFolder ), NULL, this );
- m_bpButtonRemoveTopFolder->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnRemoveTopFolder ), NULL, this );
- m_buttonStart->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnStart ), NULL, this );
- m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnQuit ), NULL, this );
+ this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+
+ m_menubar1 = new wxMenuBar( 0 );
+ m_menuFile = new wxMenu();
+ wxMenuItem* m_menuItem14;
+ m_menuItem14 = new wxMenuItem( m_menuFile, wxID_ANY, wxString( _("S&ave configuration") ) + wxT('\t') + wxT("CTRL-S"), wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItem14 );
+
+ wxMenuItem* m_menuItem13;
+ m_menuItem13 = new wxMenuItem( m_menuFile, wxID_ANY, wxString( _("&Load configuration") ) + wxT('\t') + wxT("CTRL-L"), wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItem13 );
+
+ m_menuFile->AppendSeparator();
+
+ wxMenuItem* m_menuItem4;
+ m_menuItem4 = new wxMenuItem( m_menuFile, wxID_EXIT, wxString( _("&Quit") ) + wxT('\t') + wxT("CTRL-Q"), wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItem4 );
+
+ m_menubar1->Append( m_menuFile, _("&File") );
+
+ m_menuHelp = new wxMenu();
+ m_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About...") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
+ m_menuHelp->Append( m_menuItemAbout );
+
+ m_menubar1->Append( m_menuHelp, _("&Help") );
+
+ this->SetMenuBar( m_menubar1 );
+
+ bSizerMain = new wxBoxSizer( wxVERTICAL );
+
+ m_panelMain = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizer1;
+ bSizer1 = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizer1->Add( 0, 10, 0, 0, 5 );
+
+ m_staticText2 = new wxStaticText( m_panelMain, wxID_ANY, _("Usage: Select directories for monitoring and enter a commandline. Each time files are modified within these directories (or subdirectories) the commandline is executed."), wxDefaultPosition, wxDefaultSize, 0|wxDOUBLE_BORDER );
+ m_staticText2->Wrap( 350 );
+ bSizer1->Add( m_staticText2, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT, 40 );
+
+ m_staticline2 = new wxStaticLine( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer1->Add( m_staticline2, 0, wxTOP|wxBOTTOM|wxEXPAND, 10 );
+
+ wxBoxSizer* bSizer8;
+ bSizer8 = new wxBoxSizer( wxVERTICAL );
+
+ wxStaticBoxSizer* sbSizer5;
+ sbSizer5 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, _("Directories to watch") ), wxVERTICAL );
+
+ m_panelMainFolder = new wxPanel( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizer114;
+ bSizer114 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer781;
+ bSizer781 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bpButtonAddFolder = new wxBitmapButton( m_panelMainFolder, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 19,21 ), wxBU_AUTODRAW );
+ m_bpButtonAddFolder->SetToolTip( _("Add folder") );
+
+ m_bpButtonAddFolder->SetToolTip( _("Add folder") );
+
+ bSizer781->Add( m_bpButtonAddFolder, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonRemoveTopFolder = new wxBitmapButton( m_panelMainFolder, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 19,21 ), wxBU_AUTODRAW );
+ m_bpButtonRemoveTopFolder->SetToolTip( _("Remove folder") );
+
+ m_bpButtonRemoveTopFolder->SetToolTip( _("Remove folder") );
+
+ bSizer781->Add( m_bpButtonRemoveTopFolder, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ bSizer114->Add( bSizer781, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_txtCtrlDirectoryMain = new wxTextCtrl( m_panelMainFolder, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer114->Add( m_txtCtrlDirectoryMain, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_dirPickerMain = new wxDirPickerCtrl( m_panelMainFolder, wxID_ANY, wxEmptyString, _("Select a folder"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_dirPickerMain->SetToolTip( _("Select a folder") );
+
+ bSizer114->Add( m_dirPickerMain, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_panelMainFolder->SetSizer( bSizer114 );
+ m_panelMainFolder->Layout();
+ bSizer114->Fit( m_panelMainFolder );
+ sbSizer5->Add( m_panelMainFolder, 0, wxEXPAND, 5 );
+
+ m_scrolledWinFolders = new wxScrolledWindow( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
+ m_scrolledWinFolders->SetScrollRate( 5, 5 );
+ bSizerFolders = new wxBoxSizer( wxVERTICAL );
+
+ m_scrolledWinFolders->SetSizer( bSizerFolders );
+ m_scrolledWinFolders->Layout();
+ bSizerFolders->Fit( m_scrolledWinFolders );
+ sbSizer5->Add( m_scrolledWinFolders, 0, wxEXPAND, 5 );
+
+ bSizer8->Add( sbSizer5, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+ bSizer1->Add( bSizer8, 1, wxEXPAND, 5 );
+
+ wxStaticBoxSizer* sbSizer3;
+ sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, _("Commandline") ), wxVERTICAL );
+
+ m_textCtrlCommand = new wxTextCtrl( m_panelMain, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ sbSizer3->Add( m_textCtrlCommand, 0, wxEXPAND|wxBOTTOM, 5 );
+
+ bSizer1->Add( sbSizer3, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
+
+ m_staticline1 = new wxStaticLine( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer1->Add( m_staticline1, 0, wxEXPAND|wxTOP|wxBOTTOM, 10 );
+
+ wxStaticBoxSizer* sbSizer4;
+ sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, _("Delay") ), wxVERTICAL );
+
+ m_spinCtrlDelay = new wxSpinCtrl( m_panelMain, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS|wxSP_WRAP, 0, 2000000000, 0 );
+ m_spinCtrlDelay->SetToolTip( _("Delay between detection of changes and execution of commandline in seconds") );
+
+ sbSizer4->Add( m_spinCtrlDelay, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ bSizer1->Add( sbSizer4, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
+
+ m_buttonStart = new wxButtonWithImage( m_panelMain, wxID_ANY, _("Start"), wxDefaultPosition, wxSize( -1,40 ), 0 );
+ m_buttonStart->SetDefault();
+ m_buttonStart->SetFont( wxFont( 14, 74, 90, 92, false, wxT("Arial Black") ) );
+
+ bSizer1->Add( m_buttonStart, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_buttonCancel = new wxButton( m_panelMain, wxID_CANCEL, _("dummy"), wxDefaultPosition, wxSize( 0,0 ), 0 );
+ bSizer1->Add( m_buttonCancel, 0, 0, 5 );
+
+ m_panelMain->SetSizer( bSizer1 );
+ m_panelMain->Layout();
+ bSizer1->Fit( m_panelMain );
+ bSizerMain->Add( m_panelMain, 1, wxEXPAND, 5 );
+
+ this->SetSizer( bSizerMain );
+ this->Layout();
+ bSizerMain->Fit( this );
+
+ // Connect Events
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainDlgGenerated::OnClose ) );
+ this->Connect( m_menuItem14->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnSaveConfig ) );
+ this->Connect( m_menuItem13->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnLoadConfig ) );
+ this->Connect( m_menuItem4->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnQuit ) );
+ this->Connect( m_menuItemAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnMenuAbout ) );
+ m_bpButtonAddFolder->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnAddFolder ), NULL, this );
+ m_bpButtonRemoveTopFolder->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnRemoveTopFolder ), NULL, this );
+ m_buttonStart->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnStart ), NULL, this );
+ m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnQuit ), NULL, this );
}
MainDlgGenerated::~MainDlgGenerated()
{
- // Disconnect Events
- this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainDlgGenerated::OnClose ) );
- this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnSaveConfig ) );
- this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnLoadConfig ) );
- this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnQuit ) );
- this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnMenuAbout ) );
- m_bpButtonAddFolder->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnAddFolder ), NULL, this );
- m_bpButtonRemoveTopFolder->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnRemoveTopFolder ), NULL, this );
- m_buttonStart->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnStart ), NULL, this );
- m_buttonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnQuit ), NULL, this );
+ // Disconnect Events
+ this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainDlgGenerated::OnClose ) );
+ this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnSaveConfig ) );
+ this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnLoadConfig ) );
+ this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnQuit ) );
+ this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnMenuAbout ) );
+ m_bpButtonAddFolder->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnAddFolder ), NULL, this );
+ m_bpButtonRemoveTopFolder->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnRemoveTopFolder ), NULL, this );
+ m_buttonStart->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnStart ), NULL, this );
+ m_buttonCancel->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDlgGenerated::OnQuit ), NULL, this );
}
FolderGenerated::FolderGenerated( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
- wxBoxSizer* bSizer114;
- bSizer114 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bpButtonRemoveFolder = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 19,21 ), wxBU_AUTODRAW );
- m_bpButtonRemoveFolder->SetToolTip( _("Remove folder") );
-
- m_bpButtonRemoveFolder->SetToolTip( _("Remove folder") );
-
- bSizer114->Add( m_bpButtonRemoveFolder, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- wxBoxSizer* bSizer20;
- bSizer20 = new wxBoxSizer( wxHORIZONTAL );
-
- m_txtCtrlDirectory = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
- bSizer20->Add( m_txtCtrlDirectory, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_dirPicker = new wxDirPickerCtrl( this, wxID_ANY, wxEmptyString, _("Select a folder"), wxDefaultPosition, wxDefaultSize, 0 );
- m_dirPicker->SetToolTip( _("Select a folder") );
-
- bSizer20->Add( m_dirPicker, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- bSizer114->Add( bSizer20, 1, 0, 5 );
-
- this->SetSizer( bSizer114 );
- this->Layout();
- bSizer114->Fit( this );
+ wxBoxSizer* bSizer114;
+ bSizer114 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bpButtonRemoveFolder = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 19,21 ), wxBU_AUTODRAW );
+ m_bpButtonRemoveFolder->SetToolTip( _("Remove folder") );
+
+ m_bpButtonRemoveFolder->SetToolTip( _("Remove folder") );
+
+ bSizer114->Add( m_bpButtonRemoveFolder, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ wxBoxSizer* bSizer20;
+ bSizer20 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_txtCtrlDirectory = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer20->Add( m_txtCtrlDirectory, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_dirPicker = new wxDirPickerCtrl( this, wxID_ANY, wxEmptyString, _("Select a folder"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_dirPicker->SetToolTip( _("Select a folder") );
+
+ bSizer20->Add( m_dirPicker, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ bSizer114->Add( bSizer20, 1, 0, 5 );
+
+ this->SetSizer( bSizer114 );
+ this->Layout();
+ bSizer114->Fit( this );
}
FolderGenerated::~FolderGenerated()
diff --git a/RealtimeSync/guiGenerated.h b/RealtimeSync/guiGenerated.h
index f62410a1..17f28278 100644
--- a/RealtimeSync/guiGenerated.h
+++ b/RealtimeSync/guiGenerated.h
@@ -39,90 +39,66 @@ class wxButtonWithImage;
///////////////////////////////////////////////////////////////////////////////
/// Class MainDlgGenerated
///////////////////////////////////////////////////////////////////////////////
-class MainDlgGenerated : public wxFrame
+class MainDlgGenerated : public wxFrame
{
-private:
-
-protected:
- wxMenuBar* m_menubar1;
- wxMenu* m_menuFile;
- wxMenu* m_menuHelp;
- wxMenuItem* m_menuItemAbout;
- wxBoxSizer* bSizerMain;
- wxPanel* m_panelMain;
-
- wxStaticText* m_staticText2;
- wxStaticLine* m_staticline2;
- wxPanel* m_panelMainFolder;
- wxBitmapButton* m_bpButtonAddFolder;
- wxBitmapButton* m_bpButtonRemoveTopFolder;
- wxTextCtrl* m_txtCtrlDirectoryMain;
- wxScrolledWindow* m_scrolledWinFolders;
- wxBoxSizer* bSizerFolders;
- wxTextCtrl* m_textCtrlCommand;
- wxStaticLine* m_staticline1;
- wxSpinCtrl* m_spinCtrlDelay;
- wxButtonWithImage* m_buttonStart;
- wxButton* m_buttonCancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event )
- {
- event.Skip();
- }
- virtual void OnSaveConfig( wxCommandEvent& event )
- {
- event.Skip();
- }
- virtual void OnLoadConfig( wxCommandEvent& event )
- {
- event.Skip();
- }
- virtual void OnQuit( wxCommandEvent& event )
- {
- event.Skip();
- }
- virtual void OnMenuAbout( wxCommandEvent& event )
- {
- event.Skip();
- }
- virtual void OnAddFolder( wxCommandEvent& event )
- {
- event.Skip();
- }
- virtual void OnRemoveTopFolder( wxCommandEvent& event )
- {
- event.Skip();
- }
- virtual void OnStart( wxCommandEvent& event )
- {
- event.Skip();
- }
-
-
-public:
- wxDirPickerCtrl* m_dirPickerMain;
- MainDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("RealtimeSync - Automated Synchronization"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
- ~MainDlgGenerated();
-
+ private:
+
+ protected:
+ wxMenuBar* m_menubar1;
+ wxMenu* m_menuFile;
+ wxMenu* m_menuHelp;
+ wxMenuItem* m_menuItemAbout;
+ wxBoxSizer* bSizerMain;
+ wxPanel* m_panelMain;
+
+ wxStaticText* m_staticText2;
+ wxStaticLine* m_staticline2;
+ wxPanel* m_panelMainFolder;
+ wxBitmapButton* m_bpButtonAddFolder;
+ wxBitmapButton* m_bpButtonRemoveTopFolder;
+ wxTextCtrl* m_txtCtrlDirectoryMain;
+ wxScrolledWindow* m_scrolledWinFolders;
+ wxBoxSizer* bSizerFolders;
+ wxTextCtrl* m_textCtrlCommand;
+ wxStaticLine* m_staticline1;
+ wxSpinCtrl* m_spinCtrlDelay;
+ wxButtonWithImage* m_buttonStart;
+ wxButton* m_buttonCancel;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnClose( wxCloseEvent& event ){ event.Skip(); }
+ virtual void OnSaveConfig( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnLoadConfig( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnQuit( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnMenuAbout( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnAddFolder( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnRemoveTopFolder( wxCommandEvent& event ){ event.Skip(); }
+ virtual void OnStart( wxCommandEvent& event ){ event.Skip(); }
+
+
+ public:
+ wxDirPickerCtrl* m_dirPickerMain;
+ MainDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("RealtimeSync - Automated Synchronization"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
+ ~MainDlgGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class FolderGenerated
///////////////////////////////////////////////////////////////////////////////
-class FolderGenerated : public wxPanel
+class FolderGenerated : public wxPanel
{
-private:
-
-protected:
-
-public:
- wxBitmapButton* m_bpButtonRemoveFolder;
- wxTextCtrl* m_txtCtrlDirectory;
- wxDirPickerCtrl* m_dirPicker;
- FolderGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL );
- ~FolderGenerated();
-
+ private:
+
+ protected:
+
+ public:
+ wxBitmapButton* m_bpButtonRemoveFolder;
+ wxTextCtrl* m_txtCtrlDirectory;
+ wxDirPickerCtrl* m_dirPicker;
+ FolderGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL );
+ ~FolderGenerated();
+
};
#endif //__guiGenerated__
diff --git a/RealtimeSync/mainDialog.cpp b/RealtimeSync/mainDialog.cpp
index a3496b35..cb1cbf86 100644
--- a/RealtimeSync/mainDialog.cpp
+++ b/RealtimeSync/mainDialog.cpp
@@ -2,7 +2,7 @@
#include "resources.h"
#include "../shared/customButton.h"
#include "../shared/standardPaths.h"
-#include "../shared/globalFunctions.h"
+//#include "../shared/globalFunctions.h"
#include <wx/msgdlg.h>
#include <wx/wupdlock.h>
#include "watcher.h"
@@ -11,6 +11,7 @@
#include "trayMenu.h"
#include "../shared/fileHandling.h"
#include "xmlFreeFileSync.h"
+#include "../shared/systemConstants.h"
MainDialog::MainDialog(wxDialog *dlg, const wxString& cfgFilename)
diff --git a/RealtimeSync/makefile b/RealtimeSync/makefile
index 02303ba9..81f41b16 100644
--- a/RealtimeSync/makefile
+++ b/RealtimeSync/makefile
@@ -1,4 +1,4 @@
-CPPFLAGS=-Wall -pipe -DNDEBUG `wx-config --cppflags` `pkg-config --cflags gtk+-2.0` -DFFS_LINUX -DTIXML_USE_STL -DZSTRING_CHAR -O3 -pthread -c
+CPPFLAGS=-Wall -pipe -DNDEBUG `wx-config --cppflags` `pkg-config --cflags gtk+-2.0` -DFFS_LINUX -DTIXML_USE_STL -DZSTRING_CHAR -O3 -pthread -c -I../shared/boost_1_40_0
LINKFLAGS=`wx-config --libs` -O3 -pthread
FILE_LIST= #internal list of all *.cpp files needed for compilation
diff --git a/RealtimeSync/resources.cpp b/RealtimeSync/resources.cpp
index 638df0f6..979b5ecb 100644
--- a/RealtimeSync/resources.cpp
+++ b/RealtimeSync/resources.cpp
@@ -3,8 +3,10 @@
#include <wx/zipstrm.h>
#include <wx/image.h>
#include <wx/icon.h>
-#include "../shared/globalFunctions.h"
+#include <memory>
+//#include "../shared/globalFunctions.h"
#include "../shared/standardPaths.h"
+#include "../shared/systemConstants.h"
const GlobalResources& GlobalResources::getInstance()
diff --git a/RealtimeSync/xmlFreeFileSync.cpp b/RealtimeSync/xmlFreeFileSync.cpp
index 36f0e2f8..b3c11d50 100644
--- a/RealtimeSync/xmlFreeFileSync.cpp
+++ b/RealtimeSync/xmlFreeFileSync.cpp
@@ -10,17 +10,47 @@
#ifdef FFS_WIN
-class CmpNoCase
+struct CmpNoCase
{
-public:
- bool operator()(const wxString& a, const wxString& b)
+ bool operator()(const wxString& a, const wxString& b) const
{
- return FreeFileSync::compareStringsWin32(a.c_str(), b.c_str(), a.length(), b.length()) < 0;
+ return a.CmpNoCase(b) < 0;
}
};
#endif
+xmlAccess::XmlRealConfig convertBatchToReal(const xmlAccess::XmlBatchConfig& batchCfg, const wxString& filename)
+{
+ xmlAccess::XmlRealConfig output;
+
+#ifdef FFS_WIN
+ std::set<wxString, CmpNoCase> uniqueFolders;
+#elif defined FFS_LINUX
+ std::set<wxString> uniqueFolders;
+#endif
+
+ //add main folders
+ uniqueFolders.insert(batchCfg.mainCfg.mainFolderPair.leftDirectory.c_str());
+ uniqueFolders.insert(batchCfg.mainCfg.mainFolderPair.rightDirectory.c_str());
+
+ //additional folders
+ for (std::vector<FreeFileSync::FolderPairEnh>::const_iterator i = batchCfg.mainCfg.additionalPairs.begin();
+ i != batchCfg.mainCfg.additionalPairs.end(); ++i)
+ {
+ uniqueFolders.insert(i->leftDirectory.c_str());
+ uniqueFolders.insert(i->rightDirectory.c_str());
+ }
+
+ output.directories.insert(output.directories.end(), uniqueFolders.begin(), uniqueFolders.end());
+
+ output.commandline = FreeFileSync::getInstallationDir() + globalFunctions::FILE_NAME_SEPARATOR + wxT("FreeFileSync.exe ") +
+ wxT("\"") + filename + wxT("\"");
+
+ return output;
+}
+
+
void RealtimeSync::readRealOrBatchConfig(const wxString& filename, xmlAccess::XmlRealConfig& config) //throw (xmlAccess::XmlError);
{
if (xmlAccess::getXmlType(filename) != xmlAccess::XML_BATCH_CONFIG)
@@ -37,32 +67,26 @@ void RealtimeSync::readRealOrBatchConfig(const wxString& filename, xmlAccess::Xm
}
catch (const xmlAccess::XmlError& e)
{
- if (e.getSeverity() != xmlAccess::XmlError::WARNING) //ignore parsing errors
+ if (e.getSeverity() != xmlAccess::XmlError::WARNING)
throw;
- }
-
-#ifdef FFS_WIN
- std::set<wxString, CmpNoCase> uniqueFolders;
-#elif defined FFS_LINUX
- std::set<wxString> uniqueFolders;
-#endif
- for (std::vector<FreeFileSync::FolderPair>::const_iterator i = batchCfg.directoryPairs.begin(); i != batchCfg.directoryPairs.end(); ++i)
- {
- uniqueFolders.insert(i->leftDirectory.c_str());
- uniqueFolders.insert(i->rightDirectory.c_str());
+ config = convertBatchToReal(batchCfg, filename); //do work despite parsing errors, then re-throw
+ throw; //
}
-
- config.directories.insert(config.directories.end(), uniqueFolders.begin(), uniqueFolders.end());
-
- config.commandline = FreeFileSync::getInstallationDir() + globalFunctions::FILE_NAME_SEPARATOR + wxT("FreeFileSync.exe ") +
- wxT("\"") + filename + wxT("\"");
+ config = convertBatchToReal(batchCfg, filename);
}
int RealtimeSync::getProgramLanguage()
{
xmlAccess::XmlGlobalSettings settings;
- xmlAccess::readGlobalSettings(settings);
+
+ try
+ {
+ xmlAccess::readGlobalSettings(settings);
+ }
+ catch (const xmlAccess::XmlError&)
+ {} //user default language if error occured
+
return settings.programLanguage;
}
diff --git a/RealtimeSync/xmlFreeFileSync.h b/RealtimeSync/xmlFreeFileSync.h
index e4e0be76..8de9af08 100644
--- a/RealtimeSync/xmlFreeFileSync.h
+++ b/RealtimeSync/xmlFreeFileSync.h
@@ -10,7 +10,7 @@ namespace RealtimeSync
{
void readRealOrBatchConfig(const wxString& filename, xmlAccess::XmlRealConfig& config); //throw (xmlAccess::XmlError);
- int getProgramLanguage(); //throw (xmlAccess::XmlError);
+ int getProgramLanguage();
}
#endif // XMLFREEFILESYNC_H_INCLUDED
bgstack15