diff options
author | B. Stack <bgstack15@gmail.com> | 2023-02-25 13:21:45 +0000 |
---|---|---|
committer | B. Stack <bgstack15@gmail.com> | 2023-02-25 13:21:45 +0000 |
commit | ef6260e9dfabc92fb008b59d2c2a09cd49880e07 (patch) | |
tree | 4982d5e9fb7f9ce024a2ad4b7edd621d04d75ce8 | |
parent | Merge branch 'scite-bump' into 'master' (diff) | |
parent | ffs rpm libcurl version for 38, rawhide (diff) | |
download | stackrpms-ef6260e9dfabc92fb008b59d2c2a09cd49880e07.tar.gz stackrpms-ef6260e9dfabc92fb008b59d2c2a09cd49880e07.tar.bz2 stackrpms-ef6260e9dfabc92fb008b59d2c2a09cd49880e07.zip |
Merge branch 'freefilesync-bump' into 'master'
Freefilesync 12.1
See merge request bgstack15/stackrpms!340
-rw-r--r-- | freefilesync/00_allow_parallel_ops.patch | 13 | ||||
-rw-r--r-- | freefilesync/01_no_check_updates.patch | 16 | ||||
-rw-r--r-- | freefilesync/05_traditional_view.patch | 158 | ||||
-rw-r--r-- | freefilesync/debian/_service | 2 | ||||
-rw-r--r-- | freefilesync/debian/changelog | 20 | ||||
-rw-r--r-- | freefilesync/debian/freefilesync+stackrpms.dsc (renamed from freefilesync/debian/freefilesync+devuan.dsc) | 4 | ||||
-rw-r--r-- | freefilesync/debian/patches/ffs_allow_parallel_ops.patch | 8 | ||||
-rw-r--r-- | freefilesync/debian/patches/ffs_desktop_notifications.patch | 6 | ||||
-rw-r--r-- | freefilesync/debian/patches/ffs_devuan.patch | 6 | ||||
-rw-r--r-- | freefilesync/debian/patches/ffs_no_check_updates.patch | 8 | ||||
-rw-r--r-- | freefilesync/debian/patches/ffs_traditional_view.patch | 60 | ||||
-rw-r--r-- | freefilesync/ffs_desktop_notifications.patch | 8 | ||||
-rw-r--r-- | freefilesync/ffs_distro_fedora.patch | 10 | ||||
-rw-r--r-- | freefilesync/freefilesync.spec | 25 |
14 files changed, 180 insertions, 164 deletions
diff --git a/freefilesync/00_allow_parallel_ops.patch b/freefilesync/00_allow_parallel_ops.patch index dfe2c55..eec6cf9 100644 --- a/freefilesync/00_allow_parallel_ops.patch +++ b/freefilesync/00_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 +@@ -386,11 +386,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 +@@ -943,7 +946,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/01_no_check_updates.patch b/freefilesync/01_no_check_updates.patch index 005f662..97f3238 100644 --- a/freefilesync/01_no_check_updates.patch +++ b/freefilesync/01_no_check_updates.patch @@ -1,5 +1,5 @@ -Version: 11.28 -Date: 2022-11-22 +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 @@ -51,7 +51,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); } --- a/FreeFileSync/Source/ui/main_dlg.cpp +++ b/FreeFileSync/Source/ui/main_dlg.cpp -@@ -31,7 +31,6 @@ +@@ -30,7 +30,6 @@ #include <wx+/window_tools.h> #include <wx+/image_resources.h> #include "cfg_grid.h" @@ -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" -@@ -830,7 +829,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); -@@ -930,9 +928,6 @@ imgFileManagerSmall_([] +@@ -934,9 +932,6 @@ imgFileManagerSmall_([] //mainly to update row label sizes... updateGui(); @@ -86,7 +86,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1 auiMgr_.Update(); } -@@ -5831,72 +5824,6 @@ void MainDialog::onMenuExportFileList(wx +@@ -5839,72 +5832,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/05_traditional_view.patch b/freefilesync/05_traditional_view.patch index 2c7ab23..bea475f 100644 --- a/freefilesync/05_traditional_view.patch +++ b/freefilesync/05_traditional_view.patch @@ -1,22 +1,21 @@ -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 @@ - case ItemPathFormat::name: - return utfTo<std::wstring>(fsObj->getItemName<side>()); - case ItemPathFormat::relative: -+ case ItemPathFormat::tradrel: - return utfTo<std::wstring>(fsObj->getRelativePath<side>()); - case ItemPathFormat::full: -+ case ItemPathFormat::traditional: - return AFS::getDisplayPath(fsObj->getAbstractPath<side>()); - } - assert(false); -@@ -529,8 +531,13 @@ +--- a/FreeFileSync/Source/ui/file_grid.cpp ++++ b/FreeFileSync/Source/ui/file_grid.cpp +@@ -473,8 +473,10 @@ private: + case ItemPathFormat::name: + return utfTo<std::wstring>(fsObj->getItemName<side>()); + case ItemPathFormat::relative: ++ case ItemPathFormat::tradrel: + return utfTo<std::wstring>(fsObj->getRelativePath<side>()); + case ItemPathFormat::full: ++ case ItemPathFormat::traditional: + return AFS::getDisplayPath(fsObj->getAbstractPath<side>()); + } + +@@ -534,8 +536,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 @@ +@@ -641,6 +648,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 @@ +@@ -666,11 +693,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 @@ - } +@@ -737,6 +791,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, +@@ -877,6 +936,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 @@ +@@ -900,6 +962,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 @@ +@@ -910,8 +977,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; +@@ -919,9 +987,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); +@@ -933,14 +1001,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 @@ +@@ -984,16 +1052,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); +@@ -1124,7 +1192,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 @@ +@@ -1156,6 +1229,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 @@ +@@ -1413,7 +1490,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 @@ +@@ -1437,7 +1515,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_.welcomeDialogLastVersion != ffsVersion) + { + mainDlg->globalCfg_.welcomeDialogLastVersion = ffsVersion; +- showAboutDialog(mainDlg); + } + + +@@ -2765,6 +2764,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); - } - - diff --git a/freefilesync/debian/_service b/freefilesync/debian/_service index cab1830..4fa92de 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">12.0</param> + <param name="revision">12.1</param> <param name="version">_none_</param> </service> <service name="recompress"> diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog index 8a92145..cd16dc2 100644 --- a/freefilesync/debian/changelog +++ b/freefilesync/debian/changelog @@ -1,3 +1,23 @@ +freefilesync (12.1-100+stackrpms) obs; urgency=low + + * Upstream updates + * First official build based on GTK3 (Linux) + * Allow cancel during folder path normalization (e.g. delay during HDD + spin up) + * Fixed slow FTP comparison performance due to libcurl regression + * Open terminal with log messages on startup error (Linux) + * Preserve changed config during auto-update + * Save config during unexpected reboot (Linux) + * Preserve config upon SIGTERM (Linux, macOS) + * Fixed progress dialog z-order after switching windows (macOS) + * Removed packet size limit for SFTP directory reading + * Mouse hover effects for config and overview grid + * Always update existing shortcuts during installation (Windows, Linux) + * Fixed another "Some files will be synchronized as part of multiple + base folders" false-negative + + -- B. Stack <bgstack15@gmail.com> Tue, 21 Feb 2023 12:22:27 -0500 + freefilesync (12.0-100+stackrpms) obs; urgency=low * Upstream updates diff --git a/freefilesync/debian/freefilesync+devuan.dsc b/freefilesync/debian/freefilesync+stackrpms.dsc index 1bdcbe0..f8e6e36 100644 --- a/freefilesync/debian/freefilesync+devuan.dsc +++ b/freefilesync/debian/freefilesync+stackrpms.dsc @@ -2,7 +2,7 @@ Format: 3.0 (quilt) Source: freefilesync Binary: freefilesync Architecture: any -Version: 12.0-100+stackrpms +Version: 12.1-100+stackrpms Maintainer: B. Stack <bgstack15@gmail.com> Homepage: https://freefilesync.org/ Standards-Version: 4.1.4 @@ -11,4 +11,4 @@ Package-List: freefilesync deb utils optional arch=any Files: 00000000000000000000000000000000 1 freefilesync.orig.tar.gz - 00000000000000000000000000000000 1 freefilesync+devuan.debian.tar.xz + 00000000000000000000000000000000 1 freefilesync+stackrpms.debian.tar.xz diff --git a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch index c102480..41434f3 100644 --- a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch +++ b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch @@ -1,5 +1,5 @@ -Version: 12.0 -Date: 2023-01-23 +Version: 12.1 +Date: 2023-02-21 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 @@ -15,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 -@@ -379,11 +379,14 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p +@@ -386,11 +386,14 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p m_spinCtrlConnectionCount->SetValue(parallelOps); @@ -34,7 +34,7 @@ Message: The source release appears not to actually include the logic that perfo //--------------------------------------------------------- //set up default view for dialog size calculation -@@ -932,7 +935,7 @@ CopyToDialog::CopyToDialog(wxWindow* par +@@ -943,7 +946,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*/, diff --git a/freefilesync/debian/patches/ffs_desktop_notifications.patch b/freefilesync/debian/patches/ffs_desktop_notifications.patch index 4dec781..b660044 100644 --- a/freefilesync/debian/patches/ffs_desktop_notifications.patch +++ b/freefilesync/debian/patches/ffs_desktop_notifications.patch @@ -1,5 +1,5 @@ -Version: 12.0 -Date: 2023-01-23 +Version: 12.1 +Date: 2023-02-21 Author: bgstack15 Message: Add support for building with desktop notification support. --- a/FreeFileSync/Source/Makefile @@ -30,7 +30,7 @@ Message: Add support for building with desktop notification support. using namespace zen; using namespace fff; -@@ -1369,6 +1372,22 @@ void SyncProgressDialogImpl<TopLevelDial +@@ -1368,6 +1371,22 @@ void SyncProgressDialogImpl<TopLevelDial pnl_.m_staticTextPhase->SetLabelText(getSyncResultLabel(syncResult)); //pnl_.m_bitmapStatus->SetToolTip(); -> redundant diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch index 6db7b9d..a24c41e 100644 --- a/freefilesync/debian/patches/ffs_devuan.patch +++ b/freefilesync/debian/patches/ffs_devuan.patch @@ -1,7 +1,7 @@ Author: bgstack15 Source: Original research -Last-Modified: 2022-09-07 -Last-Version: 11.25 +Last-Modified: 2023-02-21 +Last-Version: 12.1 Message: Main patch to compile on Devuan. --- a/FreeFileSync/Source/ffs_paths.cpp +++ b/FreeFileSync/Source/ffs_paths.cpp @@ -55,7 +55,7 @@ Message: Main patch to compile on Devuan. //-------------------------------------------------------------------------- //have animal + text match *final* dialog width -@@ -149,7 +151,7 @@ AboutDlg::AboutDlg(wxWindow* parent) : A +@@ -153,7 +155,7 @@ AboutDlg::AboutDlg(wxWindow* parent) : A const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 - 5 /* grey border*/) / 2; const int textWidth = m_panelDonate->GetSize().GetWidth() - 5 - 5 - 5 - imageWidth; diff --git a/freefilesync/debian/patches/ffs_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch index 6fd0fc2..88806ca 100644 --- a/freefilesync/debian/patches/ffs_no_check_updates.patch +++ b/freefilesync/debian/patches/ffs_no_check_updates.patch @@ -1,5 +1,5 @@ -Version: 12.0 -Date: 2023-01-22 +Version: 12.1 +Date: 2023-02-21 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 @@ -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() -@@ -1130,8 +1125,6 @@ void MainDialog::setGlobalCfgOnInit(cons +@@ -1126,8 +1121,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(); } -@@ -5848,72 +5841,6 @@ void MainDialog::onMenuExportFileList(wx +@@ -5839,72 +5832,6 @@ void MainDialog::onMenuExportFileList(wx } } diff --git a/freefilesync/debian/patches/ffs_traditional_view.patch b/freefilesync/debian/patches/ffs_traditional_view.patch index 7601b8a..e24afd0 100644 --- a/freefilesync/debian/patches/ffs_traditional_view.patch +++ b/freefilesync/debian/patches/ffs_traditional_view.patch @@ -1,21 +1,21 @@ -Version: 12.0 -Date: 2023-01-23 +Version: 12.1 +Date: 2023-02-21 Author: bgstack15@gmail.com Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVersion" About dialog --- 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: -+ case ItemPathFormat::tradrel: - return utfTo<std::wstring>(fsObj->getRelativePath<side>()); - case ItemPathFormat::full: -+ case ItemPathFormat::traditional: - return AFS::getDisplayPath(fsObj->getAbstractPath<side>()); - } - assert(false); -@@ -529,8 +531,13 @@ private: +@@ -473,8 +473,10 @@ private: + case ItemPathFormat::name: + return utfTo<std::wstring>(fsObj->getItemName<side>()); + case ItemPathFormat::relative: ++ case ItemPathFormat::tradrel: + return utfTo<std::wstring>(fsObj->getRelativePath<side>()); + case ItemPathFormat::full: ++ case ItemPathFormat::traditional: + return AFS::getDisplayPath(fsObj->getAbstractPath<side>()); + } + +@@ -534,8 +536,13 @@ private: else GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover); @@ -30,7 +30,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ? getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0)); } -@@ -636,6 +643,26 @@ private: +@@ -641,6 +648,26 @@ private: else //=> BaseFolderPair groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>()); break; @@ -57,7 +57,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe } //path components should follow the app layout direction and are NOT a single piece of text! -@@ -661,11 +688,38 @@ private: +@@ -666,11 +693,38 @@ private: int groupNameWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + getTextExtentBuffered(dc, groupName).x); const int groupNameMinWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + ellipsisWidth); @@ -97,7 +97,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe //not enough space? => collapse if (int excessWidth = groupParentWidth + groupNameWidth + groupItemsWidth - maxWidth; excessWidth > 0) -@@ -732,6 +786,11 @@ private: +@@ -737,6 +791,11 @@ private: } } @@ -109,7 +109,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe return { itemName, -@@ -872,6 +931,9 @@ private: +@@ -877,6 +936,9 @@ private: rectGroup = rectGroupParent = rectGroupName = rectTmp; rectGroupParent.width = groupParentWidth; @@ -119,7 +119,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe rectGroupName .width = groupNameWidth; if (stackedGroupRender) -@@ -895,6 +957,11 @@ private: +@@ -900,6 +962,11 @@ private: rectGroupItems.width = 0; } @@ -131,7 +131,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe //------------------------------------------------------------------------- { //clear background below parent path => harmonize with renderRowBackgound() -@@ -905,8 +972,9 @@ private: +@@ -910,8 +977,9 @@ private: wxRect rectGroupBack = rectGroup; rectGroupBack.width += 2 * gapSize_; //include gap before vline @@ -143,7 +143,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe clearArea(dc, rectGroupBack, getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 == 0)); //clearArea() is surprisingly expensive => call just once! -@@ -914,9 +982,9 @@ private: +@@ -919,9 +987,9 @@ private: //accessibility: always set *both* foreground AND background colors! } @@ -155,7 +155,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe (groupName.empty() || !pdi.folderGroupObj->isEmpty<side>())) //don't show for missing folders { tryDrawNavMarker(rectGroupParent); -@@ -928,14 +996,14 @@ private: +@@ -933,14 +1001,14 @@ private: drawCellText(dc, rectGroupParentText, groupParentFolder, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupParentFolder)); } @@ -172,7 +172,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe wxDCTextColourChanger textColorGroupName(dc); //folder background: coordinate with renderRowBackgound() -@@ -979,16 +1047,16 @@ private: +@@ -984,16 +1052,16 @@ private: rectGroupItems.x += 2 * gapSize_; rectGroupItems.width -= 2 * gapSize_; @@ -193,7 +193,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe drawCudHighlight(rectItemsBack, pdi.fsObj->getSyncOperation()); tryDrawNavMarker(rectGroupItems); -@@ -1119,7 +1187,12 @@ private: +@@ -1124,7 +1192,12 @@ private: groupNameWidth] = getGroupRenderLayout(dc, row, pdi, insanelyHugeWidth); assert(!stackedGroupRender); @@ -207,7 +207,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe const int fileIconWidth = getIconManager().getIconBuffer() ? gapSize_ + getIconManager().getIconSize() : 0; const int ellipsisWidth = getTextExtentBuffered(dc, ELLIPSIS).x; const int itemWidth = itemName.empty() ? 0 : -@@ -1151,6 +1224,10 @@ private: +@@ -1156,6 +1229,10 @@ private: return _("Relative path"); case ItemPathFormat::full: return _("Full path"); @@ -218,7 +218,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe } assert(false); break; -@@ -1408,7 +1485,8 @@ private: +@@ -1413,7 +1490,8 @@ private: GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover); //---------------------------------------------------------------------------------- @@ -228,7 +228,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ? getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0)); } -@@ -1432,7 +1510,8 @@ private: +@@ -1437,7 +1515,8 @@ private: { wxRect rectBack = rect; if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line! @@ -252,14 +252,14 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe --- 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) + if (mainDlg->globalCfg_.welcomeDialogLastVersion != ffsVersion) { - mainDlg->globalCfg_.welcomeShownVersion = ffsVersion; + mainDlg->globalCfg_.welcomeDialogLastVersion = ffsVersion; - showAboutDialog(mainDlg); } -@@ -2773,6 +2772,8 @@ void MainDialog::onGridLabelContextRim(G +@@ -2765,6 +2764,8 @@ void MainDialog::onGridLabelContextRim(G addFormatEntry(_("Item name" ), ItemPathFormat::name); addFormatEntry(_("Relative path"), ItemPathFormat::relative); addFormatEntry(_("Full path" ), ItemPathFormat::full); diff --git a/freefilesync/ffs_desktop_notifications.patch b/freefilesync/ffs_desktop_notifications.patch index 5989a9c..5ca971b 100644 --- a/freefilesync/ffs_desktop_notifications.patch +++ b/freefilesync/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 +@@ -1368,6 +1371,22 @@ void SyncProgressDialogImpl<TopLevelDial pnl_.m_staticTextPhase->SetLabelText(getSyncResultLabel(syncResult)); //pnl_.m_bitmapStatus->SetToolTip(); -> redundant diff --git a/freefilesync/ffs_distro_fedora.patch b/freefilesync/ffs_distro_fedora.patch index 78502ab..6a49f21 100644 --- a/freefilesync/ffs_distro_fedora.patch +++ b/freefilesync/ffs_distro_fedora.patch @@ -99,12 +99,12 @@ Message: some random sloppiness with a missing graphical asset. It's not importa //-------------------------------------------------------------------------- //have animal + text match *final* dialog width -@@ -152,7 +152,7 @@ - const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 /* grey border*/) / 2; - const int textWidth = m_panelDonate->GetSize().GetWidth() - 5 - 5 - imageWidth; +@@ -152,8 +154,6 @@ + const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 - 5 /* grey border*/) / 2; + const int textWidth = m_panelDonate->GetSize().GetWidth() - 5 - 5 - 5 - imageWidth; - setImage(*m_bitmapAnimalSmall, shrinkImage(animalImg, imageWidth, -1 /*maxHeight*/)); -+ //setImage(*m_bitmapAnimalSmall, shrinkImage(animalImg, imageWidth, -1 /*maxHeight*/)); - +- m_staticTextDonate->Show(); m_staticTextDonate->Wrap(textWidth - 10 /*left gap*/); //wrap *after* changing font size + } diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec index c46312f..ce9bebe 100644 --- a/freefilesync/freefilesync.spec +++ b/freefilesync/freefilesync.spec @@ -36,7 +36,7 @@ %undefine _package_note_file %endif Name: freefilesync -Version: 11.25 +Version: 12.1 Release: 1%{?dist} Summary: A file synchronization utility @@ -52,9 +52,11 @@ Source3: %{name}.xml # all rpm distros use these Patch0: 00_allow_parallel_ops.patch Patch1: 01_no_check_updates.patch -Patch2: 02_no_wx311.patch +# fc37 has wxGTK which uses wx 3.2 +#Patch2: 02_no_wx311.patch Patch3: 03_sftp.patch -Patch4: 04_revert_zenju_aggressive_upstreamisms.patch +# fc37 this is more wx < 3.2 patches which are no longer necessary +#Patch4: 04_revert_zenju_aggressive_upstreamisms.patch Patch5: 05_traditional_view.patch Patch6: 06_icon_loader.patch Patch7: 07_libssh2.patch @@ -75,7 +77,7 @@ Patch72: ffs_libcurl_7.79.1.patch Packager: B. Stack <bgstack15@gmail.com> BuildRequires: brotli-devel -BuildRequires: wxGTK3-devel +BuildRequires: wxGTK-devel BuildRequires: desktop-file-utils BuildRequires: gcc-c++ BuildRequires: ImageMagick @@ -91,7 +93,7 @@ BuildRequires: %{libssh2_name}-devel %endif BuildRequires: patch BuildRequires: pkgconfig(giomm-2.4) -BuildRequires: pkgconfig(gtk+-2.0) +BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(libselinux) BuildRequires: pkgconfig(zlib) # We need the binary so we can check version number @@ -126,9 +128,9 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \ -exec %{__sed} -i -r -e 's/\r$//' {} + %patch0 -p1 %patch1 -p1 -%patch2 -p1 +#%patch2 -p1 %patch3 -p1 -%patch4 -p1 +#%patch4 -p1 %patch5 -p1 %patch6 -p1 %patch7 -p1 @@ -174,6 +176,10 @@ case "%{libcurl_ver}" in 7.79.1) %patch72 -p1 ;; + 7.85.0 | 7.87.0 | 7.88.1 ) + # fc37 | fc38 | rawhide + echo "no patch necessary for libcurl %{libcurl_ver}" + ;; *) %patch71 -p1 ;; @@ -269,6 +275,11 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & : %ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml %changelog +* Tue Feb 21 2023 B. Stack <bgstack15@gmail.com> - 12.1-1 +- version bump +- use wxGTK (which provides version 3.2) +- use GTK3 because upstream uses it now too + * Wed Sep 07 2022 B. Stack <bgstack15@gmail.com> - 11.25-1 - version bump |