summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--freefilesync/debian/_service2
-rw-r--r--freefilesync/debian/changelog20
-rw-r--r--freefilesync/debian/freefilesync+devuan.dsc2
-rw-r--r--freefilesync/debian/patches/ffs_allow_parallel_ops.patch13
-rw-r--r--freefilesync/debian/patches/ffs_desktop_notifications.patch8
-rw-r--r--freefilesync/debian/patches/ffs_libssh2.patch7
-rw-r--r--freefilesync/debian/patches/ffs_no_check_updates.patch86
-rw-r--r--freefilesync/debian/patches/ffs_tooltips_no_taskbar.patch16
-rw-r--r--freefilesync/debian/patches/ffs_traditional_view.patch138
10 files changed, 153 insertions, 144 deletions
diff --git a/.gitignore b/.gitignore
index 84883e0..ad194a0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,8 @@
*.buildinfo
*.changes
!*moz.build
+*/debian/debhelper-build-stamp
+*/debian/*.debhelper.log
+*/debian/files
+*/debian/*.substvars
+*/debian/freefilesync/
diff --git a/freefilesync/debian/_service b/freefilesync/debian/_service
index 976c025..cab1830 100644
--- a/freefilesync/debian/_service
+++ b/freefilesync/debian/_service
@@ -14,7 +14,7 @@
<service name="tar_scm">
<param name="scm">git</param>
<param name="url">https://gitlab.com/opensource-tracking/FreeFileSync.git</param>
- <param name="revision">11.29</param>
+ <param name="revision">12.0</param>
<param name="version">_none_</param>
</service>
<service name="recompress">
diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog
index 935472a..8a92145 100644
--- a/freefilesync/debian/changelog
+++ b/freefilesync/debian/changelog
@@ -1,3 +1,23 @@
+freefilesync (12.0-100+stackrpms) obs; urgency=low
+
+ * Upstream updates
+ * Don't save password and show prompt instead for (S)FTP
+ * Fast path check failure on access errors
+ * Support PuTTY private key file version 3
+ * Respect timeout during SFTP connect
+ * Removed 20-sec timeout while checking directory existence
+ * Avoid hitting (S)FTP connection limit for non-uniform configs
+ * Fixed middle grid tooltip icon not always showing (Linux)
+ * Optimized file accesses when checking file path existence
+ * Fixed overview navigation marker not always showing on main grid
+ * Clear all grid selections after view filter toggle
+ * Fixed mouse selection starting on folder group
+ * Don't require sudo during non-root installation (Linux)
+ * Stricter type checking when deleting file/folder/symlinks
+ * Succinct error messages when path component is not existing
+
+ -- B. Stack <bgstack15@gmail.com> Sun, 22 Jan 2023 14:00:49 -0500
+
freefilesync (11.29-100+devuan) obs; urgency=low
* Upstream updates
diff --git a/freefilesync/debian/freefilesync+devuan.dsc b/freefilesync/debian/freefilesync+devuan.dsc
index fda2dd6..1bdcbe0 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.29-100+devuan
+Version: 12.0-100+stackrpms
Maintainer: B. Stack <bgstack15@gmail.com>
Homepage: https://freefilesync.org/
Standards-Version: 4.1.4
diff --git a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
index dfe2c55..c102480 100644
--- a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
+++ b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
@@ -1,9 +1,10 @@
-Version: 11.22
-Date: 2022-06-26
+Version: 12.0
+Date: 2023-01-23
+Author: bgstack15
Message: The source release appears not to actually include the logic that performs operations in parallel, so this patch doesn't actually do anything.
--- a/FreeFileSync/Source/ui/folder_selector.cpp
+++ b/FreeFileSync/Source/ui/folder_selector.cpp
-@@ -263,7 +263,7 @@ void FolderSelector::onSelectFolder(wxCo
+@@ -272,7 +272,7 @@ void FolderSelector::onSelectFolder(wxCo
void FolderSelector::onSelectAltFolder(wxCommandEvent& event)
{
Zstring folderPathPhrase = getPath();
@@ -14,7 +15,7 @@ Message: The source release appears not to actually include the logic that perfo
return;
--- a/FreeFileSync/Source/ui/small_dlgs.cpp
+++ b/FreeFileSync/Source/ui/small_dlgs.cpp
-@@ -371,11 +371,14 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p
+@@ -379,11 +379,14 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p
m_spinCtrlConnectionCount->SetValue(parallelOps);
@@ -33,7 +34,7 @@ Message: The source release appears not to actually include the logic that perfo
//---------------------------------------------------------
//set up default view for dialog size calculation
-@@ -821,7 +824,7 @@ CopyToDialog::CopyToDialog(wxWindow* par
+@@ -932,7 +935,7 @@ CopyToDialog::CopyToDialog(wxWindow* par
targetFolder = std::make_unique<FolderSelector>(this, *this, *m_buttonSelectTargetFolder, *m_bpButtonSelectAltTargetFolder, *m_targetFolderPath,
targetFolderLastSelected, sftpKeyFileLastSelected, nullptr /*staticText*/, nullptr /*wxWindow*/, nullptr /*droppedPathsFilter*/,
@@ -44,7 +45,7 @@ Message: The source release appears not to actually include the logic that perfo
--- a/FreeFileSync/Source/ui/sync_cfg.cpp
+++ b/FreeFileSync/Source/ui/sync_cfg.cpp
-@@ -352,7 +352,7 @@ emailHistoryOut_(emailHistory),
+@@ -461,7 +461,7 @@ emailHistoryOut_(emailHistory),
commandHistoryOut_(commandHistory),
globalPairCfg_(globalPairCfg),
localPairCfg_(localPairCfg),
diff --git a/freefilesync/debian/patches/ffs_desktop_notifications.patch b/freefilesync/debian/patches/ffs_desktop_notifications.patch
index 5989a9c..4dec781 100644
--- a/freefilesync/debian/patches/ffs_desktop_notifications.patch
+++ b/freefilesync/debian/patches/ffs_desktop_notifications.patch
@@ -1,5 +1,5 @@
-Version: 11.25
-Date: 2022-09-14
+Version: 12.0
+Date: 2023-01-23
Author: bgstack15
Message: Add support for building with desktop notification support.
--- a/FreeFileSync/Source/Makefile
@@ -20,7 +20,7 @@ Message: Add support for building with desktop notification support.
ifeq ($(SELINUX_EXISTING),YES)
--- a/FreeFileSync/Source/ui/progress_indicator.cpp
+++ b/FreeFileSync/Source/ui/progress_indicator.cpp
-@@ -31,6 +31,9 @@
+@@ -30,6 +30,9 @@
#include "../icon_buffer.h"
#include "../base/speed_test.h"
@@ -30,7 +30,7 @@ Message: Add support for building with desktop notification support.
using namespace zen;
using namespace fff;
-@@ -1377,6 +1380,22 @@ void SyncProgressDialogImpl<TopLevelDial
+@@ -1369,6 +1372,22 @@ void SyncProgressDialogImpl<TopLevelDial
pnl_.m_staticTextPhase->SetLabelText(getSyncResultLabel(syncResult));
//pnl_.m_bitmapStatus->SetToolTip(); -> redundant
diff --git a/freefilesync/debian/patches/ffs_libssh2.patch b/freefilesync/debian/patches/ffs_libssh2.patch
index 022914b..315ef6f 100644
--- a/freefilesync/debian/patches/ffs_libssh2.patch
+++ b/freefilesync/debian/patches/ffs_libssh2.patch
@@ -9,9 +9,9 @@ Source: <none>
Author: B Stack
Message: libssh2 v1.8.0 does not yet implement these two error messages. I do not know why distros are not serving libssh2 v1.9.0 which wa released June 20, 2019.
Date: 2019-09-17T13:41:23Z
---- 11.3-0/libssh2/libssh2_wrap.h 2020-11-01 17:14:27.203497619 -0500
-+++ 11.3-1/libssh2/libssh2_wrap.h 2020-11-01 17:18:42.294130563 -0500
-@@ -172,8 +172,8 @@
+--- a/libssh2/libssh2_wrap.h
++++ b/libssh2/libssh2_wrap.h
+@@ -171,8 +171,8 @@ std::wstring formatSshStatusCode(int sc)
ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_ENCRYPT);
ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_BAD_SOCKET);
ZEN_CHECK_CASE_FOR_CONSTANT(LIBSSH2_ERROR_KNOWN_HOSTS);
@@ -22,4 +22,3 @@ Date: 2019-09-17T13:41:23Z
default:
return replaceCpy<std::wstring>(L"SSH status %x", L"%x", numberTo<std::wstring>(sc));
-
diff --git a/freefilesync/debian/patches/ffs_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch
index f6d02f1..6fd0fc2 100644
--- a/freefilesync/debian/patches/ffs_no_check_updates.patch
+++ b/freefilesync/debian/patches/ffs_no_check_updates.patch
@@ -1,54 +1,54 @@
-Version: 11.29
-Date: 2022-12-16
+Version: 12.0
+Date: 2023-01-22
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.
--- a/FreeFileSync/Source/ui/gui_generated.cpp
+++ b/FreeFileSync/Source/ui/gui_generated.cpp
@@ -110,15 +110,6 @@ MainDialogGenerated::MainDialogGenerated
- 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 );
@@ -1129,8 +1120,6 @@ MainDialogGenerated::MainDialogGenerated
- 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_buttonCompare->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCompare ), NULL, this );
- m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), 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_buttonCompare->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCompare ), NULL, this );
+ m_bpButtonCmpConfig->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( MainDialogGenerated::onCmpSettings ), NULL, this );
--- a/FreeFileSync/Source/ui/gui_generated.h
+++ b/FreeFileSync/Source/ui/gui_generated.h
-@@ -96,8 +96,6 @@ class MainDialogGenerated : public wxFra
- wxMenuItem* m_menuItemShowOverview;
- wxMenu* m_menuHelp;
- wxMenuItem* m_menuItemHelp;
-- wxMenuItem* m_menuItemCheckVersionNow;
-- wxMenuItem* m_menuItemCheckVersionAuto;
- wxMenuItem* m_menuItemAbout;
- wxBoxSizer* bSizerPanelHolder;
- wxPanel* m_panelTopButtons;
-@@ -234,8 +232,6 @@ class MainDialogGenerated : public wxFra
- 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(); }
+@@ -96,8 +96,6 @@ protected:
+ wxMenuItem* m_menuItemShowOverview;
+ wxMenu* m_menuHelp;
+ wxMenuItem* m_menuItemHelp;
+- wxMenuItem* m_menuItemCheckVersionNow;
+- wxMenuItem* m_menuItemCheckVersionAuto;
+ wxMenuItem* m_menuItemAbout;
+ wxBoxSizer* bSizerPanelHolder;
+ wxPanel* m_panelTopButtons;
+@@ -234,8 +232,6 @@ protected:
+ 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(); }
--- a/FreeFileSync/Source/ui/main_dlg.cpp
+++ b/FreeFileSync/Source/ui/main_dlg.cpp
@@ -30,7 +30,6 @@
@@ -59,7 +59,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
#include "gui_status_handler.h"
#include "small_dlgs.h"
#include "progress_indicator.h"
-@@ -828,7 +827,6 @@ imgFileManagerSmall_([]
+@@ -834,7 +833,6 @@ imgFileManagerSmall_([]
setImage(*m_menuItemHelp, loadImage("help_sicon"));
setImage(*m_menuItemAbout, loadImage("about_sicon"));
@@ -67,7 +67,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
fixMenuIcons(*m_menuFile);
fixMenuIcons(*m_menuActions);
-@@ -928,9 +926,6 @@ imgFileManagerSmall_([]
+@@ -934,9 +932,6 @@ imgFileManagerSmall_([]
//mainly to update row label sizes...
updateGui();
@@ -77,7 +77,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
//asynchronous call to wxWindow::Layout(): fix superfluous frame on right and bottom when FFS is started in fullscreen mode
Bind(wxEVT_IDLE, &MainDialog::onLayoutWindowAsync, this);
wxCommandEvent evtDummy; //call once before onLayoutWindowAsync()
-@@ -1124,8 +1119,6 @@ void MainDialog::setGlobalCfgOnInit(cons
+@@ -1130,8 +1125,6 @@ void MainDialog::setGlobalCfgOnInit(cons
auiMgr_.GetPane(m_panelSearch).Hide(); //no need to show it on startup
auiMgr_.GetPane(m_panelLog ).Hide(); //
@@ -86,7 +86,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
auiMgr_.Update();
}
-@@ -5821,72 +5814,6 @@ void MainDialog::onMenuExportFileList(wx
+@@ -5848,72 +5841,6 @@ void MainDialog::onMenuExportFileList(wx
}
}
@@ -219,7 +219,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
- showNotificationDialog(&parent, DialogInfoType::info, PopupDialogCfg().
- setIcon(loadImage("update_check")).
- setTitle(_("Check for Program Updates")).
-- setMainInstructions(_("FreeFileSync is up to date.")));
+- setMainInstructions(_("FreeFileSync is up-to-date.")));
- }
- catch (const SysError& e)
- {
@@ -281,8 +281,8 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
cppFiles+=ui/triple_splitter.cpp
-cppFiles+=ui/version_check.cpp
cppFiles+=../../libcurl/curl_wrap.cpp
+ cppFiles+=../../zen/argon2.cpp
cppFiles+=../../zen/file_access.cpp
- cppFiles+=../../zen/file_io.cpp
--- a/FreeFileSync/Source/ui/small_dlgs.cpp
+++ b/FreeFileSync/Source/ui/small_dlgs.cpp
@@ -26,7 +26,6 @@
diff --git a/freefilesync/debian/patches/ffs_tooltips_no_taskbar.patch b/freefilesync/debian/patches/ffs_tooltips_no_taskbar.patch
index 9a5f114..7f2443d 100644
--- a/freefilesync/debian/patches/ffs_tooltips_no_taskbar.patch
+++ b/freefilesync/debian/patches/ffs_tooltips_no_taskbar.patch
@@ -1,6 +1,6 @@
-Date: 2022-12-16
+Version: 12.0
+Date: 2023-01-22
Author: bgstack15
-Version: 11.29
Message: Suppress taskbar entry for tooltip "window"
--- a/wx+/tooltip.cpp
+++ b/wx+/tooltip.cpp
@@ -12,12 +12,12 @@ Message: Suppress taskbar entry for tooltip "window"
#include <wx/app.h>
#include "image_tools.h"
#include "bitmap_button.h"
-@@ -27,7 +28,7 @@ const int TIP_WINDOW_OFFSET_DIP = 30;
- class Tooltip::TooltipDlgGenerated : public wxDialog
+@@ -28,7 +29,7 @@ class Tooltip::TooltipDlgGenerated : pub
{
public:
-- TooltipDlgGenerated(wxWindow* parent) : wxDialog(parent, wxID_ANY, L"" /*title*/, wxDefaultPosition, wxDefaultSize, 0 /*style*/)
-+ TooltipDlgGenerated(wxWindow* parent) : wxDialog(parent, wxID_ANY, L"" /*title*/, wxDefaultPosition, wxDefaultSize, wxFRAME_NO_TASKBAR /*style*/)
+ TooltipDlgGenerated(wxWindow* parent) : //Suse Linux/X11: needs parent window, else there are z-order issues
+- wxDialog(parent, wxID_ANY, L"" /*title*/, wxDefaultPosition, wxDefaultSize, 0 /*style*/)
++ wxDialog(parent, wxID_ANY, L"" /*title*/, wxDefaultPosition, wxDefaultSize, wxFRAME_NO_TASKBAR /*style*/)
{
- //Suse Linux/X11: needs parent window, else there are z-order issues
-
+ SetSizeHints(wxDefaultSize, wxDefaultSize);
+ SetExtraStyle(this->GetExtraStyle() | wxWS_EX_TRANSIENT);
diff --git a/freefilesync/debian/patches/ffs_traditional_view.patch b/freefilesync/debian/patches/ffs_traditional_view.patch
index 2c7ab23..7601b8a 100644
--- a/freefilesync/debian/patches/ffs_traditional_view.patch
+++ b/freefilesync/debian/patches/ffs_traditional_view.patch
@@ -1,11 +1,10 @@
-Version: 11.22
-Date: 2022-06-26
+Version: 12.0
+Date: 2023-01-23
Author: bgstack15@gmail.com
Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVersion" About dialog
-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.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 @@
+--- a/FreeFileSync/Source/ui/file_grid.cpp
++++ b/FreeFileSync/Source/ui/file_grid.cpp
+@@ -475,8 +475,10 @@ private:
case ItemPathFormat::name:
return utfTo<std::wstring>(fsObj->getItemName<side>());
case ItemPathFormat::relative:
@@ -16,7 +15,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);
-@@ -529,8 +531,13 @@
+@@ -529,8 +531,13 @@ private:
else
GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
@@ -31,7 +30,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));
}
-@@ -636,6 +643,26 @@
+@@ -636,6 +643,26 @@ private:
else //=> BaseFolderPair
groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>());
break;
@@ -58,7 +57,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!
-@@ -661,11 +688,38 @@
+@@ -661,11 +688,38 @@ private:
int groupNameWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + getTextExtentBuffered(dc, groupName).x);
const int groupNameMinWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + ellipsisWidth);
@@ -74,7 +73,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
int groupItemsWidth = groupSepWidth + (drawFileIcons ? gapSize_ + iconSize : 0) + gapSize_ + groupItemNamesWidth;
const int groupItemsMinWidth = groupSepWidth + (drawFileIcons ? gapSize_ + iconSize : 0) + gapSize_ + ellipsisWidth;
-+ // start trad patch
++ // start trad patch
+
+ // rearrange this one section
+ switch (itemPathFormat_)
@@ -98,19 +97,19 @@ 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)
-@@ -731,6 +785,11 @@
- }
+@@ -732,6 +786,11 @@ private:
}
}
-+
+
+ // end of original section, and back to the trad patch!
+ break;
+ }
+ // and end the addition for trad patch
-
++
return
{
-@@ -851,6 +910,9 @@
+ itemName,
+@@ -872,6 +931,9 @@ private:
rectGroup = rectGroupParent = rectGroupName = rectTmp;
rectGroupParent.width = groupParentWidth;
@@ -120,7 +119,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
rectGroupName .width = groupNameWidth;
if (stackedGroupRender)
-@@ -874,6 +936,11 @@
+@@ -895,6 +957,11 @@ private:
rectGroupItems.width = 0;
}
@@ -132,33 +131,37 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
//-------------------------------------------------------------------------
{
//clear background below parent path => harmonize with renderRowBackgound()
-@@ -884,8 +951,8 @@
+@@ -905,8 +972,9 @@ private:
wxRect rectGroupBack = rectGroup;
rectGroupBack.width += 2 * gapSize_; //include gap before vline
- if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
- rectGroupBack.height -= fastFromDIP(1);
+ if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
++ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel)
+ rectGroupBack.height -= lineWidth;
clearArea(dc, rectGroupBack, getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 == 0));
//clearArea() is surprisingly expensive => call just once!
-@@ -900,7 +967,8 @@
- rectNav.width = fastFromDIP(20);
-
- if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
-- rectNav.height -= fastFromDIP(1);
-+ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel)
-+ rectNav.height -= lineWidth;
+@@ -914,9 +982,9 @@ private:
+ //accessibility: always set *both* foreground AND background colors!
+ }
- wxColor backCol = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
- dc.GetPixel(rectNav.GetTopRight(), &backCol); //e.g. selected row!
-@@ -908,13 +976,13 @@
- dc.GradientFillLinear(rectNav, getColorSelectionGradientFrom(), backCol, wxEAST);
- }
+- if (!groupParentFolder.empty() &&
++ if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel || (!groupParentFolder.empty() &&
+ (( stackedGroupRender && row == groupFirstRow + 1) ||
+- (!stackedGroupRender && row == groupFirstRow)) &&
++ (!stackedGroupRender && row == groupFirstRow))) &&
+ (groupName.empty() || !pdi.folderGroupObj->isEmpty<side>())) //don't show for missing folders
+ {
+ tryDrawNavMarker(rectGroupParent);
+@@ -928,14 +996,14 @@ private:
+ drawCellText(dc, rectGroupParentText, groupParentFolder, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupParentFolder));
+ }
-- if (!groupName.empty() && row == groupFirstRow)
-+ if (!(itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel) && !groupName.empty() && row == groupFirstRow)
+- if (!groupName.empty() &&
++ if (!(itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel) && !groupName.empty() &&
+ row == groupFirstRow)
{
wxRect rectGroupNameBack = rectGroupName;
@@ -169,19 +172,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()
-@@ -947,9 +1015,9 @@
- drawCellText(dc, rectGroupName, groupName, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupName));
- }
-
-- if (!groupParentFolder.empty() &&
-+ if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel || (!groupParentFolder.empty() &&
- (( stackedGroupRender && row == groupFirstRow + 1) ||
-- (!stackedGroupRender && row == groupFirstRow)) &&
-+ (!stackedGroupRender && row == groupFirstRow))) &&
- (groupName.empty() || !pdi.folderGroupObj->isEmpty<side>())) //don't show for missing folders
- {
- wxRect rectGroupParentText = rectGroupParent;
-@@ -969,16 +1037,16 @@
+@@ -979,16 +1047,16 @@ private:
rectGroupItems.x += 2 * gapSize_;
rectGroupItems.width -= 2 * gapSize_;
@@ -201,8 +192,8 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
+ rectItemsBack.height -= lineWidth; //preserve item separation lines!
drawCudHighlight(rectItemsBack, pdi.fsObj->getSyncOperation());
-
-@@ -1105,7 +1173,12 @@
+ tryDrawNavMarker(rectGroupItems);
+@@ -1119,7 +1187,12 @@ private:
groupNameWidth] = getGroupRenderLayout(dc, row, pdi, insanelyHugeWidth);
assert(!stackedGroupRender);
@@ -216,7 +207,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 :
-@@ -1137,6 +1210,10 @@
+@@ -1151,6 +1224,10 @@ private:
return _("Relative path");
case ItemPathFormat::full:
return _("Full path");
@@ -227,7 +218,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
}
assert(false);
break;
-@@ -1393,7 +1470,8 @@
+@@ -1408,7 +1485,8 @@ private:
GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
//----------------------------------------------------------------------------------
@@ -237,7 +228,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));
}
-@@ -1417,7 +1495,8 @@
+@@ -1432,7 +1510,8 @@ private:
{
wxRect rectBack = rect;
if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
@@ -247,10 +238,9 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
clearArea(dc, rectBack, col);
}
-diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_grid_attr.h 11.2-1-trad3/FreeFileSync/Source/ui/file_grid_attr.h
---- 11.2-1/FreeFileSync/Source/ui/file_grid_attr.h 2020-10-02 14:39:05.313463564 -0400
-+++ 11.2-1-trad3/FreeFileSync/Source/ui/file_grid_attr.h 2020-10-02 20:21:48.863111642 -0400
-@@ -79,6 +79,8 @@
+--- a/FreeFileSync/Source/ui/file_grid_attr.h
++++ b/FreeFileSync/Source/ui/file_grid_attr.h
+@@ -79,6 +79,8 @@ enum class ItemPathFormat
name,
relative,
full,
@@ -259,10 +249,17 @@ 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.21-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-05-22 20:26:31.350461792 -0400
-@@ -2741,6 +2741,8 @@
+--- a/FreeFileSync/Source/ui/main_dlg.cpp
++++ b/FreeFileSync/Source/ui/main_dlg.cpp
+@@ -439,7 +439,6 @@ void MainDialog::create(const Zstring& g
+ if (mainDlg->globalCfg_.welcomeShownVersion != ffsVersion)
+ {
+ mainDlg->globalCfg_.welcomeShownVersion = ffsVersion;
+- showAboutDialog(mainDlg);
+ }
+
+
+@@ -2773,6 +2772,8 @@ void MainDialog::onGridLabelContextRim(G
addFormatEntry(_("Item name" ), ItemPathFormat::name);
addFormatEntry(_("Relative path"), ItemPathFormat::relative);
addFormatEntry(_("Full path" ), ItemPathFormat::full);
@@ -271,10 +268,9 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/main_d
//----------------------------------------------------------------------------------------------
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
-@@ -528,6 +528,12 @@
+--- a/FreeFileSync/Source/config.cpp
++++ b/FreeFileSync/Source/config.cpp
+@@ -494,6 +494,12 @@ void writeText(const ItemPathFormat& val
case ItemPathFormat::full:
output = "Full";
break;
@@ -287,7 +283,7 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/config.cp
}
}
-@@ -541,6 +547,10 @@
+@@ -507,6 +513,10 @@ bool readText(const std::string& input,
value = ItemPathFormat::relative;
else if (tmp == "Full")
value = ItemPathFormat::full;
@@ -298,10 +294,9 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/config.cp
else
return false;
return true;
-diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_view.cpp 11.2-1-trad3/FreeFileSync/Source/ui/file_view.cpp
---- 11.2-1/FreeFileSync/Source/ui/file_view.cpp 2020-10-02 14:39:05.305463465 -0400
-+++ 11.2-1-trad3/FreeFileSync/Source/ui/file_view.cpp 2020-10-02 20:22:38.439733112 -0400
-@@ -798,11 +798,13 @@
+--- a/FreeFileSync/Source/ui/file_view.cpp
++++ b/FreeFileSync/Source/ui/file_view.cpp
+@@ -798,11 +798,13 @@ void FileView::sortView(ColumnTypeRim ty
break;
case ItemPathFormat::relative:
@@ -315,14 +310,3 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_v
if ( ascending && onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<true, SelectSide::left>(folderPairs_));
else if ( ascending && !onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<true, SelectSide::right>(folderPairs_));
else if (!ascending && onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<false, SelectSide::left>(folderPairs_));
-diff -aur 11.22-0/FreeFileSync/Source/ui/main_dlg.cpp 11.22-1/FreeFileSync/Source/ui/main_dlg.cpp
---- 11.22-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 12:01:15.634291415 -0400
-+++ 11.22-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 15:39:46.313320272 -0400
-@@ -436,7 +436,6 @@
- if (mainDlg->globalCfg_.welcomeShownVersion != ffsVersion)
- {
- mainDlg->globalCfg_.welcomeShownVersion = ffsVersion;
-- showAboutDialog(mainDlg);
- }
-
-
bgstack15