summaryrefslogtreecommitdiff
path: root/library/process_xml.h
diff options
context:
space:
mode:
Diffstat (limited to 'library/process_xml.h')
-rw-r--r--library/process_xml.h283
1 files changed, 0 insertions, 283 deletions
diff --git a/library/process_xml.h b/library/process_xml.h
deleted file mode 100644
index 851b0d9c..00000000
--- a/library/process_xml.h
+++ /dev/null
@@ -1,283 +0,0 @@
-// **************************************************************************
-// * This file is part of the FreeFileSync project. It is distributed under *
-// * GNU General Public License: http://www.gnu.org/licenses/gpl.html *
-// * Copyright (C) 2008-2011 ZenJu (zhnmju123 AT gmx.de) *
-// **************************************************************************
-
-#ifndef PROCESSXML_H_INCLUDED
-#define PROCESSXML_H_INCLUDED
-
-#include <wx/gdicmn.h>
-#include "../structures.h"
-#include "../shared/xml_error.h"
-#include "../shared/localization.h"
-
-namespace xmlAccess
-{
-enum XmlType
-{
- XML_TYPE_GUI,
- XML_TYPE_BATCH,
- XML_TYPE_GLOBAL,
- XML_TYPE_OTHER
-};
-
-XmlType getXmlType(const wxString& filename); //throw()
-
-
-enum OnError
-{
- ON_ERROR_POPUP,
- ON_ERROR_IGNORE,
- ON_ERROR_EXIT
-};
-
-enum OnGuiError
-{
- ON_GUIERROR_POPUP,
- ON_GUIERROR_IGNORE
-};
-
-enum ColumnTypes
-{
- DIRECTORY, //this needs to begin with 0 and be continuous (some code relies on it)
- FULL_PATH,
- REL_PATH,
- FILENAME,
- SIZE,
- DATE,
- EXTENSION
-};
-const size_t COLUMN_TYPE_COUNT = 7;
-
-struct ColumnAttrib
-{
- ColumnTypes type;
- bool visible;
- size_t position;
- int width;
-};
-typedef std::vector<ColumnAttrib> ColumnAttributes;
-
-
-typedef wxString Description;
-typedef wxString Commandline;
-typedef std::vector<std::pair<Description, Commandline> > ExternalApps;
-
-//---------------------------------------------------------------------
-struct XmlGuiConfig
-{
- XmlGuiConfig() :
- hideFilteredElements(false),
- handleError(ON_GUIERROR_POPUP),
- syncPreviewEnabled(true) {} //initialize values
-
- zen::MainConfiguration mainCfg;
-
- bool hideFilteredElements;
- OnGuiError handleError; //reaction on error situation during synchronization
- bool syncPreviewEnabled;
-
- bool operator==(const XmlGuiConfig& other) const
- {
- return mainCfg == other.mainCfg &&
- hideFilteredElements == other.hideFilteredElements &&
- handleError == other.handleError &&
- syncPreviewEnabled == other.syncPreviewEnabled;
- }
-
- bool operator!=(const XmlGuiConfig& other) const { return !(*this == other); }
-};
-
-
-struct XmlBatchConfig
-{
- XmlBatchConfig() :
- silent(false),
- logFileCountMax(200),
- handleError(ON_ERROR_POPUP) {}
-
- zen::MainConfiguration mainCfg;
-
- bool silent;
- wxString logFileDirectory;
- size_t logFileCountMax;
- OnError handleError; //reaction on error situation during synchronization
-};
-
-
-struct OptionalDialogs
-{
- OptionalDialogs() { resetDialogs();}
-
- void resetDialogs();
-
- bool warningDependentFolders;
- bool warningMultiFolderWriteAccess;
- bool warningSignificantDifference;
- bool warningNotEnoughDiskSpace;
- bool warningUnresolvedConflicts;
- bool warningSyncDatabase;
- bool warningRecyclerMissing;
- bool popupOnConfigChange;
- bool showSummaryBeforeSync;
-};
-
-
-enum FileIconSize
-{
- ICON_SIZE_SMALL,
- ICON_SIZE_MEDIUM,
- ICON_SIZE_LARGE
-};
-
-
-wxString getGlobalConfigFile();
-
-struct XmlGlobalSettings
-{
- //---------------------------------------------------------------------
- //Shared (GUI/BATCH) settings
- XmlGlobalSettings() :
- programLanguage(zen::retrieveSystemLanguage()),
- copyLockedFiles(true),
- copyFilePermissions(false),
- fileTimeTolerance(2), //default 2s: FAT vs NTFS
- verifyFileCopy(false),
- transactionalFileCopy(true) {}
-
- int programLanguage;
- bool copyLockedFiles; //VSS usage
- bool copyFilePermissions;
-
- size_t fileTimeTolerance; //max. allowed file time deviation
- bool verifyFileCopy; //verify copied files
- bool transactionalFileCopy;
-
- OptionalDialogs optDialogs;
-
- //---------------------------------------------------------------------
- struct _Gui
- {
- _Gui() :
- dlgPos(wxDefaultCoord, wxDefaultCoord),
- dlgSize(wxDefaultCoord, wxDefaultCoord),
- isMaximized(false),
- maxFolderPairsVisible(6),
- autoAdjustColumnsLeft(false),
- autoAdjustColumnsRight(false),
- folderHistMax(15),
- deleteOnBothSides(false),
- useRecyclerForManualDeletion(true), //enable if OS supports it; else user will have to activate first and then get an error message
-#ifdef FFS_WIN
- textSearchRespectCase(false),
-#elif defined FFS_LINUX
- textSearchRespectCase(true),
-#endif
- iconSize(ICON_SIZE_MEDIUM),
- lastUpdateCheck(0)
- {
- //default external apps will be translated "on the fly"!!!
-#ifdef FFS_WIN
- externelApplications.push_back(std::make_pair(wxT("Show in Explorer"), //mark for extraction: _("Show in Explorer")
- wxT("explorer /select, \"%name\"")));
- externelApplications.push_back(std::make_pair(wxT("Open with default application"), //mark for extraction: _("Open with default application")
- wxT("\"%name\"")));
-#elif defined FFS_LINUX
- externelApplications.push_back(std::make_pair(wxT("Browse directory"), //mark for extraction: _("Browse directory")
- wxT("xdg-open \"%dir\"")));
- externelApplications.push_back(std::make_pair(wxT("Open with default application"), //mark for extraction: _("Open with default application")
- wxT("xdg-open \"%name\"")));
-#endif
- }
-
- wxPoint dlgPos;
- wxSize dlgSize;
- bool isMaximized;
-
- int maxFolderPairsVisible;
-
- ColumnAttributes columnAttribLeft;
- ColumnAttributes columnAttribRight;
-
- bool autoAdjustColumnsLeft;
- bool autoAdjustColumnsRight;
-
- ExternalApps externelApplications;
-
- std::vector<wxString> cfgFileHistory;
- std::vector<wxString> lastUsedConfigFiles;
-
- std::vector<Zstring> folderHistoryLeft;
- std::vector<Zstring> folderHistoryRight;
- unsigned int folderHistMax;
-
- bool deleteOnBothSides;
- bool useRecyclerForManualDeletion;
- bool textSearchRespectCase;
-
- FileIconSize iconSize;
-
- long lastUpdateCheck; //time of last update check
-
- wxString guiPerspectiveLast; //used by wxAuiManager
- } gui;
-
- //---------------------------------------------------------------------
- //struct _Batch
-};
-
-
-inline
-bool sortByType(const ColumnAttrib& a, const ColumnAttrib& b)
-{
- return a.type < b.type;
-}
-
-
-inline
-bool sortByPositionOnly(const ColumnAttrib& a, const ColumnAttrib& b)
-{
- return a.position < b.position;
-}
-
-
-inline
-bool sortByPositionAndVisibility(const ColumnAttrib& a, const ColumnAttrib& b)
-{
- if (a.visible == false) //hidden elements shall appear at end of vector
- return false;
- if (b.visible == false)
- return true;
- return a.position < b.position;
-}
-
-void readConfig(const wxString& filename, XmlGuiConfig& config); //throw xmlAccess::FfsXmlError
-void readConfig(const wxString& filename, XmlBatchConfig& config); //throw xmlAccess::FfsXmlError
-void readConfig( XmlGlobalSettings& config); //throw xmlAccess::FfsXmlError
-
-void writeConfig(const XmlGuiConfig& config, const wxString& filename); //throw xmlAccess::FfsXmlError
-void writeConfig(const XmlBatchConfig& config, const wxString& filename); //throw xmlAccess::FfsXmlError
-void writeConfig(const XmlGlobalSettings& config); //throw xmlAccess::FfsXmlError
-
-//config conversion utilities
-XmlGuiConfig convertBatchToGui(const XmlBatchConfig& batchCfg);
-XmlBatchConfig convertGuiToBatch(const XmlGuiConfig& guiCfg, const wxString& referenceFile);
-
-
-//convert (multiple) *.ffs_gui, *.ffs_batch files or combinations of both into target config structure:
-enum MergeType
-{
- MERGE_GUI, //pure gui config files
- MERGE_BATCH, // " batch "
- MERGE_GUI_BATCH, //gui and batch files
- MERGE_OTHER
-};
-MergeType getMergeType(const std::vector<wxString>& filenames); //throw ()
-
-void convertConfig(const std::vector<wxString>& filenames, XmlGuiConfig& config); //throw xmlAccess::FfsXmlError
-void convertConfig(const std::vector<wxString>& filenames, XmlBatchConfig& config); //throw xmlAccess::FfsXmlError
-}
-
-
-#endif // PROCESSXML_H_INCLUDED
bgstack15