summaryrefslogtreecommitdiff
path: root/freefilesync
diff options
context:
space:
mode:
Diffstat (limited to 'freefilesync')
-rw-r--r--freefilesync/_service28
-rw-r--r--freefilesync/debian/changelog25
-rw-r--r--freefilesync/debian/freefilesync+devuan.dsc2
-rw-r--r--freefilesync/debian/patches/ffs_devuan.patch12
-rw-r--r--freefilesync/debian/patches/ffs_no_check_updates.patch84
-rw-r--r--freefilesync/debian/patches/ffs_traditional_view.patch61
-rw-r--r--freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch15
-rw-r--r--freefilesync/debian/patches/series2
-rw-r--r--freefilesync/ffs_fedora.patch14
-rw-r--r--freefilesync/ffs_no_check_updates.patch84
-rw-r--r--freefilesync/ffs_traditional_view.patch61
-rw-r--r--freefilesync/freefilesync.spec10
-rw-r--r--freefilesync/revert_zenju_aggressive_upstreamisms.patch15
13 files changed, 216 insertions, 197 deletions
diff --git a/freefilesync/_service b/freefilesync/_service
new file mode 100644
index 0000000..9ff7c86
--- /dev/null
+++ b/freefilesync/_service
@@ -0,0 +1,28 @@
+<services>
+ <service name="tar_scm">
+ <param name="scm">git</param>
+ <param name="url">https://gitlab.com/bgstack15/stackrpms.git</param>
+ <param name="subdir">freefilesync/debian</param>
+ <param name="filename">debian</param>
+ <param name="revision">freefilesync-bump</param>
+ <param name="version">_none_</param>
+ </service>
+ <service name="recompress">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="tar_scm">
+ <param name="scm">git</param>
+ <param name="url">https://gitlab.com/opensource-tracking/FreeFileSync.git</param>
+ <param name="revision">11.21</param>
+ <param name="version">_none_</param>
+ </service>
+ <service name="recompress">
+ <param name="file">*.tar</param>
+ <param name="compression">gz</param>
+ </service>
+ <service name="extract_file">
+ <param name="archive">*.tar.xz</param>
+ <param name="files">*/*.dsc</param>
+ </service>
+</services>
diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog
index 9037cac..f129b49 100644
--- a/freefilesync/debian/changelog
+++ b/freefilesync/debian/changelog
@@ -1,13 +1,30 @@
+freefilesync (11.21-1+devuan) obs; urgency=medium
+
+ * Upstream updates
+ * Support volume GUID as path:
+ \\?\Volume{01234567-89ab-cdef-0123-456789abcdef} (Windows)
+ * Avoid Two-Way conflict when changing folder name upper/lower-case
+ * List hidden warning messages in options dialog
+ * Fixed buffer overflow while receiving SFTP server banner
+ * Create crash dumps even if FFS-internal crash handling doesn't kick in
+ * Log time when error occured, not when it is reported
+ * Swap sides: Require confirmation only after comparison
+ * Updated translation files
+ * Dpkg updates
+ * Remove icon loader patch (addressed by upstream)
+
+ -- B. Stack <bgstack15@gmail.com> Sun, 22 May 2022 20:35:38 -0400
+
freefilesync (11.20-1+devuan) obs; urgency=medium
* Upstream updates
* Fixed broken icon scaling on high-DPI displays
- * Improved performance for huge exclusion filter lists: linear to
+ * Improved performance for huge exclusion filter lists: linear to
constant(!) time
* Support sync with Google Drive starred folders
- * Access "My Computers" (as created by Google Backup and Sync) if
+ * Access "My Computers" (as created by Google Backup and Sync) if
starred
- * Western Digital Mycloud NAS: fixed ERROR_ALREADY_EXISTS when changing
+ * Western Digital Mycloud NAS: fixed ERROR_ALREADY_EXISTS when changing
case
* Added per-file progress for "copy to" function
* Have filter wildcard ? not match path separator
@@ -35,7 +52,7 @@ freefilesync (11.18-1+devuan) obs; urgency=medium
* Fixed SFTP key file login error on OpenSSH_8.8p1
* Add error details for NSFileReadUnknownError (macOS)
* Disable new config button when already at default
- * Use user language instead of region locale during installation
+ * Use user language instead of region locale during installation
* Bump required libcurl4-openssl-dev >= 7.82.0
-- B. Stack <bgstack15@gmail.com> Wed, 09 Mar 2022 09:38:41 -0500
diff --git a/freefilesync/debian/freefilesync+devuan.dsc b/freefilesync/debian/freefilesync+devuan.dsc
index e2ca5a6..e43b7f0 100644
--- a/freefilesync/debian/freefilesync+devuan.dsc
+++ b/freefilesync/debian/freefilesync+devuan.dsc
@@ -2,7 +2,7 @@ Format: 3.0 (quilt)
Source: freefilesync
Binary: freefilesync
Architecture: any
-Version: 11.20-1+devuan
+Version: 11.21-1+devuan
Maintainer: B. Stack <bgstack15@gmail.com>
Homepage: https://freefilesync.org/
Standards-Version: 4.1.4
diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch
index da59209..fc4db2d 100644
--- a/freefilesync/debian/patches/ffs_devuan.patch
+++ b/freefilesync/debian/patches/ffs_devuan.patch
@@ -1,16 +1,16 @@
Author: bgstack15
Source: Original research
-Last modified: 2022-04-18
+Last-Modified: 2022-05-22
+Last-Version: 11.21
Message: Main patch to compile on Devuan.
diff -x '*.swp' -x '.git*' -x '*.orig' -x '*.rej' -Naur 10.18-0/FreeFileSync/Source/ffs_paths.cpp 10.18-1/FreeFileSync/Source/ffs_paths.cpp
--- 10.13-0/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
-+++ 10.18-1/FreeFileSync/Source/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500
-@@ -64,7 +64,8 @@
++++ 11.21-1/FreeFileSync/Source/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500
+@@ -49,7 +49,7 @@
- Zstring fff::getResourceDirPf()
+ Zstring fff::getResourceDirPath()
{
-- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR;
-+ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly
+- return appendPath(getProcessParentFolderPath(), Zstr("Resources"));
+ return Zstr("/usr/share/freefilesync/");
}
diff --git a/freefilesync/debian/patches/ffs_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch
index bdc2ebd..eececed 100644
--- a/freefilesync/debian/patches/ffs_no_check_updates.patch
+++ b/freefilesync/debian/patches/ffs_no_check_updates.patch
@@ -3,54 +3,54 @@ Date: 2022-04-18
Author: bgstack15
Message: This is a major rewrite of the ffs_no_check_updates patch from before 11.10 which disabled only a few technical www interactions. This current version completely deletes all logic associated with checking the version of the program.
diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.cpp 11.18-1/FreeFileSync/Source/ui/gui_generated.cpp
---- 11.18-0/FreeFileSync/Source/ui/gui_generated.cpp 2022-03-08 16:51:21.090657955 -0500
-+++ 11.18-1/FreeFileSync/Source/ui/gui_generated.cpp 2022-03-08 16:55:57.009584234 -0500
+--- 11.21-0/FreeFileSync/Source/ui/gui_generated.cpp 2022-05-22 17:09:32.246809650 -0400
++++ 11.21-1/FreeFileSync/Source/ui/gui_generated.cpp 2022-05-22 17:43:22.568148782 -0400
@@ -110,15 +110,6 @@
- m_menuHelp->AppendSeparator();
+ m_menuHelp->AppendSeparator();
-- m_menuItemCheckVersionNow = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("&Check for updates now") ) , wxEmptyString, wxITEM_NORMAL );
-- m_menuHelp->Append( m_menuItemCheckVersionNow );
+- m_menuItemCheckVersionNow = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("&Check for updates now") ), wxEmptyString, wxITEM_NORMAL );
+- m_menuHelp->Append( m_menuItemCheckVersionNow );
-
-- m_menuItemCheckVersionAuto = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("Check &automatically once a week") ) , wxEmptyString, wxITEM_CHECK );
-- m_menuHelp->Append( m_menuItemCheckVersionAuto );
-- m_menuItemCheckVersionAuto->Check( true );
+- m_menuItemCheckVersionAuto = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("Check &automatically once a week") ), wxEmptyString, wxITEM_CHECK );
+- m_menuHelp->Append( m_menuItemCheckVersionAuto );
+- m_menuItemCheckVersionAuto->Check( true );
-
-- m_menuHelp->AppendSeparator();
+- 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_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About") ) + wxT('\t') + wxT("Shift+F1"), wxEmptyString, wxITEM_NORMAL );
+ m_menuHelp->Append( m_menuItemAbout );
@@ -1131,8 +1122,6 @@
- m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuExportFileList ), this, m_menuItemExportList->GetId());
- m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuResetLayout ), this, m_menuItemResetLayout->GetId());
- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onShowHelp ), this, m_menuItemHelp->GetId());
-- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersion ), this, m_menuItemCheckVersionNow->GetId());
-- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersionAutomatically ), this, m_menuItemCheckVersionAuto->GetId());
- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuAbout ), this, m_menuItemAbout->GetId());
- m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), NULL, this );
- m_bpButtonCmpConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::onCompSettingsContextMouse ), NULL, this );
+ m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuExportFileList ), this, m_menuItemExportList->GetId());
+ m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuResetLayout ), this, m_menuItemResetLayout->GetId());
+ m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onShowHelp ), this, m_menuItemHelp->GetId());
+- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersion ), this, m_menuItemCheckVersionNow->GetId());
+- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersionAutomatically ), this, m_menuItemCheckVersionAuto->GetId());
+ m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuAbout ), this, m_menuItemAbout->GetId());
+ m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), NULL, this );
+ m_bpButtonCmpConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::onCompSettingsContextMouse ), NULL, this );
diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.h 11.18-1/FreeFileSync/Source/ui/gui_generated.h
---- 11.18-0/FreeFileSync/Source/ui/gui_generated.h 2022-03-08 16:51:21.114658209 -0500
-+++ 11.18-1/FreeFileSync/Source/ui/gui_generated.h 2022-03-08 16:56:17.057796860 -0500
-@@ -95,8 +95,6 @@
- wxMenuItem* m_menuItemShowOverview;
- wxMenu* m_menuHelp;
- wxMenuItem* m_menuItemHelp;
-- wxMenuItem* m_menuItemCheckVersionNow;
-- wxMenuItem* m_menuItemCheckVersionAuto;
- wxMenuItem* m_menuItemAbout;
- wxBoxSizer* bSizerPanelHolder;
- wxPanel* m_panelTopButtons;
-@@ -231,8 +229,6 @@
- virtual void onMenuExportFileList( wxCommandEvent& event ) { event.Skip(); }
- virtual void onMenuResetLayout( 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 onCompSettingsContextMouse( wxMouseEvent& event ) { event.Skip(); }
- virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); }
+--- 11.21-0/FreeFileSync/Source/ui/gui_generated.h 2022-05-22 17:09:32.246809650 -0400
++++ 11.21-1/FreeFileSync/Source/ui/gui_generated.h 2022-05-22 17:41:42.058897375 -0400
+@@ -96,8 +96,6 @@
+ wxMenuItem* m_menuItemShowOverview;
+ wxMenu* m_menuHelp;
+ wxMenuItem* m_menuItemHelp;
+- wxMenuItem* m_menuItemCheckVersionNow;
+- wxMenuItem* m_menuItemCheckVersionAuto;
+ wxMenuItem* m_menuItemAbout;
+ wxBoxSizer* bSizerPanelHolder;
+ wxPanel* m_panelTopButtons;
+@@ -232,8 +230,6 @@
+ virtual void onMenuExportFileList( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onMenuResetLayout( 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 onCompSettingsContextMouse( wxMouseEvent& event ) { event.Skip(); }
+ virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); }
diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Source/ui/main_dlg.cpp
--- 11.16-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:52:19.811432573 -0500
+++ 11.16-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:57:14.506728896 -0500
@@ -81,7 +81,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
auiMgr_.Update();
}
-@@ -5680,72 +5674,6 @@
+@@ -5706,72 +5700,6 @@
}
}
@@ -103,7 +103,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
-
- if (shouldRunAutomaticUpdateCheck(globalCfg_.lastUpdateCheck))
- {
-- flashStatusInformation(_("Searching for program updates..."));
+- flashStatusInfo(_("Searching for program updates..."));
- //synchronous update check is sufficient here:
- automaticUpdateCheckEval(*this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion,
- automaticUpdateCheckRunAsync(automaticUpdateCheckPrepare(*this).get()).get());
@@ -134,7 +134,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
-
- if (shouldRunAutomaticUpdateCheck(globalCfg_.lastUpdateCheck))
- {
-- flashStatusInformation(_("Searching for program updates..."));
+- flashStatusInfo(_("Searching for program updates..."));
-
- std::shared_ptr<const UpdateCheckResultPrep> resultPrep = automaticUpdateCheckPrepare(*this); //run on main thread:
-
diff --git a/freefilesync/debian/patches/ffs_traditional_view.patch b/freefilesync/debian/patches/ffs_traditional_view.patch
index b9b35cc..aeeb9b2 100644
--- a/freefilesync/debian/patches/ffs_traditional_view.patch
+++ b/freefilesync/debian/patches/ffs_traditional_view.patch
@@ -1,11 +1,11 @@
-Version: 11.6
-Date: 2021-02-02
+Version: 11.21
+Date: 2022-05-22
Author: bgstack15@gmail.com
Message: restore a traditional view to FreeFileSync
diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.3-1/FreeFileSync/Source/ui/file_grid.cpp
---- 11.3-1/FreeFileSync/Source/ui/file_grid.cpp 2020-11-02 11:38:14.806496077 -0500
-+++ 11.3-2/FreeFileSync/Source/ui/file_grid.cpp 2020-11-05 11:11:46.146360956 -0500
-@@ -493,8 +493,10 @@
+--- 11.21-0/FreeFileSync/Source/ui/file_grid.cpp 2022-05-22 17:09:32.242809600 -0400
++++ 11.21-1/FreeFileSync/Source/ui/file_grid.cpp 2022-05-22 20:23:04.015916689 -0400
+@@ -475,8 +475,10 @@
case ItemPathFormat::name:
return utfTo<std::wstring>(fsObj->getItemName<side>());
case ItemPathFormat::relative:
@@ -16,7 +16,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
return AFS::getDisplayPath(fsObj->getAbstractPath<side>());
}
assert(false);
-@@ -547,8 +549,13 @@
+@@ -529,8 +531,13 @@
else
GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
@@ -31,7 +31,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ?
getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0));
}
-@@ -654,6 +661,26 @@
+@@ -636,6 +643,26 @@
else //=> BaseFolderPair
groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>());
break;
@@ -58,7 +58,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
}
//path components should follow the app layout direction and are NOT a single piece of text!
-@@ -679,11 +706,42 @@
+@@ -661,11 +688,38 @@
int groupNameWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + getTextExtentBuffered(dc, groupName).x);
const int groupNameMinWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + ellipsisWidth);
@@ -77,10 +77,6 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
+ // start trad patch
+
+ // rearrange this one section
-+ //add slashes for better readability + a wide gap for disambiguation
-+ assert(!contains(groupParentFolder, L'/') || !contains(groupParentFolder, L'\\'));
-+ const wchar_t groupParentSep = contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR);
-+
+ switch (itemPathFormat_)
+ {
+ case ItemPathFormat::traditional:
@@ -102,18 +98,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
//not enough space? => collapse
if (int excessWidth = groupParentWidth + groupNameWidth + groupItemsWidth - maxWidth;
excessWidth > 0)
-@@ -693,10 +751,6 @@
- //1. render group components on two rows
- stackedGroupRender = true;
-
-- //add slashes for better readability + a wide gap for disambiguation
-- assert(!contains(groupParentFolder, L'/') || !contains(groupParentFolder, L'\\'));
-- const wchar_t groupParentSep = contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR);
--
- if (!endsWith(groupParentFolder, L'/' ) && //e.g. ftp://server/
- !endsWith(groupParentFolder, L'\\')) /*e.g. C:\ */
- groupParentFolder += groupParentSep;
-@@ -755,6 +809,11 @@
+@@ -731,6 +785,11 @@
}
}
}
@@ -125,7 +110,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
return
{
-@@ -873,6 +932,9 @@
+@@ -851,6 +910,9 @@
rectGroup = rectGroupParent = rectGroupName = rectTmp;
rectGroupParent.width = groupParentWidth;
@@ -135,7 +120,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
rectGroupName .width = groupNameWidth;
if (stackedGroupRender)
-@@ -896,6 +958,11 @@
+@@ -874,6 +936,11 @@
rectGroupItems.width = 0;
}
@@ -147,7 +132,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
//-------------------------------------------------------------------------
{
//clear background below parent path => harmonize with renderRowBackgound()
-@@ -906,8 +973,8 @@
+@@ -884,8 +951,8 @@
wxRect rectGroupBack = rectGroup;
rectGroupBack.width += 2 * gapSize_; //include gap before vline
@@ -158,7 +143,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
clearArea(dc, rectGroupBack, getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 == 0));
//clearArea() is surprisingly expensive => call just once!
-@@ -924,7 +991,8 @@
+@@ -900,7 +967,8 @@
rectNav.width = fastFromDIP(20);
if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
@@ -168,7 +153,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
wxColor backCol = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
dc.GetPixel(rectNav.GetTopRight(), &backCol); //e.g. selected row!
-@@ -914,13 +982,13 @@
+@@ -908,13 +976,13 @@
dc.GradientFillLinear(rectNav, getColorSelectionGradientFrom(), backCol, wxEAST);
}
@@ -184,7 +169,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
wxDCTextColourChanger textColorGroupName(dc);
//folder background: coordinate with renderRowBackgound()
-@@ -974,9 +1042,9 @@
+@@ -947,9 +1015,9 @@
drawCellText(dc, rectGroupName, groupName, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupName));
}
@@ -196,7 +181,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
(groupName.empty() || !pdi.folderGroupObj->isEmpty<side>())) //don't show for missing folders
{
wxRect rectGroupParentText = rectGroupParent;
-@@ -975,16 +1043,16 @@
+@@ -969,16 +1037,16 @@
rectGroupItems.x += 2 * gapSize_;
rectGroupItems.width -= 2 * gapSize_;
@@ -217,7 +202,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
drawCudHighlight(rectItemsBack, pdi.fsObj->getSyncOperation());
-@@ -1134,7 +1202,12 @@
+@@ -1105,7 +1173,12 @@
groupNameWidth] = getGroupRenderLayout(dc, row, pdi, insanelyHugeWidth);
assert(!stackedGroupRender);
@@ -231,7 +216,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
const int fileIconWidth = getIconManager().getIconBuffer() ? gapSize_ + getIconManager().getIconSize() : 0;
const int ellipsisWidth = getTextExtentBuffered(dc, ELLIPSIS).x;
const int itemWidth = itemName.empty() ? 0 :
-@@ -1166,6 +1239,10 @@
+@@ -1137,6 +1210,10 @@
return _("Relative path");
case ItemPathFormat::full:
return _("Full path");
@@ -242,7 +227,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
}
assert(false);
break;
-@@ -1423,7 +1500,8 @@
+@@ -1393,7 +1470,8 @@
GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
//----------------------------------------------------------------------------------
@@ -252,7 +237,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ?
getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0));
}
-@@ -1447,7 +1525,8 @@
+@@ -1417,7 +1495,8 @@
{
wxRect rectBack = rect;
if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
@@ -276,8 +261,8 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g
const ItemPathFormat defaultItemPathFormatLeftGrid = ItemPathFormat::relative;
diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/main_dlg.cpp 11.2-1-trad3/FreeFileSync/Source/ui/main_dlg.cpp
--- 11.2-1/FreeFileSync/Source/ui/main_dlg.cpp 2020-10-02 20:49:11.487782099 -0400
-+++ 11.12-1/FreeFileSync/Source/ui/main_dlg.cpp 2021-07-15 20:22:02.191278722 -0400
-@@ -2653,6 +2647,8 @@
++++ 11.21-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-05-22 20:26:31.350461792 -0400
+@@ -2741,6 +2741,8 @@
addFormatEntry(_("Item name" ), ItemPathFormat::name);
addFormatEntry(_("Relative path"), ItemPathFormat::relative);
addFormatEntry(_("Full path" ), ItemPathFormat::full);
@@ -285,7 +270,7 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/main_d
+ addFormatEntry(_("Trad. relative"),ItemPathFormat::tradrel);
//----------------------------------------------------------------------------------------------
- auto setIconSize = [&](FileIconSize sz, bool showIcons)
+ auto setIconSize = [&](GridIconSize sz, bool showIcons)
diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/config.cpp 11.2-1-trad3/FreeFileSync/Source/config.cpp
--- 11.2-1/FreeFileSync/Source/config.cpp 2020-10-02 14:39:05.233462578 -0400
+++ 11.2-1-trad3/FreeFileSync/Source/config.cpp 2020-10-02 20:22:24.275555557 -0400
diff --git a/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch b/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch
index fda8cc2..43fec48 100644
--- a/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch
+++ b/freefilesync/debian/patches/revert_zenju_aggressive_upstreamisms.patch
@@ -1,6 +1,6 @@
Message: Some of these can be traced back to version 10.23 which was the last to not use <unordered_map>
-Date: 2022-04-18
-Version: 11.20
+Date: 2022-05-22
+Version: 11.21
Author: bgstack15
diff -x '*.rej' -x '*.orig' -x '*.git*' -Naur 10.24-0/wx+/choice_enum.h 10.24-1/wx+/choice_enum.h
--- 10.24-0/wx+/choice_enum.h 2020-05-17 18:30:59.441499418 -0400
@@ -155,8 +155,8 @@ diff -x '*.orig' -x '*.rej' -aur 11.1-1/wx+/bitmap_button.h 11.1-2/wx+/bitmap_bu
{
SetLabel(label);
diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/wx+/dc.h
---- 11.20-0/wx+/dc.h 2022-04-18 09:49:31.921386600 -0400
-+++ 11.20-1/wx+/dc.h 2022-04-18 10:12:04.667907393 -0400
+--- 11.21-0/wx+/dc.h 2022-05-22 17:09:32.250809701 -0400
++++ 11.21-1/wx+/dc.h 2022-05-22 20:28:53.788193992 -0400
@@ -12,7 +12,7 @@
#include <zen/basic_math.h>
#include <wx/dcbuffer.h> //for macro: wxALWAYS_NATIVE_DOUBLE_BUFFER
@@ -175,18 +175,17 @@ diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/
-#endif
//GTK2 doesn't properly support high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114
//=> requires general fix at wxWidgets-level
-
-@@ -119,11 +116,11 @@
+
+@@ -119,11 +116,10 @@
inline
-wxBitmapBundle toBitmapBundle(const wxImage& img /*expected to be DPI-scaled!*/)
+wxBitmap toBitmapBundle(const wxImage& img /*expected to be DPI-scaled!*/)
{
- //return wxBitmap(img, -1 /*depth*/, static_cast<double>(getDPI()) / defaultDpi); not (yet) implemented
+ //return wxBitmap(img, -1 /*depth*/, static_cast<double>(getDPI()) / defaultDpi); implementation just ignores scale parameter! WTF!
wxBitmap bmpScaled(img);
- bmpScaled.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
-+ //bmpScaled.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
return bmpScaled;
}
diff --git a/freefilesync/debian/patches/series b/freefilesync/debian/patches/series
index 92dd680..e3c2763 100644
--- a/freefilesync/debian/patches/series
+++ b/freefilesync/debian/patches/series
@@ -11,4 +11,4 @@ ffs_gcc.patch
ffs_traditional_view.patch
ffs_desktop_notifications.patch
ffs_openssl.patch
-ffs_icon_loader.patch
+#ffs_icon_loader.patch
diff --git a/freefilesync/ffs_fedora.patch b/freefilesync/ffs_fedora.patch
index 7f5c4d1..4b883cb 100644
--- a/freefilesync/ffs_fedora.patch
+++ b/freefilesync/ffs_fedora.patch
@@ -1,14 +1,16 @@
-Last modified date: 2022-04-18
+Author: bgstack15
+Source: Original research
+Last-Modified: 2022-05-22
+Message: Main patch to compile on Fedora
History: ffs_fedora 2020-07-22 now uses gtk3
diff -Naur 10.13-0/FreeFileSync/Source/ffs_paths.cpp 10.13-1/FreeFileSync/Source/ffs_paths.cpp
--- 10.13-0/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:23:07.615661499 -0400
-+++ 10.13-1/FreeFileSync/Source/ffs_paths.cpp 2019-06-14 20:36:28.178274292 -0400
-@@ -55,7 +55,8 @@
++++ 11.21-1/FreeFileSync/Source/ffs_paths.cpp 2019-11-21 09:41:42.287474472 -0500
+@@ -49,7 +49,7 @@
- Zstring fff::getResourceDirPf()
+ Zstring fff::getResourceDirPath()
{
-- return getProcessParentFolderPath() + FILE_NAME_SEPARATOR + Zstr("Resources") + FILE_NAME_SEPARATOR;
-+ // For Fedora, EL and Devuan, install to /usr/share/freefilesync specificly
+- return appendPath(getProcessParentFolderPath(), Zstr("Resources"));
+ return Zstr("/usr/share/freefilesync/");
}
diff --git a/freefilesync/ffs_no_check_updates.patch b/freefilesync/ffs_no_check_updates.patch
index bdc2ebd..eececed 100644
--- a/freefilesync/ffs_no_check_updates.patch
+++ b/freefilesync/ffs_no_check_updates.patch
@@ -3,54 +3,54 @@ Date: 2022-04-18
Author: bgstack15
Message: This is a major rewrite of the ffs_no_check_updates patch from before 11.10 which disabled only a few technical www interactions. This current version completely deletes all logic associated with checking the version of the program.
diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.cpp 11.18-1/FreeFileSync/Source/ui/gui_generated.cpp
---- 11.18-0/FreeFileSync/Source/ui/gui_generated.cpp 2022-03-08 16:51:21.090657955 -0500
-+++ 11.18-1/FreeFileSync/Source/ui/gui_generated.cpp 2022-03-08 16:55:57.009584234 -0500
+--- 11.21-0/FreeFileSync/Source/ui/gui_generated.cpp 2022-05-22 17:09:32.246809650 -0400
++++ 11.21-1/FreeFileSync/Source/ui/gui_generated.cpp 2022-05-22 17:43:22.568148782 -0400
@@ -110,15 +110,6 @@
- m_menuHelp->AppendSeparator();
+ m_menuHelp->AppendSeparator();
-- m_menuItemCheckVersionNow = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("&Check for updates now") ) , wxEmptyString, wxITEM_NORMAL );
-- m_menuHelp->Append( m_menuItemCheckVersionNow );
+- m_menuItemCheckVersionNow = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("&Check for updates now") ), wxEmptyString, wxITEM_NORMAL );
+- m_menuHelp->Append( m_menuItemCheckVersionNow );
-
-- m_menuItemCheckVersionAuto = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("Check &automatically once a week") ) , wxEmptyString, wxITEM_CHECK );
-- m_menuHelp->Append( m_menuItemCheckVersionAuto );
-- m_menuItemCheckVersionAuto->Check( true );
+- m_menuItemCheckVersionAuto = new wxMenuItem( m_menuHelp, wxID_ANY, wxString( _("Check &automatically once a week") ), wxEmptyString, wxITEM_CHECK );
+- m_menuHelp->Append( m_menuItemCheckVersionAuto );
+- m_menuItemCheckVersionAuto->Check( true );
-
-- m_menuHelp->AppendSeparator();
+- 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_menuItemAbout = new wxMenuItem( m_menuHelp, wxID_ABOUT, wxString( _("&About") ) + wxT('\t') + wxT("Shift+F1"), wxEmptyString, wxITEM_NORMAL );
+ m_menuHelp->Append( m_menuItemAbout );
@@ -1131,8 +1122,6 @@
- m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuExportFileList ), this, m_menuItemExportList->GetId());
- m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuResetLayout ), this, m_menuItemResetLayout->GetId());
- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onShowHelp ), this, m_menuItemHelp->GetId());
-- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersion ), this, m_menuItemCheckVersionNow->GetId());
-- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersionAutomatically ), this, m_menuItemCheckVersionAuto->GetId());
- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuAbout ), this, m_menuItemAbout->GetId());
- m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), NULL, this );
- m_bpButtonCmpConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::onCompSettingsContextMouse ), NULL, this );
+ m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuExportFileList ), this, m_menuItemExportList->GetId());
+ m_menuTools->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuResetLayout ), this, m_menuItemResetLayout->GetId());
+ m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onShowHelp ), this, m_menuItemHelp->GetId());
+- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersion ), this, m_menuItemCheckVersionNow->GetId());
+- m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuCheckVersionAutomatically ), this, m_menuItemCheckVersionAuto->GetId());
+ m_menuHelp->Bind(wxEVT_COMMAND_MENU_SELECTED, wxCommandEventHandler( MainDialogGenerated::onMenuAbout ), this, m_menuItemAbout->GetId());
+ m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), NULL, this );
+ m_bpButtonCmpConfig->Connect( wxEVT_RIGHT_DOWN, wxMouseEventHandler( MainDialogGenerated::onCompSettingsContextMouse ), NULL, this );
diff -aur 11.18-0/FreeFileSync/Source/ui/gui_generated.h 11.18-1/FreeFileSync/Source/ui/gui_generated.h
---- 11.18-0/FreeFileSync/Source/ui/gui_generated.h 2022-03-08 16:51:21.114658209 -0500
-+++ 11.18-1/FreeFileSync/Source/ui/gui_generated.h 2022-03-08 16:56:17.057796860 -0500
-@@ -95,8 +95,6 @@
- wxMenuItem* m_menuItemShowOverview;
- wxMenu* m_menuHelp;
- wxMenuItem* m_menuItemHelp;
-- wxMenuItem* m_menuItemCheckVersionNow;
-- wxMenuItem* m_menuItemCheckVersionAuto;
- wxMenuItem* m_menuItemAbout;
- wxBoxSizer* bSizerPanelHolder;
- wxPanel* m_panelTopButtons;
-@@ -231,8 +229,6 @@
- virtual void onMenuExportFileList( wxCommandEvent& event ) { event.Skip(); }
- virtual void onMenuResetLayout( 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 onCompSettingsContextMouse( wxMouseEvent& event ) { event.Skip(); }
- virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); }
+--- 11.21-0/FreeFileSync/Source/ui/gui_generated.h 2022-05-22 17:09:32.246809650 -0400
++++ 11.21-1/FreeFileSync/Source/ui/gui_generated.h 2022-05-22 17:41:42.058897375 -0400
+@@ -96,8 +96,6 @@
+ wxMenuItem* m_menuItemShowOverview;
+ wxMenu* m_menuHelp;
+ wxMenuItem* m_menuItemHelp;
+- wxMenuItem* m_menuItemCheckVersionNow;
+- wxMenuItem* m_menuItemCheckVersionAuto;
+ wxMenuItem* m_menuItemAbout;
+ wxBoxSizer* bSizerPanelHolder;
+ wxPanel* m_panelTopButtons;
+@@ -232,8 +230,6 @@
+ virtual void onMenuExportFileList( wxCommandEvent& event ) { event.Skip(); }
+ virtual void onMenuResetLayout( 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 onCompSettingsContextMouse( wxMouseEvent& event ) { event.Skip(); }
+ virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); }
diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Source/ui/main_dlg.cpp
--- 11.16-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:52:19.811432573 -0500
+++ 11.16-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-01-04 08:57:14.506728896 -0500
@@ -81,7 +81,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
auiMgr_.Update();
}
-@@ -5680,72 +5674,6 @@
+@@ -5706,72 +5700,6 @@
}
}
@@ -103,7 +103,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
-
- if (shouldRunAutomaticUpdateCheck(globalCfg_.lastUpdateCheck))
- {
-- flashStatusInformation(_("Searching for program updates..."));
+- flashStatusInfo(_("Searching for program updates..."));
- //synchronous update check is sufficient here:
- automaticUpdateCheckEval(*this, globalCfg_.lastUpdateCheck, globalCfg_.lastOnlineVersion,
- automaticUpdateCheckRunAsync(automaticUpdateCheckPrepare(*this).get()).get());
@@ -134,7 +134,7 @@ diff -aur 11.10-1/FreeFileSync/Source/ui/main_dlg.cpp 11.10-2/FreeFileSync/Sourc
-
- if (shouldRunAutomaticUpdateCheck(globalCfg_.lastUpdateCheck))
- {
-- flashStatusInformation(_("Searching for program updates..."));
+- flashStatusInfo(_("Searching for program updates..."));
-
- std::shared_ptr<const UpdateCheckResultPrep> resultPrep = automaticUpdateCheckPrepare(*this); //run on main thread:
-
diff --git a/freefilesync/ffs_traditional_view.patch b/freefilesync/ffs_traditional_view.patch
index b9b35cc..aeeb9b2 100644
--- a/freefilesync/ffs_traditional_view.patch
+++ b/freefilesync/ffs_traditional_view.patch
@@ -1,11 +1,11 @@
-Version: 11.6
-Date: 2021-02-02
+Version: 11.21
+Date: 2022-05-22
Author: bgstack15@gmail.com
Message: restore a traditional view to FreeFileSync
diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.3-1/FreeFileSync/Source/ui/file_grid.cpp
---- 11.3-1/FreeFileSync/Source/ui/file_grid.cpp 2020-11-02 11:38:14.806496077 -0500
-+++ 11.3-2/FreeFileSync/Source/ui/file_grid.cpp 2020-11-05 11:11:46.146360956 -0500
-@@ -493,8 +493,10 @@
+--- 11.21-0/FreeFileSync/Source/ui/file_grid.cpp 2022-05-22 17:09:32.242809600 -0400
++++ 11.21-1/FreeFileSync/Source/ui/file_grid.cpp 2022-05-22 20:23:04.015916689 -0400
+@@ -475,8 +475,10 @@
case ItemPathFormat::name:
return utfTo<std::wstring>(fsObj->getItemName<side>());
case ItemPathFormat::relative:
@@ -16,7 +16,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
return AFS::getDisplayPath(fsObj->getAbstractPath<side>());
}
assert(false);
-@@ -547,8 +549,13 @@
+@@ -529,8 +531,13 @@
else
GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
@@ -31,7 +31,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ?
getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0));
}
-@@ -654,6 +661,26 @@
+@@ -636,6 +643,26 @@
else //=> BaseFolderPair
groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>());
break;
@@ -58,7 +58,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
}
//path components should follow the app layout direction and are NOT a single piece of text!
-@@ -679,11 +706,42 @@
+@@ -661,11 +688,38 @@
int groupNameWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + getTextExtentBuffered(dc, groupName).x);
const int groupNameMinWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + ellipsisWidth);
@@ -77,10 +77,6 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
+ // start trad patch
+
+ // rearrange this one section
-+ //add slashes for better readability + a wide gap for disambiguation
-+ assert(!contains(groupParentFolder, L'/') || !contains(groupParentFolder, L'\\'));
-+ const wchar_t groupParentSep = contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR);
-+
+ switch (itemPathFormat_)
+ {
+ case ItemPathFormat::traditional:
@@ -102,18 +98,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
//not enough space? => collapse
if (int excessWidth = groupParentWidth + groupNameWidth + groupItemsWidth - maxWidth;
excessWidth > 0)
-@@ -693,10 +751,6 @@
- //1. render group components on two rows
- stackedGroupRender = true;
-
-- //add slashes for better readability + a wide gap for disambiguation
-- assert(!contains(groupParentFolder, L'/') || !contains(groupParentFolder, L'\\'));
-- const wchar_t groupParentSep = contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR);
--
- if (!endsWith(groupParentFolder, L'/' ) && //e.g. ftp://server/
- !endsWith(groupParentFolder, L'\\')) /*e.g. C:\ */
- groupParentFolder += groupParentSep;
-@@ -755,6 +809,11 @@
+@@ -731,6 +785,11 @@
}
}
}
@@ -125,7 +110,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
return
{
-@@ -873,6 +932,9 @@
+@@ -851,6 +910,9 @@
rectGroup = rectGroupParent = rectGroupName = rectTmp;
rectGroupParent.width = groupParentWidth;
@@ -135,7 +120,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
rectGroupName .width = groupNameWidth;
if (stackedGroupRender)
-@@ -896,6 +958,11 @@
+@@ -874,6 +936,11 @@
rectGroupItems.width = 0;
}
@@ -147,7 +132,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
//-------------------------------------------------------------------------
{
//clear background below parent path => harmonize with renderRowBackgound()
-@@ -906,8 +973,8 @@
+@@ -884,8 +951,8 @@
wxRect rectGroupBack = rectGroup;
rectGroupBack.width += 2 * gapSize_; //include gap before vline
@@ -158,7 +143,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
clearArea(dc, rectGroupBack, getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 == 0));
//clearArea() is surprisingly expensive => call just once!
-@@ -924,7 +991,8 @@
+@@ -900,7 +967,8 @@
rectNav.width = fastFromDIP(20);
if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
@@ -168,7 +153,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
wxColor backCol = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
dc.GetPixel(rectNav.GetTopRight(), &backCol); //e.g. selected row!
-@@ -914,13 +982,13 @@
+@@ -908,13 +976,13 @@
dc.GradientFillLinear(rectNav, getColorSelectionGradientFrom(), backCol, wxEAST);
}
@@ -184,7 +169,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
wxDCTextColourChanger textColorGroupName(dc);
//folder background: coordinate with renderRowBackgound()
-@@ -974,9 +1042,9 @@
+@@ -947,9 +1015,9 @@
drawCellText(dc, rectGroupName, groupName, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupName));
}
@@ -196,7 +181,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
(groupName.empty() || !pdi.folderGroupObj->isEmpty<side>())) //don't show for missing folders
{
wxRect rectGroupParentText = rectGroupParent;
-@@ -975,16 +1043,16 @@
+@@ -969,16 +1037,16 @@
rectGroupItems.x += 2 * gapSize_;
rectGroupItems.width -= 2 * gapSize_;
@@ -217,7 +202,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
drawCudHighlight(rectItemsBack, pdi.fsObj->getSyncOperation());
-@@ -1134,7 +1202,12 @@
+@@ -1105,7 +1173,12 @@
groupNameWidth] = getGroupRenderLayout(dc, row, pdi, insanelyHugeWidth);
assert(!stackedGroupRender);
@@ -231,7 +216,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
const int fileIconWidth = getIconManager().getIconBuffer() ? gapSize_ + getIconManager().getIconSize() : 0;
const int ellipsisWidth = getTextExtentBuffered(dc, ELLIPSIS).x;
const int itemWidth = itemName.empty() ? 0 :
-@@ -1166,6 +1239,10 @@
+@@ -1137,6 +1210,10 @@
return _("Relative path");
case ItemPathFormat::full:
return _("Full path");
@@ -242,7 +227,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
}
assert(false);
break;
-@@ -1423,7 +1500,8 @@
+@@ -1393,7 +1470,8 @@
GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
//----------------------------------------------------------------------------------
@@ -252,7 +237,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ?
getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0));
}
-@@ -1447,7 +1525,8 @@
+@@ -1417,7 +1495,8 @@
{
wxRect rectBack = rect;
if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
@@ -276,8 +261,8 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g
const ItemPathFormat defaultItemPathFormatLeftGrid = ItemPathFormat::relative;
diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/main_dlg.cpp 11.2-1-trad3/FreeFileSync/Source/ui/main_dlg.cpp
--- 11.2-1/FreeFileSync/Source/ui/main_dlg.cpp 2020-10-02 20:49:11.487782099 -0400
-+++ 11.12-1/FreeFileSync/Source/ui/main_dlg.cpp 2021-07-15 20:22:02.191278722 -0400
-@@ -2653,6 +2647,8 @@
++++ 11.21-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-05-22 20:26:31.350461792 -0400
+@@ -2741,6 +2741,8 @@
addFormatEntry(_("Item name" ), ItemPathFormat::name);
addFormatEntry(_("Relative path"), ItemPathFormat::relative);
addFormatEntry(_("Full path" ), ItemPathFormat::full);
@@ -285,7 +270,7 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/main_d
+ addFormatEntry(_("Trad. relative"),ItemPathFormat::tradrel);
//----------------------------------------------------------------------------------------------
- auto setIconSize = [&](FileIconSize sz, bool showIcons)
+ auto setIconSize = [&](GridIconSize sz, bool showIcons)
diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/config.cpp 11.2-1-trad3/FreeFileSync/Source/config.cpp
--- 11.2-1/FreeFileSync/Source/config.cpp 2020-10-02 14:39:05.233462578 -0400
+++ 11.2-1-trad3/FreeFileSync/Source/config.cpp 2020-10-02 20:22:24.275555557 -0400
diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec
index 3636de0..9ffa82f 100644
--- a/freefilesync/freefilesync.spec
+++ b/freefilesync/freefilesync.spec
@@ -19,7 +19,7 @@
%define libssh2_name libssh2-%{name}
%endif
Name: freefilesync
-Version: 11.20
+Version: 11.21
Release: 1%{?dist}
Summary: A file synchronization utility
@@ -46,7 +46,7 @@ Patch10: revert_zenju_aggressive_upstreamisms.patch
Patch11: ffs_traditional_view.patch
Patch12: ffs_desktop_notifications.patch
Patch13: ffs_openssl.patch
-Patch14: ffs_icon_loader.patch
+#Patch14: ffs_icon_loader.patch
Packager: B. Stack <bgstack15@gmail.com>
BuildRequires: brotli-devel
@@ -113,7 +113,7 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \
# Patch13 openssl is only for openssl < 3.0.0
%patch13 -p1
%endif
-%patch14 -p1
+#%%patch14 -p1
# custom build parameters for packaging application in rpm
# fedora provides build_cxxflags, which is really just optflags
@@ -217,6 +217,10 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & :
%ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml
%changelog
+* Sun May 22 2022 B. Stack <bgstack15@gmail.com> - 11.21-1
+- version bump
+- remove icon_loader patch (fixed by upstream)
+
* Mon Apr 18 2022 B. Stack <bgstack15@gmail.com> - 11.20-1
- version bump
- remove a few patches from r_z_a_u for when gcc < 11
diff --git a/freefilesync/revert_zenju_aggressive_upstreamisms.patch b/freefilesync/revert_zenju_aggressive_upstreamisms.patch
index fda8cc2..43fec48 100644
--- a/freefilesync/revert_zenju_aggressive_upstreamisms.patch
+++ b/freefilesync/revert_zenju_aggressive_upstreamisms.patch
@@ -1,6 +1,6 @@
Message: Some of these can be traced back to version 10.23 which was the last to not use <unordered_map>
-Date: 2022-04-18
-Version: 11.20
+Date: 2022-05-22
+Version: 11.21
Author: bgstack15
diff -x '*.rej' -x '*.orig' -x '*.git*' -Naur 10.24-0/wx+/choice_enum.h 10.24-1/wx+/choice_enum.h
--- 10.24-0/wx+/choice_enum.h 2020-05-17 18:30:59.441499418 -0400
@@ -155,8 +155,8 @@ diff -x '*.orig' -x '*.rej' -aur 11.1-1/wx+/bitmap_button.h 11.1-2/wx+/bitmap_bu
{
SetLabel(label);
diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/wx+/dc.h
---- 11.20-0/wx+/dc.h 2022-04-18 09:49:31.921386600 -0400
-+++ 11.20-1/wx+/dc.h 2022-04-18 10:12:04.667907393 -0400
+--- 11.21-0/wx+/dc.h 2022-05-22 17:09:32.250809701 -0400
++++ 11.21-1/wx+/dc.h 2022-05-22 20:28:53.788193992 -0400
@@ -12,7 +12,7 @@
#include <zen/basic_math.h>
#include <wx/dcbuffer.h> //for macro: wxALWAYS_NATIVE_DOUBLE_BUFFER
@@ -175,18 +175,17 @@ diff -aur -x '*.git*' -x '.*.swp' -x '*.orig' -x '*.rej' 11.6-0/wx+/dc.h 11.6-1/
-#endif
//GTK2 doesn't properly support high DPI: https://freefilesync.org/forum/viewtopic.php?t=6114
//=> requires general fix at wxWidgets-level
-
-@@ -119,11 +116,11 @@
+
+@@ -119,11 +116,10 @@
inline
-wxBitmapBundle toBitmapBundle(const wxImage& img /*expected to be DPI-scaled!*/)
+wxBitmap toBitmapBundle(const wxImage& img /*expected to be DPI-scaled!*/)
{
- //return wxBitmap(img, -1 /*depth*/, static_cast<double>(getDPI()) / defaultDpi); not (yet) implemented
+ //return wxBitmap(img, -1 /*depth*/, static_cast<double>(getDPI()) / defaultDpi); implementation just ignores scale parameter! WTF!
wxBitmap bmpScaled(img);
- bmpScaled.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
-+ //bmpScaled.SetScaleFactor(static_cast<double>(getDPI()) / defaultDpi);
return bmpScaled;
}
bgstack15