summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Wilhelm <daniel@wili.li>2014-04-18 17:32:48 +0200
committerDaniel Wilhelm <daniel@wili.li>2014-04-18 17:32:48 +0200
commit1249b507dd7b3ada7066b129d1a6552a90836084 (patch)
treedbe7be194c5b4ee57bd14198821ac1959b577262
parent6.3 (diff)
downloadFreeFileSync-1249b507dd7b3ada7066b129d1a6552a90836084.tar.gz
FreeFileSync-1249b507dd7b3ada7066b129d1a6552a90836084.tar.bz2
FreeFileSync-1249b507dd7b3ada7066b129d1a6552a90836084.zip
6.4
-rw-r--r--FreeFileSync/Build/Changelog.txt18
-rw-r--r--FreeFileSync/Build/Languages/bulgarian.lng1552
-rw-r--r--FreeFileSync/Build/Languages/finnish.lng6
-rw-r--r--FreeFileSync/Build/Languages/german.lng217
-rw-r--r--FreeFileSync/Build/Languages/lithuanian.lng (renamed from FreeFileSync/Build/Languages/outdated/lithuanian.lng)924
-rw-r--r--FreeFileSync/Build/Languages/slovenian.lng46
-rw-r--r--FreeFileSync/Build/Resources.zipbin268558 -> 269130 bytes
-rw-r--r--FreeFileSync/Source/application.cpp58
-rw-r--r--FreeFileSync/Source/comparison.cpp52
-rw-r--r--FreeFileSync/Source/lib/localization.cpp1
-rw-r--r--FreeFileSync/Source/lib/resolve_path.cpp8
-rw-r--r--FreeFileSync/Source/synchronization.cpp20
-rw-r--r--FreeFileSync/Source/ui/folder_history_box.cpp2
-rw-r--r--FreeFileSync/Source/ui/folder_pair.h67
-rw-r--r--FreeFileSync/Source/ui/gui_generated.cpp6711
-rw-r--r--FreeFileSync/Source/ui/gui_generated.h1457
-rw-r--r--FreeFileSync/Source/ui/main_dlg.cpp213
-rw-r--r--FreeFileSync/Source/ui/main_dlg.h58
-rw-r--r--FreeFileSync/Source/ui/on_completion_box.cpp2
-rw-r--r--FreeFileSync/Source/ui/progress_indicator.cpp67
-rw-r--r--FreeFileSync/Source/ui/small_dlgs.cpp306
-rw-r--r--FreeFileSync/Source/ui/switch_to_gui.h24
-rw-r--r--FreeFileSync/Source/ui/sync_cfg.cpp1098
-rw-r--r--FreeFileSync/Source/ui/sync_cfg.h38
-rw-r--r--FreeFileSync/Source/version/version.h2
-rw-r--r--wx+/file_drop.h8
-rw-r--r--wx+/key_event.h118
-rw-r--r--wx+/popup_dlg_generated.cpp2
-rw-r--r--wx+/popup_dlg_generated.h2
-rw-r--r--zen/file_handling.cpp5
-rw-r--r--zen/string_base.h14
-rw-r--r--zen/thread.h2
-rw-r--r--zen/zstring.cpp4
33 files changed, 7368 insertions, 5734 deletions
diff --git a/FreeFileSync/Build/Changelog.txt b/FreeFileSync/Build/Changelog.txt
index 05561eea..8f8bb14f 100644
--- a/FreeFileSync/Build/Changelog.txt
+++ b/FreeFileSync/Build/Changelog.txt
@@ -1,5 +1,19 @@
-FreeFileSync 6.3
-----------------
+FreeFileSync 6.4 [2014-04-01]
+-----------------------------
+Combined comparison, filter and sync config dialogs
+Support alternate GlobalSettings.xml file via command line
+Toggle between config panels with F6, F7, F8
+Show config status icons in notebook panel caption
+Redesigned configuration dialog layouts
+Fixed startup error after moving installation directory
+Fixed retry on failure to resolve path by volume name
+Resolved ERROR_ALREADY_EXISTS when creating temporary recycle bin subdirectory
+Added "save as gui job" button on main dialog
+Added Bulgarian language
+
+
+FreeFileSync 6.3 [2014-03-01]
+-----------------------------
No wait time anymore while searching for recycle bin (Windows Vista and later)
Revised synchronization progress graph
Clean up "On completion" considering last usage
diff --git a/FreeFileSync/Build/Languages/bulgarian.lng b/FreeFileSync/Build/Languages/bulgarian.lng
new file mode 100644
index 00000000..34ae0a1a
--- /dev/null
+++ b/FreeFileSync/Build/Languages/bulgarian.lng
@@ -0,0 +1,1552 @@
+<header>
+ <language>Български</language>
+ <translator>Л.Н.В.</translator>
+ <locale>bg_BG</locale>
+ <image>flag_bulgaria.png</image>
+ <plural_count>2</plural_count>
+ <plural_definition>n == 1 ? 0 : 1</plural_definition>
+</header>
+
+<source>Synchronization</source>
+<target></target>
+
+<source>Comparison</source>
+<target></target>
+
+<source>Local settings:</source>
+<target></target>
+
+<source>Use local settings:</source>
+<target></target>
+
+<source>Local Synchronization Settings</source>
+<target></target>
+
+<source>Any number of alternative directory pairs for at most one config file.</source>
+<target></target>
+
+<source>Path to an alternate GlobalSettings.xml file.</source>
+<target></target>
+
+<source>config files:</source>
+<target></target>
+
+<source>global config file:</source>
+<target></target>
+
+<source>Both sides have changed since last synchronization.</source>
+<target>Двете страни са променени след последната синхронизация.</target>
+
+<source>Cannot determine sync-direction:</source>
+<target>Не може да се определи посоката на синхронизация:</target>
+
+<source>No change since last synchronization.</source>
+<target>Няма промени след последната синхронизация.</target>
+
+<source>The database entry is not in sync considering current settings.</source>
+<target>Записът в базата данни не е в синхронизация според текущите настройки.</target>
+
+<source>Setting default synchronization directions: Old files will be overwritten with newer files.</source>
+<target>Задава се посока на синхронизация по подразбиране: Старите файлове ще се заменят с по-нови.</target>
+
+<source>Checking recycle bin availability for folder %x...</source>
+<target>Проверява се достъпността на кошчето за папка %x...</target>
+
+<source>Moving file %x to the recycle bin</source>
+<target>Премества се файл %x в кошчето</target>
+
+<source>Moving folder %x to the recycle bin</source>
+<target>Премества се папка %x в кошчето</target>
+
+<source>Moving symbolic link %x to the recycle bin</source>
+<target>Премества се символна препратка %x в кошчето</target>
+
+<source>Deleting file %x</source>
+<target>Изтрива се файл %x</target>
+
+<source>Deleting folder %x</source>
+<target>Изтрива се папка %x</target>
+
+<source>Deleting symbolic link %x</source>
+<target>Изтрива се символна препратка %x</target>
+
+<source>The recycle bin is not available for the following folders. Files will be deleted permanently instead:</source>
+<target>Кошчето е недостъпно за следните папки. Вместо това, файловете ще се изтрият безвъзвратно:</target>
+
+<source>An exception occurred</source>
+<target>Получи се изключение</target>
+
+<source>A directory path is expected after %x.</source>
+<target>Очаква се път до папката след %x.</target>
+
+<source>Syntax error</source>
+<target>Синтактична грешка</target>
+
+<source>Cannot open file %x.</source>
+<target>Не може да се отвори файл %x.</target>
+
+<source>File %x does not contain a valid configuration.</source>
+<target>Файл %x не съдържа валидна конфигурация.</target>
+
+<source>Unequal number of left and right directories specified.</source>
+<target>Зададен е нееднакъв брой папки отляво и отдясно.</target>
+
+<source>The config file must not contain settings at directory pair level when directories are set via command line.</source>
+<target>Конфигурационният файл не може да има настройки на ниво двойки папки, щом папките се задават от команден ред.</target>
+
+<source>Directories cannot be set for more than one configuration file.</source>
+<target>Папки не могат да се задават за повече от един конфигурационен файл.</target>
+
+<source>Command line</source>
+<target>Команден ред</target>
+
+<source>Syntax:</source>
+<target>Синтаксис:</target>
+
+<source>directory</source>
+<target>папка</target>
+
+<source>Any number of FreeFileSync .ffs_gui and/or .ffs_batch configuration files.</source>
+<target>Всякакъв брой FreeFileSync .ffs_gui и/или .ffs_batch конфигурационни файлове.</target>
+
+<source>Cannot find the following folders:</source>
+<target>Не са намерени следните папки:</target>
+
+<source>You can ignore this error to consider each folder as empty. The folders then will be created automatically during synchronization.</source>
+<target>Може да игнорирате тази грешка, считайки всяка папка празна. Папките ще бъдат създадени автоматично по време на синхронизацията.</target>
+
+<source>A folder input field is empty.</source>
+<target>Полето за въведена папка е празно.</target>
+
+<source>The corresponding folder will be considered as empty.</source>
+<target>Съответстващата папка ще се счита празна.</target>
+
+<source>The following folders have dependent paths. Be careful when setting up synchronization rules:</source>
+<target>Следните папки имат зависими пътеки. Внимавайте при настройка на правилата за синхронизация:</target>
+
+<source>File %x has an invalid date.</source>
+<target>Файл %x има невалидна дата.</target>
+
+<source>Date:</source>
+<target>Дата:</target>
+
+<source>Files %x have the same date but a different size.</source>
+<target>Файлове %x имат еднаква дата, но различни размери.</target>
+
+<source>Size:</source>
+<target>Размер:</target>
+
+<source>Content comparison was skipped for excluded files %x.</source>
+<target>Прескочено е сравняване на съдържанието на изключения файл %x.</target>
+
+<source>Items differ in attributes only</source>
+<target>Елементите са различни само по атрибути</target>
+
+<source>Resolving symbolic link %x</source>
+<target>Проследява се символна препратка %x</target>
+
+<source>Comparing content of files %x</source>
+<target>Сравнява се съдържанието на файлове %x</target>
+
+<source>Generating file list...</source>
+<target>Създава се файлов списък...</target>
+
+<source>Starting comparison</source>
+<target>Започва сравняване</target>
+
+<source>Calculating sync directions...</source>
+<target>Оценяват се посоките на синхронизация...</target>
+
+<source>Out of memory.</source>
+<target>Недостатъчна памет.</target>
+
+<source>Item exists on left side only</source>
+<target>Елементът съществува само отляво</target>
+
+<source>Item exists on right side only</source>
+<target>Елементът съществува само отдясно</target>
+
+<source>Left side is newer</source>
+<target>Отляво е по-нов</target>
+
+<source>Right side is newer</source>
+<target>Отдясно е по-нов</target>
+
+<source>Items have different content</source>
+<target>Елементите имат различно съдержание</target>
+
+<source>Both sides are equal</source>
+<target>Двете страни са еднакви</target>
+
+<source>Conflict/item cannot be categorized</source>
+<target>Конфликт/елементът не може да се категоризира</target>
+
+<source>Copy new item to left</source>
+<target>Копирай новия елемент наляво</target>
+
+<source>Copy new item to right</source>
+<target>Копирай новия елемент надясно</target>
+
+<source>Delete left item</source>
+<target>Изтрий елемента отляво</target>
+
+<source>Delete right item</source>
+<target>Изтрий елемента отдясно</target>
+
+<source>Move file on left</source>
+<target>Премести файла вляво</target>
+
+<source>Move file on right</source>
+<target>Премести файла вдясно</target>
+
+<source>Overwrite left item</source>
+<target>Презапиши елемента отляво</target>
+
+<source>Overwrite right item</source>
+<target>Презапиши елемента отдясно</target>
+
+<source>Do nothing</source>
+<target>Не прави нищо</target>
+
+<source>Update attributes on left</source>
+<target>Обнови атрибутите отляво</target>
+
+<source>Update attributes on right</source>
+<target>Обнови атрибутите отдясно</target>
+
+<source>Database file %x is incompatible.</source>
+<target>Базата данни файл %x е несъвместим.</target>
+
+<source>Initial synchronization:</source>
+<target>Начална синхронизация:</target>
+
+<source>Database file %x does not yet exist.</source>
+<target>Базата данни файл %x още не съществува.</target>
+
+<source>Database file is corrupt:</source>
+<target>Файла на базата данни е повреден:</target>
+
+<source>Cannot write file %x.</source>
+<target>Не може да се запише файл %x.</target>
+
+<source>Cannot read file %x.</source>
+<target>Не може да се прочете файл %x.</target>
+
+<source>Database files do not share a common session.</source>
+<target>Файловете на базата данни не споделят обща сесия.</target>
+
+<source>Searching for folder %x...</source>
+<target>Търсене на папка %x...</target>
+
+<source>Cannot read file attributes of %x.</source>
+<target>Не могат да се прочетат атрибутите на файл %x.</target>
+
+<source>Cannot get process information.</source>
+<target>Не може да се получи информация за процеса.</target>
+
+<source>Waiting while directory is locked:</source>
+<target>Изчаква се докато е заключена папка:</target>
+
+<source>Lock owner:</source>
+<target>Притежател на заключването:</target>
+
+<source>
+<pluralform>1 sec</pluralform>
+<pluralform>%x sec</pluralform>
+</source>
+<target>
+<pluralform>%x сек.</pluralform>
+<pluralform>%x сек.</pluralform>
+</target>
+
+<source>Detecting abandoned lock...</source>
+<target>Откриване на изоставено заключване...</target>
+
+<source>Creating file %x</source>
+<target>Създава се файл %x</target>
+
+<source>Items processed:</source>
+<target>Обработени елементи:</target>
+
+<source>Items remaining:</source>
+<target>Оставащи елементи:</target>
+
+<source>Total time:</source>
+<target>Общо време:</target>
+
+<source>
+<pluralform>1 byte</pluralform>
+<pluralform>%x bytes</pluralform>
+</source>
+<target>
+<pluralform>%x байт</pluralform>
+<pluralform>%x байта</pluralform>
+</target>
+
+<source>%x MB</source>
+<target>%x МБ</target>
+
+<source>%x KB</source>
+<target>%x КБ</target>
+
+<source>%x GB</source>
+<target>%x ГБ</target>
+
+<source>Error parsing file %x, row %y, column %z.</source>
+<target>Грешка при анализ на файл %x, ред %y, колона %z.</target>
+
+<source>Cannot set directory lock for %x.</source>
+<target>Не може да се заключи папката за %x.</target>
+
+<source>Scanning:</source>
+<target>Сканиране:</target>
+
+<source>
+<pluralform>1 thread</pluralform>
+<pluralform>%x threads</pluralform>
+</source>
+<target>
+<pluralform>%x нишка</pluralform>
+<pluralform>%x нишки</pluralform>
+</target>
+
+<source>Encoding extended time information: %x</source>
+<target>Кодиране на разширената информация за време: %x</target>
+
+<source>/sec</source>
+<target>/сек.</target>
+
+<source>%x items/sec</source>
+<target>%x елем./сек.</target>
+
+<source>Show in Explorer</source>
+<target>Покажи в Експлорера</target>
+
+<source>Open with default application</source>
+<target>Отвори с подразбираното приложение</target>
+
+<source>Browse directory</source>
+<target>Прегледай папката</target>
+
+<source>Cannot access the Volume Shadow Copy Service.</source>
+<target>Не се получава достъп до услуга Фоново Копие на Тома.</target>
+
+<source>Please use FreeFileSync 64-bit version to create shadow copies on this system.</source>
+<target>Моля, ползвайте 64-бит. FreeFileSync за създаване фонови копия на тази система.</target>
+
+<source>Cannot load file %x.</source>
+<target>Не може да се зареди файл %x.</target>
+
+<source>Cannot determine volume name for %x.</source>
+<target>Не може да се определи името на тома за %x.</target>
+
+<source>Volume name %x is not part of file path %y.</source>
+<target>Името на том %x не е част от името на файл %y.</target>
+
+<source>Stop requested: Waiting for current operation to finish...</source>
+<target>Заявка за стоп: Изчаква се завършване на текущата операция...</target>
+
+<source>Unable to create time stamp for versioning:</source>
+<target>Не може да се отбележи времето за версификация:</target>
+
+<source>&Open...</source>
+<target>&Отваряне...</target>
+
+<source>Save &as...</source>
+<target>Запази &като...</target>
+
+<source>&Quit</source>
+<target>&Край</target>
+
+<source>&Program</source>
+<target>&Програма</target>
+
+<source>&View help</source>
+<target>&Вижте Помощ</target>
+
+<source>&About</source>
+<target>&Относно</target>
+
+<source>&Help</source>
+<target>&Помощ</target>
+
+<source>Usage:</source>
+<target>Употреба:</target>
+
+<source>1. Select folders to watch.</source>
+<target>1. Изберете папки за следене.</target>
+
+<source>2. Enter a command line.</source>
+<target>2. Въведете команден ред.</target>
+
+<source>3. Press 'Start'.</source>
+<target>3. Натиснете 'Старт'.</target>
+
+<source>To get started just import a .ffs_batch file.</source>
+<target>За стартиране просто импортирайте файл .ffs_batch.</target>
+
+<source>Folders to watch:</source>
+<target>Папки за следене:</target>
+
+<source>Add folder</source>
+<target>Добавете папка</target>
+
+<source>Remove folder</source>
+<target>Махнете папка</target>
+
+<source>Browse</source>
+<target>Преглеждане</target>
+
+<source>Select a folder</source>
+<target>Изберете папка</target>
+
+<source>Idle time (in seconds):</source>
+<target>Време на изчакване (сек.):</target>
+
+<source>Idle time between last detected change and execution of command</source>
+<target>Време на изчакване от последнaта открита промяна до изпълнение на командата</target>
+
+<source>Command line:</source>
+<target>Команден ред:</target>
+
+<source>
+The command is triggered if:
+- files or subfolders change
+- new folders arrive (e.g. USB stick insert)
+</source>
+<target>
+Командата се пуска, ако:
+- се променят файлове или подпапки,
+- се появят нови папки (напр., вкарана флашка).
+</target>
+
+<source>&Start</source>
+<target>&Старт</target>
+
+<source>About</source>
+<target>Относно</target>
+
+<source>Build: %x</source>
+<target>Вариант: %x</target>
+
+<source>All files</source>
+<target>Всички файлове</target>
+
+<source>Automated Synchronization</source>
+<target>Автоматична синхронизация</target>
+
+<source>Directory monitoring active</source>
+<target>Активирано е следене на папките</target>
+
+<source>Waiting until all directories are available...</source>
+<target>Изчаква се да станат достъпни всички папки...</target>
+
+<source>Error</source>
+<target>Грешка</target>
+
+<source>&Restore</source>
+<target>&Възстановяване</target>
+
+<source>&Show error</source>
+<target>&Покажи грешката</target>
+
+<source>&Exit</source>
+<target>&Изход</target>
+
+<source>Incorrect command line:</source>
+<target>Неверен команден ред:</target>
+
+<source>&Retry</source>
+<target>&Повтори</target>
+
+<source>File content</source>
+<target>Съдържание на файла</target>
+
+<source>File time and size</source>
+<target>Дата и размер на файла</target>
+
+<source>Two way</source>
+<target>Двупосочно</target>
+
+<source>Mirror</source>
+<target>Огледално</target>
+
+<source>Update</source>
+<target>Обновяване</target>
+
+<source>Custom</source>
+<target>По избор</target>
+
+<source>Multiple...</source>
+<target>Разни синхронизации</target>
+
+<source>Moving file %x to %y</source>
+<target>Преместване на файла %x в %y</target>
+
+<source>Moving folder %x to %y</source>
+<target>Преместване на папка %x в %y</target>
+
+<source>Moving symbolic link %x to %y</source>
+<target>Преместване на символна препратка %x в %y</target>
+
+<source>Removing old versions...</source>
+<target>Премахване на стари версии...</target>
+
+<source>Creating symbolic link %x</source>
+<target>Създаване на символна препратка %x</target>
+
+<source>Creating folder %x</source>
+<target>Създаване на папка %x</target>
+
+<source>Overwriting file %x</source>
+<target>Презапис на файл %x</target>
+
+<source>Overwriting symbolic link %x</source>
+<target>Презапис на символна препратка %x</target>
+
+<source>Verifying file %x</source>
+<target>Верификация на файл %x</target>
+
+<source>Updating attributes of %x</source>
+<target>Обновяване на атрибутите на %x</target>
+
+<source>Creating a Volume Shadow Copy for %x...</source>
+<target>Създаване на Фоново Копие на Тома за %x...</target>
+
+<source>Data verification error: %x and %y have different content.</source>
+<target>Грешка от верификация на данните: %x и %y имат различно съдържание!</target>
+
+<source>Cannot find %x.</source>
+<target>Не може да се намери %x.</target>
+
+<source>Target folder %x already existing.</source>
+<target>Целевата папка %x вече съществува.</target>
+
+<source>Target folder input field must not be empty.</source>
+<target>Полето за въвеждане на целева папка не бива да е празно.</target>
+
+<source>Please enter a target folder for versioning.</source>
+<target>Моля, въведете целева папка за версифициране.</target>
+
+<source>Source folder %x not found.</source>
+<target>Изходната папка %x не е намерена.</target>
+
+<source>The following items have unresolved conflicts and will not be synchronized:</source>
+<target>Следните елементи имат нерешени конфликти и няма да бъдат синхронизирани:</target>
+
+<source>The following folders are significantly different. Make sure you are matching the correct folders for synchronization.</source>
+<target>Следните папки се различават съществено. Убедете се, че сте задали съответстващи си папки за синхронизация.</target>
+
+<source>Not enough free disk space available in:</source>
+<target>Недостатъчно свободного дисково пространство в:</target>
+
+<source>Required:</source>
+<target>Поискано:</target>
+
+<source>Available:</source>
+<target>Налично:</target>
+
+<source>A folder will be modified which is part of multiple folder pairs. Please review synchronization settings.</source>
+<target>Ще бъде променена папка, част от няколко двойки папки. Моля, проверете настройките за синхронизация.</target>
+
+<source>Synchronizing folder pair:</source>
+<target>Синхронизация на двойка папки:</target>
+
+<source>Generating database...</source>
+<target>Създаване на база данни...</target>
+
+<source>job name</source>
+<target>име на задачата</target>
+
+<source>Synchronization stopped</source>
+<target>Синхронизацията е спряна</target>
+
+<source>Synchronization completed with errors</source>
+<target>Синхронизацията е завършила с грешки</target>
+
+<source>Synchronization completed with warnings</source>
+<target>Синхронизацията е завършила с предупреждения</target>
+
+<source>Nothing to synchronize</source>
+<target>Няма нищо за синхронизиране</target>
+
+<source>Synchronization completed successfully</source>
+<target>Синхронизацията е завършила успешно</target>
+
+<source>Saving log file %x...</source>
+<target>Запазване на log-файла %x...</target>
+
+<source>Stopped</source>
+<target>Стопирано</target>
+
+<source>You can switch to FreeFileSync's main window to resolve this issue.</source>
+<target>Може да превключите към главното меню на FreeFileSync за решаване на този проблем.</target>
+
+<source>&Don't show this warning again</source>
+<target>&Повече не показвай това предупреждение</target>
+
+<source>&Ignore</source>
+<target>&Игнорирай</target>
+
+<source>&Switch</source>
+<target>&Превключи</target>
+
+<source>Switching to FreeFileSync's main window</source>
+<target>Превключване към главното меню на FreeFileSync</target>
+
+<source>
+<pluralform>Automatic retry in 1 second...</pluralform>
+<pluralform>Automatic retry in %x seconds...</pluralform>
+</source>
+<target>
+<pluralform>Автоматично повтаряне след %x сек...</pluralform>
+<pluralform>Автоматично повтаряне след %x сек...</pluralform>
+</target>
+
+<source>&Ignore subsequent errors</source>
+<target>&Игнорирай последвалите грешки</target>
+
+<source>Retrying operation...</source>
+<target>Повтаряне на операцията...</target>
+
+<source>Serious Error</source>
+<target>Сериозна грешка</target>
+
+<source>Check for Program Updates</source>
+<target>Провери за обновяване на програмата</target>
+
+<source>A new version of FreeFileSync is available:</source>
+<target>Има нова версия на FreeFileSync:</target>
+
+<source>Download now?</source>
+<target>Свали веднага?</target>
+
+<source>&Download</source>
+<target>&Сваляне</target>
+
+<source>FreeFileSync is up to date.</source>
+<target>FreeFileSync вече е обновена.</target>
+
+<source>Unable to connect to sourceforge.net.</source>
+<target>Няма връзка със sourceforge.net.</target>
+
+<source>Cannot find current FreeFileSync version number online. Do you want to check manually?</source>
+<target>Номера на текущата версия на FreeFileSync не е открит онлайн. Искате ли да проверите ръчно?</target>
+
+<source>&Check</source>
+<target>&Провери</target>
+
+<source>Symlink</source>
+<target>Символна препратка</target>
+
+<source>Folder</source>
+<target>Папка</target>
+
+<source>Full path</source>
+<target>Пълна пътека</target>
+
+<source>Name</source>
+<target>Име</target>
+
+<source>Relative path</source>
+<target>Относителна пътека</target>
+
+<source>Base folder</source>
+<target>Основна папка</target>
+
+<source>Size</source>
+<target>Размер</target>
+
+<source>Date</source>
+<target>Дата</target>
+
+<source>Extension</source>
+<target>Разширение</target>
+
+<source>Category</source>
+<target>Категория</target>
+
+<source>Action</source>
+<target>Действие</target>
+
+<source>Drag && drop</source>
+<target>Влачи && Пусни</target>
+
+<source>Alternate comparison settings</source>
+<target>Алтернативни настройки за сравняване</target>
+
+<source>Alternate synchronization settings</source>
+<target>Алтернативни настройки за синхронизация</target>
+
+<source>Local filter</source>
+<target>Локален филтър</target>
+
+<source>Active</source>
+<target>Активен</target>
+
+<source>None</source>
+<target>Няма</target>
+
+<source>Remove alternate settings</source>
+<target>Премахни алтернативните настройки</target>
+
+<source>Clear filter settings</source>
+<target>Изчисти настройките на филтъра</target>
+
+<source>Copy</source>
+<target>Копирай</target>
+
+<source>Paste</source>
+<target>Вмъкни</target>
+
+<source>&New</source>
+<target>&Нов</target>
+
+<source>&Save</source>
+<target>&Запази</target>
+
+<source>Save as &batch job...</source>
+<target>Запази като &пакетна задача</target>
+
+<source>1. &Compare</source>
+<target>1. С&равни</target>
+
+<source>2. &Synchronize</source>
+<target>2. С&инхронизирай</target>
+
+<source>&Global settings</source>
+<target>&Глобални настройки</target>
+
+<source>&Language</source>
+<target>&Език</target>
+
+<source>&Find...</source>
+<target>&Намери...</target>
+
+<source>&Export file list...</source>
+<target>&Експортирай файловия списък...</target>
+
+<source>&Tools</source>
+<target>&Инструменти</target>
+
+<source>&Check now</source>
+<target>&Провери сега</target>
+
+<source>Check &automatically once a week</source>
+<target>Проверявай &автоматично веднъж на седмица</target>
+
+<source>&Check for new version</source>
+<target>&Провери за нови версии</target>
+
+<source>Compare</source>
+<target>Сравни</target>
+
+<source>Cancel</source>
+<target>Отмени</target>
+
+<source>Synchronize</source>
+<target>Синхронизирай</target>
+
+<source>Add folder pair</source>
+<target>Добави двойка папки</target>
+
+<source>Remove folder pair</source>
+<target>Премахни двойка папки</target>
+
+<source>Swap sides</source>
+<target>Размени страните</target>
+
+<source>Close search bar</source>
+<target>Затвори полето за търсене</target>
+
+<source>Find:</source>
+<target>Намери:</target>
+
+<source>Match case</source>
+<target>Спазвай регистъра</target>
+
+<source>Save as batch job</source>
+<target>Запази като пакетна задача</target>
+
+<source>View type:</source>
+<target>Тип на изгледа:</target>
+
+<source>Select view:</source>
+<target>Задай изгледа:</target>
+
+<source>Statistics:</source>
+<target>Статистика:</target>
+
+<source>Number of files and folders that will be created</source>
+<target>Брой файлове и папки, които ще бъдат създадени</target>
+
+<source>Number of files that will be overwritten</source>
+<target>Брой файлове, които ще бъдат презаписани</target>
+
+<source>Number of files and folders that will be deleted</source>
+<target>Брой файлове и папки, които ще бъдат изтрити</target>
+
+<source>Total bytes to copy</source>
+<target>Общо байтове за копиране</target>
+
+<source>Select a variant:</source>
+<target>Избор на вариант:</target>
+
+<source>Identify equal files by comparing modification time and size.</source>
+<target>Определяне на еднаквите файлове, сравнявайки времето на промяна и размера.</target>
+
+<source>Identify equal files by comparing the file content.</source>
+<target>Определяне на еднаквите файлове, сравнявайки файловото съдържание.</target>
+
+<source>Symbolic links:</source>
+<target>Символни препратки:</target>
+
+<source>More information</source>
+<target>Повече информация</target>
+
+<source>Include:</source>
+<target>Включи:</target>
+
+<source>Exclude:</source>
+<target>Изключи:</target>
+
+<source>Show examples</source>
+<target>Покажи примери</target>
+
+<source>Time span:</source>
+<target>Времеви интервал:</target>
+
+<source>File size:</source>
+<target>Файлов размер:</target>
+
+<source>Minimum:</source>
+<target>Минимум:</target>
+
+<source>Maximum:</source>
+<target>Максимум:</target>
+
+<source>&Reset</source>
+<target>&Ресетиране</target>
+
+<source>Select filter rules to exclude certain files from synchronization. Enter file paths relative to their corresponding folder pair.</source>
+<target>Правила на филтъра за изключване на дадени файлове от синхронизация. Въведете относителни пътеки на файловете към съответните им двойки папки.</target>
+
+<source>Detect moved files</source>
+<target>Откривай преместени файлове</target>
+
+<source>
+- Requires and creates database files
+- Detection active after initial sync
+- Not supported by all file systems
+</source>
+<target>
+- Изисква и създава файлове на базата данни
+- Откриването е активно след началната синхронизация
+- Не се поддържа от всички файлови системи
+</target>
+
+<source>Detect synchronization directions with the help of database files</source>
+<target>Откривай посоката на синхронизация чрез файлове на базата данни</target>
+
+<source>Delete files:</source>
+<target>Изтриване на файлове:</target>
+
+<source>Permanent</source>
+<target>Безвъзвратно</target>
+
+<source>Delete or overwrite files permanently</source>
+<target>Безвъзвратно изтриване или презапис на файлове</target>
+
+<source>Recycle bin</source>
+<target>Преместване в кошчето</target>
+
+<source>Back up deleted and overwritten files in the recycle bin</source>
+<target>Резервно копие на изтрити или презаписани файлове в кошчето</target>
+
+<source>Versioning</source>
+<target>Версифициране</target>
+
+<source>Move files to a user-defined folder</source>
+<target>Преместване на файлове в потребителска папка</target>
+
+<source>Naming convention:</source>
+<target>Условия за преименуване:</target>
+
+<source>Handle errors:</source>
+<target>Обработка на грешките:</target>
+
+<source>Ignore</source>
+<target>Игнорирай</target>
+
+<source>Hide all error and warning messages</source>
+<target>Скрий всички грешки и предупреждения</target>
+
+<source>Pop-up</source>
+<target>Изскачащи прозорци</target>
+
+<source>Show pop-up on errors or warnings</source>
+<target>Показвай изскачащи прозорци при грешки и предупреждения</target>
+
+<source>On completion:</source>
+<target>При завършване:</target>
+
+<source>OK</source>
+<target>ОК</target>
+
+<source>Start synchronization now?</source>
+<target>Започни синхронизация сега?</target>
+
+<source>Variant:</source>
+<target>Вариант:</target>
+
+<source>&Don't show this dialog again</source>
+<target>&Не показвай повече този прозорец</target>
+
+<source>Items found:</source>
+<target>Намерени елементи:</target>
+
+<source>Speed:</source>
+<target>Скорост:</target>
+
+<source>Time remaining:</source>
+<target>Оставащо време:</target>
+
+<source>Time elapsed:</source>
+<target>Изминало време:</target>
+
+<source>Synchronizing...</source>
+<target>Синхронизация...</target>
+
+<source>Minimize to notification area</source>
+<target>Минимизирай в известяващото поле</target>
+
+<source>Close</source>
+<target>Затвори</target>
+
+<source>&Pause</source>
+<target>&Пауза</target>
+
+<source>Stop</source>
+<target>Спри</target>
+
+<source>Create a batch file for unattended synchronization. To start, double-click this file or schedule in a task planner: %x</source>
+<target>Създай пакетен файл за автоматична синхронизация. За старт щракнете двукратно върху този файл или задайте планова задача: %x</target>
+
+<source>Stop synchronization at first error</source>
+<target>Спиране на синхронизацията при първа грешка</target>
+
+<source>Run minimized</source>
+<target>Изпълнение в минимизиран вид</target>
+
+<source>Save log:</source>
+<target>Запазване на log-файл:</target>
+
+<source>Limit:</source>
+<target>Ограничение:</target>
+
+<source>Limit maximum number of log files</source>
+<target>Ограничи максималния брой log-файлове</target>
+
+<source>How can I schedule a batch job?</source>
+<target>Как мога да планирам пакетна задача?</target>
+
+<source>&Recycle bin</source>
+<target>В "&Кошче"</target>
+
+<source>The following settings are used for all synchronization jobs.</source>
+<target>Следните настройки се ползват от всички задачи за синхронизация.</target>
+
+<source>Fail-safe file copy</source>
+<target>Безотказно копиране на файла</target>
+
+<source>
+Copy to a temporary file (*.ffs_tmp) before overwriting target.
+This guarantees a consistent state even in case of a serious error.
+</source>
+<target>
+Копиране във временен файл (*.ffs_tmp) преди презапис на целевия файл.
+Това гарантира цялостност на файла дори в случай на сериозна грешка.
+</target>
+
+<source>(recommended)</source>
+<target>(препоръчително)</target>
+
+<source>Copy locked files</source>
+<target>Копирай заключени файлове</target>
+
+<source>Copy shared or locked files using the Volume Shadow Copy Service.</source>
+<target>Копирай споделени или заключени файлове с услугата Фоново Копиране на Тома</target>
+
+<source>(requires administrator rights)</source>
+<target>(изисква администраторски права)</target>
+
+<source>Copy file access permissions</source>
+<target>Копирай правата за достъп на файла</target>
+
+<source>Transfer file and folder permissions.</source>
+<target>Пренеси правата за достъп на файла и папката.</target>
+
+<source>Automatic retry on error:</source>
+<target>Автоматично повтори при грешка:</target>
+
+<source>Retry count:</source>
+<target>Брой повторения:</target>
+
+<source>Delay (in seconds):</source>
+<target>Задръжка (сек.):</target>
+
+<source>Customize context menu:</source>
+<target>Нагласяне на контекстното меню:</target>
+
+<source>Description</source>
+<target>Описание</target>
+
+<source>Restore hidden windows</source>
+<target>Възстанови скритите прозорци</target>
+
+<source>&Default</source>
+<target>&По подразбиране</target>
+
+<source>Source code written in C++ using:</source>
+<target>Изходния код е написан на C++ използвайки:</target>
+
+<source>If you like FreeFileSync</source>
+<target>Ако харесвате FreeFileSync</target>
+
+<source>Donate with PayPal</source>
+<target>Дарете чрез PayPal</target>
+
+<source>Feedback and suggestions are welcome</source>
+<target>Забележки и предложения са добре дошли</target>
+
+<source>Homepage</source>
+<target>Сайт</target>
+
+<source>Email</source>
+<target>Email</target>
+
+<source>Published under the GNU General Public License</source>
+<target>Публикува се по лиценз GNU General Public License</target>
+
+<source>Many thanks for localization:</source>
+<target>Много благодарности за локализацията:</target>
+
+<source>Save as Batch Job</source>
+<target>Запази като пакетна задача</target>
+
+<source>Delete Items</source>
+<target>Изтрий елементите</target>
+
+<source>Global Settings</source>
+<target>Глобални настройки</target>
+
+<source>Select Time Span</source>
+<target>Избор на времеви интервал</target>
+
+<source>Folder Pairs</source>
+<target>Двойки папки</target>
+
+<source>Find</source>
+<target>Намери</target>
+
+<source>View Settings</source>
+<target>Настройки на изгледа</target>
+
+<source>Overview</source>
+<target>Обзор</target>
+
+<source>Configuration</source>
+<target>Конфигурация</target>
+
+<source>Main Bar</source>
+<target>Главен панел</target>
+
+<source>Open...</source>
+<target>Отвори...</target>
+
+<source>Save</source>
+<target>Запази</target>
+
+<source>Compare both sides</source>
+<target>Сравни двете страни</target>
+
+<source>Comparison settings</source>
+<target>Настройки на сравняването</target>
+
+<source>Synchronization settings</source>
+<target>Настройки на синхронизацията</target>
+
+<source>Start synchronization</source>
+<target>Почни синхронизация</target>
+
+<source>Confirm</source>
+<target>Потвърждение</target>
+
+<source>
+<pluralform>Do you really want to execute the command %y for one item?</pluralform>
+<pluralform>Do you really want to execute the command %y for %x items?</pluralform>
+</source>
+<target>
+<pluralform>Наистина ли искате да изпълните команда %y за един елемент?</pluralform>
+<pluralform>Наистина ли искате да изпълните команда %y за %x елемента?</pluralform>
+</target>
+
+<source>&Execute</source>
+<target>&Изпълни</target>
+
+<source>
+<pluralform>1 directory</pluralform>
+<pluralform>%x directories</pluralform>
+</source>
+<target>
+<pluralform>%x папка</pluralform>
+<pluralform>%x папки</pluralform>
+</target>
+
+<source>
+<pluralform>1 file</pluralform>
+<pluralform>%x files</pluralform>
+</source>
+<target>
+<pluralform>1 файл</pluralform>
+<pluralform>%x файла</pluralform>
+</target>
+
+<source>
+<pluralform>Showing %y of 1 row</pluralform>
+<pluralform>Showing %y of %x rows</pluralform>
+</source>
+<target>
+<pluralform>Показва %y от 1 ред</pluralform>
+<pluralform>Показва %y от %x реда</pluralform>
+</target>
+
+<source>Set direction:</source>
+<target>Избор на посока:</target>
+
+<source>multiple selection</source>
+<target>групово маркиране</target>
+
+<source>Include via filter:</source>
+<target>Включи чрез филтъра:</target>
+
+<source>Exclude via filter:</source>
+<target>Изключи чрез филтъра:</target>
+
+<source>Include temporarily</source>
+<target>Временно включи</target>
+
+<source>Exclude temporarily</source>
+<target>Временно изключи</target>
+
+<source>Delete</source>
+<target>Изтрий</target>
+
+<source>Include all</source>
+<target>Включи всички</target>
+
+<source>Exclude all</source>
+<target>Изключи всички</target>
+
+<source>Show icons:</source>
+<target>Покажи иконите:</target>
+
+<source>Small</source>
+<target>Малки</target>
+
+<source>Medium</source>
+<target>Средни</target>
+
+<source>Large</source>
+<target>Големи</target>
+
+<source>Select time span...</source>
+<target>Избор на времеви интервал...</target>
+
+<source>Default view</source>
+<target>Подразбиран изглед</target>
+
+<source>Show "%x"</source>
+<target>Покажи "%x"</target>
+
+<source>Last session</source>
+<target>Последна сесия</target>
+
+<source>Folder Comparison and Synchronization</source>
+<target>Сравнение и синхронизация на папки</target>
+
+<source>Configuration saved</source>
+<target>Конфигурацията е запазена</target>
+
+<source>FreeFileSync batch</source>
+<target>Пакетна задача на FreeFileSync</target>
+
+<source>Do you want to save changes to %x?</source>
+<target>Искате ли да запазите промените на %x?</target>
+
+<source>Never save &changes</source>
+<target>Никога не запазвай &промените</target>
+
+<source>Do&n't save</source>
+<target>&Не запазвай</target>
+
+<source>Delete selected configurations</source>
+<target>Изтрий маркираните конфигурации</target>
+
+<source>Synchronization Settings</source>
+<target>Настройки на синхронизацията</target>
+
+<source>Show files that exist on left side only</source>
+<target>Покажи файловете, съществуващи само отляво</target>
+
+<source>Show files that exist on right side only</source>
+<target>Покажи файловете, съществуващи само отдясно</target>
+
+<source>Show files that are newer on left</source>
+<target>Покажи файловете, които са по-нови отляво</target>
+
+<source>Show files that are newer on right</source>
+<target>Покажи файловете, които са по-нови отдясно</target>
+
+<source>Show files that are equal</source>
+<target>Покажи еднаквите файлове</target>
+
+<source>Show files that are different</source>
+<target>Покажи различаващите се файлове</target>
+
+<source>Show conflicts</source>
+<target>Покажи конфликтните файлове</target>
+
+<source>Show files that will be created on the left side</source>
+<target>Покажи файловете, които ще бъдат създадени отляво</target>
+
+<source>Show files that will be created on the right side</source>
+<target>Покажи файловете, които ще бъдат създадени отдясно</target>
+
+<source>Show files that will be deleted on the left side</source>
+<target>Покажи файловете, които ще бъдат изтрити отляво</target>
+
+<source>Show files that will be deleted on the right side</source>
+<target>Покажи файловете, които ще бъдат изтрити отдясно</target>
+
+<source>Show files that will be overwritten on left side</source>
+<target>Покажи файловете, които ще бъдат презаписани отляво</target>
+
+<source>Show files that will be overwritten on right side</source>
+<target>Покажи файловете, които ще бъдат презаписани отдясно</target>
+
+<source>Show files that won't be copied</source>
+<target>Покажи файловете, които няма да бъдат копирани</target>
+
+<source>Show filtered or temporarily excluded files</source>
+<target>Покажи филтрираните или временно изключените файлове</target>
+
+<source>Set as default</source>
+<target>Зададено по подразбиране</target>
+
+<source>Filter</source>
+<target>Филтър</target>
+
+<source>All files are in sync</source>
+<target>Всички файлове са синхронизирани</target>
+
+<source>Cannot find %x</source>
+<target>Не може да се намери %x</target>
+
+<source>Comma-separated values</source>
+<target>Стойности, отделени със запетаи</target>
+
+<source>File list exported</source>
+<target>Файловия списък е експортиран</target>
+
+<source>Searching for program updates...</source>
+<target>Търсене на обновления на програмата...</target>
+
+<source>Close progress dialog</source>
+<target>Затвори прозореца на процеса</target>
+
+<source>Standby</source>
+<target>Очакване</target>
+
+<source>Log off</source>
+<target>Изход от системата</target>
+
+<source>Shut down</source>
+<target>Изключване на компютъра</target>
+
+<source>Hibernate</source>
+<target>Хибернация</target>
+
+<source>Scanning...</source>
+<target>Сканиране...</target>
+
+<source>Comparing content...</source>
+<target>Сравняване на съдържанието...</target>
+
+<source>Info</source>
+<target>Информация</target>
+
+<source>Warning</source>
+<target>Внимание</target>
+
+<source>Select all</source>
+<target>Маркирай всичко</target>
+
+<source>Paused</source>
+<target>Пауза</target>
+
+<source>Initializing...</source>
+<target>Инициализация...</target>
+
+<source>Completed</source>
+<target>Завършено</target>
+
+<source>&Continue</source>
+<target>&Продължи</target>
+
+<source>Progress</source>
+<target>Прогрес</target>
+
+<source>Log</source>
+<target>Дневник</target>
+
+<source>
+<pluralform>Do you really want to move the following item to the recycle bin?</pluralform>
+<pluralform>Do you really want to move the following %x items to the recycle bin?</pluralform>
+</source>
+<target>
+<pluralform>Наистина ли искате да преместите следния елемент в кошчето?</pluralform>
+<pluralform>Наистина ли искате да преместите следните %x елемента в кошчето?</pluralform>
+</target>
+
+<source>Move</source>
+<target>Премести</target>
+
+<source>
+<pluralform>Do you really want to delete the following item?</pluralform>
+<pluralform>Do you really want to delete the following %x items?</pluralform>
+</source>
+<target>
+<pluralform>Наистина ли искате да изтриете следния елемент?</pluralform>
+<pluralform>Наистина ли искате да изтриете следните %x елемента?</pluralform>
+</target>
+
+<source>Copy NTFS permissions</source>
+<target>Копирай NTFS-правата за достъп</target>
+
+<source>Integrate external applications into context menu. The following macros are available:</source>
+<target>Интегриране на външни приложения в контекстното меню. Налични са следните макроси:</target>
+
+<source>- full file or folder name</source>
+<target>- пълно име на файла или папката</target>
+
+<source>- folder part only</source>
+<target>- само пътеката на папката</target>
+
+<source>- Other side's counterpart to %item_path%</source>
+<target>- Аналога на %item_path% от другата страна</target>
+
+<source>- Other side's counterpart to %item_folder%</source>
+<target>- Аналога на %item_folder% от другата страна</target>
+
+<source>Restore all hidden windows and warnings?</source>
+<target>Възстановяване на всички скрити прозорци и предупреждения?</target>
+
+<source>Identify and propagate changes on both sides. Deletions, moves and conflicts are detected automatically using a database.</source>
+<target>Определи и разпространи промените към двете страни. Изтривания, премествания и конфликти се откриват автоматично чрез база данни.</target>
+
+<source>Create a mirror backup of the left folder by adapting the right folder to match.</source>
+<target>Създай огледално копие на лявата папка, привеждайки дясната папка в пълно съответствие.</target>
+
+<source>Copy new and updated files to the right folder.</source>
+<target>Копирай новите или обновени файлове към дясната папка.</target>
+
+<source>Configure your own synchronization rules.</source>
+<target>Задаване на собствени правила за синхронизация.</target>
+
+<source>Exclude</source>
+<target>Изключи</target>
+
+<source>Direct</source>
+<target>Пряко</target>
+
+<source>Follow</source>
+<target>Следвай</target>
+
+<source>Today</source>
+<target>Днес</target>
+
+<source>This week</source>
+<target>Тази седмица</target>
+
+<source>This month</source>
+<target>Този месец</target>
+
+<source>This year</source>
+<target>Тази година</target>
+
+<source>Last x days</source>
+<target>Последните x дни</target>
+
+<source>Byte</source>
+<target>Б</target>
+
+<source>KB</source>
+<target>КБ</target>
+
+<source>MB</source>
+<target>МБ</target>
+
+<source>Replace</source>
+<target>Замени</target>
+
+<source>Move files and replace if existing</source>
+<target>Премести файловете и ги замени, ако съществуват</target>
+
+<source>Time stamp</source>
+<target>Отбележи времето</target>
+
+<source>Append a time stamp to each file name</source>
+<target>Отбележи времето за всяко име на файла</target>
+
+<source>Leave as unresolved conflict</source>
+<target>Остави като нерешен конфликт</target>
+
+<source>File</source>
+<target>Файл</target>
+
+<source>YYYY-MM-DD hhmmss</source>
+<target>ГГГГ-ММ-ДД ччммсс</target>
+
+<source>Files</source>
+<target>Файлове</target>
+
+<source>Items</source>
+<target>Елементи</target>
+
+<source>Percentage</source>
+<target>Проценти</target>
+
+<source>Cannot monitor directory %x.</source>
+<target>Не може да се следи папка %x.</target>
+
+<source>Conversion error:</source>
+<target>Грешка на преобразуване:</target>
+
+<source>Cannot delete file %x.</source>
+<target>Не може да се изтрие файл %x.</target>
+
+<source>The file is locked by another process:</source>
+<target>Файлът е заключен от друг процес:</target>
+
+<source>Cannot move file %x to %y.</source>
+<target>Не може да се премести файл %x във %y.</target>
+
+<source>Cannot delete directory %x.</source>
+<target>Не може да се изтрие папка %x.</target>
+
+<source>Cannot write file attributes of %x.</source>
+<target>Не може да се запишат файловите атрибути на %x.</target>
+
+<source>Cannot write modification time of %x.</source>
+<target>Не може да се запише времето на промяна на %x.</target>
+
+<source>Cannot read security context of %x.</source>
+<target>Не може да се прочете контекста на сигурност на %x.</target>
+
+<source>Cannot write security context of %x.</source>
+<target>Не може да се запише контекста на сигурност на %x.</target>
+
+<source>Cannot read permissions of %x.</source>
+<target>Не могат да се прочетат правата за достъп на %x.</target>
+
+<source>Cannot write permissions of %x.</source>
+<target>Не могат да се запишат правата за достъп на %x.</target>
+
+<source>Cannot create directory %x.</source>
+<target>Не може да се създаде папка %x.</target>
+
+<source>Cannot create symbolic link %x.</source>
+<target>Не може да се създаде символна препратка %x.</target>
+
+<source>Cannot find system function %x.</source>
+<target>Не може да се намери системна функция %x.</target>
+
+<source>Cannot copy file %x to %y.</source>
+<target>Не може да се копира файл %x във %y.</target>
+
+<source>Type of item %x is not supported:</source>
+<target>Типа на елемент %x не се поддържа:</target>
+
+<source>Cannot resolve symbolic link %x.</source>
+<target>Не може да се проследи символната препратка %x.</target>
+
+<source>Cannot open directory %x.</source>
+<target>Не може да се отвори папка %x.</target>
+
+<source>Cannot enumerate directory %x.</source>
+<target>Не може да се попълни папка %x.</target>
+
+<source>%x TB</source>
+<target>%x ТБ</target>
+
+<source>%x PB</source>
+<target>%x ПБ</target>
+
+<source>
+<pluralform>1 min</pluralform>
+<pluralform>%x min</pluralform>
+</source>
+<target>
+<pluralform>1 мин.</pluralform>
+<pluralform>%x мин.</pluralform>
+</target>
+
+<source>
+<pluralform>1 hour</pluralform>
+<pluralform>%x hours</pluralform>
+</source>
+<target>
+<pluralform>1 ч.</pluralform>
+<pluralform>%x ч.</pluralform>
+</target>
+
+<source>
+<pluralform>1 day</pluralform>
+<pluralform>%x days</pluralform>
+</source>
+<target>
+<pluralform>1 д.</pluralform>
+<pluralform>%x д.</pluralform>
+</target>
+
+<source>Unable to register to receive system messages.</source>
+<target>Невъзможна регистрация за получаване на системни съобщения.</target>
+
+<source>Cannot set privilege %x.</source>
+<target>Не могат да се зададат привилегии %x.</target>
+
+<source>Unable to suspend system sleep mode.</source>
+<target>Не може да се прекрати режима на заспиване на системата.</target>
+
+<source>Cannot change process I/O priorities.</source>
+<target>Не може да се измени приоритета на процеса.</target>
+
+<source>Unable to move %x to the recycle bin.</source>
+<target>Не може да се премести %x в кошчето.</target>
+
+<source>Checking recycle bin failed for folder %x.</source>
+<target>Проверката на кошчето пропадна за папка %x.</target>
+
+<source>Cannot determine final path for %x.</source>
+<target>Не може да се определи крайната пътека за %x.</target>
+
+<source>Error Code %x:</source>
+<target>Код на грешка %x:</target>
+
+<source>Cannot read the following XML elements:</source>
+<target>Не могат да се прочетат следните XML елементи:</target>
+
+<source>Configuration file %x loaded partially only.</source>
+<target>Конфигурационния файл %x се зареди само частично.</target>
+
diff --git a/FreeFileSync/Build/Languages/finnish.lng b/FreeFileSync/Build/Languages/finnish.lng
index 76020609..4d2bfed9 100644
--- a/FreeFileSync/Build/Languages/finnish.lng
+++ b/FreeFileSync/Build/Languages/finnish.lng
@@ -7,9 +7,6 @@
<plural_definition>n == 1 ? 0 : 1</plural_definition>
</header>
-<source>All files are in sync</source>
-<target></target>
-
<source>Both sides have changed since last synchronization.</source>
<target>Molemmat puolet muuttuneet edellisestä täsmäyksestä.</target>
@@ -1247,6 +1244,9 @@ Tällä varmistetaan eheys, vaikka vakava virhe tapahtuisi.
<source>Set as default</source>
<target>Aseta oletukseksi</target>
+<source>All files are in sync</source>
+<target>Kaikki tiedostot ovat ajan tasalla</target>
+
<source>Synchronization Settings</source>
<target>Täsmäyksen asetukset</target>
diff --git a/FreeFileSync/Build/Languages/german.lng b/FreeFileSync/Build/Languages/german.lng
index 2a374102..1093432c 100644
--- a/FreeFileSync/Build/Languages/german.lng
+++ b/FreeFileSync/Build/Languages/german.lng
@@ -7,6 +7,18 @@
<plural_definition>n == 1 ? 0 : 1</plural_definition>
</header>
+<source>Local settings:</source>
+<target></target>
+
+<source>Use local settings:</source>
+<target></target>
+
+<source>Save as GUI job</source>
+<target></target>
+
+<source>Local Synchronization Settings</source>
+<target></target>
+
<source>Both sides have changed since last synchronization.</source>
<target>Beide Seiten wurden seit der letzten Synchronisation verändert.</target>
@@ -76,17 +88,23 @@
<source>Syntax:</source>
<target>Syntax:</target>
-<source>config files</source>
-<target>Konfigurationsdateien</target>
+<source>global config file:</source>
+<target>Globale Konfigurationsdatei:</target>
+
+<source>config files:</source>
+<target>Konfigurationsdateien:</target>
<source>directory</source>
<target>Verzeichnis</target>
+<source>Path to an alternate GlobalSettings.xml file.</source>
+<target>Pfad zu alternativer GlobalSettings.xml Datei.</target>
+
<source>Any number of FreeFileSync .ffs_gui and/or .ffs_batch configuration files.</source>
<target>Beliebige Anzahl von FreeFileSync .ffs_gui und/oder .ffs_batch Konfigurationsdateien.</target>
-<source>Any number of alternative directories for at most one config file.</source>
-<target>Beliebige Anzahl von alternativen Verzeichnissen für höchstens eine Konfigurationsdatei.</target>
+<source>Any number of alternative directory pairs for at most one config file.</source>
+<target>Beliebige Anzahl von alternativen Verzeichnispaaren für maximal eine Konfigurationsdatei.</target>
<source>Cannot find the following folders:</source>
<target>Die folgenden Ordner wurden nicht gefunden:</target>
@@ -678,15 +696,6 @@ Die Befehlszeile wird ausgelöst, wenn:
<source>Paste</source>
<target>Einfügen</target>
-<source>Alternate Comparison Settings</source>
-<target>Alternative Vergleichseinstellungen</target>
-
-<source>Alternate Synchronization Settings</source>
-<target>Alternative Synchronisationseinstellungen</target>
-
-<source>Local Filter</source>
-<target>Lokaler Filter</target>
-
<source>&New</source>
<target>&Neu</target>
@@ -753,9 +762,18 @@ Die Befehlszeile wird ausgelöst, wenn:
<source>Match case</source>
<target>Groß-/Kleinschreibung</target>
+<source>Open...</source>
+<target>Öffnen...</target>
+
+<source>Save</source>
+<target>Speichern</target>
+
<source>Save as batch job</source>
<target>Als Batch-Auftrag speichern</target>
+<source>Save as...</source>
+<target>Speichern unter...</target>
+
<source>View type:</source>
<target>Ansichtstyp:</target>
@@ -792,20 +810,32 @@ Die Befehlszeile wird ausgelöst, wenn:
<source>More information</source>
<target>Mehr Information</target>
-<source>OK</source>
-<target>OK</target>
+<source>Include:</source>
+<target>Einschließen:</target>
-<source>Identify and propagate changes on both sides. Deletions, moves and conflicts are detected automatically using a database.</source>
-<target>Identifiziere und propagiere Änderungen auf beiden Seiten. Löschungen, Verschiebungen und Konflikte werden automatisch mit Hilfe einer Datenbank erkannt.</target>
+<source>Exclude:</source>
+<target>Ausschließen:</target>
-<source>Create a mirror backup of the left folder by adapting the right folder to match.</source>
-<target>Eine Spiegelkopie des linken Ordners erstellen, indem der rechte Ordner angeglichen wird.</target>
+<source>Show examples</source>
+<target>Zeige Beispiele</target>
-<source>Copy new and updated files to the right folder.</source>
-<target>Neue und aktualisierte Dateien in den rechten Ordner kopieren.</target>
+<source>Time span:</source>
+<target>Zeitspanne:</target>
-<source>Configure your own synchronization rules.</source>
-<target>Eigene Synchronisationsregeln definieren.</target>
+<source>File size:</source>
+<target>Dateigröße:</target>
+
+<source>Minimum:</source>
+<target>Minimum:</target>
+
+<source>Maximum:</source>
+<target>Maximum:</target>
+
+<source>&Reset</source>
+<target>&Zurücksetzen</target>
+
+<source>Select filter rules to exclude certain files from synchronization. Enter file paths relative to their corresponding folder pair.</source>
+<target>Wählen Sie Filterregeln aus, um einzelne Dateien von der Synchronisation auszuschließen. Geben Sie Dateipfade relativ zu ihrem zugehörigen Ordnerpaar an.</target>
<source>Detect moved files</source>
<target>Verschobene Dateien erkennen</target>
@@ -821,6 +851,9 @@ Die Befehlszeile wird ausgelöst, wenn:
- Wird nicht von allen Dateisystemen unterstützt.
</target>
+<source>Detect synchronization directions with the help of database files</source>
+<target>Ermittle die Synchronisationsrichtungen mit Hilfe von Datenbankdateien</target>
+
<source>Delete files:</source>
<target>Dateien löschen:</target>
@@ -845,9 +878,6 @@ Die Befehlszeile wird ausgelöst, wenn:
<source>Naming convention:</source>
<target>Namenskonvention:</target>
-<source>Show examples</source>
-<target>Zeige Beispiele</target>
-
<source>Handle errors:</source>
<target>Fehlerbehandlung:</target>
@@ -866,8 +896,8 @@ Die Befehlszeile wird ausgelöst, wenn:
<source>On completion:</source>
<target>Nach Abschluss:</target>
-<source>Detect synchronization directions with the help of database files</source>
-<target>Ermittle die Synchronisationsrichtungen mit Hilfe von Datenbankdateien</target>
+<source>OK</source>
+<target>OK</target>
<source>Start synchronization now?</source>
<target>Synchronisation jetzt starten?</target>
@@ -929,30 +959,6 @@ Die Befehlszeile wird ausgelöst, wenn:
<source>&Recycle bin</source>
<target>&Papierkorb</target>
-<source>Select filter rules to exclude certain files from synchronization. Enter file paths relative to their corresponding folder pair.</source>
-<target>Wählen Sie Filterregeln aus, um einzelne Dateien von der Synchronisation auszuschließen. Geben Sie Dateipfade relativ zu ihrem zugehörigen Ordnerpaar an.</target>
-
-<source>Include:</source>
-<target>Einschließen:</target>
-
-<source>Exclude:</source>
-<target>Ausschließen:</target>
-
-<source>Time span:</source>
-<target>Zeitspanne:</target>
-
-<source>File size:</source>
-<target>Dateigröße:</target>
-
-<source>Minimum:</source>
-<target>Minimum:</target>
-
-<source>Maximum:</source>
-<target>Maximum:</target>
-
-<source>&Reset</source>
-<target>&Zurücksetzen</target>
-
<source>The following settings are used for all synchronization jobs.</source>
<target>Die folgenden Einstellungen werden für alle Synchronisationsaufgaben verwendet.</target>
@@ -1061,12 +1067,6 @@ Dadurch wird ein konsistenter Datenstand auch im schweren Fehlerfall garantiert.
<source>Main Bar</source>
<target>Hauptleiste</target>
-<source>Open...</source>
-<target>Öffnen...</target>
-
-<source>Save</source>
-<target>Speichern</target>
-
<source>Compare both sides</source>
<target>Beide Seiten vergleichen</target>
@@ -1193,8 +1193,8 @@ Dadurch wird ein konsistenter Datenstand auch im schweren Fehlerfall garantiert.
<source>Delete selected configurations</source>
<target>Ausgewählte Konfigurationen löschen</target>
-<source>Filter</source>
-<target>Filter</target>
+<source>Synchronization Settings</source>
+<target>Synchronisationseinstellungen</target>
<source>Show files that exist on left side only</source>
<target>Nur links existierende Dateien anzeigen</target>
@@ -1244,15 +1244,12 @@ Dadurch wird ein konsistenter Datenstand auch im schweren Fehlerfall garantiert.
<source>Set as default</source>
<target>Als Standard festlegen</target>
+<source>Filter</source>
+<target>Filter</target>
+
<source>All files are in sync</source>
<target>Alle Dateien sind synchron</target>
-<source>Synchronization Settings</source>
-<target>Synchronisationseinstellungen</target>
-
-<source>Comparison Settings</source>
-<target>Vergleichseinstellungen</target>
-
<source>Cannot find %x</source>
<target>%x wurde nicht gefunden.</target>
@@ -1313,30 +1310,6 @@ Dadurch wird ein konsistenter Datenstand auch im schweren Fehlerfall garantiert.
<source>Log</source>
<target>Protokoll</target>
-<source>Today</source>
-<target>Heute</target>
-
-<source>This week</source>
-<target>Diese Woche</target>
-
-<source>This month</source>
-<target>Dieser Monat</target>
-
-<source>This year</source>
-<target>Dieses Jahr</target>
-
-<source>Last x days</source>
-<target>Letzte x Tage</target>
-
-<source>Byte</source>
-<target>Byte</target>
-
-<source>KB</source>
-<target>KB</target>
-
-<source>MB</source>
-<target>MB</target>
-
<source>
<pluralform>Do you really want to move the following item to the recycle bin?</pluralform>
<pluralform>Do you really want to move the following %x items to the recycle bin?</pluralform>
@@ -1358,15 +1331,6 @@ Dadurch wird ein konsistenter Datenstand auch im schweren Fehlerfall garantiert.
<pluralform>Sollen die folgenden %x Elemente wirklich gelöscht werden?</pluralform>
</target>
-<source>Exclude</source>
-<target>Ausschließen</target>
-
-<source>Direct</source>
-<target>Direkt</target>
-
-<source>Follow</source>
-<target>Folgen</target>
-
<source>Copy NTFS permissions</source>
<target>NTFS Berechtigungen kopieren</target>
@@ -1388,8 +1352,50 @@ Dadurch wird ein konsistenter Datenstand auch im schweren Fehlerfall garantiert.
<source>Restore all hidden windows and warnings?</source>
<target>Sollen alle versteckten Fenster und Warnungen wiederhergestellt werden?</target>
-<source>Leave as unresolved conflict</source>
-<target>Als unbehandelten Konflikt belassen</target>
+<source>Identify and propagate changes on both sides. Deletions, moves and conflicts are detected automatically using a database.</source>
+<target>Identifiziere und propagiere Änderungen auf beiden Seiten. Löschungen, Verschiebungen und Konflikte werden automatisch mit Hilfe einer Datenbank erkannt.</target>
+
+<source>Create a mirror backup of the left folder by adapting the right folder to match.</source>
+<target>Eine Spiegelkopie des linken Ordners erstellen, indem der rechte Ordner angeglichen wird.</target>
+
+<source>Copy new and updated files to the right folder.</source>
+<target>Neue und aktualisierte Dateien in den rechten Ordner kopieren.</target>
+
+<source>Configure your own synchronization rules.</source>
+<target>Eigene Synchronisationsregeln definieren.</target>
+
+<source>Exclude</source>
+<target>Ausschließen</target>
+
+<source>Direct</source>
+<target>Direkt</target>
+
+<source>Follow</source>
+<target>Folgen</target>
+
+<source>Today</source>
+<target>Heute</target>
+
+<source>This week</source>
+<target>Diese Woche</target>
+
+<source>This month</source>
+<target>Dieser Monat</target>
+
+<source>This year</source>
+<target>Dieses Jahr</target>
+
+<source>Last x days</source>
+<target>Letzte x Tage</target>
+
+<source>Byte</source>
+<target>Byte</target>
+
+<source>KB</source>
+<target>KB</target>
+
+<source>MB</source>
+<target>MB</target>
<source>Replace</source>
<target>Ersetzen</target>
@@ -1403,6 +1409,15 @@ Dadurch wird ein konsistenter Datenstand auch im schweren Fehlerfall garantiert.
<source>Append a time stamp to each file name</source>
<target>Einen Zeitstempel an jeden Dateinamen anhängen</target>
+<source>Comparison</source>
+<target>Vergleich</target>
+
+<source>Synchronization</source>
+<target>Synchronisation</target>
+
+<source>Leave as unresolved conflict</source>
+<target>Als unbehandelten Konflikt belassen</target>
+
<source>File</source>
<target>Datei</target>
diff --git a/FreeFileSync/Build/Languages/outdated/lithuanian.lng b/FreeFileSync/Build/Languages/lithuanian.lng
index 017baca0..462f3bd3 100644
--- a/FreeFileSync/Build/Languages/outdated/lithuanian.lng
+++ b/FreeFileSync/Build/Languages/lithuanian.lng
@@ -1,368 +1,49 @@
<header>
<language>Lietuvių</language>
- <translator>xxx</translator>
+ <translator>Eligijus Staniulis</translator>
<locale>lt_LT</locale>
<image>flag_lithuania.png</image>
- <plural_count>4</plural_count>
- <plural_definition>n==1 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : n%10==0 || (n%100>10 && n%100<20) ? 2 : 3</plural_definition>
+ <plural_count>3</plural_count>
+ <plural_definition>n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2</plural_definition>
</header>
-<source>Checking recycle bin failed for folder %x.</source>
-<target></target>
-
-<source>Unable to suspend system sleep mode.</source>
-<target></target>
-
-<source>Unable to register to receive system messages.</source>
-<target></target>
-
-<source>Append a time stamp to each file name</source>
-<target></target>
-
-<source>Restore all hidden windows and warnings?</source>
-<target></target>
-
-<source>Move</source>
-<target></target>
-
-<source>Progress</source>
-<target></target>
-
-<source>&Continue</source>
-<target></target>
-
-<source>Select all</source>
-<target></target>
-
-<source>Comparison Settings</source>
-<target></target>
-
-<source>Synchronization Settings</source>
-<target></target>
-
-<source>All files are in sync</source>
-<target></target>
-
-<source>Delete selected configurations</source>
-<target></target>
-
-<source>Never save &changes</source>
-<target></target>
-
-<source>
-<pluralform>Showing %y of 1 row</pluralform>
-<pluralform>Showing %y of %x rows</pluralform>
-</source>
-<target></target>
-
-<source>&Execute</source>
-<target></target>
-
-<source>
-<pluralform>Do you really want to execute the command %y for one item?</pluralform>
-<pluralform>Do you really want to execute the command %y for %x items?</pluralform>
-</source>
+<source>Synchronization</source>
<target></target>
-<source>Main Bar</source>
-<target></target>
-
-<source>View Settings</source>
+<source>Comparison</source>
<target></target>
-<source>Folder Pairs</source>
-<target></target>
-
-<source>Select Time Span</source>
-<target></target>
-
-<source>Global Settings</source>
-<target></target>
-
-<source>Delete Items</source>
-<target></target>
-
-<source>Save as Batch Job</source>
-<target></target>
-
-<source>Restore hidden windows</source>
-<target></target>
-
-<source>Customize context menu:</source>
-<target></target>
-
-<source>Delay (in seconds):</source>
-<target></target>
-
-<source>Retry count:</source>
-<target></target>
-
-<source>Automatic retry on error:</source>
-<target></target>
-
-<source>Transfer file and folder permissions.</source>
-<target></target>
-
-<source>(requires administrator rights)</source>
-<target></target>
-
-<source>Copy shared or locked files using the Volume Shadow Copy Service.</source>
-<target></target>
-
-<source>(recommended)</source>
-<target></target>
-
-<source>
-Copy to a temporary file (*.ffs_tmp) before overwriting target.
-This guarantees a consistent state even in case of a serious error.
-</source>
-<target></target>
-
-<source>The following settings are used for all synchronization jobs.</source>
-<target></target>
-
-<source>&Reset</source>
-<target></target>
-
-<source>Maximum:</source>
-<target></target>
-
-<source>Minimum:</source>
-<target></target>
-
-<source>File size:</source>
-<target></target>
-
-<source>Time span:</source>
-<target></target>
-
-<source>Exclude:</source>
-<target></target>
-
-<source>Include:</source>
-<target></target>
-
-<source>Select filter rules to exclude certain files from synchronization. Enter file paths relative to their corresponding folder pair.</source>
-<target></target>
-
-<source>&Recycle bin</source>
-<target></target>
-
-<source>How can I schedule a batch job?</source>
-<target></target>
-
-<source>Limit:</source>
-<target></target>
-
-<source>Save log:</source>
-<target></target>
-
-<source>Run minimized</source>
-<target></target>
-
-<source>Stop synchronization at first error</source>
-<target></target>
-
-<source>Stop</source>
-<target></target>
-
-<source>&Don't show this dialog again</source>
-<target></target>
-
-<source>Variant:</source>
-<target></target>
-
-<source>Start synchronization now?</source>
-<target></target>
-
-<source>Detect synchronization directions with the help of database files</source>
-<target></target>
-
-<source>On completion:</source>
-<target></target>
-
-<source>Handle errors:</source>
-<target></target>
-
-<source>Show examples</source>
-<target></target>
-
-<source>Delete files:</source>
-<target></target>
-
-<source>
-- Requires and creates database files
-- Detection active after initial sync
-- Not supported by all file systems
-</source>
-<target></target>
-
-<source>Copy new and updated files to the right folder.</source>
-<target></target>
-
-<source>Create a mirror backup of the left folder by adapting the right folder to match.</source>
-<target></target>
-
-<source>More information</source>
-<target></target>
-
-<source>Symbolic links:</source>
-<target></target>
-
-<source>Identify equal files by comparing the file content.</source>
-<target></target>
-
-<source>Identify equal files by comparing modification time and size.</source>
+<source>Local settings:</source>
<target></target>
<source>Select a variant:</source>
<target></target>
-<source>Statistics:</source>
-<target></target>
-
-<source>Select view:</source>
-<target></target>
-
-<source>View type:</source>
-<target></target>
-
-<source>Find:</source>
-<target></target>
-
-<source>Close search bar</source>
-<target></target>
-
-<source>&Check for new version</source>
-<target></target>
-
-<source>&Tools</source>
-<target></target>
-
-<source>&Find...</source>
-<target></target>
-
-<source>Local Filter</source>
-<target></target>
-
-<source>Alternate Synchronization Settings</source>
-<target></target>
-
-<source>Alternate Comparison Settings</source>
-<target></target>
-
-<source>None</source>
-<target></target>
-
-<source>Active</source>
-<target></target>
-
-<source>Local filter</source>
-<target></target>
-
-<source>Alternate synchronization settings</source>
-<target></target>
-
-<source>Alternate comparison settings</source>
-<target></target>
-
-<source>&Check</source>
-<target></target>
-
-<source>&Download</source>
-<target></target>
-
-<source>Check for Program Updates</source>
-<target></target>
-
-<source>Serious Error</source>
-<target></target>
-
-<source>Retrying operation...</source>
-<target></target>
-
-<source>&Ignore subsequent errors</source>
-<target></target>
-
-<source>
-<pluralform>Automatic retry in 1 second...</pluralform>
-<pluralform>Automatic retry in %x seconds...</pluralform>
-</source>
-<target></target>
-
-<source>Switching to FreeFileSync's main window</source>
+<source>Use local settings:</source>
<target></target>
-<source>&Don't show this warning again</source>
+<source>Save as...</source>
<target></target>
-<source>You can switch to FreeFileSync's main window to resolve this issue.</source>
+<source>Save as GUI job</source>
<target></target>
-<source>Stopped</source>
+<source>Local Synchronization Settings</source>
<target></target>
<source>Synchronization stopped</source>
<target></target>
-<source>Please enter a target folder for versioning.</source>
+<source>Any number of alternative directory pairs for at most one config file.</source>
<target></target>
-<source>Incorrect command line:</source>
+<source>Path to an alternate GlobalSettings.xml file.</source>
<target></target>
-<source>&Show error</source>
+<source>config files:</source>
<target></target>
-<source>Automated Synchronization</source>
-<target></target>
-
-<source>&Start</source>
-<target></target>
-
-<source>Command line:</source>
-<target></target>
-
-<source>Idle time (in seconds):</source>
-<target></target>
-
-<source>Folders to watch:</source>
-<target></target>
-
-<source>&View help</source>
-<target></target>
-
-<source>Unable to create time stamp for versioning:</source>
-<target></target>
-
-<source>Stop requested: Waiting for current operation to finish...</source>
-<target></target>
-
-<source>%x items/sec</source>
-<target></target>
-
-<source>
-<pluralform>1 thread</pluralform>
-<pluralform>%x threads</pluralform>
-</source>
-<target></target>
-
-<source>
-<pluralform>1 byte</pluralform>
-<pluralform>%x bytes</pluralform>
-</source>
-<target></target>
-
-<source>Detecting abandoned lock...</source>
-<target></target>
-
-<source>Lock owner:</source>
-<target></target>
-
-<source>Waiting while directory is locked:</source>
-<target></target>
-
-<source>Content comparison was skipped for excluded files %x.</source>
+<source>global config file:</source>
<target></target>
<source>Both sides have changed since last synchronization.</source>
@@ -399,10 +80,10 @@ This guarantees a consistent state even in case of a serious error.
<target>Trinamas aplankas %x</target>
<source>Deleting symbolic link %x</source>
-<target>Tinama simbolinė nuoroda %x</target>
+<target>Trinama simbolinė nuoroda %x</target>
<source>The recycle bin is not available for the following folders. Files will be deleted permanently instead:</source>
-<target>Šiuklšlių dėžė šiems katalogams yra nepasiekiama. Failai bus negrįžtamai ištrinti:</target>
+<target>Šiuklšliadėžė šiems aplankams yra nepasiekiama. Failai bus negrįžtamai ištrinti:</target>
<source>An exception occurred</source>
<target>Atsirado išimtis</target>
@@ -434,17 +115,11 @@ This guarantees a consistent state even in case of a serious error.
<source>Syntax:</source>
<target>Sintaksė:</target>
-<source>config files</source>
-<target>config failai</target>
-
<source>directory</source>
<target>katalogas</target>
<source>Any number of FreeFileSync .ffs_gui and/or .ffs_batch configuration files.</source>
-<target>Keletas FreeFileSync .ffs_gui ir/arba .ffs_batch configūracijos failų</target>
-
-<source>Any number of alternative directories for at most one config file.</source>
-<target>Daugiausia vienam config failui, n alternatyvių katalogų</target>
+<target>Neribotas kiekis FreeFileSync .ffs_gui ir/arba .ffs_batch konfigūracinių failų</target>
<source>Cannot find the following folders:</source>
<target>Nepavyksta rasti šių aplankų:</target>
@@ -473,6 +148,9 @@ This guarantees a consistent state even in case of a serious error.
<source>Size:</source>
<target>Dydis:</target>
+<source>Content comparison was skipped for excluded files %x.</source>
+<target>Praleistas turinio palyginimas išskirtam failui %x.</target>
+
<source>Items differ in attributes only</source>
<target>Elementai skiriasi tik atributais</target>
@@ -483,13 +161,13 @@ This guarantees a consistent state even in case of a serious error.
<target>Sulyginamas failų turinys %x</target>
<source>Generating file list...</source>
-<target>Generuojamas failų sąrašas...</target>
+<target>Sukuriamas failų sąrašas...</target>
<source>Starting comparison</source>
<target>Pradedamas palyginimas</target>
<source>Calculating sync directions...</source>
-<target>Apskaičiuojamos sinchrinizacijos kryptys...</target>
+<target>Apskaičiuojamos suvienodinimo kryptys...</target>
<source>Out of memory.</source>
<target>Trūksta atminties.</target>
@@ -578,17 +256,25 @@ This guarantees a consistent state even in case of a serious error.
<source>Cannot get process information.</source>
<target>Nepavyksta gauti eigos informacijos.</target>
+<source>Waiting while directory is locked:</source>
+<target>Laukiama kol katalogas yra užrakintas</target>
+
+<source>Lock owner:</source>
+<target>Užrakto savininkas:</target>
+
<source>
<pluralform>1 sec</pluralform>
<pluralform>%x sec</pluralform>
</source>
<target>
-<pluralform>1 sek</pluralform>
-<pluralform>%x sek</pluralform>
-<pluralform>%x sek</pluralform>
-<pluralform>%x sek</pluralform>
+<pluralform>%x sekundė</pluralform>
+<pluralform>%x sekundės</pluralform>
+<pluralform>%x sekundžių</pluralform>
</target>
+<source>Detecting abandoned lock...</source>
+<target>Aptiktas paliktas užraktas...</target>
+
<source>Creating file %x</source>
<target>Kuriamas failas %x</target>
@@ -601,6 +287,16 @@ This guarantees a consistent state even in case of a serious error.
<source>Total time:</source>
<target>Visas laikas:</target>
+<source>
+<pluralform>1 byte</pluralform>
+<pluralform>%x bytes</pluralform>
+</source>
+<target>
+<pluralform>%x baitas</pluralform>
+<pluralform>%x baitai</pluralform>
+<pluralform>%x baitų</pluralform>
+</target>
+
<source>%x MB</source>
<target>%x MB</target>
@@ -617,7 +313,17 @@ This guarantees a consistent state even in case of a serious error.
<target>Nepavyksta nustatyti katalogo užrakto %x.</target>
<source>Scanning:</source>
-<target>Skenuojama:</target>
+<target>Nuskaitoma:</target>
+
+<source>
+<pluralform>1 thread</pluralform>
+<pluralform>%x threads</pluralform>
+</source>
+<target>
+<pluralform>%x srautas</pluralform>
+<pluralform>%x srautai</pluralform>
+<pluralform>%x srautų</pluralform>
+</target>
<source>Encoding extended time information: %x</source>
<target>Koduojama išplėstinė laiko informacija: %x</target>
@@ -625,6 +331,9 @@ This guarantees a consistent state even in case of a serious error.
<source>/sec</source>
<target>/sek.</target>
+<source>%x items/sec</source>
+<target>%x elementų/sekundę</target>
+
<source>Show in Explorer</source>
<target>Rodyti naršyklėje</target>
@@ -635,7 +344,7 @@ This guarantees a consistent state even in case of a serious error.
<target>Naršyti katalogą</target>
<source>Cannot access the Volume Shadow Copy Service.</source>
-<target>Volume Shadow Copy paslauga nepasiekiama.</target>
+<target>Duomenų Šešėlinės Kopijos Paslauga nepasiekiama.</target>
<source>Please use FreeFileSync 64-bit version to create shadow copies on this system.</source>
<target>Prašome naudoti 64-bit FreeFileSync versiją, kad sukurti šėšėlines kopijas šioje sistemoje.</target>
@@ -649,6 +358,12 @@ This guarantees a consistent state even in case of a serious error.
<source>Volume name %x is not part of file path %y.</source>
<target>Vietos vardas %x nėra failo kelio %y dalis.</target>
+<source>Stop requested: Waiting for current operation to finish...</source>
+<target>Stabdymo užklausa: Laukiama, kol pasibaigs einamasis procesas...</target>
+
+<source>Unable to create time stamp for versioning:</source>
+<target>Nepavyko sukurti versijos laiko žymą</target>
+
<source>&Open...</source>
<target>&Atverti...</target>
@@ -661,6 +376,9 @@ This guarantees a consistent state even in case of a serious error.
<source>&Program</source>
<target>&Programa</target>
+<source>&View help</source>
+<target>&Rodymo pagalba</target>
+
<source>&About</source>
<target>&Apie</target>
@@ -682,6 +400,9 @@ This guarantees a consistent state even in case of a serious error.
<source>To get started just import a .ffs_batch file.</source>
<target>Kad pradėti tiesiog importuokite .ffs_batch failą.</target>
+<source>Folders to watch:</source>
+<target>Stebimi aplankai</target>
+
<source>Add folder</source>
<target>Pridėti aplanką</target>
@@ -694,9 +415,15 @@ This guarantees a consistent state even in case of a serious error.
<source>Select a folder</source>
<target>Pažymėti aplanką</target>
+<source>Idle time (in seconds):</source>
+<target>Nenaudojamas laikas (sekundėmis)</target>
+
<source>Idle time between last detected change and execution of command</source>
<target>Neveiklus laikas tarp paskutinio aptikto pokyčio ir komandos įvykdymo</target>
+<source>Command line:</source>
+<target>Komandinė eilutė</target>
+
<source>
The command is triggered if:
- files or subfolders change
@@ -708,6 +435,9 @@ Komanda inicijuojama jei:
- atsiranda nauji aplankai (pvz.: įkišamas USB raktas)
</target>
+<source>&Start</source>
+<target>&Pradėti</target>
+
<source>About</source>
<target>Apie</target>
@@ -717,6 +447,9 @@ Komanda inicijuojama jei:
<source>All files</source>
<target>Visi failai</target>
+<source>Automated Synchronization</source>
+<target>Automatinis Suvienodinimas</target>
+
<source>Directory monitoring active</source>
<target>Katalogų stebėjimas yra aktyvus</target>
@@ -729,9 +462,15 @@ Komanda inicijuojama jei:
<source>&Restore</source>
<target>&Atstatyti</target>
+<source>&Show error</source>
+<target>&Parodyti klaidą</target>
+
<source>&Exit</source>
<target>&Išeiti</target>
+<source>Incorrect command line:</source>
+<target>Netaisyklinga Komandinė eilutė:</target>
+
<source>&Retry</source>
<target>&Bandyti vėl</target>
@@ -745,7 +484,7 @@ Komanda inicijuojama jei:
<target>Dvipusis</target>
<source>Mirror</source>
-<target>Veidrodis</target>
+<target>Identiškas</target>
<source>Update</source>
<target>Atnaujinti</target>
@@ -787,13 +526,13 @@ Komanda inicijuojama jei:
<target>Atnaujinami atributai %x</target>
<source>Creating a Volume Shadow Copy for %x...</source>
-<target>%x kuriamas Volume Shadow Copy...</target>
+<target>%x kuriamas Duomenų Šešėlinė Kopija...</target>
<source>Data verification error: %x and %y have different content.</source>
<target>Duomenų patikros klaida: %x ir %y turinys yra skirtingas.</target>
<source>Cannot find %x.</source>
-<target>Nepavyksta rasti %x.</target>
+<target>Nepavyko rasti %x.</target>
<source>Target folder %x already existing.</source>
<target>Tikslo aplankas %x jau yra.</target>
@@ -801,6 +540,9 @@ Komanda inicijuojama jei:
<source>Target folder input field must not be empty.</source>
<target>Tikslo aplanko įvesties laukas negali būti tuščias.</target>
+<source>Please enter a target folder for versioning.</source>
+<target>Prašome nurodyti aplanką kitoms versijoms</target>
+
<source>Source folder %x not found.</source>
<target>Šaltinio aplankas %x nerastas.</target>
@@ -823,28 +565,37 @@ Komanda inicijuojama jei:
<target>Aplankas, kuris yra dalis keletos aplankų porų, bus pakeistas. Prašome peržiūrėti sinchronizavimo nustatymus.</target>
<source>Synchronizing folder pair:</source>
-<target>Sinchrinizuojama aplankų pora:</target>
+<target>Suvienodinama aplankų pora:</target>
<source>Generating database...</source>
-<target>Generuojama duomenų bazė...</target>
+<target>Sukuriama duomenų bazė...</target>
<source>job name</source>
<target>Užduoties pavadinimas</target>
<source>Synchronization completed with errors</source>
-<target>Synchronizavimas baigtas su klaidomis</target>
+<target>Suvienodinimas baigtas su klaidomis</target>
<source>Synchronization completed with warnings</source>
-<target>Synchronizavimas baigtas su perspėjimais</target>
+<target>Suvienodinimas baigtas su perspėjimais</target>
<source>Nothing to synchronize</source>
-<target>Nėra ko sinchronizuoti</target>
+<target>Nėra ko suvienodinti</target>
<source>Synchronization completed successfully</source>
-<target>Synchronizavimas sėkmingai baigtas</target>
+<target>Suvienodinimas sėkmingai baigtas</target>
<source>Saving log file %x...</source>
-<target>Saugmas žurnalo failas %x...</target>
+<target>Iš saugomas žurnalo failas %x...</target>
+
+<source>Stopped</source>
+<target>Sustabdyta</target>
+
+<source>You can switch to FreeFileSync's main window to resolve this issue.</source>
+<target>Sprendžiant šią problemą, galite persijungti i FreeFileSync pagrindinį langą,</target>
+
+<source>&Don't show this warning again</source>
+<target>& Nerodyti daugiau šio perspįpėjimo</target>
<source>&Ignore</source>
<target>&Ignoruoti</target>
@@ -852,12 +603,40 @@ Komanda inicijuojama jei:
<source>&Switch</source>
<target>&Perjungti</target>
+<source>Switching to FreeFileSync's main window</source>
+<target>Perjungti į FreeFileSync pagrindinį langą</target>
+
+<source>
+<pluralform>Automatic retry in 1 second...</pluralform>
+<pluralform>Automatic retry in %x seconds...</pluralform>
+</source>
+<target>
+<pluralform>Automatinis pakartojimas po %x sekundės...</pluralform>
+<pluralform>Automatinis pakartojimas po %x sekundžių...</pluralform>
+<pluralform>Automatinis pakartojimas po %x sekundžių...</pluralform>
+</target>
+
+<source>&Ignore subsequent errors</source>
+<target>&Ignoruoti tolimesnes klaidas</target>
+
+<source>Retrying operation...</source>
+<target>Paleisti veiksmą iš naujo...</target>
+
+<source>Serious Error</source>
+<target>Rimta klaida</target>
+
+<source>Check for Program Updates</source>
+<target>Tikrinti programos atnaujinimus</target>
+
<source>A new version of FreeFileSync is available:</source>
<target>Yra nauja FreeFileSync versija:</target>
<source>Download now?</source>
<target>Atsiųsti dabar?</target>
+<source>&Download</source>
+<target>&Atsisiųsti</target>
+
<source>FreeFileSync is up to date.</source>
<target>FreeFileSync yra naujausia.</target>
@@ -867,11 +646,14 @@ Komanda inicijuojama jei:
<source>Cannot find current FreeFileSync version number online. Do you want to check manually?</source>
<target>Dabartinės FreeFileSync versijos numeris internete nerastas. Ar norėtumėte patikrinti rankiniu būdu?</target>
+<source>&Check</source>
+<target>&Tikrinti</target>
+
<source>Symlink</source>
<target>Simbolinė nuoroda</target>
<source>Folder</source>
-<target>Katalogas</target>
+<target>Aplankas</target>
<source>Full path</source>
<target>Pilnas kelias</target>
@@ -883,7 +665,7 @@ Komanda inicijuojama jei:
<target>Elemento kelias</target>
<source>Base folder</source>
-<target>Bazinis katalogas</target>
+<target>Bazinis aplankas</target>
<source>Size</source>
<target>Dydis</target>
@@ -903,6 +685,21 @@ Komanda inicijuojama jei:
<source>Drag && drop</source>
<target>Vilkti ir numesti</target>
+<source>Alternate comparison settings</source>
+<target>Alternatyvaus Palyginimo Parametrai</target>
+
+<source>Alternate synchronization settings</source>
+<target>Alternatyvaus Palyginimo Parametrai</target>
+
+<source>Local filter</source>
+<target>Vietinis filtras</target>
+
+<source>Active</source>
+<target>Aktyvus</target>
+
+<source>None</source>
+<target>Tusčia</target>
+
<source>Remove alternate settings</source>
<target>Pašalinti alternatyvius nustatymus</target>
@@ -922,13 +719,13 @@ Komanda inicijuojama jei:
<target>&Išsaugoti</target>
<source>Save as &batch job...</source>
-<target>Išsaugoti kaip &paketinę užduotį...</target>
+<target>Išsaugoti kaip &užduočių paketą...</target>
<source>1. &Compare</source>
<target>1. &Sulyginti</target>
<source>2. &Synchronize</source>
-<target>2. &Sinchronizuoti</target>
+<target>2. &Suvienodinti</target>
<source>&Global settings</source>
<target>&Bendri nustatymai</target>
@@ -936,15 +733,24 @@ Komanda inicijuojama jei:
<source>&Language</source>
<target>&Kalba</target>
+<source>&Find...</source>
+<target>&Ieškoti...</target>
+
<source>&Export file list...</source>
<target>&Eksportuoti failų sąrašą...</target>
+<source>&Tools</source>
+<target>&Įrankiai</target>
+
<source>&Check now</source>
<target>&Tikrinti dabar</target>
<source>Check &automatically once a week</source>
<target>Tikrinti &automatiškai kartą per savaitę</target>
+<source>&Check for new version</source>
+<target>&Naujasnės versijos tikrinimas</target>
+
<source>Compare</source>
<target>Sulyginti</target>
@@ -952,7 +758,7 @@ Komanda inicijuojama jei:
<target>Atšaukti</target>
<source>Synchronize</source>
-<target>Sinchronizuoti</target>
+<target>Suvienodinti</target>
<source>Add folder pair</source>
<target>Pridėti aplankų porą</target>
@@ -963,11 +769,32 @@ Komanda inicijuojama jei:
<source>Swap sides</source>
<target>Sukeisti puses</target>
+<source>Close search bar</source>
+<target>Uždaryti paieškos įrankinę</target>
+
+<source>Find:</source>
+<target>Paieška:</target>
+
<source>Match case</source>
<target>Atitikti atveją</target>
+<source>Open...</source>
+<target>Atverti...</target>
+
+<source>Save</source>
+<target>Išsaugoti</target>
+
<source>Save as batch job</source>
-<target>Išsaugoti kaip paketinį darbą</target>
+<target>Išsaugoti kaip užduočių paketą</target>
+
+<source>View type:</source>
+<target>Rodymo būdai</target>
+
+<source>Select view:</source>
+<target>Pasirinkti rodymo būdą:</target>
+
+<source>Statistics:</source>
+<target>Statistika:</target>
<source>Number of files and folders that will be created</source>
<target>Failų ir aplankų, kurie bus sukurti, skaičius</target>
@@ -981,18 +808,65 @@ Komanda inicijuojama jei:
<source>Total bytes to copy</source>
<target>Viso baitų kopijuoti</target>
-<source>OK</source>
-<target>Gerai</target>
+<source>Identify equal files by comparing modification time and size.</source>
+<target>Sutapatinti vienodus failus lyginant failų modifikavimo laiką ir dydį.</target>
-<source>Identify and propagate changes on both sides. Deletions, moves and conflicts are detected automatically using a database.</source>
-<target>Nustatyti ir skatinti pokyčius apbiejose pusėse. Trinimai, perkėlimai ir konfliktai yra aptinkami automatiškai naudojant duomenų bazę.</target>
+<source>Identify equal files by comparing the file content.</source>
+<target>Sutapatinti vienodus failus lyginant failų turinį.</target>
-<source>Configure your own synchronization rules.</source>
-<target>Nustatyti Jūsų pačių sinchronizavimo taisykles.</target>
+<source>Symbolic links:</source>
+<target>Simbolinės nuorodos:</target>
+
+<source>More information</source>
+<target>Daugiau informacijos</target>
+
+<source>Include:</source>
+<target>Įtraukti:</target>
+
+<source>Exclude:</source>
+<target>Išskirti:</target>
+
+<source>Show examples</source>
+<target>Rodyti pavyzdžius</target>
+
+<source>Time span:</source>
+<target>Laiko atkarpa:</target>
+
+<source>File size:</source>
+<target>Failo dydis:</target>
+
+<source>Minimum:</source>
+<target>Mažiausias:</target>
+
+<source>Maximum:</source>
+<target>Didžiausias:</target>
+
+<source>&Reset</source>
+<target>&Perkrauti</target>
+
+<source>Select filter rules to exclude certain files from synchronization. Enter file paths relative to their corresponding folder pair.</source>
+<target>Pasirinkti filtro taisykles norint išskirti pasirinktus failus iš Suvienodinimo. Įveskite failo kelią, kuris atitinka aplanką.</target>
<source>Detect moved files</source>
<target>Rasti perkeltus failus</target>
+<source>
+- Requires and creates database files
+- Detection active after initial sync
+- Not supported by all file systems
+</source>
+<target>
+- Sukuriami reikalingi duomenų bazės failai
+- Aktyvus tikrinimas vykdant suvienodinimą
+- Nesuderinamas su visomis failų sistemomis
+</target>
+
+<source>Detect synchronization directions with the help of database files</source>
+<target>Aptikti suvienodinimo kryptis, naudojant duomenų bazės failus</target>
+
+<source>Delete files:</source>
+<target>Ištrinti failus:</target>
+
<source>Permanent</source>
<target>Visiškai</target>
@@ -1000,7 +874,7 @@ Komanda inicijuojama jei:
<target>Trinti ar perrašyti failus visam laikui</target>
<source>Recycle bin</source>
-<target>Šiukšlių dėžė</target>
+<target>Šiukšliadėžė</target>
<source>Back up deleted and overwritten files in the recycle bin</source>
<target>Padaryti šiukšlių dėžėje esančių ištrintų ar perrašytų failų atsarginę kopiją</target>
@@ -1014,6 +888,9 @@ Komanda inicijuojama jei:
<source>Naming convention:</source>
<target>Pavadinimų taisyklės:</target>
+<source>Handle errors:</source>
+<target>Klaidų taisymas:</target>
+
<source>Ignore</source>
<target>Ignoruoti</target>
@@ -1021,11 +898,26 @@ Komanda inicijuojama jei:
<target>Slėpti visus klaidų ir perspėjimų pranešimus</target>
<source>Pop-up</source>
-<target>Iššokti</target>
+<target>Pranešimas</target>
<source>Show pop-up on errors or warnings</source>
<target>Rodyti pranešimą esant klaidoms ar perspėjimams</target>
+<source>On completion:</source>
+<target>Pasibaigus:</target>
+
+<source>OK</source>
+<target>Gerai</target>
+
+<source>Start synchronization now?</source>
+<target>Dabar pradėti suvienodinimą?</target>
+
+<source>Variant:</source>
+<target>Variantai:</target>
+
+<source>&Don't show this dialog again</source>
+<target>&Nerodyti pakartotinai šio dialogo lango</target>
+
<source>Items found:</source>
<target>Rasta elementų:</target>
@@ -1039,7 +931,7 @@ Komanda inicijuojama jei:
<target>Praėjęs laikas:</target>
<source>Synchronizing...</source>
-<target>Sinchronizuojama...</target>
+<target>Suvienodinama...</target>
<source>Minimize to notification area</source>
<target>Nuleisti į apačią dešinėje</target>
@@ -1050,24 +942,84 @@ Komanda inicijuojama jei:
<source>&Pause</source>
<target>&Pauzė</target>
+<source>Stop</source>
+<target>Stabdyti</target>
+
<source>Create a batch file for unattended synchronization. To start, double-click this file or schedule in a task planner: %x</source>
-<target>Sukurti paleidimo failą sinchronizacijai be priežiūros. Norint jį paleisti reikia paspausti and failo du kartus pele arba nustatyti su užduočių planuotoju: %x</target>
+<target>Sukurti paleidimo failą suvienodinimui be priežiūros. Norint jį paleisti reikia paspausti and failo du kartus pele arba nustatyti su užduočių planuotoju: %x</target>
+
+<source>Stop synchronization at first error</source>
+<target>Stabdyti suvienodinimą, pirmai klaidai įvykus</target>
+
+<source>Run minimized</source>
+<target>Vykdyti sumažinus</target>
+
+<source>Save log:</source>
+<target>Išsaugoti žurnalą:</target>
+
+<source>Limit:</source>
+<target>Ribos:</target>
<source>Limit maximum number of log files</source>
<target>Apriboti ataskaitų failų skaičių</target>
+<source>How can I schedule a batch job?</source>
+<target>Kaip aš galiu užduočių paketą įtraukti į tvarkaraštį ?</target>
+
+<source>&Recycle bin</source>
+<target>&Šiukšliadėžė</target>
+
+<source>The following settings are used for all synchronization jobs.</source>
+<target>Sekantys parametrai yra naudojami visiems suvienodinimo darbams.</target>
+
<source>Fail-safe file copy</source>
<target>Apsauginė failo kopija</target>
+<source>
+Copy to a temporary file (*.ffs_tmp) before overwriting target.
+This guarantees a consistent state even in case of a serious error.
+</source>
+<target>
+Kopijuoti į laikiną failą (*.ffs_tmp) prieš pakeičiant parinktis.
+Tai garantuos pastovią buseną, netgi įvykus rimtai klaidai.
+</target>
+
+<source>(recommended)</source>
+<target>(rekomenduojama)</target>
+
<source>Copy locked files</source>
<target>Kopijuoti užrakintus failus</target>
+<source>Copy shared or locked files using the Volume Shadow Copy Service.</source>
+<target>Kopijuoti bendrintus arba užrakintus failus naudojant duomenų šešėlinės kopijos paslaugą.</target>
+
+<source>(requires administrator rights)</source>
+<target>(administratoriaus teisės būtinos)</target>
+
<source>Copy file access permissions</source>
<target>Kopijuoti failo leidimus</target>
+<source>Transfer file and folder permissions.</source>
+<target>Failų ir aplankų perkėlimo leidimai.</target>
+
+<source>Automatic retry on error:</source>
+<target>Automatinis pakartojimas klaidos atveju:</target>
+
+<source>Retry count:</source>
+<target>Skaičiuoti is naujo:</target>
+
+<source>Delay (in seconds):</source>
+<target>Uždelsimas (sekundėmis):</target>
+
+<source>Customize context menu:</source>
+<target>Pagrindinio meniu pasirinkimai:</target>
+
<source>Description</source>
<target>Apibūdinimas</target>
+<source>Restore hidden windows</source>
+<target>Atstatyti paslėptus langus</target>
+
<source>&Default</source>
<target>&Numatyta</target>
@@ -1095,20 +1047,35 @@ Komanda inicijuojama jei:
<source>Many thanks for localization:</source>
<target>Labai dėkojame už vertimą:</target>
+<source>Save as Batch Job</source>
+<target>Išsaugoti kaip užduočių paketą</target>
+
+<source>Delete Items</source>
+<target>Pašalinti elementai</target>
+
+<source>Global Settings</source>
+<target>Bendri parametrai</target>
+
+<source>Select Time Span</source>
+<target>Pasirinkti laiko atkarpą</target>
+
+<source>Folder Pairs</source>
+<target>Sugretinti aplankai</target>
+
<source>Find</source>
<target>Rasti</target>
+<source>View Settings</source>
+<target>Rodymo parametrai</target>
+
<source>Overview</source>
<target>Apžvalga</target>
<source>Configuration</source>
<target>Nustatymai</target>
-<source>Open...</source>
-<target>Atverti...</target>
-
-<source>Save</source>
-<target>Išsaugoti</target>
+<source>Main Bar</source>
+<target>Pagrindinė įrankinė</target>
<source>Compare both sides</source>
<target>Sulyginti abi puses</target>
@@ -1117,23 +1084,35 @@ Komanda inicijuojama jei:
<target>Sulyginimo nustatymai</target>
<source>Synchronization settings</source>
-<target>Sinchronizavimo nustatymai</target>
+<target>Suvienodinimo nustatymai</target>
<source>Start synchronization</source>
-<target>Pradėti sinchronizavimą</target>
+<target>Pradėti suvienodinimą</target>
<source>Confirm</source>
<target>Patvirtinti</target>
<source>
+<pluralform>Do you really want to execute the command %y for one item?</pluralform>
+<pluralform>Do you really want to execute the command %y for %x items?</pluralform>
+</source>
+<target>
+<pluralform>Ar iš tikrųjų norite vykdyti komandą %y iš %x elemento?</pluralform>
+<pluralform>Ar iš tikrųjų norite vykdyti komandą %y iš %x elementų?</pluralform>
+<pluralform>Ar iš tikrųjų norite vykdyti komandą %y iš %x elementų?</pluralform>
+</target>
+
+<source>&Execute</source>
+<target>&Vykdyti</target>
+
+<source>
<pluralform>1 directory</pluralform>
<pluralform>%x directories</pluralform>
</source>
<target>
-<pluralform>1 katalogas</pluralform>
+<pluralform>%x katalogas</pluralform>
<pluralform>%x katalogai</pluralform>
<pluralform>%x katalogų</pluralform>
-<pluralform>%x katalogas</pluralform>
</target>
<source>
@@ -1141,10 +1120,19 @@ Komanda inicijuojama jei:
<pluralform>%x files</pluralform>
</source>
<target>
-<pluralform>1 failas</pluralform>
+<pluralform>%x failas</pluralform>
<pluralform>%x failai</pluralform>
<pluralform>%x failų</pluralform>
-<pluralform>%x failas</pluralform>
+</target>
+
+<source>
+<pluralform>Showing %y of 1 row</pluralform>
+<pluralform>Showing %y of %x rows</pluralform>
+</source>
+<target>
+<pluralform>Rodoma %y iš %x eilutės</pluralform>
+<pluralform>Rodoma %y iš %x eilučių</pluralform>
+<pluralform>Rodoma %y iš %x eilučių</pluralform>
</target>
<source>Set direction:</source>
@@ -1157,7 +1145,7 @@ Komanda inicijuojama jei:
<target>Įtraukti naudojant filtrą:</target>
<source>Exclude via filter:</source>
-<target>Neįtraukti per filtrą:</target>
+<target>Neįtraukti naudojant filtrą:</target>
<source>Include temporarily</source>
<target>Įtraukti laikinai</target>
@@ -1199,7 +1187,7 @@ Komanda inicijuojama jei:
<target>Paskutinė sesija</target>
<source>Folder Comparison and Synchronization</source>
-<target>Aplankų sulyginimas ir sinchronizavimas</target>
+<target>Aplankų palyginimas ir suvienodinimas</target>
<source>Configuration saved</source>
<target>Nustatymai išsaugoti</target>
@@ -1210,11 +1198,17 @@ Komanda inicijuojama jei:
<source>Do you want to save changes to %x?</source>
<target>Ar norite išsaugoti %x pakeitimus?</target>
+<source>Never save &changes</source>
+<target>Niekada neišsaugoti &pakeitimų</target>
+
<source>Do&n't save</source>
<target>&Nesaugoti</target>
-<source>Filter</source>
-<target>Filtras</target>
+<source>Delete selected configurations</source>
+<target>Ištrinti pasirinktus parametrus</target>
+
+<source>Synchronization Settings</source>
+<target>Suvienodinimo parametrai</target>
<source>Show files that exist on left side only</source>
<target>Rodyti failus, kurie egzistuoja tik kairėje pusėje</target>
@@ -1264,6 +1258,12 @@ Komanda inicijuojama jei:
<source>Set as default</source>
<target>Nustatyti kaip numatytą</target>
+<source>Filter</source>
+<target>Filtras</target>
+
+<source>All files are in sync</source>
+<target>Visi failai suvienodinti</target>
+
<source>Cannot find %x</source>
<target>Nepavyksta rasti %x</target>
@@ -1277,10 +1277,10 @@ Komanda inicijuojama jei:
<target>Ieškoma programos atnaujinimų...</target>
<source>Close progress dialog</source>
-<target>Uždaryti eigos langą</target>
+<target>Uždaryti dialogo langą</target>
<source>Standby</source>
-<target>Stabdyti į diską</target>
+<target>Budėjimo režimas</target>
<source>Log off</source>
<target>Atsijungti</target>
@@ -1289,10 +1289,10 @@ Komanda inicijuojama jei:
<target>Išjungti kompiuterį</target>
<source>Hibernate</source>
-<target>Stabdyti į operatyviąją atmintį</target>
+<target>Išjungti įrašius i pastovią atmintį</target>
<source>Scanning...</source>
-<target>Skenuojama...</target>
+<target>Tikrinama...</target>
<source>Comparing content...</source>
<target>Sulyginamas turinys...</target>
@@ -1303,6 +1303,9 @@ Komanda inicijuojama jei:
<source>Warning</source>
<target>Perspėjimas</target>
+<source>Select all</source>
+<target>Pažymėti visus</target>
+
<source>Paused</source>
<target>Pristabdyta</target>
@@ -1312,64 +1315,38 @@ Komanda inicijuojama jei:
<source>Completed</source>
<target>Baigta</target>
-<source>Log</source>
-<target>Archyvas</target>
-
-<source>Today</source>
-<target>Šiandien</target>
-
-<source>This week</source>
-<target>Ši savaitė</target>
-
-<source>This month</source>
-<target>Šis mėnuo</target>
-
-<source>This year</source>
-<target>Šie metai</target>
-
-<source>Last x days</source>
-<target>Paskutinės x dienos</target>
-
-<source>Byte</source>
-<target>Baitai</target>
+<source>&Continue</source>
+<target>&Tęsti</target>
-<source>KB</source>
-<target>KB</target>
+<source>Progress</source>
+<target>Pokytis</target>
-<source>MB</source>
-<target>MB</target>
+<source>Log</source>
+<target>Žurnalas</target>
<source>
<pluralform>Do you really want to move the following item to the recycle bin?</pluralform>
<pluralform>Do you really want to move the following %x items to the recycle bin?</pluralform>
</source>
<target>
-<pluralform>Ar tikrai norite perkelti poziciją į šiukšklių dėžę?</pluralform>
-<pluralform>Ar tikrai norite perkelti šias %x pozicijas į šiukšklių dėžę?</pluralform>
-<pluralform>Ar tikrai norite perkelti šias %x pozicijų į šiukšklių dėžę?</pluralform>
-<pluralform>Ar tikrai norite perkelti poziciją %x į šiukšklių dėžę?</pluralform>
+<pluralform>Ar tikrai norite perkelti %x poziciją į šiukšliadėžę?</pluralform>
+<pluralform>Ar tikrai norite perkelti šias %x pozicijas į šiukšliadėžę?</pluralform>
+<pluralform>Ar tikrai norite perkelti šias %x pozicijų į šiukšliadėžę?</pluralform>
</target>
+<source>Move</source>
+<target>Perkelti</target>
+
<source>
<pluralform>Do you really want to delete the following item?</pluralform>
<pluralform>Do you really want to delete the following %x items?</pluralform>
</source>
<target>
-<pluralform>Ar tikrai norite ištrinti šį elementą?</pluralform>
+<pluralform>Ar tikrai norite ištrinti %x elementą?</pluralform>
<pluralform>Ar tikrai norite ištrinti šiuos %x elementus?</pluralform>
<pluralform>Ar tikrai norite ištrinti šiuos %x elementų?</pluralform>
-<pluralform>Ar tikrai norite ištrinti šį %x elementą?</pluralform>
</target>
-<source>Exclude</source>
-<target>Neįtraukti</target>
-
-<source>Direct</source>
-<target>Tiesiogiai</target>
-
-<source>Follow</source>
-<target>Sekti</target>
-
<source>Copy NTFS permissions</source>
<target>Kopijuoti NTFS leidimus</target>
@@ -1388,8 +1365,53 @@ Komanda inicijuojama jei:
<source>- Other side's counterpart to %item_folder%</source>
<target>- Kitos pusės atitikmuo %item_folder%</target>
-<source>Leave as unresolved conflict</source>
-<target>Palikti kaip neišpręstą konfliktą</target>
+<source>Restore all hidden windows and warnings?</source>
+<target>Atstatyti visus nematomus ir perspėjamuosius langus?</target>
+
+<source>Identify and propagate changes on both sides. Deletions, moves and conflicts are detected automatically using a database.</source>
+<target>Nustatyti ir skatinti pokyčius apbiejose pusėse. Trinimai, perkėlimai ir konfliktai yra aptinkami automatiškai naudojant duomenų bazę.</target>
+
+<source>Create a mirror backup of the left folder by adapting the right folder to match.</source>
+<target>Sukurti tikslią kairiojo aplanko atsarginę kopiją tinkinant su dešiniu aplanku.</target>
+
+<source>Copy new and updated files to the right folder.</source>
+<target>Kopijuoti naujus ir atnaujintus failus į dešinį aplanką.</target>
+
+<source>Configure your own synchronization rules.</source>
+<target>Nustatyti Jūsų pačių suvienodinimo taisykles.</target>
+
+<source>Exclude</source>
+<target>Neįtraukti</target>
+
+<source>Direct</source>
+<target>Tiesiogiai</target>
+
+<source>Follow</source>
+<target>Sekti</target>
+
+<source>Today</source>
+<target>Šiandien</target>
+
+<source>This week</source>
+<target>Ši savaitė</target>
+
+<source>This month</source>
+<target>Šis mėnuo</target>
+
+<source>This year</source>
+<target>Šie metai</target>
+
+<source>Last x days</source>
+<target>Paskutinės x dienos</target>
+
+<source>Byte</source>
+<target>Baitai</target>
+
+<source>KB</source>
+<target>KB</target>
+
+<source>MB</source>
+<target>MB</target>
<source>Replace</source>
<target>Pakeisti</target>
@@ -1400,6 +1422,12 @@ Komanda inicijuojama jei:
<source>Time stamp</source>
<target>Laiko žymė</target>
+<source>Append a time stamp to each file name</source>
+<target>Pridėti laiko žymę prie kiekvieno failo pavadinimo</target>
+
+<source>Leave as unresolved conflict</source>
+<target>Palikti kaip neišpręstą konfliktą</target>
+
<source>File</source>
<target>Failas</target>
@@ -1486,10 +1514,9 @@ Komanda inicijuojama jei:
<pluralform>%x min</pluralform>
</source>
<target>
-<pluralform>1 min</pluralform>
-<pluralform>%x min</pluralform>
-<pluralform>%x min</pluralform>
-<pluralform>%x min</pluralform>
+<pluralform>%x minutė</pluralform>
+<pluralform>%x minutės</pluralform>
+<pluralform>%x minučių</pluralform>
</target>
<source>
@@ -1497,10 +1524,9 @@ Komanda inicijuojama jei:
<pluralform>%x hours</pluralform>
</source>
<target>
-<pluralform>1 valanda</pluralform>
+<pluralform>%x valanda</pluralform>
<pluralform>%x valandos</pluralform>
<pluralform>%x valandų</pluralform>
-<pluralform>%x valanda</pluralform>
</target>
<source>
@@ -1508,20 +1534,28 @@ Komanda inicijuojama jei:
<pluralform>%x days</pluralform>
</source>
<target>
-<pluralform>1 diena</pluralform>
+<pluralform>%x diena</pluralform>
<pluralform>%x dienos</pluralform>
<pluralform>%x dienų</pluralform>
-<pluralform>%x diena</pluralform>
</target>
+<source>Unable to register to receive system messages.</source>
+<target>Nepavyko aktyvuoti sisteminių žinučių gavimo funkciją.</target>
+
<source>Cannot set privilege %x.</source>
<target>Nepavyksta nustatyti privilegijos %x.</target>
+<source>Unable to suspend system sleep mode.</source>
+<target>Nepavyko laikinai sustabdyti sistemos budėjimo rėžimo.</target>
+
<source>Cannot change process I/O priorities.</source>
<target>Nepavyksta pakeisti proceso I/O prioritetų.</target>
<source>Unable to move %x to the recycle bin.</source>
-<target>%x į šiukšlinę perkelti nepavyko</target>
+<target>%x į šiukšliadėžę perkelti nepavyko</target>
+
+<source>Checking recycle bin failed for folder %x.</source>
+<target>Tikrinama šiukšliadėžė. Failas %x nerastas.</target>
<source>Cannot determine final path for %x.</source>
<target>Galutinio %x kelio rasti nepavyko</target>
diff --git a/FreeFileSync/Build/Languages/slovenian.lng b/FreeFileSync/Build/Languages/slovenian.lng
index 073275c7..2eedd54d 100644
--- a/FreeFileSync/Build/Languages/slovenian.lng
+++ b/FreeFileSync/Build/Languages/slovenian.lng
@@ -116,7 +116,7 @@
<target>Velikost:</target>
<source>Content comparison was skipped for excluded files %x.</source>
-<target></target>
+<target>Za izločene datoteke %x je bila primerjava vsebine izpuščena</target>
<source>Items differ in attributes only</source>
<target>Elementi se razlikujejo samo v atributih</target>
@@ -332,7 +332,7 @@
<target>Zahteva za ustavitev: Čakam da se trenutni proces zaključi...</target>
<source>Unable to create time stamp for versioning:</source>
-<target></target>
+<target>Časovnega žiga za verzioniranje ni bilo mogoče ustvariti:</target>
<source>&Open...</source>
<target>&Odpri...</target>
@@ -765,13 +765,13 @@ Ukaz se sproži če:
<target>Shrani kot serijsko opravilo</target>
<source>View type:</source>
-<target></target>
+<target>Tip pogleda:</target>
<source>Select view:</source>
-<target></target>
+<target>Izberi pogled:</target>
<source>Statistics:</source>
-<target></target>
+<target>Statistika:</target>
<source>Number of files and folders that will be created</source>
<target>Število datotek in map, ki bodo ustvarjene</target>
@@ -875,7 +875,7 @@ Ukaz se sproži če:
<target>Ob zaključku:</target>
<source>Detect synchronization directions with the help of database files</source>
-<target></target>
+<target>Zaznaj smer sinhnorizacije s pomočjo datotek podatkovne baze</target>
<source>Start synchronization now?</source>
<target>Zaženem sinhnorizacijo takoj?</target>
@@ -920,7 +920,7 @@ Ukaz se sproži če:
<target>Ustavi sinhnorizacojo ob prvi napaki</target>
<source>Run minimized</source>
-<target></target>
+<target>Zaženi minimizirano</target>
<source>Save log:</source>
<target>Shrani dnevnik:</target>
@@ -959,7 +959,7 @@ Ukaz se sproži če:
<target>Maksimum:</target>
<source>&Reset</source>
-<target></target>
+<target>&Ponovni zagon</target>
<source>The following settings are used for all synchronization jobs.</source>
<target>Naslednje nastavitve se uporabljajo pri vseh sinhronizacijskih opravilih.</target>
@@ -1058,7 +1058,7 @@ To zagotavlja konsistenco podatkov v primeru napake.
<target>Najdi</target>
<source>View Settings</source>
-<target></target>
+<target>Nastavitve pogleda</target>
<source>Overview</source>
<target>Pregled</target>
@@ -1094,7 +1094,12 @@ To zagotavlja konsistenco podatkov v primeru napake.
<pluralform>Do you really want to execute the command %y for one item?</pluralform>
<pluralform>Do you really want to execute the command %y for %x items?</pluralform>
</source>
-<target></target>
+<target>
+<pluralform>Ali res želite izvesti ukaz %y za %x element?</pluralform>
+<pluralform>Ali res želite izvesti ukaz %y za %x elementa?</pluralform>
+<pluralform>Ali res želite izvesti ukaz %y za %x elemente?</pluralform>
+<pluralform>Ali res želite izvesti ukaz %y za %x elementov?</pluralform>
+</target>
<source>&Execute</source>
<target>&Izvedi</target>
@@ -1125,7 +1130,12 @@ To zagotavlja konsistenco podatkov v primeru napake.
<pluralform>Showing %y of 1 row</pluralform>
<pluralform>Showing %y of %x rows</pluralform>
</source>
-<target></target>
+<target>
+<pluralform>Prikazano %y od %x vrstice</pluralform>
+<pluralform>Prikazano %y od %x vrstic</pluralform>
+<pluralform>Prikazano %y od %x vrstic</pluralform>
+<pluralform>Prikazano %y od %x vrstic</pluralform>
+</target>
<source>Set direction:</source>
<target>Nastavi smer:</target>
@@ -1197,7 +1207,7 @@ To zagotavlja konsistenco podatkov v primeru napake.
<target>Ne shra&ni</target>
<source>Delete selected configurations</source>
-<target></target>
+<target>Izbriši izbrane konfiguracije</target>
<source>Filter</source>
<target>Filter</target>
@@ -1251,7 +1261,7 @@ To zagotavlja konsistenco podatkov v primeru napake.
<target>Nastavi kot privzeto</target>
<source>All files are in sync</source>
-<target></target>
+<target>Vse datoteke so sinhronizirane</target>
<source>Synchronization Settings</source>
<target>Nastavitve sinhnorizacije</target>
@@ -1314,7 +1324,7 @@ To zagotavlja konsistenco podatkov v primeru napake.
<target>&Nadaljuj</target>
<source>Progress</source>
-<target></target>
+<target>Napredek</target>
<source>Log</source>
<target>Dnevnik</target>
@@ -1411,7 +1421,7 @@ To zagotavlja konsistenco podatkov v primeru napake.
<target>Časovna oznaka</target>
<source>Append a time stamp to each file name</source>
-<target></target>
+<target>Imenu vsake datoteke pripni časovni žig</target>
<source>File</source>
<target>Datoteka</target>
@@ -1522,8 +1532,8 @@ To zagotavlja konsistenco podatkov v primeru napake.
</source>
<target>
<pluralform>%x dan</pluralform>
-<pluralform>%x dni</pluralform>
-<pluralform>%x dni</pluralform>
+<pluralform>%x dneva</pluralform>
+<pluralform>%x dnevi</pluralform>
<pluralform>%x dni</pluralform>
</target>
@@ -1543,7 +1553,7 @@ To zagotavlja konsistenco podatkov v primeru napake.
<target>Ne morem premakniti %x v koš-</target>
<source>Checking recycle bin failed for folder %x.</source>
-<target></target>
+<target>Preverjanje koša za mapo %x ni uspelo.</target>
<source>Cannot determine final path for %x.</source>
<target>Ne morem določiti končne poti za %x.</target>
diff --git a/FreeFileSync/Build/Resources.zip b/FreeFileSync/Build/Resources.zip
index a673e9f3..4bb1edbd 100644
--- a/FreeFileSync/Build/Resources.zip
+++ b/FreeFileSync/Build/Resources.zip
Binary files differ
diff --git a/FreeFileSync/Source/application.cpp b/FreeFileSync/Source/application.cpp
index fbe7a9a9..5459d565 100644
--- a/FreeFileSync/Source/application.cpp
+++ b/FreeFileSync/Source/application.cpp
@@ -268,9 +268,9 @@ void Application::onQueryEndSession(wxEvent& event)
}
-void runGuiMode();
-void runGuiMode(const XmlGuiConfig& guiCfg, const std::vector<Zstring>& referenceFiles);
-void runBatchMode(const XmlBatchConfig& batchCfg, const Zstring& referenceFile, FfsReturnCode& returnCode);
+void runGuiMode (const Zstring& globalConfigFile);
+void runGuiMode (const Zstring& globalConfigFile, const XmlGuiConfig& guiCfg, const std::vector<Zstring>& referenceFiles);
+void runBatchMode(const Zstring& globalConfigFile, const XmlBatchConfig& batchCfg, const Zstring& referenceFile, FfsReturnCode& returnCode);
void showSyntaxHelp();
@@ -297,6 +297,7 @@ void Application::launch(const std::vector<Zstring>& commandArgs)
std::vector<Zstring> leftDirs;
std::vector<Zstring> rightDirs;
std::vector<std::pair<Zstring, XmlType>> configFiles; //XmlType: batch or GUI files only
+ Opt<Zstring> globalConfigFile;
{
const Zchar optionLeftDir [] = Zstr("-leftdir");
const Zchar optionRightDir[] = Zstr("-rightdir");
@@ -340,6 +341,8 @@ void Application::launch(const std::vector<Zstring>& commandArgs)
filename += Zstr(".ffs_batch");
else if (fileExists(filename + Zstr(".ffs_gui")))
filename += Zstr(".ffs_gui");
+ else if (fileExists(filename + Zstr(".xml")))
+ filename += Zstr(".xml");
else
{
notifyError(replaceCpy(_("Cannot open file %x."), L"%x", fmtFileName(filename)), std::wstring());
@@ -357,8 +360,9 @@ void Application::launch(const std::vector<Zstring>& commandArgs)
case XML_TYPE_BATCH:
configFiles.push_back(std::make_pair(filename, XML_TYPE_BATCH));
break;
-
case XML_TYPE_GLOBAL:
+ globalConfigFile = filename;
+ break;
case XML_TYPE_OTHER:
notifyError(replaceCpy(_("File %x does not contain a valid configuration."), L"%x", fmtFileName(filename)), std::wstring());
return;
@@ -413,11 +417,13 @@ void Application::launch(const std::vector<Zstring>& commandArgs)
//distinguish sync scenarios:
//---------------------------
+ const Zstring globalConfigFilePath = globalConfigFile? *globalConfigFile : xmlAccess::getGlobalConfigFile();
+
if (configFiles.empty())
{
//gui mode: default startup
if (leftDirs.empty())
- runGuiMode();
+ runGuiMode(globalConfigFilePath);
//gui mode: default config with given directories
else
{
@@ -425,7 +431,7 @@ void Application::launch(const std::vector<Zstring>& commandArgs)
guiCfg.mainCfg.syncCfg.directionCfg.var = DirectionConfig::MIRROR;
if (!replaceDirectories(guiCfg.mainCfg)) return;
- runGuiMode(guiCfg, std::vector<Zstring>());
+ runGuiMode(globalConfigFilePath, guiCfg, std::vector<Zstring>());
}
}
else if (configFiles.size() == 1)
@@ -450,7 +456,7 @@ void Application::launch(const std::vector<Zstring>& commandArgs)
return;
}
if (!replaceDirectories(batchCfg.mainCfg)) return;
- runBatchMode(batchCfg, filename, returnCode);
+ runBatchMode(globalConfigFilePath, batchCfg, filename, returnCode);
}
//GUI mode: single config
else
@@ -475,7 +481,7 @@ void Application::launch(const std::vector<Zstring>& commandArgs)
//what about simulating changed config due to directory replacement?
//-> propably fine to not show as changed on GUI and not ask user to save on exit!
- runGuiMode(guiCfg, { filename }); //caveat: guiCfg and filename do not match if directories were set/replaced via command line!
+ runGuiMode(globalConfigFilePath, guiCfg, { filename }); //caveat: guiCfg and filename do not match if directories were set/replaced via command line!
}
}
//gui mode: merged configs
@@ -506,18 +512,19 @@ void Application::launch(const std::vector<Zstring>& commandArgs)
notifyError(e.toString(), std::wstring());
return;
}
- runGuiMode(guiCfg, filenames);
+ runGuiMode(globalConfigFilePath, guiCfg, filenames);
}
}
-void runGuiMode() { MainDialog::create(); }
+void runGuiMode(const Zstring& globalConfigFile) { MainDialog::create(globalConfigFile); }
-void runGuiMode(const xmlAccess::XmlGuiConfig& guiCfg,
+void runGuiMode(const Zstring& globalConfigFile,
+ const xmlAccess::XmlGuiConfig& guiCfg,
const std::vector<Zstring>& referenceFiles)
{
- MainDialog::create(guiCfg, referenceFiles, nullptr, true); //startComparison == true!
+ MainDialog::create(globalConfigFile, nullptr, guiCfg, referenceFiles, /*bool startComparison = */true);
}
@@ -525,18 +532,25 @@ void showSyntaxHelp()
{
showNotificationDialog(nullptr, DialogInfoType::INFO, PopupDialogCfg().
setTitle(_("Command line")).
- setDetailInstructions(_("Syntax:") + L"\n" +
- L"FreeFileSync [" + _("config files") + L"]\n[-leftdir " + _("directory") + L"] [-rightdir " + _("directory") + L"]" + L"\n" +
- L"\n" +
- _("config files") + L"\n" +
+ setDetailInstructions(_("Syntax:") + L"\n\n" +
+
+ L"FreeFileSync.exe " + L"\n" +
+ L" [" + _("global config file:") + L" GlobalSettings.xml]\n" +
+ L" [" + _("config files:") + L" *.ffs_gui/*.ffs_batch]\n" +
+ L" [-leftdir " + _("directory") + L"] [-rightdir " + _("directory") + L"]" + L"\n\n" +
+
+ _("global config file:") + L"\n" +
+ _("Path to an alternate GlobalSettings.xml file.") + L"\n\n" +
+
+ _("config files:") + L"\n" +
_("Any number of FreeFileSync .ffs_gui and/or .ffs_batch configuration files.") + L"\n\n"
L"-leftdir " + _("directory") + L" -rightdir " + _("directory") + L"\n" +
- _("Any number of alternative directories for at most one config file.")));
+ _("Any number of alternative directory pairs for at most one config file.")));
}
-void runBatchMode(const XmlBatchConfig& batchCfg, const Zstring& referenceFile, FfsReturnCode& returnCode)
+void runBatchMode(const Zstring& globalConfigFile, const XmlBatchConfig& batchCfg, const Zstring& referenceFile, FfsReturnCode& returnCode)
{
auto notifyError = [&](const std::wstring& msg, FfsReturnCode rc)
{
@@ -549,11 +563,11 @@ void runBatchMode(const XmlBatchConfig& batchCfg, const Zstring& referenceFile,
};
XmlGlobalSettings globalCfg;
- if (fileExists(getGlobalConfigFile())) //else: globalCfg already has default values
+ if (fileExists(globalConfigFile)) //else: globalCfg already has default values
try
{
std::wstring warningMsg;
- readConfig(getGlobalConfigFile(), globalCfg, warningMsg); //throw FileError
+ readConfig(globalConfigFile, globalCfg, warningMsg); //throw FileError
assert(warningMsg.empty()); //ignore parsing errors: should be migration problems only *cross-fingers*
}
@@ -583,7 +597,7 @@ void runBatchMode(const XmlBatchConfig& batchCfg, const Zstring& referenceFile,
const TimeComp timeStamp = localTime();
- const SwitchToGui switchBatchToGui(referenceFile, batchCfg, globalCfg); //prepare potential operational switch
+ const SwitchToGui switchBatchToGui(globalConfigFile, globalCfg, referenceFile, batchCfg); //prepare potential operational switch
//class handling status updates and error messages
BatchStatusHandler statusHandler(!batchCfg.runMinimized, //throw BatchAbortProcess
@@ -648,7 +662,7 @@ void runBatchMode(const XmlBatchConfig& batchCfg, const Zstring& referenceFile,
try //save global settings to XML: e.g. ignored warnings
{
- xmlAccess::writeConfig(globalCfg, getGlobalConfigFile()); //FileError
+ xmlAccess::writeConfig(globalCfg, globalConfigFile); //FileError
}
catch (const FileError& e)
{
diff --git a/FreeFileSync/Source/comparison.cpp b/FreeFileSync/Source/comparison.cpp
index 09b747a1..b5a1a78f 100644
--- a/FreeFileSync/Source/comparison.cpp
+++ b/FreeFileSync/Source/comparison.cpp
@@ -66,35 +66,43 @@ std::vector<ResolvedFolderPair> resolveDirectoryNames(const std::vector<FolderPa
{
std::vector<ResolvedFolderPair> output;
- //support retry for environment variable and and variable driver letter resolution!
for (const FolderPairCfg& fpCfg : cfgList)
output.push_back(ResolvedFolderPair(
getFormattedDirectoryName(fpCfg.dirnamePhraseLeft),
getFormattedDirectoryName(fpCfg.dirnamePhraseRight)));
warn_static("get volume by name for idle HDD! => call async getFormattedDirectoryName, but currently not thread-safe")
-
- assert(output.size() == cfgList.size()); //postcondition!
return output;
}
-std::set<Zstring, LessFilename> determineExistentDirs(const std::vector<ResolvedFolderPair>& resolvedPairs,
- bool allowUserInteraction,
- ProcessCallback& callback)
+struct ResolutionInfo
{
- std::set<Zstring, LessFilename> dirnames;
- for (const ResolvedFolderPair& fp : resolvedPairs)
- {
- dirnames.insert(fp.dirnameLeft);
- dirnames.insert(fp.dirnameRight);
- }
+ std::vector<ResolvedFolderPair> resolvedPairs;
+ std::set<Zstring, LessFilename> existingDirs;
+};
+
- std::set<Zstring, LessFilename> output;
+ResolutionInfo resolveFolderPairs(const std::vector<FolderPairCfg>& cfgList,
+ bool allowUserInteraction,
+ ProcessCallback& callback)
+{
+ ResolutionInfo output;
tryReportingError([&]
{
+ //support "retry" for environment variable and and variable driver letter resolution!
+ output.resolvedPairs = resolveDirectoryNames(cfgList);
+ assert(output.resolvedPairs.size() == cfgList.size()); //postcondition!
+
+ std::set<Zstring, LessFilename> dirnames;
+ for (const ResolvedFolderPair& fp : output.resolvedPairs)
+ {
+ dirnames.insert(fp.dirnameLeft);
+ dirnames.insert(fp.dirnameRight);
+ }
+
const DirectoryStatus dirStatus = getExistingDirsUpdating(dirnames, allowUserInteraction, callback); //check *all* directories on each try!
- output = dirStatus.existing;
+ output.existingDirs = dirStatus.existing;
if (!dirStatus.missing.empty())
{
@@ -104,6 +112,7 @@ std::set<Zstring, LessFilename> determineExistentDirs(const std::vector<Resolved
throw FileError(msg, _("You can ignore this error to consider each folder as empty. The folders then will be created automatically during synchronization."));
}
}, callback);
+
return output;
}
@@ -786,29 +795,28 @@ void zen::compare(int fileTimeTolerance,
//-------------------some basic checks:------------------------------------------
- const std::vector<ResolvedFolderPair> resolvedPairs = resolveDirectoryNames(cfgList);
- const std::set<Zstring, LessFilename> existingDirs = determineExistentDirs(resolvedPairs, allowUserInteraction, callback);
+ const ResolutionInfo& resInfo = resolveFolderPairs(cfgList, allowUserInteraction, callback);
//directory existence only checked *once* to avoid race conditions!
- if (resolvedPairs.size() != cfgList.size())
+ if (resInfo.resolvedPairs.size() != cfgList.size())
throw std::logic_error("Programming Error: Contract violation! " + std::string(__FILE__) + ":" + numberTo<std::string>(__LINE__));
- checkForIncompleteInput(resolvedPairs, warnings.warningInputFieldEmpty, callback);
- checkFolderDependency (resolvedPairs, warnings.warningDependentFolders, callback);
+ checkForIncompleteInput(resInfo.resolvedPairs, warnings.warningInputFieldEmpty, callback);
+ checkFolderDependency (resInfo.resolvedPairs, warnings.warningDependentFolders, callback);
//list of directories that are *expected* to be existent (and need to be scanned)!
//-------------------end of basic checks------------------------------------------
- auto dirAvailable = [&](const Zstring& dirnameFmt) { return existingDirs.find(dirnameFmt) != existingDirs.end(); };
+ auto dirAvailable = [&](const Zstring& dirnameFmt) { return resInfo.existingDirs.find(dirnameFmt) != resInfo.existingDirs.end(); };
std::vector<std::pair<ResolvedFolderPair, FolderPairCfg>> totalWorkLoad;
for (size_t i = 0; i < cfgList.size(); ++i)
- totalWorkLoad.push_back(std::make_pair(resolvedPairs[i], cfgList[i]));
+ totalWorkLoad.push_back(std::make_pair(resInfo.resolvedPairs[i], cfgList[i]));
//lock (existing) directories before comparison
if (createDirLocks)
- dirLocks = make_unique<LockHolder>(existingDirs, warnings.warningDirectoryLockFailed, callback);
+ dirLocks = make_unique<LockHolder>(resInfo.existingDirs, warnings.warningDirectoryLockFailed, callback);
try
{
diff --git a/FreeFileSync/Source/lib/localization.cpp b/FreeFileSync/Source/lib/localization.cpp
index ed449034..b13f433e 100644
--- a/FreeFileSync/Source/lib/localization.cpp
+++ b/FreeFileSync/Source/lib/localization.cpp
@@ -364,6 +364,7 @@ wxLanguage mapLanguageDialect(wxLanguage language)
return wxLANGUAGE_SWEDISH;
//languages without variants:
+ //case wxLANGUAGE_BULGARIAN:
//case wxLANGUAGE_CROATIAN:
//case wxLANGUAGE_CZECH:
//case wxLANGUAGE_DANISH:
diff --git a/FreeFileSync/Source/lib/resolve_path.cpp b/FreeFileSync/Source/lib/resolve_path.cpp
index c5a656ea..b776e143 100644
--- a/FreeFileSync/Source/lib/resolve_path.cpp
+++ b/FreeFileSync/Source/lib/resolve_path.cpp
@@ -419,14 +419,16 @@ Zstring expandVolumeName(const Zstring& text) // [volname]:\folder [volna
if (Opt<Zstring> volPath = getPathByVolumenName(volname)) //may block for slow USB sticks!
return appendSeparator(*volPath) + rest; //successfully replaced pattern
}
- //error: did not find corresponding volume name:
+ /*
+ error: did not find corresponding volume name:
- /*make sure directory creation will fail later if attempted, instead of inconveniently interpreting this string as a relative name!
+ make sure directory creation will fail later if attempted, instead of inconveniently interpreting this string as a relative name!
[FFS USB]\FreeFileSync will be resolved as
?:\[FFS USB]\FreeFileSync\ - Windows
/.../[FFS USB]/FreeFileSync/ - Linux
instead of:
- C:\Program Files\FreeFileSync\[FFS USB]\FreeFileSync\ */
+ C:\Program Files\FreeFileSync\[FFS USB]\FreeFileSync\
+ */
return L"?:\\[" + volname + L"]\\" + rest;
#elif defined ZEN_LINUX || defined ZEN_MAC //neither supported nor needed
diff --git a/FreeFileSync/Source/synchronization.cpp b/FreeFileSync/Source/synchronization.cpp
index de987a00..044d615d 100644
--- a/FreeFileSync/Source/synchronization.cpp
+++ b/FreeFileSync/Source/synchronization.cpp
@@ -434,7 +434,7 @@ Zstring DeletionHandling::getOrCreateRecyclerTempDirPf() //throw FileError
-> this naming convention is too cute and confusing for end users:
//1. generate random directory name
- static std::mt19937 rng(std::time(nullptr)); //don't use std::default_random_engine and leave the choice to the STL implementer!
+ static std::mt19937 rng(std::time(nullptr)); //don't use std::default_random_engine which leaves the choice to the STL implementer!
//- the alternative std::random_device may not always be available and can even throw an exception!
//- seed with second precision is sufficient: collisions are handled below
@@ -1346,10 +1346,18 @@ void SynchronizeFolderPair::synchronizeFileInt(FilePair& fileObj, SyncOperation
}
catch (FileError&)
{
- if (somethingExists(fileObj.getFullName<sideSrc>())) //do not check on type (symlink, file, folder) -> if there is a type change, FFS should error out!
+ warn_static("still an error if base dir is missing!")
+ // const Zstring basedir = beforeLast(fileObj.getBaseDirPf<side>(), FILE_NAME_SEPARATOR); //what about C:\ ???
+ //if (!dirExists(basedir) ||
+
+
+ if (!somethingExists(fileObj.getFullName<sideSrc>())) //do not check on type (symlink, file, folder) -> if there is a type change, FFS should error out!
+ {
+ //source deleted meanwhile...nothing was done (logical point of view!)
+ fileObj.removeObject<sideSrc>(); //remove only *after* evaluating "fileObj, sideSrc"!
+ }
+ else
throw;
- //source deleted meanwhile...nothing was done (logical point of view!)
- fileObj.removeObject<sideSrc>(); //remove only *after* evaluating "fileObj, sideSrc"!
}
statReporter.reportFinished();
}
@@ -1542,6 +1550,8 @@ void SynchronizeFolderPair::synchronizeLinkInt(SymlinkPair& linkObj, SyncOperati
}
catch (FileError&)
{
+ warn_static("still an error if base dir is missing!")
+
if (somethingExists(linkObj.getFullName<sideSrc>())) //do not check on type (symlink, file, folder) -> if there is a type change, FFS should not be quiet about it!
throw;
//source deleted meanwhile...nothing was done (logical point of view!)
@@ -1679,6 +1689,8 @@ void SynchronizeFolderPair::synchronizeFolderInt(DirPair& dirObj, SyncOperation
}
else //source deleted meanwhile...nothing was done (logical point of view!) -> uh....what about a temporary network drop???
{
+ warn_static("still an error if base dir is missing!")
+
const SyncStatistics subStats(dirObj);
procCallback_.updateTotalData(-getCUD(subStats) - 1, -subStats.getDataToProcess());
diff --git a/FreeFileSync/Source/ui/folder_history_box.cpp b/FreeFileSync/Source/ui/folder_history_box.cpp
index 94c3ae57..a0737c23 100644
--- a/FreeFileSync/Source/ui/folder_history_box.cpp
+++ b/FreeFileSync/Source/ui/folder_history_box.cpp
@@ -98,7 +98,7 @@ void FolderHistoryBox::setValueAndUpdateList(const wxString& dirname)
dirList.insert(dirList.begin(), dirname);
//this->Clear(); -> NO! emits yet another wxEVT_COMMAND_TEXT_UPDATED!!!
- wxItemContainer::Clear(); //suffices to clear the selection items only!
+ wxItemContainer::Clear(); //suffices to clear the selection items only!
for (const wxString& dir : dirList)
this->Append(dir);
diff --git a/FreeFileSync/Source/ui/folder_pair.h b/FreeFileSync/Source/ui/folder_pair.h
index be01e79d..0fdc2a1c 100644
--- a/FreeFileSync/Source/ui/folder_pair.h
+++ b/FreeFileSync/Source/ui/folder_pair.h
@@ -38,9 +38,9 @@ public:
refreshButtons();
}
- AltCompCfgPtr getAltCompConfig() const { return altCompConfig; }
- AltSyncCfgPtr getAltSyncConfig() const { return altSyncConfig; }
- FilterConfig getAltFilterConfig() const { return localFilter; }
+ AltCompCfgPtr getAltCompConfig () const { return altCompConfig; }
+ AltSyncCfgPtr getAltSyncConfig () const { return altSyncConfig; }
+ FilterConfig getAltFilterConfig() const { return localFilter; }
FolderPairPanelBasic(GuiPanel& basicPanel) : //takes reference on basic panel to be enhanced
@@ -162,49 +162,52 @@ private:
virtual void onAltSyncCfgChange() = 0;
virtual void onLocalFilterCfgChange() = 0;
- void OnAltCompCfg(wxCommandEvent& event)
- {
- const MainConfiguration mainCfg = getMainConfig();
-
- CompConfig cmpCfg = altCompConfig.get() ? *altCompConfig : mainCfg.cmpConfig;
-
- if (showCompareCfgDialog(getParentWindow(), cmpCfg, _("Alternate Comparison Settings")) == ReturnSmallDlg::BUTTON_OKAY)
- {
- altCompConfig = std::make_shared<CompConfig>(cmpCfg);
- refreshButtons();
- onAltCompCfgChange();
- }
- }
+ void OnAltCompCfg (wxCommandEvent& event) { showConfigDialog(SyncConfigPanel::COMPARISON); }
+ void OnLocalFilterCfg(wxCommandEvent& event) { showConfigDialog(SyncConfigPanel::FILTER ); }
+ void OnAltSyncCfg (wxCommandEvent& event) { showConfigDialog(SyncConfigPanel::SYNC ); }
- void OnAltSyncCfg(wxCommandEvent& event)
+ void showConfigDialog(SyncConfigPanel panelToShow)
{
const MainConfiguration mainCfg = getMainConfig();
+ bool useAlternateCmpCfg = altCompConfig.get() != nullptr;
+ bool useAlternateSyncCfg = altSyncConfig.get() != nullptr;
CompConfig cmpCfg = altCompConfig.get() ? *altCompConfig : mainCfg.cmpConfig;
SyncConfig syncCfg = altSyncConfig.get() ? *altSyncConfig : mainCfg.syncCfg;
+ const bool useAlternateCmpCfgOld = useAlternateCmpCfg;
+ const bool useAlternateSyncCfgOld = useAlternateSyncCfg;
+ const CompConfig cmpCfgOld = cmpCfg;
+ const FilterConfig filterCfgOld = localFilter;
+ const SyncConfig syncCfgOld = syncCfg;
+
if (showSyncConfigDlg(getParentWindow(),
- cmpCfg.compareVar,
+ panelToShow,
+ &useAlternateCmpCfg,
+ cmpCfg,
+ localFilter,
+ &useAlternateSyncCfg,
syncCfg,
- _("Alternate Synchronization Settings"),
+ mainCfg.cmpConfig.compareVar,
nullptr,
- nullptr) == ReturnSyncConfig::BUTTON_OKAY) //optional input parameter
+ _("Local Synchronization Settings")) == ReturnSyncConfig::BUTTON_OKAY)
{
- altSyncConfig = std::make_shared<SyncConfig>(syncCfg);
- refreshButtons();
- onAltSyncCfgChange();
- }
- }
+ if (!(cmpCfg == cmpCfgOld) || useAlternateCmpCfg != useAlternateCmpCfgOld)
+ {
+ altCompConfig = useAlternateCmpCfg ? std::make_shared<CompConfig>(cmpCfg) : nullptr;
+ onAltCompCfgChange();
+ }
- void OnLocalFilterCfg(wxCommandEvent& event)
- {
- FilterConfig localFiltTmp = localFilter;
+ if (!(localFilter == filterCfgOld))
+ onLocalFilterCfgChange();
+
+ if (!(syncCfg == syncCfgOld) || useAlternateSyncCfg != useAlternateSyncCfgOld)
+ {
+ altSyncConfig = useAlternateSyncCfg ? std::make_shared<SyncConfig>(syncCfg) : nullptr;
+ onAltSyncCfgChange();
+ }
- if (showFilterDialog(getParentWindow(), localFiltTmp, _("Local Filter")) == ReturnSmallDlg::BUTTON_OKAY)
- {
- localFilter = localFiltTmp;
refreshButtons();
- onLocalFilterCfgChange();
}
}
diff --git a/FreeFileSync/Source/ui/gui_generated.cpp b/FreeFileSync/Source/ui/gui_generated.cpp
index 11a1bd4e..60c08d50 100644
--- a/FreeFileSync/Source/ui/gui_generated.cpp
+++ b/FreeFileSync/Source/ui/gui_generated.cpp
@@ -19,1728 +19,1917 @@
MainDialogGenerated::MainDialogGenerated( 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( 640,400 ), wxDefaultSize );
-
- m_menubar1 = new wxMenuBar( 0 );
- m_menuFile = new wxMenu();
- m_menuItemNew = new wxMenuItem( m_menuFile, wxID_NEW, wxString( _("&New") ) + wxT('\t') + wxT("Ctrl+N"), wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItemNew );
-
- m_menuItemLoad = new wxMenuItem( m_menuFile, wxID_OPEN, wxString( _("&Open...") ) + wxT('\t') + wxT("Ctrl+O"), wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItemLoad );
-
- m_menuItemSave = new wxMenuItem( m_menuFile, wxID_SAVE, wxString( _("&Save") ) + wxT('\t') + wxT("Ctrl+S"), wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItemSave );
-
- m_menuItemSaveAs = new wxMenuItem( m_menuFile, wxID_SAVEAS, wxString( _("Save &as...") ) , wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItemSaveAs );
-
- m_menuItem7 = new wxMenuItem( m_menuFile, wxID_ANY, wxString( _("Save as &batch job...") ) , wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItem7 );
-
- m_menuFile->AppendSeparator();
-
- m_menuItem10 = new wxMenuItem( m_menuFile, wxID_ANY, wxString( _("1. &Compare") ) + wxT('\t') + wxT("F5"), wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItem10 );
-
- m_menuItem11 = new wxMenuItem( m_menuFile, wxID_ANY, wxString( _("2. &Synchronize") ) + wxT('\t') + wxT("F9"), wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItem11 );
-
- m_menuFile->AppendSeparator();
-
- wxMenuItem* m_menuItem4;
- m_menuItem4 = new wxMenuItem( m_menuFile, wxID_EXIT, wxString( _("&Quit") ) , wxEmptyString, wxITEM_NORMAL );
- m_menuFile->Append( m_menuItem4 );
-
- m_menubar1->Append( m_menuFile, _("&Program") );
-
- m_menuTools = new wxMenu();
- m_menuItemGlobSett = new wxMenuItem( m_menuTools, wxID_PREFERENCES, wxString( _("&Global settings") ) , wxEmptyString, wxITEM_NORMAL );
- m_menuTools->Append( m_menuItemGlobSett );
-
- m_menuTools->AppendSeparator();
-
- m_menuLanguages = new wxMenu();
- m_menuTools->Append( -1, _("&Language"), m_menuLanguages );
-
- wxMenuItem* m_menuItem15;
- m_menuItem15 = new wxMenuItem( m_menuTools, wxID_FIND, wxString( _("&Find...") ) + wxT('\t') + wxT("Ctrl+F"), wxEmptyString, wxITEM_NORMAL );
- m_menuTools->Append( m_menuItem15 );
-
- wxMenuItem* m_menuItem5;
- m_menuItem5 = new wxMenuItem( m_menuTools, wxID_ANY, wxString( _("&Export file list...") ) , wxEmptyString, wxITEM_NORMAL );
- m_menuTools->Append( m_menuItem5 );
-
- m_menubar1->Append( m_menuTools, _("&Tools") );
-
- m_menuHelp = new wxMenu();
- m_menuItemManual = new wxMenuItem( m_menuHelp, wxID_HELP, wxString( _("&View help") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
- m_menuHelp->Append( m_menuItemManual );
-
- m_menuCheckVersion = new wxMenu();
- m_menuItemCheckVersionNow = new wxMenuItem( m_menuCheckVersion, wxID_ANY, wxString( _("&Check now") ) , wxEmptyString, wxITEM_NORMAL );
- m_menuCheckVersion->Append( m_menuItemCheckVersionNow );
-
- m_menuItemCheckVersionAuto = new wxMenuItem( m_menuCheckVersion, wxID_ANY, wxString( _("Check &automatically once a week") ) , wxEmptyString, wxITEM_CHECK );
- m_menuCheckVersion->Append( m_menuItemCheckVersionAuto );
- m_menuItemCheckVersionAuto->Check( true );
-
- m_menuHelp->Append( -1, _("&Check for new version"), m_menuCheckVersion );
-
- 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 );
-
- bSizerPanelHolder = new wxBoxSizer( wxVERTICAL );
-
- m_panelTopButtons = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxRAISED_BORDER|wxTAB_TRAVERSAL );
- bSizerTopButtons = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizerTopButtons->Add( 15, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- wxBoxSizer* bSizer1721;
- bSizer1721 = new wxBoxSizer( wxHORIZONTAL );
-
- m_buttonCompare = new zen::BitmapTextButton( m_panelTopButtons, wxID_ANY, _("Compare"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_buttonCompare->SetDefault();
- m_buttonCompare->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
- m_buttonCompare->SetToolTip( _("dummy") );
-
- bSizer1721->Add( m_buttonCompare, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- m_buttonCancel = new zen::BitmapTextButton( m_panelTopButtons, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( 180,-1 ), 0 );
- m_buttonCancel->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
- m_buttonCancel->Enable( false );
- m_buttonCancel->Hide();
-
- bSizer1721->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- m_bpButtonCmpConfig = new wxBitmapButton( m_panelTopButtons, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 44,44 ), wxBU_AUTODRAW );
- m_bpButtonCmpConfig->SetToolTip( _("dummy") );
-
- bSizer1721->Add( m_bpButtonCmpConfig, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 3 );
-
-
- bSizer1721->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bpButtonFilter = new wxBitmapButton( m_panelTopButtons, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 60,44 ), wxBU_AUTODRAW|wxFULL_REPAINT_ON_RESIZE );
- bSizer1721->Add( m_bpButtonFilter, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
-
-
- bSizer1721->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bpButtonSyncConfig = new wxBitmapButton( m_panelTopButtons, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 44,44 ), wxBU_AUTODRAW );
- m_bpButtonSyncConfig->SetToolTip( _("dummy") );
-
- bSizer1721->Add( m_bpButtonSyncConfig, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxEXPAND, 3 );
-
- m_buttonSync = new zen::BitmapTextButton( m_panelTopButtons, wxID_ANY, _("Synchronize"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_buttonSync->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
- m_buttonSync->SetToolTip( _("dummy") );
-
- bSizer1721->Add( m_buttonSync, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizerTopButtons->Add( bSizer1721, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 4 );
-
-
- bSizerTopButtons->Add( 15, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- m_panelTopButtons->SetSizer( bSizerTopButtons );
- m_panelTopButtons->Layout();
- bSizerTopButtons->Fit( m_panelTopButtons );
- bSizerPanelHolder->Add( m_panelTopButtons, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
- m_panelDirectoryPairs = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSTATIC_BORDER|wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer1601;
- bSizer1601 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer91;
- bSizer91 = new wxBoxSizer( wxHORIZONTAL );
-
- m_panelTopLeft = new wxPanel( m_panelDirectoryPairs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panelTopLeft->SetMinSize( wxSize( 1,-1 ) );
-
- wxFlexGridSizer* fgSizer8;
- fgSizer8 = new wxFlexGridSizer( 0, 2, 0, 0 );
- fgSizer8->AddGrowableCol( 1 );
- fgSizer8->SetFlexibleDirection( wxBOTH );
- fgSizer8->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL );
-
-
- fgSizer8->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticTextResolvedPathL = new wxStaticText( m_panelTopLeft, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextResolvedPathL->Wrap( -1 );
- fgSizer8->Add( m_staticTextResolvedPathL, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
- wxBoxSizer* bSizer159;
- bSizer159 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bpButtonAddPair = new wxBitmapButton( m_panelTopLeft, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- m_bpButtonAddPair->SetToolTip( _("Add folder pair") );
-
- bSizer159->Add( m_bpButtonAddPair, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bpButtonRemovePair = new wxBitmapButton( m_panelTopLeft, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- m_bpButtonRemovePair->SetToolTip( _("Remove folder pair") );
-
- bSizer159->Add( m_bpButtonRemovePair, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- fgSizer8->Add( bSizer159, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- wxBoxSizer* bSizer182;
- bSizer182 = new wxBoxSizer( wxHORIZONTAL );
-
- m_directoryLeft = new FolderHistoryBox( m_panelTopLeft, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- bSizer182->Add( m_directoryLeft, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_buttonSelectDirLeft = new wxButton( m_panelTopLeft, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonSelectDirLeft->SetToolTip( _("Select a folder") );
-
- bSizer182->Add( m_buttonSelectDirLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- fgSizer8->Add( bSizer182, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- m_panelTopLeft->SetSizer( fgSizer8 );
- m_panelTopLeft->Layout();
- fgSizer8->Fit( m_panelTopLeft );
- bSizer91->Add( m_panelTopLeft, 1, wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_panelTopMiddle = new wxPanel( m_panelDirectoryPairs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer1771;
- bSizer1771 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer1771->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_bpButtonSwapSides = new wxBitmapButton( m_panelTopMiddle, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW );
- m_bpButtonSwapSides->SetToolTip( _("Swap sides") );
-
- bSizer1771->Add( m_bpButtonSwapSides, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
- wxBoxSizer* bSizer160;
- bSizer160 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bpButtonAltCompCfg = new wxBitmapButton( m_panelTopMiddle, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- bSizer160->Add( m_bpButtonAltCompCfg, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bpButtonLocalFilter = new wxBitmapButton( m_panelTopMiddle, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- bSizer160->Add( m_bpButtonLocalFilter, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 2 );
-
- m_bpButtonAltSyncCfg = new wxBitmapButton( m_panelTopMiddle, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- bSizer160->Add( m_bpButtonAltSyncCfg, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer1771->Add( bSizer160, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizer1771->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- m_panelTopMiddle->SetSizer( bSizer1771 );
- m_panelTopMiddle->Layout();
- bSizer1771->Fit( m_panelTopMiddle );
- bSizer91->Add( m_panelTopMiddle, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- m_panelTopRight = new wxPanel( m_panelDirectoryPairs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panelTopRight->SetMinSize( wxSize( 1,-1 ) );
-
- wxBoxSizer* bSizer183;
- bSizer183 = new wxBoxSizer( wxVERTICAL );
-
- m_staticTextResolvedPathR = new wxStaticText( m_panelTopRight, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextResolvedPathR->Wrap( -1 );
- bSizer183->Add( m_staticTextResolvedPathR, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
- wxBoxSizer* bSizer179;
- bSizer179 = new wxBoxSizer( wxHORIZONTAL );
-
- m_directoryRight = new FolderHistoryBox( m_panelTopRight, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- bSizer179->Add( m_directoryRight, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_buttonSelectDirRight = new wxButton( m_panelTopRight, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonSelectDirRight->SetToolTip( _("Select a folder") );
-
- bSizer179->Add( m_buttonSelectDirRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer183->Add( bSizer179, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- m_panelTopRight->SetSizer( bSizer183 );
- m_panelTopRight->Layout();
- bSizer183->Fit( m_panelTopRight );
- bSizer91->Add( m_panelTopRight, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
-
- bSizer1601->Add( bSizer91, 0, wxEXPAND, 5 );
-
- m_scrolledWindowFolderPairs = new wxScrolledWindow( m_panelDirectoryPairs, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxHSCROLL|wxVSCROLL );
- m_scrolledWindowFolderPairs->SetScrollRate( 10, 10 );
- m_scrolledWindowFolderPairs->SetMinSize( wxSize( -1,0 ) );
-
- bSizerAddFolderPairs = new wxBoxSizer( wxVERTICAL );
-
-
- m_scrolledWindowFolderPairs->SetSizer( bSizerAddFolderPairs );
- m_scrolledWindowFolderPairs->Layout();
- bSizerAddFolderPairs->Fit( m_scrolledWindowFolderPairs );
- bSizer1601->Add( m_scrolledWindowFolderPairs, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- m_panelDirectoryPairs->SetSizer( bSizer1601 );
- m_panelDirectoryPairs->Layout();
- bSizer1601->Fit( m_panelDirectoryPairs );
- bSizerPanelHolder->Add( m_panelDirectoryPairs, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
- m_gridNavi = new zen::Grid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
- m_gridNavi->SetScrollRate( 5, 5 );
- bSizerPanelHolder->Add( m_gridNavi, 1, wxEXPAND, 5 );
-
- m_panelCenter = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer1711;
- bSizer1711 = new wxBoxSizer( wxVERTICAL );
-
- m_splitterMain = new zen::TripleSplitter( m_panelCenter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer1781;
- bSizer1781 = new wxBoxSizer( wxHORIZONTAL );
-
- m_gridMainL = new zen::Grid( m_splitterMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
- m_gridMainL->SetScrollRate( 5, 5 );
- bSizer1781->Add( m_gridMainL, 1, wxEXPAND, 5 );
-
- m_gridMainC = new zen::Grid( m_splitterMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
- m_gridMainC->SetScrollRate( 5, 5 );
- bSizer1781->Add( m_gridMainC, 0, wxEXPAND, 5 );
-
- m_gridMainR = new zen::Grid( m_splitterMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
- m_gridMainR->SetScrollRate( 5, 5 );
- bSizer1781->Add( m_gridMainR, 1, wxEXPAND, 5 );
-
-
- m_splitterMain->SetSizer( bSizer1781 );
- m_splitterMain->Layout();
- bSizer1781->Fit( m_splitterMain );
- bSizer1711->Add( m_splitterMain, 1, wxEXPAND, 5 );
-
- m_panelStatusBar = new wxPanel( m_panelCenter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSTATIC_BORDER|wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer451;
- bSizer451 = new wxBoxSizer( wxHORIZONTAL );
-
- bSizer451->SetMinSize( wxSize( -1,22 ) );
- bSizerFileStatus = new wxBoxSizer( wxHORIZONTAL );
-
- bSizerStatusLeft = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer53;
- bSizer53 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer53->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- bSizerStatusLeftDirectories = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapSmallDirectoryLeft = new wxStaticBitmap( m_panelStatusBar, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- bSizerStatusLeftDirectories->Add( m_bitmapSmallDirectoryLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatusLeftDirectories->Add( 2, 0, 0, 0, 5 );
-
- m_staticTextStatusLeftDirs = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextStatusLeftDirs->Wrap( -1 );
- bSizerStatusLeftDirectories->Add( m_staticTextStatusLeftDirs, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizer53->Add( bSizerStatusLeftDirectories, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- bSizerStatusLeftFiles = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizerStatusLeftFiles->Add( 10, 0, 0, 0, 5 );
-
- m_bitmapSmallFileLeft = new wxStaticBitmap( m_panelStatusBar, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- bSizerStatusLeftFiles->Add( m_bitmapSmallFileLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatusLeftFiles->Add( 2, 0, 0, 0, 5 );
-
- m_staticTextStatusLeftFiles = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextStatusLeftFiles->Wrap( -1 );
- bSizerStatusLeftFiles->Add( m_staticTextStatusLeftFiles, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatusLeftFiles->Add( 4, 0, 0, 0, 5 );
-
- m_staticTextStatusLeftBytes = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextStatusLeftBytes->Wrap( -1 );
- bSizerStatusLeftFiles->Add( m_staticTextStatusLeftBytes, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer53->Add( bSizerStatusLeftFiles, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer53->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatusLeft->Add( bSizer53, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticline9 = new wxStaticLine( m_panelStatusBar, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizerStatusLeft->Add( m_staticline9, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP, 2 );
-
-
- bSizerFileStatus->Add( bSizerStatusLeft, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerFileStatus->Add( 26, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextStatusMiddle = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextStatusMiddle->Wrap( -1 );
- bSizerFileStatus->Add( m_staticTextStatusMiddle, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerFileStatus->Add( 26, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- bSizerStatusRight = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticline10 = new wxStaticLine( m_panelStatusBar, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizerStatusRight->Add( m_staticline10, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP, 2 );
-
- wxBoxSizer* bSizer52;
- bSizer52 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer52->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- bSizerStatusRightDirectories = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapSmallDirectoryRight = new wxStaticBitmap( m_panelStatusBar, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- bSizerStatusRightDirectories->Add( m_bitmapSmallDirectoryRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatusRightDirectories->Add( 2, 0, 0, 0, 5 );
-
- m_staticTextStatusRightDirs = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextStatusRightDirs->Wrap( -1 );
- bSizerStatusRightDirectories->Add( m_staticTextStatusRightDirs, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer52->Add( bSizerStatusRightDirectories, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- bSizerStatusRightFiles = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizerStatusRightFiles->Add( 10, 0, 0, 0, 5 );
-
- m_bitmapSmallFileRight = new wxStaticBitmap( m_panelStatusBar, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- bSizerStatusRightFiles->Add( m_bitmapSmallFileRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatusRightFiles->Add( 2, 0, 0, 0, 5 );
-
- m_staticTextStatusRightFiles = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextStatusRightFiles->Wrap( -1 );
- bSizerStatusRightFiles->Add( m_staticTextStatusRightFiles, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatusRightFiles->Add( 4, 0, 0, 0, 5 );
-
- m_staticTextStatusRightBytes = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextStatusRightBytes->Wrap( -1 );
- bSizerStatusRightFiles->Add( m_staticTextStatusRightBytes, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer52->Add( bSizerStatusRightFiles, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer52->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatusRight->Add( bSizer52, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerFileStatus->Add( bSizerStatusRight, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer451->Add( bSizerFileStatus, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- m_staticTextFullStatus = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextFullStatus->Wrap( -1 );
- m_staticTextFullStatus->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer451->Add( m_staticTextFullStatus, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
-
- m_panelStatusBar->SetSizer( bSizer451 );
- m_panelStatusBar->Layout();
- bSizer451->Fit( m_panelStatusBar );
- bSizer1711->Add( m_panelStatusBar, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
-
- m_panelCenter->SetSizer( bSizer1711 );
- m_panelCenter->Layout();
- bSizer1711->Fit( m_panelCenter );
- bSizerPanelHolder->Add( m_panelCenter, 1, wxEXPAND, 5 );
-
- m_panelSearch = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer1713;
- bSizer1713 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bpButtonHideSearch = new wxBitmapButton( m_panelSearch, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- m_bpButtonHideSearch->SetToolTip( _("Close search bar") );
-
- bSizer1713->Add( m_bpButtonHideSearch, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_staticText101 = new wxStaticText( m_panelSearch, wxID_ANY, _("Find:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText101->Wrap( -1 );
- bSizer1713->Add( m_staticText101, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_textCtrlSearchTxt = new wxTextCtrl( m_panelSearch, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 220,-1 ), 0|wxWANTS_CHARS );
- m_textCtrlSearchTxt->SetMaxLength( 0 );
- bSizer1713->Add( m_textCtrlSearchTxt, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
-
- m_checkBoxMatchCase = new wxCheckBox( m_panelSearch, wxID_ANY, _("Match case"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer1713->Add( m_checkBoxMatchCase, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
-
- m_panelSearch->SetSizer( bSizer1713 );
- m_panelSearch->Layout();
- bSizer1713->Fit( m_panelSearch );
- bSizerPanelHolder->Add( m_panelSearch, 0, 0, 5 );
-
- m_panelConfig = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- bSizerConfig = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer151;
- bSizer151 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bpButtonOpen = new wxBitmapButton( m_panelConfig, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- m_bpButtonOpen->SetToolTip( _("dummy") );
-
- bSizer151->Add( m_bpButtonOpen, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bpButtonSave = new wxBitmapButton( m_panelConfig, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- m_bpButtonSave->SetToolTip( _("dummy") );
-
- bSizer151->Add( m_bpButtonSave, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bpButtonBatchJob = new wxBitmapButton( m_panelConfig, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- m_bpButtonBatchJob->SetToolTip( _("Save as batch job") );
-
- bSizer151->Add( m_bpButtonBatchJob, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerConfig->Add( bSizer151, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_listBoxHistory = new wxListBox( m_panelConfig, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_EXTENDED|wxLB_NEEDED_SB );
- m_listBoxHistory->SetMinSize( wxSize( -1,40 ) );
-
- bSizerConfig->Add( m_listBoxHistory, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- m_panelConfig->SetSizer( bSizerConfig );
- m_panelConfig->Layout();
- bSizerConfig->Fit( m_panelConfig );
- bSizerPanelHolder->Add( m_panelConfig, 0, 0, 5 );
-
- m_panelViewFilter = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- bSizerViewFilter = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticTextViewType = new wxStaticText( m_panelViewFilter, wxID_ANY, _("View type:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextViewType->Wrap( -1 );
- bSizerViewFilter->Add( m_staticTextViewType, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonViewTypeSyncAction = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 82,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonViewTypeSyncAction, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxRIGHT, 5 );
-
- m_bpButtonShowExcluded = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowExcluded, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizerViewFilter->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticTextSelectView = new wxStaticText( m_panelViewFilter, wxID_ANY, _("Select view:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextSelectView->Wrap( -1 );
- bSizerViewFilter->Add( m_staticTextSelectView, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowCreateLeft = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowCreateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowUpdateLeft = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowUpdateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowDeleteLeft = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowDeleteLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowLeftOnly = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowLeftOnly, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowLeftNewer = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowLeftNewer, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowEqual = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowEqual, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowDoNothing = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowDoNothing, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowDifferent = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowDifferent, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowRightNewer = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowRightNewer, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowRightOnly = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowRightOnly, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowDeleteRight = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowDeleteRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowUpdateRight = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowUpdateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowCreateRight = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowCreateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonShowConflict = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
- bSizerViewFilter->Add( m_bpButtonShowConflict, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizerViewFilter->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticText96 = new wxStaticText( m_panelViewFilter, wxID_ANY, _("Statistics:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText96->Wrap( -1 );
- bSizerViewFilter->Add( m_staticText96, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_panelStatistics = new wxPanel( m_panelViewFilter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
- m_panelStatistics->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- bSizer1801 = new wxBoxSizer( wxVERTICAL );
-
- bSizerStatistics = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer1712;
- bSizer1712 = new wxBoxSizer( wxVERTICAL );
-
- m_bitmapCreateLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapCreateLeft->SetToolTip( _("Number of files and folders that will be created") );
-
- bSizer1712->Add( m_bitmapCreateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizer1712->Add( 5, 2, 0, 0, 5 );
-
-
- bSizer1712->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticTextCreateLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextCreateLeft->Wrap( -1 );
- m_staticTextCreateLeft->SetToolTip( _("Number of files and folders that will be created") );
-
- bSizer1712->Add( m_staticTextCreateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizerStatistics->Add( bSizer1712, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizerStatistics->Add( 5, 5, 0, 0, 5 );
-
- wxBoxSizer* bSizer172;
- bSizer172 = new wxBoxSizer( wxVERTICAL );
-
- m_bitmapUpdateLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapUpdateLeft->SetToolTip( _("Number of files that will be overwritten") );
-
- bSizer172->Add( m_bitmapUpdateLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer172->Add( 5, 2, 0, 0, 5 );
-
-
- bSizer172->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticTextUpdateLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextUpdateLeft->Wrap( -1 );
- m_staticTextUpdateLeft->SetToolTip( _("Number of files that will be overwritten") );
-
- bSizer172->Add( m_staticTextUpdateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizerStatistics->Add( bSizer172, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizerStatistics->Add( 5, 5, 0, 0, 5 );
-
- wxBoxSizer* bSizer173;
- bSizer173 = new wxBoxSizer( wxVERTICAL );
-
- m_bitmapDeleteLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapDeleteLeft->SetToolTip( _("Number of files and folders that will be deleted") );
-
- bSizer173->Add( m_bitmapDeleteLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer173->Add( 5, 2, 0, 0, 5 );
-
-
- bSizer173->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticTextDeleteLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextDeleteLeft->Wrap( -1 );
- m_staticTextDeleteLeft->SetToolTip( _("Number of files and folders that will be deleted") );
-
- bSizer173->Add( m_staticTextDeleteLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatistics->Add( bSizer173, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizerStatistics->Add( 5, 5, 0, 0, 5 );
-
- bSizerData = new wxBoxSizer( wxVERTICAL );
-
- m_bitmapData = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapData->SetToolTip( _("Total bytes to copy") );
-
- bSizerData->Add( m_bitmapData, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizerData->Add( 5, 2, 0, 0, 5 );
-
-
- bSizerData->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticTextData = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextData->Wrap( -1 );
- m_staticTextData->SetToolTip( _("Total bytes to copy") );
-
- bSizerData->Add( m_staticTextData, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatistics->Add( bSizerData, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizerStatistics->Add( 5, 5, 0, 0, 5 );
-
- wxBoxSizer* bSizer176;
- bSizer176 = new wxBoxSizer( wxVERTICAL );
-
- m_bitmapDeleteRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapDeleteRight->SetToolTip( _("Number of files and folders that will be deleted") );
-
- bSizer176->Add( m_bitmapDeleteRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer176->Add( 5, 2, 0, 0, 5 );
-
-
- bSizer176->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticTextDeleteRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextDeleteRight->Wrap( -1 );
- m_staticTextDeleteRight->SetToolTip( _("Number of files and folders that will be deleted") );
-
- bSizer176->Add( m_staticTextDeleteRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatistics->Add( bSizer176, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizerStatistics->Add( 5, 5, 0, 0, 5 );
-
- wxBoxSizer* bSizer177;
- bSizer177 = new wxBoxSizer( wxVERTICAL );
-
- m_bitmapUpdateRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapUpdateRight->SetToolTip( _("Number of files that will be overwritten") );
-
- bSizer177->Add( m_bitmapUpdateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizer177->Add( 5, 2, 0, 0, 5 );
-
-
- bSizer177->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticTextUpdateRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextUpdateRight->Wrap( -1 );
- m_staticTextUpdateRight->SetToolTip( _("Number of files that will be overwritten") );
-
- bSizer177->Add( m_staticTextUpdateRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatistics->Add( bSizer177, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizerStatistics->Add( 5, 5, 0, 0, 5 );
-
- wxBoxSizer* bSizer178;
- bSizer178 = new wxBoxSizer( wxVERTICAL );
-
- m_bitmapCreateRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapCreateRight->SetToolTip( _("Number of files and folders that will be created") );
-
- bSizer178->Add( m_bitmapCreateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizer178->Add( 5, 2, 0, 0, 5 );
-
-
- bSizer178->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticTextCreateRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextCreateRight->Wrap( -1 );
- m_staticTextCreateRight->SetToolTip( _("Number of files and folders that will be created") );
-
- bSizer178->Add( m_staticTextCreateRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStatistics->Add( bSizer178, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer1801->Add( bSizerStatistics, 0, wxALIGN_CENTER_VERTICAL|wxALL, 4 );
-
-
- m_panelStatistics->SetSizer( bSizer1801 );
- m_panelStatistics->Layout();
- bSizer1801->Fit( m_panelStatistics );
- bSizerViewFilter->Add( m_panelStatistics, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- m_panelViewFilter->SetSizer( bSizerViewFilter );
- m_panelViewFilter->Layout();
- bSizerViewFilter->Fit( m_panelViewFilter );
- bSizerPanelHolder->Add( m_panelViewFilter, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- this->SetSizer( bSizerPanelHolder );
- this->Layout();
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainDialogGenerated::OnClose ) );
- this->Connect( m_menuItemNew->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnConfigNew ) );
- this->Connect( m_menuItemLoad->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnConfigLoad ) );
- this->Connect( m_menuItemSave->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnConfigSave ) );
- this->Connect( m_menuItemSaveAs->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnConfigSaveAs ) );
- this->Connect( m_menuItem7->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnSaveAsBatchJob ) );
- this->Connect( m_menuItem10->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnCompare ) );
- this->Connect( m_menuItem11->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnStartSync ) );
- this->Connect( m_menuItem4->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuQuit ) );
- this->Connect( m_menuItemGlobSett->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuGlobalSettings ) );
- this->Connect( m_menuItem15->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuFindItem ) );
- this->Connect( m_menuItem5->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuExportFileList ) );
- this->Connect( m_menuItemManual->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnShowHelp ) );
- this->Connect( m_menuItemCheckVersionNow->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuCheckVersion ) );
- this->Connect( m_menuItemCheckVersionAuto->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuCheckVersionAutomatically ) );
- this->Connect( m_menuItemAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuAbout ) );
- m_buttonCompare->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnCompare ), NULL, this );
- m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnCmpSettings ), NULL, this );
- m_bpButtonCmpConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnCompSettingsContext ), NULL, this );
- m_bpButtonFilter->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnConfigureFilter ), NULL, this );
- m_bpButtonFilter->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnGlobalFilterContext ), NULL, this );
- m_bpButtonSyncConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSyncSettings ), NULL, this );
- m_bpButtonSyncConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnSyncSettingsContext ), NULL, this );
- m_buttonSync->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnStartSync ), NULL, this );
- m_bpButtonAddPair->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnAddFolderPair ), NULL, this );
- m_bpButtonRemovePair->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnRemoveTopFolderPair ), NULL, this );
- m_bpButtonSwapSides->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSwapSides ), NULL, this );
- m_bpButtonHideSearch->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnHideSearchPanel ), NULL, this );
- m_textCtrlSearchTxt->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( MainDialogGenerated::OnSearchGridEnter ), NULL, this );
- m_bpButtonOpen->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnConfigLoad ), NULL, this );
- m_bpButtonSave->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnConfigSave ), NULL, this );
- m_bpButtonBatchJob->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSaveAsBatchJob ), NULL, this );
- m_listBoxHistory->Connect( wxEVT_CHAR, wxKeyEventHandler( MainDialogGenerated::OnCfgHistoryKeyEvent ), NULL, this );
- m_listBoxHistory->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnLoadFromHistory ), NULL, this );
- m_listBoxHistory->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainDialogGenerated::OnLoadFromHistoryDoubleClick ), NULL, this );
- m_listBoxHistory->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnCfgHistoryRightClick ), NULL, this );
- m_bpButtonViewTypeSyncAction->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewType ), NULL, this );
- m_bpButtonShowExcluded->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowExcluded->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowCreateLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowCreateLeft->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowUpdateLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowUpdateLeft->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowDeleteLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowDeleteLeft->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowLeftOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowLeftOnly->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowLeftNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowLeftNewer->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowEqual->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowEqual->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowDoNothing->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowDoNothing->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowDifferent->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowDifferent->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowRightNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowRightNewer->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowRightOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowRightOnly->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowDeleteRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowDeleteRight->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowUpdateRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowUpdateRight->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowCreateRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowCreateRight->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
- m_bpButtonShowConflict->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
- m_bpButtonShowConflict->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ this->SetSizeHints( wxSize( 640,400 ), wxDefaultSize );
+
+ m_menubar1 = new wxMenuBar( 0 );
+ m_menuFile = new wxMenu();
+ m_menuItemNew = new wxMenuItem( m_menuFile, wxID_NEW, wxString( _("&New") ) + wxT('\t') + wxT("Ctrl+N"), wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItemNew );
+
+ m_menuItemLoad = new wxMenuItem( m_menuFile, wxID_OPEN, wxString( _("&Open...") ) + wxT('\t') + wxT("Ctrl+O"), wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItemLoad );
+
+ m_menuItemSave = new wxMenuItem( m_menuFile, wxID_SAVE, wxString( _("&Save") ) + wxT('\t') + wxT("Ctrl+S"), wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItemSave );
+
+ m_menuItemSaveAs = new wxMenuItem( m_menuFile, wxID_SAVEAS, wxString( _("Save &as...") ) , wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItemSaveAs );
+
+ m_menuItem7 = new wxMenuItem( m_menuFile, wxID_ANY, wxString( _("Save as &batch job...") ) , wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItem7 );
+
+ m_menuFile->AppendSeparator();
+
+ m_menuItem10 = new wxMenuItem( m_menuFile, wxID_ANY, wxString( _("1. &Compare") ) + wxT('\t') + wxT("F5"), wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItem10 );
+
+ m_menuItem11 = new wxMenuItem( m_menuFile, wxID_ANY, wxString( _("2. &Synchronize") ) + wxT('\t') + wxT("F9"), wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItem11 );
+
+ m_menuFile->AppendSeparator();
+
+ wxMenuItem* m_menuItem4;
+ m_menuItem4 = new wxMenuItem( m_menuFile, wxID_EXIT, wxString( _("&Quit") ) , wxEmptyString, wxITEM_NORMAL );
+ m_menuFile->Append( m_menuItem4 );
+
+ m_menubar1->Append( m_menuFile, _("&Program") );
+
+ m_menuTools = new wxMenu();
+ m_menuItemGlobSett = new wxMenuItem( m_menuTools, wxID_PREFERENCES, wxString( _("&Global settings") ) , wxEmptyString, wxITEM_NORMAL );
+ m_menuTools->Append( m_menuItemGlobSett );
+
+ m_menuTools->AppendSeparator();
+
+ m_menuLanguages = new wxMenu();
+ m_menuTools->Append( -1, _("&Language"), m_menuLanguages );
+
+ wxMenuItem* m_menuItem15;
+ m_menuItem15 = new wxMenuItem( m_menuTools, wxID_FIND, wxString( _("&Find...") ) + wxT('\t') + wxT("Ctrl+F"), wxEmptyString, wxITEM_NORMAL );
+ m_menuTools->Append( m_menuItem15 );
+
+ wxMenuItem* m_menuItem5;
+ m_menuItem5 = new wxMenuItem( m_menuTools, wxID_ANY, wxString( _("&Export file list...") ) , wxEmptyString, wxITEM_NORMAL );
+ m_menuTools->Append( m_menuItem5 );
+
+ m_menubar1->Append( m_menuTools, _("&Tools") );
+
+ m_menuHelp = new wxMenu();
+ m_menuItemManual = new wxMenuItem( m_menuHelp, wxID_HELP, wxString( _("&View help") ) + wxT('\t') + wxT("F1"), wxEmptyString, wxITEM_NORMAL );
+ m_menuHelp->Append( m_menuItemManual );
+
+ m_menuCheckVersion = new wxMenu();
+ m_menuItemCheckVersionNow = new wxMenuItem( m_menuCheckVersion, wxID_ANY, wxString( _("&Check now") ) , wxEmptyString, wxITEM_NORMAL );
+ m_menuCheckVersion->Append( m_menuItemCheckVersionNow );
+
+ m_menuItemCheckVersionAuto = new wxMenuItem( m_menuCheckVersion, wxID_ANY, wxString( _("Check &automatically once a week") ) , wxEmptyString, wxITEM_CHECK );
+ m_menuCheckVersion->Append( m_menuItemCheckVersionAuto );
+ m_menuItemCheckVersionAuto->Check( true );
+
+ m_menuHelp->Append( -1, _("&Check for new version"), m_menuCheckVersion );
+
+ 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 );
+
+ bSizerPanelHolder = new wxBoxSizer( wxVERTICAL );
+
+ m_panelTopButtons = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxRAISED_BORDER|wxTAB_TRAVERSAL );
+ bSizerTopButtons = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizerTopButtons->Add( 15, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ wxBoxSizer* bSizer1721;
+ bSizer1721 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_buttonCompare = new zen::BitmapTextButton( m_panelTopButtons, wxID_ANY, _("Compare"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_buttonCompare->SetDefault();
+ m_buttonCompare->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+ m_buttonCompare->SetToolTip( _("dummy") );
+
+ bSizer1721->Add( m_buttonCompare, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ m_buttonCancel = new zen::BitmapTextButton( m_panelTopButtons, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( 180,-1 ), 0 );
+ m_buttonCancel->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+ m_buttonCancel->Enable( false );
+ m_buttonCancel->Hide();
+
+ bSizer1721->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ m_bpButtonCmpConfig = new wxBitmapButton( m_panelTopButtons, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 44,44 ), wxBU_AUTODRAW );
+ m_bpButtonCmpConfig->SetToolTip( _("dummy") );
+
+ bSizer1721->Add( m_bpButtonCmpConfig, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 3 );
+
+
+ bSizer1721->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonFilter = new wxBitmapButton( m_panelTopButtons, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 60,44 ), wxBU_AUTODRAW|wxFULL_REPAINT_ON_RESIZE );
+ bSizer1721->Add( m_bpButtonFilter, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
+
+
+ bSizer1721->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonSyncConfig = new wxBitmapButton( m_panelTopButtons, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 44,44 ), wxBU_AUTODRAW );
+ m_bpButtonSyncConfig->SetToolTip( _("dummy") );
+
+ bSizer1721->Add( m_bpButtonSyncConfig, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxEXPAND, 3 );
+
+ m_buttonSync = new zen::BitmapTextButton( m_panelTopButtons, wxID_ANY, _("Synchronize"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_buttonSync->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+ m_buttonSync->SetToolTip( _("dummy") );
+
+ bSizer1721->Add( m_buttonSync, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizerTopButtons->Add( bSizer1721, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 4 );
+
+
+ bSizerTopButtons->Add( 15, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ m_panelTopButtons->SetSizer( bSizerTopButtons );
+ m_panelTopButtons->Layout();
+ bSizerTopButtons->Fit( m_panelTopButtons );
+ bSizerPanelHolder->Add( m_panelTopButtons, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
+
+ m_panelDirectoryPairs = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSTATIC_BORDER|wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizer1601;
+ bSizer1601 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer91;
+ bSizer91 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_panelTopLeft = new wxPanel( m_panelDirectoryPairs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelTopLeft->SetMinSize( wxSize( 1,-1 ) );
+
+ wxFlexGridSizer* fgSizer8;
+ fgSizer8 = new wxFlexGridSizer( 0, 2, 0, 0 );
+ fgSizer8->AddGrowableCol( 1 );
+ fgSizer8->SetFlexibleDirection( wxBOTH );
+ fgSizer8->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_ALL );
+
+
+ fgSizer8->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticTextResolvedPathL = new wxStaticText( m_panelTopLeft, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextResolvedPathL->Wrap( -1 );
+ fgSizer8->Add( m_staticTextResolvedPathL, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
+
+ wxBoxSizer* bSizer159;
+ bSizer159 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bpButtonAddPair = new wxBitmapButton( m_panelTopLeft, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ m_bpButtonAddPair->SetToolTip( _("Add folder pair") );
+
+ bSizer159->Add( m_bpButtonAddPair, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonRemovePair = new wxBitmapButton( m_panelTopLeft, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ m_bpButtonRemovePair->SetToolTip( _("Remove folder pair") );
+
+ bSizer159->Add( m_bpButtonRemovePair, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ fgSizer8->Add( bSizer159, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ wxBoxSizer* bSizer182;
+ bSizer182 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_directoryLeft = new FolderHistoryBox( m_panelTopLeft, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ bSizer182->Add( m_directoryLeft, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_buttonSelectDirLeft = new wxButton( m_panelTopLeft, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonSelectDirLeft->SetToolTip( _("Select a folder") );
+
+ bSizer182->Add( m_buttonSelectDirLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ fgSizer8->Add( bSizer182, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ m_panelTopLeft->SetSizer( fgSizer8 );
+ m_panelTopLeft->Layout();
+ fgSizer8->Fit( m_panelTopLeft );
+ bSizer91->Add( m_panelTopLeft, 1, wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_panelTopMiddle = new wxPanel( m_panelDirectoryPairs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizer1771;
+ bSizer1771 = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizer1771->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_bpButtonSwapSides = new wxBitmapButton( m_panelTopMiddle, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), wxBU_AUTODRAW );
+ m_bpButtonSwapSides->SetToolTip( _("Swap sides") );
+
+ bSizer1771->Add( m_bpButtonSwapSides, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer160;
+ bSizer160 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bpButtonAltCompCfg = new wxBitmapButton( m_panelTopMiddle, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ bSizer160->Add( m_bpButtonAltCompCfg, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonLocalFilter = new wxBitmapButton( m_panelTopMiddle, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ bSizer160->Add( m_bpButtonLocalFilter, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 2 );
+
+ m_bpButtonAltSyncCfg = new wxBitmapButton( m_panelTopMiddle, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ bSizer160->Add( m_bpButtonAltSyncCfg, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer1771->Add( bSizer160, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer1771->Add( 0, 0, 1, wxEXPAND, 5 );
+
+
+ m_panelTopMiddle->SetSizer( bSizer1771 );
+ m_panelTopMiddle->Layout();
+ bSizer1771->Fit( m_panelTopMiddle );
+ bSizer91->Add( m_panelTopMiddle, 0, wxRIGHT|wxLEFT|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ m_panelTopRight = new wxPanel( m_panelDirectoryPairs, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelTopRight->SetMinSize( wxSize( 1,-1 ) );
+
+ wxBoxSizer* bSizer183;
+ bSizer183 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticTextResolvedPathR = new wxStaticText( m_panelTopRight, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextResolvedPathR->Wrap( -1 );
+ bSizer183->Add( m_staticTextResolvedPathR, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
+
+ wxBoxSizer* bSizer179;
+ bSizer179 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_directoryRight = new FolderHistoryBox( m_panelTopRight, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ bSizer179->Add( m_directoryRight, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_buttonSelectDirRight = new wxButton( m_panelTopRight, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonSelectDirRight->SetToolTip( _("Select a folder") );
+
+ bSizer179->Add( m_buttonSelectDirRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer183->Add( bSizer179, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ m_panelTopRight->SetSizer( bSizer183 );
+ m_panelTopRight->Layout();
+ bSizer183->Fit( m_panelTopRight );
+ bSizer91->Add( m_panelTopRight, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+
+ bSizer1601->Add( bSizer91, 0, wxEXPAND, 5 );
+
+ m_scrolledWindowFolderPairs = new wxScrolledWindow( m_panelDirectoryPairs, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxHSCROLL|wxVSCROLL );
+ m_scrolledWindowFolderPairs->SetScrollRate( 10, 10 );
+ m_scrolledWindowFolderPairs->SetMinSize( wxSize( -1,0 ) );
+
+ bSizerAddFolderPairs = new wxBoxSizer( wxVERTICAL );
+
+
+ m_scrolledWindowFolderPairs->SetSizer( bSizerAddFolderPairs );
+ m_scrolledWindowFolderPairs->Layout();
+ bSizerAddFolderPairs->Fit( m_scrolledWindowFolderPairs );
+ bSizer1601->Add( m_scrolledWindowFolderPairs, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ m_panelDirectoryPairs->SetSizer( bSizer1601 );
+ m_panelDirectoryPairs->Layout();
+ bSizer1601->Fit( m_panelDirectoryPairs );
+ bSizerPanelHolder->Add( m_panelDirectoryPairs, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
+
+ m_gridNavi = new zen::Grid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
+ m_gridNavi->SetScrollRate( 5, 5 );
+ bSizerPanelHolder->Add( m_gridNavi, 1, wxEXPAND, 5 );
+
+ m_panelCenter = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizer1711;
+ bSizer1711 = new wxBoxSizer( wxVERTICAL );
+
+ m_splitterMain = new zen::TripleSplitter( m_panelCenter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizer1781;
+ bSizer1781 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_gridMainL = new zen::Grid( m_splitterMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
+ m_gridMainL->SetScrollRate( 5, 5 );
+ bSizer1781->Add( m_gridMainL, 1, wxEXPAND, 5 );
+
+ m_gridMainC = new zen::Grid( m_splitterMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
+ m_gridMainC->SetScrollRate( 5, 5 );
+ bSizer1781->Add( m_gridMainC, 0, wxEXPAND, 5 );
+
+ m_gridMainR = new zen::Grid( m_splitterMain, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
+ m_gridMainR->SetScrollRate( 5, 5 );
+ bSizer1781->Add( m_gridMainR, 1, wxEXPAND, 5 );
+
+
+ m_splitterMain->SetSizer( bSizer1781 );
+ m_splitterMain->Layout();
+ bSizer1781->Fit( m_splitterMain );
+ bSizer1711->Add( m_splitterMain, 1, wxEXPAND, 5 );
+
+ m_panelStatusBar = new wxPanel( m_panelCenter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSTATIC_BORDER|wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizer451;
+ bSizer451 = new wxBoxSizer( wxHORIZONTAL );
+
+ bSizer451->SetMinSize( wxSize( -1,22 ) );
+ bSizerFileStatus = new wxBoxSizer( wxHORIZONTAL );
+
+ bSizerStatusLeft = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer53;
+ bSizer53 = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizer53->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ bSizerStatusLeftDirectories = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapSmallDirectoryLeft = new wxStaticBitmap( m_panelStatusBar, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ bSizerStatusLeftDirectories->Add( m_bitmapSmallDirectoryLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatusLeftDirectories->Add( 2, 0, 0, 0, 5 );
+
+ m_staticTextStatusLeftDirs = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextStatusLeftDirs->Wrap( -1 );
+ bSizerStatusLeftDirectories->Add( m_staticTextStatusLeftDirs, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer53->Add( bSizerStatusLeftDirectories, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ bSizerStatusLeftFiles = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizerStatusLeftFiles->Add( 10, 0, 0, 0, 5 );
+
+ m_bitmapSmallFileLeft = new wxStaticBitmap( m_panelStatusBar, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ bSizerStatusLeftFiles->Add( m_bitmapSmallFileLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatusLeftFiles->Add( 2, 0, 0, 0, 5 );
+
+ m_staticTextStatusLeftFiles = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextStatusLeftFiles->Wrap( -1 );
+ bSizerStatusLeftFiles->Add( m_staticTextStatusLeftFiles, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatusLeftFiles->Add( 4, 0, 0, 0, 5 );
+
+ m_staticTextStatusLeftBytes = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextStatusLeftBytes->Wrap( -1 );
+ bSizerStatusLeftFiles->Add( m_staticTextStatusLeftBytes, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer53->Add( bSizerStatusLeftFiles, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer53->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatusLeft->Add( bSizer53, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticline9 = new wxStaticLine( m_panelStatusBar, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizerStatusLeft->Add( m_staticline9, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP, 2 );
+
+
+ bSizerFileStatus->Add( bSizerStatusLeft, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerFileStatus->Add( 26, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticTextStatusMiddle = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextStatusMiddle->Wrap( -1 );
+ bSizerFileStatus->Add( m_staticTextStatusMiddle, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerFileStatus->Add( 26, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ bSizerStatusRight = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticline10 = new wxStaticLine( m_panelStatusBar, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizerStatusRight->Add( m_staticline10, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL|wxTOP, 2 );
+
+ wxBoxSizer* bSizer52;
+ bSizer52 = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizer52->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ bSizerStatusRightDirectories = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapSmallDirectoryRight = new wxStaticBitmap( m_panelStatusBar, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ bSizerStatusRightDirectories->Add( m_bitmapSmallDirectoryRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatusRightDirectories->Add( 2, 0, 0, 0, 5 );
+
+ m_staticTextStatusRightDirs = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextStatusRightDirs->Wrap( -1 );
+ bSizerStatusRightDirectories->Add( m_staticTextStatusRightDirs, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer52->Add( bSizerStatusRightDirectories, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ bSizerStatusRightFiles = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizerStatusRightFiles->Add( 10, 0, 0, 0, 5 );
+
+ m_bitmapSmallFileRight = new wxStaticBitmap( m_panelStatusBar, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ bSizerStatusRightFiles->Add( m_bitmapSmallFileRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatusRightFiles->Add( 2, 0, 0, 0, 5 );
+
+ m_staticTextStatusRightFiles = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextStatusRightFiles->Wrap( -1 );
+ bSizerStatusRightFiles->Add( m_staticTextStatusRightFiles, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatusRightFiles->Add( 4, 0, 0, 0, 5 );
+
+ m_staticTextStatusRightBytes = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextStatusRightBytes->Wrap( -1 );
+ bSizerStatusRightFiles->Add( m_staticTextStatusRightBytes, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer52->Add( bSizerStatusRightFiles, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer52->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatusRight->Add( bSizer52, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerFileStatus->Add( bSizerStatusRight, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer451->Add( bSizerFileStatus, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ m_staticTextFullStatus = new wxStaticText( m_panelStatusBar, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextFullStatus->Wrap( -1 );
+ m_staticTextFullStatus->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer451->Add( m_staticTextFullStatus, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+
+ m_panelStatusBar->SetSizer( bSizer451 );
+ m_panelStatusBar->Layout();
+ bSizer451->Fit( m_panelStatusBar );
+ bSizer1711->Add( m_panelStatusBar, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
+
+
+ m_panelCenter->SetSizer( bSizer1711 );
+ m_panelCenter->Layout();
+ bSizer1711->Fit( m_panelCenter );
+ bSizerPanelHolder->Add( m_panelCenter, 1, wxEXPAND, 5 );
+
+ m_panelSearch = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizer1713;
+ bSizer1713 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bpButtonHideSearch = new wxBitmapButton( m_panelSearch, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ m_bpButtonHideSearch->SetToolTip( _("Close search bar") );
+
+ bSizer1713->Add( m_bpButtonHideSearch, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_staticText101 = new wxStaticText( m_panelSearch, wxID_ANY, _("Find:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText101->Wrap( -1 );
+ bSizer1713->Add( m_staticText101, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_textCtrlSearchTxt = new wxTextCtrl( m_panelSearch, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 220,-1 ), 0|wxWANTS_CHARS );
+ m_textCtrlSearchTxt->SetMaxLength( 0 );
+ bSizer1713->Add( m_textCtrlSearchTxt, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
+
+ m_checkBoxMatchCase = new wxCheckBox( m_panelSearch, wxID_ANY, _("Match case"), wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer1713->Add( m_checkBoxMatchCase, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+
+ m_panelSearch->SetSizer( bSizer1713 );
+ m_panelSearch->Layout();
+ bSizer1713->Fit( m_panelSearch );
+ bSizerPanelHolder->Add( m_panelSearch, 0, 0, 5 );
+
+ m_panelConfig = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ bSizerConfig = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer151;
+ bSizer151 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer1761;
+ bSizer1761 = new wxBoxSizer( wxVERTICAL );
+
+ m_bpButtonOpen = new wxBitmapButton( m_panelConfig, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ m_bpButtonOpen->SetToolTip( _("dummy") );
+
+ bSizer1761->Add( m_bpButtonOpen, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_staticText95 = new wxStaticText( m_panelConfig, wxID_ANY, _("Open..."), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText95->Wrap( -1 );
+ bSizer1761->Add( m_staticText95, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer151->Add( bSizer1761, 0, 0, 5 );
+
+ wxBoxSizer* bSizer175;
+ bSizer175 = new wxBoxSizer( wxVERTICAL );
+
+ m_bpButtonSave = new wxBitmapButton( m_panelConfig, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ m_bpButtonSave->SetToolTip( _("dummy") );
+
+ bSizer175->Add( m_bpButtonSave, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_staticText961 = new wxStaticText( m_panelConfig, wxID_ANY, _("Save"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText961->Wrap( -1 );
+ bSizer175->Add( m_staticText961, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer151->Add( bSizer175, 0, 0, 5 );
+
+ wxBoxSizer* bSizer174;
+ bSizer174 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer1772;
+ bSizer1772 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bpButtonSaveAs = new wxBitmapButton( m_panelConfig, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ m_bpButtonSaveAs->SetToolTip( _("Save as GUI job") );
+
+ bSizer1772->Add( m_bpButtonSaveAs, 0, 0, 5 );
+
+ m_bpButtonBatchJob = new wxBitmapButton( m_panelConfig, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ m_bpButtonBatchJob->SetToolTip( _("Save as batch job") );
+
+ bSizer1772->Add( m_bpButtonBatchJob, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer174->Add( bSizer1772, 0, 0, 5 );
+
+ m_staticText97 = new wxStaticText( m_panelConfig, wxID_ANY, _("Save as..."), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText97->Wrap( -1 );
+ bSizer174->Add( m_staticText97, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer151->Add( bSizer174, 0, 0, 5 );
+
+
+ bSizerConfig->Add( bSizer151, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_listBoxHistory = new wxListBox( m_panelConfig, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_EXTENDED|wxLB_NEEDED_SB );
+ m_listBoxHistory->SetMinSize( wxSize( -1,40 ) );
+
+ bSizerConfig->Add( m_listBoxHistory, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ m_panelConfig->SetSizer( bSizerConfig );
+ m_panelConfig->Layout();
+ bSizerConfig->Fit( m_panelConfig );
+ bSizerPanelHolder->Add( m_panelConfig, 0, 0, 5 );
+
+ m_panelViewFilter = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ bSizerViewFilter = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticTextViewType = new wxStaticText( m_panelViewFilter, wxID_ANY, _("View type:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextViewType->Wrap( -1 );
+ bSizerViewFilter->Add( m_staticTextViewType, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonViewTypeSyncAction = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 82,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonViewTypeSyncAction, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxRIGHT, 5 );
+
+ m_bpButtonShowExcluded = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowExcluded, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizerViewFilter->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticTextSelectView = new wxStaticText( m_panelViewFilter, wxID_ANY, _("Select view:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextSelectView->Wrap( -1 );
+ bSizerViewFilter->Add( m_staticTextSelectView, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowCreateLeft = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowCreateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowUpdateLeft = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowUpdateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowDeleteLeft = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowDeleteLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowLeftOnly = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowLeftOnly, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowLeftNewer = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowLeftNewer, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowEqual = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowEqual, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowDoNothing = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowDoNothing, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowDifferent = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowDifferent, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowRightNewer = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowRightNewer, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowRightOnly = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowRightOnly, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowDeleteRight = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowDeleteRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowUpdateRight = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowUpdateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowCreateRight = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowCreateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonShowConflict = new ToggleButton( m_panelViewFilter, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 42,42 ), wxBU_AUTODRAW );
+ bSizerViewFilter->Add( m_bpButtonShowConflict, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizerViewFilter->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticText96 = new wxStaticText( m_panelViewFilter, wxID_ANY, _("Statistics:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText96->Wrap( -1 );
+ bSizerViewFilter->Add( m_staticText96, 0, wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_panelStatistics = new wxPanel( m_panelViewFilter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSUNKEN_BORDER|wxTAB_TRAVERSAL );
+ m_panelStatistics->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ bSizer1801 = new wxBoxSizer( wxVERTICAL );
+
+ bSizerStatistics = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer1712;
+ bSizer1712 = new wxBoxSizer( wxVERTICAL );
+
+ m_bitmapCreateLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapCreateLeft->SetToolTip( _("Number of files and folders that will be created") );
+
+ bSizer1712->Add( m_bitmapCreateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer1712->Add( 5, 2, 0, 0, 5 );
+
+
+ bSizer1712->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticTextCreateLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextCreateLeft->Wrap( -1 );
+ m_staticTextCreateLeft->SetToolTip( _("Number of files and folders that will be created") );
+
+ bSizer1712->Add( m_staticTextCreateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizerStatistics->Add( bSizer1712, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizerStatistics->Add( 5, 5, 0, 0, 5 );
+
+ wxBoxSizer* bSizer172;
+ bSizer172 = new wxBoxSizer( wxVERTICAL );
+
+ m_bitmapUpdateLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapUpdateLeft->SetToolTip( _("Number of files that will be overwritten") );
+
+ bSizer172->Add( m_bitmapUpdateLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer172->Add( 5, 2, 0, 0, 5 );
+
+
+ bSizer172->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticTextUpdateLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextUpdateLeft->Wrap( -1 );
+ m_staticTextUpdateLeft->SetToolTip( _("Number of files that will be overwritten") );
+
+ bSizer172->Add( m_staticTextUpdateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizerStatistics->Add( bSizer172, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizerStatistics->Add( 5, 5, 0, 0, 5 );
+
+ wxBoxSizer* bSizer173;
+ bSizer173 = new wxBoxSizer( wxVERTICAL );
+
+ m_bitmapDeleteLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapDeleteLeft->SetToolTip( _("Number of files and folders that will be deleted") );
+
+ bSizer173->Add( m_bitmapDeleteLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer173->Add( 5, 2, 0, 0, 5 );
+
+
+ bSizer173->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticTextDeleteLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextDeleteLeft->Wrap( -1 );
+ m_staticTextDeleteLeft->SetToolTip( _("Number of files and folders that will be deleted") );
+
+ bSizer173->Add( m_staticTextDeleteLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatistics->Add( bSizer173, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizerStatistics->Add( 5, 5, 0, 0, 5 );
+
+ bSizerData = new wxBoxSizer( wxVERTICAL );
+
+ m_bitmapData = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapData->SetToolTip( _("Total bytes to copy") );
+
+ bSizerData->Add( m_bitmapData, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizerData->Add( 5, 2, 0, 0, 5 );
+
+
+ bSizerData->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticTextData = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextData->Wrap( -1 );
+ m_staticTextData->SetToolTip( _("Total bytes to copy") );
+
+ bSizerData->Add( m_staticTextData, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatistics->Add( bSizerData, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizerStatistics->Add( 5, 5, 0, 0, 5 );
+
+ wxBoxSizer* bSizer176;
+ bSizer176 = new wxBoxSizer( wxVERTICAL );
+
+ m_bitmapDeleteRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapDeleteRight->SetToolTip( _("Number of files and folders that will be deleted") );
+
+ bSizer176->Add( m_bitmapDeleteRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer176->Add( 5, 2, 0, 0, 5 );
+
+
+ bSizer176->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticTextDeleteRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextDeleteRight->Wrap( -1 );
+ m_staticTextDeleteRight->SetToolTip( _("Number of files and folders that will be deleted") );
+
+ bSizer176->Add( m_staticTextDeleteRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatistics->Add( bSizer176, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizerStatistics->Add( 5, 5, 0, 0, 5 );
+
+ wxBoxSizer* bSizer177;
+ bSizer177 = new wxBoxSizer( wxVERTICAL );
+
+ m_bitmapUpdateRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapUpdateRight->SetToolTip( _("Number of files that will be overwritten") );
+
+ bSizer177->Add( m_bitmapUpdateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer177->Add( 5, 2, 0, 0, 5 );
+
+
+ bSizer177->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticTextUpdateRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextUpdateRight->Wrap( -1 );
+ m_staticTextUpdateRight->SetToolTip( _("Number of files that will be overwritten") );
+
+ bSizer177->Add( m_staticTextUpdateRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatistics->Add( bSizer177, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizerStatistics->Add( 5, 5, 0, 0, 5 );
+
+ wxBoxSizer* bSizer178;
+ bSizer178 = new wxBoxSizer( wxVERTICAL );
+
+ m_bitmapCreateRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapCreateRight->SetToolTip( _("Number of files and folders that will be created") );
+
+ bSizer178->Add( m_bitmapCreateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer178->Add( 5, 2, 0, 0, 5 );
+
+
+ bSizer178->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticTextCreateRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextCreateRight->Wrap( -1 );
+ m_staticTextCreateRight->SetToolTip( _("Number of files and folders that will be created") );
+
+ bSizer178->Add( m_staticTextCreateRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStatistics->Add( bSizer178, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizer1801->Add( bSizerStatistics, 0, wxALIGN_CENTER_VERTICAL|wxALL, 4 );
+
+
+ m_panelStatistics->SetSizer( bSizer1801 );
+ m_panelStatistics->Layout();
+ bSizer1801->Fit( m_panelStatistics );
+ bSizerViewFilter->Add( m_panelStatistics, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ m_panelViewFilter->SetSizer( bSizerViewFilter );
+ m_panelViewFilter->Layout();
+ bSizerViewFilter->Fit( m_panelViewFilter );
+ bSizerPanelHolder->Add( m_panelViewFilter, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ this->SetSizer( bSizerPanelHolder );
+ this->Layout();
+
+ // Connect Events
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( MainDialogGenerated::OnClose ) );
+ this->Connect( m_menuItemNew->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnConfigNew ) );
+ this->Connect( m_menuItemLoad->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnConfigLoad ) );
+ this->Connect( m_menuItemSave->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnConfigSave ) );
+ this->Connect( m_menuItemSaveAs->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnConfigSaveAs ) );
+ this->Connect( m_menuItem7->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnSaveAsBatchJob ) );
+ this->Connect( m_menuItem10->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnCompare ) );
+ this->Connect( m_menuItem11->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnStartSync ) );
+ this->Connect( m_menuItem4->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuQuit ) );
+ this->Connect( m_menuItemGlobSett->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuGlobalSettings ) );
+ this->Connect( m_menuItem15->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuFindItem ) );
+ this->Connect( m_menuItem5->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuExportFileList ) );
+ this->Connect( m_menuItemManual->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnShowHelp ) );
+ this->Connect( m_menuItemCheckVersionNow->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuCheckVersion ) );
+ this->Connect( m_menuItemCheckVersionAuto->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuCheckVersionAutomatically ) );
+ this->Connect( m_menuItemAbout->GetId(), wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnMenuAbout ) );
+ m_buttonCompare->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnCompare ), NULL, this );
+ m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnCmpSettings ), NULL, this );
+ m_bpButtonCmpConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnCompSettingsContext ), NULL, this );
+ m_bpButtonFilter->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnConfigureFilter ), NULL, this );
+ m_bpButtonFilter->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnGlobalFilterContext ), NULL, this );
+ m_bpButtonSyncConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSyncSettings ), NULL, this );
+ m_bpButtonSyncConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnSyncSettingsContext ), NULL, this );
+ m_buttonSync->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnStartSync ), NULL, this );
+ m_bpButtonAddPair->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnAddFolderPair ), NULL, this );
+ m_bpButtonRemovePair->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnRemoveTopFolderPair ), NULL, this );
+ m_bpButtonSwapSides->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSwapSides ), NULL, this );
+ m_bpButtonHideSearch->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnHideSearchPanel ), NULL, this );
+ m_textCtrlSearchTxt->Connect( wxEVT_COMMAND_TEXT_ENTER, wxCommandEventHandler( MainDialogGenerated::OnSearchGridEnter ), NULL, this );
+ m_bpButtonOpen->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnConfigLoad ), NULL, this );
+ m_bpButtonSave->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnConfigSave ), NULL, this );
+ m_bpButtonSaveAs->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnConfigSaveAs ), NULL, this );
+ m_bpButtonBatchJob->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnSaveAsBatchJob ), NULL, this );
+ m_listBoxHistory->Connect( wxEVT_CHAR, wxKeyEventHandler( MainDialogGenerated::OnCfgHistoryKeyEvent ), NULL, this );
+ m_listBoxHistory->Connect( wxEVT_COMMAND_LISTBOX_SELECTED, wxCommandEventHandler( MainDialogGenerated::OnLoadFromHistory ), NULL, this );
+ m_listBoxHistory->Connect( wxEVT_COMMAND_LISTBOX_DOUBLECLICKED, wxCommandEventHandler( MainDialogGenerated::OnLoadFromHistoryDoubleClick ), NULL, this );
+ m_listBoxHistory->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnCfgHistoryRightClick ), NULL, this );
+ m_bpButtonViewTypeSyncAction->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewType ), NULL, this );
+ m_bpButtonShowExcluded->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowExcluded->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowCreateLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowCreateLeft->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowUpdateLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowUpdateLeft->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowDeleteLeft->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowDeleteLeft->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowLeftOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowLeftOnly->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowLeftNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowLeftNewer->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowEqual->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowEqual->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowDoNothing->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowDoNothing->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowDifferent->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowDifferent->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowRightNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowRightNewer->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowRightOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowRightOnly->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowDeleteRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowDeleteRight->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowUpdateRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowUpdateRight->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowCreateRight->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowCreateRight->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
+ m_bpButtonShowConflict->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::OnToggleViewButton ), NULL, this );
+ m_bpButtonShowConflict->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::OnViewButtonRightClick ), NULL, this );
}
MainDialogGenerated::~MainDialogGenerated()
{
}
-CmpCfgDlgGenerated::CmpCfgDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
+ConfigDlgGenerated::ConfigDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer136;
- bSizer136 = new wxBoxSizer( wxVERTICAL );
-
- m_panel36 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panel36->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer159;
- bSizer159 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer182;
- bSizer182 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText91 = new wxStaticText( m_panel36, wxID_ANY, _("Select a variant:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText91->Wrap( -1 );
- bSizer182->Add( m_staticText91, 0, wxALL, 5 );
-
- wxFlexGridSizer* fgSizer16;
- fgSizer16 = new wxFlexGridSizer( 2, 2, 5, 5 );
- fgSizer16->SetFlexibleDirection( wxBOTH );
- fgSizer16->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- m_bitmapByTime = new wxStaticBitmap( m_panel36, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapByTime->SetToolTip( _("Identify equal files by comparing modification time and size.") );
-
- fgSizer16->Add( m_bitmapByTime, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_toggleBtnTimeSize = new wxToggleButton( m_panel36, wxID_ANY, _("File time and size"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_toggleBtnTimeSize->SetValue( true );
- m_toggleBtnTimeSize->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
- m_toggleBtnTimeSize->SetToolTip( _("Identify equal files by comparing modification time and size.") );
-
- fgSizer16->Add( m_toggleBtnTimeSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- m_bitmapByContent = new wxStaticBitmap( m_panel36, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapByContent->SetToolTip( _("Identify equal files by comparing the file content.") );
-
- fgSizer16->Add( m_bitmapByContent, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_toggleBtnContent = new wxToggleButton( m_panel36, wxID_ANY, _("File content"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_toggleBtnContent->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
- m_toggleBtnContent->SetToolTip( _("Identify equal files by comparing the file content.") );
-
- fgSizer16->Add( m_toggleBtnContent, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer182->Add( fgSizer16, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizer159->Add( bSizer182, 0, wxALL, 5 );
-
- m_staticline33 = new wxStaticLine( m_panel36, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer159->Add( m_staticline33, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer172;
- bSizer172 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText92 = new wxStaticText( m_panel36, wxID_ANY, _("Symbolic links:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText92->Wrap( -1 );
- bSizer172->Add( m_staticText92, 0, wxBOTTOM, 5 );
-
- wxArrayString m_choiceHandleSymlinksChoices;
- m_choiceHandleSymlinks = new wxChoice( m_panel36, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceHandleSymlinksChoices, 0 );
- m_choiceHandleSymlinks->SetSelection( -1 );
- bSizer172->Add( m_choiceHandleSymlinks, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- m_hyperlink24 = new wxHyperlinkCtrl( m_panel36, wxID_ANY, _("More information"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- bSizer172->Add( m_hyperlink24, 0, wxTOP, 5 );
-
-
- bSizer159->Add( bSizer172, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxEXPAND, 10 );
-
-
- m_panel36->SetSizer( bSizer159 );
- m_panel36->Layout();
- bSizer159->Fit( m_panel36 );
- bSizer136->Add( m_panel36, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
- m_staticline14 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer136->Add( m_staticline14, 0, wxEXPAND, 5 );
-
- bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
-
- m_buttonOkay = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_buttonOkay->SetDefault();
- m_buttonOkay->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizerStdButtons->Add( m_buttonOkay, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer136->Add( bSizerStdButtons, 0, wxALIGN_RIGHT, 5 );
-
-
- this->SetSizer( bSizer136 );
- this->Layout();
- bSizer136->Fit( this );
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( CmpCfgDlgGenerated::OnClose ) );
- m_toggleBtnTimeSize->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( CmpCfgDlgGenerated::OnTimeSizeDouble ), NULL, this );
- m_toggleBtnTimeSize->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( CmpCfgDlgGenerated::OnTimeSize ), NULL, this );
- m_toggleBtnContent->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( CmpCfgDlgGenerated::OnContentDouble ), NULL, this );
- m_toggleBtnContent->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( CmpCfgDlgGenerated::OnContent ), NULL, this );
- m_choiceHandleSymlinks->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( CmpCfgDlgGenerated::OnChangeErrorHandling ), NULL, this );
- m_hyperlink24->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( CmpCfgDlgGenerated::OnHelpComparisonSettings ), NULL, this );
- m_buttonOkay->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CmpCfgDlgGenerated::OnOkay ), NULL, this );
- m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( CmpCfgDlgGenerated::OnCancel ), NULL, this );
-}
-
-CmpCfgDlgGenerated::~CmpCfgDlgGenerated()
-{
-}
-
-SyncCfgDlgGenerated::SyncCfgDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
-{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer7;
- bSizer7 = new wxBoxSizer( wxVERTICAL );
-
- m_panel37 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panel37->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer181;
- bSizer181 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer29;
- bSizer29 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer183;
- bSizer183 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText86 = new wxStaticText( m_panel37, wxID_ANY, _("Select a variant:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText86->Wrap( -1 );
- bSizer183->Add( m_staticText86, 0, wxALL, 5 );
-
- wxFlexGridSizer* fgSizer1;
- fgSizer1 = new wxFlexGridSizer( 4, 2, 5, 5 );
- fgSizer1->SetFlexibleDirection( wxBOTH );
- fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- wxBoxSizer* bSizer171;
- bSizer171 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer171->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_toggleBtnTwoWay = new wxToggleButton( m_panel37, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_toggleBtnTwoWay->SetValue( true );
- m_toggleBtnTwoWay->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer171->Add( m_toggleBtnTwoWay, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer171->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- fgSizer1->Add( bSizer171, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- m_staticTextAutomatic = new wxStaticText( m_panel37, wxID_ANY, _("Identify and propagate changes on both sides. Deletions, moves and conflicts are detected automatically using a database."), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextAutomatic->Wrap( 480 );
- fgSizer1->Add( m_staticTextAutomatic, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- wxBoxSizer* bSizer172;
- bSizer172 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer172->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_toggleBtnMirror = new wxToggleButton( m_panel37, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_toggleBtnMirror->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer172->Add( m_toggleBtnMirror, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer172->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- fgSizer1->Add( bSizer172, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextMirror = new wxStaticText( m_panel37, wxID_ANY, _("Create a mirror backup of the left folder by adapting the right folder to match."), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextMirror->Wrap( 480 );
- fgSizer1->Add( m_staticTextMirror, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- wxBoxSizer* bSizer173;
- bSizer173 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer173->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_toggleBtnUpdate = new wxToggleButton( m_panel37, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_toggleBtnUpdate->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer173->Add( m_toggleBtnUpdate, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer173->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- fgSizer1->Add( bSizer173, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- m_staticTextUpdate = new wxStaticText( m_panel37, wxID_ANY, _("Copy new and updated files to the right folder."), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextUpdate->Wrap( 480 );
- fgSizer1->Add( m_staticTextUpdate, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- wxBoxSizer* bSizer1741;
- bSizer1741 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer1741->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_toggleBtnCustom = new wxToggleButton( m_panel37, wxID_ANY, _("Custom"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_toggleBtnCustom->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer1741->Add( m_toggleBtnCustom, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer1741->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- fgSizer1->Add( bSizer1741, 0, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextCustom = new wxStaticText( m_panel37, wxID_ANY, _("Configure your own synchronization rules."), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextCustom->Wrap( 480 );
- fgSizer1->Add( m_staticTextCustom, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer183->Add( fgSizer1, 0, wxRIGHT|wxLEFT, 5 );
-
- wxBoxSizer* bSizer1751;
- bSizer1751 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer1751->Add( 8, 0, 0, 0, 5 );
-
- m_checkBoxDetectMove = new wxCheckBox( m_panel37, wxID_ANY, _("Detect moved files"), wxDefaultPosition, wxDefaultSize, 0 );
- m_checkBoxDetectMove->SetValue(true);
- m_checkBoxDetectMove->SetToolTip( _("- Requires and creates database files\n- Detection active after initial sync\n- Not supported by all file systems") );
-
- bSizer1751->Add( m_checkBoxDetectMove, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
-
-
- bSizer183->Add( bSizer1751, 0, wxEXPAND, 5 );
-
-
- bSizer29->Add( bSizer183, 0, wxALL, 5 );
-
- m_staticline32 = new wxStaticLine( m_panel37, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer29->Add( m_staticline32, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer184;
- bSizer184 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText87 = new wxStaticText( m_panel37, wxID_ANY, _("Delete files:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText87->Wrap( -1 );
- bSizer184->Add( m_staticText87, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- wxBoxSizer* bSizer180;
- bSizer180 = new wxBoxSizer( wxHORIZONTAL );
-
- m_toggleBtnPermanent = new wxToggleButton( m_panel37, wxID_ANY, _("Permanent"), wxDefaultPosition, wxDefaultSize, 0 );
- m_toggleBtnPermanent->SetToolTip( _("Delete or overwrite files permanently") );
-
- bSizer180->Add( m_toggleBtnPermanent, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_toggleBtnRecycler = new wxToggleButton( m_panel37, wxID_ANY, _("Recycle bin"), wxDefaultPosition, wxDefaultSize, 0 );
- m_toggleBtnRecycler->SetToolTip( _("Back up deleted and overwritten files in the recycle bin") );
-
- bSizer180->Add( m_toggleBtnRecycler, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_toggleBtnVersioning = new wxToggleButton( m_panel37, wxID_ANY, _("Versioning"), wxDefaultPosition, wxDefaultSize, 0 );
- m_toggleBtnVersioning->SetToolTip( _("Move files to a user-defined folder") );
-
- bSizer180->Add( m_toggleBtnVersioning, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer184->Add( bSizer180, 0, wxTOP, 5 );
-
- m_panelVersioning = new wxPanel( m_panel37, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panelVersioning->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer191;
- bSizer191 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer156;
- bSizer156 = new wxBoxSizer( wxHORIZONTAL );
-
- m_versioningFolder = new FolderHistoryBox( m_panelVersioning, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- bSizer156->Add( m_versioningFolder, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_buttonSelectDirVersioning = new wxButton( m_panelVersioning, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonSelectDirVersioning->SetToolTip( _("Select a folder") );
-
- bSizer156->Add( m_buttonSelectDirVersioning, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer191->Add( bSizer156, 1, wxEXPAND|wxBOTTOM, 5 );
-
- bSizer192 = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticText93 = new wxStaticText( m_panelVersioning, wxID_ANY, _("Naming convention:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText93->Wrap( -1 );
- bSizer192->Add( m_staticText93, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- wxArrayString m_choiceVersioningStyleChoices;
- m_choiceVersioningStyle = new wxChoice( m_panelVersioning, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceVersioningStyleChoices, 0 );
- m_choiceVersioningStyle->SetSelection( 0 );
- bSizer192->Add( m_choiceVersioningStyle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_staticTextNamingCvtPart1 = new wxStaticText( m_panelVersioning, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextNamingCvtPart1->Wrap( -1 );
- m_staticTextNamingCvtPart1->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
-
- bSizer192->Add( m_staticTextNamingCvtPart1, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextNamingCvtPart2Bold = new wxStaticText( m_panelVersioning, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextNamingCvtPart2Bold->Wrap( -1 );
- m_staticTextNamingCvtPart2Bold->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
- m_staticTextNamingCvtPart2Bold->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
-
- bSizer192->Add( m_staticTextNamingCvtPart2Bold, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextNamingCvtPart3 = new wxStaticText( m_panelVersioning, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextNamingCvtPart3->Wrap( -1 );
- m_staticTextNamingCvtPart3->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
-
- bSizer192->Add( m_staticTextNamingCvtPart3, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer192->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_hyperlink17 = new wxHyperlinkCtrl( m_panelVersioning, wxID_ANY, _("Show examples"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- bSizer192->Add( m_hyperlink17, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
-
-
- bSizer191->Add( bSizer192, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- m_panelVersioning->SetSizer( bSizer191 );
- m_panelVersioning->Layout();
- bSizer191->Fit( m_panelVersioning );
- bSizer184->Add( m_panelVersioning, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP, 5 );
-
-
- bSizer29->Add( bSizer184, 0, wxALL|wxEXPAND, 10 );
-
- bSizerExtraConfig = new wxBoxSizer( wxVERTICAL );
-
- m_staticline321 = new wxStaticLine( m_panel37, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizerExtraConfig->Add( m_staticline321, 0, wxEXPAND, 5 );
-
- bSizer179 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer174;
- bSizer174 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText88 = new wxStaticText( m_panel37, wxID_ANY, _("Handle errors:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText88->Wrap( -1 );
- bSizer174->Add( m_staticText88, 0, wxBOTTOM, 5 );
-
- wxBoxSizer* bSizer175;
- bSizer175 = new wxBoxSizer( wxHORIZONTAL );
-
- m_toggleBtnErrorIgnore = new wxToggleButton( m_panel37, wxID_ANY, _("Ignore"), wxDefaultPosition, wxDefaultSize, 0 );
- m_toggleBtnErrorIgnore->SetToolTip( _("Hide all error and warning messages") );
-
- bSizer175->Add( m_toggleBtnErrorIgnore, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_toggleBtnErrorPopup = new wxToggleButton( m_panel37, wxID_ANY, _("Pop-up"), wxDefaultPosition, wxDefaultSize, 0 );
- m_toggleBtnErrorPopup->SetToolTip( _("Show pop-up on errors or warnings") );
-
- bSizer175->Add( m_toggleBtnErrorPopup, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer174->Add( bSizer175, 0, 0, 5 );
-
-
- bSizer179->Add( bSizer174, 0, wxALL, 10 );
-
- m_staticline36 = new wxStaticLine( m_panel37, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer179->Add( m_staticline36, 0, wxEXPAND, 5 );
-
- bSizerOnCompletion = new wxBoxSizer( wxVERTICAL );
-
- m_staticText89 = new wxStaticText( m_panel37, wxID_ANY, _("On completion:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText89->Wrap( -1 );
- bSizerOnCompletion->Add( m_staticText89, 0, wxBOTTOM, 5 );
-
- m_comboBoxOnCompletion = new OnCompletionBox( m_panel37, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- bSizerOnCompletion->Add( m_comboBoxOnCompletion, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer179->Add( bSizerOnCompletion, 1, wxALL, 10 );
-
-
- bSizerExtraConfig->Add( bSizer179, 0, wxEXPAND, 5 );
-
-
- bSizer29->Add( bSizerExtraConfig, 0, wxEXPAND, 5 );
-
-
- bSizer181->Add( bSizer29, 0, wxEXPAND, 5 );
-
- m_staticline31 = new wxStaticLine( m_panel37, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer181->Add( m_staticline31, 0, wxEXPAND, 5 );
-
- bSizerConfig = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer18011;
- bSizer18011 = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticTextHeaderCategory1 = new wxStaticText( m_panel37, wxID_ANY, _("Category"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
- m_staticTextHeaderCategory1->Wrap( -1 );
- bSizer18011->Add( m_staticTextHeaderCategory1, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer18011->Add( 5, 0, 0, 0, 5 );
-
- m_staticTextHeaderAction1 = new wxStaticText( m_panel37, wxID_ANY, _("Action"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
- m_staticTextHeaderAction1->Wrap( -1 );
- bSizer18011->Add( m_staticTextHeaderAction1, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizerConfig->Add( bSizer18011, 0, wxEXPAND, 5 );
-
-
- bSizerConfig->Add( 0, 5, 0, 0, 5 );
-
- m_bitmapDatabase = new wxStaticBitmap( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_bitmapDatabase->SetToolTip( _("Detect synchronization directions with the help of database files") );
-
- bSizerConfig->Add( m_bitmapDatabase, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP, 10 );
-
- wxBoxSizer* sbSizerKeepWidthStableIfSyncDirsNotShown;
- sbSizerKeepWidthStableIfSyncDirsNotShown = new wxBoxSizer( wxHORIZONTAL );
-
-
- sbSizerKeepWidthStableIfSyncDirsNotShown->Add( 45, 0, 0, 0, 5 );
-
-
- sbSizerKeepWidthStableIfSyncDirsNotShown->Add( 5, 0, 0, 0, 5 );
-
-
- sbSizerKeepWidthStableIfSyncDirsNotShown->Add( 46, 0, 0, 0, 5 );
-
-
- bSizerConfig->Add( sbSizerKeepWidthStableIfSyncDirsNotShown, 0, 0, 5 );
-
- sbSizerSyncDirections = new wxBoxSizer( wxVERTICAL );
-
- bSizerLeftOnly = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapLeftOnly = new wxStaticBitmap( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
- m_bitmapLeftOnly->SetToolTip( _("Item exists on left side only") );
-
- bSizerLeftOnly->Add( m_bitmapLeftOnly, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerLeftOnly->Add( 5, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bpButtonLeftOnly = new wxBitmapButton( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
- bSizerLeftOnly->Add( m_bpButtonLeftOnly, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- sbSizerSyncDirections->Add( bSizerLeftOnly, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
- bSizerRightOnly = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapRightOnly = new wxStaticBitmap( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
- m_bitmapRightOnly->SetToolTip( _("Item exists on right side only") );
-
- bSizerRightOnly->Add( m_bitmapRightOnly, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerRightOnly->Add( 5, 0, 0, 0, 5 );
-
- m_bpButtonRightOnly = new wxBitmapButton( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
- bSizerRightOnly->Add( m_bpButtonRightOnly, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- sbSizerSyncDirections->Add( bSizerRightOnly, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
- bSizerLeftNewer = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapLeftNewer = new wxStaticBitmap( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
- m_bitmapLeftNewer->SetToolTip( _("Left side is newer") );
-
- bSizerLeftNewer->Add( m_bitmapLeftNewer, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerLeftNewer->Add( 5, 0, 0, 0, 5 );
-
- m_bpButtonLeftNewer = new wxBitmapButton( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
- bSizerLeftNewer->Add( m_bpButtonLeftNewer, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- sbSizerSyncDirections->Add( bSizerLeftNewer, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
- bSizerRightNewer = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapRightNewer = new wxStaticBitmap( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
- m_bitmapRightNewer->SetToolTip( _("Right side is newer") );
-
- bSizerRightNewer->Add( m_bitmapRightNewer, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerRightNewer->Add( 5, 0, 0, 0, 5 );
-
- m_bpButtonRightNewer = new wxBitmapButton( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
- bSizerRightNewer->Add( m_bpButtonRightNewer, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- sbSizerSyncDirections->Add( bSizerRightNewer, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
- bSizerDifferent = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapDifferent = new wxStaticBitmap( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
- m_bitmapDifferent->SetToolTip( _("Items have different content") );
-
- bSizerDifferent->Add( m_bitmapDifferent, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerDifferent->Add( 5, 0, 0, 0, 5 );
-
- m_bpButtonDifferent = new wxBitmapButton( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
- bSizerDifferent->Add( m_bpButtonDifferent, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- sbSizerSyncDirections->Add( bSizerDifferent, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
- bSizerConflict = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapConflict = new wxStaticBitmap( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
- m_bitmapConflict->SetToolTip( _("Conflict/item cannot be categorized") );
-
- bSizerConflict->Add( m_bitmapConflict, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerConflict->Add( 5, 0, 0, 0, 5 );
-
- m_bpButtonConflict = new wxBitmapButton( m_panel37, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
- bSizerConflict->Add( m_bpButtonConflict, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- sbSizerSyncDirections->Add( bSizerConflict, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizerConfig->Add( sbSizerSyncDirections, 0, wxEXPAND, 5 );
-
-
- bSizer181->Add( bSizerConfig, 0, wxALL|wxEXPAND, 10 );
-
-
- m_panel37->SetSizer( bSizer181 );
- m_panel37->Layout();
- bSizer181->Fit( m_panel37 );
- bSizer7->Add( m_panel37, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
- m_staticline15 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer7->Add( m_staticline15, 0, wxEXPAND, 5 );
-
- bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
-
- m_buttonOK = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_buttonOK->SetDefault();
- m_buttonOK->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizerStdButtons->Add( m_buttonOK, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer7->Add( bSizerStdButtons, 0, wxALIGN_RIGHT, 5 );
-
-
- this->SetSizer( bSizer7 );
- this->Layout();
- bSizer7->Fit( this );
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( SyncCfgDlgGenerated::OnClose ) );
- m_toggleBtnTwoWay->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( SyncCfgDlgGenerated::OnSyncTwoWayDouble ), NULL, this );
- m_toggleBtnTwoWay->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnSyncTwoWay ), NULL, this );
- m_toggleBtnMirror->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( SyncCfgDlgGenerated::OnSyncMirrorDouble ), NULL, this );
- m_toggleBtnMirror->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnSyncMirror ), NULL, this );
- m_toggleBtnUpdate->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( SyncCfgDlgGenerated::OnSyncUpdateDouble ), NULL, this );
- m_toggleBtnUpdate->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnSyncUpdate ), NULL, this );
- m_toggleBtnCustom->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( SyncCfgDlgGenerated::OnSyncCustomDouble ), NULL, this );
- m_toggleBtnCustom->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnSyncCustom ), NULL, this );
- m_checkBoxDetectMove->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnToggleDetectMovedFiles ), NULL, this );
- m_toggleBtnPermanent->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnDeletionPermanent ), NULL, this );
- m_toggleBtnRecycler->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnDeletionRecycler ), NULL, this );
- m_toggleBtnVersioning->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnDeletionVersioning ), NULL, this );
- m_choiceVersioningStyle->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( SyncCfgDlgGenerated::OnParameterChange ), NULL, this );
- m_hyperlink17->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( SyncCfgDlgGenerated::OnHelpVersioning ), NULL, this );
- m_toggleBtnErrorIgnore->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnErrorIgnore ), NULL, this );
- m_toggleBtnErrorPopup->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnErrorPopup ), NULL, this );
- m_bpButtonLeftOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnExLeftSideOnly ), NULL, this );
- m_bpButtonRightOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnExRightSideOnly ), NULL, this );
- m_bpButtonLeftNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnLeftNewer ), NULL, this );
- m_bpButtonRightNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnRightNewer ), NULL, this );
- m_bpButtonDifferent->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnDifferent ), NULL, this );
- m_bpButtonConflict->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnConflict ), NULL, this );
- m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnOkay ), NULL, this );
- m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncCfgDlgGenerated::OnCancel ), NULL, this );
+ this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+ this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer7;
+ bSizer7 = new wxBoxSizer( wxVERTICAL );
+
+ m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
+ m_panel39 = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panel39->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer275;
+ bSizer275 = new wxBoxSizer( wxVERTICAL );
+
+ bSizerLocalCompSettings = new wxBoxSizer( wxVERTICAL );
+
+ m_checkBoxUseLocalCmpOptions = new wxCheckBox( m_panel39, wxID_ANY, _("Use local settings:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_checkBoxUseLocalCmpOptions->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ bSizerLocalCompSettings->Add( m_checkBoxUseLocalCmpOptions, 0, wxALL|wxEXPAND, 10 );
+
+ m_staticline59 = new wxStaticLine( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizerLocalCompSettings->Add( m_staticline59, 0, wxEXPAND, 5 );
+
+
+ bSizer275->Add( bSizerLocalCompSettings, 0, wxEXPAND, 5 );
+
+ m_panelComparisonSettings = new wxPanel( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelComparisonSettings->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer159;
+ bSizer159 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer178;
+ bSizer178 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer182;
+ bSizer182 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText91 = new wxStaticText( m_panelComparisonSettings, wxID_ANY, _("Select a variant:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText91->Wrap( -1 );
+ bSizer182->Add( m_staticText91, 0, wxALL, 5 );
+
+ wxFlexGridSizer* fgSizer16;
+ fgSizer16 = new wxFlexGridSizer( 2, 2, 5, 5 );
+ fgSizer16->SetFlexibleDirection( wxBOTH );
+ fgSizer16->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+
+ m_bitmapByTime = new wxStaticBitmap( m_panelComparisonSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapByTime->SetToolTip( _("Identify equal files by comparing modification time and size.") );
+
+ fgSizer16->Add( m_bitmapByTime, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_toggleBtnTimeSize = new wxToggleButton( m_panelComparisonSettings, wxID_ANY, _("File time and size"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_toggleBtnTimeSize->SetValue( true );
+ m_toggleBtnTimeSize->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ fgSizer16->Add( m_toggleBtnTimeSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ m_bitmapByContent = new wxStaticBitmap( m_panelComparisonSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapByContent->SetToolTip( _("Identify equal files by comparing the file content.") );
+
+ fgSizer16->Add( m_bitmapByContent, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_toggleBtnContent = new wxToggleButton( m_panelComparisonSettings, wxID_ANY, _("File content"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_toggleBtnContent->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ fgSizer16->Add( m_toggleBtnContent, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizer182->Add( fgSizer16, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer178->Add( bSizer182, 0, wxALL, 5 );
+
+ m_staticline42 = new wxStaticLine( m_panelComparisonSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer178->Add( m_staticline42, 0, wxEXPAND, 5 );
+
+ m_textCtrlCompVarDescription = new wxTextCtrl( m_panelComparisonSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY|wxNO_BORDER );
+ bSizer178->Add( m_textCtrlCompVarDescription, 1, wxEXPAND|wxLEFT, 5 );
+
+
+ bSizer159->Add( bSizer178, 0, wxEXPAND, 5 );
+
+ m_staticline33 = new wxStaticLine( m_panelComparisonSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer159->Add( m_staticline33, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer1721;
+ bSizer1721 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText92 = new wxStaticText( m_panelComparisonSettings, wxID_ANY, _("Symbolic links:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText92->Wrap( -1 );
+ bSizer1721->Add( m_staticText92, 0, wxBOTTOM, 5 );
+
+ wxArrayString m_choiceHandleSymlinksChoices;
+ m_choiceHandleSymlinks = new wxChoice( m_panelComparisonSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceHandleSymlinksChoices, 0 );
+ m_choiceHandleSymlinks->SetSelection( -1 );
+ bSizer1721->Add( m_choiceHandleSymlinks, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ m_hyperlink24 = new wxHyperlinkCtrl( m_panelComparisonSettings, wxID_ANY, _("More information"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ bSizer1721->Add( m_hyperlink24, 0, wxTOP, 5 );
+
+
+ bSizer159->Add( bSizer1721, 0, wxALIGN_CENTER_VERTICAL|wxALL, 10 );
+
+ m_staticline331 = new wxStaticLine( m_panelComparisonSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer159->Add( m_staticline331, 0, wxEXPAND, 5 );
+
+
+ m_panelComparisonSettings->SetSizer( bSizer159 );
+ m_panelComparisonSettings->Layout();
+ bSizer159->Fit( m_panelComparisonSettings );
+ bSizer275->Add( m_panelComparisonSettings, 0, wxEXPAND, 5 );
+
+
+ m_panel39->SetSizer( bSizer275 );
+ m_panel39->Layout();
+ bSizer275->Fit( m_panel39 );
+ m_notebook->AddPage( m_panel39, _("dummy"), true );
+ m_panel40 = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panel40->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer278;
+ bSizer278 = new wxBoxSizer( wxVERTICAL );
+
+ bSizerLocalFilterSettings = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText144 = new wxStaticText( m_panel40, wxID_ANY, _("Local settings:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText144->Wrap( -1 );
+ bSizerLocalFilterSettings->Add( m_staticText144, 0, wxALL, 10 );
+
+ m_staticline61 = new wxStaticLine( m_panel40, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizerLocalFilterSettings->Add( m_staticline61, 0, wxEXPAND, 5 );
+
+
+ bSizer278->Add( bSizerLocalFilterSettings, 0, wxEXPAND, 5 );
+
+ m_panelFilterSettings = new wxPanel( m_panel40, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelFilterSettings->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer1591;
+ bSizer1591 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer166;
+ bSizer166 = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizer166->Add( 0, 10, 0, 0, 5 );
+
+ wxBoxSizer* bSizer1661;
+ bSizer1661 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapInclude = new wxStaticBitmap( m_panelFilterSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), 0 );
+ bSizer1661->Add( m_bitmapInclude, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
+
+ wxBoxSizer* bSizer1731;
+ bSizer1731 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText78 = new wxStaticText( m_panelFilterSettings, wxID_ANY, _("Include:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText78->Wrap( -1 );
+ bSizer1731->Add( m_staticText78, 0, 0, 5 );
+
+ m_textCtrlInclude = new wxTextCtrl( m_panelFilterSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), wxTE_MULTILINE );
+ m_textCtrlInclude->SetMinSize( wxSize( 280,-1 ) );
+
+ bSizer1731->Add( m_textCtrlInclude, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP, 5 );
+
+
+ bSizer1661->Add( bSizer1731, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer166->Add( bSizer1661, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxLEFT, 5 );
+
+ m_staticline22 = new wxStaticLine( m_panelFilterSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer166->Add( m_staticline22, 0, wxEXPAND, 5 );
+
+
+ bSizer166->Add( 0, 10, 0, 0, 5 );
+
+ wxBoxSizer* bSizer1651;
+ bSizer1651 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapExclude = new wxStaticBitmap( m_panelFilterSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), 0 );
+ bSizer1651->Add( m_bitmapExclude, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ wxBoxSizer* bSizer1742;
+ bSizer1742 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer189;
+ bSizer189 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticText77 = new wxStaticText( m_panelFilterSettings, wxID_ANY, _("Exclude:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText77->Wrap( -1 );
+ bSizer189->Add( m_staticText77, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer189->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_hyperlink171 = new wxHyperlinkCtrl( m_panelFilterSettings, wxID_ANY, _("Show examples"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ bSizer189->Add( m_hyperlink171, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer1742->Add( bSizer189, 0, wxEXPAND, 5 );
+
+ m_textCtrlExclude = new wxTextCtrl( m_panelFilterSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), wxTE_MULTILINE );
+ bSizer1742->Add( m_textCtrlExclude, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxTOP, 5 );
+
+
+ bSizer1651->Add( bSizer1742, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer166->Add( bSizer1651, 2, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxLEFT, 5 );
+
+
+ bSizer1591->Add( bSizer166, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ m_staticline24 = new wxStaticLine( m_panelFilterSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer1591->Add( m_staticline24, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer160;
+ bSizer160 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer167;
+ bSizer167 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapFilterDate = new wxStaticBitmap( m_panelFilterSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 34,34 ), 0 );
+ bSizer167->Add( m_bitmapFilterDate, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ wxBoxSizer* bSizer165;
+ bSizer165 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText79 = new wxStaticText( m_panelFilterSettings, wxID_ANY, _("Time span:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText79->Wrap( -1 );
+ bSizer165->Add( m_staticText79, 0, wxBOTTOM, 5 );
+
+ m_spinCtrlTimespan = new wxSpinCtrl( m_panelFilterSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 2000000000, 0 );
+ bSizer165->Add( m_spinCtrlTimespan, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ wxArrayString m_choiceUnitTimespanChoices;
+ m_choiceUnitTimespan = new wxChoice( m_panelFilterSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitTimespanChoices, 0 );
+ m_choiceUnitTimespan->SetSelection( 0 );
+ bSizer165->Add( m_choiceUnitTimespan, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizer167->Add( bSizer165, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer160->Add( bSizer167, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 5 );
+
+ m_staticline23 = new wxStaticLine( m_panelFilterSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer160->Add( m_staticline23, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer168;
+ bSizer168 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapFilterSize = new wxStaticBitmap( m_panelFilterSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 32,32 ), 0 );
+ bSizer168->Add( m_bitmapFilterSize, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
+
+ wxBoxSizer* bSizer158;
+ bSizer158 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText80 = new wxStaticText( m_panelFilterSettings, wxID_ANY, _("File size:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText80->Wrap( -1 );
+ bSizer158->Add( m_staticText80, 0, wxBOTTOM, 5 );
+
+ wxBoxSizer* bSizer162;
+ bSizer162 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText101 = new wxStaticText( m_panelFilterSettings, wxID_ANY, _("Minimum:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText101->Wrap( -1 );
+ bSizer162->Add( m_staticText101, 0, wxBOTTOM, 2 );
+
+ m_spinCtrlMinSize = new wxSpinCtrl( m_panelFilterSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 2000000000, 0 );
+ bSizer162->Add( m_spinCtrlMinSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ wxArrayString m_choiceUnitMinSizeChoices;
+ m_choiceUnitMinSize = new wxChoice( m_panelFilterSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitMinSizeChoices, 0 );
+ m_choiceUnitMinSize->SetSelection( 0 );
+ bSizer162->Add( m_choiceUnitMinSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizer158->Add( bSizer162, 0, wxBOTTOM|wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer163;
+ bSizer163 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText102 = new wxStaticText( m_panelFilterSettings, wxID_ANY, _("Maximum:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText102->Wrap( -1 );
+ bSizer163->Add( m_staticText102, 0, wxBOTTOM, 2 );
+
+ m_spinCtrlMaxSize = new wxSpinCtrl( m_panelFilterSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 2000000000, 0 );
+ bSizer163->Add( m_spinCtrlMaxSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+ wxArrayString m_choiceUnitMaxSizeChoices;
+ m_choiceUnitMaxSize = new wxChoice( m_panelFilterSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitMaxSizeChoices, 0 );
+ m_choiceUnitMaxSize->SetSelection( 0 );
+ bSizer163->Add( m_choiceUnitMaxSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizer158->Add( bSizer163, 0, wxEXPAND, 5 );
+
+
+ bSizer168->Add( bSizer158, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer160->Add( bSizer168, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 5 );
+
+
+ bSizer1591->Add( bSizer160, 0, wxEXPAND, 5 );
+
+
+ m_panelFilterSettings->SetSizer( bSizer1591 );
+ m_panelFilterSettings->Layout();
+ bSizer1591->Fit( m_panelFilterSettings );
+ bSizer278->Add( m_panelFilterSettings, 1, wxEXPAND, 5 );
+
+ m_staticline62 = new wxStaticLine( m_panel40, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer278->Add( m_staticline62, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer280;
+ bSizer280 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_buttonReset = new wxButton( m_panel40, wxID_DEFAULT, _("&Reset"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ bSizer280->Add( m_buttonReset, 0, wxALL, 5 );
+
+ m_staticText44 = new wxStaticText( m_panel40, wxID_ANY, _("Select filter rules to exclude certain files from synchronization. Enter file paths relative to their corresponding folder pair."), wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_staticText44->Wrap( 600 );
+ bSizer280->Add( m_staticText44, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 10 );
+
+
+ bSizer278->Add( bSizer280, 0, wxEXPAND, 5 );
+
+
+ m_panel40->SetSizer( bSizer278 );
+ m_panel40->Layout();
+ bSizer278->Fit( m_panel40 );
+ m_notebook->AddPage( m_panel40, _("dummy"), false );
+ m_panel41 = new wxPanel( m_notebook, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panel41->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer276;
+ bSizer276 = new wxBoxSizer( wxVERTICAL );
+
+ bSizerLocalSyncSettings = new wxBoxSizer( wxVERTICAL );
+
+ m_checkBoxUseLocalSyncOptions = new wxCheckBox( m_panel41, wxID_ANY, _("Use local settings:"), wxDefaultPosition, wxDefaultSize, 0 );
+ bSizerLocalSyncSettings->Add( m_checkBoxUseLocalSyncOptions, 0, wxALL|wxEXPAND, 10 );
+
+ m_staticline60 = new wxStaticLine( m_panel41, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizerLocalSyncSettings->Add( m_staticline60, 0, wxEXPAND, 5 );
+
+
+ bSizer276->Add( bSizerLocalSyncSettings, 0, wxEXPAND, 5 );
+
+ m_panelSyncSettings = new wxPanel( m_panel41, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelSyncSettings->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer232;
+ bSizer232 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer237;
+ bSizer237 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer235;
+ bSizer235 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText86 = new wxStaticText( m_panelSyncSettings, wxID_ANY, _("Select a variant:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText86->Wrap( -1 );
+ bSizer235->Add( m_staticText86, 0, wxBOTTOM, 5 );
+
+ wxBoxSizer* bSizer236;
+ bSizer236 = new wxBoxSizer( wxVERTICAL );
+
+ m_toggleBtnTwoWay = new wxToggleButton( m_panelSyncSettings, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_toggleBtnTwoWay->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer236->Add( m_toggleBtnTwoWay, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxBOTTOM, 5 );
+
+ m_toggleBtnMirror = new wxToggleButton( m_panelSyncSettings, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_toggleBtnMirror->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer236->Add( m_toggleBtnMirror, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxBOTTOM, 5 );
+
+ m_toggleBtnUpdate = new wxToggleButton( m_panelSyncSettings, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_toggleBtnUpdate->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer236->Add( m_toggleBtnUpdate, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxBOTTOM, 5 );
+
+ m_toggleBtnCustom = new wxToggleButton( m_panelSyncSettings, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_toggleBtnCustom->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer236->Add( m_toggleBtnCustom, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizer235->Add( bSizer236, 0, 0, 5 );
+
+ m_checkBoxDetectMove = new wxCheckBox( m_panelSyncSettings, wxID_ANY, _("Detect moved files"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_checkBoxDetectMove->SetValue(true);
+ m_checkBoxDetectMove->SetToolTip( _("- Requires and creates database files\n- Detection active after initial sync\n- Not supported by all file systems") );
+
+ bSizer235->Add( m_checkBoxDetectMove, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP, 5 );
+
+
+ bSizer237->Add( bSizer235, 0, wxALL, 10 );
+
+ m_staticline53 = new wxStaticLine( m_panelSyncSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer237->Add( m_staticline53, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer238;
+ bSizer238 = new wxBoxSizer( wxVERTICAL );
+
+ m_textCtrlSyncVarDescription = new wxTextCtrl( m_panelSyncSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxTE_READONLY|wxNO_BORDER );
+ bSizer238->Add( m_textCtrlSyncVarDescription, 1, wxEXPAND|wxLEFT, 5 );
+
+ m_staticline43 = new wxStaticLine( m_panelSyncSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer238->Add( m_staticline43, 0, wxEXPAND, 5 );
+
+ bSizerSyncConfig = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer173;
+ bSizer173 = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizer173->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticText119 = new wxStaticText( m_panelSyncSettings, wxID_ANY, _("Category"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText119->Wrap( -1 );
+ bSizer173->Add( m_staticText119, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer173->Add( 0, 0, 1, wxEXPAND, 5 );
+
+
+ bSizer173->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticText120 = new wxStaticText( m_panelSyncSettings, wxID_ANY, _("Action"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText120->Wrap( -1 );
+ bSizer173->Add( m_staticText120, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer173->Add( 0, 0, 1, wxEXPAND, 5 );
+
+
+ bSizerSyncConfig->Add( bSizer173, 0, wxEXPAND|wxRIGHT, 5 );
+
+ fgSizerSyncDirections = new wxFlexGridSizer( 2, 0, 5, 5 );
+ fgSizerSyncDirections->SetFlexibleDirection( wxBOTH );
+ fgSizerSyncDirections->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+
+ m_bitmapLeftOnly = new wxStaticBitmap( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
+ m_bitmapLeftOnly->SetToolTip( _("Item exists on left side only") );
+
+ fgSizerSyncDirections->Add( m_bitmapLeftOnly, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bitmapLeftNewer = new wxStaticBitmap( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
+ m_bitmapLeftNewer->SetToolTip( _("Left side is newer") );
+
+ fgSizerSyncDirections->Add( m_bitmapLeftNewer, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bitmapDifferent = new wxStaticBitmap( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
+ m_bitmapDifferent->SetToolTip( _("Items have different content") );
+
+ fgSizerSyncDirections->Add( m_bitmapDifferent, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bitmapConflict = new wxStaticBitmap( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
+ m_bitmapConflict->SetToolTip( _("Conflict/item cannot be categorized") );
+
+ fgSizerSyncDirections->Add( m_bitmapConflict, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bitmapRightNewer = new wxStaticBitmap( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
+ m_bitmapRightNewer->SetToolTip( _("Right side is newer") );
+
+ fgSizerSyncDirections->Add( m_bitmapRightNewer, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bitmapRightOnly = new wxStaticBitmap( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 45,45 ), 0 );
+ m_bitmapRightOnly->SetToolTip( _("Item exists on right side only") );
+
+ fgSizerSyncDirections->Add( m_bitmapRightOnly, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonLeftOnly = new wxBitmapButton( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
+ fgSizerSyncDirections->Add( m_bpButtonLeftOnly, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonLeftNewer = new wxBitmapButton( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
+ fgSizerSyncDirections->Add( m_bpButtonLeftNewer, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonDifferent = new wxBitmapButton( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
+ fgSizerSyncDirections->Add( m_bpButtonDifferent, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonConflict = new wxBitmapButton( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
+ fgSizerSyncDirections->Add( m_bpButtonConflict, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonRightNewer = new wxBitmapButton( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
+ fgSizerSyncDirections->Add( m_bpButtonRightNewer, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonRightOnly = new wxBitmapButton( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 46,46 ), wxBU_AUTODRAW );
+ fgSizerSyncDirections->Add( m_bpButtonRightOnly, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerSyncConfig->Add( fgSizerSyncDirections, 0, 0, 5 );
+
+ m_bitmapDatabase = new wxStaticBitmap( m_panelSyncSettings, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_bitmapDatabase->SetToolTip( _("Detect synchronization directions with the help of database files") );
+
+ bSizerSyncConfig->Add( m_bitmapDatabase, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxALIGN_CENTER_VERTICAL, 10 );
+
+ wxBoxSizer* bSizerKeepVerticalHeightWhenSyncDirsNotShown;
+ bSizerKeepVerticalHeightWhenSyncDirsNotShown = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizerKeepVerticalHeightWhenSyncDirsNotShown->Add( 0, 45, 0, 0, 5 );
+
+
+ bSizerKeepVerticalHeightWhenSyncDirsNotShown->Add( 0, 5, 1, 0, 5 );
+
+
+ bSizerKeepVerticalHeightWhenSyncDirsNotShown->Add( 0, 46, 0, 0, 5 );
+
+
+ bSizerSyncConfig->Add( bSizerKeepVerticalHeightWhenSyncDirsNotShown, 0, 0, 5 );
+
+
+ bSizer238->Add( bSizerSyncConfig, 0, wxALL, 10 );
+
+
+ bSizer237->Add( bSizer238, 1, wxEXPAND, 5 );
+
+
+ bSizer232->Add( bSizer237, 0, wxEXPAND, 5 );
+
+ m_staticline54 = new wxStaticLine( m_panelSyncSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer232->Add( m_staticline54, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer184;
+ bSizer184 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText87 = new wxStaticText( m_panelSyncSettings, wxID_ANY, _("Delete files:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText87->Wrap( -1 );
+ bSizer184->Add( m_staticText87, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
+
+ wxBoxSizer* bSizer180;
+ bSizer180 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_toggleBtnPermanent = new wxToggleButton( m_panelSyncSettings, wxID_ANY, _("Permanent"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_toggleBtnPermanent->SetToolTip( _("Delete or overwrite files permanently") );
+
+ bSizer180->Add( m_toggleBtnPermanent, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
+
+ m_toggleBtnRecycler = new wxToggleButton( m_panelSyncSettings, wxID_ANY, _("Recycle bin"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_toggleBtnRecycler->SetToolTip( _("Back up deleted and overwritten files in the recycle bin") );
+
+ bSizer180->Add( m_toggleBtnRecycler, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxRIGHT, 5 );
+
+ m_toggleBtnVersioning = new wxToggleButton( m_panelSyncSettings, wxID_ANY, _("Versioning"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_toggleBtnVersioning->SetToolTip( _("Move files to a user-defined folder") );
+
+ bSizer180->Add( m_toggleBtnVersioning, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizer184->Add( bSizer180, 0, 0, 5 );
+
+ bSizerVersioning = new wxBoxSizer( wxHORIZONTAL );
+
+ m_panelVersioning = new wxPanel( m_panelSyncSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelVersioning->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer191;
+ bSizer191 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer156;
+ bSizer156 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_versioningFolder = new FolderHistoryBox( m_panelVersioning, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ bSizer156->Add( m_versioningFolder, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_buttonSelectDirVersioning = new wxButton( m_panelVersioning, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonSelectDirVersioning->SetToolTip( _("Select a folder") );
+
+ bSizer156->Add( m_buttonSelectDirVersioning, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer191->Add( bSizer156, 0, wxEXPAND|wxBOTTOM, 5 );
+
+ bSizer192 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticText93 = new wxStaticText( m_panelVersioning, wxID_ANY, _("Naming convention:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText93->Wrap( -1 );
+ bSizer192->Add( m_staticText93, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ wxArrayString m_choiceVersioningStyleChoices;
+ m_choiceVersioningStyle = new wxChoice( m_panelVersioning, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceVersioningStyleChoices, 0 );
+ m_choiceVersioningStyle->SetSelection( 0 );
+ bSizer192->Add( m_choiceVersioningStyle, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_staticTextNamingCvtPart1 = new wxStaticText( m_panelVersioning, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextNamingCvtPart1->Wrap( -1 );
+ m_staticTextNamingCvtPart1->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
+
+ bSizer192->Add( m_staticTextNamingCvtPart1, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticTextNamingCvtPart2Bold = new wxStaticText( m_panelVersioning, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextNamingCvtPart2Bold->Wrap( -1 );
+ m_staticTextNamingCvtPart2Bold->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+ m_staticTextNamingCvtPart2Bold->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
+
+ bSizer192->Add( m_staticTextNamingCvtPart2Bold, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticTextNamingCvtPart3 = new wxStaticText( m_panelVersioning, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextNamingCvtPart3->Wrap( -1 );
+ m_staticTextNamingCvtPart3->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
+
+ bSizer192->Add( m_staticTextNamingCvtPart3, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer192->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_hyperlink17 = new wxHyperlinkCtrl( m_panelVersioning, wxID_ANY, _("Show examples"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ bSizer192->Add( m_hyperlink17, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
+
+
+ bSizer191->Add( bSizer192, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ m_panelVersioning->SetSizer( bSizer191 );
+ m_panelVersioning->Layout();
+ bSizer191->Fit( m_panelVersioning );
+ bSizerVersioning->Add( m_panelVersioning, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer184->Add( bSizerVersioning, 0, wxTOP|wxEXPAND, 5 );
+
+
+ bSizer232->Add( bSizer184, 0, wxALL|wxEXPAND, 10 );
+
+ bSizerMiscConfig = new wxBoxSizer( wxVERTICAL );
+
+ m_staticline582 = new wxStaticLine( m_panelSyncSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizerMiscConfig->Add( m_staticline582, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer1732;
+ bSizer1732 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer174;
+ bSizer174 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText88 = new wxStaticText( m_panelSyncSettings, wxID_ANY, _("Handle errors:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText88->Wrap( -1 );
+ bSizer174->Add( m_staticText88, 0, wxBOTTOM, 5 );
+
+ wxBoxSizer* bSizer175;
+ bSizer175 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_toggleBtnErrorIgnore = new wxToggleButton( m_panelSyncSettings, wxID_ANY, _("Ignore"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_toggleBtnErrorIgnore->SetToolTip( _("Hide all error and warning messages") );
+
+ bSizer175->Add( m_toggleBtnErrorIgnore, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_toggleBtnErrorPopup = new wxToggleButton( m_panelSyncSettings, wxID_ANY, _("Pop-up"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_toggleBtnErrorPopup->SetToolTip( _("Show pop-up on errors or warnings") );
+
+ bSizer175->Add( m_toggleBtnErrorPopup, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer174->Add( bSizer175, 0, 0, 5 );
+
+
+ bSizer1732->Add( bSizer174, 0, wxALL, 10 );
+
+ m_staticline57 = new wxStaticLine( m_panelSyncSettings, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer1732->Add( m_staticline57, 0, wxEXPAND, 5 );
+
+ bSizerOnCompletion = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText89 = new wxStaticText( m_panelSyncSettings, wxID_ANY, _("On completion:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText89->Wrap( -1 );
+ bSizerOnCompletion->Add( m_staticText89, 0, wxBOTTOM, 5 );
+
+ m_comboBoxOnCompletion = new OnCompletionBox( m_panelSyncSettings, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ bSizerOnCompletion->Add( m_comboBoxOnCompletion, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizer1732->Add( bSizerOnCompletion, 1, wxALL, 10 );
+
+
+ bSizerMiscConfig->Add( bSizer1732, 1, wxEXPAND, 5 );
+
+
+ bSizer232->Add( bSizerMiscConfig, 1, wxEXPAND, 5 );
+
+
+ m_panelSyncSettings->SetSizer( bSizer232 );
+ m_panelSyncSettings->Layout();
+ bSizer232->Fit( m_panelSyncSettings );
+ bSizer276->Add( m_panelSyncSettings, 1, wxEXPAND, 5 );
+
+
+ m_panel41->SetSizer( bSizer276 );
+ m_panel41->Layout();
+ bSizer276->Fit( m_panel41 );
+ m_notebook->AddPage( m_panel41, _("dummy"), false );
+
+ bSizer7->Add( m_notebook, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
+
+ bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
+
+ m_buttonOkay = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_buttonOkay->SetDefault();
+ m_buttonOkay->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizerStdButtons->Add( m_buttonOkay, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer7->Add( bSizerStdButtons, 0, wxALIGN_RIGHT, 5 );
+
+
+ this->SetSizer( bSizer7 );
+ this->Layout();
+ bSizer7->Fit( this );
+
+ this->Centre( wxBOTH );
+
+ // Connect Events
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( ConfigDlgGenerated::OnClose ) );
+ m_checkBoxUseLocalCmpOptions->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnToggleLocalCompSettings ), NULL, this );
+ m_toggleBtnTimeSize->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ConfigDlgGenerated::OnTimeSizeDouble ), NULL, this );
+ m_toggleBtnTimeSize->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnTimeSize ), NULL, this );
+ m_toggleBtnContent->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ConfigDlgGenerated::OnContentDouble ), NULL, this );
+ m_toggleBtnContent->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnContent ), NULL, this );
+ m_choiceHandleSymlinks->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ConfigDlgGenerated::OnChangeErrorHandling ), NULL, this );
+ m_hyperlink24->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( ConfigDlgGenerated::OnHelpComparisonSettings ), NULL, this );
+ m_textCtrlInclude->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ConfigDlgGenerated::OnChangeFilterOption ), NULL, this );
+ m_hyperlink171->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( ConfigDlgGenerated::OnHelpShowExamples ), NULL, this );
+ m_textCtrlExclude->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( ConfigDlgGenerated::OnChangeFilterOption ), NULL, this );
+ m_choiceUnitTimespan->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ConfigDlgGenerated::OnChangeFilterOption ), NULL, this );
+ m_choiceUnitMinSize->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ConfigDlgGenerated::OnChangeFilterOption ), NULL, this );
+ m_choiceUnitMaxSize->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ConfigDlgGenerated::OnChangeFilterOption ), NULL, this );
+ m_buttonReset->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnFilterReset ), NULL, this );
+ m_checkBoxUseLocalSyncOptions->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnToggleLocalSyncSettings ), NULL, this );
+ m_toggleBtnTwoWay->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ConfigDlgGenerated::OnSyncTwoWayDouble ), NULL, this );
+ m_toggleBtnTwoWay->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnSyncTwoWay ), NULL, this );
+ m_toggleBtnMirror->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ConfigDlgGenerated::OnSyncMirrorDouble ), NULL, this );
+ m_toggleBtnMirror->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnSyncMirror ), NULL, this );
+ m_toggleBtnUpdate->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ConfigDlgGenerated::OnSyncUpdateDouble ), NULL, this );
+ m_toggleBtnUpdate->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnSyncUpdate ), NULL, this );
+ m_toggleBtnCustom->Connect( wxEVT_LEFT_DCLICK, wxMouseEventHandler( ConfigDlgGenerated::OnSyncCustomDouble ), NULL, this );
+ m_toggleBtnCustom->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnSyncCustom ), NULL, this );
+ m_checkBoxDetectMove->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnToggleDetectMovedFiles ), NULL, this );
+ m_bpButtonLeftOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnExLeftSideOnly ), NULL, this );
+ m_bpButtonLeftNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnLeftNewer ), NULL, this );
+ m_bpButtonDifferent->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnDifferent ), NULL, this );
+ m_bpButtonConflict->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnConflict ), NULL, this );
+ m_bpButtonRightNewer->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnRightNewer ), NULL, this );
+ m_bpButtonRightOnly->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnExRightSideOnly ), NULL, this );
+ m_toggleBtnPermanent->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnDeletionPermanent ), NULL, this );
+ m_toggleBtnRecycler->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnDeletionRecycler ), NULL, this );
+ m_toggleBtnVersioning->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnDeletionVersioning ), NULL, this );
+ m_choiceVersioningStyle->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( ConfigDlgGenerated::OnChangeSyncOption ), NULL, this );
+ m_hyperlink17->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( ConfigDlgGenerated::OnHelpVersioning ), NULL, this );
+ m_toggleBtnErrorIgnore->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnErrorIgnore ), NULL, this );
+ m_toggleBtnErrorPopup->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnErrorPopup ), NULL, this );
+ m_buttonOkay->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnOkay ), NULL, this );
+ m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( ConfigDlgGenerated::OnCancel ), NULL, this );
}
-SyncCfgDlgGenerated::~SyncCfgDlgGenerated()
+ConfigDlgGenerated::~ConfigDlgGenerated()
{
}
SyncConfirmationDlgGenerated::SyncConfirmationDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer134;
- bSizer134 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer72;
- bSizer72 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapSync = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- bSizer72->Add( m_bitmapSync, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 10 );
-
- m_staticTextHeader = new wxStaticText( this, wxID_ANY, _("Start synchronization now?"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextHeader->Wrap( -1 );
- bSizer72->Add( m_staticTextHeader, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 10 );
-
-
- bSizer134->Add( bSizer72, 0, 0, 5 );
-
- m_staticline371 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer134->Add( m_staticline371, 0, wxEXPAND, 5 );
-
- m_panelStatistics = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
- m_panelStatistics->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer185;
- bSizer185 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer185->Add( 40, 0, 0, 0, 5 );
-
-
- bSizer185->Add( 0, 0, 1, 0, 5 );
-
- m_staticline38 = new wxStaticLine( m_panelStatistics, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer185->Add( m_staticline38, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer162;
- bSizer162 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer182;
- bSizer182 = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticText84 = new wxStaticText( m_panelStatistics, wxID_ANY, _("Variant:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText84->Wrap( -1 );
- bSizer182->Add( m_staticText84, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
-
-
- bSizer182->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_staticTextVariant = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextVariant->Wrap( -1 );
- m_staticTextVariant->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer182->Add( m_staticTextVariant, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
-
- bSizer182->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- bSizer162->Add( bSizer182, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 5 );
-
- m_staticline14 = new wxStaticLine( m_panelStatistics, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer162->Add( m_staticline14, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer181;
- bSizer181 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText83 = new wxStaticText( m_panelStatistics, wxID_ANY, _("Statistics:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText83->Wrap( -1 );
- bSizer181->Add( m_staticText83, 0, wxALL, 5 );
-
- wxFlexGridSizer* fgSizer11;
- fgSizer11 = new wxFlexGridSizer( 2, 7, 2, 5 );
- fgSizer11->SetFlexibleDirection( wxBOTH );
- fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- m_bitmapCreateLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapCreateLeft->SetToolTip( _("Number of files and folders that will be created") );
-
- fgSizer11->Add( m_bitmapCreateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bitmapUpdateLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapUpdateLeft->SetToolTip( _("Number of files that will be overwritten") );
-
- fgSizer11->Add( m_bitmapUpdateLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bitmapDeleteLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapDeleteLeft->SetToolTip( _("Number of files and folders that will be deleted") );
-
- fgSizer11->Add( m_bitmapDeleteLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bitmapData = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapData->SetToolTip( _("Total bytes to copy") );
-
- fgSizer11->Add( m_bitmapData, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bitmapDeleteRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapDeleteRight->SetToolTip( _("Number of files and folders that will be deleted") );
-
- fgSizer11->Add( m_bitmapDeleteRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bitmapUpdateRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapUpdateRight->SetToolTip( _("Number of files that will be overwritten") );
-
- fgSizer11->Add( m_bitmapUpdateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bitmapCreateRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- m_bitmapCreateRight->SetToolTip( _("Number of files and folders that will be created") );
-
- fgSizer11->Add( m_bitmapCreateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_staticTextCreateLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextCreateLeft->Wrap( -1 );
- m_staticTextCreateLeft->SetToolTip( _("Number of files and folders that will be created") );
-
- fgSizer11->Add( m_staticTextCreateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_staticTextUpdateLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextUpdateLeft->Wrap( -1 );
- m_staticTextUpdateLeft->SetToolTip( _("Number of files that will be overwritten") );
-
- fgSizer11->Add( m_staticTextUpdateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_staticTextDeleteLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextDeleteLeft->Wrap( -1 );
- m_staticTextDeleteLeft->SetToolTip( _("Number of files and folders that will be deleted") );
-
- fgSizer11->Add( m_staticTextDeleteLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextData = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextData->Wrap( -1 );
- m_staticTextData->SetToolTip( _("Total bytes to copy") );
-
- fgSizer11->Add( m_staticTextData, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextDeleteRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextDeleteRight->Wrap( -1 );
- m_staticTextDeleteRight->SetToolTip( _("Number of files and folders that will be deleted") );
-
- fgSizer11->Add( m_staticTextDeleteRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextUpdateRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextUpdateRight->Wrap( -1 );
- m_staticTextUpdateRight->SetToolTip( _("Number of files that will be overwritten") );
-
- fgSizer11->Add( m_staticTextUpdateRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextCreateRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextCreateRight->Wrap( -1 );
- m_staticTextCreateRight->SetToolTip( _("Number of files and folders that will be created") );
-
- fgSizer11->Add( m_staticTextCreateRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer181->Add( fgSizer11, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer162->Add( bSizer181, 0, wxEXPAND|wxALL, 5 );
-
-
- bSizer185->Add( bSizer162, 0, 0, 5 );
-
- m_staticline381 = new wxStaticLine( m_panelStatistics, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer185->Add( m_staticline381, 0, wxEXPAND, 5 );
-
-
- bSizer185->Add( 0, 0, 1, 0, 5 );
-
-
- bSizer185->Add( 40, 0, 0, 0, 5 );
-
-
- m_panelStatistics->SetSizer( bSizer185 );
- m_panelStatistics->Layout();
- bSizer185->Fit( m_panelStatistics );
- bSizer134->Add( m_panelStatistics, 0, wxEXPAND, 5 );
-
- m_staticline12 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer134->Add( m_staticline12, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer164;
- bSizer164 = new wxBoxSizer( wxVERTICAL );
-
- m_checkBoxDontShowAgain = new wxCheckBox( this, wxID_ANY, _("&Don't show this dialog again"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer164->Add( m_checkBoxDontShowAgain, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 );
-
- bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
-
- m_buttonStartSync = new wxButton( this, wxID_OK, _("&Start"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_buttonStartSync->SetDefault();
- m_buttonStartSync->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizerStdButtons->Add( m_buttonStartSync, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer164->Add( bSizerStdButtons, 0, wxALIGN_RIGHT, 5 );
-
-
- bSizer134->Add( bSizer164, 1, wxEXPAND, 5 );
-
-
- this->SetSizer( bSizer134 );
- this->Layout();
- bSizer134->Fit( this );
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( SyncConfirmationDlgGenerated::OnClose ) );
- m_buttonStartSync->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncConfirmationDlgGenerated::OnStartSync ), NULL, this );
- m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncConfirmationDlgGenerated::OnCancel ), NULL, this );
+ this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+ this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer134;
+ bSizer134 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer72;
+ bSizer72 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapSync = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer72->Add( m_bitmapSync, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 10 );
+
+ m_staticTextHeader = new wxStaticText( this, wxID_ANY, _("Start synchronization now?"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextHeader->Wrap( -1 );
+ bSizer72->Add( m_staticTextHeader, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 10 );
+
+
+ bSizer134->Add( bSizer72, 0, 0, 5 );
+
+ m_staticline371 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer134->Add( m_staticline371, 0, wxEXPAND, 5 );
+
+ m_panelStatistics = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
+ m_panelStatistics->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer185;
+ bSizer185 = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizer185->Add( 40, 0, 0, 0, 5 );
+
+
+ bSizer185->Add( 0, 0, 1, 0, 5 );
+
+ m_staticline38 = new wxStaticLine( m_panelStatistics, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer185->Add( m_staticline38, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer162;
+ bSizer162 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer182;
+ bSizer182 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticText84 = new wxStaticText( m_panelStatistics, wxID_ANY, _("Variant:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText84->Wrap( -1 );
+ bSizer182->Add( m_staticText84, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
+
+
+ bSizer182->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_staticTextVariant = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextVariant->Wrap( -1 );
+ m_staticTextVariant->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer182->Add( m_staticTextVariant, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+
+ bSizer182->Add( 0, 0, 1, wxEXPAND, 5 );
+
+
+ bSizer162->Add( bSizer182, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 5 );
+
+ m_staticline14 = new wxStaticLine( m_panelStatistics, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer162->Add( m_staticline14, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer181;
+ bSizer181 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText83 = new wxStaticText( m_panelStatistics, wxID_ANY, _("Statistics:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText83->Wrap( -1 );
+ bSizer181->Add( m_staticText83, 0, wxALL, 5 );
+
+ wxFlexGridSizer* fgSizer11;
+ fgSizer11 = new wxFlexGridSizer( 2, 7, 2, 5 );
+ fgSizer11->SetFlexibleDirection( wxBOTH );
+ fgSizer11->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+
+ m_bitmapCreateLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapCreateLeft->SetToolTip( _("Number of files and folders that will be created") );
+
+ fgSizer11->Add( m_bitmapCreateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bitmapUpdateLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapUpdateLeft->SetToolTip( _("Number of files that will be overwritten") );
+
+ fgSizer11->Add( m_bitmapUpdateLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bitmapDeleteLeft = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapDeleteLeft->SetToolTip( _("Number of files and folders that will be deleted") );
+
+ fgSizer11->Add( m_bitmapDeleteLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bitmapData = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapData->SetToolTip( _("Total bytes to copy") );
+
+ fgSizer11->Add( m_bitmapData, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bitmapDeleteRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapDeleteRight->SetToolTip( _("Number of files and folders that will be deleted") );
+
+ fgSizer11->Add( m_bitmapDeleteRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bitmapUpdateRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapUpdateRight->SetToolTip( _("Number of files that will be overwritten") );
+
+ fgSizer11->Add( m_bitmapUpdateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bitmapCreateRight = new wxStaticBitmap( m_panelStatistics, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ m_bitmapCreateRight->SetToolTip( _("Number of files and folders that will be created") );
+
+ fgSizer11->Add( m_bitmapCreateRight, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_staticTextCreateLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextCreateLeft->Wrap( -1 );
+ m_staticTextCreateLeft->SetToolTip( _("Number of files and folders that will be created") );
+
+ fgSizer11->Add( m_staticTextCreateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_staticTextUpdateLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextUpdateLeft->Wrap( -1 );
+ m_staticTextUpdateLeft->SetToolTip( _("Number of files that will be overwritten") );
+
+ fgSizer11->Add( m_staticTextUpdateLeft, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_staticTextDeleteLeft = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextDeleteLeft->Wrap( -1 );
+ m_staticTextDeleteLeft->SetToolTip( _("Number of files and folders that will be deleted") );
+
+ fgSizer11->Add( m_staticTextDeleteLeft, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticTextData = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextData->Wrap( -1 );
+ m_staticTextData->SetToolTip( _("Total bytes to copy") );
+
+ fgSizer11->Add( m_staticTextData, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticTextDeleteRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextDeleteRight->Wrap( -1 );
+ m_staticTextDeleteRight->SetToolTip( _("Number of files and folders that will be deleted") );
+
+ fgSizer11->Add( m_staticTextDeleteRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticTextUpdateRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextUpdateRight->Wrap( -1 );
+ m_staticTextUpdateRight->SetToolTip( _("Number of files that will be overwritten") );
+
+ fgSizer11->Add( m_staticTextUpdateRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticTextCreateRight = new wxStaticText( m_panelStatistics, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextCreateRight->Wrap( -1 );
+ m_staticTextCreateRight->SetToolTip( _("Number of files and folders that will be created") );
+
+ fgSizer11->Add( m_staticTextCreateRight, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer181->Add( fgSizer11, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer162->Add( bSizer181, 0, wxEXPAND|wxALL, 5 );
+
+
+ bSizer185->Add( bSizer162, 0, 0, 5 );
+
+ m_staticline381 = new wxStaticLine( m_panelStatistics, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer185->Add( m_staticline381, 0, wxEXPAND, 5 );
+
+
+ bSizer185->Add( 0, 0, 1, 0, 5 );
+
+
+ bSizer185->Add( 40, 0, 0, 0, 5 );
+
+
+ m_panelStatistics->SetSizer( bSizer185 );
+ m_panelStatistics->Layout();
+ bSizer185->Fit( m_panelStatistics );
+ bSizer134->Add( m_panelStatistics, 0, wxEXPAND, 5 );
+
+ m_staticline12 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer134->Add( m_staticline12, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer164;
+ bSizer164 = new wxBoxSizer( wxVERTICAL );
+
+ m_checkBoxDontShowAgain = new wxCheckBox( this, wxID_ANY, _("&Don't show this dialog again"), wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer164->Add( m_checkBoxDontShowAgain, 0, wxALIGN_CENTER_HORIZONTAL|wxTOP|wxRIGHT|wxLEFT, 5 );
+
+ bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
+
+ m_buttonStartSync = new wxButton( this, wxID_OK, _("&Start"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_buttonStartSync->SetDefault();
+ m_buttonStartSync->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizerStdButtons->Add( m_buttonStartSync, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer164->Add( bSizerStdButtons, 0, wxALIGN_RIGHT, 5 );
+
+
+ bSizer134->Add( bSizer164, 1, wxEXPAND, 5 );
+
+
+ this->SetSizer( bSizer134 );
+ this->Layout();
+ bSizer134->Fit( this );
+
+ this->Centre( wxBOTH );
+
+ // Connect Events
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( SyncConfirmationDlgGenerated::OnClose ) );
+ m_buttonStartSync->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncConfirmationDlgGenerated::OnStartSync ), NULL, this );
+ m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SyncConfirmationDlgGenerated::OnCancel ), NULL, this );
}
SyncConfirmationDlgGenerated::~SyncConfirmationDlgGenerated()
@@ -1749,83 +1938,83 @@ SyncConfirmationDlgGenerated::~SyncConfirmationDlgGenerated()
FolderPairPanelGenerated::FolderPairPanelGenerated( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
- wxBoxSizer* bSizer74;
- bSizer74 = new wxBoxSizer( wxHORIZONTAL );
-
- m_panelLeft = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panelLeft->SetMinSize( wxSize( 1,-1 ) );
-
- wxBoxSizer* bSizer134;
- bSizer134 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bpButtonRemovePair = new wxBitmapButton( m_panelLeft, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- m_bpButtonRemovePair->SetToolTip( _("Remove folder pair") );
-
- bSizer134->Add( m_bpButtonRemovePair, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_directoryLeft = new FolderHistoryBox( m_panelLeft, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- bSizer134->Add( m_directoryLeft, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_buttonSelectDirLeft = new wxButton( m_panelLeft, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonSelectDirLeft->SetToolTip( _("Select a folder") );
-
- bSizer134->Add( m_buttonSelectDirLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- m_panelLeft->SetSizer( bSizer134 );
- m_panelLeft->Layout();
- bSizer134->Fit( m_panelLeft );
- bSizer74->Add( m_panelLeft, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
-
- m_panel20 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- wxBoxSizer* bSizer95;
- bSizer95 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer95->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_bpButtonAltCompCfg = new wxBitmapButton( m_panel20, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- bSizer95->Add( m_bpButtonAltCompCfg, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_bpButtonLocalFilter = new wxBitmapButton( m_panel20, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- bSizer95->Add( m_bpButtonLocalFilter, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 2 );
-
- m_bpButtonAltSyncCfg = new wxBitmapButton( m_panel20, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- bSizer95->Add( m_bpButtonAltSyncCfg, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer95->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- m_panel20->SetSizer( bSizer95 );
- m_panel20->Layout();
- bSizer95->Fit( m_panel20 );
- bSizer74->Add( m_panel20, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
-
- m_panelRight = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panelRight->SetMinSize( wxSize( 1,-1 ) );
-
- wxBoxSizer* bSizer135;
- bSizer135 = new wxBoxSizer( wxHORIZONTAL );
-
- m_directoryRight = new FolderHistoryBox( m_panelRight, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- bSizer135->Add( m_directoryRight, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_buttonSelectDirRight = new wxButton( m_panelRight, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonSelectDirRight->SetToolTip( _("Select a folder") );
-
- bSizer135->Add( m_buttonSelectDirRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- m_panelRight->SetSizer( bSizer135 );
- m_panelRight->Layout();
- bSizer135->Fit( m_panelRight );
- bSizer74->Add( m_panelRight, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxEXPAND, 5 );
-
-
- this->SetSizer( bSizer74 );
- this->Layout();
- bSizer74->Fit( this );
+ wxBoxSizer* bSizer74;
+ bSizer74 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_panelLeft = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelLeft->SetMinSize( wxSize( 1,-1 ) );
+
+ wxBoxSizer* bSizer134;
+ bSizer134 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bpButtonRemovePair = new wxBitmapButton( m_panelLeft, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ m_bpButtonRemovePair->SetToolTip( _("Remove folder pair") );
+
+ bSizer134->Add( m_bpButtonRemovePair, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_directoryLeft = new FolderHistoryBox( m_panelLeft, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ bSizer134->Add( m_directoryLeft, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_buttonSelectDirLeft = new wxButton( m_panelLeft, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonSelectDirLeft->SetToolTip( _("Select a folder") );
+
+ bSizer134->Add( m_buttonSelectDirLeft, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ m_panelLeft->SetSizer( bSizer134 );
+ m_panelLeft->Layout();
+ bSizer134->Fit( m_panelLeft );
+ bSizer74->Add( m_panelLeft, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxEXPAND, 5 );
+
+ m_panel20 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ wxBoxSizer* bSizer95;
+ bSizer95 = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizer95->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_bpButtonAltCompCfg = new wxBitmapButton( m_panel20, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ bSizer95->Add( m_bpButtonAltCompCfg, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_bpButtonLocalFilter = new wxBitmapButton( m_panel20, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ bSizer95->Add( m_bpButtonLocalFilter, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 2 );
+
+ m_bpButtonAltSyncCfg = new wxBitmapButton( m_panel20, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ bSizer95->Add( m_bpButtonAltSyncCfg, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer95->Add( 0, 0, 1, wxEXPAND, 5 );
+
+
+ m_panel20->SetSizer( bSizer95 );
+ m_panel20->Layout();
+ bSizer95->Fit( m_panel20 );
+ bSizer74->Add( m_panel20, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
+
+ m_panelRight = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelRight->SetMinSize( wxSize( 1,-1 ) );
+
+ wxBoxSizer* bSizer135;
+ bSizer135 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_directoryRight = new FolderHistoryBox( m_panelRight, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ bSizer135->Add( m_directoryRight, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_buttonSelectDirRight = new wxButton( m_panelRight, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonSelectDirRight->SetToolTip( _("Select a folder") );
+
+ bSizer135->Add( m_buttonSelectDirRight, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ m_panelRight->SetSizer( bSizer135 );
+ m_panelRight->Layout();
+ bSizer135->Fit( m_panelRight );
+ bSizer74->Add( m_panelRight, 1, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxEXPAND, 5 );
+
+
+ this->SetSizer( bSizer74 );
+ this->Layout();
+ bSizer74->Fit( this );
}
FolderPairPanelGenerated::~FolderPairPanelGenerated()
@@ -1834,147 +2023,147 @@ FolderPairPanelGenerated::~FolderPairPanelGenerated()
CompareProgressDlgGenerated::CompareProgressDlgGenerated( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer40;
- bSizer40 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer40->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_textCtrlStatus = new wxTextCtrl( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
- m_textCtrlStatus->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- bSizer40->Add( m_textCtrlStatus, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
-
- m_gauge2 = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( -1,14 ), wxGA_HORIZONTAL|wxGA_SMOOTH );
- bSizer40->Add( m_gauge2, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
-
- bSizer42 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer162StretchSpeedAndRemTimeIndependently;
- bSizer162StretchSpeedAndRemTimeIndependently = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer157;
- bSizer157 = new wxBoxSizer( wxVERTICAL );
-
- bSizerFilesFound = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticText321 = new wxStaticText( this, wxID_ANY, _("Items found:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText321->Wrap( -1 );
- bSizerFilesFound->Add( m_staticText321, 0, wxALIGN_BOTTOM, 5 );
-
- m_staticTextScanned = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextScanned->Wrap( -1 );
- m_staticTextScanned->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizerFilesFound->Add( m_staticTextScanned, 0, wxALIGN_BOTTOM|wxLEFT, 5 );
-
-
- bSizer157->Add( bSizerFilesFound, 0, 0, 5 );
-
- bSizerFilesRemaining = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticText46 = new wxStaticText( this, wxID_ANY, _("Items remaining:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText46->Wrap( -1 );
- bSizerFilesRemaining->Add( m_staticText46, 0, wxALIGN_BOTTOM, 5 );
-
- wxBoxSizer* bSizer154;
- bSizer154 = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticTextFilesRemaining = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextFilesRemaining->Wrap( -1 );
- m_staticTextFilesRemaining->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer154->Add( m_staticTextFilesRemaining, 0, wxALIGN_BOTTOM, 5 );
-
- m_staticTextDataRemaining = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextDataRemaining->Wrap( -1 );
- bSizer154->Add( m_staticTextDataRemaining, 0, wxALIGN_BOTTOM|wxLEFT, 5 );
-
-
- bSizerFilesRemaining->Add( bSizer154, 0, wxALIGN_BOTTOM|wxLEFT, 5 );
-
-
- bSizer157->Add( bSizerFilesRemaining, 0, 0, 5 );
-
-
- bSizer162StretchSpeedAndRemTimeIndependently->Add( bSizer157, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer162StretchSpeedAndRemTimeIndependently->Add( 0, 0, 1, wxEXPAND, 5 );
-
- sSizerSpeed = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticText104 = new wxStaticText( this, wxID_ANY, _("Speed:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText104->Wrap( -1 );
- sSizerSpeed->Add( m_staticText104, 0, wxALIGN_BOTTOM, 5 );
-
- m_staticTextSpeed = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextSpeed->Wrap( -1 );
- m_staticTextSpeed->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- sSizerSpeed->Add( m_staticTextSpeed, 0, wxLEFT|wxALIGN_BOTTOM, 5 );
-
-
- bSizer162StretchSpeedAndRemTimeIndependently->Add( sSizerSpeed, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer42->Add( bSizer162StretchSpeedAndRemTimeIndependently, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer42->Add( 10, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- wxBoxSizer* bSizer163;
- bSizer163 = new wxBoxSizer( wxHORIZONTAL );
-
- sSizerTimeRemaining = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticTextTimeRemFixed = new wxStaticText( this, wxID_ANY, _("Time remaining:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextTimeRemFixed->Wrap( -1 );
- sSizerTimeRemaining->Add( m_staticTextTimeRemFixed, 0, wxALIGN_BOTTOM, 5 );
-
- m_staticTextRemTime = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextRemTime->Wrap( -1 );
- m_staticTextRemTime->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- sSizerTimeRemaining->Add( m_staticTextRemTime, 0, wxLEFT|wxALIGN_BOTTOM, 5 );
-
-
- bSizer163->Add( sSizerTimeRemaining, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer163->Add( 0, 0, 1, wxEXPAND, 5 );
-
- sSizerTimeElapsed = new wxBoxSizer( wxHORIZONTAL );
-
- wxStaticText* m_staticText37;
- m_staticText37 = new wxStaticText( this, wxID_ANY, _("Time elapsed:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText37->Wrap( -1 );
- sSizerTimeElapsed->Add( m_staticText37, 0, wxALIGN_BOTTOM, 5 );
-
- m_staticTextTimeElapsed = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextTimeElapsed->Wrap( -1 );
- m_staticTextTimeElapsed->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- sSizerTimeElapsed->Add( m_staticTextTimeElapsed, 0, wxLEFT|wxALIGN_BOTTOM, 5 );
-
-
- bSizer163->Add( sSizerTimeElapsed, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer42->Add( bSizer163, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer40->Add( bSizer42, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer40->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- this->SetSizer( bSizer40 );
- this->Layout();
- bSizer40->Fit( this );
+ this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer40;
+ bSizer40 = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizer40->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_textCtrlStatus = new wxTextCtrl( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
+ m_textCtrlStatus->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ bSizer40->Add( m_textCtrlStatus, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
+
+ m_gauge2 = new wxGauge( this, wxID_ANY, 100, wxDefaultPosition, wxSize( -1,14 ), wxGA_HORIZONTAL|wxGA_SMOOTH );
+ bSizer40->Add( m_gauge2, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
+
+ bSizer42 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer162StretchSpeedAndRemTimeIndependently;
+ bSizer162StretchSpeedAndRemTimeIndependently = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer157;
+ bSizer157 = new wxBoxSizer( wxVERTICAL );
+
+ bSizerFilesFound = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticText321 = new wxStaticText( this, wxID_ANY, _("Items found:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText321->Wrap( -1 );
+ bSizerFilesFound->Add( m_staticText321, 0, wxALIGN_BOTTOM, 5 );
+
+ m_staticTextScanned = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextScanned->Wrap( -1 );
+ m_staticTextScanned->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizerFilesFound->Add( m_staticTextScanned, 0, wxALIGN_BOTTOM|wxLEFT, 5 );
+
+
+ bSizer157->Add( bSizerFilesFound, 0, 0, 5 );
+
+ bSizerFilesRemaining = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticText46 = new wxStaticText( this, wxID_ANY, _("Items remaining:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText46->Wrap( -1 );
+ bSizerFilesRemaining->Add( m_staticText46, 0, wxALIGN_BOTTOM, 5 );
+
+ wxBoxSizer* bSizer154;
+ bSizer154 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticTextFilesRemaining = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextFilesRemaining->Wrap( -1 );
+ m_staticTextFilesRemaining->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer154->Add( m_staticTextFilesRemaining, 0, wxALIGN_BOTTOM, 5 );
+
+ m_staticTextDataRemaining = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextDataRemaining->Wrap( -1 );
+ bSizer154->Add( m_staticTextDataRemaining, 0, wxALIGN_BOTTOM|wxLEFT, 5 );
+
+
+ bSizerFilesRemaining->Add( bSizer154, 0, wxALIGN_BOTTOM|wxLEFT, 5 );
+
+
+ bSizer157->Add( bSizerFilesRemaining, 0, 0, 5 );
+
+
+ bSizer162StretchSpeedAndRemTimeIndependently->Add( bSizer157, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer162StretchSpeedAndRemTimeIndependently->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ sSizerSpeed = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticText104 = new wxStaticText( this, wxID_ANY, _("Speed:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText104->Wrap( -1 );
+ sSizerSpeed->Add( m_staticText104, 0, wxALIGN_BOTTOM, 5 );
+
+ m_staticTextSpeed = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextSpeed->Wrap( -1 );
+ m_staticTextSpeed->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ sSizerSpeed->Add( m_staticTextSpeed, 0, wxLEFT|wxALIGN_BOTTOM, 5 );
+
+
+ bSizer162StretchSpeedAndRemTimeIndependently->Add( sSizerSpeed, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer42->Add( bSizer162StretchSpeedAndRemTimeIndependently, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer42->Add( 10, 0, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ wxBoxSizer* bSizer163;
+ bSizer163 = new wxBoxSizer( wxHORIZONTAL );
+
+ sSizerTimeRemaining = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticTextTimeRemFixed = new wxStaticText( this, wxID_ANY, _("Time remaining:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextTimeRemFixed->Wrap( -1 );
+ sSizerTimeRemaining->Add( m_staticTextTimeRemFixed, 0, wxALIGN_BOTTOM, 5 );
+
+ m_staticTextRemTime = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextRemTime->Wrap( -1 );
+ m_staticTextRemTime->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ sSizerTimeRemaining->Add( m_staticTextRemTime, 0, wxLEFT|wxALIGN_BOTTOM, 5 );
+
+
+ bSizer163->Add( sSizerTimeRemaining, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer163->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ sSizerTimeElapsed = new wxBoxSizer( wxHORIZONTAL );
+
+ wxStaticText* m_staticText37;
+ m_staticText37 = new wxStaticText( this, wxID_ANY, _("Time elapsed:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText37->Wrap( -1 );
+ sSizerTimeElapsed->Add( m_staticText37, 0, wxALIGN_BOTTOM, 5 );
+
+ m_staticTextTimeElapsed = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextTimeElapsed->Wrap( -1 );
+ m_staticTextTimeElapsed->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ sSizerTimeElapsed->Add( m_staticTextTimeElapsed, 0, wxLEFT|wxALIGN_BOTTOM, 5 );
+
+
+ bSizer163->Add( sSizerTimeElapsed, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer42->Add( bSizer163, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer40->Add( bSizer42, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer40->Add( 0, 0, 1, wxEXPAND, 5 );
+
+
+ this->SetSizer( bSizer40 );
+ this->Layout();
+ bSizer40->Fit( this );
}
CompareProgressDlgGenerated::~CompareProgressDlgGenerated()
@@ -1983,295 +2172,295 @@ CompareProgressDlgGenerated::~CompareProgressDlgGenerated()
SyncProgressPanelGenerated::SyncProgressPanelGenerated( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
- bSizerRoot = new wxBoxSizer( wxVERTICAL );
-
- bSizer42 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer42->Add( 32, 0, 0, 0, 5 );
-
-
- bSizer42->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_bitmapStatus = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 32,32 ), 0 );
- bSizer42->Add( m_bitmapStatus, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
- m_staticTextPhase = new wxStaticText( this, wxID_ANY, _("Synchronizing..."), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextPhase->Wrap( -1 );
- m_staticTextPhase->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer42->Add( m_staticTextPhase, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
-
- m_animCtrlSyncing = new wxAnimationCtrl( this, wxID_ANY, wxNullAnimation, wxDefaultPosition, wxSize( 32,32 ), wxAC_DEFAULT_STYLE );
- bSizer42->Add( m_animCtrlSyncing, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
-
-
- bSizer42->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_bpButtonMinimizeToTray = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 32,32 ), wxBU_AUTODRAW );
- m_bpButtonMinimizeToTray->SetToolTip( _("Minimize to notification area") );
-
- bSizer42->Add( m_bpButtonMinimizeToTray, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerRoot->Add( bSizer42, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
-
- bSizerStatusText = new wxBoxSizer( wxVERTICAL );
-
- m_staticTextStatus = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextStatus->Wrap( -1 );
- bSizerStatusText->Add( m_staticTextStatus, 0, wxEXPAND|wxLEFT, 10 );
-
-
- bSizerStatusText->Add( 0, 5, 0, 0, 5 );
-
-
- bSizerRoot->Add( bSizerStatusText, 0, wxEXPAND, 5 );
-
- wxStaticLine* m_staticlineHeader;
- m_staticlineHeader = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizerRoot->Add( m_staticlineHeader, 0, wxEXPAND, 5 );
-
- m_panelProgress = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panelProgress->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer173;
- bSizer173 = new wxBoxSizer( wxVERTICAL );
-
- bSizer171 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer171->Add( 10, 0, 0, 0, 5 );
-
- wxBoxSizer* bSizer164;
- bSizer164 = new wxBoxSizer( wxVERTICAL );
-
- m_panelItemsProcessed = new wxPanel( m_panelProgress, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
- m_panelItemsProcessed->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer165;
- bSizer165 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer165->Add( 0, 5, 0, 0, 5 );
-
- wxStaticText* m_staticText96;
- m_staticText96 = new wxStaticText( m_panelItemsProcessed, wxID_ANY, _("Items processed:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText96->Wrap( -1 );
- bSizer165->Add( m_staticText96, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
-
- wxBoxSizer* bSizer169;
- bSizer169 = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticTextProcessedObj = new wxStaticText( m_panelItemsProcessed, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_staticTextProcessedObj->Wrap( -1 );
- m_staticTextProcessedObj->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer169->Add( m_staticTextProcessedObj, 0, wxALIGN_BOTTOM, 5 );
-
- m_staticTextDataProcessed = new wxStaticText( m_panelItemsProcessed, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextDataProcessed->Wrap( -1 );
- bSizer169->Add( m_staticTextDataProcessed, 0, wxLEFT|wxALIGN_BOTTOM, 5 );
-
-
- bSizer165->Add( bSizer169, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer165->Add( 0, 5, 0, 0, 5 );
-
-
- m_panelItemsProcessed->SetSizer( bSizer165 );
- m_panelItemsProcessed->Layout();
- bSizer165->Fit( m_panelItemsProcessed );
- bSizer164->Add( m_panelItemsProcessed, 0, wxEXPAND|wxTOP, 7 );
-
- m_panelItemsRemaining = new wxPanel( m_panelProgress, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
- m_panelItemsRemaining->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer166;
- bSizer166 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer166->Add( 0, 5, 0, 0, 5 );
-
- wxStaticText* m_staticText97;
- m_staticText97 = new wxStaticText( m_panelItemsRemaining, wxID_ANY, _("Items remaining:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText97->Wrap( -1 );
- bSizer166->Add( m_staticText97, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
-
- wxBoxSizer* bSizer170;
- bSizer170 = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticTextRemainingObj = new wxStaticText( m_panelItemsRemaining, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_staticTextRemainingObj->Wrap( -1 );
- m_staticTextRemainingObj->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer170->Add( m_staticTextRemainingObj, 0, wxALIGN_BOTTOM, 5 );
-
- m_staticTextDataRemaining = new wxStaticText( m_panelItemsRemaining, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextDataRemaining->Wrap( -1 );
- bSizer170->Add( m_staticTextDataRemaining, 0, wxLEFT|wxALIGN_BOTTOM, 5 );
-
-
- bSizer166->Add( bSizer170, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer166->Add( 0, 5, 0, 0, 5 );
-
-
- m_panelItemsRemaining->SetSizer( bSizer166 );
- m_panelItemsRemaining->Layout();
- bSizer166->Fit( m_panelItemsRemaining );
- bSizer164->Add( m_panelItemsRemaining, 0, wxTOP|wxEXPAND, 7 );
-
- m_panelTimeRemaining = new wxPanel( m_panelProgress, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
- m_panelTimeRemaining->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer167;
- bSizer167 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer167->Add( 0, 5, 0, 0, 5 );
-
- wxStaticText* m_staticText98;
- m_staticText98 = new wxStaticText( m_panelTimeRemaining, wxID_ANY, _("Time remaining:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText98->Wrap( -1 );
- bSizer167->Add( m_staticText98, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
-
- m_staticTextRemTime = new wxStaticText( m_panelTimeRemaining, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextRemTime->Wrap( -1 );
- m_staticTextRemTime->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer167->Add( m_staticTextRemTime, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer167->Add( 0, 5, 0, 0, 5 );
-
-
- m_panelTimeRemaining->SetSizer( bSizer167 );
- m_panelTimeRemaining->Layout();
- bSizer167->Fit( m_panelTimeRemaining );
- bSizer164->Add( m_panelTimeRemaining, 0, wxTOP|wxEXPAND, 7 );
-
- wxPanel* m_panelTimeElapsed;
- m_panelTimeElapsed = new wxPanel( m_panelProgress, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
- m_panelTimeElapsed->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer168;
- bSizer168 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer168->Add( 0, 5, 0, 0, 5 );
-
- wxStaticText* m_staticText961;
- m_staticText961 = new wxStaticText( m_panelTimeElapsed, wxID_ANY, _("Time elapsed:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText961->Wrap( -1 );
- bSizer168->Add( m_staticText961, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
-
- m_staticTextTimeElapsed = new wxStaticText( m_panelTimeElapsed, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextTimeElapsed->Wrap( -1 );
- m_staticTextTimeElapsed->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer168->Add( m_staticTextTimeElapsed, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer168->Add( 0, 5, 0, 0, 5 );
-
-
- m_panelTimeElapsed->SetSizer( bSizer168 );
- m_panelTimeElapsed->Layout();
- bSizer168->Fit( m_panelTimeElapsed );
- bSizer164->Add( m_panelTimeElapsed, 0, wxTOP|wxEXPAND, 7 );
-
-
- bSizer171->Add( bSizer164, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer171->Add( 10, 0, 0, 0, 5 );
-
- wxBoxSizer* bSizer161;
- bSizer161 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer161->Add( 0, 15, 0, 0, 5 );
-
- m_panelGraphBytes = new zen::Graph2D( m_panelProgress, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_panelGraphBytes->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- bSizer161->Add( m_panelGraphBytes, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 15 );
-
- m_panelGraphItems = new zen::Graph2D( m_panelProgress, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_panelGraphItems->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- bSizer161->Add( m_panelGraphItems, 1, wxEXPAND, 15 );
-
-
- bSizer161->Add( 450, 0, 0, 0, 5 );
-
-
- bSizer171->Add( bSizer161, 1, wxEXPAND, 5 );
-
-
- bSizer171->Add( 0, 280, 0, 0, 5 );
-
-
- bSizer173->Add( bSizer171, 1, wxEXPAND, 5 );
-
-
- m_panelProgress->SetSizer( bSizer173 );
- m_panelProgress->Layout();
- bSizer173->Fit( m_panelProgress );
- bSizerRoot->Add( m_panelProgress, 1, wxEXPAND, 5 );
-
- m_notebookResult = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_FIXEDWIDTH );
-
- bSizerRoot->Add( m_notebookResult, 1, wxEXPAND, 5 );
-
- m_staticlineFooter = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizerRoot->Add( m_staticlineFooter, 0, wxEXPAND, 5 );
-
- bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer160;
- bSizer160 = new wxBoxSizer( wxHORIZONTAL );
-
- bSizerOnCompletion = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticText87 = new wxStaticText( this, wxID_ANY, _("On completion:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText87->Wrap( -1 );
- bSizerOnCompletion->Add( m_staticText87, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_comboBoxOnCompletion = new OnCompletionBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- bSizerOnCompletion->Add( m_comboBoxOnCompletion, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer160->Add( bSizerOnCompletion, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer160->Add( 0, 0, 0, 0, 5 );
-
-
- bSizerStdButtons->Add( bSizer160, 1, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
-
- m_buttonClose = new wxButton( this, wxID_OK, _("Close"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_buttonClose->SetDefault();
- m_buttonClose->Enable( false );
-
- bSizerStdButtons->Add( m_buttonClose, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_buttonPause = new wxButton( this, wxID_ANY, _("&Pause"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonPause, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
- m_buttonStop = new wxButton( this, wxID_CANCEL, _("Stop"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonStop, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizerRoot->Add( bSizerStdButtons, 0, wxALIGN_RIGHT|wxEXPAND, 5 );
-
-
- this->SetSizer( bSizerRoot );
- this->Layout();
- bSizerRoot->Fit( this );
+ bSizerRoot = new wxBoxSizer( wxVERTICAL );
+
+ bSizer42 = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizer42->Add( 32, 0, 0, 0, 5 );
+
+
+ bSizer42->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_bitmapStatus = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 32,32 ), 0 );
+ bSizer42->Add( m_bitmapStatus, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
+
+ m_staticTextPhase = new wxStaticText( this, wxID_ANY, _("Synchronizing..."), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextPhase->Wrap( -1 );
+ m_staticTextPhase->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer42->Add( m_staticTextPhase, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
+
+ m_animCtrlSyncing = new wxAnimationCtrl( this, wxID_ANY, wxNullAnimation, wxDefaultPosition, wxSize( 32,32 ), wxAC_DEFAULT_STYLE );
+ bSizer42->Add( m_animCtrlSyncing, 0, wxALIGN_CENTER_VERTICAL|wxALL, 2 );
+
+
+ bSizer42->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_bpButtonMinimizeToTray = new wxBitmapButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 32,32 ), wxBU_AUTODRAW );
+ m_bpButtonMinimizeToTray->SetToolTip( _("Minimize to notification area") );
+
+ bSizer42->Add( m_bpButtonMinimizeToTray, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerRoot->Add( bSizer42, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxLEFT|wxEXPAND, 5 );
+
+ bSizerStatusText = new wxBoxSizer( wxVERTICAL );
+
+ m_staticTextStatus = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextStatus->Wrap( -1 );
+ bSizerStatusText->Add( m_staticTextStatus, 0, wxEXPAND|wxLEFT, 10 );
+
+
+ bSizerStatusText->Add( 0, 5, 0, 0, 5 );
+
+
+ bSizerRoot->Add( bSizerStatusText, 0, wxEXPAND, 5 );
+
+ wxStaticLine* m_staticlineHeader;
+ m_staticlineHeader = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizerRoot->Add( m_staticlineHeader, 0, wxEXPAND, 5 );
+
+ m_panelProgress = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelProgress->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer173;
+ bSizer173 = new wxBoxSizer( wxVERTICAL );
+
+ bSizer171 = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizer171->Add( 10, 0, 0, 0, 5 );
+
+ wxBoxSizer* bSizer164;
+ bSizer164 = new wxBoxSizer( wxVERTICAL );
+
+ m_panelItemsProcessed = new wxPanel( m_panelProgress, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
+ m_panelItemsProcessed->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer165;
+ bSizer165 = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizer165->Add( 0, 5, 0, 0, 5 );
+
+ wxStaticText* m_staticText96;
+ m_staticText96 = new wxStaticText( m_panelItemsProcessed, wxID_ANY, _("Items processed:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText96->Wrap( -1 );
+ bSizer165->Add( m_staticText96, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
+
+ wxBoxSizer* bSizer169;
+ bSizer169 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticTextProcessedObj = new wxStaticText( m_panelItemsProcessed, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_staticTextProcessedObj->Wrap( -1 );
+ m_staticTextProcessedObj->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer169->Add( m_staticTextProcessedObj, 0, wxALIGN_BOTTOM, 5 );
+
+ m_staticTextDataProcessed = new wxStaticText( m_panelItemsProcessed, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextDataProcessed->Wrap( -1 );
+ bSizer169->Add( m_staticTextDataProcessed, 0, wxLEFT|wxALIGN_BOTTOM, 5 );
+
+
+ bSizer165->Add( bSizer169, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer165->Add( 0, 5, 0, 0, 5 );
+
+
+ m_panelItemsProcessed->SetSizer( bSizer165 );
+ m_panelItemsProcessed->Layout();
+ bSizer165->Fit( m_panelItemsProcessed );
+ bSizer164->Add( m_panelItemsProcessed, 0, wxEXPAND|wxTOP, 7 );
+
+ m_panelItemsRemaining = new wxPanel( m_panelProgress, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
+ m_panelItemsRemaining->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer166;
+ bSizer166 = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizer166->Add( 0, 5, 0, 0, 5 );
+
+ wxStaticText* m_staticText97;
+ m_staticText97 = new wxStaticText( m_panelItemsRemaining, wxID_ANY, _("Items remaining:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText97->Wrap( -1 );
+ bSizer166->Add( m_staticText97, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
+
+ wxBoxSizer* bSizer170;
+ bSizer170 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticTextRemainingObj = new wxStaticText( m_panelItemsRemaining, wxID_ANY, _("dummy"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_staticTextRemainingObj->Wrap( -1 );
+ m_staticTextRemainingObj->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer170->Add( m_staticTextRemainingObj, 0, wxALIGN_BOTTOM, 5 );
+
+ m_staticTextDataRemaining = new wxStaticText( m_panelItemsRemaining, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextDataRemaining->Wrap( -1 );
+ bSizer170->Add( m_staticTextDataRemaining, 0, wxLEFT|wxALIGN_BOTTOM, 5 );
+
+
+ bSizer166->Add( bSizer170, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer166->Add( 0, 5, 0, 0, 5 );
+
+
+ m_panelItemsRemaining->SetSizer( bSizer166 );
+ m_panelItemsRemaining->Layout();
+ bSizer166->Fit( m_panelItemsRemaining );
+ bSizer164->Add( m_panelItemsRemaining, 0, wxTOP|wxEXPAND, 7 );
+
+ m_panelTimeRemaining = new wxPanel( m_panelProgress, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
+ m_panelTimeRemaining->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer167;
+ bSizer167 = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizer167->Add( 0, 5, 0, 0, 5 );
+
+ wxStaticText* m_staticText98;
+ m_staticText98 = new wxStaticText( m_panelTimeRemaining, wxID_ANY, _("Time remaining:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText98->Wrap( -1 );
+ bSizer167->Add( m_staticText98, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
+
+ m_staticTextRemTime = new wxStaticText( m_panelTimeRemaining, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextRemTime->Wrap( -1 );
+ m_staticTextRemTime->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer167->Add( m_staticTextRemTime, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer167->Add( 0, 5, 0, 0, 5 );
+
+
+ m_panelTimeRemaining->SetSizer( bSizer167 );
+ m_panelTimeRemaining->Layout();
+ bSizer167->Fit( m_panelTimeRemaining );
+ bSizer164->Add( m_panelTimeRemaining, 0, wxTOP|wxEXPAND, 7 );
+
+ wxPanel* m_panelTimeElapsed;
+ m_panelTimeElapsed = new wxPanel( m_panelProgress, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
+ m_panelTimeElapsed->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer168;
+ bSizer168 = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizer168->Add( 0, 5, 0, 0, 5 );
+
+ wxStaticText* m_staticText961;
+ m_staticText961 = new wxStaticText( m_panelTimeElapsed, wxID_ANY, _("Time elapsed:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText961->Wrap( -1 );
+ bSizer168->Add( m_staticText961, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
+
+ m_staticTextTimeElapsed = new wxStaticText( m_panelTimeElapsed, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextTimeElapsed->Wrap( -1 );
+ m_staticTextTimeElapsed->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer168->Add( m_staticTextTimeElapsed, 0, wxALIGN_BOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer168->Add( 0, 5, 0, 0, 5 );
+
+
+ m_panelTimeElapsed->SetSizer( bSizer168 );
+ m_panelTimeElapsed->Layout();
+ bSizer168->Fit( m_panelTimeElapsed );
+ bSizer164->Add( m_panelTimeElapsed, 0, wxTOP|wxEXPAND, 7 );
+
+
+ bSizer171->Add( bSizer164, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer171->Add( 10, 0, 0, 0, 5 );
+
+ wxBoxSizer* bSizer161;
+ bSizer161 = new wxBoxSizer( wxVERTICAL );
+
+
+ bSizer161->Add( 0, 15, 0, 0, 5 );
+
+ m_panelGraphBytes = new zen::Graph2D( m_panelProgress, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_panelGraphBytes->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ bSizer161->Add( m_panelGraphBytes, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 15 );
+
+ m_panelGraphItems = new zen::Graph2D( m_panelProgress, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_panelGraphItems->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ bSizer161->Add( m_panelGraphItems, 1, wxEXPAND, 15 );
+
+
+ bSizer161->Add( 450, 0, 0, 0, 5 );
+
+
+ bSizer171->Add( bSizer161, 1, wxEXPAND, 5 );
+
+
+ bSizer171->Add( 0, 280, 0, 0, 5 );
+
+
+ bSizer173->Add( bSizer171, 1, wxEXPAND, 5 );
+
+
+ m_panelProgress->SetSizer( bSizer173 );
+ m_panelProgress->Layout();
+ bSizer173->Fit( m_panelProgress );
+ bSizerRoot->Add( m_panelProgress, 1, wxEXPAND, 5 );
+
+ m_notebookResult = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_FIXEDWIDTH );
+
+ bSizerRoot->Add( m_notebookResult, 1, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
+
+ m_staticlineFooter = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizerRoot->Add( m_staticlineFooter, 0, wxEXPAND, 5 );
+
+ bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer160;
+ bSizer160 = new wxBoxSizer( wxHORIZONTAL );
+
+ bSizerOnCompletion = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticText87 = new wxStaticText( this, wxID_ANY, _("On completion:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText87->Wrap( -1 );
+ bSizerOnCompletion->Add( m_staticText87, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_comboBoxOnCompletion = new OnCompletionBox( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ bSizerOnCompletion->Add( m_comboBoxOnCompletion, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer160->Add( bSizerOnCompletion, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer160->Add( 0, 0, 0, 0, 5 );
+
+
+ bSizerStdButtons->Add( bSizer160, 1, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
+
+ m_buttonClose = new wxButton( this, wxID_OK, _("Close"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_buttonClose->SetDefault();
+ m_buttonClose->Enable( false );
+
+ bSizerStdButtons->Add( m_buttonClose, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_buttonPause = new wxButton( this, wxID_ANY, _("&Pause"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ bSizerStdButtons->Add( m_buttonPause, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+ m_buttonStop = new wxButton( this, wxID_CANCEL, _("Stop"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ bSizerStdButtons->Add( m_buttonStop, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizerRoot->Add( bSizerStdButtons, 0, wxALIGN_RIGHT|wxEXPAND, 5 );
+
+
+ this->SetSizer( bSizerRoot );
+ this->Layout();
+ bSizerRoot->Fit( this );
}
SyncProgressPanelGenerated::~SyncProgressPanelGenerated()
@@ -2280,48 +2469,48 @@ SyncProgressPanelGenerated::~SyncProgressPanelGenerated()
LogPanelGenerated::LogPanelGenerated( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style ) : wxPanel( parent, id, pos, size, style )
{
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer179;
- bSizer179 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer153;
- bSizer153 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer154;
- bSizer154 = new wxBoxSizer( wxVERTICAL );
-
- m_bpButtonErrors = new ToggleButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 49,49 ), wxBU_AUTODRAW );
- bSizer154->Add( m_bpButtonErrors, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonWarnings = new ToggleButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 49,49 ), wxBU_AUTODRAW );
- bSizer154->Add( m_bpButtonWarnings, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_bpButtonInfo = new ToggleButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 49,49 ), wxBU_AUTODRAW );
- bSizer154->Add( m_bpButtonInfo, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizer153->Add( bSizer154, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
-
- m_staticline13 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer153->Add( m_staticline13, 0, wxEXPAND, 5 );
-
- m_gridMessages = new zen::Grid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
- m_gridMessages->SetScrollRate( 5, 5 );
- bSizer153->Add( m_gridMessages, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer179->Add( bSizer153, 1, wxEXPAND, 5 );
-
-
- this->SetSizer( bSizer179 );
- this->Layout();
- bSizer179->Fit( this );
-
- // Connect Events
- m_bpButtonErrors->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( LogPanelGenerated::OnErrors ), NULL, this );
- m_bpButtonWarnings->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( LogPanelGenerated::OnWarnings ), NULL, this );
- m_bpButtonInfo->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( LogPanelGenerated::OnInfo ), NULL, this );
+ this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer179;
+ bSizer179 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer153;
+ bSizer153 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer154;
+ bSizer154 = new wxBoxSizer( wxVERTICAL );
+
+ m_bpButtonErrors = new ToggleButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 49,49 ), wxBU_AUTODRAW );
+ bSizer154->Add( m_bpButtonErrors, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonWarnings = new ToggleButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 49,49 ), wxBU_AUTODRAW );
+ bSizer154->Add( m_bpButtonWarnings, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_bpButtonInfo = new ToggleButton( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 49,49 ), wxBU_AUTODRAW );
+ bSizer154->Add( m_bpButtonInfo, 0, wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer153->Add( bSizer154, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
+
+ m_staticline13 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer153->Add( m_staticline13, 0, wxEXPAND, 5 );
+
+ m_gridMessages = new zen::Grid( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxVSCROLL );
+ m_gridMessages->SetScrollRate( 5, 5 );
+ bSizer153->Add( m_gridMessages, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer179->Add( bSizer153, 1, wxEXPAND, 5 );
+
+
+ this->SetSizer( bSizer179 );
+ this->Layout();
+ bSizer179->Fit( this );
+
+ // Connect Events
+ m_bpButtonErrors->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( LogPanelGenerated::OnErrors ), NULL, this );
+ m_bpButtonWarnings->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( LogPanelGenerated::OnWarnings ), NULL, this );
+ m_bpButtonInfo->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( LogPanelGenerated::OnInfo ), NULL, this );
}
LogPanelGenerated::~LogPanelGenerated()
@@ -2330,184 +2519,184 @@ LogPanelGenerated::~LogPanelGenerated()
BatchDlgGenerated::BatchDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
- this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer54;
- bSizer54 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer72;
- bSizer72 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapBatchJob = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
- bSizer72->Add( m_bitmapBatchJob, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 10 );
-
- m_staticTextDescr = new wxStaticText( this, wxID_ANY, _("Create a batch file for unattended synchronization. To start, double-click this file or schedule in a task planner: %x"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextDescr->Wrap( 520 );
- bSizer72->Add( m_staticTextDescr, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 10 );
-
-
- bSizer54->Add( bSizer72, 0, 0, 5 );
-
- m_staticline18 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer54->Add( m_staticline18, 0, wxEXPAND, 5 );
-
- m_panel35 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panel35->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer172;
- bSizer172 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer180;
- bSizer180 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer171;
- bSizer171 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText82 = new wxStaticText( m_panel35, wxID_ANY, _("Handle errors:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText82->Wrap( -1 );
- bSizer171->Add( m_staticText82, 0, wxALL, 5 );
-
- wxBoxSizer* bSizer169;
- bSizer169 = new wxBoxSizer( wxHORIZONTAL );
-
- m_toggleBtnErrorIgnore = new wxToggleButton( m_panel35, wxID_ANY, _("Ignore"), wxDefaultPosition, wxDefaultSize, 0 );
- m_toggleBtnErrorIgnore->SetToolTip( _("Hide all error and warning messages") );
-
- bSizer169->Add( m_toggleBtnErrorIgnore, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_toggleBtnErrorPopup = new wxToggleButton( m_panel35, wxID_ANY, _("Pop-up"), wxDefaultPosition, wxDefaultSize, 0 );
- m_toggleBtnErrorPopup->SetToolTip( _("Show pop-up on errors or warnings") );
-
- bSizer169->Add( m_toggleBtnErrorPopup, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_toggleBtnErrorStop = new wxToggleButton( m_panel35, wxID_ANY, _("Stop"), wxDefaultPosition, wxDefaultSize, 0 );
- m_toggleBtnErrorStop->SetToolTip( _("Stop synchronization at first error") );
-
- bSizer169->Add( m_toggleBtnErrorStop, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer171->Add( bSizer169, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer180->Add( bSizer171, 0, wxALL, 5 );
-
- m_staticline26 = new wxStaticLine( m_panel35, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer180->Add( m_staticline26, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer170;
- bSizer170 = new wxBoxSizer( wxVERTICAL );
-
- m_checkBoxRunMinimized = new wxCheckBox( m_panel35, wxID_ANY, _("Run minimized"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer170->Add( m_checkBoxRunMinimized, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALL, 5 );
-
- wxBoxSizer* bSizer179;
- bSizer179 = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticText81 = new wxStaticText( m_panel35, wxID_ANY, _("On completion:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText81->Wrap( -1 );
- bSizer179->Add( m_staticText81, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_comboBoxOnCompletion = new OnCompletionBox( m_panel35, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- bSizer179->Add( m_comboBoxOnCompletion, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer170->Add( bSizer179, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer180->Add( bSizer170, 1, wxALL, 5 );
-
-
- bSizer172->Add( bSizer180, 0, wxEXPAND, 5 );
-
- m_staticline25 = new wxStaticLine( m_panel35, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer172->Add( m_staticline25, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer191;
- bSizer191 = new wxBoxSizer( wxVERTICAL );
-
- m_checkBoxGenerateLogfile = new wxCheckBox( m_panel35, wxID_ANY, _("Save log:"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer191->Add( m_checkBoxGenerateLogfile, 0, wxEXPAND|wxBOTTOM, 5 );
-
- m_panelLogfile = new wxPanel( m_panel35, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panelLogfile->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer1721;
- bSizer1721 = new wxBoxSizer( wxHORIZONTAL );
-
- m_logfileDir = new FolderHistoryBox( m_panelLogfile, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
- bSizer1721->Add( m_logfileDir, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_buttonSelectLogfileDir = new wxButton( m_panelLogfile, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonSelectLogfileDir->SetToolTip( _("Select a folder") );
-
- bSizer1721->Add( m_buttonSelectLogfileDir, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_checkBoxLogfilesLimit = new wxCheckBox( m_panelLogfile, wxID_ANY, _("Limit:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_checkBoxLogfilesLimit->SetToolTip( _("Limit maximum number of log files") );
-
- bSizer1721->Add( m_checkBoxLogfilesLimit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
-
- m_spinCtrlLogfileLimit = new wxSpinCtrl( m_panelLogfile, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 60,-1 ), wxSP_ARROW_KEYS, 1, 2000000000, 1 );
- m_spinCtrlLogfileLimit->SetToolTip( _("Limit maximum number of log files") );
-
- bSizer1721->Add( m_spinCtrlLogfileLimit, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- m_panelLogfile->SetSizer( bSizer1721 );
- m_panelLogfile->Layout();
- bSizer1721->Fit( m_panelLogfile );
- bSizer191->Add( m_panelLogfile, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer172->Add( bSizer191, 0, wxEXPAND|wxALL, 10 );
-
- m_hyperlink17 = new wxHyperlinkCtrl( m_panel35, wxID_ANY, _("How can I schedule a batch job?"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- bSizer172->Add( m_hyperlink17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 10 );
-
-
- m_panel35->SetSizer( bSizer172 );
- m_panel35->Layout();
- bSizer172->Fit( m_panel35 );
- bSizer54->Add( m_panel35, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
- m_staticline13 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer54->Add( m_staticline13, 0, wxEXPAND, 5 );
-
- bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizerStdButtons->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_buttonSaveAs = new wxButton( this, wxID_SAVE, _("Save &as..."), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_buttonSaveAs->SetDefault();
- m_buttonSaveAs->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizerStdButtons->Add( m_buttonSaveAs, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer54->Add( bSizerStdButtons, 0, wxALIGN_RIGHT|wxEXPAND, 5 );
-
-
- this->SetSizer( bSizer54 );
- this->Layout();
- bSizer54->Fit( this );
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( BatchDlgGenerated::OnClose ) );
- m_toggleBtnErrorIgnore->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnErrorIgnore ), NULL, this );
- m_toggleBtnErrorPopup->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnErrorPopup ), NULL, this );
- m_toggleBtnErrorStop->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnErrorStop ), NULL, this );
- m_checkBoxGenerateLogfile->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnToggleGenerateLogfile ), NULL, this );
- m_checkBoxLogfilesLimit->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnToggleLogfilesLimit ), NULL, this );
- m_hyperlink17->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( BatchDlgGenerated::OnHelpScheduleBatch ), NULL, this );
- m_buttonSaveAs->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnSaveBatchJob ), NULL, this );
- m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnCancel ), NULL, this );
+ this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
+ this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer54;
+ bSizer54 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer72;
+ bSizer72 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapBatchJob = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ bSizer72->Add( m_bitmapBatchJob, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 10 );
+
+ m_staticTextDescr = new wxStaticText( this, wxID_ANY, _("Create a batch file for unattended synchronization. To start, double-click this file or schedule in a task planner: %x"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextDescr->Wrap( 520 );
+ bSizer72->Add( m_staticTextDescr, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 10 );
+
+
+ bSizer54->Add( bSizer72, 0, 0, 5 );
+
+ m_staticline18 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer54->Add( m_staticline18, 0, wxEXPAND, 5 );
+
+ m_panel35 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panel35->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer172;
+ bSizer172 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer180;
+ bSizer180 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer171;
+ bSizer171 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText82 = new wxStaticText( m_panel35, wxID_ANY, _("Handle errors:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText82->Wrap( -1 );
+ bSizer171->Add( m_staticText82, 0, wxALL, 5 );
+
+ wxBoxSizer* bSizer169;
+ bSizer169 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_toggleBtnErrorIgnore = new wxToggleButton( m_panel35, wxID_ANY, _("Ignore"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_toggleBtnErrorIgnore->SetToolTip( _("Hide all error and warning messages") );
+
+ bSizer169->Add( m_toggleBtnErrorIgnore, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_toggleBtnErrorPopup = new wxToggleButton( m_panel35, wxID_ANY, _("Pop-up"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_toggleBtnErrorPopup->SetToolTip( _("Show pop-up on errors or warnings") );
+
+ bSizer169->Add( m_toggleBtnErrorPopup, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_toggleBtnErrorStop = new wxToggleButton( m_panel35, wxID_ANY, _("Stop"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_toggleBtnErrorStop->SetToolTip( _("Stop synchronization at first error") );
+
+ bSizer169->Add( m_toggleBtnErrorStop, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer171->Add( bSizer169, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer180->Add( bSizer171, 0, wxALL, 5 );
+
+ m_staticline26 = new wxStaticLine( m_panel35, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer180->Add( m_staticline26, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer170;
+ bSizer170 = new wxBoxSizer( wxVERTICAL );
+
+ m_checkBoxRunMinimized = new wxCheckBox( m_panel35, wxID_ANY, _("Run minimized"), wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer170->Add( m_checkBoxRunMinimized, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALL, 5 );
+
+ wxBoxSizer* bSizer179;
+ bSizer179 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_staticText81 = new wxStaticText( m_panel35, wxID_ANY, _("On completion:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText81->Wrap( -1 );
+ bSizer179->Add( m_staticText81, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_comboBoxOnCompletion = new OnCompletionBox( m_panel35, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ bSizer179->Add( m_comboBoxOnCompletion, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer170->Add( bSizer179, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer180->Add( bSizer170, 1, wxALL, 5 );
+
+
+ bSizer172->Add( bSizer180, 0, wxEXPAND, 5 );
+
+ m_staticline25 = new wxStaticLine( m_panel35, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer172->Add( m_staticline25, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer191;
+ bSizer191 = new wxBoxSizer( wxVERTICAL );
+
+ m_checkBoxGenerateLogfile = new wxCheckBox( m_panel35, wxID_ANY, _("Save log:"), wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer191->Add( m_checkBoxGenerateLogfile, 0, wxEXPAND|wxBOTTOM, 5 );
+
+ m_panelLogfile = new wxPanel( m_panel35, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelLogfile->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer1721;
+ bSizer1721 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_logfileDir = new FolderHistoryBox( m_panelLogfile, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 );
+ bSizer1721->Add( m_logfileDir, 1, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_buttonSelectLogfileDir = new wxButton( m_panelLogfile, wxID_ANY, _("Browse"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonSelectLogfileDir->SetToolTip( _("Select a folder") );
+
+ bSizer1721->Add( m_buttonSelectLogfileDir, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_checkBoxLogfilesLimit = new wxCheckBox( m_panelLogfile, wxID_ANY, _("Limit:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_checkBoxLogfilesLimit->SetToolTip( _("Limit maximum number of log files") );
+
+ bSizer1721->Add( m_checkBoxLogfilesLimit, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
+
+ m_spinCtrlLogfileLimit = new wxSpinCtrl( m_panelLogfile, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 60,-1 ), wxSP_ARROW_KEYS, 1, 2000000000, 1 );
+ m_spinCtrlLogfileLimit->SetToolTip( _("Limit maximum number of log files") );
+
+ bSizer1721->Add( m_spinCtrlLogfileLimit, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ m_panelLogfile->SetSizer( bSizer1721 );
+ m_panelLogfile->Layout();
+ bSizer1721->Fit( m_panelLogfile );
+ bSizer191->Add( m_panelLogfile, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
+
+
+ bSizer172->Add( bSizer191, 0, wxEXPAND|wxALL, 10 );
+
+ m_hyperlink17 = new wxHyperlinkCtrl( m_panel35, wxID_ANY, _("How can I schedule a batch job?"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ bSizer172->Add( m_hyperlink17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 10 );
+
+
+ m_panel35->SetSizer( bSizer172 );
+ m_panel35->Layout();
+ bSizer172->Fit( m_panel35 );
+ bSizer54->Add( m_panel35, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
+
+ m_staticline13 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer54->Add( m_staticline13, 0, wxEXPAND, 5 );
+
+ bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizerStdButtons->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_buttonSaveAs = new wxButton( this, wxID_SAVE, _("Save &as..."), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_buttonSaveAs->SetDefault();
+ m_buttonSaveAs->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizerStdButtons->Add( m_buttonSaveAs, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer54->Add( bSizerStdButtons, 0, wxALIGN_RIGHT|wxEXPAND, 5 );
+
+
+ this->SetSizer( bSizer54 );
+ this->Layout();
+ bSizer54->Fit( this );
+
+ this->Centre( wxBOTH );
+
+ // Connect Events
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( BatchDlgGenerated::OnClose ) );
+ m_toggleBtnErrorIgnore->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnErrorIgnore ), NULL, this );
+ m_toggleBtnErrorPopup->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnErrorPopup ), NULL, this );
+ m_toggleBtnErrorStop->Connect( wxEVT_COMMAND_TOGGLEBUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnErrorStop ), NULL, this );
+ m_checkBoxGenerateLogfile->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnToggleGenerateLogfile ), NULL, this );
+ m_checkBoxLogfilesLimit->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnToggleLogfilesLimit ), NULL, this );
+ m_hyperlink17->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( BatchDlgGenerated::OnHelpScheduleBatch ), NULL, this );
+ m_buttonSaveAs->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnSaveBatchJob ), NULL, this );
+ m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( BatchDlgGenerated::OnCancel ), NULL, this );
}
BatchDlgGenerated::~BatchDlgGenerated()
@@ -2516,595 +2705,345 @@ BatchDlgGenerated::~BatchDlgGenerated()
DeleteDlgGenerated::DeleteDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
- this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer24;
- bSizer24 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer72;
- bSizer72 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapDeleteType = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- bSizer72->Add( m_bitmapDeleteType, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 10 );
-
- m_staticTextHeader = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0|wxNO_BORDER );
- m_staticTextHeader->Wrap( -1 );
- bSizer72->Add( m_staticTextHeader, 0, wxALIGN_CENTER_VERTICAL|wxALL, 10 );
-
-
- bSizer24->Add( bSizer72, 0, 0, 5 );
-
- m_staticline91 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer24->Add( m_staticline91, 0, wxEXPAND, 5 );
-
- m_panel31 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panel31->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer185;
- bSizer185 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer185->Add( 60, 0, 0, 0, 5 );
-
- m_staticline42 = new wxStaticLine( m_panel31, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer185->Add( m_staticline42, 0, wxEXPAND, 5 );
-
- m_textCtrlFileList = new wxTextCtrl( m_panel31, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 500,200 ), wxTE_DONTWRAP|wxTE_MULTILINE|wxTE_READONLY|wxNO_BORDER );
- bSizer185->Add( m_textCtrlFileList, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- m_panel31->SetSizer( bSizer185 );
- m_panel31->Layout();
- bSizer185->Fit( m_panel31 );
- bSizer24->Add( m_panel31, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_staticline9 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer24->Add( m_staticline9, 0, wxEXPAND, 5 );
-
- bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer99;
- bSizer99 = new wxBoxSizer( wxVERTICAL );
-
- m_checkBoxUseRecycler = new wxCheckBox( this, wxID_ANY, _("&Recycle bin"), wxDefaultPosition, wxDefaultSize, 0 );
- bSizer99->Add( m_checkBoxUseRecycler, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
-
-
- bSizerStdButtons->Add( bSizer99, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_buttonOK = new wxButton( this, wxID_OK, _("dummy"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_buttonOK->SetDefault();
- m_buttonOK->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizerStdButtons->Add( m_buttonOK, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer24->Add( bSizerStdButtons, 0, wxEXPAND, 5 );
-
-
- this->SetSizer( bSizer24 );
- this->Layout();
- bSizer24->Fit( this );
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DeleteDlgGenerated::OnClose ) );
- m_checkBoxUseRecycler->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DeleteDlgGenerated::OnUseRecycler ), NULL, this );
- m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DeleteDlgGenerated::OnOK ), NULL, this );
- m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DeleteDlgGenerated::OnCancel ), NULL, this );
+ this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
+ this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer24;
+ bSizer24 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer72;
+ bSizer72 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapDeleteType = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer72->Add( m_bitmapDeleteType, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 10 );
+
+ m_staticTextHeader = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0|wxNO_BORDER );
+ m_staticTextHeader->Wrap( -1 );
+ bSizer72->Add( m_staticTextHeader, 0, wxALIGN_CENTER_VERTICAL|wxALL, 10 );
+
+
+ bSizer24->Add( bSizer72, 0, 0, 5 );
+
+ m_staticline91 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer24->Add( m_staticline91, 0, wxEXPAND, 5 );
+
+ m_panel31 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panel31->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer185;
+ bSizer185 = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizer185->Add( 60, 0, 0, 0, 5 );
+
+ m_staticline42 = new wxStaticLine( m_panel31, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer185->Add( m_staticline42, 0, wxEXPAND, 5 );
+
+ m_textCtrlFileList = new wxTextCtrl( m_panel31, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 500,200 ), wxTE_DONTWRAP|wxTE_MULTILINE|wxTE_READONLY|wxNO_BORDER );
+ bSizer185->Add( m_textCtrlFileList, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ m_panel31->SetSizer( bSizer185 );
+ m_panel31->Layout();
+ bSizer185->Fit( m_panel31 );
+ bSizer24->Add( m_panel31, 1, wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_staticline9 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer24->Add( m_staticline9, 0, wxEXPAND, 5 );
+
+ bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer99;
+ bSizer99 = new wxBoxSizer( wxVERTICAL );
+
+ m_checkBoxUseRecycler = new wxCheckBox( this, wxID_ANY, _("&Recycle bin"), wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer99->Add( m_checkBoxUseRecycler, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
+
+
+ bSizerStdButtons->Add( bSizer99, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_buttonOK = new wxButton( this, wxID_OK, _("dummy"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_buttonOK->SetDefault();
+ m_buttonOK->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizerStdButtons->Add( m_buttonOK, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer24->Add( bSizerStdButtons, 0, wxEXPAND, 5 );
+
+
+ this->SetSizer( bSizer24 );
+ this->Layout();
+ bSizer24->Fit( this );
+
+ this->Centre( wxBOTH );
+
+ // Connect Events
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DeleteDlgGenerated::OnClose ) );
+ m_checkBoxUseRecycler->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DeleteDlgGenerated::OnUseRecycler ), NULL, this );
+ m_buttonOK->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DeleteDlgGenerated::OnOK ), NULL, this );
+ m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DeleteDlgGenerated::OnCancel ), NULL, this );
}
DeleteDlgGenerated::~DeleteDlgGenerated()
{
}
-FilterDlgGenerated::FilterDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
-{
- this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer21;
- bSizer21 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer72;
- bSizer72 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapFilter = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
- bSizer72->Add( m_bitmapFilter, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 10 );
-
- m_staticText44 = new wxStaticText( this, wxID_ANY, _("Select filter rules to exclude certain files from synchronization. Enter file paths relative to their corresponding folder pair."), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_staticText44->Wrap( 480 );
- bSizer72->Add( m_staticText44, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 10 );
-
-
- bSizer21->Add( bSizer72, 0, 0, 5 );
-
- m_staticline17 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer21->Add( m_staticline17, 0, wxEXPAND, 5 );
-
- m_panel38 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panel38->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer159;
- bSizer159 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer166;
- bSizer166 = new wxBoxSizer( wxVERTICAL );
-
-
- bSizer166->Add( 0, 10, 0, 0, 5 );
-
- wxBoxSizer* bSizer1661;
- bSizer1661 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapInclude = new wxStaticBitmap( m_panel38, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), 0 );
- bSizer1661->Add( m_bitmapInclude, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
-
- wxBoxSizer* bSizer173;
- bSizer173 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText78 = new wxStaticText( m_panel38, wxID_ANY, _("Include:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText78->Wrap( -1 );
- bSizer173->Add( m_staticText78, 0, 0, 5 );
-
- m_textCtrlInclude = new wxTextCtrl( m_panel38, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), wxTE_MULTILINE );
- m_textCtrlInclude->SetMinSize( wxSize( 280,-1 ) );
-
- bSizer173->Add( m_textCtrlInclude, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxTOP, 5 );
-
-
- bSizer1661->Add( bSizer173, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer166->Add( bSizer1661, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxLEFT, 5 );
-
- m_staticline22 = new wxStaticLine( m_panel38, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer166->Add( m_staticline22, 0, wxEXPAND, 5 );
-
-
- bSizer166->Add( 0, 10, 0, 0, 5 );
-
- wxBoxSizer* bSizer1651;
- bSizer1651 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapExclude = new wxStaticBitmap( m_panel38, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 30,30 ), 0 );
- bSizer1651->Add( m_bitmapExclude, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- wxBoxSizer* bSizer174;
- bSizer174 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer189;
- bSizer189 = new wxBoxSizer( wxHORIZONTAL );
-
- m_staticText77 = new wxStaticText( m_panel38, wxID_ANY, _("Exclude:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText77->Wrap( -1 );
- bSizer189->Add( m_staticText77, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer189->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_hyperlink17 = new wxHyperlinkCtrl( m_panel38, wxID_ANY, _("Show examples"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- bSizer189->Add( m_hyperlink17, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer174->Add( bSizer189, 0, wxEXPAND, 5 );
-
- m_textCtrlExclude = new wxTextCtrl( m_panel38, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( -1,-1 ), wxTE_MULTILINE );
- bSizer174->Add( m_textCtrlExclude, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxTOP, 5 );
-
-
- bSizer1651->Add( bSizer174, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer166->Add( bSizer1651, 2, wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxLEFT, 5 );
-
-
- bSizer159->Add( bSizer166, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- m_staticline24 = new wxStaticLine( m_panel38, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer159->Add( m_staticline24, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- wxBoxSizer* bSizer160;
- bSizer160 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer167;
- bSizer167 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapFilterDate = new wxStaticBitmap( m_panel38, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 34,34 ), 0 );
- bSizer167->Add( m_bitmapFilterDate, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- wxBoxSizer* bSizer165;
- bSizer165 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText79 = new wxStaticText( m_panel38, wxID_ANY, _("Time span:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText79->Wrap( -1 );
- bSizer165->Add( m_staticText79, 0, wxBOTTOM, 5 );
-
- m_spinCtrlTimespan = new wxSpinCtrl( m_panel38, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 2000000000, 0 );
- bSizer165->Add( m_spinCtrlTimespan, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- wxArrayString m_choiceUnitTimespanChoices;
- m_choiceUnitTimespan = new wxChoice( m_panel38, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitTimespanChoices, 0 );
- m_choiceUnitTimespan->SetSelection( 0 );
- bSizer165->Add( m_choiceUnitTimespan, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer167->Add( bSizer165, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer160->Add( bSizer167, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 5 );
-
- m_staticline23 = new wxStaticLine( m_panel38, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer160->Add( m_staticline23, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer168;
- bSizer168 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapFilterSize = new wxStaticBitmap( m_panel38, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 32,32 ), 0 );
- bSizer168->Add( m_bitmapFilterSize, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
-
- wxBoxSizer* bSizer158;
- bSizer158 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText80 = new wxStaticText( m_panel38, wxID_ANY, _("File size:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText80->Wrap( -1 );
- bSizer158->Add( m_staticText80, 0, wxBOTTOM, 5 );
-
- wxBoxSizer* bSizer162;
- bSizer162 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText101 = new wxStaticText( m_panel38, wxID_ANY, _("Minimum:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText101->Wrap( -1 );
- bSizer162->Add( m_staticText101, 0, wxBOTTOM, 2 );
-
- m_spinCtrlMinSize = new wxSpinCtrl( m_panel38, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 2000000000, 0 );
- bSizer162->Add( m_spinCtrlMinSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- wxArrayString m_choiceUnitMinSizeChoices;
- m_choiceUnitMinSize = new wxChoice( m_panel38, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitMinSizeChoices, 0 );
- m_choiceUnitMinSize->SetSelection( 0 );
- bSizer162->Add( m_choiceUnitMinSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer158->Add( bSizer162, 0, wxBOTTOM|wxEXPAND, 5 );
-
- wxBoxSizer* bSizer163;
- bSizer163 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText102 = new wxStaticText( m_panel38, wxID_ANY, _("Maximum:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText102->Wrap( -1 );
- bSizer163->Add( m_staticText102, 0, wxBOTTOM, 2 );
-
- m_spinCtrlMaxSize = new wxSpinCtrl( m_panel38, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 2000000000, 0 );
- bSizer163->Add( m_spinCtrlMaxSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
- wxArrayString m_choiceUnitMaxSizeChoices;
- m_choiceUnitMaxSize = new wxChoice( m_panel38, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceUnitMaxSizeChoices, 0 );
- m_choiceUnitMaxSize->SetSelection( 0 );
- bSizer163->Add( m_choiceUnitMaxSize, 0, wxALIGN_CENTER_VERTICAL|wxEXPAND, 5 );
-
-
- bSizer158->Add( bSizer163, 0, wxEXPAND, 5 );
-
-
- bSizer168->Add( bSizer158, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer160->Add( bSizer168, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxALL, 5 );
-
-
- bSizer159->Add( bSizer160, 0, wxEXPAND, 5 );
-
-
- m_panel38->SetSizer( bSizer159 );
- m_panel38->Layout();
- bSizer159->Fit( m_panel38 );
- bSizer21->Add( m_panel38, 1, wxEXPAND, 5 );
-
- m_staticline16 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer21->Add( m_staticline16, 0, wxEXPAND, 5 );
-
- bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
-
- m_buttonClear = new wxButton( this, wxID_DEFAULT, _("&Reset"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonClear, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
-
-
- bSizerStdButtons->Add( 0, 0, 1, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_buttonOk = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_buttonOk->SetDefault();
- m_buttonOk->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizerStdButtons->Add( m_buttonOk, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer21->Add( bSizerStdButtons, 0, wxEXPAND, 5 );
-
-
- this->SetSizer( bSizer21 );
- this->Layout();
- bSizer21->Fit( this );
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( FilterDlgGenerated::OnClose ) );
- m_textCtrlInclude->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( FilterDlgGenerated::OnUpdateNameFilter ), NULL, this );
- m_hyperlink17->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( FilterDlgGenerated::OnHelpShowExamples ), NULL, this );
- m_textCtrlExclude->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( FilterDlgGenerated::OnUpdateNameFilter ), NULL, this );
- m_choiceUnitTimespan->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( FilterDlgGenerated::OnUpdateChoice ), NULL, this );
- m_choiceUnitMinSize->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( FilterDlgGenerated::OnUpdateChoice ), NULL, this );
- m_choiceUnitMaxSize->Connect( wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler( FilterDlgGenerated::OnUpdateChoice ), NULL, this );
- m_buttonClear->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnClear ), NULL, this );
- m_buttonOk->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnOkay ), NULL, this );
- m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( FilterDlgGenerated::OnCancel ), NULL, this );
-}
-
-FilterDlgGenerated::~FilterDlgGenerated()
-{
-}
-
GlobalSettingsDlgGenerated::GlobalSettingsDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
- this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer95;
- bSizer95 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer72;
- bSizer72 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapSettings = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
- bSizer72->Add( m_bitmapSettings, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 10 );
-
- m_staticText44 = new wxStaticText( this, wxID_ANY, _("The following settings are used for all synchronization jobs."), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_staticText44->Wrap( 500 );
- bSizer72->Add( m_staticText44, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 10 );
-
-
- bSizer95->Add( bSizer72, 0, 0, 5 );
-
- m_staticline20 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer95->Add( m_staticline20, 0, wxEXPAND, 5 );
-
- m_panel39 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panel39->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer166;
- bSizer166 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer186;
- bSizer186 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer160;
- bSizer160 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer176;
- bSizer176 = new wxBoxSizer( wxHORIZONTAL );
-
- m_checkBoxFailSafe = new wxCheckBox( m_panel39, wxID_ANY, _("Fail-safe file copy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_checkBoxFailSafe->SetValue(true);
- m_checkBoxFailSafe->SetToolTip( _("Copy to a temporary file (*.ffs_tmp) before overwriting target.\nThis guarantees a consistent state even in case of a serious error.") );
-
- bSizer176->Add( m_checkBoxFailSafe, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticText91 = new wxStaticText( m_panel39, wxID_ANY, _("(recommended)"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText91->Wrap( -1 );
- m_staticText91->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
-
- bSizer176->Add( m_staticText91, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer160->Add( bSizer176, 0, wxEXPAND, 5 );
-
- bSizerLockedFiles = new wxBoxSizer( wxHORIZONTAL );
-
- m_checkBoxCopyLocked = new wxCheckBox( m_panel39, wxID_ANY, _("Copy locked files"), wxDefaultPosition, wxDefaultSize, 0 );
- m_checkBoxCopyLocked->SetValue(true);
- m_checkBoxCopyLocked->SetToolTip( _("Copy shared or locked files using the Volume Shadow Copy Service.") );
-
- bSizerLockedFiles->Add( m_checkBoxCopyLocked, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticText92 = new wxStaticText( m_panel39, wxID_ANY, _("(requires administrator rights)"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText92->Wrap( -1 );
- m_staticText92->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
-
- bSizerLockedFiles->Add( m_staticText92, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer160->Add( bSizerLockedFiles, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer178;
- bSizer178 = new wxBoxSizer( wxHORIZONTAL );
-
- m_checkBoxCopyPermissions = new wxCheckBox( m_panel39, wxID_ANY, _("Copy file access permissions"), wxDefaultPosition, wxDefaultSize, 0 );
- m_checkBoxCopyPermissions->SetValue(true);
- m_checkBoxCopyPermissions->SetToolTip( _("Transfer file and folder permissions.") );
-
- bSizer178->Add( m_checkBoxCopyPermissions, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_staticText93 = new wxStaticText( m_panel39, wxID_ANY, _("(requires administrator rights)"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText93->Wrap( -1 );
- m_staticText93->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
-
- bSizer178->Add( m_staticText93, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer160->Add( bSizer178, 0, wxEXPAND, 5 );
-
-
- bSizer186->Add( bSizer160, 0, wxEXPAND|wxALL, 5 );
-
- m_staticline39 = new wxStaticLine( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer186->Add( m_staticline39, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer188;
- bSizer188 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText95 = new wxStaticText( m_panel39, wxID_ANY, _("Automatic retry on error:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText95->Wrap( -1 );
- bSizer188->Add( m_staticText95, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
-
- wxFlexGridSizer* fgSizer6;
- fgSizer6 = new wxFlexGridSizer( 0, 2, 5, 5 );
- fgSizer6->SetFlexibleDirection( wxBOTH );
- fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
- m_staticText96 = new wxStaticText( m_panel39, wxID_ANY, _("Retry count:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText96->Wrap( -1 );
- fgSizer6->Add( m_staticText96, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_spinCtrlAutoRetryCount = new wxSpinCtrl( m_panel39, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 60,-1 ), wxSP_ARROW_KEYS, 0, 2000000000, 4 );
- fgSizer6->Add( m_spinCtrlAutoRetryCount, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextAutoRetryDelay = new wxStaticText( m_panel39, wxID_ANY, _("Delay (in seconds):"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextAutoRetryDelay->Wrap( -1 );
- fgSizer6->Add( m_staticTextAutoRetryDelay, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_spinCtrlAutoRetryDelay = new wxSpinCtrl( m_panel39, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 60,-1 ), wxSP_ARROW_KEYS, 0, 2000000000, 0 );
- fgSizer6->Add( m_spinCtrlAutoRetryDelay, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer188->Add( fgSizer6, 0, wxLEFT, 10 );
-
-
- bSizer186->Add( bSizer188, 0, wxALL, 10 );
-
-
- bSizer166->Add( bSizer186, 0, wxEXPAND, 5 );
-
- m_staticline191 = new wxStaticLine( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer166->Add( m_staticline191, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer181;
- bSizer181 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText85 = new wxStaticText( m_panel39, wxID_ANY, _("Customize context menu:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText85->Wrap( -1 );
- bSizer181->Add( m_staticText85, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
-
- m_gridCustomCommand = new wxGrid( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
-
- // Grid
- m_gridCustomCommand->CreateGrid( 5, 2 );
- m_gridCustomCommand->EnableEditing( true );
- m_gridCustomCommand->EnableGridLines( true );
- m_gridCustomCommand->EnableDragGridSize( false );
- m_gridCustomCommand->SetMargins( 0, 0 );
-
- // Columns
- m_gridCustomCommand->SetColSize( 0, 165 );
- m_gridCustomCommand->SetColSize( 1, 196 );
- m_gridCustomCommand->EnableDragColMove( false );
- m_gridCustomCommand->EnableDragColSize( true );
- m_gridCustomCommand->SetColLabelSize( 20 );
- m_gridCustomCommand->SetColLabelValue( 0, _("Description") );
- m_gridCustomCommand->SetColLabelValue( 1, _("Command line") );
- m_gridCustomCommand->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
-
- // Rows
- m_gridCustomCommand->EnableDragRowSize( false );
- m_gridCustomCommand->SetRowLabelSize( 1 );
- m_gridCustomCommand->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTRE );
-
- // Label Appearance
-
- // Cell Defaults
- m_gridCustomCommand->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
- bSizer181->Add( m_gridCustomCommand, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
- wxBoxSizer* bSizer193;
- bSizer193 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bpButtonAddRow = new wxBitmapButton( m_panel39, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- bSizer193->Add( m_bpButtonAddRow, 0, 0, 5 );
-
- m_bpButtonRemoveRow = new wxBitmapButton( m_panel39, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
- bSizer193->Add( m_bpButtonRemoveRow, 0, 0, 5 );
-
-
- bSizer193->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_hyperlink17 = new wxHyperlinkCtrl( m_panel39, wxID_ANY, _("Show examples"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- bSizer193->Add( m_hyperlink17, 0, wxLEFT, 5 );
-
-
- bSizer181->Add( bSizer193, 0, wxTOP|wxEXPAND, 5 );
-
-
- bSizer166->Add( bSizer181, 1, wxEXPAND|wxALL, 10 );
-
- m_staticline192 = new wxStaticLine( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer166->Add( m_staticline192, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer1881;
- bSizer1881 = new wxBoxSizer( wxHORIZONTAL );
-
- m_buttonResetDialogs = new zen::BitmapTextButton( m_panel39, wxID_ANY, _("Restore hidden windows"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
- bSizer1881->Add( m_buttonResetDialogs, 0, wxALL|wxALIGN_CENTER_VERTICAL, 10 );
-
- m_staticline40 = new wxStaticLine( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer1881->Add( m_staticline40, 0, wxEXPAND, 5 );
-
-
- bSizer166->Add( bSizer1881, 0, 0, 5 );
-
-
- m_panel39->SetSizer( bSizer166 );
- m_panel39->Layout();
- bSizer166->Fit( m_panel39 );
- bSizer95->Add( m_panel39, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
- m_staticline36 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer95->Add( m_staticline36, 0, wxEXPAND, 5 );
-
- bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
-
- m_buttonDefault = new wxButton( this, wxID_DEFAULT, _("&Default"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonDefault, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizerStdButtons->Add( 0, 0, 1, 0, 5 );
-
- m_buttonOkay = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_buttonOkay->SetDefault();
- m_buttonOkay->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizerStdButtons->Add( m_buttonOkay, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer95->Add( bSizerStdButtons, 0, wxEXPAND, 5 );
-
-
- this->SetSizer( bSizer95 );
- this->Layout();
- bSizer95->Fit( this );
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GlobalSettingsDlgGenerated::OnClose ) );
- m_spinCtrlAutoRetryCount->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnToggleAutoRetryCount ), NULL, this );
- m_bpButtonAddRow->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnAddRow ), NULL, this );
- m_bpButtonRemoveRow->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnRemoveRow ), NULL, this );
- m_hyperlink17->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( GlobalSettingsDlgGenerated::OnHelpShowExamples ), NULL, this );
- m_buttonResetDialogs->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnResetDialogs ), NULL, this );
- m_buttonDefault->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnDefault ), NULL, this );
- m_buttonOkay->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnOkay ), NULL, this );
- m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnCancel ), NULL, this );
+ this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
+ this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer95;
+ bSizer95 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer72;
+ bSizer72 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapSettings = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ bSizer72->Add( m_bitmapSettings, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 10 );
+
+ m_staticText44 = new wxStaticText( this, wxID_ANY, _("The following settings are used for all synchronization jobs."), wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_staticText44->Wrap( 500 );
+ bSizer72->Add( m_staticText44, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 10 );
+
+
+ bSizer95->Add( bSizer72, 0, 0, 5 );
+
+ m_staticline20 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer95->Add( m_staticline20, 0, wxEXPAND, 5 );
+
+ m_panel39 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panel39->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer166;
+ bSizer166 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer186;
+ bSizer186 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer160;
+ bSizer160 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer176;
+ bSizer176 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_checkBoxFailSafe = new wxCheckBox( m_panel39, wxID_ANY, _("Fail-safe file copy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_checkBoxFailSafe->SetValue(true);
+ m_checkBoxFailSafe->SetToolTip( _("Copy to a temporary file (*.ffs_tmp) before overwriting target.\nThis guarantees a consistent state even in case of a serious error.") );
+
+ bSizer176->Add( m_checkBoxFailSafe, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticText91 = new wxStaticText( m_panel39, wxID_ANY, _("(recommended)"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText91->Wrap( -1 );
+ m_staticText91->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
+
+ bSizer176->Add( m_staticText91, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer160->Add( bSizer176, 0, wxEXPAND, 5 );
+
+ bSizerLockedFiles = new wxBoxSizer( wxHORIZONTAL );
+
+ m_checkBoxCopyLocked = new wxCheckBox( m_panel39, wxID_ANY, _("Copy locked files"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_checkBoxCopyLocked->SetValue(true);
+ m_checkBoxCopyLocked->SetToolTip( _("Copy shared or locked files using the Volume Shadow Copy Service.") );
+
+ bSizerLockedFiles->Add( m_checkBoxCopyLocked, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticText92 = new wxStaticText( m_panel39, wxID_ANY, _("(requires administrator rights)"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText92->Wrap( -1 );
+ m_staticText92->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
+
+ bSizerLockedFiles->Add( m_staticText92, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer160->Add( bSizerLockedFiles, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer178;
+ bSizer178 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_checkBoxCopyPermissions = new wxCheckBox( m_panel39, wxID_ANY, _("Copy file access permissions"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_checkBoxCopyPermissions->SetValue(true);
+ m_checkBoxCopyPermissions->SetToolTip( _("Transfer file and folder permissions.") );
+
+ bSizer178->Add( m_checkBoxCopyPermissions, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_staticText93 = new wxStaticText( m_panel39, wxID_ANY, _("(requires administrator rights)"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText93->Wrap( -1 );
+ m_staticText93->SetForegroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) );
+
+ bSizer178->Add( m_staticText93, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer160->Add( bSizer178, 0, wxEXPAND, 5 );
+
+
+ bSizer186->Add( bSizer160, 0, wxEXPAND|wxALL, 5 );
+
+ m_staticline39 = new wxStaticLine( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer186->Add( m_staticline39, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer188;
+ bSizer188 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText95 = new wxStaticText( m_panel39, wxID_ANY, _("Automatic retry on error:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText95->Wrap( -1 );
+ bSizer188->Add( m_staticText95, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
+
+ wxFlexGridSizer* fgSizer6;
+ fgSizer6 = new wxFlexGridSizer( 0, 2, 5, 5 );
+ fgSizer6->SetFlexibleDirection( wxBOTH );
+ fgSizer6->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+
+ m_staticText96 = new wxStaticText( m_panel39, wxID_ANY, _("Retry count:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText96->Wrap( -1 );
+ fgSizer6->Add( m_staticText96, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_spinCtrlAutoRetryCount = new wxSpinCtrl( m_panel39, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 60,-1 ), wxSP_ARROW_KEYS, 0, 2000000000, 4 );
+ fgSizer6->Add( m_spinCtrlAutoRetryCount, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticTextAutoRetryDelay = new wxStaticText( m_panel39, wxID_ANY, _("Delay (in seconds):"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextAutoRetryDelay->Wrap( -1 );
+ fgSizer6->Add( m_staticTextAutoRetryDelay, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_spinCtrlAutoRetryDelay = new wxSpinCtrl( m_panel39, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize( 60,-1 ), wxSP_ARROW_KEYS, 0, 2000000000, 0 );
+ fgSizer6->Add( m_spinCtrlAutoRetryDelay, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer188->Add( fgSizer6, 0, wxLEFT, 10 );
+
+
+ bSizer186->Add( bSizer188, 0, wxALL, 10 );
+
+
+ bSizer166->Add( bSizer186, 0, wxEXPAND, 5 );
+
+ m_staticline191 = new wxStaticLine( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer166->Add( m_staticline191, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer181;
+ bSizer181 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText85 = new wxStaticText( m_panel39, wxID_ANY, _("Customize context menu:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText85->Wrap( -1 );
+ bSizer181->Add( m_staticText85, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, 5 );
+
+ m_gridCustomCommand = new wxGrid( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
+
+ // Grid
+ m_gridCustomCommand->CreateGrid( 5, 2 );
+ m_gridCustomCommand->EnableEditing( true );
+ m_gridCustomCommand->EnableGridLines( true );
+ m_gridCustomCommand->EnableDragGridSize( false );
+ m_gridCustomCommand->SetMargins( 0, 0 );
+
+ // Columns
+ m_gridCustomCommand->SetColSize( 0, 165 );
+ m_gridCustomCommand->SetColSize( 1, 196 );
+ m_gridCustomCommand->EnableDragColMove( false );
+ m_gridCustomCommand->EnableDragColSize( true );
+ m_gridCustomCommand->SetColLabelSize( 20 );
+ m_gridCustomCommand->SetColLabelValue( 0, _("Description") );
+ m_gridCustomCommand->SetColLabelValue( 1, _("Command line") );
+ m_gridCustomCommand->SetColLabelAlignment( wxALIGN_CENTRE, wxALIGN_CENTRE );
+
+ // Rows
+ m_gridCustomCommand->EnableDragRowSize( false );
+ m_gridCustomCommand->SetRowLabelSize( 1 );
+ m_gridCustomCommand->SetRowLabelAlignment( wxALIGN_LEFT, wxALIGN_CENTRE );
+
+ // Label Appearance
+
+ // Cell Defaults
+ m_gridCustomCommand->SetDefaultCellAlignment( wxALIGN_LEFT, wxALIGN_TOP );
+ bSizer181->Add( m_gridCustomCommand, 1, wxALIGN_CENTER_VERTICAL|wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer193;
+ bSizer193 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bpButtonAddRow = new wxBitmapButton( m_panel39, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ bSizer193->Add( m_bpButtonAddRow, 0, 0, 5 );
+
+ m_bpButtonRemoveRow = new wxBitmapButton( m_panel39, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( 25,25 ), wxBU_AUTODRAW );
+ bSizer193->Add( m_bpButtonRemoveRow, 0, 0, 5 );
+
+
+ bSizer193->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_hyperlink17 = new wxHyperlinkCtrl( m_panel39, wxID_ANY, _("Show examples"), wxEmptyString, wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ bSizer193->Add( m_hyperlink17, 0, wxLEFT, 5 );
+
+
+ bSizer181->Add( bSizer193, 0, wxTOP|wxEXPAND, 5 );
+
+
+ bSizer166->Add( bSizer181, 1, wxEXPAND|wxALL, 10 );
+
+ m_staticline192 = new wxStaticLine( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer166->Add( m_staticline192, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer1881;
+ bSizer1881 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_buttonResetDialogs = new zen::BitmapTextButton( m_panel39, wxID_ANY, _("Restore hidden windows"), wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ bSizer1881->Add( m_buttonResetDialogs, 0, wxALL|wxALIGN_CENTER_VERTICAL, 10 );
+
+ m_staticline40 = new wxStaticLine( m_panel39, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer1881->Add( m_staticline40, 0, wxEXPAND, 5 );
+
+
+ bSizer166->Add( bSizer1881, 0, 0, 5 );
+
+
+ m_panel39->SetSizer( bSizer166 );
+ m_panel39->Layout();
+ bSizer166->Fit( m_panel39 );
+ bSizer95->Add( m_panel39, 1, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
+
+ m_staticline36 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer95->Add( m_staticline36, 0, wxEXPAND, 5 );
+
+ bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
+
+ m_buttonDefault = new wxButton( this, wxID_DEFAULT, _("&Default"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ bSizerStdButtons->Add( m_buttonDefault, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizerStdButtons->Add( 0, 0, 1, 0, 5 );
+
+ m_buttonOkay = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_buttonOkay->SetDefault();
+ m_buttonOkay->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizerStdButtons->Add( m_buttonOkay, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer95->Add( bSizerStdButtons, 0, wxEXPAND, 5 );
+
+
+ this->SetSizer( bSizer95 );
+ this->Layout();
+ bSizer95->Fit( this );
+
+ this->Centre( wxBOTH );
+
+ // Connect Events
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( GlobalSettingsDlgGenerated::OnClose ) );
+ m_spinCtrlAutoRetryCount->Connect( wxEVT_COMMAND_TEXT_UPDATED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnToggleAutoRetryCount ), NULL, this );
+ m_bpButtonAddRow->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnAddRow ), NULL, this );
+ m_bpButtonRemoveRow->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnRemoveRow ), NULL, this );
+ m_hyperlink17->Connect( wxEVT_COMMAND_HYPERLINK, wxHyperlinkEventHandler( GlobalSettingsDlgGenerated::OnHelpShowExamples ), NULL, this );
+ m_buttonResetDialogs->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnResetDialogs ), NULL, this );
+ m_buttonDefault->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnDefault ), NULL, this );
+ m_buttonOkay->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnOkay ), NULL, this );
+ m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( GlobalSettingsDlgGenerated::OnCancel ), NULL, this );
}
GlobalSettingsDlgGenerated::~GlobalSettingsDlgGenerated()
@@ -3113,22 +3052,22 @@ GlobalSettingsDlgGenerated::~GlobalSettingsDlgGenerated()
TooltipDialogGenerated::TooltipDialogGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
-
- wxBoxSizer* bSizer158;
- bSizer158 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmapLeft = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
- bSizer158->Add( m_bitmapLeft, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticTextMain = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticTextMain->Wrap( 600 );
- bSizer158->Add( m_staticTextMain, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- this->SetSizer( bSizer158 );
- this->Layout();
- bSizer158->Fit( this );
+ this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+
+ wxBoxSizer* bSizer158;
+ bSizer158 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmapLeft = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
+ bSizer158->Add( m_bitmapLeft, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticTextMain = new wxStaticText( this, wxID_ANY, _("dummy"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticTextMain->Wrap( 600 );
+ bSizer158->Add( m_staticTextMain, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ this->SetSizer( bSizer158 );
+ this->Layout();
+ bSizer158->Fit( this );
}
TooltipDialogGenerated::~TooltipDialogGenerated()
@@ -3137,60 +3076,60 @@ TooltipDialogGenerated::~TooltipDialogGenerated()
SelectTimespanDlgGenerated::SelectTimespanDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer96;
- bSizer96 = new wxBoxSizer( wxVERTICAL );
-
- m_panel35 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panel35->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer98;
- bSizer98 = new wxBoxSizer( wxHORIZONTAL );
-
- m_calendarFrom = new wxCalendarCtrl( m_panel35, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxCAL_SHOW_HOLIDAYS|wxNO_BORDER );
- bSizer98->Add( m_calendarFrom, 0, wxTOP|wxBOTTOM|wxLEFT, 10 );
-
- m_calendarTo = new wxCalendarCtrl( m_panel35, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxCAL_SHOW_HOLIDAYS|wxNO_BORDER );
- bSizer98->Add( m_calendarTo, 0, wxALL, 10 );
-
-
- m_panel35->SetSizer( bSizer98 );
- m_panel35->Layout();
- bSizer98->Fit( m_panel35 );
- bSizer96->Add( m_panel35, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_staticline21 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer96->Add( m_staticline21, 0, wxEXPAND, 5 );
-
- bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
-
- m_buttonOkay = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_buttonOkay->SetDefault();
- m_buttonOkay->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizerStdButtons->Add( m_buttonOkay, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
-
- m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
-
-
- bSizer96->Add( bSizerStdButtons, 0, wxALIGN_RIGHT, 5 );
-
-
- this->SetSizer( bSizer96 );
- this->Layout();
- bSizer96->Fit( this );
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( SelectTimespanDlgGenerated::OnClose ) );
- m_calendarFrom->Connect( wxEVT_CALENDAR_SEL_CHANGED, wxCalendarEventHandler( SelectTimespanDlgGenerated::OnChangeSelectionFrom ), NULL, this );
- m_calendarTo->Connect( wxEVT_CALENDAR_SEL_CHANGED, wxCalendarEventHandler( SelectTimespanDlgGenerated::OnChangeSelectionTo ), NULL, this );
- m_buttonOkay->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SelectTimespanDlgGenerated::OnOkay ), NULL, this );
- m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SelectTimespanDlgGenerated::OnCancel ), NULL, this );
+ this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+ this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer96;
+ bSizer96 = new wxBoxSizer( wxVERTICAL );
+
+ m_panel35 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panel35->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer98;
+ bSizer98 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_calendarFrom = new wxCalendarCtrl( m_panel35, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxCAL_SHOW_HOLIDAYS|wxNO_BORDER );
+ bSizer98->Add( m_calendarFrom, 0, wxTOP|wxBOTTOM|wxLEFT, 10 );
+
+ m_calendarTo = new wxCalendarCtrl( m_panel35, wxID_ANY, wxDefaultDateTime, wxDefaultPosition, wxDefaultSize, wxCAL_SHOW_HOLIDAYS|wxNO_BORDER );
+ bSizer98->Add( m_calendarTo, 0, wxALL, 10 );
+
+
+ m_panel35->SetSizer( bSizer98 );
+ m_panel35->Layout();
+ bSizer98->Fit( m_panel35 );
+ bSizer96->Add( m_panel35, 0, wxEXPAND|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_staticline21 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer96->Add( m_staticline21, 0, wxEXPAND, 5 );
+
+ bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
+
+ m_buttonOkay = new wxButton( this, wxID_OK, _("OK"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_buttonOkay->SetDefault();
+ m_buttonOkay->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizerStdButtons->Add( m_buttonOkay, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_buttonCancel = new wxButton( this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ bSizerStdButtons->Add( m_buttonCancel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
+
+
+ bSizer96->Add( bSizerStdButtons, 0, wxALIGN_RIGHT, 5 );
+
+
+ this->SetSizer( bSizer96 );
+ this->Layout();
+ bSizer96->Fit( this );
+
+ this->Centre( wxBOTH );
+
+ // Connect Events
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( SelectTimespanDlgGenerated::OnClose ) );
+ m_calendarFrom->Connect( wxEVT_CALENDAR_SEL_CHANGED, wxCalendarEventHandler( SelectTimespanDlgGenerated::OnChangeSelectionFrom ), NULL, this );
+ m_calendarTo->Connect( wxEVT_CALENDAR_SEL_CHANGED, wxCalendarEventHandler( SelectTimespanDlgGenerated::OnChangeSelectionTo ), NULL, this );
+ m_buttonOkay->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SelectTimespanDlgGenerated::OnOkay ), NULL, this );
+ m_buttonCancel->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( SelectTimespanDlgGenerated::OnCancel ), NULL, this );
}
SelectTimespanDlgGenerated::~SelectTimespanDlgGenerated()
@@ -3199,306 +3138,306 @@ SelectTimespanDlgGenerated::~SelectTimespanDlgGenerated()
AboutDlgGenerated::AboutDlgGenerated( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : wxDialog( parent, id, title, pos, size, style )
{
- this->SetSizeHints( wxDefaultSize, wxDefaultSize );
- this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
-
- wxBoxSizer* bSizer31;
- bSizer31 = new wxBoxSizer( wxVERTICAL );
-
- m_panel41 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panel41->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- wxBoxSizer* bSizer162;
- bSizer162 = new wxBoxSizer( wxVERTICAL );
-
- m_bitmapLogo = new wxStaticBitmap( m_panel41, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
- bSizer162->Add( m_bitmapLogo, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- m_staticline341 = new wxStaticLine( m_panel41, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer162->Add( m_staticline341, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer174;
- bSizer174 = new wxBoxSizer( wxHORIZONTAL );
-
- wxBoxSizer* bSizer181;
- bSizer181 = new wxBoxSizer( wxVERTICAL );
-
- wxBoxSizer* bSizer187;
- bSizer187 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText96 = new wxStaticText( m_panel41, wxID_ANY, _("Source code written in C++ using:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText96->Wrap( -1 );
- bSizer187->Add( m_staticText96, 0, wxALL, 5 );
-
- wxBoxSizer* bSizer171;
- bSizer171 = new wxBoxSizer( wxHORIZONTAL );
-
- m_hyperlink11 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("MS Visual C++"), wxT("http://msdn.microsoft.com/library/60k1461a.aspx"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink11->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_hyperlink11->SetToolTip( _("http://msdn.microsoft.com/library/60k1461a.aspx") );
-
- bSizer171->Add( m_hyperlink11, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_hyperlink9 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("MinGW"), wxT("http://www.mingw.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink9->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_hyperlink9->SetToolTip( _("http://www.mingw.org") );
-
- bSizer171->Add( m_hyperlink9, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_hyperlink10 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("Code::Blocks"), wxT("http://www.codeblocks.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink10->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_hyperlink10->SetToolTip( _("http://www.codeblocks.org") );
-
- bSizer171->Add( m_hyperlink10, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_hyperlink7 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("wxWidgets"), wxT("http://www.wxwidgets.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink7->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_hyperlink7->SetToolTip( _("http://www.wxwidgets.org") );
-
- bSizer171->Add( m_hyperlink7, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_hyperlink14 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("wxFormBuilder"), wxT("http://wxformbuilder.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink14->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_hyperlink14->SetToolTip( _("http://wxformbuilder.org") );
-
- bSizer171->Add( m_hyperlink14, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer187->Add( bSizer171, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
- wxBoxSizer* bSizer172;
- bSizer172 = new wxBoxSizer( wxHORIZONTAL );
-
- m_hyperlink15 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("zen::Xml"), wxT("http://zenxml.sourceforge.net"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink15->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_hyperlink15->SetToolTip( _("http://zenxml.sourceforge.net") );
-
- bSizer172->Add( m_hyperlink15, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_hyperlink13 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("Boost"), wxT("http://www.boost.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink13->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_hyperlink13->SetToolTip( _("http://www.boost.org") );
-
- bSizer172->Add( m_hyperlink13, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_hyperlink16 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("Artistic Style"), wxT("http://astyle.sourceforge.net"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink16->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_hyperlink16->SetToolTip( _("http://astyle.sourceforge.net") );
-
- bSizer172->Add( m_hyperlink16, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_hyperlink12 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("Google Test"), wxT("http://code.google.com/p/googletest"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink12->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_hyperlink12->SetToolTip( _("http://code.google.com/p/googletest") );
-
- bSizer172->Add( m_hyperlink12, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_hyperlink18 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("Unicode NSIS"), wxT("http://www.scratchpaper.com"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink18->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_hyperlink18->SetToolTip( _("http://www.scratchpaper.com") );
-
- bSizer172->Add( m_hyperlink18, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer187->Add( bSizer172, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizer181->Add( bSizer187, 0, wxALL|wxEXPAND, 5 );
-
- m_panelDonate = new wxPanel( m_panel41, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panelDonate->SetBackgroundColour( wxColour( 153, 170, 187 ) );
-
- wxBoxSizer* bSizer183;
- bSizer183 = new wxBoxSizer( wxVERTICAL );
-
- m_panel39 = new wxPanel( m_panelDonate, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
- m_panel39->SetBackgroundColour( wxColour( 221, 221, 255 ) );
-
- wxBoxSizer* bSizer184;
- bSizer184 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer184->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_animCtrlWink = new wxAnimationCtrl( m_panel39, wxID_ANY, wxNullAnimation, wxDefaultPosition, wxSize( 48,48 ), wxAC_DEFAULT_STYLE );
- bSizer184->Add( m_animCtrlWink, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
- wxBoxSizer* bSizer178;
- bSizer178 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText83 = new wxStaticText( m_panel39, wxID_ANY, _("If you like FreeFileSync"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText83->Wrap( -1 );
- m_staticText83->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
- m_staticText83->SetForegroundColour( wxColour( 0, 0, 0 ) );
-
- bSizer178->Add( m_staticText83, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
-
- m_buttonDonate = new wxButton( m_panel39, wxID_ANY, _("Donate with PayPal"), wxDefaultPosition, wxDefaultSize, 0 );
- m_buttonDonate->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );
- m_buttonDonate->SetToolTip( _("http://freefilesync.sourceforge.net/donate.php") );
-
- bSizer178->Add( m_buttonDonate, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 );
-
-
- bSizer184->Add( bSizer178, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer184->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- m_panel39->SetSizer( bSizer184 );
- m_panel39->Layout();
- bSizer184->Fit( m_panel39 );
- bSizer183->Add( m_panel39, 0, wxEXPAND|wxALL, 5 );
-
-
- m_panelDonate->SetSizer( bSizer183 );
- m_panelDonate->Layout();
- bSizer183->Fit( m_panelDonate );
- bSizer181->Add( m_panelDonate, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
-
- wxBoxSizer* bSizer186;
- bSizer186 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText94 = new wxStaticText( m_panel41, wxID_ANY, _("Feedback and suggestions are welcome"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText94->Wrap( -1 );
- bSizer186->Add( m_staticText94, 0, wxALL, 5 );
-
- wxBoxSizer* bSizer166;
- bSizer166 = new wxBoxSizer( wxHORIZONTAL );
-
-
- bSizer166->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_bitmap9 = new wxStaticBitmap( m_panel41, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_bitmap9->SetToolTip( _("Homepage") );
-
- bSizer166->Add( m_bitmap9, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
-
- m_hyperlink1 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("freefilesync.sf.net"), wxT("http://freefilesync.sf.net/"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink1->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, true, wxEmptyString ) );
- m_hyperlink1->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- bSizer166->Add( m_hyperlink1, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer166->Add( 0, 0, 1, wxEXPAND, 5 );
-
- m_bitmap10 = new wxStaticBitmap( m_panel41, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
- m_bitmap10->SetToolTip( _("Email") );
-
- bSizer166->Add( m_bitmap10, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
-
- m_hyperlink2 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("zenju@gmx.de"), wxT("mailto:zenju@gmx.de"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink2->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, true, wxEmptyString ) );
- m_hyperlink2->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- bSizer166->Add( m_hyperlink2, 0, wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer166->Add( 0, 0, 1, wxEXPAND, 5 );
-
-
- bSizer186->Add( bSizer166, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer181->Add( bSizer186, 0, wxALL|wxEXPAND, 5 );
-
- m_staticline34 = new wxStaticLine( m_panel41, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer181->Add( m_staticline34, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer185;
- bSizer185 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText93 = new wxStaticText( m_panel41, wxID_ANY, _("Published under the GNU General Public License"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText93->Wrap( -1 );
- bSizer185->Add( m_staticText93, 0, wxALL, 5 );
-
- wxBoxSizer* bSizer1671;
- bSizer1671 = new wxBoxSizer( wxHORIZONTAL );
-
- m_bitmap13 = new wxStaticBitmap( m_panel41, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
- bSizer1671->Add( m_bitmap13, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
-
- m_hyperlink5 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("http://www.gnu.org/licenses/gpl.html"), wxT("http://www.gnu.org/licenses/gpl.html"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
- m_hyperlink5->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
-
- bSizer1671->Add( m_hyperlink5, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer185->Add( bSizer1671, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
-
-
- bSizer181->Add( bSizer185, 0, wxALL|wxEXPAND, 5 );
-
-
- bSizer174->Add( bSizer181, 0, 0, 5 );
-
- m_staticline37 = new wxStaticLine( m_panel41, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
- bSizer174->Add( m_staticline37, 0, wxEXPAND, 5 );
-
- wxBoxSizer* bSizer177;
- bSizer177 = new wxBoxSizer( wxVERTICAL );
-
- m_staticText54 = new wxStaticText( m_panel41, wxID_ANY, _("Many thanks for localization:"), wxDefaultPosition, wxDefaultSize, 0 );
- m_staticText54->Wrap( 200 );
- m_staticText54->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
-
- bSizer177->Add( m_staticText54, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
-
-
- bSizer177->Add( 0, 5, 0, 0, 5 );
-
- m_scrolledWindowTranslators = new wxScrolledWindow( m_panel41, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxVSCROLL );
- m_scrolledWindowTranslators->SetScrollRate( 10, 10 );
- m_scrolledWindowTranslators->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
- m_scrolledWindowTranslators->SetMinSize( wxSize( 220,-1 ) );
-
- fgSizerTranslators = new wxFlexGridSizer( 0, 2, 2, 10 );
- fgSizerTranslators->SetFlexibleDirection( wxBOTH );
- fgSizerTranslators->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
-
-
- m_scrolledWindowTranslators->SetSizer( fgSizerTranslators );
- m_scrolledWindowTranslators->Layout();
- fgSizerTranslators->Fit( m_scrolledWindowTranslators );
- bSizer177->Add( m_scrolledWindowTranslators, 1, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxEXPAND, 5 );
-
-
- bSizer174->Add( bSizer177, 0, wxEXPAND|wxTOP|wxLEFT, 5 );
-
-
- bSizer162->Add( bSizer174, 0, 0, 5 );
-
-
- m_panel41->SetSizer( bSizer162 );
- m_panel41->Layout();
- bSizer162->Fit( m_panel41 );
- bSizer31->Add( m_panel41, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
-
- m_staticline36 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
- bSizer31->Add( m_staticline36, 0, wxEXPAND, 5 );
-
- bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
-
- m_buttonClose = new wxButton( this, wxID_OK, _("Close"), wxDefaultPosition, wxSize( -1,30 ), 0 );
- m_buttonClose->SetDefault();
- bSizerStdButtons->Add( m_buttonClose, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
-
-
- bSizer31->Add( bSizerStdButtons, 0, wxALIGN_RIGHT, 5 );
-
-
- this->SetSizer( bSizer31 );
- this->Layout();
- bSizer31->Fit( this );
-
- this->Centre( wxBOTH );
-
- // Connect Events
- this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( AboutDlgGenerated::OnClose ) );
- m_buttonDonate->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( AboutDlgGenerated::OnDonate ), NULL, this );
- m_buttonClose->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( AboutDlgGenerated::OnOK ), NULL, this );
+ this->SetSizeHints( wxDefaultSize, wxDefaultSize );
+ this->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNFACE ) );
+
+ wxBoxSizer* bSizer31;
+ bSizer31 = new wxBoxSizer( wxVERTICAL );
+
+ m_panel41 = new wxPanel( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panel41->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ wxBoxSizer* bSizer162;
+ bSizer162 = new wxBoxSizer( wxVERTICAL );
+
+ m_bitmapLogo = new wxStaticBitmap( m_panel41, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ bSizer162->Add( m_bitmapLogo, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ m_staticline341 = new wxStaticLine( m_panel41, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer162->Add( m_staticline341, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer174;
+ bSizer174 = new wxBoxSizer( wxHORIZONTAL );
+
+ wxBoxSizer* bSizer181;
+ bSizer181 = new wxBoxSizer( wxVERTICAL );
+
+ wxBoxSizer* bSizer187;
+ bSizer187 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText96 = new wxStaticText( m_panel41, wxID_ANY, _("Source code written in C++ using:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText96->Wrap( -1 );
+ bSizer187->Add( m_staticText96, 0, wxALL, 5 );
+
+ wxBoxSizer* bSizer171;
+ bSizer171 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_hyperlink11 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("MS Visual C++"), wxT("http://msdn.microsoft.com/library/60k1461a.aspx"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink11->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_hyperlink11->SetToolTip( _("http://msdn.microsoft.com/library/60k1461a.aspx") );
+
+ bSizer171->Add( m_hyperlink11, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_hyperlink9 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("MinGW"), wxT("http://www.mingw.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink9->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_hyperlink9->SetToolTip( _("http://www.mingw.org") );
+
+ bSizer171->Add( m_hyperlink9, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_hyperlink10 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("Code::Blocks"), wxT("http://www.codeblocks.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink10->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_hyperlink10->SetToolTip( _("http://www.codeblocks.org") );
+
+ bSizer171->Add( m_hyperlink10, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_hyperlink7 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("wxWidgets"), wxT("http://www.wxwidgets.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink7->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_hyperlink7->SetToolTip( _("http://www.wxwidgets.org") );
+
+ bSizer171->Add( m_hyperlink7, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_hyperlink14 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("wxFormBuilder"), wxT("http://wxformbuilder.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink14->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_hyperlink14->SetToolTip( _("http://wxformbuilder.org") );
+
+ bSizer171->Add( m_hyperlink14, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer187->Add( bSizer171, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+ wxBoxSizer* bSizer172;
+ bSizer172 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_hyperlink15 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("zen::Xml"), wxT("http://zenxml.sourceforge.net"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink15->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_hyperlink15->SetToolTip( _("http://zenxml.sourceforge.net") );
+
+ bSizer172->Add( m_hyperlink15, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_hyperlink13 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("Boost"), wxT("http://www.boost.org"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink13->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_hyperlink13->SetToolTip( _("http://www.boost.org") );
+
+ bSizer172->Add( m_hyperlink13, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_hyperlink16 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("Artistic Style"), wxT("http://astyle.sourceforge.net"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink16->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_hyperlink16->SetToolTip( _("http://astyle.sourceforge.net") );
+
+ bSizer172->Add( m_hyperlink16, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_hyperlink12 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("Google Test"), wxT("http://code.google.com/p/googletest"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink12->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_hyperlink12->SetToolTip( _("http://code.google.com/p/googletest") );
+
+ bSizer172->Add( m_hyperlink12, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_hyperlink18 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("Unicode NSIS"), wxT("http://www.scratchpaper.com"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink18->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_hyperlink18->SetToolTip( _("http://www.scratchpaper.com") );
+
+ bSizer172->Add( m_hyperlink18, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer187->Add( bSizer172, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer181->Add( bSizer187, 0, wxALL|wxEXPAND, 5 );
+
+ m_panelDonate = new wxPanel( m_panel41, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panelDonate->SetBackgroundColour( wxColour( 153, 170, 187 ) );
+
+ wxBoxSizer* bSizer183;
+ bSizer183 = new wxBoxSizer( wxVERTICAL );
+
+ m_panel39 = new wxPanel( m_panelDonate, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
+ m_panel39->SetBackgroundColour( wxColour( 221, 221, 255 ) );
+
+ wxBoxSizer* bSizer184;
+ bSizer184 = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizer184->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_animCtrlWink = new wxAnimationCtrl( m_panel39, wxID_ANY, wxNullAnimation, wxDefaultPosition, wxSize( 48,48 ), wxAC_DEFAULT_STYLE );
+ bSizer184->Add( m_animCtrlWink, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+ wxBoxSizer* bSizer178;
+ bSizer178 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText83 = new wxStaticText( m_panel39, wxID_ANY, _("If you like FreeFileSync"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText83->Wrap( -1 );
+ m_staticText83->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+ m_staticText83->SetForegroundColour( wxColour( 0, 0, 0 ) );
+
+ bSizer178->Add( m_staticText83, 0, wxALL|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+ m_buttonDonate = new wxButton( m_panel39, wxID_ANY, _("Donate with PayPal"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_buttonDonate->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 90, false, wxEmptyString ) );
+ m_buttonDonate->SetToolTip( _("http://freefilesync.sourceforge.net/donate.php") );
+
+ bSizer178->Add( m_buttonDonate, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxALIGN_CENTER_HORIZONTAL, 5 );
+
+
+ bSizer184->Add( bSizer178, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer184->Add( 0, 0, 1, wxEXPAND, 5 );
+
+
+ m_panel39->SetSizer( bSizer184 );
+ m_panel39->Layout();
+ bSizer184->Fit( m_panel39 );
+ bSizer183->Add( m_panel39, 0, wxEXPAND|wxALL, 5 );
+
+
+ m_panelDonate->SetSizer( bSizer183 );
+ m_panelDonate->Layout();
+ bSizer183->Fit( m_panelDonate );
+ bSizer181->Add( m_panelDonate, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxRIGHT|wxLEFT, 5 );
+
+ wxBoxSizer* bSizer186;
+ bSizer186 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText94 = new wxStaticText( m_panel41, wxID_ANY, _("Feedback and suggestions are welcome"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText94->Wrap( -1 );
+ bSizer186->Add( m_staticText94, 0, wxALL, 5 );
+
+ wxBoxSizer* bSizer166;
+ bSizer166 = new wxBoxSizer( wxHORIZONTAL );
+
+
+ bSizer166->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_bitmap9 = new wxStaticBitmap( m_panel41, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_bitmap9->SetToolTip( _("Homepage") );
+
+ bSizer166->Add( m_bitmap9, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
+
+ m_hyperlink1 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("freefilesync.sf.net"), wxT("http://freefilesync.sf.net/"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink1->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, true, wxEmptyString ) );
+ m_hyperlink1->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ bSizer166->Add( m_hyperlink1, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer166->Add( 0, 0, 1, wxEXPAND, 5 );
+
+ m_bitmap10 = new wxStaticBitmap( m_panel41, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ m_bitmap10->SetToolTip( _("Email") );
+
+ bSizer166->Add( m_bitmap10, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
+
+ m_hyperlink2 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("zenju@gmx.de"), wxT("mailto:zenju@gmx.de"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink2->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, true, wxEmptyString ) );
+ m_hyperlink2->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ bSizer166->Add( m_hyperlink2, 0, wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer166->Add( 0, 0, 1, wxEXPAND, 5 );
+
+
+ bSizer186->Add( bSizer166, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer181->Add( bSizer186, 0, wxALL|wxEXPAND, 5 );
+
+ m_staticline34 = new wxStaticLine( m_panel41, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer181->Add( m_staticline34, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer185;
+ bSizer185 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText93 = new wxStaticText( m_panel41, wxID_ANY, _("Published under the GNU General Public License"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText93->Wrap( -1 );
+ bSizer185->Add( m_staticText93, 0, wxALL, 5 );
+
+ wxBoxSizer* bSizer1671;
+ bSizer1671 = new wxBoxSizer( wxHORIZONTAL );
+
+ m_bitmap13 = new wxStaticBitmap( m_panel41, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize( -1,-1 ), 0 );
+ bSizer1671->Add( m_bitmap13, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, 5 );
+
+ m_hyperlink5 = new wxHyperlinkCtrl( m_panel41, wxID_ANY, _("http://www.gnu.org/licenses/gpl.html"), wxT("http://www.gnu.org/licenses/gpl.html"), wxDefaultPosition, wxDefaultSize, wxHL_DEFAULT_STYLE );
+ m_hyperlink5->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+
+ bSizer1671->Add( m_hyperlink5, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer185->Add( bSizer1671, 0, wxALIGN_CENTER_HORIZONTAL|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
+
+
+ bSizer181->Add( bSizer185, 0, wxALL|wxEXPAND, 5 );
+
+
+ bSizer174->Add( bSizer181, 0, 0, 5 );
+
+ m_staticline37 = new wxStaticLine( m_panel41, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_VERTICAL );
+ bSizer174->Add( m_staticline37, 0, wxEXPAND, 5 );
+
+ wxBoxSizer* bSizer177;
+ bSizer177 = new wxBoxSizer( wxVERTICAL );
+
+ m_staticText54 = new wxStaticText( m_panel41, wxID_ANY, _("Many thanks for localization:"), wxDefaultPosition, wxDefaultSize, 0 );
+ m_staticText54->Wrap( 200 );
+ m_staticText54->SetFont( wxFont( wxNORMAL_FONT->GetPointSize(), 70, 90, 92, false, wxEmptyString ) );
+
+ bSizer177->Add( m_staticText54, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5 );
+
+
+ bSizer177->Add( 0, 5, 0, 0, 5 );
+
+ m_scrolledWindowTranslators = new wxScrolledWindow( m_panel41, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), wxVSCROLL );
+ m_scrolledWindowTranslators->SetScrollRate( 10, 10 );
+ m_scrolledWindowTranslators->SetBackgroundColour( wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW ) );
+ m_scrolledWindowTranslators->SetMinSize( wxSize( 220,-1 ) );
+
+ fgSizerTranslators = new wxFlexGridSizer( 0, 2, 2, 10 );
+ fgSizerTranslators->SetFlexibleDirection( wxBOTH );
+ fgSizerTranslators->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
+
+
+ m_scrolledWindowTranslators->SetSizer( fgSizerTranslators );
+ m_scrolledWindowTranslators->Layout();
+ fgSizerTranslators->Fit( m_scrolledWindowTranslators );
+ bSizer177->Add( m_scrolledWindowTranslators, 1, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxEXPAND, 5 );
+
+
+ bSizer174->Add( bSizer177, 0, wxEXPAND|wxTOP|wxLEFT, 5 );
+
+
+ bSizer162->Add( bSizer174, 0, 0, 5 );
+
+
+ m_panel41->SetSizer( bSizer162 );
+ m_panel41->Layout();
+ bSizer162->Fit( m_panel41 );
+ bSizer31->Add( m_panel41, 0, wxALIGN_CENTER_HORIZONTAL|wxEXPAND, 5 );
+
+ m_staticline36 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
+ bSizer31->Add( m_staticline36, 0, wxEXPAND, 5 );
+
+ bSizerStdButtons = new wxBoxSizer( wxHORIZONTAL );
+
+ m_buttonClose = new wxButton( this, wxID_OK, _("Close"), wxDefaultPosition, wxSize( -1,30 ), 0 );
+ m_buttonClose->SetDefault();
+ bSizerStdButtons->Add( m_buttonClose, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
+
+
+ bSizer31->Add( bSizerStdButtons, 0, wxALIGN_RIGHT, 5 );
+
+
+ this->SetSizer( bSizer31 );
+ this->Layout();
+ bSizer31->Fit( this );
+
+ this->Centre( wxBOTH );
+
+ // Connect Events
+ this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( AboutDlgGenerated::OnClose ) );
+ m_buttonDonate->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( AboutDlgGenerated::OnDonate ), NULL, this );
+ m_buttonClose->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( AboutDlgGenerated::OnOK ), NULL, this );
}
AboutDlgGenerated::~AboutDlgGenerated()
diff --git a/FreeFileSync/Source/ui/gui_generated.h b/FreeFileSync/Source/ui/gui_generated.h
index 707401cf..1258d7c8 100644
--- a/FreeFileSync/Source/ui/gui_generated.h
+++ b/FreeFileSync/Source/ui/gui_generated.h
@@ -14,10 +14,10 @@
class FolderHistoryBox;
class OnCompletionBox;
class ToggleButton;
-namespace zen { class BitmapTextButton; }
-namespace zen { class Graph2D; }
-namespace zen { class Grid; }
-namespace zen { class TripleSplitter; }
+namespace zen{ class BitmapTextButton; }
+namespace zen{ class Graph2D; }
+namespace zen{ class Grid; }
+namespace zen{ class TripleSplitter; }
#include <wx/string.h>
#include <wx/bitmap.h>
@@ -44,11 +44,11 @@ namespace zen { class TripleSplitter; }
#include <wx/tglbtn.h>
#include <wx/choice.h>
#include <wx/hyperlink.h>
+#include <wx/spinctrl.h>
+#include <wx/notebook.h>
#include <wx/dialog.h>
#include <wx/gauge.h>
#include <wx/animate.h>
-#include <wx/notebook.h>
-#include <wx/spinctrl.h>
#include <wx/grid.h>
#include <wx/calctrl.h>
@@ -60,821 +60,780 @@ namespace zen { class TripleSplitter; }
///////////////////////////////////////////////////////////////////////////////
/// Class MainDialogGenerated
///////////////////////////////////////////////////////////////////////////////
-class MainDialogGenerated : public wxFrame
+class MainDialogGenerated : public wxFrame
{
-private:
-
-protected:
- wxMenuBar* m_menubar1;
- wxMenu* m_menuFile;
- wxMenuItem* m_menuItemNew;
- wxMenuItem* m_menuItemLoad;
- wxMenuItem* m_menuItemSave;
- wxMenuItem* m_menuItemSaveAs;
- wxMenuItem* m_menuItem7;
- wxMenuItem* m_menuItem10;
- wxMenuItem* m_menuItem11;
- wxMenu* m_menuTools;
- wxMenuItem* m_menuItemGlobSett;
- wxMenu* m_menuLanguages;
- wxMenu* m_menuHelp;
- wxMenuItem* m_menuItemManual;
- wxMenu* m_menuCheckVersion;
- wxMenuItem* m_menuItemCheckVersionNow;
- wxMenuItem* m_menuItemCheckVersionAuto;
- wxMenuItem* m_menuItemAbout;
- wxBoxSizer* bSizerPanelHolder;
- wxPanel* m_panelTopButtons;
- wxBoxSizer* bSizerTopButtons;
- zen::BitmapTextButton* m_buttonCompare;
- zen::BitmapTextButton* m_buttonCancel;
- wxBitmapButton* m_bpButtonCmpConfig;
- wxBitmapButton* m_bpButtonFilter;
- wxBitmapButton* m_bpButtonSyncConfig;
- zen::BitmapTextButton* m_buttonSync;
- wxPanel* m_panelDirectoryPairs;
- wxStaticText* m_staticTextResolvedPathL;
- wxBitmapButton* m_bpButtonAddPair;
- wxButton* m_buttonSelectDirLeft;
- wxPanel* m_panelTopMiddle;
- wxBitmapButton* m_bpButtonSwapSides;
- wxStaticText* m_staticTextResolvedPathR;
- wxButton* m_buttonSelectDirRight;
- wxScrolledWindow* m_scrolledWindowFolderPairs;
- wxBoxSizer* bSizerAddFolderPairs;
- zen::Grid* m_gridNavi;
- wxPanel* m_panelCenter;
- zen::TripleSplitter* m_splitterMain;
- zen::Grid* m_gridMainL;
- zen::Grid* m_gridMainC;
- zen::Grid* m_gridMainR;
- wxPanel* m_panelStatusBar;
- wxBoxSizer* bSizerFileStatus;
- wxBoxSizer* bSizerStatusLeft;
- wxBoxSizer* bSizerStatusLeftDirectories;
- wxStaticBitmap* m_bitmapSmallDirectoryLeft;
- wxStaticText* m_staticTextStatusLeftDirs;
- wxBoxSizer* bSizerStatusLeftFiles;
- wxStaticBitmap* m_bitmapSmallFileLeft;
- wxStaticText* m_staticTextStatusLeftFiles;
- wxStaticText* m_staticTextStatusLeftBytes;
- wxStaticLine* m_staticline9;
- wxStaticText* m_staticTextStatusMiddle;
- wxBoxSizer* bSizerStatusRight;
- wxStaticLine* m_staticline10;
- wxBoxSizer* bSizerStatusRightDirectories;
- wxStaticBitmap* m_bitmapSmallDirectoryRight;
- wxStaticText* m_staticTextStatusRightDirs;
- wxBoxSizer* bSizerStatusRightFiles;
- wxStaticBitmap* m_bitmapSmallFileRight;
- wxStaticText* m_staticTextStatusRightFiles;
- wxStaticText* m_staticTextStatusRightBytes;
- wxStaticText* m_staticTextFullStatus;
- wxPanel* m_panelSearch;
- wxBitmapButton* m_bpButtonHideSearch;
- wxStaticText* m_staticText101;
- wxTextCtrl* m_textCtrlSearchTxt;
- wxCheckBox* m_checkBoxMatchCase;
- wxPanel* m_panelConfig;
- wxBoxSizer* bSizerConfig;
- wxBitmapButton* m_bpButtonOpen;
- wxBitmapButton* m_bpButtonSave;
- wxBitmapButton* m_bpButtonBatchJob;
- wxListBox* m_listBoxHistory;
- wxPanel* m_panelViewFilter;
- wxBoxSizer* bSizerViewFilter;
- wxStaticText* m_staticTextViewType;
- ToggleButton* m_bpButtonViewTypeSyncAction;
- ToggleButton* m_bpButtonShowExcluded;
- wxStaticText* m_staticTextSelectView;
- ToggleButton* m_bpButtonShowCreateLeft;
- ToggleButton* m_bpButtonShowUpdateLeft;
- ToggleButton* m_bpButtonShowDeleteLeft;
- ToggleButton* m_bpButtonShowLeftOnly;
- ToggleButton* m_bpButtonShowLeftNewer;
- ToggleButton* m_bpButtonShowEqual;
- ToggleButton* m_bpButtonShowDoNothing;
- ToggleButton* m_bpButtonShowDifferent;
- ToggleButton* m_bpButtonShowRightNewer;
- ToggleButton* m_bpButtonShowRightOnly;
- ToggleButton* m_bpButtonShowDeleteRight;
- ToggleButton* m_bpButtonShowUpdateRight;
- ToggleButton* m_bpButtonShowCreateRight;
- ToggleButton* m_bpButtonShowConflict;
- wxStaticText* m_staticText96;
- wxPanel* m_panelStatistics;
- wxBoxSizer* bSizer1801;
- wxStaticBitmap* m_bitmapCreateLeft;
- wxStaticText* m_staticTextCreateLeft;
- wxStaticBitmap* m_bitmapUpdateLeft;
- wxStaticText* m_staticTextUpdateLeft;
- wxStaticBitmap* m_bitmapDeleteLeft;
- wxStaticText* m_staticTextDeleteLeft;
- wxStaticBitmap* m_bitmapData;
- wxStaticText* m_staticTextData;
- wxStaticBitmap* m_bitmapDeleteRight;
- wxStaticText* m_staticTextDeleteRight;
- wxStaticBitmap* m_bitmapUpdateRight;
- wxStaticText* m_staticTextUpdateRight;
- wxStaticBitmap* m_bitmapCreateRight;
- wxStaticText* m_staticTextCreateRight;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnConfigNew( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnConfigLoad( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnConfigSave( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnConfigSaveAs( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnSaveAsBatchJob( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCompare( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnStartSync( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnMenuQuit( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnMenuGlobalSettings( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnMenuFindItem( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnMenuExportFileList( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnShowHelp( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnMenuCheckVersion( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnMenuCheckVersionAutomatically( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnMenuAbout( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCmpSettings( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCompSettingsContext( wxMouseEvent& event ) { event.Skip(); }
- virtual void OnConfigureFilter( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnGlobalFilterContext( wxMouseEvent& event ) { event.Skip(); }
- virtual void OnSyncSettings( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnSyncSettingsContext( wxMouseEvent& event ) { event.Skip(); }
- virtual void OnAddFolderPair( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnRemoveTopFolderPair( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnSwapSides( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnHideSearchPanel( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnSearchGridEnter( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCfgHistoryKeyEvent( wxKeyEvent& event ) { event.Skip(); }
- virtual void OnLoadFromHistory( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnLoadFromHistoryDoubleClick( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCfgHistoryRightClick( wxMouseEvent& event ) { event.Skip(); }
- virtual void OnToggleViewType( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnToggleViewButton( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnViewButtonRightClick( wxMouseEvent& event ) { event.Skip(); }
-
-
-public:
- wxPanel* m_panelTopLeft;
- wxBitmapButton* m_bpButtonRemovePair;
- FolderHistoryBox* m_directoryLeft;
- wxBitmapButton* m_bpButtonAltCompCfg;
- wxBitmapButton* m_bpButtonLocalFilter;
- wxBitmapButton* m_bpButtonAltSyncCfg;
- wxPanel* m_panelTopRight;
- FolderHistoryBox* m_directoryRight;
- wxBoxSizer* bSizerStatistics;
- wxBoxSizer* bSizerData;
-
- MainDialogGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("dummy"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 900,600 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
-
- ~MainDialogGenerated();
-
+ private:
+
+ protected:
+ wxMenuBar* m_menubar1;
+ wxMenu* m_menuFile;
+ wxMenuItem* m_menuItemNew;
+ wxMenuItem* m_menuItemLoad;
+ wxMenuItem* m_menuItemSave;
+ wxMenuItem* m_menuItemSaveAs;
+ wxMenuItem* m_menuItem7;
+ wxMenuItem* m_menuItem10;
+ wxMenuItem* m_menuItem11;
+ wxMenu* m_menuTools;
+ wxMenuItem* m_menuItemGlobSett;
+ wxMenu* m_menuLanguages;
+ wxMenu* m_menuHelp;
+ wxMenuItem* m_menuItemManual;
+ wxMenu* m_menuCheckVersion;
+ wxMenuItem* m_menuItemCheckVersionNow;
+ wxMenuItem* m_menuItemCheckVersionAuto;
+ wxMenuItem* m_menuItemAbout;
+ wxBoxSizer* bSizerPanelHolder;
+ wxPanel* m_panelTopButtons;
+ wxBoxSizer* bSizerTopButtons;
+ zen::BitmapTextButton* m_buttonCompare;
+ zen::BitmapTextButton* m_buttonCancel;
+ wxBitmapButton* m_bpButtonCmpConfig;
+ wxBitmapButton* m_bpButtonFilter;
+ wxBitmapButton* m_bpButtonSyncConfig;
+ zen::BitmapTextButton* m_buttonSync;
+ wxPanel* m_panelDirectoryPairs;
+ wxStaticText* m_staticTextResolvedPathL;
+ wxBitmapButton* m_bpButtonAddPair;
+ wxButton* m_buttonSelectDirLeft;
+ wxPanel* m_panelTopMiddle;
+ wxBitmapButton* m_bpButtonSwapSides;
+ wxStaticText* m_staticTextResolvedPathR;
+ wxButton* m_buttonSelectDirRight;
+ wxScrolledWindow* m_scrolledWindowFolderPairs;
+ wxBoxSizer* bSizerAddFolderPairs;
+ zen::Grid* m_gridNavi;
+ wxPanel* m_panelCenter;
+ zen::TripleSplitter* m_splitterMain;
+ zen::Grid* m_gridMainL;
+ zen::Grid* m_gridMainC;
+ zen::Grid* m_gridMainR;
+ wxPanel* m_panelStatusBar;
+ wxBoxSizer* bSizerFileStatus;
+ wxBoxSizer* bSizerStatusLeft;
+ wxBoxSizer* bSizerStatusLeftDirectories;
+ wxStaticBitmap* m_bitmapSmallDirectoryLeft;
+ wxStaticText* m_staticTextStatusLeftDirs;
+ wxBoxSizer* bSizerStatusLeftFiles;
+ wxStaticBitmap* m_bitmapSmallFileLeft;
+ wxStaticText* m_staticTextStatusLeftFiles;
+ wxStaticText* m_staticTextStatusLeftBytes;
+ wxStaticLine* m_staticline9;
+ wxStaticText* m_staticTextStatusMiddle;
+ wxBoxSizer* bSizerStatusRight;
+ wxStaticLine* m_staticline10;
+ wxBoxSizer* bSizerStatusRightDirectories;
+ wxStaticBitmap* m_bitmapSmallDirectoryRight;
+ wxStaticText* m_staticTextStatusRightDirs;
+ wxBoxSizer* bSizerStatusRightFiles;
+ wxStaticBitmap* m_bitmapSmallFileRight;
+ wxStaticText* m_staticTextStatusRightFiles;
+ wxStaticText* m_staticTextStatusRightBytes;
+ wxStaticText* m_staticTextFullStatus;
+ wxPanel* m_panelSearch;
+ wxBitmapButton* m_bpButtonHideSearch;
+ wxStaticText* m_staticText101;
+ wxTextCtrl* m_textCtrlSearchTxt;
+ wxCheckBox* m_checkBoxMatchCase;
+ wxPanel* m_panelConfig;
+ wxBoxSizer* bSizerConfig;
+ wxBitmapButton* m_bpButtonOpen;
+ wxStaticText* m_staticText95;
+ wxBitmapButton* m_bpButtonSave;
+ wxStaticText* m_staticText961;
+ wxBitmapButton* m_bpButtonSaveAs;
+ wxBitmapButton* m_bpButtonBatchJob;
+ wxStaticText* m_staticText97;
+ wxListBox* m_listBoxHistory;
+ wxPanel* m_panelViewFilter;
+ wxBoxSizer* bSizerViewFilter;
+ wxStaticText* m_staticTextViewType;
+ ToggleButton* m_bpButtonViewTypeSyncAction;
+ ToggleButton* m_bpButtonShowExcluded;
+ wxStaticText* m_staticTextSelectView;
+ ToggleButton* m_bpButtonShowCreateLeft;
+ ToggleButton* m_bpButtonShowUpdateLeft;
+ ToggleButton* m_bpButtonShowDeleteLeft;
+ ToggleButton* m_bpButtonShowLeftOnly;
+ ToggleButton* m_bpButtonShowLeftNewer;
+ ToggleButton* m_bpButtonShowEqual;
+ ToggleButton* m_bpButtonShowDoNothing;
+ ToggleButton* m_bpButtonShowDifferent;
+ ToggleButton* m_bpButtonShowRightNewer;
+ ToggleButton* m_bpButtonShowRightOnly;
+ ToggleButton* m_bpButtonShowDeleteRight;
+ ToggleButton* m_bpButtonShowUpdateRight;
+ ToggleButton* m_bpButtonShowCreateRight;
+ ToggleButton* m_bpButtonShowConflict;
+ wxStaticText* m_staticText96;
+ wxPanel* m_panelStatistics;
+ wxBoxSizer* bSizer1801;
+ wxStaticBitmap* m_bitmapCreateLeft;
+ wxStaticText* m_staticTextCreateLeft;
+ wxStaticBitmap* m_bitmapUpdateLeft;
+ wxStaticText* m_staticTextUpdateLeft;
+ wxStaticBitmap* m_bitmapDeleteLeft;
+ wxStaticText* m_staticTextDeleteLeft;
+ wxStaticBitmap* m_bitmapData;
+ wxStaticText* m_staticTextData;
+ wxStaticBitmap* m_bitmapDeleteRight;
+ wxStaticText* m_staticTextDeleteRight;
+ wxStaticBitmap* m_bitmapUpdateRight;
+ wxStaticText* m_staticTextUpdateRight;
+ wxStaticBitmap* m_bitmapCreateRight;
+ wxStaticText* m_staticTextCreateRight;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
+ virtual void OnConfigNew( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnConfigLoad( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnConfigSave( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnConfigSaveAs( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnSaveAsBatchJob( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCompare( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnStartSync( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnMenuQuit( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnMenuGlobalSettings( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnMenuFindItem( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnMenuExportFileList( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnShowHelp( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnMenuCheckVersion( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnMenuCheckVersionAutomatically( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnMenuAbout( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCmpSettings( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCompSettingsContext( wxMouseEvent& event ) { event.Skip(); }
+ virtual void OnConfigureFilter( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnGlobalFilterContext( wxMouseEvent& event ) { event.Skip(); }
+ virtual void OnSyncSettings( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnSyncSettingsContext( wxMouseEvent& event ) { event.Skip(); }
+ virtual void OnAddFolderPair( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnRemoveTopFolderPair( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnSwapSides( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnHideSearchPanel( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnSearchGridEnter( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCfgHistoryKeyEvent( wxKeyEvent& event ) { event.Skip(); }
+ virtual void OnLoadFromHistory( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnLoadFromHistoryDoubleClick( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCfgHistoryRightClick( wxMouseEvent& event ) { event.Skip(); }
+ virtual void OnToggleViewType( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnToggleViewButton( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnViewButtonRightClick( wxMouseEvent& event ) { event.Skip(); }
+
+
+ public:
+ wxPanel* m_panelTopLeft;
+ wxBitmapButton* m_bpButtonRemovePair;
+ FolderHistoryBox* m_directoryLeft;
+ wxBitmapButton* m_bpButtonAltCompCfg;
+ wxBitmapButton* m_bpButtonLocalFilter;
+ wxBitmapButton* m_bpButtonAltSyncCfg;
+ wxPanel* m_panelTopRight;
+ FolderHistoryBox* m_directoryRight;
+ wxBoxSizer* bSizerStatistics;
+ wxBoxSizer* bSizerData;
+
+ MainDialogGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("dummy"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 900,600 ), long style = wxDEFAULT_FRAME_STYLE|wxTAB_TRAVERSAL );
+
+ ~MainDialogGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
-/// Class CmpCfgDlgGenerated
+/// Class ConfigDlgGenerated
///////////////////////////////////////////////////////////////////////////////
-class CmpCfgDlgGenerated : public wxDialog
+class ConfigDlgGenerated : public wxDialog
{
-private:
-
-protected:
- wxPanel* m_panel36;
- wxStaticText* m_staticText91;
- wxStaticBitmap* m_bitmapByTime;
- wxToggleButton* m_toggleBtnTimeSize;
- wxStaticBitmap* m_bitmapByContent;
- wxToggleButton* m_toggleBtnContent;
- wxStaticLine* m_staticline33;
- wxStaticText* m_staticText92;
- wxChoice* m_choiceHandleSymlinks;
- wxHyperlinkCtrl* m_hyperlink24;
- wxStaticLine* m_staticline14;
- wxBoxSizer* bSizerStdButtons;
- wxButton* m_buttonOkay;
- wxButton* m_buttonCancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnTimeSizeDouble( wxMouseEvent& event ) { event.Skip(); }
- virtual void OnTimeSize( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnContentDouble( wxMouseEvent& event ) { event.Skip(); }
- virtual void OnContent( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnChangeErrorHandling( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnHelpComparisonSettings( wxHyperlinkEvent& event ) { event.Skip(); }
- virtual void OnOkay( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
-
-
-public:
-
- CmpCfgDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("dummy"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE );
- ~CmpCfgDlgGenerated();
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class SyncCfgDlgGenerated
-///////////////////////////////////////////////////////////////////////////////
-class SyncCfgDlgGenerated : public wxDialog
-{
-private:
-
-protected:
- wxPanel* m_panel37;
- wxStaticText* m_staticText86;
- wxToggleButton* m_toggleBtnTwoWay;
- wxStaticText* m_staticTextAutomatic;
- wxToggleButton* m_toggleBtnMirror;
- wxStaticText* m_staticTextMirror;
- wxToggleButton* m_toggleBtnUpdate;
- wxStaticText* m_staticTextUpdate;
- wxToggleButton* m_toggleBtnCustom;
- wxStaticText* m_staticTextCustom;
- wxCheckBox* m_checkBoxDetectMove;
- wxStaticLine* m_staticline32;
- wxStaticText* m_staticText87;
- wxToggleButton* m_toggleBtnPermanent;
- wxToggleButton* m_toggleBtnRecycler;
- wxToggleButton* m_toggleBtnVersioning;
- wxPanel* m_panelVersioning;
- FolderHistoryBox* m_versioningFolder;
- wxButton* m_buttonSelectDirVersioning;
- wxBoxSizer* bSizer192;
- wxStaticText* m_staticText93;
- wxChoice* m_choiceVersioningStyle;
- wxStaticText* m_staticTextNamingCvtPart1;
- wxStaticText* m_staticTextNamingCvtPart2Bold;
- wxStaticText* m_staticTextNamingCvtPart3;
- wxHyperlinkCtrl* m_hyperlink17;
- wxBoxSizer* bSizerExtraConfig;
- wxStaticLine* m_staticline321;
- wxBoxSizer* bSizer179;
- wxStaticText* m_staticText88;
- wxToggleButton* m_toggleBtnErrorIgnore;
- wxToggleButton* m_toggleBtnErrorPopup;
- wxStaticLine* m_staticline36;
- wxBoxSizer* bSizerOnCompletion;
- wxStaticText* m_staticText89;
- OnCompletionBox* m_comboBoxOnCompletion;
- wxStaticLine* m_staticline31;
- wxBoxSizer* bSizerConfig;
- wxStaticText* m_staticTextHeaderCategory1;
- wxStaticText* m_staticTextHeaderAction1;
- wxStaticBitmap* m_bitmapDatabase;
- wxBoxSizer* sbSizerSyncDirections;
- wxBoxSizer* bSizerLeftOnly;
- wxStaticBitmap* m_bitmapLeftOnly;
- wxBitmapButton* m_bpButtonLeftOnly;
- wxBoxSizer* bSizerRightOnly;
- wxStaticBitmap* m_bitmapRightOnly;
- wxBitmapButton* m_bpButtonRightOnly;
- wxBoxSizer* bSizerLeftNewer;
- wxStaticBitmap* m_bitmapLeftNewer;
- wxBitmapButton* m_bpButtonLeftNewer;
- wxBoxSizer* bSizerRightNewer;
- wxStaticBitmap* m_bitmapRightNewer;
- wxBitmapButton* m_bpButtonRightNewer;
- wxBoxSizer* bSizerDifferent;
- wxStaticBitmap* m_bitmapDifferent;
- wxBitmapButton* m_bpButtonDifferent;
- wxBoxSizer* bSizerConflict;
- wxStaticBitmap* m_bitmapConflict;
- wxBitmapButton* m_bpButtonConflict;
- wxStaticLine* m_staticline15;
- wxBoxSizer* bSizerStdButtons;
- wxButton* m_buttonOK;
- wxButton* m_buttonCancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnSyncTwoWayDouble( wxMouseEvent& event ) { event.Skip(); }
- virtual void OnSyncTwoWay( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnSyncMirrorDouble( wxMouseEvent& event ) { event.Skip(); }
- virtual void OnSyncMirror( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnSyncUpdateDouble( wxMouseEvent& event ) { event.Skip(); }
- virtual void OnSyncUpdate( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnSyncCustomDouble( wxMouseEvent& event ) { event.Skip(); }
- virtual void OnSyncCustom( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnToggleDetectMovedFiles( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnDeletionPermanent( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnDeletionRecycler( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnDeletionVersioning( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnParameterChange( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnHelpVersioning( wxHyperlinkEvent& event ) { event.Skip(); }
- virtual void OnErrorIgnore( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnErrorPopup( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnExLeftSideOnly( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnExRightSideOnly( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnLeftNewer( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnRightNewer( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnDifferent( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnConflict( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnOkay( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
-
-
-public:
-
- SyncCfgDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("dummy"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
- ~SyncCfgDlgGenerated();
-
+ private:
+
+ protected:
+ wxNotebook* m_notebook;
+ wxPanel* m_panel39;
+ wxBoxSizer* bSizerLocalCompSettings;
+ wxCheckBox* m_checkBoxUseLocalCmpOptions;
+ wxStaticLine* m_staticline59;
+ wxPanel* m_panelComparisonSettings;
+ wxStaticText* m_staticText91;
+ wxStaticBitmap* m_bitmapByTime;
+ wxToggleButton* m_toggleBtnTimeSize;
+ wxStaticBitmap* m_bitmapByContent;
+ wxToggleButton* m_toggleBtnContent;
+ wxStaticLine* m_staticline42;
+ wxTextCtrl* m_textCtrlCompVarDescription;
+ wxStaticLine* m_staticline33;
+ wxStaticText* m_staticText92;
+ wxChoice* m_choiceHandleSymlinks;
+ wxHyperlinkCtrl* m_hyperlink24;
+ wxStaticLine* m_staticline331;
+ wxPanel* m_panel40;
+ wxBoxSizer* bSizerLocalFilterSettings;
+ wxStaticText* m_staticText144;
+ wxStaticLine* m_staticline61;
+ wxPanel* m_panelFilterSettings;
+ wxStaticBitmap* m_bitmapInclude;
+ wxStaticText* m_staticText78;
+ wxTextCtrl* m_textCtrlInclude;
+ wxStaticLine* m_staticline22;
+ wxStaticBitmap* m_bitmapExclude;
+ wxStaticText* m_staticText77;
+ wxHyperlinkCtrl* m_hyperlink171;
+ wxTextCtrl* m_textCtrlExclude;
+ wxStaticLine* m_staticline24;
+ wxStaticBitmap* m_bitmapFilterDate;
+ wxStaticText* m_staticText79;
+ wxSpinCtrl* m_spinCtrlTimespan;
+ wxChoice* m_choiceUnitTimespan;
+ wxStaticLine* m_staticline23;
+ wxStaticBitmap* m_bitmapFilterSize;
+ wxStaticText* m_staticText80;
+ wxStaticText* m_staticText101;
+ wxSpinCtrl* m_spinCtrlMinSize;
+ wxChoice* m_choiceUnitMinSize;
+ wxStaticText* m_staticText102;
+ wxSpinCtrl* m_spinCtrlMaxSize;
+ wxChoice* m_choiceUnitMaxSize;
+ wxStaticLine* m_staticline62;
+ wxButton* m_buttonReset;
+ wxStaticText* m_staticText44;
+ wxPanel* m_panel41;
+ wxBoxSizer* bSizerLocalSyncSettings;
+ wxCheckBox* m_checkBoxUseLocalSyncOptions;
+ wxStaticLine* m_staticline60;
+ wxPanel* m_panelSyncSettings;
+ wxStaticText* m_staticText86;
+ wxToggleButton* m_toggleBtnTwoWay;
+ wxToggleButton* m_toggleBtnMirror;
+ wxToggleButton* m_toggleBtnUpdate;
+ wxToggleButton* m_toggleBtnCustom;
+ wxCheckBox* m_checkBoxDetectMove;
+ wxStaticLine* m_staticline53;
+ wxTextCtrl* m_textCtrlSyncVarDescription;
+ wxStaticLine* m_staticline43;
+ wxBoxSizer* bSizerSyncConfig;
+ wxStaticText* m_staticText119;
+ wxStaticText* m_staticText120;
+ wxFlexGridSizer* fgSizerSyncDirections;
+ wxStaticBitmap* m_bitmapLeftOnly;
+ wxStaticBitmap* m_bitmapLeftNewer;
+ wxStaticBitmap* m_bitmapDifferent;
+ wxStaticBitmap* m_bitmapConflict;
+ wxStaticBitmap* m_bitmapRightNewer;
+ wxStaticBitmap* m_bitmapRightOnly;
+ wxBitmapButton* m_bpButtonLeftOnly;
+ wxBitmapButton* m_bpButtonLeftNewer;
+ wxBitmapButton* m_bpButtonDifferent;
+ wxBitmapButton* m_bpButtonConflict;
+ wxBitmapButton* m_bpButtonRightNewer;
+ wxBitmapButton* m_bpButtonRightOnly;
+ wxStaticBitmap* m_bitmapDatabase;
+ wxStaticLine* m_staticline54;
+ wxStaticText* m_staticText87;
+ wxToggleButton* m_toggleBtnPermanent;
+ wxToggleButton* m_toggleBtnRecycler;
+ wxToggleButton* m_toggleBtnVersioning;
+ wxBoxSizer* bSizerVersioning;
+ wxPanel* m_panelVersioning;
+ FolderHistoryBox* m_versioningFolder;
+ wxButton* m_buttonSelectDirVersioning;
+ wxBoxSizer* bSizer192;
+ wxStaticText* m_staticText93;
+ wxChoice* m_choiceVersioningStyle;
+ wxStaticText* m_staticTextNamingCvtPart1;
+ wxStaticText* m_staticTextNamingCvtPart2Bold;
+ wxStaticText* m_staticTextNamingCvtPart3;
+ wxHyperlinkCtrl* m_hyperlink17;
+ wxBoxSizer* bSizerMiscConfig;
+ wxStaticLine* m_staticline582;
+ wxStaticText* m_staticText88;
+ wxToggleButton* m_toggleBtnErrorIgnore;
+ wxToggleButton* m_toggleBtnErrorPopup;
+ wxStaticLine* m_staticline57;
+ wxBoxSizer* bSizerOnCompletion;
+ wxStaticText* m_staticText89;
+ OnCompletionBox* m_comboBoxOnCompletion;
+ wxBoxSizer* bSizerStdButtons;
+ wxButton* m_buttonOkay;
+ wxButton* m_buttonCancel;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
+ virtual void OnToggleLocalCompSettings( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnTimeSizeDouble( wxMouseEvent& event ) { event.Skip(); }
+ virtual void OnTimeSize( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnContentDouble( wxMouseEvent& event ) { event.Skip(); }
+ virtual void OnContent( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnChangeErrorHandling( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnHelpComparisonSettings( wxHyperlinkEvent& event ) { event.Skip(); }
+ virtual void OnChangeFilterOption( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnHelpShowExamples( wxHyperlinkEvent& event ) { event.Skip(); }
+ virtual void OnFilterReset( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnToggleLocalSyncSettings( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnSyncTwoWayDouble( wxMouseEvent& event ) { event.Skip(); }
+ virtual void OnSyncTwoWay( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnSyncMirrorDouble( wxMouseEvent& event ) { event.Skip(); }
+ virtual void OnSyncMirror( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnSyncUpdateDouble( wxMouseEvent& event ) { event.Skip(); }
+ virtual void OnSyncUpdate( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnSyncCustomDouble( wxMouseEvent& event ) { event.Skip(); }
+ virtual void OnSyncCustom( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnToggleDetectMovedFiles( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnExLeftSideOnly( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnLeftNewer( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnDifferent( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnConflict( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnRightNewer( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnExRightSideOnly( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnDeletionPermanent( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnDeletionRecycler( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnDeletionVersioning( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnChangeSyncOption( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnHelpVersioning( wxHyperlinkEvent& event ) { event.Skip(); }
+ virtual void OnErrorIgnore( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnErrorPopup( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnOkay( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
+
+
+ public:
+
+ ConfigDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("dummy"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxRESIZE_BORDER );
+ ~ConfigDlgGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class SyncConfirmationDlgGenerated
///////////////////////////////////////////////////////////////////////////////
-class SyncConfirmationDlgGenerated : public wxDialog
+class SyncConfirmationDlgGenerated : public wxDialog
{
-private:
-
-protected:
- wxStaticBitmap* m_bitmapSync;
- wxStaticText* m_staticTextHeader;
- wxStaticLine* m_staticline371;
- wxPanel* m_panelStatistics;
- wxStaticLine* m_staticline38;
- wxStaticText* m_staticText84;
- wxStaticText* m_staticTextVariant;
- wxStaticLine* m_staticline14;
- wxStaticText* m_staticText83;
- wxStaticBitmap* m_bitmapCreateLeft;
- wxStaticBitmap* m_bitmapUpdateLeft;
- wxStaticBitmap* m_bitmapDeleteLeft;
- wxStaticBitmap* m_bitmapData;
- wxStaticBitmap* m_bitmapDeleteRight;
- wxStaticBitmap* m_bitmapUpdateRight;
- wxStaticBitmap* m_bitmapCreateRight;
- wxStaticText* m_staticTextCreateLeft;
- wxStaticText* m_staticTextUpdateLeft;
- wxStaticText* m_staticTextDeleteLeft;
- wxStaticText* m_staticTextData;
- wxStaticText* m_staticTextDeleteRight;
- wxStaticText* m_staticTextUpdateRight;
- wxStaticText* m_staticTextCreateRight;
- wxStaticLine* m_staticline381;
- wxStaticLine* m_staticline12;
- wxCheckBox* m_checkBoxDontShowAgain;
- wxBoxSizer* bSizerStdButtons;
- wxButton* m_buttonStartSync;
- wxButton* m_buttonCancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnStartSync( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
-
-
-public:
-
- SyncConfirmationDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("FreeFileSync"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
- ~SyncConfirmationDlgGenerated();
-
+ private:
+
+ protected:
+ wxStaticBitmap* m_bitmapSync;
+ wxStaticText* m_staticTextHeader;
+ wxStaticLine* m_staticline371;
+ wxPanel* m_panelStatistics;
+ wxStaticLine* m_staticline38;
+ wxStaticText* m_staticText84;
+ wxStaticText* m_staticTextVariant;
+ wxStaticLine* m_staticline14;
+ wxStaticText* m_staticText83;
+ wxStaticBitmap* m_bitmapCreateLeft;
+ wxStaticBitmap* m_bitmapUpdateLeft;
+ wxStaticBitmap* m_bitmapDeleteLeft;
+ wxStaticBitmap* m_bitmapData;
+ wxStaticBitmap* m_bitmapDeleteRight;
+ wxStaticBitmap* m_bitmapUpdateRight;
+ wxStaticBitmap* m_bitmapCreateRight;
+ wxStaticText* m_staticTextCreateLeft;
+ wxStaticText* m_staticTextUpdateLeft;
+ wxStaticText* m_staticTextDeleteLeft;
+ wxStaticText* m_staticTextData;
+ wxStaticText* m_staticTextDeleteRight;
+ wxStaticText* m_staticTextUpdateRight;
+ wxStaticText* m_staticTextCreateRight;
+ wxStaticLine* m_staticline381;
+ wxStaticLine* m_staticline12;
+ wxCheckBox* m_checkBoxDontShowAgain;
+ wxBoxSizer* bSizerStdButtons;
+ wxButton* m_buttonStartSync;
+ wxButton* m_buttonCancel;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
+ virtual void OnStartSync( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
+
+
+ public:
+
+ SyncConfirmationDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("FreeFileSync"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
+ ~SyncConfirmationDlgGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class FolderPairPanelGenerated
///////////////////////////////////////////////////////////////////////////////
-class FolderPairPanelGenerated : public wxPanel
+class FolderPairPanelGenerated : public wxPanel
{
-private:
-
-protected:
- wxButton* m_buttonSelectDirLeft;
- wxButton* m_buttonSelectDirRight;
-
-public:
- wxPanel* m_panelLeft;
- wxBitmapButton* m_bpButtonRemovePair;
- FolderHistoryBox* m_directoryLeft;
- wxPanel* m_panel20;
- wxBitmapButton* m_bpButtonAltCompCfg;
- wxBitmapButton* m_bpButtonLocalFilter;
- wxBitmapButton* m_bpButtonAltSyncCfg;
- wxPanel* m_panelRight;
- FolderHistoryBox* m_directoryRight;
-
- FolderPairPanelGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0 );
- ~FolderPairPanelGenerated();
-
+ private:
+
+ protected:
+ wxButton* m_buttonSelectDirLeft;
+ wxButton* m_buttonSelectDirRight;
+
+ public:
+ wxPanel* m_panelLeft;
+ wxBitmapButton* m_bpButtonRemovePair;
+ FolderHistoryBox* m_directoryLeft;
+ wxPanel* m_panel20;
+ wxBitmapButton* m_bpButtonAltCompCfg;
+ wxBitmapButton* m_bpButtonLocalFilter;
+ wxBitmapButton* m_bpButtonAltSyncCfg;
+ wxPanel* m_panelRight;
+ FolderHistoryBox* m_directoryRight;
+
+ FolderPairPanelGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0 );
+ ~FolderPairPanelGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class CompareProgressDlgGenerated
///////////////////////////////////////////////////////////////////////////////
-class CompareProgressDlgGenerated : public wxPanel
+class CompareProgressDlgGenerated : public wxPanel
{
-private:
-
-protected:
- wxTextCtrl* m_textCtrlStatus;
- wxGauge* m_gauge2;
- wxBoxSizer* bSizer42;
- wxBoxSizer* bSizerFilesFound;
- wxStaticText* m_staticText321;
- wxStaticText* m_staticTextScanned;
- wxBoxSizer* bSizerFilesRemaining;
- wxStaticText* m_staticText46;
- wxStaticText* m_staticTextFilesRemaining;
- wxStaticText* m_staticTextDataRemaining;
- wxBoxSizer* sSizerSpeed;
- wxStaticText* m_staticText104;
- wxStaticText* m_staticTextSpeed;
- wxBoxSizer* sSizerTimeRemaining;
- wxStaticText* m_staticTextTimeRemFixed;
- wxStaticText* m_staticTextRemTime;
- wxBoxSizer* sSizerTimeElapsed;
- wxStaticText* m_staticTextTimeElapsed;
-
-public:
-
- CompareProgressDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxRAISED_BORDER );
- ~CompareProgressDlgGenerated();
-
+ private:
+
+ protected:
+ wxTextCtrl* m_textCtrlStatus;
+ wxGauge* m_gauge2;
+ wxBoxSizer* bSizer42;
+ wxBoxSizer* bSizerFilesFound;
+ wxStaticText* m_staticText321;
+ wxStaticText* m_staticTextScanned;
+ wxBoxSizer* bSizerFilesRemaining;
+ wxStaticText* m_staticText46;
+ wxStaticText* m_staticTextFilesRemaining;
+ wxStaticText* m_staticTextDataRemaining;
+ wxBoxSizer* sSizerSpeed;
+ wxStaticText* m_staticText104;
+ wxStaticText* m_staticTextSpeed;
+ wxBoxSizer* sSizerTimeRemaining;
+ wxStaticText* m_staticTextTimeRemFixed;
+ wxStaticText* m_staticTextRemTime;
+ wxBoxSizer* sSizerTimeElapsed;
+ wxStaticText* m_staticTextTimeElapsed;
+
+ public:
+
+ CompareProgressDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxRAISED_BORDER );
+ ~CompareProgressDlgGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class SyncProgressPanelGenerated
///////////////////////////////////////////////////////////////////////////////
-class SyncProgressPanelGenerated : public wxPanel
+class SyncProgressPanelGenerated : public wxPanel
{
-private:
-
-protected:
- wxBoxSizer* bSizer42;
- wxBoxSizer* bSizer171;
- wxStaticText* m_staticText87;
-
-public:
- wxBoxSizer* bSizerRoot;
- wxStaticBitmap* m_bitmapStatus;
- wxStaticText* m_staticTextPhase;
- wxAnimationCtrl* m_animCtrlSyncing;
- wxBitmapButton* m_bpButtonMinimizeToTray;
- wxBoxSizer* bSizerStatusText;
- wxStaticText* m_staticTextStatus;
- wxPanel* m_panelProgress;
- wxPanel* m_panelItemsProcessed;
- wxStaticText* m_staticTextProcessedObj;
- wxStaticText* m_staticTextDataProcessed;
- wxPanel* m_panelItemsRemaining;
- wxStaticText* m_staticTextRemainingObj;
- wxStaticText* m_staticTextDataRemaining;
- wxPanel* m_panelTimeRemaining;
- wxStaticText* m_staticTextRemTime;
- wxStaticText* m_staticTextTimeElapsed;
- zen::Graph2D* m_panelGraphBytes;
- zen::Graph2D* m_panelGraphItems;
- wxNotebook* m_notebookResult;
- wxStaticLine* m_staticlineFooter;
- wxBoxSizer* bSizerStdButtons;
- wxBoxSizer* bSizerOnCompletion;
- OnCompletionBox* m_comboBoxOnCompletion;
- wxButton* m_buttonClose;
- wxButton* m_buttonPause;
- wxButton* m_buttonStop;
-
- SyncProgressPanelGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL );
- ~SyncProgressPanelGenerated();
-
+ private:
+
+ protected:
+ wxBoxSizer* bSizer42;
+ wxBoxSizer* bSizer171;
+ wxStaticText* m_staticText87;
+
+ public:
+ wxBoxSizer* bSizerRoot;
+ wxStaticBitmap* m_bitmapStatus;
+ wxStaticText* m_staticTextPhase;
+ wxAnimationCtrl* m_animCtrlSyncing;
+ wxBitmapButton* m_bpButtonMinimizeToTray;
+ wxBoxSizer* bSizerStatusText;
+ wxStaticText* m_staticTextStatus;
+ wxPanel* m_panelProgress;
+ wxPanel* m_panelItemsProcessed;
+ wxStaticText* m_staticTextProcessedObj;
+ wxStaticText* m_staticTextDataProcessed;
+ wxPanel* m_panelItemsRemaining;
+ wxStaticText* m_staticTextRemainingObj;
+ wxStaticText* m_staticTextDataRemaining;
+ wxPanel* m_panelTimeRemaining;
+ wxStaticText* m_staticTextRemTime;
+ wxStaticText* m_staticTextTimeElapsed;
+ zen::Graph2D* m_panelGraphBytes;
+ zen::Graph2D* m_panelGraphItems;
+ wxNotebook* m_notebookResult;
+ wxStaticLine* m_staticlineFooter;
+ wxBoxSizer* bSizerStdButtons;
+ wxBoxSizer* bSizerOnCompletion;
+ OnCompletionBox* m_comboBoxOnCompletion;
+ wxButton* m_buttonClose;
+ wxButton* m_buttonPause;
+ wxButton* m_buttonStop;
+
+ SyncProgressPanelGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxTAB_TRAVERSAL );
+ ~SyncProgressPanelGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class LogPanelGenerated
///////////////////////////////////////////////////////////////////////////////
-class LogPanelGenerated : public wxPanel
+class LogPanelGenerated : public wxPanel
{
-private:
-
-protected:
- ToggleButton* m_bpButtonErrors;
- ToggleButton* m_bpButtonWarnings;
- ToggleButton* m_bpButtonInfo;
- wxStaticLine* m_staticline13;
- zen::Grid* m_gridMessages;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnErrors( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnWarnings( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnInfo( wxCommandEvent& event ) { event.Skip(); }
-
-
-public:
-
- LogPanelGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL );
- ~LogPanelGenerated();
-
+ private:
+
+ protected:
+ ToggleButton* m_bpButtonErrors;
+ ToggleButton* m_bpButtonWarnings;
+ ToggleButton* m_bpButtonInfo;
+ wxStaticLine* m_staticline13;
+ zen::Grid* m_gridMessages;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnErrors( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnWarnings( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnInfo( wxCommandEvent& event ) { event.Skip(); }
+
+
+ public:
+
+ LogPanelGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL );
+ ~LogPanelGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class BatchDlgGenerated
///////////////////////////////////////////////////////////////////////////////
-class BatchDlgGenerated : public wxDialog
+class BatchDlgGenerated : public wxDialog
{
-private:
-
-protected:
- wxStaticBitmap* m_bitmapBatchJob;
- wxStaticText* m_staticTextDescr;
- wxStaticLine* m_staticline18;
- wxPanel* m_panel35;
- wxStaticText* m_staticText82;
- wxToggleButton* m_toggleBtnErrorIgnore;
- wxToggleButton* m_toggleBtnErrorPopup;
- wxToggleButton* m_toggleBtnErrorStop;
- wxStaticLine* m_staticline26;
- wxCheckBox* m_checkBoxRunMinimized;
- wxStaticText* m_staticText81;
- OnCompletionBox* m_comboBoxOnCompletion;
- wxStaticLine* m_staticline25;
- wxCheckBox* m_checkBoxGenerateLogfile;
- wxPanel* m_panelLogfile;
- wxButton* m_buttonSelectLogfileDir;
- wxCheckBox* m_checkBoxLogfilesLimit;
- wxSpinCtrl* m_spinCtrlLogfileLimit;
- wxHyperlinkCtrl* m_hyperlink17;
- wxStaticLine* m_staticline13;
- wxBoxSizer* bSizerStdButtons;
- wxButton* m_buttonSaveAs;
- wxButton* m_buttonCancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnErrorIgnore( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnErrorPopup( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnErrorStop( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnToggleGenerateLogfile( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnToggleLogfilesLimit( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnHelpScheduleBatch( wxHyperlinkEvent& event ) { event.Skip(); }
- virtual void OnSaveBatchJob( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
-
-
-public:
- FolderHistoryBox* m_logfileDir;
-
- BatchDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Save as Batch Job"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
- ~BatchDlgGenerated();
-
+ private:
+
+ protected:
+ wxStaticBitmap* m_bitmapBatchJob;
+ wxStaticText* m_staticTextDescr;
+ wxStaticLine* m_staticline18;
+ wxPanel* m_panel35;
+ wxStaticText* m_staticText82;
+ wxToggleButton* m_toggleBtnErrorIgnore;
+ wxToggleButton* m_toggleBtnErrorPopup;
+ wxToggleButton* m_toggleBtnErrorStop;
+ wxStaticLine* m_staticline26;
+ wxCheckBox* m_checkBoxRunMinimized;
+ wxStaticText* m_staticText81;
+ OnCompletionBox* m_comboBoxOnCompletion;
+ wxStaticLine* m_staticline25;
+ wxCheckBox* m_checkBoxGenerateLogfile;
+ wxPanel* m_panelLogfile;
+ wxButton* m_buttonSelectLogfileDir;
+ wxCheckBox* m_checkBoxLogfilesLimit;
+ wxSpinCtrl* m_spinCtrlLogfileLimit;
+ wxHyperlinkCtrl* m_hyperlink17;
+ wxStaticLine* m_staticline13;
+ wxBoxSizer* bSizerStdButtons;
+ wxButton* m_buttonSaveAs;
+ wxButton* m_buttonCancel;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
+ virtual void OnErrorIgnore( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnErrorPopup( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnErrorStop( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnToggleGenerateLogfile( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnToggleLogfilesLimit( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnHelpScheduleBatch( wxHyperlinkEvent& event ) { event.Skip(); }
+ virtual void OnSaveBatchJob( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
+
+
+ public:
+ FolderHistoryBox* m_logfileDir;
+
+ BatchDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Save as Batch Job"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
+ ~BatchDlgGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class DeleteDlgGenerated
///////////////////////////////////////////////////////////////////////////////
-class DeleteDlgGenerated : public wxDialog
-{
-private:
-
-protected:
- wxStaticBitmap* m_bitmapDeleteType;
- wxStaticText* m_staticTextHeader;
- wxStaticLine* m_staticline91;
- wxPanel* m_panel31;
- wxStaticLine* m_staticline42;
- wxTextCtrl* m_textCtrlFileList;
- wxStaticLine* m_staticline9;
- wxBoxSizer* bSizerStdButtons;
- wxCheckBox* m_checkBoxUseRecycler;
- wxButton* m_buttonOK;
- wxButton* m_buttonCancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnUseRecycler( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnOK( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
-
-
-public:
-
- DeleteDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Delete Items"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxRESIZE_BORDER );
- ~DeleteDlgGenerated();
-
-};
-
-///////////////////////////////////////////////////////////////////////////////
-/// Class FilterDlgGenerated
-///////////////////////////////////////////////////////////////////////////////
-class FilterDlgGenerated : public wxDialog
+class DeleteDlgGenerated : public wxDialog
{
-private:
-
-protected:
- wxStaticBitmap* m_bitmapFilter;
- wxStaticText* m_staticText44;
- wxStaticLine* m_staticline17;
- wxPanel* m_panel38;
- wxStaticBitmap* m_bitmapInclude;
- wxStaticText* m_staticText78;
- wxTextCtrl* m_textCtrlInclude;
- wxStaticLine* m_staticline22;
- wxStaticBitmap* m_bitmapExclude;
- wxStaticText* m_staticText77;
- wxHyperlinkCtrl* m_hyperlink17;
- wxTextCtrl* m_textCtrlExclude;
- wxStaticLine* m_staticline24;
- wxStaticBitmap* m_bitmapFilterDate;
- wxStaticText* m_staticText79;
- wxSpinCtrl* m_spinCtrlTimespan;
- wxChoice* m_choiceUnitTimespan;
- wxStaticLine* m_staticline23;
- wxStaticBitmap* m_bitmapFilterSize;
- wxStaticText* m_staticText80;
- wxStaticText* m_staticText101;
- wxSpinCtrl* m_spinCtrlMinSize;
- wxChoice* m_choiceUnitMinSize;
- wxStaticText* m_staticText102;
- wxSpinCtrl* m_spinCtrlMaxSize;
- wxChoice* m_choiceUnitMaxSize;
- wxStaticLine* m_staticline16;
- wxBoxSizer* bSizerStdButtons;
- wxButton* m_buttonClear;
- wxButton* m_buttonOk;
- wxButton* m_buttonCancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnUpdateNameFilter( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnHelpShowExamples( wxHyperlinkEvent& event ) { event.Skip(); }
- virtual void OnUpdateChoice( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnClear( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnOkay( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
-
-
-public:
-
- FilterDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("dummy"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxRESIZE_BORDER );
- ~FilterDlgGenerated();
-
+ private:
+
+ protected:
+ wxStaticBitmap* m_bitmapDeleteType;
+ wxStaticText* m_staticTextHeader;
+ wxStaticLine* m_staticline91;
+ wxPanel* m_panel31;
+ wxStaticLine* m_staticline42;
+ wxTextCtrl* m_textCtrlFileList;
+ wxStaticLine* m_staticline9;
+ wxBoxSizer* bSizerStdButtons;
+ wxCheckBox* m_checkBoxUseRecycler;
+ wxButton* m_buttonOK;
+ wxButton* m_buttonCancel;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
+ virtual void OnUseRecycler( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnOK( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
+
+
+ public:
+
+ DeleteDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Delete Items"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxRESIZE_BORDER );
+ ~DeleteDlgGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class GlobalSettingsDlgGenerated
///////////////////////////////////////////////////////////////////////////////
-class GlobalSettingsDlgGenerated : public wxDialog
+class GlobalSettingsDlgGenerated : public wxDialog
{
-private:
-
-protected:
- wxStaticBitmap* m_bitmapSettings;
- wxStaticText* m_staticText44;
- wxStaticLine* m_staticline20;
- wxPanel* m_panel39;
- wxCheckBox* m_checkBoxFailSafe;
- wxStaticText* m_staticText91;
- wxBoxSizer* bSizerLockedFiles;
- wxCheckBox* m_checkBoxCopyLocked;
- wxStaticText* m_staticText92;
- wxCheckBox* m_checkBoxCopyPermissions;
- wxStaticText* m_staticText93;
- wxStaticLine* m_staticline39;
- wxStaticText* m_staticText95;
- wxStaticText* m_staticText96;
- wxSpinCtrl* m_spinCtrlAutoRetryCount;
- wxStaticText* m_staticTextAutoRetryDelay;
- wxSpinCtrl* m_spinCtrlAutoRetryDelay;
- wxStaticLine* m_staticline191;
- wxStaticText* m_staticText85;
- wxGrid* m_gridCustomCommand;
- wxBitmapButton* m_bpButtonAddRow;
- wxBitmapButton* m_bpButtonRemoveRow;
- wxHyperlinkCtrl* m_hyperlink17;
- wxStaticLine* m_staticline192;
- zen::BitmapTextButton* m_buttonResetDialogs;
- wxStaticLine* m_staticline40;
- wxStaticLine* m_staticline36;
- wxBoxSizer* bSizerStdButtons;
- wxButton* m_buttonDefault;
- wxButton* m_buttonOkay;
- wxButton* m_buttonCancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnToggleAutoRetryCount( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnAddRow( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnRemoveRow( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnHelpShowExamples( wxHyperlinkEvent& event ) { event.Skip(); }
- virtual void OnResetDialogs( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnDefault( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnOkay( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
-
-
-public:
-
- GlobalSettingsDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Global Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
- ~GlobalSettingsDlgGenerated();
-
+ private:
+
+ protected:
+ wxStaticBitmap* m_bitmapSettings;
+ wxStaticText* m_staticText44;
+ wxStaticLine* m_staticline20;
+ wxPanel* m_panel39;
+ wxCheckBox* m_checkBoxFailSafe;
+ wxStaticText* m_staticText91;
+ wxBoxSizer* bSizerLockedFiles;
+ wxCheckBox* m_checkBoxCopyLocked;
+ wxStaticText* m_staticText92;
+ wxCheckBox* m_checkBoxCopyPermissions;
+ wxStaticText* m_staticText93;
+ wxStaticLine* m_staticline39;
+ wxStaticText* m_staticText95;
+ wxStaticText* m_staticText96;
+ wxSpinCtrl* m_spinCtrlAutoRetryCount;
+ wxStaticText* m_staticTextAutoRetryDelay;
+ wxSpinCtrl* m_spinCtrlAutoRetryDelay;
+ wxStaticLine* m_staticline191;
+ wxStaticText* m_staticText85;
+ wxGrid* m_gridCustomCommand;
+ wxBitmapButton* m_bpButtonAddRow;
+ wxBitmapButton* m_bpButtonRemoveRow;
+ wxHyperlinkCtrl* m_hyperlink17;
+ wxStaticLine* m_staticline192;
+ zen::BitmapTextButton* m_buttonResetDialogs;
+ wxStaticLine* m_staticline40;
+ wxStaticLine* m_staticline36;
+ wxBoxSizer* bSizerStdButtons;
+ wxButton* m_buttonDefault;
+ wxButton* m_buttonOkay;
+ wxButton* m_buttonCancel;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
+ virtual void OnToggleAutoRetryCount( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnAddRow( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnRemoveRow( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnHelpShowExamples( wxHyperlinkEvent& event ) { event.Skip(); }
+ virtual void OnResetDialogs( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnDefault( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnOkay( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
+
+
+ public:
+
+ GlobalSettingsDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Global Settings"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER );
+ ~GlobalSettingsDlgGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class TooltipDialogGenerated
///////////////////////////////////////////////////////////////////////////////
-class TooltipDialogGenerated : public wxDialog
+class TooltipDialogGenerated : public wxDialog
{
-private:
-
-protected:
-
-public:
- wxStaticBitmap* m_bitmapLeft;
- wxStaticText* m_staticTextMain;
-
- TooltipDialogGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
- ~TooltipDialogGenerated();
-
+ private:
+
+ protected:
+
+ public:
+ wxStaticBitmap* m_bitmapLeft;
+ wxStaticText* m_staticTextMain;
+
+ TooltipDialogGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = wxEmptyString, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
+ ~TooltipDialogGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class SelectTimespanDlgGenerated
///////////////////////////////////////////////////////////////////////////////
-class SelectTimespanDlgGenerated : public wxDialog
+class SelectTimespanDlgGenerated : public wxDialog
{
-private:
-
-protected:
- wxPanel* m_panel35;
- wxCalendarCtrl* m_calendarFrom;
- wxCalendarCtrl* m_calendarTo;
- wxStaticLine* m_staticline21;
- wxBoxSizer* bSizerStdButtons;
- wxButton* m_buttonOkay;
- wxButton* m_buttonCancel;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnChangeSelectionFrom( wxCalendarEvent& event ) { event.Skip(); }
- virtual void OnChangeSelectionTo( wxCalendarEvent& event ) { event.Skip(); }
- virtual void OnOkay( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
-
-
-public:
-
- SelectTimespanDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select Time Span"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
- ~SelectTimespanDlgGenerated();
-
+ private:
+
+ protected:
+ wxPanel* m_panel35;
+ wxCalendarCtrl* m_calendarFrom;
+ wxCalendarCtrl* m_calendarTo;
+ wxStaticLine* m_staticline21;
+ wxBoxSizer* bSizerStdButtons;
+ wxButton* m_buttonOkay;
+ wxButton* m_buttonCancel;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
+ virtual void OnChangeSelectionFrom( wxCalendarEvent& event ) { event.Skip(); }
+ virtual void OnChangeSelectionTo( wxCalendarEvent& event ) { event.Skip(); }
+ virtual void OnOkay( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnCancel( wxCommandEvent& event ) { event.Skip(); }
+
+
+ public:
+
+ SelectTimespanDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Select Time Span"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
+ ~SelectTimespanDlgGenerated();
+
};
///////////////////////////////////////////////////////////////////////////////
/// Class AboutDlgGenerated
///////////////////////////////////////////////////////////////////////////////
-class AboutDlgGenerated : public wxDialog
+class AboutDlgGenerated : public wxDialog
{
-private:
-
-protected:
- wxPanel* m_panel41;
- wxStaticBitmap* m_bitmapLogo;
- wxStaticLine* m_staticline341;
- wxStaticText* m_staticText96;
- wxHyperlinkCtrl* m_hyperlink11;
- wxHyperlinkCtrl* m_hyperlink9;
- wxHyperlinkCtrl* m_hyperlink10;
- wxHyperlinkCtrl* m_hyperlink7;
- wxHyperlinkCtrl* m_hyperlink14;
- wxHyperlinkCtrl* m_hyperlink15;
- wxHyperlinkCtrl* m_hyperlink13;
- wxHyperlinkCtrl* m_hyperlink16;
- wxHyperlinkCtrl* m_hyperlink12;
- wxHyperlinkCtrl* m_hyperlink18;
- wxPanel* m_panelDonate;
- wxPanel* m_panel39;
- wxAnimationCtrl* m_animCtrlWink;
- wxStaticText* m_staticText83;
- wxButton* m_buttonDonate;
- wxStaticText* m_staticText94;
- wxStaticBitmap* m_bitmap9;
- wxHyperlinkCtrl* m_hyperlink1;
- wxStaticBitmap* m_bitmap10;
- wxHyperlinkCtrl* m_hyperlink2;
- wxStaticLine* m_staticline34;
- wxStaticText* m_staticText93;
- wxStaticBitmap* m_bitmap13;
- wxHyperlinkCtrl* m_hyperlink5;
- wxStaticLine* m_staticline37;
- wxStaticText* m_staticText54;
- wxScrolledWindow* m_scrolledWindowTranslators;
- wxFlexGridSizer* fgSizerTranslators;
- wxStaticLine* m_staticline36;
- wxBoxSizer* bSizerStdButtons;
- wxButton* m_buttonClose;
-
- // Virtual event handlers, overide them in your derived class
- virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
- virtual void OnDonate( wxCommandEvent& event ) { event.Skip(); }
- virtual void OnOK( wxCommandEvent& event ) { event.Skip(); }
-
-
-public:
-
- AboutDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
- ~AboutDlgGenerated();
-
+ private:
+
+ protected:
+ wxPanel* m_panel41;
+ wxStaticBitmap* m_bitmapLogo;
+ wxStaticLine* m_staticline341;
+ wxStaticText* m_staticText96;
+ wxHyperlinkCtrl* m_hyperlink11;
+ wxHyperlinkCtrl* m_hyperlink9;
+ wxHyperlinkCtrl* m_hyperlink10;
+ wxHyperlinkCtrl* m_hyperlink7;
+ wxHyperlinkCtrl* m_hyperlink14;
+ wxHyperlinkCtrl* m_hyperlink15;
+ wxHyperlinkCtrl* m_hyperlink13;
+ wxHyperlinkCtrl* m_hyperlink16;
+ wxHyperlinkCtrl* m_hyperlink12;
+ wxHyperlinkCtrl* m_hyperlink18;
+ wxPanel* m_panelDonate;
+ wxPanel* m_panel39;
+ wxAnimationCtrl* m_animCtrlWink;
+ wxStaticText* m_staticText83;
+ wxButton* m_buttonDonate;
+ wxStaticText* m_staticText94;
+ wxStaticBitmap* m_bitmap9;
+ wxHyperlinkCtrl* m_hyperlink1;
+ wxStaticBitmap* m_bitmap10;
+ wxHyperlinkCtrl* m_hyperlink2;
+ wxStaticLine* m_staticline34;
+ wxStaticText* m_staticText93;
+ wxStaticBitmap* m_bitmap13;
+ wxHyperlinkCtrl* m_hyperlink5;
+ wxStaticLine* m_staticline37;
+ wxStaticText* m_staticText54;
+ wxScrolledWindow* m_scrolledWindowTranslators;
+ wxFlexGridSizer* fgSizerTranslators;
+ wxStaticLine* m_staticline36;
+ wxBoxSizer* bSizerStdButtons;
+ wxButton* m_buttonClose;
+
+ // Virtual event handlers, overide them in your derived class
+ virtual void OnClose( wxCloseEvent& event ) { event.Skip(); }
+ virtual void OnDonate( wxCommandEvent& event ) { event.Skip(); }
+ virtual void OnOK( wxCommandEvent& event ) { event.Skip(); }
+
+
+ public:
+
+ AboutDlgGenerated( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("About"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxDEFAULT_DIALOG_STYLE );
+ ~AboutDlgGenerated();
+
};
#endif //__GUI_GENERATED_H__
diff --git a/FreeFileSync/Source/ui/main_dlg.cpp b/FreeFileSync/Source/ui/main_dlg.cpp
index 5e70f15a..168a4b44 100644
--- a/FreeFileSync/Source/ui/main_dlg.cpp
+++ b/FreeFileSync/Source/ui/main_dlg.cpp
@@ -24,11 +24,11 @@
#include <wx+/no_flicker.h>
#include <wx+/rtl.h>
#include <wx+/font_size.h>
+#include <wx+/key_event.h>
#include <wx+/popup_dlg.h>
#include <wx+/image_resources.h>
#include "check_version.h"
#include "gui_status_handler.h"
-#include "sync_cfg.h"
#include "small_dlgs.h"
#include "progress_indicator.h"
#include "folder_pair.h"
@@ -95,7 +95,7 @@ public:
DirectoryName(dropWindow1, dirSelectButton, dirName, &staticText, &dropGrid.getMainWin()),
mainDlg_(mainDlg) {}
- virtual bool acceptDrop(const std::vector<wxString>& droppedFiles, const wxPoint& clientPos, const wxWindow& wnd)
+ virtual bool acceptDrop(const std::vector<wxString>& droppedFiles, const wxPoint& clientPos, const wxWindow& wnd) override
{
if (std::any_of(droppedFiles.begin(), droppedFiles.end(), [](const wxString& filename)
{
@@ -156,13 +156,13 @@ public:
mainDlg(mainDialog) {}
private:
- virtual MainConfiguration getMainConfig() const { return mainDlg.getConfig().mainCfg; }
- virtual wxWindow* getParentWindow() { return &mainDlg; }
- virtual std::unique_ptr<FilterConfig>& getFilterCfgOnClipboardRef() { return mainDlg.filterCfgOnClipboard; }
+ virtual MainConfiguration getMainConfig() const override { return mainDlg.getConfig().mainCfg; }
+ virtual wxWindow* getParentWindow() override { return &mainDlg; }
+ virtual std::unique_ptr<FilterConfig>& getFilterCfgOnClipboardRef() override { return mainDlg.filterCfgOnClipboard; }
- virtual void onAltCompCfgChange () { mainDlg.applyCompareConfig(); }
- virtual void onAltSyncCfgChange () { mainDlg.applySyncConfig(); }
- virtual void onLocalFilterCfgChange() { mainDlg.applyFilterConfig(); } //re-apply filter
+ virtual void onAltCompCfgChange () override { mainDlg.applyCompareConfig(); }
+ virtual void onAltSyncCfgChange () override { mainDlg.applySyncConfig(); }
+ virtual void onLocalFilterCfgChange() override { mainDlg.applyFilterConfig(); } //re-apply filter
MainDialog& mainDlg;
};
@@ -261,7 +261,7 @@ public:
MouseMoveWindow(mainDlg, false), //don't include main dialog itself, thereby prevent various mouse capture lost issues
mainDlg_(mainDlg) {}
- virtual bool allowMove(const wxMouseEvent& event)
+ virtual bool allowMove(const wxMouseEvent& event) override
{
if (wxPanel* panel = dynamic_cast<wxPanel*>(event.GetEventObject()))
{
@@ -343,32 +343,34 @@ void updateTopButton(wxBitmapButton& btn, const wxBitmap& bmp, const wxString& v
//##################################################################################################################################
-xmlAccess::XmlGlobalSettings retrieveGlobalCfgFromDisk() //blocks on GUI on errors!
+xmlAccess::XmlGlobalSettings loadGlobalConfig(const Zstring& globalConfigFile) //blocks on GUI on errors!
{
using namespace xmlAccess;
XmlGlobalSettings globalCfg;
- if (fileExists(getGlobalConfigFile())) //else: globalCfg already has default values
- try
- {
- std::wstring warningMsg;
- readConfig(getGlobalConfigFile(), globalCfg, warningMsg); //throw FileError
+ try
+ {
+ std::wstring warningMsg;
+ readConfig(globalConfigFile, globalCfg, warningMsg); //throw FileError
- assert(warningMsg.empty()); //ignore parsing errors: should be migration problems only *cross-fingers*
- }
- catch (const FileError& e)
- {
- showNotificationDialog(nullptr, DialogInfoType::ERROR2, PopupDialogCfg().setDetailInstructions(e.toString())); //no parent window: main dialog not yet created!
- }
+ assert(warningMsg.empty()); //ignore parsing errors: should be migration problems only *cross-fingers*
+ }
+ catch (const FileError& e)
+ {
+ showNotificationDialog(nullptr, DialogInfoType::ERROR2, PopupDialogCfg().setDetailInstructions(e.toString())); //no parent window: main dialog not yet created!
+ }
return globalCfg;
}
}
-void MainDialog::create()
+void MainDialog::create(const Zstring& globalConfigFile)
{
using namespace xmlAccess;
- const XmlGlobalSettings globalSettings = retrieveGlobalCfgFromDisk();
+
+ XmlGlobalSettings globalSettings;
+ if (fileExists(globalConfigFile)) //else: globalCfg already has default values
+ globalSettings = loadGlobalConfig(globalConfigFile);
std::vector<Zstring> filenames = globalSettings.gui.lastUsedConfigFiles; //2. now try last used files
@@ -420,16 +422,23 @@ void MainDialog::create()
//------------------------------------------------------------------------------------------
- create(guiCfg, filenames, &globalSettings, false);
+ create(globalConfigFile, &globalSettings, guiCfg, filenames, false);
}
-void MainDialog::create(const xmlAccess::XmlGuiConfig& guiCfg,
- const std::vector<Zstring>& referenceFiles,
+void MainDialog::create(const Zstring& globalConfigFile,
const xmlAccess::XmlGlobalSettings* globalSettings,
+ const xmlAccess::XmlGuiConfig& guiCfg,
+ const std::vector<Zstring>& referenceFiles,
bool startComparison)
{
- const xmlAccess::XmlGlobalSettings& globSett = globalSettings ? *globalSettings : retrieveGlobalCfgFromDisk();
+ xmlAccess::XmlGlobalSettings globSett;
+ if (globalSettings)
+ globSett = *globalSettings;
+ else if (fileExists(globalConfigFile))
+ globSett = loadGlobalConfig(globalConfigFile);
+ //else: globalCfg already has default values
+
try
{
//we need to set language *before* creating MainDialog!
@@ -441,7 +450,7 @@ void MainDialog::create(const xmlAccess::XmlGuiConfig& guiCfg,
//continue!
}
- MainDialog* frame = new MainDialog(guiCfg, referenceFiles, globSett, startComparison);
+ MainDialog* frame = new MainDialog(globalConfigFile, guiCfg, referenceFiles, globSett, startComparison);
frame->Show();
#ifdef ZEN_MAC
ProcessSerialNumber psn = { 0, kCurrentProcess };
@@ -452,11 +461,13 @@ void MainDialog::create(const xmlAccess::XmlGuiConfig& guiCfg,
}
-MainDialog::MainDialog(const xmlAccess::XmlGuiConfig& guiCfg,
+MainDialog::MainDialog(const Zstring& globalConfigFile,
+ const xmlAccess::XmlGuiConfig& guiCfg,
const std::vector<Zstring>& referenceFiles,
const xmlAccess::XmlGlobalSettings& globalSettings,
bool startComparison) :
MainDialogGenerated(nullptr),
+ globalConfigFile_(globalConfigFile),
folderHistoryLeft (std::make_shared<FolderHistory>()), //make sure it is always bound
folderHistoryRight(std::make_shared<FolderHistory>()), //
focusWindowAfterSearch(nullptr)
@@ -580,7 +591,6 @@ MainDialog::MainDialog(const xmlAccess::XmlGuiConfig& guiCfg,
treeDataView = std::make_shared<TreeView>();
cleanedUp = false;
- processingGlobalKeyEvent = false;
#ifdef ZEN_WIN
new PanelMoveWindow(*this); //allow moving main dialog by clicking (nearly) anywhere... //ownership passed to "this"
@@ -592,6 +602,7 @@ MainDialog::MainDialog(const xmlAccess::XmlGuiConfig& guiCfg,
m_bpButtonSyncConfig->SetBitmapLabel(getResourceImage(L"cfg_sync"));
m_bpButtonCmpConfig ->SetBitmapLabel(getResourceImage(L"cfg_compare"));
m_bpButtonOpen ->SetBitmapLabel(getResourceImage(L"load"));
+ m_bpButtonSaveAs ->SetBitmapLabel(getResourceImage(L"sync"));
m_bpButtonBatchJob ->SetBitmapLabel(getResourceImage(L"batch"));
m_bpButtonAddPair ->SetBitmapLabel(getResourceImage(L"item_add"));
m_bpButtonHideSearch->SetBitmapLabel(getResourceImage(L"close_panel"));
@@ -673,9 +684,8 @@ MainDialog::MainDialog(const xmlAccess::XmlGuiConfig& guiCfg,
m_gridNavi->getMainWin().Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainDialog::onTreeButtonEvent), nullptr, this);
- //register global hotkeys (without explicit menu entry)
- wxTheApp->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainDialog::OnGlobalKeyEvent), nullptr, this);
- wxTheApp->Connect(wxEVT_CHAR_HOOK, wxKeyEventHandler(MainDialog::OnGlobalKeyEvent), nullptr, this); //capture direction keys
+ //enable dialog-specific key local events
+ setupLocalKeyEvents(*this, [this](wxKeyEvent& event) { this->onLocalKeyEvent(event); });
//drag & drop on navi panel
setupFileDrop(*m_gridNavi);
@@ -768,7 +778,7 @@ MainDialog::~MainDialog()
try //save "GlobalSettings.xml"
{
- writeConfig(getGlobalCfgBeforeExit(), getGlobalConfigFile()); //throw FileError
+ writeConfig(getGlobalCfgBeforeExit(), globalConfigFile_); //throw FileError
}
catch (const FileError& e)
{
@@ -782,10 +792,6 @@ MainDialog::~MainDialog()
//don't annoy users on read-only drives: it's enough to show a single error message when saving global config
catch (const FileError&) {}
- //important! event source wxTheApp is NOT dependent on this instance -> disconnect!
- wxTheApp->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(MainDialog::OnGlobalKeyEvent), nullptr, this);
- wxTheApp->Disconnect(wxEVT_CHAR_HOOK, wxKeyEventHandler(MainDialog::OnGlobalKeyEvent), nullptr, this);
-
#ifdef ZEN_MAC
//more (non-portable) wxWidgets crap: wxListBox leaks wxClientData, both of the following functions fail to clean up:
// src/common/ctrlsub.cpp:: wxItemContainer::~wxItemContainer() -> empty function body!!!
@@ -805,7 +811,7 @@ void MainDialog::onQueryEndSession()
{
using namespace xmlAccess;
- try { writeConfig(getGlobalCfgBeforeExit(), getGlobalConfigFile()); }
+ try { writeConfig(getGlobalCfgBeforeExit(), globalConfigFile_); }
catch (const FileError&) {} //we try our best do to something useful in this extreme situation - no reason to notify or even log errors here!
try { writeConfig(getConfig(), lastRunConfigName()); }
@@ -1135,7 +1141,7 @@ public:
mainDlg.enableAllElements();
}
- virtual Response reportError(const std::wstring& msg)
+ virtual Response reportError(const std::wstring& msg) override
{
if (ignoreErrors)
return DeleteFilesHandler::IGNORE_ERROR;
@@ -1162,7 +1168,7 @@ public:
return DeleteFilesHandler::IGNORE_ERROR; //dummy return value
}
- virtual void reportWarning(const std::wstring& msg, bool& warningActive)
+ virtual void reportWarning(const std::wstring& msg, bool& warningActive) override
{
if (!warningActive || ignoreErrors)
return;
@@ -1181,14 +1187,14 @@ public:
}
}
- virtual void reportStatus (const std::wstring& msg)
+ virtual void reportStatus (const std::wstring& msg) override
{
statusMsg = msg;
requestUiRefresh();
}
private:
- virtual void requestUiRefresh()
+ void requestUiRefresh()
{
if (updateUiIsAllowed()) //test if specific time span between ui updates is over
forceUiRefresh();
@@ -1810,35 +1816,8 @@ void MainDialog::onGridButtonEvent(wxKeyEvent& event, Grid& grid, bool leftSide)
}
-//pretty much the same like "bool wxWindowBase::IsDescendant(wxWindowBase* child) const" but without the obvious misnaming
-bool isComponentOf(const wxWindow* child, const wxWindow* top)
-{
- for (const wxWindow* wnd = child; wnd != nullptr; wnd = wnd->GetParent())
- if (wnd == top)
- return true;
- return false;
-}
-
-
-void MainDialog::OnGlobalKeyEvent(wxKeyEvent& event) //process key events without explicit menu entry :)
+void MainDialog::onLocalKeyEvent(wxKeyEvent& event) //process key events without explicit menu entry :)
{
- const wxWindow* focus = wxWindow::FindFocus();
-
- //avoid recursion!!! -> this ugly construct seems to be the only (portable) way to avoid re-entrancy
- //recursion may happen in multiple situations: e.g. modal dialogs, Grid::ProcessEvent()!
- if (processingGlobalKeyEvent ||
- !isComponentOf(focus, this) ||
- !IsEnabled() || //only handle if main window is in use and no modal dialog is shown:
- !IsActive()) //thanks to wxWidgets non-portability we need both checks:
- //IsEnabled() is sufficient for Windows, IsActive() is needed on OS X since it does NOT disable the parent when showing a modal dialog
- {
- event.Skip();
- return;
- }
- processingGlobalKeyEvent = true;
- ZEN_ON_SCOPE_EXIT(processingGlobalKeyEvent = false;)
- //----------------------------------------------------
-
const int keyCode = event.GetKeyCode();
//CTRL + X
@@ -1903,6 +1882,8 @@ void MainDialog::OnGlobalKeyEvent(wxKeyEvent& event) //process key events withou
case WXK_NUMPAD_PAGEDOWN:
case WXK_NUMPAD_HOME:
case WXK_NUMPAD_END:
+ {
+ const wxWindow* focus = wxWindow::FindFocus();
if (!isComponentOf(focus, m_gridMainL ) && //
!isComponentOf(focus, m_gridMainC ) && //don't propagate keyboard commands if grid is already in focus
!isComponentOf(focus, m_gridMainR ) && //
@@ -1922,7 +1903,8 @@ void MainDialog::OnGlobalKeyEvent(wxKeyEvent& event) //process key events withou
event.Skip(false); //definitively handled now!
return;
}
- break;
+ }
+ break;
}
event.Skip();
@@ -2456,7 +2438,7 @@ void MainDialog::OnCompSettingsContext(wxMouseEvent& event)
auto setVariant = [&](CompareVariant var)
{
currentCfg.mainCfg.cmpConfig.compareVar = var;
- applyCompareConfig(true); //true: switchMiddleGrid
+ applyCompareConfig(true); //true: setDefaultViewType
};
auto currentVar = getConfig().mainCfg.cmpConfig.compareVar;
@@ -3263,15 +3245,44 @@ void MainDialog::updateGuiDelayedIf(bool condition)
}
-void MainDialog::OnConfigureFilter(wxCommandEvent& event)
+void MainDialog::showConfigDialog(SyncConfigPanel panelToShow)
{
- if (showFilterDialog(this, currentCfg.mainCfg.globalFilter, _("Filter")) == ReturnSmallDlg::BUTTON_OKAY)
+ const CompConfig cmpCfgOld = currentCfg.mainCfg.cmpConfig;
+ const FilterConfig filterCfgOld = currentCfg.mainCfg.globalFilter;
+ const SyncConfig syncCfgOld = currentCfg.mainCfg.syncCfg;
+
+ MiscGlobalCfg miscCfg =
{
- updateGlobalFilterButton(); //refresh global filter icon
- applyFilterConfig(); //re-apply filter
- }
+ currentCfg.handleError,
+
+ currentCfg.mainCfg.onCompletion,
+ globalCfg.gui.onCompletionHistory,
+ globalCfg.gui.onCompletionHistoryMax
+ };
- //event.Skip()
+ if (showSyncConfigDlg(this,
+ panelToShow,
+ nullptr,
+ currentCfg.mainCfg.cmpConfig,
+ currentCfg.mainCfg.globalFilter,
+ nullptr,
+ currentCfg.mainCfg.syncCfg,
+ currentCfg.mainCfg.cmpConfig.compareVar,
+ &miscCfg,
+ _("Synchronization Settings")) == ReturnSyncConfig::BUTTON_OKAY)
+ {
+ if (currentCfg.mainCfg.cmpConfig != cmpCfgOld)
+ applyCompareConfig(true); //true: setDefaultViewType
+
+ if (currentCfg.mainCfg.globalFilter != filterCfgOld)
+ {
+ updateGlobalFilterButton(); //refresh global filter icon
+ applyFilterConfig(); //re-apply filter
+ }
+
+ if (currentCfg.mainCfg.syncCfg != syncCfgOld)
+ applySyncConfig();
+ }
}
@@ -3595,31 +3606,12 @@ void MainDialog::updateStatistics()
}
-void MainDialog::OnSyncSettings(wxCommandEvent& event)
-{
- OnCompletionCfg ewfCfg = { &currentCfg.mainCfg.onCompletion,
- &globalCfg.gui.onCompletionHistory,
- globalCfg.gui.onCompletionHistoryMax
- };
-
- if (showSyncConfigDlg(this,
- currentCfg.mainCfg.cmpConfig.compareVar,
- currentCfg.mainCfg.syncCfg,
- _("Synchronization Settings"),
- &currentCfg.handleError,
- &ewfCfg) == ReturnSyncConfig::BUTTON_OKAY) //optional input parameter
- {
- applySyncConfig();
- }
-}
-
-
-void MainDialog::applyCompareConfig(bool switchMiddleGrid)
+void MainDialog::applyCompareConfig(bool setDefaultViewType)
{
clearGrid(); //+ GUI update
//convenience: change sync view
- if (switchMiddleGrid)
+ if (setDefaultViewType)
switch (currentCfg.mainCfg.cmpConfig.compareVar)
{
case CMP_BY_TIME_SIZE:
@@ -3632,25 +3624,6 @@ void MainDialog::applyCompareConfig(bool switchMiddleGrid)
}
-void MainDialog::OnCmpSettings(wxCommandEvent& event)
-{
- //show window right next to the compare-config button
- //wxPoint windowPos = m_bpButtonCmpConfig->GetScreenPosition();
- //windowPos.x += m_bpButtonCmpConfig->GetSize().GetWidth() + 5;
-
- CompConfig cmpConfigNew = currentCfg.mainCfg.cmpConfig;
-
- if (zen::showCompareCfgDialog(this, cmpConfigNew, _("Comparison Settings")) == ReturnSmallDlg::BUTTON_OKAY &&
- //check if settings were changed at all
- cmpConfigNew != currentCfg.mainCfg.cmpConfig)
- {
- currentCfg.mainCfg.cmpConfig = cmpConfigNew;
-
- applyCompareConfig(true); //true: switchMiddleGrid
- }
-}
-
-
void MainDialog::OnStartSync(wxCommandEvent& event)
{
if (folderCmp.empty())
@@ -4558,7 +4531,7 @@ void MainDialog::switchProgramLanguage(int langID)
newGlobalCfg.programLanguage = langID;
//show new dialog, then delete old one
- MainDialog::create(getConfig(), activeConfigFiles, &newGlobalCfg, false);
+ MainDialog::create(globalConfigFile_, &newGlobalCfg, getConfig(), activeConfigFiles, false);
//we don't use Close():
//1. we don't want to show the prompt to save current config in OnClose()
diff --git a/FreeFileSync/Source/ui/main_dlg.h b/FreeFileSync/Source/ui/main_dlg.h
index 43889fcb..06bc7a49 100644
--- a/FreeFileSync/Source/ui/main_dlg.h
+++ b/FreeFileSync/Source/ui/main_dlg.h
@@ -4,8 +4,8 @@
// * Copyright (C) Zenju (zenju AT gmx DOT de) - All Rights Reserved *
// **************************************************************************
-#ifndef MAINDIALOG_H
-#define MAINDIALOG_H
+#ifndef MAINDIALOG_H_891048132454564
+#define MAINDIALOG_H_891048132454564
#include <map>
#include <set>
@@ -17,6 +17,7 @@
#include <wx/aui/aui.h>
#include "gui_generated.h"
#include "custom_grid.h"
+#include "sync_cfg.h"
#include "tree_view.h"
#include "folder_history_box.h"
#include "../lib/process_xml.h"
@@ -30,14 +31,15 @@ class MainDialog : public MainDialogGenerated
{
public:
//default behavior, application start, restores last used config
- static void create();
+ static void create(const Zstring& globalConfigFile);
//when loading dynamically assembled config,
//when switching language,
//or switching from batch run to GUI on warnings
- static void create(const xmlAccess::XmlGuiConfig& guiCfg,
- const std::vector<Zstring>& referenceFiles,
+ static void create(const Zstring& globalConfigFile,
const xmlAccess::XmlGlobalSettings* globalSettings, //optional: take over ownership => save on exit
+ const xmlAccess::XmlGuiConfig& guiCfg,
+ const std::vector<Zstring>& referenceFiles,
bool startComparison);
void disableAllElements(bool enableAbort); //dis-/enables all elements (except abort button) that might receive user input
@@ -46,7 +48,8 @@ public:
void onQueryEndSession(); //last chance to do something useful before killing the application!
private:
- MainDialog(const xmlAccess::XmlGuiConfig& guiCfg,
+ MainDialog(const Zstring& globalConfigFile,
+ const xmlAccess::XmlGuiConfig& guiCfg,
const std::vector<Zstring>& referenceFiles,
const xmlAccess::XmlGlobalSettings& globalSettings, //take over ownership => save on exit
bool startComparison);
@@ -80,10 +83,6 @@ private:
static const Zstring& lastRunConfigName();
- xmlAccess::XmlGuiConfig lastConfigurationSaved; //support for: "Save changed configuration?" dialog
- //used when saving configuration
- std::vector<Zstring> activeConfigFiles; //name of currently loaded config file (may be more than 1)
-
void updateGlobalFilterButton();
void initViewFilterButtons();
@@ -143,14 +142,14 @@ private:
void onTreeButtonEvent (wxKeyEvent& event);
void OnContextSetLayout(wxMouseEvent& event);
- void OnGlobalKeyEvent (wxKeyEvent& event);
+ void onLocalKeyEvent (wxKeyEvent& event);
virtual void OnCompSettingsContext(wxMouseEvent& event) override;
virtual void OnSyncSettingsContext(wxMouseEvent& event) override;
virtual void OnGlobalFilterContext(wxMouseEvent& event) override;
virtual void OnViewButtonRightClick(wxMouseEvent& event) override;
- void applyCompareConfig(bool switchMiddleGrid = false);
+ void applyCompareConfig(bool setDefaultViewType = false);
//context menu handler methods
void onMainGridContextL(zen::GridClickEvent& event);
@@ -205,14 +204,17 @@ private:
void OnResizeLeftFolderWidth(wxEvent& event);
void OnResizeConfigPanel (wxEvent& event);
void OnResizeViewPanel (wxEvent& event);
- virtual void OnConfigureFilter (wxCommandEvent& event) override;
- virtual void OnSwapSides (wxCommandEvent& event) override;
virtual void OnCompare (wxCommandEvent& event) override;
- virtual void OnSyncSettings (wxCommandEvent& event) override;
- virtual void OnCmpSettings (wxCommandEvent& event) override;
virtual void OnStartSync (wxCommandEvent& event) override;
+ virtual void OnSwapSides (wxCommandEvent& event) override;
virtual void OnClose (wxCloseEvent& event) override;
+ void OnCmpSettings (wxCommandEvent& event) override { showConfigDialog(zen::SyncConfigPanel::COMPARISON); }
+ void OnConfigureFilter(wxCommandEvent& event) override { showConfigDialog(zen::SyncConfigPanel::FILTER ); }
+ void OnSyncSettings (wxCommandEvent& event) override { showConfigDialog(zen::SyncConfigPanel::SYNC ); }
+
+ void showConfigDialog(zen::SyncConfigPanel panelToShow);
+
void filterExtension(const Zstring& extension, bool include);
void filterShortname(const zen::FileSystemObject& fsObj, bool include);
void filterItems(const std::vector<zen::FileSystemObject*>& selection, bool include);
@@ -247,6 +249,8 @@ private:
void switchProgramLanguage(int langID);
+ void clearGrid();
+
typedef int MenuItemID;
typedef int LanguageID;
std::map<MenuItemID, LanguageID> languageMenuItemMap; //needed to attach menu item events
@@ -257,6 +261,18 @@ private:
//global settings shared by GUI and batch mode
xmlAccess::XmlGlobalSettings globalCfg;
+ const Zstring globalConfigFile_;
+
+ //-------------------------------------
+ //program configuration
+ xmlAccess::XmlGuiConfig currentCfg;
+
+ //used when saving configuration
+ std::vector<Zstring> activeConfigFiles; //name of currently loaded config file (may be more than 1)
+
+ xmlAccess::XmlGuiConfig lastConfigurationSaved; //support for: "Save changed configuration?" dialog
+ //-------------------------------------
+
//UI view of FolderComparison structure (partially owns folderCmp)
std::shared_ptr<zen::GridView> gridDataView; //always bound!
std::shared_ptr<zen::TreeView> treeDataView; //
@@ -264,12 +280,6 @@ private:
//the prime data structure of this tool *bling*:
zen::FolderComparison folderCmp; //optional!: sync button not available if empty
- void clearGrid();
-
- //-------------------------------------
- //program configuration
- xmlAccess::XmlGuiConfig currentCfg;
-
//folder pairs:
std::unique_ptr<FolderPairFirst> firstFolderPair; //always bound!!!
std::vector<FolderPairPanel*> additionalFolderPairs; //additional pairs to the first pair
@@ -284,8 +294,6 @@ private:
bool cleanedUp;
- bool processingGlobalKeyEvent; //indicator to notify recursion in OnGlobalKeyEvent()
-
//toggle to display configuration preview instead of comparison result:
//for read access use: m_bpButtonViewTypeSyncAction->isActive()
//when changing value use:
@@ -309,4 +317,4 @@ private:
wxWindow* focusWindowAfterSearch; //used to restore focus after search panel is closed
};
-#endif // MAINDIALOG_H
+#endif //MAINDIALOG_H_891048132454564
diff --git a/FreeFileSync/Source/ui/on_completion_box.cpp b/FreeFileSync/Source/ui/on_completion_box.cpp
index 4adc7f31..51b4dda1 100644
--- a/FreeFileSync/Source/ui/on_completion_box.cpp
+++ b/FreeFileSync/Source/ui/on_completion_box.cpp
@@ -188,7 +188,7 @@ void OnCompletionBox::setValueAndUpdateList(const std::wstring& value)
}
//this->Clear(); -> NO! emits yet another wxEVT_COMMAND_TEXT_UPDATED!!!
- wxItemContainer::Clear(); //suffices to clear the selection items only!
+ wxItemContainer::Clear(); //suffices to clear the selection items only!
for (const std::wstring& item : items)
this->Append(item);
diff --git a/FreeFileSync/Source/ui/progress_indicator.cpp b/FreeFileSync/Source/ui/progress_indicator.cpp
index e0eeb6cc..7ee3b608 100644
--- a/FreeFileSync/Source/ui/progress_indicator.cpp
+++ b/FreeFileSync/Source/ui/progress_indicator.cpp
@@ -25,6 +25,7 @@
#include <wx+/std_button_order.h>
#include <wx+/popup_dlg.h>
#include <wx+/image_resources.h>
+#include <wx+/key_event.h>
#include <zen/file_handling.h>
#include <zen/thread.h>
#include "gui_generated.h"
@@ -455,9 +456,9 @@ class GridDataMessages : public GridData
public:
GridDataMessages(const std::shared_ptr<MessageView>& msgView) : msgView_(msgView) {}
- virtual size_t getRowCount() const { return msgView_ ? msgView_->rowsOnView() : 0; }
+ virtual size_t getRowCount() const override { return msgView_ ? msgView_->rowsOnView() : 0; }
- virtual wxString getValue(size_t row, ColumnType colType) const
+ virtual wxString getValue(size_t row, ColumnType colType) const override
{
if (msgView_)
if (Opt<MessageView::LogEntryView> entry = msgView_->getEntry(row))
@@ -597,27 +598,11 @@ public:
return wxEmptyString;
}
- virtual wxString getColumnLabel(ColumnType colType) const { return wxEmptyString; }
+ virtual wxString getColumnLabel(ColumnType colType) const override { return wxEmptyString; }
private:
const std::shared_ptr<MessageView> msgView_;
};
-
-bool isComponentOf(const wxWindow* child, const wxWindow* top)
-{
- for (const wxWindow* wnd = child; wnd != nullptr; wnd = wnd->GetParent())
- if (wnd == top)
- return true;
- return false;
-}
-
-const wxTopLevelWindow* getTopLevelWindow(const wxWindow* child)
-{
- for (const wxWindow* wnd = child; wnd != nullptr; wnd = wnd->GetParent())
- if (auto tlw = dynamic_cast<const wxTopLevelWindow*>(wnd))
- return tlw;
- return nullptr;
-}
}
@@ -625,8 +610,7 @@ class LogPanel : public LogPanelGenerated
{
public:
LogPanel(wxWindow* parent, const ErrorLog& log) : LogPanelGenerated(parent),
- msgView(std::make_shared<MessageView>(log)),
- processingGlobalKeyEvent(false)
+ msgView(std::make_shared<MessageView>(log))
{
const int errorCount = log.getItemCount(TYPE_ERROR | TYPE_FATAL_ERROR);
const int warningCount = log.getItemCount(TYPE_WARNING);
@@ -666,33 +650,26 @@ public:
m_gridMessages->Connect(EVENT_GRID_MOUSE_RIGHT_UP, GridClickEventHandler(LogPanel::onMsgGridContext), nullptr, this);
- wxTheApp->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(LogPanel::onGlobalKeyEvent), nullptr, this);
- wxTheApp->Connect(wxEVT_CHAR_HOOK, wxKeyEventHandler(LogPanel::onGlobalKeyEvent), nullptr, this); //capture direction keys
+ //enable dialog-specific key local events
+ setupLocalKeyEvents(*this, [this](wxKeyEvent& event) { this->onLocalKeyEvent(event); });
updateGrid();
}
- ~LogPanel()
- {
- //important! event source wxTheApp is NOT dependent on this instance -> disconnect!
- wxTheApp->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(LogPanel::onGlobalKeyEvent), nullptr, this);
- wxTheApp->Disconnect(wxEVT_CHAR_HOOK, wxKeyEventHandler(LogPanel::onGlobalKeyEvent), nullptr, this);
- }
-
private:
- virtual void OnErrors(wxCommandEvent& event)
+ virtual void OnErrors(wxCommandEvent& event) override
{
m_bpButtonErrors->toggle();
updateGrid();
}
- virtual void OnWarnings(wxCommandEvent& event)
+ virtual void OnWarnings(wxCommandEvent& event) override
{
m_bpButtonWarnings->toggle();
updateGrid();
}
- virtual void OnInfo(wxCommandEvent& event)
+ virtual void OnInfo(wxCommandEvent& event) override
{
m_bpButtonInfo->toggle();
updateGrid();
@@ -759,26 +736,8 @@ private:
menu.popup(*this);
}
- void onGlobalKeyEvent(wxKeyEvent& event) //process key events without explicit menu entry :)
+ void onLocalKeyEvent(wxKeyEvent& event) //process key events without explicit menu entry :)
{
- const wxWindow* focus = wxWindow::FindFocus();
- const wxTopLevelWindow* tlw = getTopLevelWindow(this);
-
- //avoid recursion!!! -> this ugly construct seems to be the only (portable) way to avoid re-entrancy
- //recursion may happen in multiple situations: e.g. modal dialogs, Grid::ProcessEvent()!
- if (processingGlobalKeyEvent ||
- !isComponentOf(focus, this) ||
- !IsEnabled() || //only handle if main window is in use and no modal dialog is shown:
- !tlw || !const_cast<wxTopLevelWindow*>(tlw)->IsActive()) //thanks to wxWidgets non-portability we need both checks:
- //IsEnabled() is sufficient for Windows, IsActive() is needed on OS X since it does NOT disable the parent when showing a modal dialog
- {
- event.Skip();
- return;
- }
- processingGlobalKeyEvent = true;
- ZEN_ON_SCOPE_EXIT(processingGlobalKeyEvent = false;)
- //----------------------------------------------------
-
const int keyCode = event.GetKeyCode();
if (event.ControlDown())
@@ -812,7 +771,7 @@ private:
case WXK_NUMPAD_PAGEDOWN:
case WXK_NUMPAD_HOME:
case WXK_NUMPAD_END:
- if (!isComponentOf(focus, m_gridMessages) && //don't propagate keyboard commands if grid is already in focus
+ if (!isComponentOf(wxWindow::FindFocus(), m_gridMessages) && //don't propagate keyboard commands if grid is already in focus
m_gridMessages->IsEnabled())
if (wxEvtHandler* evtHandler = m_gridMessages->getMainWin().GetEventHandler())
{
@@ -869,8 +828,6 @@ private:
}
std::shared_ptr<MessageView> msgView; //bound!
-
- bool processingGlobalKeyEvent;
};
//########################################################################################
diff --git a/FreeFileSync/Source/ui/small_dlgs.cpp b/FreeFileSync/Source/ui/small_dlgs.cpp
index 874f982e..13b5d372 100644
--- a/FreeFileSync/Source/ui/small_dlgs.cpp
+++ b/FreeFileSync/Source/ui/small_dlgs.cpp
@@ -135,191 +135,6 @@ void zen::showAboutDialog(wxWindow* parent)
//########################################################################################
-class FilterDlg : public FilterDlgGenerated
-{
-public:
- FilterDlg(wxWindow* parent,
- FilterConfig& filter,
- const wxString& title);
- ~FilterDlg() {}
-
-private:
- virtual void OnClose (wxCloseEvent& event) { EndModal(ReturnSmallDlg::BUTTON_CANCEL); }
- virtual void OnCancel(wxCommandEvent& event) { EndModal(ReturnSmallDlg::BUTTON_CANCEL); }
- virtual void OnHelpShowExamples(wxHyperlinkEvent& event) { displayHelpEntry(L"html/Exclude Items.html", this); }
- virtual void OnClear (wxCommandEvent& event);
- virtual void OnOkay (wxCommandEvent& event);
- virtual void OnUpdateChoice(wxCommandEvent& event) { updateGui(); }
- virtual void OnUpdateNameFilter(wxCommandEvent& event) { updateGui(); }
-
- void updateGui();
- void setFilter(const FilterConfig& filter);
- FilterConfig getFilter() const;
- void onKeyEvent(wxKeyEvent& event);
-
- FilterConfig& outputRef;
-
- EnumDescrList<UnitTime> enumTimeDescr;
- EnumDescrList<UnitSize> enumSizeDescr;
-};
-
-
-FilterDlg::FilterDlg(wxWindow* parent,
- FilterConfig& filter,
- const wxString& title) :
- FilterDlgGenerated(parent),
- outputRef(filter) //just hold reference
-{
-#ifdef ZEN_WIN
- new zen::MouseMoveWindow(*this); //allow moving main dialog by clicking (nearly) anywhere...; ownership passed to "this"
-#endif
- setStandardButtonOrder(*bSizerStdButtons, StdButtons().setAffirmative(m_buttonOk).setCancel(m_buttonCancel));
-
- SetTitle(title);
-
-#ifndef __WXGTK__ //wxWidgets holds portability promise by not supporting for multi-line controls...not
- m_textCtrlInclude->SetMaxLength(0); //allow large filter entries!
- m_textCtrlExclude->SetMaxLength(0); //
-#endif
-
- m_textCtrlInclude->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(FilterDlg::onKeyEvent), nullptr, this);
- m_textCtrlExclude->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(FilterDlg::onKeyEvent), nullptr, this);
-
- enumTimeDescr.
- add(UTIME_NONE, L"(" + _("None") + L")"). //meta options should be enclosed in parentheses
- add(UTIME_TODAY, _("Today")).
- // add(UTIME_THIS_WEEK, _("This week")).
- add(UTIME_THIS_MONTH, _("This month")).
- add(UTIME_THIS_YEAR, _("This year")).
- add(UTIME_LAST_X_DAYS, _("Last x days"));
-
- enumSizeDescr.
- add(USIZE_NONE, L"(" + _("None") + L")"). //meta options should be enclosed in parentheses
- add(USIZE_BYTE, _("Byte")).
- add(USIZE_KB, _("KB")).
- add(USIZE_MB, _("MB"));
-
- m_bitmapFilter->SetBitmap(getResourceImage(L"filter"));
-
- setFilter(filter);
-
- m_buttonOk->SetFocus();
-
- GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize()
- //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!!
-
- Layout();
-}
-
-
-void FilterDlg::onKeyEvent(wxKeyEvent& event)
-{
- const int keyCode = event.GetKeyCode();
-
- if (event.ControlDown())
- switch (keyCode)
- {
- case 'A': //CTRL + A
- if (auto textCtrl = dynamic_cast<wxTextCtrl*>(event.GetEventObject()))
- textCtrl->SetSelection(-1, -1); //select all
- return;
- }
- event.Skip();
-}
-
-
-void FilterDlg::updateGui()
-{
- FilterConfig activeCfg = getFilter();
-
- auto setStatusBitmap = [&](wxStaticBitmap& staticBmp, const wxString& bmpName, bool active)
- {
- if (active)
- staticBmp.SetBitmap(getResourceImage(bmpName));
- else
- staticBmp.SetBitmap(greyScale(getResourceImage(bmpName)));
- };
- setStatusBitmap(*m_bitmapInclude, L"filter_include", !NameFilter::isNull(activeCfg.includeFilter, FilterConfig().excludeFilter));
- setStatusBitmap(*m_bitmapExclude, L"filter_exclude", !NameFilter::isNull(FilterConfig().includeFilter, activeCfg.excludeFilter));
- setStatusBitmap(*m_bitmapFilterDate, L"clock", activeCfg.unitTimeSpan != UTIME_NONE);
- setStatusBitmap(*m_bitmapFilterSize, L"size", activeCfg.unitSizeMin != USIZE_NONE || activeCfg.unitSizeMax != USIZE_NONE);
-
- m_spinCtrlTimespan->Enable(activeCfg.unitTimeSpan == UTIME_LAST_X_DAYS);
- m_spinCtrlMinSize ->Enable(activeCfg.unitSizeMin != USIZE_NONE);
- m_spinCtrlMaxSize ->Enable(activeCfg.unitSizeMax != USIZE_NONE);
-
- m_buttonClear->Enable(!(activeCfg == FilterConfig()));
-}
-
-
-void FilterDlg::setFilter(const FilterConfig& filter)
-{
- m_textCtrlInclude->ChangeValue(utfCvrtTo<wxString>(filter.includeFilter));
- m_textCtrlExclude->ChangeValue(utfCvrtTo<wxString>(filter.excludeFilter));
-
- setEnumVal(enumTimeDescr, *m_choiceUnitTimespan, filter.unitTimeSpan);
- setEnumVal(enumSizeDescr, *m_choiceUnitMinSize, filter.unitSizeMin);
- setEnumVal(enumSizeDescr, *m_choiceUnitMaxSize, filter.unitSizeMax);
-
- m_spinCtrlTimespan->SetValue(static_cast<int>(filter.timeSpan));
- m_spinCtrlMinSize ->SetValue(static_cast<int>(filter.sizeMin));
- m_spinCtrlMaxSize ->SetValue(static_cast<int>(filter.sizeMax));
-
- updateGui();
-}
-
-
-FilterConfig FilterDlg::getFilter() const
-{
- return FilterConfig(utfCvrtTo<Zstring>(m_textCtrlInclude->GetValue()),
- utfCvrtTo<Zstring>(m_textCtrlExclude->GetValue()),
- m_spinCtrlTimespan->GetValue(),
- getEnumVal(enumTimeDescr, *m_choiceUnitTimespan),
- m_spinCtrlMinSize->GetValue(),
- getEnumVal(enumSizeDescr, *m_choiceUnitMinSize),
- m_spinCtrlMaxSize->GetValue(),
- getEnumVal(enumSizeDescr, *m_choiceUnitMaxSize));
-}
-
-
-void FilterDlg::OnClear(wxCommandEvent& event)
-{
- setFilter(FilterConfig());
-}
-
-
-void FilterDlg::OnOkay(wxCommandEvent& event)
-{
- FilterConfig cfg = getFilter();
-
- //parameter validation:
-
- //include filter must not be empty:
- {
- Zstring tmp = cfg.includeFilter;
- trim(tmp);
- if (tmp.empty())
- cfg.includeFilter = FilterConfig().includeFilter; //no need to show error message, just correct user input
- }
-
- //apply config:
- outputRef = cfg;
-
- //when leaving dialog: filter and redraw grid, if filter is active
- EndModal(ReturnSmallDlg::BUTTON_OKAY);
-}
-
-
-ReturnSmallDlg::ButtonPressed zen::showFilterDialog(wxWindow* parent, FilterConfig& filter, const wxString& title)
-{
- FilterDlg filterDlg(parent,
- filter,
- title);
- return static_cast<ReturnSmallDlg::ButtonPressed>(filterDlg.ShowModal());
-}
-
-//########################################################################################
-
class DeleteDialog : public DeleteDlgGenerated
{
public:
@@ -551,127 +366,6 @@ ReturnSmallDlg::ButtonPressed zen::showSyncConfirmationDlg(wxWindow* parent,
//########################################################################################
-class CompareCfgDialog : public CmpCfgDlgGenerated
-{
-public:
- CompareCfgDialog(wxWindow* parent, CompConfig& cmpConfig, const wxString& caption);
-
-private:
- virtual void OnOkay(wxCommandEvent& event);
- virtual void OnClose (wxCloseEvent& event) { EndModal(ReturnSmallDlg::BUTTON_CANCEL); }
- virtual void OnCancel(wxCommandEvent& event) { EndModal(ReturnSmallDlg::BUTTON_CANCEL); }
- virtual void OnHelpComparisonSettings(wxHyperlinkEvent& event) { displayHelpEntry(L"html/Comparison Settings.html", this); }
-
- virtual void OnTimeSize(wxCommandEvent& event) { compareVar = CMP_BY_TIME_SIZE; updateGui(); }
- virtual void OnContent (wxCommandEvent& event) { compareVar = CMP_BY_CONTENT; updateGui(); }
-
- virtual void OnTimeSizeDouble(wxMouseEvent& event);
- virtual void OnContentDouble(wxMouseEvent& event);
-
- void updateGui();
-
- CompConfig& cmpConfigOut; //for output only
- CompareVariant compareVar;
- zen::EnumDescrList<SymLinkHandling> enumDescrHandleSyml;
-};
-
-
-CompareCfgDialog::CompareCfgDialog(wxWindow* parent,
- CompConfig& cmpConfig, const wxString& title) :
- CmpCfgDlgGenerated(parent),
- cmpConfigOut(cmpConfig),
- compareVar(cmpConfig.compareVar)
-{
-#ifdef ZEN_WIN
- new zen::MouseMoveWindow(*this); //allow moving main dialog by clicking (nearly) anywhere...; ownership passed to "this"
-#endif
- setStandardButtonOrder(*bSizerStdButtons, StdButtons().setAffirmative(m_buttonOkay).setCancel(m_buttonCancel));
-
- setRelativeFontSize(*m_toggleBtnTimeSize, 1.25);
- setRelativeFontSize(*m_toggleBtnContent, 1.25);
-
- SetTitle(title);
-
- enumDescrHandleSyml.
- add(SYMLINK_EXCLUDE, _("Exclude")).
- add(SYMLINK_DIRECT, _("Direct")).
- add(SYMLINK_FOLLOW, _("Follow"));
-
- setEnumVal(enumDescrHandleSyml, *m_choiceHandleSymlinks, cmpConfig.handleSymlinks);
-
- //move dialog up so that compare-config button and first config-variant are on same level
- // Move(wxPoint(position.x, std::max(0, position.y - (m_buttonTimeSize->GetScreenPosition() - GetScreenPosition()).y)));
-
- updateGui();
-
- GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize()
- //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!!
-
- m_buttonOkay->SetFocus();
-}
-
-
-void CompareCfgDialog::updateGui()
-{
- //update toggle buttons -> they have no parameter-ownership at all!
- m_toggleBtnTimeSize->SetValue(false);
- m_toggleBtnContent ->SetValue(false);
-
- switch (compareVar)
- {
- case CMP_BY_TIME_SIZE:
- m_toggleBtnTimeSize->SetValue(true);
- break;
- case CMP_BY_CONTENT:
- m_toggleBtnContent->SetValue(true);
- break;
- }
-
- auto setBitmap = [](wxStaticBitmap& bmpCtrl, bool active, const wxBitmap& bmp)
- {
- if (active)
- bmpCtrl.SetBitmap(bmp);
- else
- bmpCtrl.SetBitmap(greyScale(bmp));
- };
- setBitmap(*m_bitmapByTime, compareVar == CMP_BY_TIME_SIZE, getResourceImage(L"clock"));
- setBitmap(*m_bitmapByContent, compareVar == CMP_BY_CONTENT, getResourceImage(L"cmpByContent"));
-}
-
-
-void CompareCfgDialog::OnOkay(wxCommandEvent& event)
-{
- cmpConfigOut.compareVar = compareVar;
- cmpConfigOut.handleSymlinks = getEnumVal(enumDescrHandleSyml, *m_choiceHandleSymlinks);
-
- EndModal(ReturnSmallDlg::BUTTON_OKAY);
-}
-
-
-void CompareCfgDialog::OnTimeSizeDouble(wxMouseEvent& event)
-{
- wxCommandEvent dummy;
- OnTimeSize(dummy);
- OnOkay(dummy);
-}
-
-
-void CompareCfgDialog::OnContentDouble(wxMouseEvent& event)
-{
- wxCommandEvent dummy;
- OnContent(dummy);
- OnOkay(dummy);
-}
-
-
-ReturnSmallDlg::ButtonPressed zen::showCompareCfgDialog(wxWindow* parent, CompConfig& cmpConfig, const wxString& title)
-{
- CompareCfgDialog syncDlg(parent, cmpConfig, title);
- return static_cast<ReturnSmallDlg::ButtonPressed>(syncDlg.ShowModal());
-}
-
-//########################################################################################
-
class GlobalSettingsDlg : public GlobalSettingsDlgGenerated
{
public:
diff --git a/FreeFileSync/Source/ui/switch_to_gui.h b/FreeFileSync/Source/ui/switch_to_gui.h
index 20fe81de..7f2d4002 100644
--- a/FreeFileSync/Source/ui/switch_to_gui.h
+++ b/FreeFileSync/Source/ui/switch_to_gui.h
@@ -4,8 +4,8 @@
// * Copyright (C) Zenju (zenju AT gmx DOT de) - All Rights Reserved *
// **************************************************************************
-#ifndef SWITCHTOGUI_H_INCLUDED
-#define SWITCHTOGUI_H_INCLUDED
+#ifndef SWITCHTOGUI_H_132047815734845
+#define SWITCHTOGUI_H_132047815734845
#include "../lib/process_xml.h"
#include "main_dlg.h" //in "application.cpp" we have this dependency anyway!
@@ -16,25 +16,29 @@ namespace zen
class SwitchToGui
{
public:
- SwitchToGui(const Zstring& referenceFile,
- const xmlAccess::XmlBatchConfig& batchCfg,
- xmlAccess::XmlGlobalSettings& globalSettings) :
- guiCfg(xmlAccess::convertBatchToGui(batchCfg)),
- globalSettings_(globalSettings)
+ SwitchToGui(const Zstring& globalConfigFile,
+ xmlAccess::XmlGlobalSettings& globalSettings,
+ const Zstring& referenceFile,
+ const xmlAccess::XmlBatchConfig& batchCfg) :
+ globalConfigFile_(globalConfigFile),
+ globalSettings_(globalSettings),
+ guiCfg(xmlAccess::convertBatchToGui(batchCfg))
{
referenceFiles.push_back(referenceFile);
}
void execute() const
{
- MainDialog::create(guiCfg, referenceFiles, &globalSettings_, true); //new toplevel window
+ MainDialog::create(globalConfigFile_, &globalSettings_, guiCfg, referenceFiles, /*bool startComparison = */ true); //new toplevel window
}
private:
+ const Zstring globalConfigFile_;
+ xmlAccess::XmlGlobalSettings& globalSettings_;
+
std::vector<Zstring> referenceFiles;
const xmlAccess::XmlGuiConfig guiCfg;
- xmlAccess::XmlGlobalSettings& globalSettings_;
};
}
-#endif // SWITCHTOGUI_H_INCLUDED
+#endif //SWITCHTOGUI_H_132047815734845
diff --git a/FreeFileSync/Source/ui/sync_cfg.cpp b/FreeFileSync/Source/ui/sync_cfg.cpp
index 4df77c75..1e88ddc8 100644
--- a/FreeFileSync/Source/ui/sync_cfg.cpp
+++ b/FreeFileSync/Source/ui/sync_cfg.cpp
@@ -14,12 +14,14 @@
#include <wx+/font_size.h>
#include <wx+/std_button_order.h>
#include <wx+/popup_dlg.h>
+#include <wx+/key_event.h>
#include <wx+/image_resources.h>
#include "gui_generated.h"
#include "on_completion_box.h"
#include "dir_name.h"
#include "../file_hierarchy.h"
#include "../lib/help_provider.h"
+#include "../lib/norm_filter.h"
#ifdef ZEN_WIN
#include <wx+/mouse_move_dlg.h>
@@ -29,224 +31,282 @@ using namespace zen;
using namespace xmlAccess;
-class SyncCfgDialog : public SyncCfgDlgGenerated
+namespace
+{
+class ConfigDialog : public ConfigDlgGenerated
{
public:
- SyncCfgDialog(wxWindow* parent,
- CompareVariant compareVar,
- SyncConfig& syncCfg,
- const wxString& caption,
- xmlAccess::OnGuiError* handleError, //
- OnCompletionCfg* onCompletion); //optional input parameter
+ ConfigDialog(wxWindow* parent,
+ SyncConfigPanel panelToShow,
+ bool* useAlternateCmpCfg, //optional parameter
+ CompConfig& cmpCfg,
+ FilterConfig& filterCfg,
+ bool* useAlternateSyncCfg, //
+ SyncConfig& syncCfg,
+ CompareVariant globalCmpVar,
+ MiscGlobalCfg* miscCfg, //
+ const wxString& title);
private:
- virtual void OnSyncTwoWay(wxCommandEvent& event) { directionCfg.var = DirectionConfig::TWOWAY; updateGui(); }
- virtual void OnSyncMirror(wxCommandEvent& event) { directionCfg.var = DirectionConfig::MIRROR; updateGui(); }
- virtual void OnSyncUpdate(wxCommandEvent& event) { directionCfg.var = DirectionConfig::UPDATE; updateGui(); }
- virtual void OnSyncCustom(wxCommandEvent& event) { directionCfg.var = DirectionConfig::CUSTOM; updateGui(); }
+ virtual void OnOkay (wxCommandEvent& event) override;
+ virtual void OnCancel(wxCommandEvent& event) override { EndModal(ReturnSyncConfig::BUTTON_CANCEL); }
+ virtual void OnClose (wxCloseEvent& event) override { EndModal(ReturnSyncConfig::BUTTON_CANCEL); }
+
+ void onLocalKeyEvent(wxKeyEvent& event);
+
+ enum class ConfigTypeImage
+ {
+ COMPARISON = 0, //used as zero-based wxImageList index!
+ COMPARISON_GREY,
+ FILTER,
+ FILTER_GREY,
+ SYNC,
+ SYNC_GREY,
+ };
+
+ //------------- comparison panel ----------------------
+ virtual void OnHelpComparisonSettings(wxHyperlinkEvent& event) override { displayHelpEntry(L"html/Comparison Settings.html", this); }
+
+ virtual void OnToggleLocalCompSettings(wxCommandEvent& event) override { updateCompGui(); updateSyncGui(); /*affects sync settings, too!*/ }
+ virtual void OnTimeSize(wxCommandEvent& event) override { localCmpVar = CMP_BY_TIME_SIZE; updateCompGui(); updateSyncGui(); /*affects sync settings, too!*/ }
+ virtual void OnContent (wxCommandEvent& event) override { localCmpVar = CMP_BY_CONTENT; updateCompGui(); updateSyncGui(); /*affects sync settings, too!*/ }
+ virtual void OnTimeSizeDouble(wxMouseEvent& event) override;
+ virtual void OnContentDouble (wxMouseEvent& event) override;
+
+ void updateCompGui();
+
+ CompConfig& cmpCfgOut; //for output only
+ bool* useAlternateCmpCfgOptOut;
+ CompareVariant localCmpVar;
+ EnumDescrList<SymLinkHandling> enumDescrHandleSyml;
+
+ //------------- filter panel --------------------------
+ virtual void OnHelpShowExamples(wxHyperlinkEvent& event) override { displayHelpEntry(L"html/Exclude Items.html", this); }
+ virtual void OnChangeFilterOption(wxCommandEvent& event) override { updateFilterGui(); }
+ virtual void OnFilterReset (wxCommandEvent& event) override { setFilter(FilterConfig()); }
+
+ void onFilterKeyEvent(wxKeyEvent& event);
+ void setFilter(const FilterConfig& filter);
+ FilterConfig getFilter() const;
+
+ void updateFilterGui();
- virtual void OnToggleDetectMovedFiles(wxCommandEvent& event) { directionCfg.detectMovedFiles = !directionCfg.detectMovedFiles; updateGui(); }
+ FilterConfig& filterCfgOut;
+ EnumDescrList<UnitTime> enumTimeDescr;
+ EnumDescrList<UnitSize> enumSizeDescr;
- virtual void OnSyncTwoWayDouble(wxMouseEvent& event);
- virtual void OnSyncMirrorDouble(wxMouseEvent& event);
- virtual void OnSyncUpdateDouble(wxMouseEvent& event);
- virtual void OnSyncCustomDouble(wxMouseEvent& event);
+ //------------- synchronization panel -----------------
+ virtual void OnSyncTwoWay(wxCommandEvent& event) override { directionCfg.var = DirectionConfig::TWOWAY; updateSyncGui(); }
+ virtual void OnSyncMirror(wxCommandEvent& event) override { directionCfg.var = DirectionConfig::MIRROR; updateSyncGui(); }
+ virtual void OnSyncUpdate(wxCommandEvent& event) override { directionCfg.var = DirectionConfig::UPDATE; updateSyncGui(); }
+ virtual void OnSyncCustom(wxCommandEvent& event) override { directionCfg.var = DirectionConfig::CUSTOM; updateSyncGui(); }
- virtual void OnExLeftSideOnly (wxCommandEvent& event);
- virtual void OnExRightSideOnly(wxCommandEvent& event);
- virtual void OnLeftNewer (wxCommandEvent& event);
- virtual void OnRightNewer (wxCommandEvent& event);
- virtual void OnDifferent (wxCommandEvent& event);
- virtual void OnConflict (wxCommandEvent& event);
+ virtual void OnToggleLocalSyncSettings(wxCommandEvent& event) override { updateSyncGui(); }
+ virtual void OnToggleDetectMovedFiles(wxCommandEvent& event) override { directionCfg.detectMovedFiles = !directionCfg.detectMovedFiles; updateSyncGui(); }
+ virtual void OnChangeSyncOption (wxCommandEvent& event) override { updateSyncGui(); }
- virtual void OnClose (wxCloseEvent& event) { EndModal(ReturnSyncConfig::BUTTON_CANCEL); }
- virtual void OnCancel(wxCommandEvent& event) { EndModal(ReturnSyncConfig::BUTTON_CANCEL); }
- virtual void OnOkay (wxCommandEvent& event);
+ virtual void OnSyncTwoWayDouble(wxMouseEvent& event) override;
+ virtual void OnSyncMirrorDouble(wxMouseEvent& event) override;
+ virtual void OnSyncUpdateDouble(wxMouseEvent& event) override;
+ virtual void OnSyncCustomDouble(wxMouseEvent& event) override;
- virtual void OnParameterChange(wxCommandEvent& event) { updateGui(); }
+ virtual void OnExLeftSideOnly (wxCommandEvent& event) override;
+ virtual void OnExRightSideOnly(wxCommandEvent& event) override;
+ virtual void OnLeftNewer (wxCommandEvent& event) override;
+ virtual void OnRightNewer (wxCommandEvent& event) override;
+ virtual void OnDifferent (wxCommandEvent& event) override;
+ virtual void OnConflict (wxCommandEvent& event) override;
- virtual void OnDeletionPermanent (wxCommandEvent& event) { handleDeletion = DELETE_PERMANENTLY; updateGui(); }
- virtual void OnDeletionRecycler (wxCommandEvent& event) { handleDeletion = DELETE_TO_RECYCLER; updateGui(); }
- virtual void OnDeletionVersioning (wxCommandEvent& event) { handleDeletion = DELETE_TO_VERSIONING; updateGui(); }
+ virtual void OnDeletionPermanent (wxCommandEvent& event) override { handleDeletion = DELETE_PERMANENTLY; updateSyncGui(); }
+ virtual void OnDeletionRecycler (wxCommandEvent& event) override { handleDeletion = DELETE_TO_RECYCLER; updateSyncGui(); }
+ virtual void OnDeletionVersioning (wxCommandEvent& event) override { handleDeletion = DELETE_TO_VERSIONING; updateSyncGui(); }
- virtual void OnErrorPopup (wxCommandEvent& event) { onGuiError = ON_GUIERROR_POPUP; updateGui(); }
- virtual void OnErrorIgnore(wxCommandEvent& event) { onGuiError = ON_GUIERROR_IGNORE; updateGui(); }
+ virtual void OnErrorPopup (wxCommandEvent& event) override { onGuiError = ON_GUIERROR_POPUP; updateSyncGui(); }
+ virtual void OnErrorIgnore(wxCommandEvent& event) override { onGuiError = ON_GUIERROR_IGNORE; updateSyncGui(); }
- virtual void OnHelpVersioning(wxHyperlinkEvent& event) { displayHelpEntry(L"html/Versioning.html", this); }
+ virtual void OnHelpVersioning(wxHyperlinkEvent& event) override { displayHelpEntry(L"html/Versioning.html", this); }
- struct Config
+ struct SyncOptions
{
SyncConfig syncCfg;
xmlAccess::OnGuiError onGuiError;
Zstring onCompletion;
};
- void setConfig(const Config& cfg);
- Config getConfig() const;
- void updateGui();
+ void setSyncOptions(const SyncOptions& so);
+ SyncOptions getSyncOptions() const;
+
+ void updateSyncGui();
+
+ const CompareVariant globalCmpVar_;
+ SyncConfig& syncCfgOut;
+ bool* useAlternateSyncCfgOptOut;
+ MiscGlobalCfg* miscCfgOut;
//parameters with ownership NOT within GUI controls!
DirectionConfig directionCfg;
DeletionPolicy handleDeletion; //use Recycler, delete permanently or move to user-defined location
OnGuiError onGuiError;
- //output data
- SyncConfig& outSyncCfg;
- xmlAccess::OnGuiError* outOptOnGuiError;
- OnCompletionCfg* outOptOnCompletion;
-
- CompareVariant compareVar_;
- DirectoryName<FolderHistoryBox> versioningFolder;
-
EnumDescrList<VersioningStyle> enumVersioningStyle;
+ DirectoryName<FolderHistoryBox> versioningFolder;
};
+//#################################################################################################################
-void updateConfigIcons(const DirectionConfig& directionCfg,
- wxBitmapButton* buttonLeftOnly,
- wxBitmapButton* buttonRightOnly,
- wxBitmapButton* buttonLeftNewer,
- wxBitmapButton* buttonRightNewer,
- wxBitmapButton* buttonDifferent,
- wxBitmapButton* buttonConflict)
+std::wstring getCompVariantDescription(CompareVariant var)
{
- if (directionCfg.var != DirectionConfig::TWOWAY) //automatic mode needs no sync-directions
+ switch (var)
{
- const DirectionSet dirCfg = extractDirections(directionCfg);
-
- switch (dirCfg.exLeftSideOnly)
- {
- case SyncDirection::RIGHT:
- buttonLeftOnly->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_create_right")));
- buttonLeftOnly->SetToolTip(getSyncOpDescription(SO_CREATE_NEW_RIGHT));
- break;
- case SyncDirection::LEFT:
- buttonLeftOnly->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_delete_left")));
- buttonLeftOnly->SetToolTip(getSyncOpDescription(SO_DELETE_LEFT));
- break;
- case SyncDirection::NONE:
- buttonLeftOnly->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_none")));
- buttonLeftOnly->SetToolTip(getSyncOpDescription(SO_DO_NOTHING));
- break;
- }
-
- switch (dirCfg.exRightSideOnly)
- {
- case SyncDirection::RIGHT:
- buttonRightOnly->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_delete_right")));
- buttonRightOnly->SetToolTip(getSyncOpDescription(SO_DELETE_RIGHT));
- break;
- case SyncDirection::LEFT:
- buttonRightOnly->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_create_left")));
- buttonRightOnly->SetToolTip(getSyncOpDescription(SO_CREATE_NEW_LEFT));
- break;
- case SyncDirection::NONE:
- buttonRightOnly->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_none")));
- buttonRightOnly->SetToolTip(getSyncOpDescription(SO_DO_NOTHING));
- break;
- }
-
- switch (dirCfg.leftNewer)
- {
- case SyncDirection::RIGHT:
- buttonLeftNewer->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_update_right")));
- buttonLeftNewer->SetToolTip(getSyncOpDescription(SO_OVERWRITE_RIGHT));
- break;
- case SyncDirection::LEFT:
- buttonLeftNewer->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_update_left")));
- buttonLeftNewer->SetToolTip(getSyncOpDescription(SO_OVERWRITE_LEFT));
- break;
- case SyncDirection::NONE:
- buttonLeftNewer->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_none")));
- buttonLeftNewer->SetToolTip(getSyncOpDescription(SO_DO_NOTHING));
- break;
- }
-
- switch (dirCfg.rightNewer)
- {
- case SyncDirection::RIGHT:
- buttonRightNewer->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_update_right")));
- buttonRightNewer->SetToolTip(getSyncOpDescription(SO_OVERWRITE_RIGHT));
- break;
- case SyncDirection::LEFT:
- buttonRightNewer->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_update_left")));
- buttonRightNewer->SetToolTip(getSyncOpDescription(SO_OVERWRITE_LEFT));
- break;
- case SyncDirection::NONE:
- buttonRightNewer->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_none")));
- buttonRightNewer->SetToolTip(getSyncOpDescription(SO_DO_NOTHING));
- break;
- }
+ case CMP_BY_TIME_SIZE:
+ return _("Identify equal files by comparing modification time and size.");
+ case CMP_BY_CONTENT:
+ return _("Identify equal files by comparing the file content.");
+ }
+ assert(false);
+ return _("Error");
+}
- switch (dirCfg.different)
- {
- case SyncDirection::RIGHT:
- buttonDifferent->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_update_right")));
- buttonDifferent->SetToolTip(getSyncOpDescription(SO_OVERWRITE_RIGHT));
- break;
- case SyncDirection::LEFT:
- buttonDifferent->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_update_left")));
- buttonDifferent->SetToolTip(getSyncOpDescription(SO_OVERWRITE_LEFT));
- break;
- case SyncDirection::NONE:
- buttonDifferent->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_none")));
- buttonDifferent->SetToolTip(getSyncOpDescription(SO_DO_NOTHING));
- break;
- }
- switch (dirCfg.conflict)
- {
- case SyncDirection::RIGHT:
- buttonConflict->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_update_right")));
- buttonConflict->SetToolTip(getSyncOpDescription(SO_OVERWRITE_RIGHT));
- break;
- case SyncDirection::LEFT:
- buttonConflict->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_update_left")));
- buttonConflict->SetToolTip(getSyncOpDescription(SO_OVERWRITE_LEFT));
- break;
- case SyncDirection::NONE:
- buttonConflict->SetBitmapLabel(mirrorIfRtl(getResourceImage(L"cat_conflict"))); //silent dependency to algorithm.cpp::Redetermine!!!
- buttonConflict->SetToolTip(_("Leave as unresolved conflict"));
- break;
- }
+std::wstring getSyncVariantDescription(DirectionConfig::Variant var)
+{
+ switch (var)
+ {
+ case DirectionConfig::TWOWAY:
+ return _("Identify and propagate changes on both sides. Deletions, moves and conflicts are detected automatically using a database.");
+ case DirectionConfig::MIRROR:
+ return _("Create a mirror backup of the left folder by adapting the right folder to match.");
+ case DirectionConfig::UPDATE:
+ return _("Copy new and updated files to the right folder.");
+ case DirectionConfig::CUSTOM:
+ return _("Configure your own synchronization rules.");
}
+ assert(false);
+ return _("Error");
}
-SyncCfgDialog::SyncCfgDialog(wxWindow* parent,
- CompareVariant compareVar,
- SyncConfig& syncCfg,
- const wxString& title,
- xmlAccess::OnGuiError* handleError,
- OnCompletionCfg* onCompletion) :
- SyncCfgDlgGenerated(parent),
+ConfigDialog::ConfigDialog(wxWindow* parent,
+ SyncConfigPanel panelToShow,
+ bool* useAlternateCmpCfg, //optional parameter
+ CompConfig& cmpCfg,
+ FilterConfig& filterCfg,
+ bool* useAlternateSyncCfg, //
+ SyncConfig& syncCfg,
+ CompareVariant globalCmpVar,
+ MiscGlobalCfg* miscCfg, //
+ const wxString& title) :
+ ConfigDlgGenerated(parent),
+ cmpCfgOut(cmpCfg),
+ useAlternateCmpCfgOptOut(useAlternateCmpCfg),
+ localCmpVar(cmpCfg.compareVar),
+ filterCfgOut(filterCfg),
+ globalCmpVar_(globalCmpVar),
+ syncCfgOut(syncCfg),
+ useAlternateSyncCfgOptOut(useAlternateSyncCfg),
+ miscCfgOut(miscCfg),
handleDeletion(DELETE_TO_RECYCLER), //
onGuiError(ON_GUIERROR_POPUP), //dummy init
- outSyncCfg(syncCfg),
- outOptOnGuiError(handleError),
- outOptOnCompletion(onCompletion),
- compareVar_(compareVar),
versioningFolder(*m_panelVersioning, *m_buttonSelectDirVersioning, *m_versioningFolder/*, m_staticTextResolvedPath*/)
{
#ifdef ZEN_WIN
new zen::MouseMoveWindow(*this); //allow moving main dialog by clicking (nearly) anywhere...; ownership passed to "this"
#endif
- setStandardButtonOrder(*bSizerStdButtons, StdButtons().setAffirmative(m_buttonOK).setCancel(m_buttonCancel));
+ setStandardButtonOrder(*bSizerStdButtons, StdButtons().setAffirmative(m_buttonOkay).setCancel(m_buttonCancel));
SetTitle(title);
- //set icons for this dialog
+ //fill image list to cope with wxNotebook image setting design desaster...
+ const int imageListSize = getResourceImage(L"cfg_compare_small").GetHeight();
+ assert(imageListSize == 16); //Windows default size for panel caption
+ auto imgList = make_unique<wxImageList>(imageListSize, imageListSize);
+
+ auto addToImageList = [&](const wxBitmap& bmp)
+ {
+ assert(bmp.GetWidth () <= imageListSize);
+ assert(bmp.GetHeight() <= imageListSize);
+ imgList->Add(bmp);
+ imgList->Add(greyScale(bmp));
+ };
+ //make sure to add images in same sequence as ConfigTypeImage enum!!!
+ addToImageList(getResourceImage(L"cfg_compare_small"));
+ addToImageList(getResourceImage(L"filter_small" ));
+ addToImageList(getResourceImage(L"cfg_sync_small" ));
+ assert(imgList->GetImageCount() == static_cast<int>(ConfigTypeImage::SYNC_GREY) + 1);
+
+ m_notebook->AssignImageList(imgList.release()); //notebook takes ownership
+
+ //------------- comparison panel ----------------------
+ setRelativeFontSize(*m_toggleBtnTimeSize, 1.25);
+ setRelativeFontSize(*m_toggleBtnContent, 1.25);
+
+ m_toggleBtnTimeSize->SetToolTip(getCompVariantDescription(CMP_BY_TIME_SIZE));
+ m_toggleBtnContent ->SetToolTip(getCompVariantDescription(CMP_BY_CONTENT));
+
+ enumDescrHandleSyml.
+ add(SYMLINK_EXCLUDE, _("Exclude")).
+ add(SYMLINK_DIRECT, _("Direct")).
+ add(SYMLINK_FOLLOW, _("Follow"));
+
+ setEnumVal(enumDescrHandleSyml, *m_choiceHandleSymlinks, cmpCfg.handleSymlinks);
+
+ if (useAlternateCmpCfg)
+ m_checkBoxUseLocalCmpOptions->SetValue(*useAlternateCmpCfg);
+ else
+ {
+ m_checkBoxUseLocalCmpOptions->SetValue(true);
+ bSizerLocalCompSettings->Show(false);
+ }
+
+ updateCompGui();
+
+ //------------- filter panel --------------------------
+
+#ifndef __WXGTK__ //wxWidgets breaks portability promise once again
+ m_textCtrlInclude->SetMaxLength(0); //allow large filter entries!
+ m_textCtrlExclude->SetMaxLength(0); //
+#endif
+
+ m_textCtrlInclude->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(ConfigDialog::onFilterKeyEvent), nullptr, this);
+ m_textCtrlExclude->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(ConfigDialog::onFilterKeyEvent), nullptr, this);
+
+ enumTimeDescr.
+ add(UTIME_NONE, L"(" + _("None") + L")"). //meta options should be enclosed in parentheses
+ add(UTIME_TODAY, _("Today")).
+ // add(UTIME_THIS_WEEK, _("This week")).
+ add(UTIME_THIS_MONTH, _("This month")).
+ add(UTIME_THIS_YEAR, _("This year")).
+ add(UTIME_LAST_X_DAYS, _("Last x days"));
+
+ enumSizeDescr.
+ add(USIZE_NONE, L"(" + _("None") + L")"). //meta options should be enclosed in parentheses
+ add(USIZE_BYTE, _("Byte")).
+ add(USIZE_KB, _("KB")).
+ add(USIZE_MB, _("MB"));
+
+ assert((useAlternateCmpCfg != nullptr) == (useAlternateSyncCfg != nullptr));
+ if (!useAlternateCmpCfg)
+ bSizerLocalFilterSettings->Show(false);
+
+ setFilter(filterCfg);
+
+ //------------- synchronization panel -----------------
+ m_toggleBtnTwoWay->SetLabel(getVariantName(DirectionConfig::TWOWAY));
+ m_toggleBtnMirror->SetLabel(getVariantName(DirectionConfig::MIRROR));
+ m_toggleBtnUpdate->SetLabel(getVariantName(DirectionConfig::UPDATE));
+ m_toggleBtnCustom->SetLabel(getVariantName(DirectionConfig::CUSTOM));
+
+ m_toggleBtnTwoWay->SetToolTip(getSyncVariantDescription(DirectionConfig::TWOWAY));
+ m_toggleBtnMirror->SetToolTip(getSyncVariantDescription(DirectionConfig::MIRROR));
+ m_toggleBtnUpdate->SetToolTip(getSyncVariantDescription(DirectionConfig::UPDATE));
+ m_toggleBtnCustom->SetToolTip(getSyncVariantDescription(DirectionConfig::CUSTOM));
+
m_bitmapLeftOnly ->SetBitmap(mirrorIfRtl(greyScale(getResourceImage(L"cat_left_only" ))));
m_bitmapRightOnly ->SetBitmap(mirrorIfRtl(greyScale(getResourceImage(L"cat_right_only" ))));
m_bitmapLeftNewer ->SetBitmap(mirrorIfRtl(greyScale(getResourceImage(L"cat_left_newer" ))));
m_bitmapRightNewer->SetBitmap(mirrorIfRtl(greyScale(getResourceImage(L"cat_right_newer"))));
m_bitmapDifferent ->SetBitmap(mirrorIfRtl(greyScale(getResourceImage(L"cat_different" ))));
m_bitmapConflict ->SetBitmap(mirrorIfRtl(greyScale(getResourceImage(L"cat_conflict" ))));
- m_bitmapDatabase ->SetBitmap(getResourceImage(L"database"));
-
- m_toggleBtnTwoWay->SetLabel(L"<- " + _("Two way") + L" ->");
- m_toggleBtnMirror->SetLabel( _("Mirror") + L" ->>");
- m_toggleBtnUpdate->SetLabel( _("Update") + L" ->");
setRelativeFontSize(*m_toggleBtnTwoWay, 1.25);
setRelativeFontSize(*m_toggleBtnMirror, 1.25);
@@ -257,274 +317,227 @@ SyncCfgDialog::SyncCfgDialog(wxWindow* parent,
add(VER_STYLE_REPLACE, _("Replace"), _("Move files and replace if existing")).
add(VER_STYLE_ADD_TIMESTAMP, _("Time stamp"), _("Append a time stamp to each file name"));
- //hide controls for optional parameters
- if (!handleError && !onCompletion) //currently either both or neither are bound!
+ //use spacer to keep dialog height stable, no matter if versioning options are visible
+ bSizerVersioning->Add(0, m_panelVersioning->GetSize().GetHeight());
+
+ if (useAlternateSyncCfg)
+ m_checkBoxUseLocalSyncOptions->SetValue(*useAlternateSyncCfg);
+ else
{
- bSizerExtraConfig->Show(false);
+ m_checkBoxUseLocalSyncOptions->SetValue(true);
+ bSizerLocalSyncSettings->Show(false);
+ }
+
+ if (miscCfg)
+ m_comboBoxOnCompletion->initHistory(miscCfg->onCompletionHistory, miscCfg->onCompletionHistoryMax);
+ else //hide controls for optional parameters
+ {
+ bSizerMiscConfig->Show(false);
Layout();
}
- if (onCompletion)
- m_comboBoxOnCompletion->initHistory(*onCompletion->history, onCompletion->historyMax);
+ const SyncOptions so = { syncCfg,
+ miscCfg ? miscCfg->handleError : ON_GUIERROR_POPUP,
+ miscCfg ? miscCfg->onCompletionCommand : Zstring()
+ };
+ setSyncOptions(so);
+ //-----------------------------------------------------
+
+ //enable dialog-specific key local events
+ setupLocalKeyEvents(*this, [this](wxKeyEvent& event) { this->onLocalKeyEvent(event); });
- Config newCfg = { syncCfg,
- handleError ?* handleError : ON_GUIERROR_POPUP,
- onCompletion ?* onCompletion->command : Zstring()
- };
- setConfig(newCfg);
+ m_notebook->SetPageText(static_cast<size_t>(SyncConfigPanel::COMPARISON), _("Comparison") + L" (F6)");
+ m_notebook->SetPageText(static_cast<size_t>(SyncConfigPanel::FILTER ), _("Filter") + L" (F7)");
+ m_notebook->SetPageText(static_cast<size_t>(SyncConfigPanel::SYNC ), _("Synchronization") + L" (F8)");
+
+ m_notebook->ChangeSelection(static_cast<size_t>(panelToShow));
GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize()
//=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!!
-
- m_buttonOK->SetFocus();
+ m_buttonOkay->SetFocus();
}
-//#################################################################################################################
-void SyncCfgDialog::setConfig(const Config& cfg)
+void ConfigDialog::onLocalKeyEvent(wxKeyEvent& event) //process key events without explicit menu entry :)
{
- directionCfg = cfg.syncCfg.directionCfg; //make working copy; ownership *not* on GUI
- handleDeletion = cfg.syncCfg.handleDeletion;
+ const int keyCode = event.GetKeyCode();
- versioningFolder.setName(utfCvrtTo<wxString>(cfg.syncCfg.versioningDirectory));
- setEnumVal(enumVersioningStyle, *m_choiceVersioningStyle, cfg.syncCfg.versioningStyle);
-
- ////map single parameter "version limit" to both checkbox and spin ctrl:
- //m_checkBoxVersionsLimit->SetValue(cfg.syncCfg.versionCountLimit >= 0);
- //m_spinCtrlVersionsLimit->SetValue(cfg.syncCfg.versionCountLimit >= 0 ? cfg.syncCfg.versionCountLimit : 10 /*SyncConfig().versionCountLimit*/);
-
- onGuiError = cfg.onGuiError;
-
- m_comboBoxOnCompletion->setValue(cfg.onCompletion);
+ switch (keyCode)
+ {
+ case WXK_F6:
+ m_notebook->ChangeSelection(static_cast<size_t>(SyncConfigPanel::COMPARISON));
+ return; //handled!
+ case WXK_F7:
+ m_notebook->ChangeSelection(static_cast<size_t>(SyncConfigPanel::FILTER));
+ return;
+ case WXK_F8:
+ m_notebook->ChangeSelection(static_cast<size_t>(SyncConfigPanel::SYNC));
+ return;
+ }
- updateGui();
+ event.Skip();
}
-SyncCfgDialog::Config SyncCfgDialog::getConfig() const
+void ConfigDialog::OnTimeSizeDouble(wxMouseEvent& event)
{
- Config output;
-
- //write configuration to main dialog
- output.syncCfg.directionCfg = directionCfg;
- output.syncCfg.handleDeletion = handleDeletion;
- output.syncCfg.versioningDirectory = utfCvrtTo<Zstring>(versioningFolder.getName());
- output.syncCfg.versioningStyle = getEnumVal(enumVersioningStyle, *m_choiceVersioningStyle),
-
- //get single parameter "version limit" from both checkbox and spin ctrl:
- // output.syncCfg.versionCountLimit = m_checkBoxVersionsLimit->GetValue() ? m_spinCtrlVersionsLimit->GetValue() : -1;
-
- output.onGuiError = onGuiError;
-
- output.onCompletion = m_comboBoxOnCompletion->getValue();
- return output;
+ wxCommandEvent dummy;
+ OnTimeSize(dummy);
+ OnOkay(dummy);
}
-void SyncCfgDialog::updateGui()
+void ConfigDialog::OnContentDouble(wxMouseEvent& event)
{
-#ifdef ZEN_WIN
- wxWindowUpdateLocker dummy(this); //leads to GUI corruption problems on Linux/OS X!
- wxWindowUpdateLocker dummy2(m_panelVersioning);
- wxWindowUpdateLocker dummy3(m_bpButtonLeftOnly);
- wxWindowUpdateLocker dummy4(m_bpButtonRightOnly);
- wxWindowUpdateLocker dummy5(m_bpButtonLeftNewer);
- wxWindowUpdateLocker dummy6(m_bpButtonRightNewer);
- wxWindowUpdateLocker dummy7(m_bpButtonDifferent);
- wxWindowUpdateLocker dummy8(m_bpButtonConflict);
-#endif
-
- const Config cfg = getConfig(); //resolve parameter ownership: some on GUI controls, others member variables
-
- updateConfigIcons(cfg.syncCfg.directionCfg,
- m_bpButtonLeftOnly,
- m_bpButtonRightOnly,
- m_bpButtonLeftNewer,
- m_bpButtonRightNewer,
- m_bpButtonDifferent,
- m_bpButtonConflict);
-
- //selecting "detect move files" does not always make sense:
- m_checkBoxDetectMove->Enable(detectMovedFilesSelectable(directionCfg));
- m_checkBoxDetectMove->SetValue(detectMovedFilesEnabled(directionCfg)); //parameter NOT owned by checkbox!
+ wxCommandEvent dummy;
+ OnContent(dummy);
+ OnOkay(dummy);
+}
- //display only relevant sync options
- m_bitmapDatabase ->Show(cfg.syncCfg.directionCfg.var == DirectionConfig::TWOWAY);
- sbSizerSyncDirections->Show(cfg.syncCfg.directionCfg.var != DirectionConfig::TWOWAY);
- switch (compareVar_) //sbSizerSyncDirections->Show resets child sizers!
- {
- case CMP_BY_TIME_SIZE:
- bSizerDifferent ->Show(false);
- break;
+void ConfigDialog::updateCompGui()
+{
+ m_panelComparisonSettings->Enable(m_checkBoxUseLocalCmpOptions->GetValue());
- case CMP_BY_CONTENT:
- bSizerLeftNewer ->Show(false);
- bSizerRightNewer->Show(false);
- break;
- }
- bSizerConfig->Layout(); //[!]
+ m_notebook->SetPageImage(static_cast<size_t>(SyncConfigPanel::COMPARISON),
+ static_cast<int>(m_checkBoxUseLocalCmpOptions->GetValue() ? ConfigTypeImage::COMPARISON : ConfigTypeImage::COMPARISON_GREY));
//update toggle buttons -> they have no parameter-ownership at all!
- m_staticTextAutomatic->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT));
- m_staticTextMirror ->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT));
- m_staticTextUpdate ->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT));
- m_staticTextCustom ->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_GRAYTEXT));
+ m_toggleBtnTimeSize->SetValue(false);
+ m_toggleBtnContent ->SetValue(false);
- m_toggleBtnTwoWay->SetValue(false);
- m_toggleBtnMirror->SetValue(false);
- m_toggleBtnUpdate->SetValue(false);
- m_toggleBtnCustom->SetValue(false);
+ if (m_checkBoxUseLocalCmpOptions->GetValue()) //help wxWidgets a little to render inactive config state (need on Windows, NOT on Linux!)
+ switch (localCmpVar)
+ {
+ case CMP_BY_TIME_SIZE:
+ m_toggleBtnTimeSize->SetValue(true);
+ break;
+ case CMP_BY_CONTENT:
+ m_toggleBtnContent->SetValue(true);
+ break;
+ }
- switch (cfg.syncCfg.directionCfg.var)
+ auto setBitmap = [&](wxStaticBitmap& bmpCtrl, bool active, const wxBitmap& bmp)
{
- case DirectionConfig::TWOWAY:
- m_toggleBtnTwoWay->SetValue(true);
- m_staticTextAutomatic->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
- break;
- case DirectionConfig::MIRROR:
- m_toggleBtnMirror->SetValue(true);
- m_staticTextMirror->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
- break;
- case DirectionConfig::UPDATE:
- m_toggleBtnUpdate->SetValue(true);
- m_staticTextUpdate->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
- break;
- case DirectionConfig::CUSTOM:
- m_toggleBtnCustom->SetValue(true);
- m_staticTextCustom->SetForegroundColour(wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT));
- break;
- }
+ if (active &&
+ m_checkBoxUseLocalCmpOptions->GetValue()) //help wxWidgets a little to render inactive config state (need on Windows, NOT on Linux!)
+ bmpCtrl.SetBitmap(bmp);
+ else
+ bmpCtrl.SetBitmap(greyScale(bmp));
+ };
+ setBitmap(*m_bitmapByTime, localCmpVar == CMP_BY_TIME_SIZE, getResourceImage(L"clock"));
+ setBitmap(*m_bitmapByContent, localCmpVar == CMP_BY_CONTENT, getResourceImage(L"cmpByContent"));
- m_toggleBtnPermanent ->SetValue(false);
- m_toggleBtnRecycler ->SetValue(false);
- m_toggleBtnVersioning->SetValue(false);
- switch (cfg.syncCfg.handleDeletion)
- {
- case DELETE_PERMANENTLY:
- m_toggleBtnPermanent->SetValue(true);
- break;
- case DELETE_TO_RECYCLER:
- m_toggleBtnRecycler->SetValue(true);
- break;
- case DELETE_TO_VERSIONING:
- m_toggleBtnVersioning->SetValue(true);
- break;
- }
+ //active variant description:
+ setText(*m_textCtrlCompVarDescription, getCompVariantDescription(localCmpVar));
+}
- const bool versioningSelected = cfg.syncCfg.handleDeletion == DELETE_TO_VERSIONING;
- m_panelVersioning->Show(versioningSelected);
- if (versioningSelected)
- {
- updateTooltipEnumVal(enumVersioningStyle, *m_choiceVersioningStyle);
+void ConfigDialog::onFilterKeyEvent(wxKeyEvent& event)
+{
+ const int keyCode = event.GetKeyCode();
- const std::wstring pathSep = utfCvrtTo<std::wstring>(FILE_NAME_SEPARATOR);
- switch (cfg.syncCfg.versioningStyle)
+ if (event.ControlDown())
+ switch (keyCode)
{
- case VER_STYLE_REPLACE:
- setText(*m_staticTextNamingCvtPart1, pathSep + _("Folder") + pathSep + _("File") + L".doc");
- setText(*m_staticTextNamingCvtPart2Bold, L"");
- setText(*m_staticTextNamingCvtPart3, L"");
- break;
-
- case VER_STYLE_ADD_TIMESTAMP:
- setText(*m_staticTextNamingCvtPart1, pathSep + _("Folder") + pathSep + _("File") + L".doc ");
- setText(*m_staticTextNamingCvtPart2Bold, _("YYYY-MM-DD hhmmss"));
- setText(*m_staticTextNamingCvtPart3, L".doc");
- break;
+ case 'A': //CTRL + A
+ if (auto textCtrl = dynamic_cast<wxTextCtrl*>(event.GetEventObject()))
+ textCtrl->SetSelection(-1, -1); //select all
+ return;
}
- }
+ event.Skip();
+}
- //m_spinCtrlVersionsLimit->Enable(m_checkBoxVersionsLimit->GetValue()); //enabled status is *not* directly dependent from resolved config! (but transitively)
- m_toggleBtnErrorIgnore->SetValue(false);
- m_toggleBtnErrorPopup ->SetValue(false);
- switch (cfg.onGuiError)
- {
- case ON_GUIERROR_IGNORE:
- m_toggleBtnErrorIgnore->SetValue(true);
- break;
- case ON_GUIERROR_POPUP:
- m_toggleBtnErrorPopup->SetValue(true);
- break;
- }
+void ConfigDialog::setFilter(const FilterConfig& filter)
+{
+ m_textCtrlInclude->ChangeValue(utfCvrtTo<wxString>(filter.includeFilter));
+ m_textCtrlExclude->ChangeValue(utfCvrtTo<wxString>(filter.excludeFilter));
- Layout();
- Refresh(); //removes a few artifacts when toggling display of versioning folder
+ setEnumVal(enumTimeDescr, *m_choiceUnitTimespan, filter.unitTimeSpan);
+ setEnumVal(enumSizeDescr, *m_choiceUnitMinSize, filter.unitSizeMin);
+ setEnumVal(enumSizeDescr, *m_choiceUnitMaxSize, filter.unitSizeMax);
- GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize()
- //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!!
+ m_spinCtrlTimespan->SetValue(static_cast<int>(filter.timeSpan));
+ m_spinCtrlMinSize ->SetValue(static_cast<int>(filter.sizeMin));
+ m_spinCtrlMaxSize ->SetValue(static_cast<int>(filter.sizeMax));
+
+ updateFilterGui();
}
-void SyncCfgDialog::OnOkay(wxCommandEvent& event)
+FilterConfig ConfigDialog::getFilter() const
{
- const Config cfg = getConfig();
-
- //parameter validation:
+ return FilterConfig(utfCvrtTo<Zstring>(m_textCtrlInclude->GetValue()),
+ utfCvrtTo<Zstring>(m_textCtrlExclude->GetValue()),
+ m_spinCtrlTimespan->GetValue(),
+ getEnumVal(enumTimeDescr, *m_choiceUnitTimespan),
+ m_spinCtrlMinSize->GetValue(),
+ getEnumVal(enumSizeDescr, *m_choiceUnitMinSize),
+ m_spinCtrlMaxSize->GetValue(),
+ getEnumVal(enumSizeDescr, *m_choiceUnitMaxSize));
+}
- //check if user-defined directory for deletion was specified
- if (cfg.syncCfg.handleDeletion == zen::DELETE_TO_VERSIONING)
- {
- Zstring versioningDir = cfg.syncCfg.versioningDirectory;
- trim(versioningDir);
- if (versioningDir.empty())
- {
- showNotificationDialog(this, DialogInfoType::INFO, PopupDialogCfg().setMainInstructions(_("Please enter a target folder for versioning.")));
- //don't show error icon to follow "Windows' encouraging tone"
- m_panelVersioning->SetFocus();
- return;
- }
- }
- //apply config:
- outSyncCfg = cfg.syncCfg;
+void ConfigDialog::updateFilterGui()
+{
+ const FilterConfig activeCfg = getFilter();
- if (outOptOnGuiError)
- *outOptOnGuiError = cfg.onGuiError;
+ m_notebook->SetPageImage(static_cast<size_t>(SyncConfigPanel::FILTER),
+ static_cast<int>(!isNullFilter(activeCfg) ? ConfigTypeImage::FILTER: ConfigTypeImage::FILTER_GREY));
- if (outOptOnCompletion)
+ auto setStatusBitmap = [&](wxStaticBitmap& staticBmp, const wxString& bmpName, bool active)
{
- *outOptOnCompletion->command = cfg.onCompletion;
- //a good place to commit current "on completion" history item
- m_comboBoxOnCompletion->addItemHistory();
- }
+ if (active)
+ staticBmp.SetBitmap(getResourceImage(bmpName));
+ else
+ staticBmp.SetBitmap(greyScale(getResourceImage(bmpName)));
+ };
+ setStatusBitmap(*m_bitmapInclude, L"filter_include", !NameFilter::isNull(activeCfg.includeFilter, FilterConfig().excludeFilter));
+ setStatusBitmap(*m_bitmapExclude, L"filter_exclude", !NameFilter::isNull(FilterConfig().includeFilter, activeCfg.excludeFilter));
+ setStatusBitmap(*m_bitmapFilterDate, L"clock", activeCfg.unitTimeSpan != UTIME_NONE);
+ setStatusBitmap(*m_bitmapFilterSize, L"size", activeCfg.unitSizeMin != USIZE_NONE || activeCfg.unitSizeMax != USIZE_NONE);
- EndModal(ReturnSyncConfig::BUTTON_OKAY);
+ m_spinCtrlTimespan->Enable(activeCfg.unitTimeSpan == UTIME_LAST_X_DAYS);
+ m_spinCtrlMinSize ->Enable(activeCfg.unitSizeMin != USIZE_NONE);
+ m_spinCtrlMaxSize ->Enable(activeCfg.unitSizeMax != USIZE_NONE);
+
+ m_buttonReset->Enable(!(activeCfg == FilterConfig()));
}
-void SyncCfgDialog::OnSyncTwoWayDouble(wxMouseEvent& event)
+void ConfigDialog::OnSyncTwoWayDouble(wxMouseEvent& event)
{
wxCommandEvent dummy;
OnSyncTwoWay(dummy);
OnOkay(dummy);
}
-void SyncCfgDialog::OnSyncMirrorDouble(wxMouseEvent& event)
+
+void ConfigDialog::OnSyncMirrorDouble(wxMouseEvent& event)
{
wxCommandEvent dummy;
OnSyncMirror(dummy);
OnOkay(dummy);
}
-void SyncCfgDialog::OnSyncUpdateDouble(wxMouseEvent& event)
+
+void ConfigDialog::OnSyncUpdateDouble(wxMouseEvent& event)
{
wxCommandEvent dummy;
OnSyncUpdate(dummy);
OnOkay(dummy);
}
-void SyncCfgDialog::OnSyncCustomDouble(wxMouseEvent& event)
+
+void ConfigDialog::OnSyncCustomDouble(wxMouseEvent& event)
{
wxCommandEvent dummy;
OnSyncCustom(dummy);
OnOkay(dummy);
}
-namespace
-{
+
void toggleSyncDirection(SyncDirection& current)
{
switch (current)
@@ -542,7 +555,7 @@ void toggleSyncDirection(SyncDirection& current)
}
-void pressCustomDir(DirectionConfig& directionCfg, SyncDirection& syncdir)
+void toggleSyncConfig(DirectionConfig& directionCfg, SyncDirection& custSyncdir)
{
switch (directionCfg.var)
{
@@ -553,90 +566,389 @@ void pressCustomDir(DirectionConfig& directionCfg, SyncDirection& syncdir)
case DirectionConfig::UPDATE:
directionCfg.custom = extractDirections(directionCfg);
directionCfg.var = DirectionConfig::CUSTOM;
- toggleSyncDirection(syncdir);
+ toggleSyncDirection(custSyncdir);
break;
case DirectionConfig::CUSTOM:
- toggleSyncDirection(syncdir);
+ toggleSyncDirection(custSyncdir);
//some config optimization: if custom settings happen to match "mirror" or "update", just switch variant
- const DirectionSet setMirror = []
+ const DirectionSet mirrorSet = []
{
DirectionConfig mirrorCfg;
mirrorCfg.var = DirectionConfig::MIRROR;
return extractDirections(mirrorCfg);
}();
- const DirectionSet setUpdate = []
+ const DirectionSet updateSet = []
{
DirectionConfig updateCfg;
updateCfg.var = DirectionConfig::UPDATE;
return extractDirections(updateCfg);
}();
- const DirectionSet currentSet = extractDirections(directionCfg);
- if (currentSet == setMirror)
+ if (directionCfg.custom == mirrorSet)
directionCfg.var = DirectionConfig::MIRROR;
- else if (currentSet == setUpdate)
+ else if (directionCfg.custom == updateSet)
directionCfg.var = DirectionConfig::UPDATE;
break;
}
}
+
+
+void ConfigDialog::OnExLeftSideOnly(wxCommandEvent& event)
+{
+ toggleSyncConfig(directionCfg, directionCfg.custom.exLeftSideOnly);
+ updateSyncGui();
}
-void SyncCfgDialog::OnExLeftSideOnly(wxCommandEvent& event )
+
+void ConfigDialog::OnExRightSideOnly(wxCommandEvent& event)
{
- pressCustomDir(directionCfg, directionCfg.custom.exLeftSideOnly);
- updateGui();
+ toggleSyncConfig(directionCfg, directionCfg.custom.exRightSideOnly);
+ updateSyncGui();
}
-void SyncCfgDialog::OnExRightSideOnly(wxCommandEvent& event )
+void ConfigDialog::OnLeftNewer(wxCommandEvent& event)
{
- pressCustomDir(directionCfg, directionCfg.custom.exRightSideOnly);
- updateGui();
+ toggleSyncConfig(directionCfg, directionCfg.custom.leftNewer);
+ updateSyncGui();
}
-void SyncCfgDialog::OnLeftNewer(wxCommandEvent& event )
+void ConfigDialog::OnRightNewer(wxCommandEvent& event)
{
- pressCustomDir(directionCfg, directionCfg.custom.leftNewer);
- updateGui();
+ toggleSyncConfig(directionCfg, directionCfg.custom.rightNewer);
+ updateSyncGui();
}
-void SyncCfgDialog::OnRightNewer(wxCommandEvent& event )
+void ConfigDialog::OnDifferent(wxCommandEvent& event)
{
- pressCustomDir(directionCfg, directionCfg.custom.rightNewer);
- updateGui();
+ toggleSyncConfig(directionCfg, directionCfg.custom.different);
+ updateSyncGui();
}
-void SyncCfgDialog::OnDifferent(wxCommandEvent& event )
+void ConfigDialog::OnConflict(wxCommandEvent& event)
{
- pressCustomDir(directionCfg, directionCfg.custom.different);
- updateGui();
+ toggleSyncConfig(directionCfg, directionCfg.custom.conflict);
+ updateSyncGui();
+}
+
+
+void updateSyncDirectionIcons(const DirectionConfig& directionCfg,
+ wxBitmapButton& buttonLeftOnly,
+ wxBitmapButton& buttonRightOnly,
+ wxBitmapButton& buttonLeftNewer,
+ wxBitmapButton& buttonRightNewer,
+ wxBitmapButton& buttonDifferent,
+ wxBitmapButton& buttonConflict)
+{
+ if (directionCfg.var != DirectionConfig::TWOWAY) //automatic mode needs no sync-directions
+ {
+ auto updateButton = [](wxBitmapButton& button, SyncDirection dir,
+ const wchar_t* imgNameLeft, const wchar_t* imgNameNone, const wchar_t* imgNameRight,
+ SyncOperation opLeft, SyncOperation opNone, SyncOperation opRight)
+ {
+ switch (dir)
+ {
+ case SyncDirection::LEFT:
+ button.SetBitmapLabel(mirrorIfRtl(getResourceImage(imgNameLeft)));
+ button.SetToolTip(getSyncOpDescription(opLeft));
+ break;
+ case SyncDirection::NONE:
+ button.SetBitmapLabel(mirrorIfRtl(getResourceImage(imgNameNone)));
+ button.SetToolTip(getSyncOpDescription(opNone));
+ break;
+ case SyncDirection::RIGHT:
+ button.SetBitmapLabel(mirrorIfRtl(getResourceImage(imgNameRight)));
+ button.SetToolTip(getSyncOpDescription(opRight));
+ break;
+ }
+ };
+
+ const DirectionSet dirCfg = extractDirections(directionCfg);
+
+ updateButton(buttonLeftOnly , dirCfg.exLeftSideOnly , L"so_delete_left", L"so_none", L"so_create_right", SO_DELETE_LEFT , SO_DO_NOTHING, SO_CREATE_NEW_RIGHT);
+ updateButton(buttonRightOnly , dirCfg.exRightSideOnly, L"so_create_left", L"so_none", L"so_delete_right", SO_CREATE_NEW_LEFT, SO_DO_NOTHING, SO_DELETE_RIGHT );
+ updateButton(buttonLeftNewer , dirCfg.leftNewer , L"so_update_left", L"so_none", L"so_update_right", SO_OVERWRITE_LEFT , SO_DO_NOTHING, SO_OVERWRITE_RIGHT );
+ updateButton(buttonRightNewer, dirCfg.rightNewer , L"so_update_left", L"so_none", L"so_update_right", SO_OVERWRITE_LEFT , SO_DO_NOTHING, SO_OVERWRITE_RIGHT );
+ updateButton(buttonDifferent , dirCfg.different , L"so_update_left", L"so_none", L"so_update_right", SO_OVERWRITE_LEFT , SO_DO_NOTHING, SO_OVERWRITE_RIGHT );
+
+ switch (dirCfg.conflict)
+ {
+ case SyncDirection::LEFT:
+ buttonConflict.SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_update_left")));
+ buttonConflict.SetToolTip(getSyncOpDescription(SO_OVERWRITE_LEFT));
+ break;
+ case SyncDirection::NONE:
+ buttonConflict.SetBitmapLabel(mirrorIfRtl(getResourceImage(L"cat_conflict"))); //silent dependency from algorithm.cpp::Redetermine!!!
+ buttonConflict.SetToolTip(_("Leave as unresolved conflict"));
+ break;
+ case SyncDirection::RIGHT:
+ buttonConflict.SetBitmapLabel(mirrorIfRtl(getResourceImage(L"so_update_right")));
+ buttonConflict.SetToolTip(getSyncOpDescription(SO_OVERWRITE_RIGHT));
+ break;
+ }
+ }
+}
+
+
+void ConfigDialog::setSyncOptions(const SyncOptions& so)
+{
+ directionCfg = so.syncCfg.directionCfg; //make working copy; ownership *not* on GUI
+ handleDeletion = so.syncCfg.handleDeletion;
+
+ versioningFolder.setName(utfCvrtTo<wxString>(so.syncCfg.versioningDirectory));
+ setEnumVal(enumVersioningStyle, *m_choiceVersioningStyle, so.syncCfg.versioningStyle);
+
+ //misc config
+ onGuiError = so.onGuiError;
+ m_comboBoxOnCompletion->setValue(so.onCompletion);
+
+ updateSyncGui();
+}
+
+
+ConfigDialog::SyncOptions ConfigDialog::getSyncOptions() const
+{
+ SyncOptions output;
+
+ output.syncCfg.directionCfg = directionCfg;
+ output.syncCfg.handleDeletion = handleDeletion;
+ output.syncCfg.versioningDirectory = utfCvrtTo<Zstring>(versioningFolder.getName());
+ output.syncCfg.versioningStyle = getEnumVal(enumVersioningStyle, *m_choiceVersioningStyle);
+
+ output.onGuiError = onGuiError;
+ output.onCompletion = m_comboBoxOnCompletion->getValue();
+
+ return output;
+}
+
+
+void ConfigDialog::updateSyncGui()
+{
+#ifdef ZEN_WIN
+ wxWindowUpdateLocker dummy(this); //leads to GUI corruption problems on Linux/OS X!
+ wxWindowUpdateLocker dummy2(m_panelVersioning);
+ wxWindowUpdateLocker dummy3(m_bpButtonLeftOnly);
+ wxWindowUpdateLocker dummy4(m_bpButtonRightOnly);
+ wxWindowUpdateLocker dummy5(m_bpButtonLeftNewer);
+ wxWindowUpdateLocker dummy6(m_bpButtonRightNewer);
+ wxWindowUpdateLocker dummy7(m_bpButtonDifferent);
+ wxWindowUpdateLocker dummy8(m_bpButtonConflict);
+#endif
+
+ m_panelSyncSettings->Enable(m_checkBoxUseLocalSyncOptions->GetValue());
+
+ m_notebook->SetPageImage(static_cast<size_t>(SyncConfigPanel::SYNC),
+ static_cast<int>(m_checkBoxUseLocalSyncOptions->GetValue() ? ConfigTypeImage::SYNC: ConfigTypeImage::SYNC_GREY));
+
+ const SyncOptions so = getSyncOptions(); //resolve parameter ownership: some on GUI controls, others member variables
+
+ updateSyncDirectionIcons(so.syncCfg.directionCfg,
+ *m_bpButtonLeftOnly,
+ *m_bpButtonRightOnly,
+ *m_bpButtonLeftNewer,
+ *m_bpButtonRightNewer,
+ *m_bpButtonDifferent,
+ *m_bpButtonConflict);
+
+ //selecting "detect move files" does not always make sense:
+ m_checkBoxDetectMove->Enable(detectMovedFilesSelectable(directionCfg));
+ m_checkBoxDetectMove->SetValue(detectMovedFilesEnabled(directionCfg)); //parameter NOT owned by checkbox!
+
+ auto setBitmap = [&](wxStaticBitmap& bmpCtrl, bool active, const wxBitmap& bmp)
+ {
+ if (active &&
+ m_checkBoxUseLocalSyncOptions->GetValue()) //help wxWidgets a little to render inactive config state (need on Windows, NOT on Linux!)
+ bmpCtrl.SetBitmap(bmp);
+ else
+ bmpCtrl.SetBitmap(greyScale(bmp));
+ };
+
+ //display only relevant sync options
+ m_bitmapDatabase ->Show(so.syncCfg.directionCfg.var == DirectionConfig::TWOWAY);
+ fgSizerSyncDirections->Show(so.syncCfg.directionCfg.var != DirectionConfig::TWOWAY);
+
+ if (so.syncCfg.directionCfg.var == DirectionConfig::TWOWAY)
+ setBitmap(*m_bitmapDatabase, true, getResourceImage(L"database"));
+ else
+ {
+ const CompareVariant activeCmpVar = m_checkBoxUseLocalCmpOptions->GetValue() ? localCmpVar : globalCmpVar_;
+
+ m_bitmapDifferent ->Show(activeCmpVar != CMP_BY_TIME_SIZE);
+ m_bpButtonDifferent->Show(activeCmpVar != CMP_BY_TIME_SIZE);
+
+ m_bitmapLeftNewer ->Show(activeCmpVar == CMP_BY_TIME_SIZE);
+ m_bpButtonLeftNewer ->Show(activeCmpVar == CMP_BY_TIME_SIZE);
+ m_bitmapRightNewer ->Show(activeCmpVar == CMP_BY_TIME_SIZE);
+ m_bpButtonRightNewer->Show(activeCmpVar == CMP_BY_TIME_SIZE);
+ }
+
+ //active variant description:
+ setText(*m_textCtrlSyncVarDescription, getSyncVariantDescription(so.syncCfg.directionCfg.var));
+
+ //update toggle buttons -> they have no parameter-ownership at all!
+ m_toggleBtnTwoWay->SetValue(false);
+ m_toggleBtnMirror->SetValue(false);
+ m_toggleBtnUpdate->SetValue(false);
+ m_toggleBtnCustom->SetValue(false);
+
+ if (m_checkBoxUseLocalSyncOptions->GetValue()) //help wxWidgets a little to render inactive config state (need on Windows, NOT on Linux!)
+ switch (so.syncCfg.directionCfg.var)
+ {
+ case DirectionConfig::TWOWAY:
+ m_toggleBtnTwoWay->SetValue(true);
+ break;
+ case DirectionConfig::MIRROR:
+ m_toggleBtnMirror->SetValue(true);
+ break;
+ case DirectionConfig::UPDATE:
+ m_toggleBtnUpdate->SetValue(true);
+ break;
+ case DirectionConfig::CUSTOM:
+ m_toggleBtnCustom->SetValue(true);
+ break;
+ }
+
+ m_toggleBtnPermanent ->SetValue(false);
+ m_toggleBtnRecycler ->SetValue(false);
+ m_toggleBtnVersioning->SetValue(false);
+
+ if (m_checkBoxUseLocalSyncOptions->GetValue()) //help wxWidgets a little to render inactive config state (need on Windows, NOT on Linux!)
+ switch (so.syncCfg.handleDeletion)
+ {
+ case DELETE_PERMANENTLY:
+ m_toggleBtnPermanent->SetValue(true);
+ break;
+ case DELETE_TO_RECYCLER:
+ m_toggleBtnRecycler->SetValue(true);
+ break;
+ case DELETE_TO_VERSIONING:
+ m_toggleBtnVersioning->SetValue(true);
+ break;
+ }
+
+ const bool versioningSelected = so.syncCfg.handleDeletion == DELETE_TO_VERSIONING;
+ m_panelVersioning->Show(versioningSelected);
+
+ if (versioningSelected)
+ {
+ updateTooltipEnumVal(enumVersioningStyle, *m_choiceVersioningStyle);
+
+ const std::wstring pathSep = utfCvrtTo<std::wstring>(FILE_NAME_SEPARATOR);
+ switch (so.syncCfg.versioningStyle)
+ {
+ case VER_STYLE_REPLACE:
+ setText(*m_staticTextNamingCvtPart1, pathSep + _("Folder") + pathSep + _("File") + L".doc");
+ setText(*m_staticTextNamingCvtPart2Bold, L"");
+ setText(*m_staticTextNamingCvtPart3, L"");
+ break;
+
+ case VER_STYLE_ADD_TIMESTAMP:
+ setText(*m_staticTextNamingCvtPart1, pathSep + _("Folder") + pathSep + _("File") + L".doc ");
+ setText(*m_staticTextNamingCvtPart2Bold, _("YYYY-MM-DD hhmmss"));
+ setText(*m_staticTextNamingCvtPart3, L".doc");
+ break;
+ }
+ }
+
+ m_toggleBtnErrorIgnore->SetValue(false);
+ m_toggleBtnErrorPopup ->SetValue(false);
+
+ switch (so.onGuiError)
+ {
+ case ON_GUIERROR_IGNORE:
+ m_toggleBtnErrorIgnore->SetValue(true);
+ break;
+ case ON_GUIERROR_POPUP:
+ m_toggleBtnErrorPopup->SetValue(true);
+ break;
+ }
+
+ m_panelSyncSettings->Layout();
+ //Layout();
+ //Refresh(); //removes a few artifacts when toggling display of versioning folder
+
+ //GetSizer()->SetSizeHints(this); //~=Fit() + SetMinSize()
+ //=> works like a charm for GTK2 with window resizing problems and title bar corruption; e.g. Debian!!!
}
-void SyncCfgDialog::OnConflict(wxCommandEvent& event)
+void ConfigDialog::OnOkay(wxCommandEvent& event)
{
- pressCustomDir(directionCfg, directionCfg.custom.conflict);
- updateGui();
+ const SyncOptions so = getSyncOptions();
+
+ //------- parameter validation (BEFORE writing output!) -------
+
+ //check if user-defined directory for deletion was specified:
+ if (m_checkBoxUseLocalSyncOptions->GetValue() &&
+ so.syncCfg.handleDeletion == zen::DELETE_TO_VERSIONING)
+ {
+ Zstring versioningDir = so.syncCfg.versioningDirectory;
+ trim(versioningDir);
+ if (versioningDir.empty())
+ {
+ m_notebook->ChangeSelection(static_cast<size_t>(SyncConfigPanel::SYNC));
+ showNotificationDialog(this, DialogInfoType::INFO, PopupDialogCfg().setMainInstructions(_("Please enter a target folder for versioning.")));
+ //don't show error icon to follow "Windows' encouraging tone"
+ m_panelVersioning->SetFocus();
+ return;
+ }
+ }
+
+ //------------- comparison panel ----------------------
+ if (useAlternateCmpCfgOptOut)
+ *useAlternateCmpCfgOptOut = m_checkBoxUseLocalCmpOptions->GetValue();
+
+ cmpCfgOut.compareVar = localCmpVar;
+ cmpCfgOut.handleSymlinks = getEnumVal(enumDescrHandleSyml, *m_choiceHandleSymlinks);
+
+ //------------- filter panel --------------------------
+ FilterConfig filterCfg = getFilter();
+
+ //parameter correction: include filter must not be empty!
+ {
+ Zstring tmp = filterCfg.includeFilter;
+ trim(tmp);
+ if (tmp.empty())
+ filterCfg.includeFilter = FilterConfig().includeFilter; //no need to show error message, just correct user input
+ }
+ filterCfgOut = filterCfg;
+
+ //------------- synchronization panel -----------------
+ if (useAlternateSyncCfgOptOut)
+ *useAlternateSyncCfgOptOut = m_checkBoxUseLocalSyncOptions->GetValue();
+
+ syncCfgOut = so.syncCfg;
+
+ if (miscCfgOut)
+ {
+ miscCfgOut->handleError = so.onGuiError;
+ miscCfgOut->onCompletionCommand = so.onCompletion;
+ //a good place to commit current "on completion" history item
+ m_comboBoxOnCompletion->addItemHistory();
+ }
+
+ EndModal(ReturnSyncConfig::BUTTON_OKAY);
+}
}
+//########################################################################################
ReturnSyncConfig::ButtonPressed zen::showSyncConfigDlg(wxWindow* parent,
- CompareVariant compareVar,
- SyncConfig& syncCfg,
- const wxString& title,
- xmlAccess::OnGuiError* handleError, //
- OnCompletionCfg* onCompletion) //optional input parameter
+ SyncConfigPanel panelToShow,
+ bool* useAlternateCmpCfg, //optional parameter
+ CompConfig& cmpCfg,
+ FilterConfig& filterCfg,
+ bool* useAlternateSyncCfg, //
+ SyncConfig& syncCfg,
+ CompareVariant globalCmpVar,
+ MiscGlobalCfg* miscCfg, //
+ const wxString& title)
{
- SyncCfgDialog syncDlg(parent,
- compareVar,
- syncCfg,
- title,
- handleError,
- onCompletion);
+ ConfigDialog syncDlg(parent, panelToShow, useAlternateCmpCfg, cmpCfg, filterCfg, useAlternateSyncCfg, syncCfg, globalCmpVar, miscCfg, title);
return static_cast<ReturnSyncConfig::ButtonPressed>(syncDlg.ShowModal());
}
diff --git a/FreeFileSync/Source/ui/sync_cfg.h b/FreeFileSync/Source/ui/sync_cfg.h
index 96d2e3d0..61c89b13 100644
--- a/FreeFileSync/Source/ui/sync_cfg.h
+++ b/FreeFileSync/Source/ui/sync_cfg.h
@@ -4,8 +4,8 @@
// * Copyright (C) Zenju (zenju AT gmx DOT de) - All Rights Reserved *
// **************************************************************************
-#ifndef SYNCCONFIG_H_INCLUDED
-#define SYNCCONFIG_H_INCLUDED
+#ifndef SYNCCONFIG_H_INCLUDED_31289470134253425
+#define SYNCCONFIG_H_INCLUDED_31289470134253425
#include <wx/window.h>
#include "../lib/process_xml.h"
@@ -22,19 +22,33 @@ struct ReturnSyncConfig
};
};
-struct OnCompletionCfg
+enum class SyncConfigPanel
{
- Zstring* command; //*must* be bound!
- std::vector<Zstring>* history; //
- size_t historyMax;
+ COMPARISON = 0, //
+ FILTER = 1, //used as zero-based notebook page index!
+ SYNC = 2, //
};
+struct MiscGlobalCfg
+{
+ xmlAccess::OnGuiError& handleError; //in/out param
+
+ Zstring& onCompletionCommand; //
+ std::vector<Zstring>& onCompletionHistory;
+ size_t onCompletionHistoryMax;
+};
+
+
ReturnSyncConfig::ButtonPressed showSyncConfigDlg(wxWindow* parent,
- CompareVariant compareVar,
- SyncConfig& syncCfg,
- const wxString& title,
- xmlAccess::OnGuiError* handleError, //
- OnCompletionCfg* onCompletion); //optional input parameter
+ SyncConfigPanel panelToShow,
+ bool* useAlternateCmpCfg, //optional parameter
+ CompConfig& cmpCfg,
+ FilterConfig& filterCfg,
+ bool* useAlternateSyncCfg, //
+ SyncConfig& syncCfg,
+ CompareVariant globalCmpVar,
+ MiscGlobalCfg* miscCfg, //
+ const wxString& title);
}
-#endif // SYNCCONFIG_H_INCLUDED
+#endif //SYNCCONFIG_H_INCLUDED_31289470134253425
diff --git a/FreeFileSync/Source/version/version.h b/FreeFileSync/Source/version/version.h
index 38d5aa0a..1f70fc6f 100644
--- a/FreeFileSync/Source/version/version.h
+++ b/FreeFileSync/Source/version/version.h
@@ -3,7 +3,7 @@
namespace zen
{
-const wchar_t currentVersion[] = L"6.3"; //internal linkage!
+const wchar_t currentVersion[] = L"6.4"; //internal linkage!
}
#endif
diff --git a/wx+/file_drop.h b/wx+/file_drop.h
index 1cc24ebd..5a28096d 100644
--- a/wx+/file_drop.h
+++ b/wx+/file_drop.h
@@ -35,14 +35,6 @@ void setupFileDrop(wxWindow& wnd);
-
-
-
-
-
-
-
-
namespace impl
{
inline
diff --git a/wx+/key_event.h b/wx+/key_event.h
new file mode 100644
index 00000000..60cb7372
--- /dev/null
+++ b/wx+/key_event.h
@@ -0,0 +1,118 @@
+// **************************************************************************
+// * 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) Zenju (zenju AT gmx DOT de) - All Rights Reserved *
+// **************************************************************************
+
+#ifndef KEY_EVENT_H_086130871086708354674
+#define KEY_EVENT_H_086130871086708354674
+
+#include <functional>
+#include <zen/scope_guard.h>
+#include <wx/toplevel.h>
+#include <wx/window.h>
+#include <wx/event.h>
+
+namespace zen
+{
+//wxWidgets provides no elegant way to register shortcut keys scoped for dialog windows =>
+//enable dialog-specific local key events!
+
+//setup in wxDialog-derived class' constructor, e.g.:
+// setupLocalKeyEvents(*this, [this](wxKeyEvent& event){ this->onLocalKeyEvent(event); });
+//
+// => redirects local key events to:
+// void MyDlg::onLocalKeyEvent(wxKeyEvent& event);
+void setupLocalKeyEvents(wxWindow& wnd, const std::function<void(wxKeyEvent& event)>& callback); //callback held during life time of "wnd"!
+
+
+
+
+
+
+
+//pretty much the same like "bool wxWindowBase::IsDescendant(wxWindowBase* child) const" but without the obvious misnaming
+inline
+bool isComponentOf(const wxWindow* child, const wxWindow* top)
+{
+ for (const wxWindow* wnd = child; wnd != nullptr; wnd = wnd->GetParent())
+ if (wnd == top)
+ return true;
+ return false;
+}
+
+
+namespace impl
+{
+inline
+const wxTopLevelWindow* getTopLevelWindow(const wxWindow* child)
+{
+ for (const wxWindow* wnd = child; wnd != nullptr; wnd = wnd->GetParent())
+ if (auto tlw = dynamic_cast<const wxTopLevelWindow*>(wnd))
+ return tlw;
+ return nullptr;
+}
+
+
+class LokalKeyEventHandler : public wxWindow //private wxEvtHandler
+{
+public:
+ LokalKeyEventHandler(wxWindow& parent, const std::function<void(wxKeyEvent& event)>& callback) : wxWindow(&parent, wxID_ANY), //use a dummy child window to bind instance life time to parent
+ parent_(parent),
+ callback_(callback),
+ processingCallback(false)
+ {
+ Hide(); //this is just a dummy window so that its parent can have ownership
+ Disable(); //
+
+ //register global hotkeys (without needing explicit menu entry)
+ wxTheApp->Connect(wxEVT_KEY_DOWN, wxKeyEventHandler(LokalKeyEventHandler::onGlobalKeyEvent), nullptr, this);
+ wxTheApp->Connect(wxEVT_CHAR_HOOK, wxKeyEventHandler(LokalKeyEventHandler::onGlobalKeyEvent), nullptr, this); //capture direction keys
+ }
+
+ ~LokalKeyEventHandler()
+ {
+ //important! event source wxTheApp lives longer than this instance -> disconnect!
+ wxTheApp->Disconnect(wxEVT_KEY_DOWN, wxKeyEventHandler(LokalKeyEventHandler::onGlobalKeyEvent), nullptr, this);
+ wxTheApp->Disconnect(wxEVT_CHAR_HOOK, wxKeyEventHandler(LokalKeyEventHandler::onGlobalKeyEvent), nullptr, this);
+ }
+
+private:
+ void onGlobalKeyEvent(wxKeyEvent& event)
+ {
+ const wxWindow* focus = wxWindow::FindFocus();
+ const wxTopLevelWindow* tlw = getTopLevelWindow(&parent_);
+
+ //avoid recursion!!! -> this ugly construct seems to be the only (portable) way to avoid re-entrancy
+ //recursion may happen in multiple situations: e.g. modal dialogs, Grid::ProcessEvent()!
+ if (processingCallback ||
+ !isComponentOf(focus, &parent_) ||
+ !parent_.IsEnabled() || //only handle if window is in use and no modal dialog is shown:
+ !tlw || !const_cast<wxTopLevelWindow*>(tlw)->IsActive()) //thanks to wxWidgets non-portability we need both checks:
+ //IsEnabled() is sufficient for Windows, IsActive() is needed on OS X since it does NOT disable the parent when showing a modal dialog
+ {
+ event.Skip();
+ return;
+ }
+ processingCallback = true;
+ ZEN_ON_SCOPE_EXIT(processingCallback = false;)
+
+ callback_(event);
+ }
+
+ wxWindow& parent_;
+ const std::function<void(wxKeyEvent& event)> callback_;
+ bool processingCallback;
+};
+}
+
+
+inline
+void setupLocalKeyEvents(wxWindow& wnd, const std::function<void(wxKeyEvent& event)>& callback)
+{
+ new impl::LokalKeyEventHandler(wnd, callback); //ownership passed to "wnd"!
+}
+
+}
+
+#endif //KEY_EVENT_H_086130871086708354674
diff --git a/wx+/popup_dlg_generated.cpp b/wx+/popup_dlg_generated.cpp
index 70c5cb20..bb804026 100644
--- a/wx+/popup_dlg_generated.cpp
+++ b/wx+/popup_dlg_generated.cpp
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Oct 8 2012)
+// C++ code generated with wxFormBuilder (version Feb 26 2014)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
diff --git a/wx+/popup_dlg_generated.h b/wx+/popup_dlg_generated.h
index 3aab2257..0afd1f55 100644
--- a/wx+/popup_dlg_generated.h
+++ b/wx+/popup_dlg_generated.h
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////
-// C++ code generated with wxFormBuilder (version Oct 8 2012)
+// C++ code generated with wxFormBuilder (version Feb 26 2014)
// http://www.wxformbuilder.org/
//
// PLEASE DO "NOT" EDIT THIS FILE!
diff --git a/zen/file_handling.cpp b/zen/file_handling.cpp
index b1b2e026..87ffee62 100644
--- a/zen/file_handling.cpp
+++ b/zen/file_handling.cpp
@@ -1172,11 +1172,10 @@ void makeDirectoryRecursively(const Zstring& directory) //FileError, ErrorTarget
{
makeDirectoryRecursively(dirParent); //throw FileError, (ErrorTargetExisting)
}
- catch (const ErrorTargetExisting& e) { throw FileError(e.toString()); }
- //yes it's pathological, but we do not want to emit ErrorTargetExisting when creating parent directories!
+ catch (const ErrorTargetExisting&) { /*parent directory created externally in the meantime? => NOT AN ERROR*/ }
//now try again...
- makeDirectoryPlain(directory, Zstring(), false); //throw FileError, ErrorTargetExisting, (ErrorTargetPathMissing)
+ makeDirectoryPlain(directory, Zstring(), false); //throw FileError, (ErrorTargetExisting), (ErrorTargetPathMissing)
return;
}
throw;
diff --git a/zen/string_base.h b/zen/string_base.h
index 23cfcdf0..2d16e669 100644
--- a/zen/string_base.h
+++ b/zen/string_base.h
@@ -381,7 +381,7 @@ template <class Char, template <class, class> class SP, class AP> inline
size_t Zbase<Char, SP, AP>::find(const Zbase& str, size_t pos) const
{
assert(pos <= length());
- const size_t len = length();
+ const size_t len = length();
const Char* thisEnd = begin() + len; //respect embedded 0
const Char* it = std::search(begin() + std::min(pos, len), thisEnd,
str.begin(), str.end());
@@ -393,7 +393,7 @@ template <class Char, template <class, class> class SP, class AP> inline
size_t Zbase<Char, SP, AP>::find(const Char* str, size_t pos) const
{
assert(pos <= length());
- const size_t len = length();
+ const size_t len = length();
const Char* thisEnd = begin() + len; //respect embedded 0
const Char* it = std::search(begin() + std::min(pos, len), thisEnd,
str, str + strLength(str));
@@ -405,9 +405,9 @@ template <class Char, template <class, class> class SP, class AP> inline
size_t Zbase<Char, SP, AP>::find(Char ch, size_t pos) const
{
assert(pos <= length());
- const size_t len = length();
+ const size_t len = length();
const Char* thisEnd = begin() + len; //respect embedded 0
- const Char* it = std::find(begin() + std::min(pos, len), thisEnd, ch);
+ const Char* it = std::find(begin() + std::min(pos, len), thisEnd, ch);
return it == thisEnd ? npos : it - begin();
}
@@ -416,7 +416,7 @@ template <class Char, template <class, class> class SP, class AP> inline
size_t Zbase<Char, SP, AP>::rfind(Char ch, size_t pos) const
{
assert(pos == npos || pos <= length());
- const size_t len = length();
+ const size_t len = length();
const Char* currEnd = begin() + (pos == npos ? len : std::min(pos + 1, len));
const Char* it = find_last(begin(), currEnd, ch);
return it == currEnd ? npos : it - begin();
@@ -428,8 +428,8 @@ size_t Zbase<Char, SP, AP>::rfind(const Char* str, size_t pos) const
{
assert(pos == npos || pos <= length());
const size_t strLen = strLength(str);
- const size_t len = length();
- const Char* currEnd = begin() + (pos == npos ? len : std::min(pos + strLen, len));
+ const size_t len = length();
+ const Char* currEnd = begin() + (pos == npos ? len : std::min(pos + strLen, len));
const Char* it = search_last(begin(), currEnd,
str, str + strLen);
return it == currEnd ? npos : it - begin();
diff --git a/zen/thread.h b/zen/thread.h
index 95cdf074..15ebb3c3 100644
--- a/zen/thread.h
+++ b/zen/thread.h
@@ -164,7 +164,7 @@ public:
private:
bool jobDone(size_t jobsTotal) const { return result_ || (jobsFinished >= jobsTotal); } //call while locked!
-
+
#ifndef NDEBUG
bool returnedResult;
#endif
diff --git a/zen/zstring.cpp b/zen/zstring.cpp
index 8803d83e..3e579b1e 100644
--- a/zen/zstring.cpp
+++ b/zen/zstring.cpp
@@ -173,9 +173,9 @@ int z_impl::compareFilenamesNoCase(const wchar_t* lhs, const wchar_t* rhs, size_
if (::LCMapString(ZSTRING_INVARIANT_LOCALE, //__in LCID Locale,
LCMAP_UPPERCASE, //__in DWORD dwMapFlags,
strIn, //__in LPCTSTR lpSrcStr,
- static_cast<int>(len), //__in int cchSrc,
+ static_cast<int>(len), //__in int cchSrc,
strOut, //__out LPTSTR lpDestStr,
- static_cast<int>(len)) == 0) //__in int cchDest
+ static_cast<int>(len)) == 0) //__in int cchDest
throw std::runtime_error("Error comparing strings (LCMapString).");
};
bgstack15