Skip to content

Commit 1c7a6ec

Browse files
authored
Updated sources to be compatible for Xcode 16.3, a bit of cleanup for the future Gallery presentation (#553)
* Cleanup, introducing structure and types for the gallery view * clang-format * Reshuffling the build settings around to keep the swift interop happy * Updated for Xcode 16.3
1 parent 0def65b commit 1c7a6ec

File tree

18 files changed

+102
-87
lines changed

18 files changed

+102
-87
lines changed

Source/CUI/source/CommandPopover.mm

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1-
// Copyright (C) 2024 Michael Kazakov. Subject to GNU General Public License version 3.
1+
// Copyright (C) 2024-2025 Michael Kazakov. Subject to GNU General Public License version 3.
22
#include "CommandPopover.h"
33
#include <Carbon/Carbon.h>
44
#include <vector>
55
#include <ranges>
66
#include <algorithm>
77
#include <numeric>
88
#include <span>
9+
#include <cmath>
910
#include <optional>
1011

1112
static constexpr double g_ContentViewCornerRadius = 10.;

Source/NimbleCommander/NimbleCommander.xcodeproj/project.pbxproj

+24-8
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@
129129
CF0A48552BDDA2C400833160 /* ToggleSingleOrDualMode.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF197C421FB81ACA009F6C59 /* ToggleSingleOrDualMode.mm */; };
130130
CF0A48562BDDA2C800833160 /* ToggleSort.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF0139AE1E99DAC100E44F2D /* ToggleSort.mm */; };
131131
CF0A48572BDDA2CD00833160 /* ViewFile.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF5E9A371FCBC521005608F5 /* ViewFile.mm */; };
132-
CF0A48582BDDA39600833160 /* Layout.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF31F66F1DFE644B005A1A40 /* Layout.mm */; };
132+
CF0A48582BDDA39600833160 /* Layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF31F66F1DFE644B005A1A40 /* Layout.cpp */; };
133133
CF0A48592BDDA39B00833160 /* PanelBriefView.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFD3CB1C1DA4C888006DA143 /* PanelBriefView.mm */; };
134134
CF0A485A2BDDA3A000833160 /* PanelBriefViewCollectionView.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF282AC91E0A2D6300EC7F33 /* PanelBriefViewCollectionView.mm */; };
135135
CF0A485B2BDDA3A400833160 /* PanelBriefViewCollectionViewBackground.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF56C2C51DC358F200F0DF0F /* PanelBriefViewCollectionViewBackground.mm */; };
@@ -138,7 +138,7 @@
138138
CF0A485E2BDDA3B800833160 /* PanelBriefViewFixedNumberLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF6BF8532197F5C80017CECB /* PanelBriefViewFixedNumberLayout.mm */; };
139139
CF0A485F2BDDA3BE00833160 /* PanelBriefViewFixedWidthLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF6BF80C219140360017CECB /* PanelBriefViewFixedWidthLayout.mm */; };
140140
CF0A48602BDDA3C400833160 /* PanelBriefViewItemCarrier.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF2437661DEC268A00245C14 /* PanelBriefViewItemCarrier.mm */; };
141-
CF0A48612BDDA3CE00833160 /* Layout.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF94CF931DD4418000EEA420 /* Layout.mm */; };
141+
CF0A48612BDDA3CE00833160 /* Layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF94CF931DD4418000EEA420 /* Layout.cpp */; };
142142
CF0A48622BDDA3D200833160 /* PanelListView.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF84C8F71DBB2AC300B4E888 /* PanelListView.mm */; };
143143
CF0A48632BDDA3D700833160 /* PanelListViewDateTimeView.mm in Sources */ = {isa = PBXBuildFile; fileRef = CF56C2D51DC43C7E00F0DF0F /* PanelListViewDateTimeView.mm */; };
144144
CF0A48642BDDA3DC00833160 /* PanelListViewExtensionView.mm in Sources */ = {isa = PBXBuildFile; fileRef = CFA99A67265EE01E00F72E93 /* PanelListViewExtensionView.mm */; };
@@ -195,6 +195,8 @@
195195
CF36DBE11F6BCDA0004A018E /* WebDAVConnectionSheetController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF36DBE51F6BCDA0004A018E /* WebDAVConnectionSheetController.xib */; };
196196
CF36DBE21F6BCDA0004A018E /* WebDAVConnectionSheetController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF36DBE51F6BCDA0004A018E /* WebDAVConnectionSheetController.xib */; };
197197
CF371DAA2D18472E0034EB3F /* ActionsShortcutsManager_UT.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF371DA92D18472E0034EB3F /* ActionsShortcutsManager_UT.cpp */; };
198+
CF3FC99E2D99502900878079 /* Layout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = CF3FC99D2D99502900878079 /* Layout.cpp */; };
199+
CF3FC99F2D99502900878079 /* Layout.h in Headers */ = {isa = PBXBuildFile; fileRef = CF3FC99C2D99502900878079 /* Layout.h */; };
198200
CF45CA281D3E3A6F0074F04C /* PreferencesWindowToolsTab.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF45CA2C1D3E3A6F0074F04C /* PreferencesWindowToolsTab.xib */; };
199201
CF45CA291D3E3A6F0074F04C /* PreferencesWindowToolsTab.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF45CA2C1D3E3A6F0074F04C /* PreferencesWindowToolsTab.xib */; };
200202
CF45CA2D1D3E3AA70074F04C /* ExternalToolParameterValueSheetController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CF45CA311D3E3AA70074F04C /* ExternalToolParameterValueSheetController.xib */; };
@@ -941,7 +943,7 @@
941943
CF31F66B1DFE6268005A1A40 /* PanelViewLayoutSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PanelViewLayoutSupport.h; path = NimbleCommander/States/FilePanels/PanelViewLayoutSupport.h; sourceTree = SOURCE_ROOT; };
942944
CF31F66C1DFE6268005A1A40 /* PanelViewLayoutSupport.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PanelViewLayoutSupport.mm; path = NimbleCommander/States/FilePanels/PanelViewLayoutSupport.mm; sourceTree = SOURCE_ROOT; };
943945
CF31F66E1DFE644B005A1A40 /* Layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Layout.h; path = NimbleCommander/States/FilePanels/Brief/Layout.h; sourceTree = SOURCE_ROOT; };
944-
CF31F66F1DFE644B005A1A40 /* Layout.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Layout.mm; path = NimbleCommander/States/FilePanels/Brief/Layout.mm; sourceTree = SOURCE_ROOT; };
946+
CF31F66F1DFE644B005A1A40 /* Layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Layout.cpp; path = NimbleCommander/States/FilePanels/Brief/Layout.cpp; sourceTree = SOURCE_ROOT; };
945947
CF36DBE41F6BCDA0004A018E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/WebDAVConnectionSheetController.xib; sourceTree = "<group>"; };
946948
CF371DA92D18472E0034EB3F /* ActionsShortcutsManager_UT.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ActionsShortcutsManager_UT.cpp; path = NimbleCommander/Tests/ActionsShortcutsManager_UT.cpp; sourceTree = "<group>"; };
947949
CF3989C12B44447D006103C1 /* Base.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Base.xcodeproj; path = ../Base/Base.xcodeproj; sourceTree = "<group>"; };
@@ -953,6 +955,8 @@
953955
CF3E2F781F5FC277001BFFCE /* WebDAVConnectionSheetController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebDAVConnectionSheetController.mm; path = NimbleCommander/States/FilePanels/Views/WebDAVConnectionSheetController.mm; sourceTree = SOURCE_ROOT; };
954956
CF3E6DF61E3870AB002B4AAD /* PanelViewPresentationSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PanelViewPresentationSettings.h; path = NimbleCommander/States/FilePanels/PanelViewPresentationSettings.h; sourceTree = SOURCE_ROOT; };
955957
CF3E6DF71E3870AB002B4AAD /* PanelViewPresentationSettings.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PanelViewPresentationSettings.mm; path = NimbleCommander/States/FilePanels/PanelViewPresentationSettings.mm; sourceTree = SOURCE_ROOT; };
958+
CF3FC99C2D99502900878079 /* Layout.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Layout.h; path = NimbleCommander/States/FilePanels/Gallery/Layout.h; sourceTree = SOURCE_ROOT; };
959+
CF3FC99D2D99502900878079 /* Layout.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = Layout.cpp; path = NimbleCommander/States/FilePanels/Gallery/Layout.cpp; sourceTree = SOURCE_ROOT; };
956960
CF41351E1F890709007429B6 /* SettingsAdaptor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SettingsAdaptor.h; path = NimbleCommander/States/Terminal/SettingsAdaptor.h; sourceTree = SOURCE_ROOT; };
957961
CF41351F1F890709007429B6 /* SettingsAdaptor.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SettingsAdaptor.mm; path = NimbleCommander/States/Terminal/SettingsAdaptor.mm; sourceTree = SOURCE_ROOT; };
958962
CF44D329202D63100083FAF5 /* ExecuteExternalTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExecuteExternalTool.h; path = NimbleCommander/States/FilePanels/Actions/ExecuteExternalTool.h; sourceTree = SOURCE_ROOT; };
@@ -1120,7 +1124,7 @@
11201124
CF90C0B51EC161E70056E3B8 /* NavigateHistory.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = NavigateHistory.mm; path = NimbleCommander/States/FilePanels/Actions/NavigateHistory.mm; sourceTree = SOURCE_ROOT; };
11211125
CF90C0C01EC174470056E3B8 /* PanelViewDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PanelViewDelegate.h; path = NimbleCommander/States/FilePanels/PanelViewDelegate.h; sourceTree = SOURCE_ROOT; };
11221126
CF94CF921DD4418000EEA420 /* Layout.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Layout.h; path = NimbleCommander/States/FilePanels/List/Layout.h; sourceTree = SOURCE_ROOT; };
1123-
CF94CF931DD4418000EEA420 /* Layout.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Layout.mm; path = NimbleCommander/States/FilePanels/List/Layout.mm; sourceTree = SOURCE_ROOT; };
1127+
CF94CF931DD4418000EEA420 /* Layout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Layout.cpp; path = NimbleCommander/States/FilePanels/List/Layout.cpp; sourceTree = SOURCE_ROOT; };
11241128
CF94CF9B1DD4A09A00EEA420 /* PanelViewImplementationProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PanelViewImplementationProtocol.h; path = NimbleCommander/States/FilePanels/PanelViewImplementationProtocol.h; sourceTree = SOURCE_ROOT; };
11251129
CF960DF91C97F96D001D8B02 /* Utility.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Utility.xcodeproj; path = ../Utility/Utility.xcodeproj; sourceTree = "<group>"; };
11261130
CF9721DA214FD43100A1B19E /* IconRepositoryCleaner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IconRepositoryCleaner.h; path = NimbleCommander/States/FilePanels/Helpers/IconRepositoryCleaner.h; sourceTree = "<group>"; };
@@ -1438,6 +1442,7 @@
14381442
children = (
14391443
CF5D25E31DB604060073156F /* Brief */,
14401444
CF84C8EF1DBB2AA900B4E888 /* List */,
1445+
CF3FC99B2D994FC100878079 /* Gallery */,
14411446
CF7D7D5A21576E0100DA1794 /* PanelViewDummyPresentation.h */,
14421447
CF7D7D4621576E0100DA1794 /* PanelViewDummyPresentation.mm */,
14431448
CF24376E1DEDF9B300245C14 /* PanelViewFooter.h */,
@@ -1637,6 +1642,15 @@
16371642
name = Viewer;
16381643
sourceTree = "<group>";
16391644
};
1645+
CF3FC99B2D994FC100878079 /* Gallery */ = {
1646+
isa = PBXGroup;
1647+
children = (
1648+
CF3FC99C2D99502900878079 /* Layout.h */,
1649+
CF3FC99D2D99502900878079 /* Layout.cpp */,
1650+
);
1651+
path = Gallery;
1652+
sourceTree = "<group>";
1653+
};
16401654
CF536C0D16C92EA200F37203 /* FilePanels */ = {
16411655
isa = PBXGroup;
16421656
children = (
@@ -1655,7 +1669,7 @@
16551669
isa = PBXGroup;
16561670
children = (
16571671
CF31F66E1DFE644B005A1A40 /* Layout.h */,
1658-
CF31F66F1DFE644B005A1A40 /* Layout.mm */,
1672+
CF31F66F1DFE644B005A1A40 /* Layout.cpp */,
16591673
CFD3CB1B1DA4C888006DA143 /* PanelBriefView.h */,
16601674
CFD3CB1C1DA4C888006DA143 /* PanelBriefView.mm */,
16611675
CF282AC81E0A2D6300EC7F33 /* PanelBriefViewCollectionView.h */,
@@ -1824,7 +1838,7 @@
18241838
isa = PBXGroup;
18251839
children = (
18261840
CF94CF921DD4418000EEA420 /* Layout.h */,
1827-
CF94CF931DD4418000EEA420 /* Layout.mm */,
1841+
CF94CF931DD4418000EEA420 /* Layout.cpp */,
18281842
CF84C8F61DBB2AC300B4E888 /* PanelListView.h */,
18291843
CF84C8F71DBB2AC300B4E888 /* PanelListView.mm */,
18301844
CF9F4B151ECD7FC900E0AF82 /* PanelListViewColumnsMenu.xib */,
@@ -2266,6 +2280,7 @@
22662280
CFEADD54259D01AD009ECA14 /* FocusOverlappedTerminal.h in Headers */,
22672281
CFAB6CE32587C38800397DB5 /* FollowSymlink.h in Headers */,
22682282
CFD2D28428A7876C003C18F9 /* Appearance.h in Headers */,
2283+
CF3FC99F2D99502900878079 /* Layout.h in Headers */,
22692284
CFA99A68265EE01E00F72E93 /* PanelListViewExtensionView.h in Headers */,
22702285
CFD2D28228A7876C003C18F9 /* SystemThemeDetector.h in Headers */,
22712286
CFA999F4264F17A800F72E93 /* CLI.h in Headers */,
@@ -2995,6 +3010,7 @@
29953010
CF0A47232BDD885300833160 /* VFSInstanceManager.cpp in Sources */,
29963011
CF0A485E2BDDA3B800833160 /* PanelBriefViewFixedNumberLayout.mm in Sources */,
29973012
CF0A48712BDDA41E00833160 /* PanelViewFooterVolumeInfoFetcher.mm in Sources */,
3013+
CF3FC99E2D99502900878079 /* Layout.cpp in Sources */,
29983014
CF0A488E2BDDA5A900833160 /* ExternalEditorState.mm in Sources */,
29993015
CF0A47FA2BDD9E9100833160 /* Application.mm in Sources */,
30003016
CF0A47012BDD863700833160 /* Alert.mm in Sources */,
@@ -3003,11 +3019,11 @@
30033019
CF0A48832BDDA55F00833160 /* SpotlightSearchPopupViewController.mm in Sources */,
30043020
CF0A48592BDDA39B00833160 /* PanelBriefView.mm in Sources */,
30053021
CF0A483D2BDDA1C000833160 /* Helpers.mm in Sources */,
3006-
CF0A48582BDDA39600833160 /* Layout.mm in Sources */,
3022+
CF0A48582BDDA39600833160 /* Layout.cpp in Sources */,
30073023
CF0A48082BDD9F7400833160 /* PreferencesWindowPanelsTabOperationsConcurrencySheet.mm in Sources */,
30083024
CF0A48552BDDA2C400833160 /* ToggleSingleOrDualMode.mm in Sources */,
30093025
CF0A48882BDDA58500833160 /* FavoritesImpl.cpp in Sources */,
3010-
CF0A48612BDDA3CE00833160 /* Layout.mm in Sources */,
3026+
CF0A48612BDDA3CE00833160 /* Layout.cpp in Sources */,
30113027
CF0A480C2BDD9F8800833160 /* PreferencesWindowThemesTabAutomaticSwitchingSheet.mm in Sources */,
30123028
CF0A48482BDDA28B00833160 /* RevealInOppositePanel.mm in Sources */,
30133029
CF0A488A2BDDA58E00833160 /* FavoritesWindowController.mm in Sources */,

Source/NimbleCommander/NimbleCommander/Bootstrap/NimbleCommanderCommon-Bridging-Header.h

+1
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@
33
//
44

55
#include <NimbleCommander/Core/Theming/Theme.h>
6+
#include <NimbleCommander/States/FilePanels/PanelViewImplementationProtocol.h>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Copyright (C) 2016-2025 Michael Kazakov. Subject to GNU General Public License version 3.
2+
#include "Layout.h"
3+
4+
namespace nc::panel {
5+
6+
static_assert(sizeof(PanelBriefViewColumnsLayout) == 10);
7+
8+
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
// Copyright (C) 2016-2017 Michael Kazakov. Subject to GNU General Public License version 3.
1+
// Copyright (C) 2016-2025 Michael Kazakov. Subject to GNU General Public License version 3.
22
#pragma once
33

4+
namespace nc::panel {
5+
46
// 3 modes:
57
// - fixed widths for columns
68
// setting: this width
@@ -15,14 +17,14 @@ struct PanelBriefViewColumnsLayout {
1517
FixedAmount = 1,
1618
DynamicWidth = 2
1719
};
18-
short fixed_mode_width;
19-
short fixed_amount_value;
20-
short dynamic_width_min;
21-
short dynamic_width_max;
22-
bool dynamic_width_equal : 1;
23-
unsigned char icon_scale : 2;
24-
Mode mode;
25-
PanelBriefViewColumnsLayout() noexcept;
26-
bool operator==(const PanelBriefViewColumnsLayout &_rhs) const noexcept;
27-
bool operator!=(const PanelBriefViewColumnsLayout &_rhs) const noexcept;
20+
short fixed_mode_width = 150;
21+
short fixed_amount_value = 3;
22+
short dynamic_width_min = 140;
23+
short dynamic_width_max = 300;
24+
bool dynamic_width_equal : 1 = false;
25+
unsigned char icon_scale : 2 = 1;
26+
Mode mode = Mode::FixedAmount;
27+
constexpr bool operator==(const PanelBriefViewColumnsLayout &_rhs) const noexcept = default;
2828
};
29+
30+
} // namespace nc::panel

Source/NimbleCommander/NimbleCommander/States/FilePanels/Brief/Layout.mm

-24
This file was deleted.

Source/NimbleCommander/NimbleCommander/States/FilePanels/Brief/PanelBriefView.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (C) 2016-2018 Michael Kazakov. Subject to GNU General Public License version 3.
1+
// Copyright (C) 2016-2025 Michael Kazakov. Subject to GNU General Public License version 3.
22
#pragma once
33

44
#include <VFSIcon/IconRepository.h>
@@ -45,7 +45,7 @@ struct PanelBriefViewItemLayoutConstants {
4545
@property(nonatomic) int cursorPosition;
4646
@property(nonatomic) nc::panel::data::SortMode sortMode;
4747

48-
@property(nonatomic) PanelBriefViewColumnsLayout columnsLayout;
48+
@property(nonatomic) nc::panel::PanelBriefViewColumnsLayout columnsLayout;
4949

5050
- (PanelBriefViewItemLayoutConstants)layoutConstants;
5151

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// Copyright (C) 2025 Michael Kazakov. Subject to GNU General Public License version 3.
2+
#include "Layout.h"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
// Copyright (C) 2025 Michael Kazakov. Subject to GNU General Public License version 3.
2+
#pragma once
3+
4+
namespace nc::panel {
5+
6+
struct PanelGalleryViewLayout {
7+
unsigned char icon_scale = 1;
8+
bool operator==(const PanelGalleryViewLayout &_rhs) const noexcept = default;
9+
};
10+
11+
} // namespace nc::panel

Source/NimbleCommander/NimbleCommander/States/FilePanels/List/Layout.h

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (C) 2016-2024 Michael Kazakov. Subject to GNU General Public License version 3.
1+
// Copyright (C) 2016-2025 Michael Kazakov. Subject to GNU General Public License version 3.
22
#pragma once
33
#include <boost/container/static_vector.hpp>
44

@@ -24,14 +24,12 @@ struct PanelListViewColumnsLayout {
2424
short max_width = -1;
2525
short min_width = -1;
2626
bool operator==(const Column &_rhs) const noexcept = default;
27-
bool operator!=(const Column &_rhs) const noexcept = default;
2827
};
2928

3029
boost::container::static_vector<Column, 8> columns;
3130
unsigned char icon_scale = 1;
3231

3332
bool operator==(const PanelListViewColumnsLayout &_rhs) const noexcept = default;
34-
bool operator!=(const PanelListViewColumnsLayout &_rhs) const noexcept = default;
3533
};
3634

3735
} // namespace nc::panel

Source/NimbleCommander/NimbleCommander/States/FilePanels/PanelViewLayoutSupport.h

+10-9
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
// Copyright (C) 2016-2023 Michael Kazakov. Subject to GNU General Public License version 3.
1+
// Copyright (C) 2016-2025 Michael Kazakov. Subject to GNU General Public License version 3.
22
#pragma once
33

44
#include <Base/Observable.h>
55
#include "Brief/Layout.h"
6+
#include "Gallery/Layout.h"
67
#include "List/Layout.h"
78
#include <any>
89
#include <string>
@@ -20,21 +21,21 @@ struct PanelViewLayout {
2021
enum class Type : signed char {
2122
Disabled = -1,
2223
Brief = 0,
23-
List = 1
24-
/*Thumbs = 2 */
24+
List = 1,
25+
Gallery = 2
2526
};
2627

2728
std::string name;
2829
std::any layout; // perhaps switch to variant?
29-
// may be PanelListViewColumnsLayout, PanelBriefViewColumnsLayout or
30-
// PanelViewDisabledLayout at the moment.
30+
// may be PanelListViewColumnsLayout, PanelBriefViewColumnsLayout, PanelGalleryViewLayout or PanelViewDisabledLayout
31+
// at the moment.
3132
bool is_disabled() const;
3233
Type type() const;
33-
const PanelBriefViewColumnsLayout *brief() const;
34-
const PanelListViewColumnsLayout *list() const;
34+
const PanelBriefViewColumnsLayout *brief() const noexcept;
35+
const PanelGalleryViewLayout *gallery() const noexcept;
36+
const PanelListViewColumnsLayout *list() const noexcept;
3537

36-
bool operator==(const PanelViewLayout &) const;
37-
bool operator!=(const PanelViewLayout &) const;
38+
bool operator==(const PanelViewLayout &) const noexcept;
3839
};
3940

4041
// supposed to be thread-safe

0 commit comments

Comments
 (0)