summaryrefslogtreecommitdiff
path: root/freefilesync/ffs_traditional_view.patch
diff options
context:
space:
mode:
authorB Stack <bgstack15@gmail.com>2022-06-07 15:38:20 -0400
committerB Stack <bgstack15@gmail.com>2022-06-07 15:38:20 -0400
commit9ee86228fb287d93b79c83bd684614eb988cd8f2 (patch)
treebc52fa511ab8ec63a8ac24b537fed38e3af17016 /freefilesync/ffs_traditional_view.patch
parentMerge branch 'scite-bump' into 'master' (diff)
downloadstackrpms-9ee86228fb287d93b79c83bd684614eb988cd8f2.tar.gz
stackrpms-9ee86228fb287d93b79c83bd684614eb988cd8f2.tar.bz2
stackrpms-9ee86228fb287d93b79c83bd684614eb988cd8f2.zip
ffs: major rewrite of spec for el8 and fc
Diffstat (limited to 'freefilesync/ffs_traditional_view.patch')
-rw-r--r--freefilesync/ffs_traditional_view.patch318
1 files changed, 0 insertions, 318 deletions
diff --git a/freefilesync/ffs_traditional_view.patch b/freefilesync/ffs_traditional_view.patch
deleted file mode 100644
index e0cf0d2..0000000
--- a/freefilesync/ffs_traditional_view.patch
+++ /dev/null
@@ -1,318 +0,0 @@
-Version: 11.21
-Date: 2022-05-24
-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.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 @@
- else
- GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
-
-+ // trad patch section for removing lines around items in grid
-+ int lineWidth { fastFromDIP(1) } ;
-+ if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel)
-+ lineWidth = 0;
-+
- //----------------------------------------------------------------------------------
-- const wxRect rectLine(rect.x, rect.y + rect.height - fastFromDIP(1), rect.width, fastFromDIP(1));
-+ const wxRect rectLine(rect.x, rect.y + rect.height - lineWidth, rect.width, lineWidth);
- clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ?
- getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0));
- }
-@@ -636,6 +643,26 @@
- else //=> BaseFolderPair
- groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>());
- break;
-+
-+ case ItemPathFormat::traditional:
-+ if (auto groupFolder = dynamic_cast<const FolderPair*>(pdi.folderGroupObj))
-+ {
-+ groupName = utfTo<std::wstring>(groupFolder->template getItemName<side>());
-+ groupParentFolder = AFS::getDisplayPath(groupFolder->parent().template getAbstractPath<side>()) + \
-+ FILE_NAME_SEPARATOR + utfTo<std::wstring>(groupFolder->template getItemName<side>());
-+ }
-+ else //=> BaseFolderPair
-+ groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>());
-+ break;
-+
-+ case ItemPathFormat::tradrel:
-+ if (pdi.folderGroupObj)
-+ {
-+ groupName = utfTo<std::wstring>(pdi.folderGroupObj->template getItemName <side>());
-+ groupParentFolder = utfTo<std::wstring>(pdi.folderGroupObj->template getRelativePath<side>());
-+ }
-+ break;
-+
- }
-
- //path components should follow the app layout direction and are NOT a single piece of text!
-@@ -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);
-
-- const int groupSepWidth = (groupParentFolder.empty() && groupName.empty()) ? 0 : (2 * gapSize_ + fastFromDIP(1));
-+ // trad patch section for removing lines around items in grid
-+ // code duplication because this is a different scope!
-+ int lineWidth { fastFromDIP(1) } ;
-+ if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel)
-+ lineWidth = 0;
-+
-+ const int groupSepWidth = (groupParentFolder.empty() && groupName.empty()) ? 0 : (2 * gapSize_ + lineWidth);
-
- int groupItemsWidth = groupSepWidth + (drawFileIcons ? gapSize_ + iconSize : 0) + gapSize_ + groupItemNamesWidth;
- const int groupItemsMinWidth = groupSepWidth + (drawFileIcons ? gapSize_ + iconSize : 0) + gapSize_ + ellipsisWidth;
-
-+ // start trad patch
-+
-+ // rearrange this one section
-+ switch (itemPathFormat_)
-+ {
-+ case ItemPathFormat::traditional:
-+ case ItemPathFormat::tradrel:
-+ groupParentWidth -= groupNameWidth - getTextExtentBuffered(dc, utfTo<std::wstring>(FILE_NAME_SEPARATOR)).x;
-+ if (!endsWith(groupParentFolder, L'/' ) && //e.g. ftp://server/
-+ !endsWith(groupParentFolder, L'\\') && /*e.g. C:\ */
-+ groupParentFolder.size() > 0 )
-+ groupParentFolder += contains(groupParentFolder, L'/') ? L'/' : (contains(groupParentFolder, L'\\') ? L'\\' : FILE_NAME_SEPARATOR);
-+ break;
-+ case ItemPathFormat::name:
-+ case ItemPathFormat::relative:
-+ case ItemPathFormat::full:
-+ default:
-+ // the insane logic of the new views
-+ // but preserve the original tabbing, to make the patch easier.
-+ // but with the "add slashes" paragraph 1 moved to above this switch statement!
-+
- //not enough space? => collapse
- if (int excessWidth = groupParentWidth + groupNameWidth + groupItemsWidth - maxWidth;
- excessWidth > 0)
-@@ -731,6 +785,11 @@
- }
- }
- }
-+
-+ // end of original section, and back to the trad patch!
-+ break;
-+ }
-+ // and end the addition for trad patch
-
- return
- {
-@@ -851,6 +910,9 @@
- rectGroup = rectGroupParent = rectGroupName = rectTmp;
-
- rectGroupParent.width = groupParentWidth;
-+ // re-add back the width of groupname so that the directory name is clickable
-+ if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel)
-+ rectGroupParent.width += groupNameWidth;
- rectGroupName .width = groupNameWidth;
-
- if (stackedGroupRender)
-@@ -874,6 +936,11 @@
- rectGroupItems.width = 0;
- }
-
-+ // trad patch section for removing lines around items in grid
-+ int lineWidth { fastFromDIP(1) } ;
-+ if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel)
-+ lineWidth = 0;
-+
- //-------------------------------------------------------------------------
- {
- //clear background below parent path => harmonize with renderRowBackgound()
-@@ -884,8 +951,8 @@
- 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!
-+ 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;
-
- 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 (!groupName.empty() && row == groupFirstRow)
-+ if (!(itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel) && !groupName.empty() && row == groupFirstRow)
- {
- wxRect rectGroupNameBack = rectGroupName;
-
- if (!itemName.empty())
- rectGroupNameBack.width += 2 * gapSize_; //include gap left of item vline
-- rectGroupNameBack.height -= fastFromDIP(1); //harmonize with item separation lines
-+ rectGroupNameBack.height -= lineWidth; //harmonize with item separation lines
-
- 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 @@
- rectGroupItems.x += 2 * gapSize_;
- rectGroupItems.width -= 2 * gapSize_;
-
-- wxDCPenChanger dummy(dc, wxPen(getColorGridLine(), fastFromDIP(1)));
-+ wxDCPenChanger dummy(dc, wxPen(getColorGridLine(), lineWidth));
- dc.DrawLine(rectGroupItems.GetTopLeft(), rectGroupItems.GetBottomLeft() + wxPoint(0, 1)); //draws half-open range!
-
-- rectGroupItems.x += fastFromDIP(1);
-- rectGroupItems.width -= fastFromDIP(1);
-+ rectGroupItems.x += lineWidth;
-+ rectGroupItems.width -= lineWidth;
- }
- //-------------------------------------------------------------------------
-
- wxRect rectItemsBack = rectGroupItems;
-- rectItemsBack.height -= fastFromDIP(1); //preserve item separation lines!
-+ rectItemsBack.height -= lineWidth; //preserve item separation lines!
-
- drawCudHighlight(rectItemsBack, pdi.fsObj->getSyncOperation());
-
-@@ -1105,7 +1173,12 @@
- groupNameWidth] = getGroupRenderLayout(dc, row, pdi, insanelyHugeWidth);
- assert(!stackedGroupRender);
-
-- const int groupSepWidth = (groupParentFolder.empty() && groupName.empty()) ? 0 : (2 * gapSize_ + fastFromDIP(1));
-+ // trad patch section for removing lines around items in grid
-+ int lineWidth { fastFromDIP(1) } ;
-+ if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel)
-+ lineWidth = 0;
-+
-+ const int groupSepWidth = (groupParentFolder.empty() && groupName.empty()) ? 0 : (2 * gapSize_ + lineWidth);
- 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 @@
- return _("Relative path");
- case ItemPathFormat::full:
- return _("Full path");
-+ case ItemPathFormat::traditional:
-+ return _("Traditional");
-+ case ItemPathFormat::tradrel:
-+ return _("Trad. relative");
- }
- assert(false);
- break;
-@@ -1393,7 +1470,8 @@
- GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
-
- //----------------------------------------------------------------------------------
-- const wxRect rectLine(rect.x, rect.y + rect.height - fastFromDIP(1), rect.width, fastFromDIP(1));
-+ // just hardcoding this in this trad patch, because itempathFormat_ is not available in this scope.
-+ const wxRect rectLine(rect.x, rect.y + rect.height - 0, rect.width, 0);
- clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ?
- getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0));
- }
-@@ -1417,7 +1495,8 @@
- {
- wxRect rectBack = rect;
- if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
-- rectBack.height -= fastFromDIP(1);
-+ // just hardcoding this in this trad patch, because itempathFormat_ is not available in this scope.
-+ rectBack.height -= 0;
-
- 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 @@
- name,
- relative,
- full,
-+ traditional,
-+ tradrel,
- };
-
- 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 @@
- addFormatEntry(_("Item name" ), ItemPathFormat::name);
- addFormatEntry(_("Relative path"), ItemPathFormat::relative);
- addFormatEntry(_("Full path" ), ItemPathFormat::full);
-+ addFormatEntry(_("Traditional" ), ItemPathFormat::traditional);
-+ addFormatEntry(_("Trad. relative"),ItemPathFormat::tradrel);
-
- //----------------------------------------------------------------------------------------------
- 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 @@
- case ItemPathFormat::full:
- output = "Full";
- break;
-+ case ItemPathFormat::traditional:
-+ output = "Traditional";
-+ break;
-+ case ItemPathFormat::tradrel:
-+ output = "Trad. relative";
-+ break;
- }
- }
-
-@@ -541,6 +547,10 @@
- value = ItemPathFormat::relative;
- else if (tmp == "Full")
- value = ItemPathFormat::full;
-+ else if (tmp == "Traditional")
-+ value = ItemPathFormat::traditional;
-+ else if (tmp == "Trad. relative")
-+ value = ItemPathFormat::tradrel;
- 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 @@
- break;
-
- case ItemPathFormat::relative:
-+ case ItemPathFormat::tradrel:
- if ( ascending) std::sort(sortedRef_.begin(), sortedRef_.end(), LessRelativeFolder<true >(folderPairs_));
- else if (!ascending) std::sort(sortedRef_.begin(), sortedRef_.end(), LessRelativeFolder<false>(folderPairs_));
- break;
-
- case ItemPathFormat::full:
-+ case ItemPathFormat::traditional:
- 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_));
-
bgstack15