[Companion] SD Sync reworked: (#4906)
commitc1586b72bbcd5c8bee394701ab5fe175c52910d6
authorMax Paperno <mpaperno@users.noreply.github.com>
Mon, 8 May 2017 18:51:26 +0000 (8 14:51 -0400)
committerBertrand Songis <bsongis@gmail.com>
Mon, 8 May 2017 18:51:26 +0000 (8 20:51 +0200)
tree1e426fc5e27e6ec45530d4602d0c152ccbfc5afd
parentca25696d1a3f446e2944ff7d7f694c5239e0b199
[Companion] SD Sync reworked: (#4906)

* Complete re-write of SyncProcess, now more robust, UI-independent, runs in own thread, large speed boost;
    * Use file hash comparisons instead of byte-level compare with string methods (probable fixes for #4837 and #4848);
    * New pre-sync options dialog with selectable folders and other settings (settings are remembered until app exit);
    * Option to choose sync direction(s) (up/down/bi) and the order in which bi-directional sync runs;
    * Option to choose file comparison mode (timestamp/hash/both) or force overwrite (for one-way sync);
    * Option to set a maximum file size to copy;
    * Option to do a test run w/out actually copying any files;
    * Better reporting of progress, total counts (copied/updated/skipped), and errors, with color coding;
    * Much more reliable to cancel long-running/hung copy process;
    * ProgressWidget can now display rich-text in the text browser, added some new functions for usage;
    * Misc. small layout tweaks to ProgressDialog and ProgressWidget to make them behave/look better;
companion/src/mainwindow.cpp
companion/src/mainwindow.h
companion/src/process_sync.cpp
companion/src/process_sync.h
companion/src/progressdialog.cpp
companion/src/progressdialog.h
companion/src/progressdialog.ui
companion/src/progresswidget.cpp
companion/src/progresswidget.h
companion/src/progresswidget.ui