Skip to content

Commit

Permalink
use show/hide instead of toggle
Browse files Browse the repository at this point in the history
matches the sidebar
  • Loading branch information
NattyNarwhal committed May 11, 2024
1 parent 42879aa commit f5ea0f9
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 3 deletions.
4 changes: 4 additions & 0 deletions Submariner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
3E70B2DF2A2BDC55002C0B93 /* SBApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E70B2DE2A2BDC55002C0B93 /* SBApplication.swift */; };
3E70B2E12A2D52A1002C0B93 /* SBPlayer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E70B2E02A2D52A1002C0B93 /* SBPlayer.swift */; };
3E7491972B6A1AE00052CBCE /* SBTracklistController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E7491962B6A1AE00052CBCE /* SBTracklistController.swift */; };
3E8124272BEFF4F80060DDAF /* SBToggleNameTransformer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E8124262BEFF4F80060DDAF /* SBToggleNameTransformer.swift */; };
3E82701827E653F0007E5695 /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E82701727E653F0007E5695 /* MediaPlayer.framework */; };
3E87E90E2B43557400E85000 /* SBServerSearchController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E87E90D2B43557400E85000 /* SBServerSearchController.swift */; };
3E87E9102B4364CF00E85000 /* Collection+IndexSet.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3E87E90F2B4364CF00E85000 /* Collection+IndexSet.swift */; };
Expand Down Expand Up @@ -207,6 +208,7 @@
3E70B2DE2A2BDC55002C0B93 /* SBApplication.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SBApplication.swift; sourceTree = "<group>"; };
3E70B2E02A2D52A1002C0B93 /* SBPlayer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SBPlayer.swift; sourceTree = "<group>"; };
3E7491962B6A1AE00052CBCE /* SBTracklistController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SBTracklistController.swift; sourceTree = "<group>"; };
3E8124262BEFF4F80060DDAF /* SBToggleNameTransformer.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SBToggleNameTransformer.swift; sourceTree = "<group>"; };
3E82701727E653F0007E5695 /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; };
3E87E90D2B43557400E85000 /* SBServerSearchController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SBServerSearchController.swift; sourceTree = "<group>"; };
3E87E90F2B4364CF00E85000 /* Collection+IndexSet.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Collection+IndexSet.swift"; sourceTree = "<group>"; };
Expand Down Expand Up @@ -387,6 +389,7 @@
3EA929B829E4766900938582 /* SBVolumeIconTransformer.swift */,
3E45201729F5DBDC00604079 /* SBTrackArtistNameTransformer.swift */,
3EC5A6442A019B5C00025812 /* SBRepeatModeButtonStateTransformer.swift */,
3E8124262BEFF4F80060DDAF /* SBToggleNameTransformer.swift */,
);
name = "Value Transformers";
sourceTree = "<group>";
Expand Down Expand Up @@ -866,6 +869,7 @@
3E5C42E029846E25009B9699 /* SBOnboardingController.swift in Sources */,
3EC03B4A29F4F2E0001FDE50 /* SBLibrary.swift in Sources */,
3EC03B3E29F4F2E0001FDE50 /* SBCover.swift in Sources */,
3E8124272BEFF4F80060DDAF /* SBToggleNameTransformer.swift in Sources */,
3EA929B729E4745600938582 /* SBRepeatIconTransformer.swift in Sources */,
4CFB3E07139CEA76008DC01A /* NSOutlineView+Expand.m in Sources */,
3E04F60F2B771C4500E24E56 /* SBEditServerController.swift in Sources */,
Expand Down
12 changes: 11 additions & 1 deletion Submariner/SBAppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ fileprivate let logger = Logger(subsystem: Bundle.main.bundleIdentifier!, catego

// #MARK: - Initialization

let databaseController: SBDatabaseController
@objc let databaseController: SBDatabaseController
let preferencesController: SBPreferencesController

override init() {
Expand Down Expand Up @@ -53,6 +53,16 @@ fileprivate let logger = Logger(subsystem: Bundle.main.bundleIdentifier!, catego
let allTransName = NSValueTransformerName(rawValue: "SBRepeatModeAllTransformer")
ValueTransformer.setValueTransformer(allTrans, forName: allTransName)

let tracklistTrans = SBToggleNameTransformer(name: "Tracklist")
let tracklistTransName = NSValueTransformerName(rawValue: "SBToggleTracklistNameTransformer")
ValueTransformer.setValueTransformer(tracklistTrans, forName: tracklistTransName)
let serverUsersTrans = SBToggleNameTransformer(name: "Server Users")
let serverUsersTransName = NSValueTransformerName(rawValue: "SBToggleServerUsersNameTransformer")
ValueTransformer.setValueTransformer(serverUsersTrans, forName: serverUsersTransName)
let inspectorTrans = SBToggleNameTransformer(name: "Inspector")
let inspectorTransName = NSValueTransformerName(rawValue: "SBToggleInspectorNameTransformer")
ValueTransformer.setValueTransformer(inspectorTrans, forName: inspectorTransName)

// #MARK: Init Core Data (managed object model)
let modelURL = Bundle.main.url(forResource: "Submariner", withExtension: "momd")!
self.managedObjectModel = NSManagedObjectModel(contentsOf: modelURL)!
Expand Down
36 changes: 36 additions & 0 deletions Submariner/SBToggleNameTransformer.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
//
// SBToggleNameTransformer.swift
// Submariner
//
// Created by Calvin Buckley on 2024-05-11.
//
// Copyright (c) 2024 Calvin Buckley
// SPDX-License-Identifier: BSD-3-Clause
//

import Cocoa

@objc(SBToggleNameTransformer) class SBToggleNameTransformer: ValueTransformer {
let name: String

init(name: String) {
self.name = name
super.init()
}

override class func allowsReverseTransformation() -> Bool {
return false
}

override class func transformedValueClass() -> AnyClass {
return NSString.self
}

override func transformedValue(_ value: Any?) -> Any? {
if let valueNumber = value as? NSNumber?, valueNumber == true {
return "Hide \(name)"
} else {
return "Show \(name)"
}
}
}
19 changes: 17 additions & 2 deletions Submariner/en.lproj/MainMenu.xib
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22689"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
Expand Down Expand Up @@ -255,16 +255,31 @@ CA
<menuItem title="Toggle Tracklist" keyEquivalent="t" id="542">
<connections>
<action selector="toogleTracklist:" target="494" id="543"/>
<binding destination="494" name="title" keyPath="databaseController.isTracklistShown" id="JbC-6M-aWY">
<dictionary key="options">
<string key="NSValueTransformerName">SBToggleTracklistNameTransformer</string>
</dictionary>
</binding>
</connections>
</menuItem>
<menuItem title="Toggle Server Users" keyEquivalent="u" id="QXo-h3-Ijg">
<connections>
<action selector="toggleServerUsers:" target="494" id="QuS-kO-6Ep"/>
<binding destination="494" name="title" keyPath="databaseController.isServerUsersShown" id="QHk-o3-Uba">
<dictionary key="options">
<string key="NSValueTransformerName">SBToggleServerUsersNameTransformer</string>
</dictionary>
</binding>
</connections>
</menuItem>
<menuItem title="Toggle Inspector" keyEquivalent="i" id="iey-02-CZw">
<connections>
<action selector="toggleInspector:" target="-1" id="dnq-Zg-KFV"/>
<binding destination="494" name="title" keyPath="databaseController.isInspectorShown" id="96N-7Z-d9s">
<dictionary key="options">
<string key="NSValueTransformerName">SBToggleInspectorNameTransformer</string>
</dictionary>
</binding>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="2b6-cD-4uz"/>
Expand Down

0 comments on commit f5ea0f9

Please sign in to comment.