summaryrefslogtreecommitdiff
path: root/RealtimeSync
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 17:11:09 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 17:11:09 +0200
commit9cc790869ed3905c78c7eeeb0bb44f800b3f2af4 (patch)
tree1c085bbf2302be294866c4fc6e0d225f8abbc346 /RealtimeSync
parent3.14 (diff)
downloadFreeFileSync-9cc790869ed3905c78c7eeeb0bb44f800b3f2af4.tar.gz
FreeFileSync-9cc790869ed3905c78c7eeeb0bb44f800b3f2af4.tar.bz2
FreeFileSync-9cc790869ed3905c78c7eeeb0bb44f800b3f2af4.zip
3.15
Diffstat (limited to 'RealtimeSync')
-rw-r--r--RealtimeSync/RealtimeSync.cbp26
-rw-r--r--RealtimeSync/RealtimeSync.vcxproj32
-rw-r--r--RealtimeSync/application.cpp4
-rw-r--r--RealtimeSync/gui_generated.cpp438
-rw-r--r--RealtimeSync/gui_generated.h157
-rw-r--r--RealtimeSync/main_dlg.cpp2
-rw-r--r--RealtimeSync/main_dlg.h3
-rw-r--r--RealtimeSync/makefile29
-rw-r--r--RealtimeSync/notify.cpp3
-rw-r--r--RealtimeSync/pch.h103
-rw-r--r--RealtimeSync/tray_menu.cpp15
-rw-r--r--RealtimeSync/watcher.cpp46
-rw-r--r--RealtimeSync/watcher.h2
-rw-r--r--RealtimeSync/xml_proc.cpp2
14 files changed, 376 insertions, 486 deletions
diff --git a/RealtimeSync/RealtimeSync.cbp b/RealtimeSync/RealtimeSync.cbp
index cfbdc19e..66fc5452 100644
--- a/RealtimeSync/RealtimeSync.cbp
+++ b/RealtimeSync/RealtimeSync.cbp
@@ -4,13 +4,12 @@
<Project>
<Option title="RealtimeSync" />
<Option makefile="makefile" />
- <Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Release">
<Option output="..\BUILD\RealtimeSync_Win32" prefix_auto="1" extension_auto="1" />
<Option working_dir="..\BUILD" />
- <Option object_output="..\OBJ\Release_RTS_GCC" />
+ <Option object_output="..\OBJ\RTS_Release_32_MinGW" />
<Option type="0" />
<Option compiler="gcc" />
<Option projectLinkerOptionsRelation="2" />
@@ -34,14 +33,14 @@
<Target title="Debug-DLL">
<Option output="..\BUILD\RealtimeSync_Debug" prefix_auto="1" extension_auto="1" />
<Option working_dir="..\BUILD" />
- <Option object_output="..\OBJ\Debug_RTS_GCC" />
+ <Option object_output="..\OBJ\RTS_Debug_32_MinGW" />
<Option type="0" />
<Option compiler="gcc" />
<Option projectLinkerOptionsRelation="2" />
<Compiler>
<Add option="-g" />
<Add option="-Winvalid-pch" />
- <Add option='-include &quot;pch.h&quot;' />
+ <Add option='-include &quot;../shared/pch.h&quot;' />
<Add option="-D__WXDEBUG__" />
<Add directory="C:\Program Files\C++\wxWidgets\lib\gcc_dll\mswud" />
</Compiler>
@@ -71,6 +70,7 @@
<Add option="-DTIXML_USE_STL" />
<Add option="-DBOOST_THREAD_NO_LIB" />
<Add option="-DBOOST_THREAD_USE_LIB" />
+ <Add option="-DWXINTL_NO_GETTEXT_MACRO" />
<Add directory="C:\Programme\C++\wxWidgets\include" />
<Add directory="C:\Program Files\C++\Boost" />
</Compiler>
@@ -94,18 +94,12 @@
<Unit filename="WxWizDialog.fbp" />
<Unit filename="application.cpp" />
<Unit filename="application.h" />
- <Unit filename="functions.h" />
<Unit filename="gui_generated.cpp" />
<Unit filename="gui_generated.h" />
<Unit filename="main_dlg.cpp" />
<Unit filename="main_dlg.h" />
<Unit filename="notify.cpp" />
<Unit filename="notify.h" />
- <Unit filename="pch.h">
- <Option compile="1" />
- <Option weight="0" />
- <Option target="Debug-DLL" />
- </Unit>
<Unit filename="resource.rc">
<Option compilerVar="WINDRES" />
</Unit>
@@ -140,13 +134,19 @@
<Unit filename="..\shared\global_func.cpp" />
<Unit filename="..\shared\global_func.h" />
<Unit filename="..\shared\help_provider.cpp" />
- <Unit filename="..\shared\localization.cpp" />
- <Unit filename="..\shared\localization.h" />
+ <Unit filename="..\shared\i18n.cpp" />
+ <Unit filename="..\shared\i18n.h" />
<Unit filename="..\shared\long_path_prefix.cpp" />
<Unit filename="..\shared\long_path_prefix.h" />
<Unit filename="..\shared\mouse_move_dlg.cpp" />
+ <Unit filename="..\shared\pch.h">
+ <Option compile="1" />
+ <Option weight="0" />
+ <Option target="Debug-DLL" />
+ </Unit>
<Unit filename="..\shared\privilege.cpp" />
- <Unit filename="..\shared\shadow.cpp" />
+ <Unit filename="..\shared\resolve_path.cpp" />
+ <Unit filename="..\shared\resolve_path.h" />
<Unit filename="..\shared\standard_paths.cpp" />
<Unit filename="..\shared\standard_paths.h" />
<Unit filename="..\shared\system_func.cpp" />
diff --git a/RealtimeSync/RealtimeSync.vcxproj b/RealtimeSync/RealtimeSync.vcxproj
index c250a421..fa69ffdf 100644
--- a/RealtimeSync/RealtimeSync.vcxproj
+++ b/RealtimeSync/RealtimeSync.vcxproj
@@ -69,28 +69,28 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\BUILD\</OutDir>
- <IntDir>OBJ\$(ProjectName)_$(Configuration)_$(PlatformName)_VCPP\</IntDir>
+ <IntDir>..\OBJ\$(ProjectName)_$(Configuration)_$(PlatformName)_VCPP\</IntDir>
<TargetName>$(ProjectName)_$(PlatformName)</TargetName>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
<OutDir>..\BUILD\</OutDir>
- <IntDir>OBJ\$(ProjectName)_$(Configuration)_$(PlatformName)_VCPP\</IntDir>
+ <IntDir>..\OBJ\$(ProjectName)_$(Configuration)_$(PlatformName)_VCPP\</IntDir>
<TargetName>$(ProjectName)_$(PlatformName)</TargetName>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\BUILD\</OutDir>
- <IntDir>OBJ\$(ProjectName)_$(Configuration)_$(PlatformName)_VCPP\</IntDir>
+ <IntDir>..\OBJ\$(ProjectName)_$(Configuration)_$(PlatformName)_VCPP\</IntDir>
<GenerateManifest>false</GenerateManifest>
<TargetName>$(ProjectName)_$(PlatformName)</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<OutDir>..\BUILD\</OutDir>
- <IntDir>OBJ\$(ProjectName)_$(Configuration)_$(PlatformName)_VCPP\</IntDir>
+ <IntDir>..\OBJ\$(ProjectName)_$(Configuration)_$(PlatformName)_VCPP\</IntDir>
<GenerateManifest>false</GenerateManifest>
<TargetName>$(ProjectName)_$(PlatformName)</TargetName>
</PropertyGroup>
@@ -99,14 +99,14 @@
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>wxUSE_UNICODE;__WXMSW__;FFS_WIN;__WXDEBUG__;TIXML_USE_STL</PreprocessorDefinitions>
+ <PreprocessorDefinitions>wxUSE_UNICODE;__WXMSW__;FFS_WIN;WXINTL_NO_GETTEXT_MACRO;__WXDEBUG__;TIXML_USE_STL</PreprocessorDefinitions>
<AdditionalIncludeDirectories>C:\Programme\C++\wxWidgets\include;C:\Programme\C++\wxWidgets\lib\vc_lib\mswud;C:\Program Files\C++\Boost</AdditionalIncludeDirectories>
- <PrecompiledHeaderFile>$(ProjectDir)/pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderFile>$(ProjectDir)/../shared/pch.h</PrecompiledHeaderFile>
<DisableSpecificWarnings>4100;4996</DisableSpecificWarnings>
<MultiProcessorCompilation>false</MultiProcessorCompilation>
<DisableLanguageExtensions>false</DisableLanguageExtensions>
<PrecompiledHeaderOutputFile>$(IntDir)pch.obj</PrecompiledHeaderOutputFile>
- <ForcedIncludeFiles>$(ProjectDir)/pch.h</ForcedIncludeFiles>
+ <ForcedIncludeFiles>$(ProjectDir)/../shared/pch.h</ForcedIncludeFiles>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
@@ -129,14 +129,14 @@
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level4</WarningLevel>
<Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>wxUSE_UNICODE;__WXMSW__;FFS_WIN;__WXDEBUG__;TIXML_USE_STL</PreprocessorDefinitions>
+ <PreprocessorDefinitions>wxUSE_UNICODE;__WXMSW__;FFS_WIN;WXINTL_NO_GETTEXT_MACRO;__WXDEBUG__;TIXML_USE_STL</PreprocessorDefinitions>
<AdditionalIncludeDirectories>C:\Programme\C++\wxWidgets-x64\include;C:\Programme\C++\wxWidgets-x64\lib\vc_lib\mswud;C:\Program Files\C++\Boost</AdditionalIncludeDirectories>
- <PrecompiledHeaderFile>$(ProjectDir)/pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderFile>$(ProjectDir)/../shared/pch.h</PrecompiledHeaderFile>
<DisableSpecificWarnings>4100;4996</DisableSpecificWarnings>
<MultiProcessorCompilation>false</MultiProcessorCompilation>
<DisableLanguageExtensions>false</DisableLanguageExtensions>
<PrecompiledHeaderOutputFile>$(IntDir)pch.obj</PrecompiledHeaderOutputFile>
- <ForcedIncludeFiles>$(ProjectDir)/pch.h</ForcedIncludeFiles>
+ <ForcedIncludeFiles>$(ProjectDir)/../shared/pch.h</ForcedIncludeFiles>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<SuppressStartupBanner>true</SuppressStartupBanner>
</ClCompile>
@@ -162,7 +162,7 @@
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>wxUSE_UNICODE;__WXMSW__;FFS_WIN;NDEBUG;TIXML_USE_STL</PreprocessorDefinitions>
+ <PreprocessorDefinitions>wxUSE_UNICODE;__WXMSW__;FFS_WIN;WXINTL_NO_GETTEXT_MACRO;NDEBUG;TIXML_USE_STL</PreprocessorDefinitions>
<AdditionalIncludeDirectories>C:\Programme\C++\wxWidgets\include;C:\Programme\C++\wxWidgets\lib\vc_lib\mswu;C:\Program Files\C++\Boost</AdditionalIncludeDirectories>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<DisableSpecificWarnings>4100;4996</DisableSpecificWarnings>
@@ -196,7 +196,7 @@
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>wxUSE_UNICODE;__WXMSW__;FFS_WIN;NDEBUG;TIXML_USE_STL</PreprocessorDefinitions>
+ <PreprocessorDefinitions>wxUSE_UNICODE;__WXMSW__;FFS_WIN;WXINTL_NO_GETTEXT_MACRO;NDEBUG;TIXML_USE_STL</PreprocessorDefinitions>
<AdditionalIncludeDirectories>C:\Programme\C++\wxWidgets-x64\include;C:\Programme\C++\wxWidgets-x64\lib\vc_lib\mswu;C:\Program Files\C++\Boost</AdditionalIncludeDirectories>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<DisableSpecificWarnings>4100;4996</DisableSpecificWarnings>
@@ -236,11 +236,11 @@
<ClCompile Include="..\shared\file_traverser.cpp" />
<ClCompile Include="..\shared\global_func.cpp" />
<ClCompile Include="..\shared\help_provider.cpp" />
- <ClCompile Include="..\shared\localization.cpp" />
+ <ClCompile Include="..\shared\i18n.cpp" />
<ClCompile Include="..\shared\long_path_prefix.cpp" />
<ClCompile Include="..\shared\mouse_move_dlg.cpp" />
<ClCompile Include="..\shared\privilege.cpp" />
- <ClCompile Include="..\shared\shadow.cpp" />
+ <ClCompile Include="..\shared\resolve_path.cpp" />
<ClCompile Include="..\shared\standard_paths.cpp" />
<ClCompile Include="..\shared\system_func.cpp" />
<ClCompile Include="..\shared\tinyxml\tinyxml.cpp" />
@@ -253,7 +253,7 @@
<ClCompile Include="application.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
- <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)/pch.h</PrecompiledHeaderFile>
+ <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectDir)/../shared/pch.h</PrecompiledHeaderFile>
</ClCompile>
<ClCompile Include="gui_generated.cpp" />
<ClCompile Include="main_dlg.cpp" />
@@ -271,7 +271,7 @@
<None Include="WxWizDialog.fbp" />
</ItemGroup>
<ItemGroup>
- <ClInclude Include="pch.h" />
+ <ClInclude Include="../shared/pch.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
diff --git a/RealtimeSync/application.cpp b/RealtimeSync/application.cpp
index dffd8970..37f5c192 100644
--- a/RealtimeSync/application.cpp
+++ b/RealtimeSync/application.cpp
@@ -9,7 +9,7 @@
#include <wx/event.h>
#include "resources.h"
#include <wx/msgdlg.h>
-#include "../shared/localization.h"
+#include "../shared/i18n.h"
#include "xml_ffs.h"
#include "../shared/standard_paths.h"
#include <wx/file.h>
@@ -46,7 +46,7 @@ void Application::OnStartApplication(wxIdleEvent& event)
#endif
//set program language
- ffs3::CustomLocale::getInstance().setLanguage(rts::getProgramLanguage());
+ ffs3::setLanguage(rts::getProgramLanguage());
//try to set config/batch-filename set by %1 parameter
wxString cfgFilename;
diff --git a/RealtimeSync/gui_generated.cpp b/RealtimeSync/gui_generated.cpp
index d87b536c..5a4f7f13 100644
--- a/RealtimeSync/gui_generated.cpp
+++ b/RealtimeSync/gui_generated.cpp
@@ -1,11 +1,12 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Nov 17 2010)
+// C++ code generated with wxFormBuilder (version Mar 22 2011)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
///////////////////////////////////////////////////////////////////////////
#include "../shared/custom_button.h"
+#include "../shared/dir_picker_i18n.h"
#include "gui_generated.h"
@@ -13,235 +14,228 @@
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( wxSize( 420,440 ), 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 );
-
- wxMenuItem* m_separator1;
- m_separator1 = 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();
- wxMenuItem* m_menuItemContent;
- m_menuItemContent = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("&Content") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
- m_menuHelp->Append( m_menuItemContent );
-
- wxMenuItem* m_separator2;
- m_separator2 = m_menuHelp->AppendSeparator();
-
- m_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About...") ) + wxT('\t') + wxT("SHIFT-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 );
-
- wxStaticBoxSizer* sbSizer41;
- sbSizer41 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, wxEmptyString ), wxVERTICAL );
-
- m_staticText2 = new wxStaticText( m_panelMain, wxID_ANY, _("Usage:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText2->Wrap( -1 );
- m_staticText2->SetFont( wxFont( 10, 74, 90, 90, true, wxEmptyString ) );
-
- sbSizer41->Add( m_staticText2, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
- m_staticText3 = new wxStaticText( m_panelMain, wxID_ANY, _("1. Select directories to monitor."), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText3->Wrap( -1 );
- sbSizer41->Add( m_staticText3, 0, wxLEFT, 10 );
-
- m_staticText4 = new wxStaticText( m_panelMain, wxID_ANY, _("2. Enter a command line."), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText4->Wrap( -1 );
- sbSizer41->Add( m_staticText4, 0, wxLEFT, 10 );
-
- m_staticText5 = new wxStaticText( m_panelMain, wxID_ANY, _("3. Press 'Start'."), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText5->Wrap( -1 );
- sbSizer41->Add( m_staticText5, 0, wxLEFT, 10 );
-
- m_staticline3 = new wxStaticLine( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- sbSizer41->Add( m_staticline3, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
-
- m_staticText21 = new wxStaticText( m_panelMain, wxID_ANY, _("The command line is executed each time:\n- all directories become available (e.g. USB stick insert)\n- files within these directories or subdirectories are modified"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText21->Wrap( -1 );
- sbSizer41->Add( m_staticText21, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 );
-
- bSizer1->Add( sbSizer41, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxEXPAND, 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, _("Command line") ), 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 );
-
- wxStaticBoxSizer* sbSizer4;
- sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, _("Minimum Idle Time [seconds]") ), wxVERTICAL );
-
- m_spinCtrlDelay = new wxSpinCtrl( m_panelMain, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 2000000000, 0 );
- m_spinCtrlDelay->SetToolTip( _("Idle time between detection of last change and execution of command line in seconds") );
-
- sbSizer4->Add( m_spinCtrlDelay, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- bSizer1->Add( sbSizer4, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
-
- m_staticline1 = new wxStaticLine( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer1->Add( m_staticline1, 0, wxEXPAND|wxTOP|wxBOTTOM, 10 );
-
- 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_menuItemContent->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnShowHelp ) );
- 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( wxSize( 420,440 ), 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 );
+
+ wxMenuItem* m_separator1;
+ m_separator1 = 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();
+ wxMenuItem* m_menuItemContent;
+ m_menuItemContent = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("&Content") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
+ m_menuHelp->Append( m_menuItemContent );
+
+ wxMenuItem* m_separator2;
+ m_separator2 = m_menuHelp->AppendSeparator();
+
+ m_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About...") ) + wxT('\t') + wxT("SHIFT-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 );
+
+ wxStaticBoxSizer* sbSizer41;
+ sbSizer41 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, wxEmptyString ), wxVERTICAL );
+
+ m_staticText2 = new wxStaticText( m_panelMain, wxID_ANY, _("Usage:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText2->Wrap( -1 );
+ m_staticText2->SetFont( wxFont( 10, 74, 90, 90, true, wxEmptyString ) );
+
+ sbSizer41->Add( m_staticText2, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+ m_staticText3 = new wxStaticText( m_panelMain, wxID_ANY, _("1. Select directories to monitor."), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText3->Wrap( -1 );
+ sbSizer41->Add( m_staticText3, 0, wxLEFT, 10 );
+
+ m_staticText4 = new wxStaticText( m_panelMain, wxID_ANY, _("2. Enter a command line."), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText4->Wrap( -1 );
+ sbSizer41->Add( m_staticText4, 0, wxLEFT, 10 );
+
+ m_staticText5 = new wxStaticText( m_panelMain, wxID_ANY, _("3. Press 'Start'."), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText5->Wrap( -1 );
+ sbSizer41->Add( m_staticText5, 0, wxLEFT, 10 );
+
+ m_staticline3 = new wxStaticLine( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ sbSizer41->Add( m_staticline3, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
+
+ m_staticText21 = new wxStaticText( m_panelMain, wxID_ANY, _("The command line is executed each time:\n- all directories become available (e.g. USB stick insert)\n- files within these directories or subdirectories are modified"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText21->Wrap( -1 );
+ sbSizer41->Add( m_staticText21, 0, wxRIGHT|wxLEFT|wxEXPAND, 5 );
+
+ bSizer1->Add( sbSizer41, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxEXPAND, 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 );
+
+ sbSizerDirToWatch = 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") );
+
+ 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") );
+
+ 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 FfsDirPickerCtrl( 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 );
+ sbSizerDirToWatch->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 );
+ sbSizerDirToWatch->Add( m_scrolledWinFolders, 0, wxEXPAND, 5 );
+
+ bSizer8->Add( sbSizerDirToWatch, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+ bSizer1->Add( bSizer8, 1, wxEXPAND, 5 );
+
+ wxStaticBoxSizer* sbSizer3;
+ sbSizer3 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, _("Command line") ), 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 );
+
+ wxStaticBoxSizer* sbSizer4;
+ sbSizer4 = new wxStaticBoxSizer( new wxStaticBox( m_panelMain, wxID_ANY, _("Minimum Idle Time [seconds]") ), wxVERTICAL );
+
+ m_spinCtrlDelay = new wxSpinCtrl( m_panelMain, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 2000000000, 0 );
+ m_spinCtrlDelay->SetToolTip( _("Idle time between detection of last change and execution of command line in seconds") );
+
+ sbSizer4->Add( m_spinCtrlDelay, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ bSizer1->Add( sbSizer4, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
+
+ m_staticline1 = new wxStaticLine( m_panelMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer1->Add( m_staticline1, 0, wxEXPAND|wxTOP|wxBOTTOM, 10 );
+
+ 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_menuItemContent->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnShowHelp ) );
+ 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_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnQuit ) );
- this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnShowHelp ) );
- this->Disconnect( wxID_ABOUT, 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_EXIT, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnQuit ) );
+ this->Disconnect( wxID_ANY, wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDlgGenerated::OnShowHelp ) );
+ this->Disconnect( wxID_ABOUT, 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") );
+
+ 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 FfsDirPickerCtrl( 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, wxALIGN_CENTER_VERTICAL, 5 );
+
+ this->SetSizer( bSizer114 );
+ this->Layout();
+ bSizer114->Fit( this );
}
FolderGenerated::~FolderGenerated()
diff --git a/RealtimeSync/gui_generated.h b/RealtimeSync/gui_generated.h
index a0760448..75457f31 100644
--- a/RealtimeSync/gui_generated.h
+++ b/RealtimeSync/gui_generated.h
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Nov 17 2010)
+// C++ code generated with wxFormBuilder (version Mar 22 2011)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
@@ -10,6 +10,7 @@
#include <wx/intl.h>
+class FfsDirPickerCtrl;
class wxButtonWithImage;
#include <wx/string.h>
@@ -34,107 +35,83 @@ class wxButtonWithImage;
#include <wx/spinctrl.h>
#include <wx/frame.h>
+#include "../shared/i18n.h"
+
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
/// 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;
- wxStaticText* m_staticText3;
- wxStaticText* m_staticText4;
- wxStaticText* m_staticText5;
- wxStaticLine* m_staticline3;
- wxStaticText* m_staticText21;
- wxStaticLine* m_staticline2;
- wxPanel* m_panelMainFolder;
- wxBitmapButton* m_bpButtonAddFolder;
- wxBitmapButton* m_bpButtonRemoveTopFolder;
- wxTextCtrl* m_txtCtrlDirectoryMain;
- wxScrolledWindow* m_scrolledWinFolders;
- wxBoxSizer* bSizerFolders;
- wxTextCtrl* m_textCtrlCommand;
- wxSpinCtrl* m_spinCtrlDelay;
- wxStaticLine* m_staticline1;
- 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 OnShowHelp( 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;
+ wxStaticText* m_staticText3;
+ wxStaticText* m_staticText4;
+ wxStaticText* m_staticText5;
+ wxStaticLine* m_staticline3;
+ wxStaticText* m_staticText21;
+ wxStaticLine* m_staticline2;
+ wxStaticBoxSizer* sbSizerDirToWatch;
+ wxPanel* m_panelMainFolder;
+ wxBitmapButton* m_bpButtonAddFolder;
+ wxBitmapButton* m_bpButtonRemoveTopFolder;
+ wxTextCtrl* m_txtCtrlDirectoryMain;
+ wxScrolledWindow* m_scrolledWinFolders;
+ wxBoxSizer* bSizerFolders;
+ wxTextCtrl* m_textCtrlCommand;
+ wxSpinCtrl* m_spinCtrlDelay;
+ wxStaticLine* m_staticline1;
+ 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 OnShowHelp( 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:
+ FfsDirPickerCtrl* 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;
+ FfsDirPickerCtrl* 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 //__gui_generated__
diff --git a/RealtimeSync/main_dlg.cpp b/RealtimeSync/main_dlg.cpp
index a1db4b74..05f0bc9b 100644
--- a/RealtimeSync/main_dlg.cpp
+++ b/RealtimeSync/main_dlg.cpp
@@ -43,7 +43,7 @@ MainDialog::MainDialog(wxDialog* dlg, const wxString& cfgFileName)
Connect(wxEVT_CHAR_HOOK, wxKeyEventHandler(MainDialog::OnKeyPressed), NULL, this);
//prepare drag & drop
- dirNameFirst.reset(new ffs3::DirectoryName(m_panelMainFolder, m_dirPickerMain, m_txtCtrlDirectoryMain));
+ dirNameFirst.reset(new ffs3::DirectoryName(*m_panelMainFolder, *m_dirPickerMain, *m_txtCtrlDirectoryMain, sbSizerDirToWatch));
#ifdef FFS_WIN
diff --git a/RealtimeSync/main_dlg.h b/RealtimeSync/main_dlg.h
index a6d2c935..8b06bec4 100644
--- a/RealtimeSync/main_dlg.h
+++ b/RealtimeSync/main_dlg.h
@@ -11,6 +11,7 @@
#include <vector>
#include <memory>
#include "../shared/dir_name.h"
+#include "../shared/dir_picker_i18n.h"
namespace xmlAccess
{
@@ -23,7 +24,7 @@ class DirectoryPanel : public FolderGenerated
public:
DirectoryPanel(wxWindow* parent) :
FolderGenerated(parent),
- dirName(this, m_dirPicker, m_txtCtrlDirectory) {}
+ dirName(*this, *m_dirPicker, *m_txtCtrlDirectory) {}
void setName(const Zstring& dirname)
{
diff --git a/RealtimeSync/makefile b/RealtimeSync/makefile
index a445b922..5f797cce 100644
--- a/RealtimeSync/makefile
+++ b/RealtimeSync/makefile
@@ -2,14 +2,17 @@ APPNAME = RealtimeSync
prefix = /usr
BINDIR = $(DESTDIR)$(prefix)/bin
+COMMON_COMPILE_FLAGS = -Wall -pipe `pkg-config --cflags gtk+-2.0` -O3 -pthread -DNDEBUG -DwxUSE_UNICODE -DFFS_LINUX -DTIXML_USE_STL -DWXINTL_NO_GETTEXT_MACRO
+COMMON_LINK_FLAGS = -O3 -pthread
+
#default build
-FFS_CPPFLAGS = -Wall -pipe -DNDEBUG -DwxUSE_UNICODE `wx-config --cxxflags --debug=no --unicode=yes` `pkg-config --cflags gtk+-2.0` -DFFS_LINUX -DTIXML_USE_STL -O3 -pthread
-LINKFLAGS = `wx-config --libs --debug=no --unicode=yes` -lboost_thread -O3 -pthread
+FFS_CPPFLAGS = $(COMMON_COMPILE_FLAGS) `wx-config --cxxflags --debug=no --unicode=yes`
+LINKFLAGS = $(COMMON_LINK_FLAGS) `wx-config --libs --debug=no --unicode=yes` -lboost_thread
#static build used for precompiled release
ifeq ($(BUILD),release)
-FFS_CPPFLAGS = -Wall -pipe -DNDEBUG -DwxUSE_UNICODE `wx-config --cxxflags --debug=no --unicode=yes --static=yes` `pkg-config --cflags gtk+-2.0` -DFFS_LINUX -DTIXML_USE_STL -O3 -pthread
-LINKFLAGS = `wx-config --libs --debug=no --unicode=yes --static=yes` /usr/local/lib/libboost_thread.a -O3 -pthread
+FFS_CPPFLAGS = $(COMMON_COMPILE_FLAGS) `wx-config --cxxflags --debug=no --unicode=yes --static=yes`
+LINKFLAGS = $(COMMON_LINK_FLAGS) `wx-config --libs --debug=no --unicode=yes --static=yes` /usr/local/lib/libboost_thread.a
endif
FILE_LIST= #internal list of all *.cpp files needed for compilation
@@ -25,7 +28,7 @@ FILE_LIST+=../library/process_xml.cpp
FILE_LIST+=../structures.cpp
FILE_LIST+=../shared/util.cpp
FILE_LIST+=../shared/check_exist.cpp
-FILE_LIST+=../shared/localization_no_BOM.cpp
+FILE_LIST+=../shared/i18n_no_BOM.cpp
FILE_LIST+=../shared/inotify/inotify-cxx.cpp
FILE_LIST+=../shared/tinyxml/tinyxml.cpp
FILE_LIST+=../shared/tinyxml/tinyxmlerror.cpp
@@ -37,13 +40,14 @@ FILE_LIST+=../shared/zstring.cpp
FILE_LIST+=../shared/xml_base.cpp
FILE_LIST+=../shared/custom_button.cpp
FILE_LIST+=../shared/file_handling.cpp
+FILE_LIST+=../shared/resolve_path.cpp
FILE_LIST+=../shared/file_traverser.cpp
FILE_LIST+=../shared/standard_paths.cpp
FILE_LIST+=../shared/help_provider.cpp
FILE_LIST+=../shared/file_io.cpp
#list of all *.o files
-OBJECT_LIST=$(foreach file, $(FILE_LIST), OBJ/$(subst .cpp,.o,$(notdir $(file))))
+OBJECT_LIST=$(foreach file, $(FILE_LIST), ../OBJ/RTS_Release_GCC_Make/$(subst .cpp,.o,$(notdir $(file))))
#build list of all dependencies
DEP_LIST=$(foreach file, $(FILE_LIST), $(subst .cpp,.dep,$(file)))
@@ -52,23 +56,24 @@ DEP_LIST=$(foreach file, $(FILE_LIST), $(subst .cpp,.dep,$(file)))
all: RealtimeSync
init:
- if [ ! -d OBJ ]; then mkdir OBJ; fi
+ if [ ! -d ../OBJ ]; then mkdir ../OBJ; fi
+ if [ ! -d ../OBJ/RTS_Release_GCC_Make ]; then mkdir ../OBJ/RTS_Release_GCC_Make; fi
#remove byte ordering mark: needed by Visual C++ but an error with GCC
- g++ -o OBJ/removeBOM ../tools/remove_BOM.cpp
- ./OBJ/removeBOM ../shared/localization.cpp ../shared/localization_no_BOM.cpp
+ g++ -o ../OBJ/RTS_Release_GCC_Make/removeBOM ../tools/remove_BOM.cpp
+ ../OBJ/RTS_Release_GCC_Make/removeBOM ../shared/i18n.cpp ../shared/i18n_no_BOM.cpp
%.dep : %.cpp
#strip path information
- g++ $(FFS_CPPFLAGS) -c $< -o OBJ/$(subst .cpp,.o,$(notdir $<))
+ g++ $(FFS_CPPFLAGS) -c $< -o ../OBJ/RTS_Release_GCC_Make/$(subst .cpp,.o,$(notdir $<))
RealtimeSync: init $(DEP_LIST)
#respect linker order: wxWidgets libraries last
g++ -o ../BUILD/$(APPNAME) $(OBJECT_LIST) $(LINKFLAGS)
clean:
- rm -rf OBJ
+ rm -rf ../OBJ/RTS_Release_GCC_Make
rm -f ../BUILD/$(APPNAME)
- rm -f ../shared/localization_no_BOM.cpp
+ rm -f ../shared/i18n_no_BOM.cpp
install:
if [ ! -d $(BINDIR) ] ; then mkdir -p $(BINDIR); fi
diff --git a/RealtimeSync/notify.cpp b/RealtimeSync/notify.cpp
index 8029da6f..9f1398ed 100644
--- a/RealtimeSync/notify.cpp
+++ b/RealtimeSync/notify.cpp
@@ -199,7 +199,8 @@ public:
{
const DWORD lastError = ::GetLastError();
if (lastError != ERROR_CALL_NOT_IMPLEMENTED && //fail on SAMBA share: this shouldn't be a showstopper!
- lastError != ERROR_SERVICE_SPECIFIC_ERROR) //neither should be fail for "Pogoplug" mapped network drives
+ lastError != ERROR_SERVICE_SPECIFIC_ERROR && //neither should be fail for "Pogoplug" mapped network drives
+ lastError != ERROR_INVALID_DATA) //this seems to happen for a NetDrive-mapped FTP server
throw ffs3::FileError(wxString(wxT("Could not register device removal notifications:")) + wxT("\n\n") + ffs3::getLastErrorFormatted(lastError));
}
else
diff --git a/RealtimeSync/pch.h b/RealtimeSync/pch.h
deleted file mode 100644
index b3412782..00000000
--- a/RealtimeSync/pch.h
+++ /dev/null
@@ -1,103 +0,0 @@
-// **************************************************************************
-// * This file is part of the FreeFileSync project. It is distributed under *
-// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
-// * Copyright (C) 2008-2011 ZenJu (zhnmju123 AT gmx.de) *
-// **************************************************************************
-//
-#ifndef RTS_PRECOMPILED_HEADER
-#define RTS_PRECOMPILED_HEADER
-
-//pay attention when using this file: might cause issues!
-#ifndef __WXDEBUG__
-do NOT use in release build!
-#endif
-
- //#####################################################
- // basic wxWidgets headers
-#ifndef WX_PRECOMP
-#define WX_PRECOMP
-#endif
-
-#include <wx/wxprec.h>
-
- //#####################################################
- // #include other rarely changing headers here
-
- //STL headers
-#include <string>
-#include <algorithm>
-#include <vector>
-#include <queue>
-#include <stack>
-#include <set>
-#include <map>
-#include <memory>
-#include <fstream>
-
-#ifdef FFS_LINUX
-#include <utime.h>
-#endif //FFS_LINUX
-
- //other wxWidgets headers
-#include <wx/grid.h>
-#include <wx/animate.h>
-#include <wx/app.h>
-#include <wx/arrstr.h>
-#include <wx/bitmap.h>
-#include <wx/bmpbuttn.h>
-#include <wx/button.h>
-#include <wx/checkbox.h>
-#include <wx/choice.h>
-#include <wx/clipbrd.h>
-#include <wx/cmdline.h>
-#include <wx/colour.h>
-#include <wx/config.h>
-#include <wx/dc.h>
-#include <wx/dialog.h>
-#include <wx/dir.h>
-#include <wx/dnd.h>
-#include <wx/file.h>
-#include <wx/filename.h>
-#include <wx/filepicker.h>
-#include <wx/font.h>
-#include <wx/frame.h>
-#include <wx/gauge.h>
-#include <wx/gdicmn.h>
-#include <wx/grid.h>
-#include <wx/hyperlink.h>
-#include <wx/icon.h>
-#include <wx/image.h>
-#include <wx/intl.h>
-#include <wx/log.h>
-#include <wx/menu.h>
-#include <wx/msgdlg.h>
-#include <wx/panel.h>
-#include <wx/radiobut.h>
-#include <wx/settings.h>
-#include <wx/sizer.h>
-#include <wx/statbmp.h>
-#include <wx/statbox.h>
-#include <wx/statline.h>
-#include <wx/stattext.h>
-#include <wx/stdpaths.h>
-#include <wx/stopwatch.h>
-#include <wx/stream.h>
-#include <wx/string.h>
-#include <wx/textctrl.h>
-#include <wx/thread.h>
-#include <wx/utils.h>
-#include <wx/wfstream.h>
-#include <wx/zipstrm.h>
-#include <wx/scrolwin.h>
-#include <wx/notebook.h>
-
- //other
-#include "../shared/tinyxml/tinyxml.h"
-#include <sys/stat.h>
-
-#ifdef FFS_WIN
-#include <wx/msw/wrapwin.h> //includes "windows.h"
-#endif //FFS_WIN
- //#####################################################
-
-#endif //RTS_PRECOMPILED_HEADER \ No newline at end of file
diff --git a/RealtimeSync/tray_menu.cpp b/RealtimeSync/tray_menu.cpp
index 4123664c..fbfc3167 100644
--- a/RealtimeSync/tray_menu.cpp
+++ b/RealtimeSync/tray_menu.cpp
@@ -5,23 +5,24 @@
// **************************************************************************
//
#include "tray_menu.h"
+#include <algorithm>
+#include <iterator>
+#include <limits>
#include <wx/msgdlg.h>
#include <wx/taskbar.h>
#include <wx/app.h>
-#include "resources.h"
-#include <algorithm>
-#include <iterator>
-#include "../shared/string_conv.h"
#include <wx/utils.h>
#include <wx/menu.h>
#include "watcher.h"
#include <wx/utils.h>
#include <wx/log.h>
-#include "../shared/assert_static.h"
-#include "../shared/build_info.h"
#include <wx/icon.h> //Linux needs this
#include <wx/timer.h>
-#include <limits>
+#include "resources.h"
+#include "../shared/string_conv.h"
+#include "../shared/i18n.h"
+#include "../shared/assert_static.h"
+#include "../shared/build_info.h"
using namespace rts;
diff --git a/RealtimeSync/watcher.cpp b/RealtimeSync/watcher.cpp
index d28c4488..ef43d8d9 100644
--- a/RealtimeSync/watcher.cpp
+++ b/RealtimeSync/watcher.cpp
@@ -6,13 +6,14 @@
//
#include "watcher.h"
#include "../shared/system_func.h"
-#include <wx/intl.h>
#include "../shared/string_conv.h"
#include "../shared/file_handling.h"
+#include "../shared/i18n.h"
#include <stdexcept>
#include <set>
#include <wx/timer.h>
#include <algorithm>
+#include "../shared/resolve_path.h"
#ifdef FFS_WIN
#include "notify.h"
@@ -94,10 +95,10 @@ public:
{
const int UPDATE_INTERVAL = 1000; //1 second interval
- const wxLongLong newExec = wxGetLocalTimeMillis();
- if (newExec - lastExec >= UPDATE_INTERVAL)
+ const wxLongLong current = wxGetLocalTimeMillis();
+ if (current - lastCheck >= UPDATE_INTERVAL)
{
- lastExec = newExec;
+ lastCheck = current;
allExisting_ = std::find_if(dirList.begin(), dirList.end(), std::not1(std::ptr_fun(&ffs3::dirExists))) == dirList.end();
}
@@ -105,7 +106,7 @@ public:
}
private:
- mutable wxLongLong lastExec;
+ mutable wxLongLong lastCheck;
mutable bool allExisting_;
std::set<Zstring, LessFilename> dirList; //save avail. directories, avoid double-entries
@@ -387,22 +388,35 @@ rts::WaitResult rts::waitForChanges(const std::vector<Zstring>& dirNames, WaitCa
void rts::waitForMissingDirs(const std::vector<Zstring>& dirNames, WaitCallback* statusHandler) //throw(FileError)
{
//new: support for monitoring newly connected directories volumes (e.g.: USB-sticks)
- WatchDirectories dirWatcher;
- for (std::vector<Zstring>::const_iterator i = dirNames.begin(); i != dirNames.end(); ++i)
+ wxLongLong lastCheck;
+
+ while (true)
{
- const Zstring formattedDir = ffs3::getFormattedDirectoryName(*i);
+ const int UPDATE_INTERVAL = 1000; //1 second interval
+ const wxLongLong current = wxGetLocalTimeMillis();
+ if (current - lastCheck >= UPDATE_INTERVAL)
+ {
+ lastCheck = current;
- if (formattedDir.empty())
- throw ffs3::FileError(_("At least one directory input field is empty."));
+ bool allExisting = true;
+ for (std::vector<Zstring>::const_iterator i = dirNames.begin(); i != dirNames.end(); ++i)
+ {
+ //support specifying volume by name => call getFormattedDirectoryName() repeatedly
+ const Zstring formattedDir = ffs3::getFormattedDirectoryName(*i);
- dirWatcher.addForMonitoring(formattedDir);
- }
+ if (formattedDir.empty())
+ throw ffs3::FileError(_("At least one directory input field is empty."));
- while (true)
- {
- if (dirWatcher.allExisting()) //check for newly arrived devices:
- return;
+ if (!ffs3::dirExists(formattedDir))
+ {
+ allExisting = false;
+ break;
+ }
+ }
+ if (allExisting) //check for newly arrived devices:
+ return;
+ }
wxMilliSleep(rts::UI_UPDATE_INTERVAL);
statusHandler->requestUiRefresh();
diff --git a/RealtimeSync/watcher.h b/RealtimeSync/watcher.h
index 7208e7fb..46dfc50e 100644
--- a/RealtimeSync/watcher.h
+++ b/RealtimeSync/watcher.h
@@ -33,7 +33,7 @@ enum WaitResult
CHANGE_DETECTED,
CHANGE_DIR_MISSING
};
-WaitResult waitForChanges(const std::vector<Zstring>& dirNames, WaitCallback* statusHandler); //throw(FileError)
+WaitResult waitForChanges(const std::vector<Zstring>& dirNames444, WaitCallback* statusHandler); //throw(FileError)
//wait until all directories become available (again)
void waitForMissingDirs(const std::vector<Zstring>& dirNames, WaitCallback* statusHandler); //throw(FileError)
diff --git a/RealtimeSync/xml_proc.cpp b/RealtimeSync/xml_proc.cpp
index ca217b44..4d7f88e0 100644
--- a/RealtimeSync/xml_proc.cpp
+++ b/RealtimeSync/xml_proc.cpp
@@ -6,7 +6,7 @@
//
#include "xml_proc.h"
#include <wx/filefn.h>
-#include <wx/intl.h>
+#include "../shared/i18n.h"
class RtsXmlParser : public xmlAccess::XmlParser
bgstack15