Skip to content
This repository has been archived by the owner on Feb 24, 2025. It is now read-only.

Drop Fire.storyboard #2963

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 3 additions & 18 deletions DuckDuckGo.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -824,7 +824,6 @@
3706FCC6293F65D500E42796 /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = AA68C3D62490F821001B8783 /* README.md */; };
3706FCC8293F65D500E42796 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = AA585D85248FD31400E9A3E2 /* Assets.xcassets */; };
3706FCC9293F65D500E42796 /* NavigationBar.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 85589E8C27BBBB870038AD11 /* NavigationBar.storyboard */; };
3706FCCA293F65D500E42796 /* FirePopoverCollectionViewHeader.xib in Resources */ = {isa = PBXBuildFile; fileRef = AAE246F5270A3D3000BEEAEE /* FirePopoverCollectionViewHeader.xib */; };
3706FCCC293F65D500E42796 /* TabBar.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AA80EC7B256C46AA007083E7 /* TabBar.storyboard */; };
3706FCCD293F65D500E42796 /* shield-dot.json in Resources */ = {isa = PBXBuildFile; fileRef = AA34396B2754D4E300B241FA /* shield-dot.json */; };
3706FCD0293F65D500E42796 /* BookmarksBarCollectionViewItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4BE53369286912D40019DBFD /* BookmarksBarCollectionViewItem.xib */; };
Expand All @@ -838,7 +837,6 @@
3706FCE1293F65D500E42796 /* PermissionAuthorization.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = B64C84DD2692D7400048FEBE /* PermissionAuthorization.storyboard */; };
3706FCE2293F65D500E42796 /* dark-trackers-3.json in Resources */ = {isa = PBXBuildFile; fileRef = AA3439772754D55100B241FA /* dark-trackers-3.json */; };
3706FCE3293F65D500E42796 /* dark-trackers-2.json in Resources */ = {isa = PBXBuildFile; fileRef = AA3439722754D55100B241FA /* dark-trackers-2.json */; };
3706FCE4293F65D500E42796 /* Fire.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AAB7320626DD0C37002FACF9 /* Fire.storyboard */; };
3706FCE6293F65D500E42796 /* social_images in Resources */ = {isa = PBXBuildFile; fileRef = EA18D1C9272F0DC8006DC101 /* social_images */; };
3706FCE7293F65D500E42796 /* shield-dot-mouse-over.json in Resources */ = {isa = PBXBuildFile; fileRef = AA7EB6E827E880A600036718 /* shield-dot-mouse-over.json */; };
3706FCEA293F65D500E42796 /* PasswordManager.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 85625993269C8F9600EE44BC /* PasswordManager.storyboard */; };
Expand All @@ -848,7 +846,7 @@
3706FCEE293F65D500E42796 /* trackers-3.json in Resources */ = {isa = PBXBuildFile; fileRef = AA3439752754D55100B241FA /* trackers-3.json */; };
3706FCEF293F65D500E42796 /* macos-config.json in Resources */ = {isa = PBXBuildFile; fileRef = 026ADE1326C3010C002518EE /* macos-config.json */; };
3706FCF0293F65D500E42796 /* httpsMobileV2BloomSpec.json in Resources */ = {isa = PBXBuildFile; fileRef = 4B677427255DBEB800025BD8 /* httpsMobileV2BloomSpec.json */; };
3706FCF3293F65D500E42796 /* FirePopoverCollectionViewItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = AAE246F22709EF3B00BEEAEE /* FirePopoverCollectionViewItem.xib */; };
3706FCF1293F65D500E42796 /* TabBarFooter.xib in Resources */ = {isa = PBXBuildFile; fileRef = AA2CB12C2587BB5600AA6FBE /* TabBarFooter.xib */; };
3706FCF5293F65D500E42796 /* dark-shield-dot.json in Resources */ = {isa = PBXBuildFile; fileRef = AA34396E2754D4E900B241FA /* dark-shield-dot.json */; };
3706FCF6293F65D500E42796 /* trackers-2.json in Resources */ = {isa = PBXBuildFile; fileRef = AA3439742754D55100B241FA /* trackers-2.json */; };
3706FDDA293F661700E42796 /* EmbeddedTrackerDataTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9833913227AAAEEE00DAF119 /* EmbeddedTrackerDataTests.swift */; };
Expand Down Expand Up @@ -2370,7 +2368,6 @@
AAAB9114288EB1D600A057A9 /* CleanThisHistoryMenuItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAAB9113288EB1D600A057A9 /* CleanThisHistoryMenuItem.swift */; };
AAAB9116288EB46B00A057A9 /* VisitMenuItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAAB9115288EB46B00A057A9 /* VisitMenuItem.swift */; };
AAB549DF25DAB8F80058460B /* BookmarkViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAB549DE25DAB8F80058460B /* BookmarkViewModel.swift */; };
AAB7320726DD0C37002FACF9 /* Fire.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AAB7320626DD0C37002FACF9 /* Fire.storyboard */; };
AAB7320926DD0CD9002FACF9 /* FireViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAB7320826DD0CD9002FACF9 /* FireViewController.swift */; };
AAB8203C26B2DE0D00788AC3 /* SuggestionListCharacteristics.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAB8203B26B2DE0D00788AC3 /* SuggestionListCharacteristics.swift */; };
AABAF59C260A7D130085060C /* FaviconManagerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = AABAF59B260A7D130085060C /* FaviconManagerMock.swift */; };
Expand Down Expand Up @@ -2404,8 +2401,6 @@
AAD86E52267A0DFF005C11BE /* UpdateController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAD86E51267A0DFF005C11BE /* UpdateController.swift */; };
AADCBF3A26F7C2CE00EF67A8 /* LottieAnimationCache.swift in Sources */ = {isa = PBXBuildFile; fileRef = AADCBF3926F7C2CE00EF67A8 /* LottieAnimationCache.swift */; };
AAE246F32709EF3B00BEEAEE /* FirePopoverCollectionViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE246F12709EF3B00BEEAEE /* FirePopoverCollectionViewItem.swift */; };
AAE246F42709EF3B00BEEAEE /* FirePopoverCollectionViewItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = AAE246F22709EF3B00BEEAEE /* FirePopoverCollectionViewItem.xib */; };
AAE246F6270A3D3000BEEAEE /* FirePopoverCollectionViewHeader.xib in Resources */ = {isa = PBXBuildFile; fileRef = AAE246F5270A3D3000BEEAEE /* FirePopoverCollectionViewHeader.xib */; };
AAE246F8270A406200BEEAEE /* FirePopoverCollectionViewHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE246F7270A406200BEEAEE /* FirePopoverCollectionViewHeader.swift */; };
AAE39D1B24F44885008EF28B /* TabCollectionViewModelDelegateMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE39D1A24F44885008EF28B /* TabCollectionViewModelDelegateMock.swift */; };
AAE7527A263B046100B973F8 /* History.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = AAE75278263B046100B973F8 /* History.xcdatamodeld */; };
Expand Down Expand Up @@ -4512,7 +4507,6 @@
AAAB9113288EB1D600A057A9 /* CleanThisHistoryMenuItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CleanThisHistoryMenuItem.swift; sourceTree = "<group>"; };
AAAB9115288EB46B00A057A9 /* VisitMenuItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VisitMenuItem.swift; sourceTree = "<group>"; };
AAB549DE25DAB8F80058460B /* BookmarkViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BookmarkViewModel.swift; sourceTree = "<group>"; };
AAB7320626DD0C37002FACF9 /* Fire.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Fire.storyboard; sourceTree = "<group>"; };
AAB7320826DD0CD9002FACF9 /* FireViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FireViewController.swift; sourceTree = "<group>"; };
AAB8203B26B2DE0D00788AC3 /* SuggestionListCharacteristics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SuggestionListCharacteristics.swift; sourceTree = "<group>"; };
AABAF59B260A7D130085060C /* FaviconManagerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FaviconManagerMock.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -4547,8 +4541,6 @@
AAD86E51267A0DFF005C11BE /* UpdateController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UpdateController.swift; sourceTree = "<group>"; };
AADCBF3926F7C2CE00EF67A8 /* LottieAnimationCache.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LottieAnimationCache.swift; sourceTree = "<group>"; };
AAE246F12709EF3B00BEEAEE /* FirePopoverCollectionViewItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirePopoverCollectionViewItem.swift; sourceTree = "<group>"; };
AAE246F22709EF3B00BEEAEE /* FirePopoverCollectionViewItem.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FirePopoverCollectionViewItem.xib; sourceTree = "<group>"; };
AAE246F5270A3D3000BEEAEE /* FirePopoverCollectionViewHeader.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = FirePopoverCollectionViewHeader.xib; sourceTree = "<group>"; };
AAE246F7270A406200BEEAEE /* FirePopoverCollectionViewHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirePopoverCollectionViewHeader.swift; sourceTree = "<group>"; };
AAE39D1A24F44885008EF28B /* TabCollectionViewModelDelegateMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TabCollectionViewModelDelegateMock.swift; sourceTree = "<group>"; };
AAE75279263B046100B973F8 /* History.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = History.xcdatamodel; sourceTree = "<group>"; };
Expand Down Expand Up @@ -9053,17 +9045,14 @@
AAFCB38325E546FF00859DD4 /* View */ = {
isa = PBXGroup;
children = (
AAB7320626DD0C37002FACF9 /* Fire.storyboard */,
AAEEC6A827088ADB008445F7 /* FireCoordinator.swift */,
AAB7320826DD0CD9002FACF9 /* FireViewController.swift */,
AAE99B8827088A19008B6BD9 /* FirePopover.swift */,
AA840A9727319D1600E63CDD /* FirePopoverWrapperViewController.swift */,
AA61C0CF2722159B00E6B681 /* FireInfoViewController.swift */,
AA6AD95A2704B6DB00159F8A /* FirePopoverViewController.swift */,
AAE246F7270A406200BEEAEE /* FirePopoverCollectionViewHeader.swift */,
AAE246F5270A3D3000BEEAEE /* FirePopoverCollectionViewHeader.xib */,
AAE246F12709EF3B00BEEAEE /* FirePopoverCollectionViewItem.swift */,
AAE246F22709EF3B00BEEAEE /* FirePopoverCollectionViewItem.xib */,
);
path = View;
sourceTree = "<group>";
Expand Down Expand Up @@ -10716,7 +10705,6 @@
3706FCC6293F65D500E42796 /* README.md in Resources */,
3706FCC8293F65D500E42796 /* Assets.xcassets in Resources */,
3706FCC9293F65D500E42796 /* NavigationBar.storyboard in Resources */,
3706FCCA293F65D500E42796 /* FirePopoverCollectionViewHeader.xib in Resources */,
9FBB0C012CB94FC10006B6A6 /* view_highlight.json in Resources */,
3706FCCC293F65D500E42796 /* TabBar.storyboard in Resources */,
3706FCCD293F65D500E42796 /* shield-dot.json in Resources */,
Expand All @@ -10733,7 +10721,6 @@
3706FCE1293F65D500E42796 /* PermissionAuthorization.storyboard in Resources */,
3706FCE2293F65D500E42796 /* dark-trackers-3.json in Resources */,
3706FCE3293F65D500E42796 /* dark-trackers-2.json in Resources */,
3706FCE4293F65D500E42796 /* Fire.storyboard in Resources */,
CD2AB5C62C8222FE0019EB49 /* filterSet.json in Resources */,
3706FCE6293F65D500E42796 /* social_images in Resources */,
3706FCE7293F65D500E42796 /* shield-dot-mouse-over.json in Resources */,
Expand All @@ -10746,7 +10733,7 @@
3706FCEE293F65D500E42796 /* trackers-3.json in Resources */,
3706FCEF293F65D500E42796 /* macos-config.json in Resources */,
3706FCF0293F65D500E42796 /* httpsMobileV2BloomSpec.json in Resources */,
3706FCF3293F65D500E42796 /* FirePopoverCollectionViewItem.xib in Resources */,
3706FCF1293F65D500E42796 /* TabBarFooter.xib in Resources */,
3706FCF5293F65D500E42796 /* dark-shield-dot.json in Resources */,
3706FCF6293F65D500E42796 /* trackers-2.json in Resources */,
);
Expand Down Expand Up @@ -10918,7 +10905,6 @@
AA68C3D72490F821001B8783 /* README.md in Resources */,
AA585D86248FD31400E9A3E2 /* Assets.xcassets in Resources */,
85589E8D27BBBB870038AD11 /* NavigationBar.storyboard in Resources */,
AAE246F6270A3D3000BEEAEE /* FirePopoverCollectionViewHeader.xib in Resources */,
9FBB0C002CB94FC10006B6A6 /* view_highlight.json in Resources */,
AA80EC79256C46AA007083E7 /* TabBar.storyboard in Resources */,
AA34396D2754D4E300B241FA /* shield-dot.json in Resources */,
Expand All @@ -10935,7 +10921,6 @@
B64C84DE2692D7400048FEBE /* PermissionAuthorization.storyboard in Resources */,
AA34397D2754D55100B241FA /* dark-trackers-3.json in Resources */,
AA3439782754D55100B241FA /* dark-trackers-2.json in Resources */,
AAB7320726DD0C37002FACF9 /* Fire.storyboard in Resources */,
CD2AB5C52C8222FE0019EB49 /* filterSet.json in Resources */,
EA18D1CA272F0DC8006DC101 /* social_images in Resources */,
AA7EB6E927E880A600036718 /* shield-dot-mouse-over.json in Resources */,
Expand All @@ -10948,7 +10933,7 @@
AA34397B2754D55100B241FA /* trackers-3.json in Resources */,
026ADE1426C3010C002518EE /* macos-config.json in Resources */,
4B677432255DBEB800025BD8 /* httpsMobileV2BloomSpec.json in Resources */,
AAE246F42709EF3B00BEEAEE /* FirePopoverCollectionViewItem.xib in Resources */,
AA2CB12D2587BB5600AA6FBE /* TabBarFooter.xib in Resources */,
AA3439702754D4E900B241FA /* dark-shield-dot.json in Resources */,
AA34397A2754D55100B241FA /* trackers-2.json in Resources */,
);
Expand Down
17 changes: 14 additions & 3 deletions DuckDuckGo/Common/Extensions/NSViewControllerExtension.swift
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,8 @@ extension NSViewController {
}

/// #Preview helper to hide Window controls on View Controller appearance
func _preview_hidingWindowControlsOnAppear() -> Self { // swiftlint:disable:this identifier_name
Preview_ViewControllerWindowObserver().attach(to: self)
func _preview_hidingWindowControlsOnAppear(sizeToFit: Bool = false) -> Self { // swiftlint:disable:this identifier_name
Preview_ViewControllerWindowObserver().attach(to: self, sizeToFit: sizeToFit)
return self
}

Expand All @@ -109,7 +109,14 @@ func withoutAnimation(_ closure: () -> Void) {

/// #Preview helper to hide Window controls on View Controller appearance
final class Preview_ViewControllerWindowObserver: NSObject {
func attach(to viewController: NSViewController) {

weak var sizeToFitViewController: NSViewController?

func attach(to viewController: NSViewController, sizeToFit: Bool) {
if sizeToFit {
self.sizeToFitViewController = viewController
}

// Start observing the view.window property
viewController.addObserver(self, forKeyPath: #keyPath(NSViewController.view.window), options: [.initial, .new], context: nil)
viewController.onDeinit {
Expand All @@ -123,5 +130,9 @@ final class Preview_ViewControllerWindowObserver: NSObject {
window.titlebarAppearsTransparent = true
window.titleVisibility = .hidden
window.styleMask = []

if let vc = sizeToFitViewController {
window.setFrame(NSRect(origin: .zero, size: vc.view.bounds.size), display: true)
}
}
}
6 changes: 6 additions & 0 deletions DuckDuckGo/Common/Extensions/NSViewExtension.swift
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ import Combine
import Common
import os.log

extension NSButton {
var isFirstResponder: Bool {
window?.firstResponder === self
}
}

extension NSView {

// Since macOS 14 Sonoma view has clipsToBound == false by default
Expand Down
1 change: 1 addition & 0 deletions DuckDuckGo/Common/Localizables/UserText.swift
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,7 @@ struct UserText {
static let fireDialogTabWillClose = NSLocalizedString("fire.dialog.tab-will-close", value: "Current tab will close", comment: "Warning label shown in an expanded view of the fire popover")
static let fireDialogPinnedTabWillReload = NSLocalizedString("fire.dialog.tab-will-reload", value: "Pinned tab will reload", comment: "Warning label shown in an expanded view of the fire popover")
static let fireDialogAllWindowsWillClose = NSLocalizedString("fire.dialog.all-windows-will-close", value: "All windows will close", comment: "Warning label shown in an expanded view of the fire popover")
static let fireDialogCloseAllTabsAndClear = NSLocalizedString("fire.dialog.close-all-tabs-and-clear", value: "Close all tabs and clear site data", comment: "Title of the Clear button in the fire popover")
static let fireproofSite = NSLocalizedString("options.menu.fireproof-site", value: "Fireproof This Site", comment: "Context menu item")
static let removeFireproofing = NSLocalizedString("options.menu.remove-fireproofing", value: "Remove Fireproofing", comment: "Context menu item")
static let fireproof = NSLocalizedString("fireproof", value: "Fireproof", comment: "Fireproof button")
Expand Down
16 changes: 16 additions & 0 deletions DuckDuckGo/Common/View/AppKit/MouseOverButton.swift
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,22 @@ internal class MouseOverButton: NSButton, Hoverable {
clipsToBounds = true
}

init(title: String? = nil, target: AnyObject? = nil, action: Selector? = nil) {
super.init(frame: .zero)
self.title = title ?? ""
self.target = target
self.action = action
self.clipsToBounds = true
}

init(image: NSImage, target: AnyObject? = nil, action: Selector? = nil) {
super.init(frame: .zero)
self.image = image
self.target = target
self.action = action
self.clipsToBounds = true
}

required init?(coder: NSCoder) {
super.init(coder: coder)
clipsToBounds = true
Expand Down
Loading
Loading