Files

49 lines
1.8 KiB
Swift

//
// ApplicationWindow.swift
// PrivadoVPN
//
// Created by Murad Shabanov on 06.10.2021.
// Copyright © 2021 Privado LLC. All rights reserved.
//
import Foundation
class ApplicationWindow: NSWindow {
override var canBecomeKey: Bool {
return true
}
override var canBecomeMain: Bool {
return true
}
override init(contentRect: NSRect, styleMask style: NSWindow.StyleMask, backing backingStoreType: NSWindow.BackingStoreType, defer flag: Bool) {
super.init(contentRect: contentRect, styleMask: style, backing: backingStoreType, defer: flag)
self.relayoutWindowButtons()
}
func relayoutWindowButtons() {
guard let closeButton = self.standardWindowButton(.closeButton),
let minButton = self.standardWindowButton(.miniaturizeButton),
let zoomButton = self.standardWindowButton(.zoomButton),
let titleBarView = closeButton.superview else { return }
closeButton.translatesAutoresizingMaskIntoConstraints = false
minButton.translatesAutoresizingMaskIntoConstraints = false
zoomButton.translatesAutoresizingMaskIntoConstraints = false
titleBarView.addConstraints([
closeButton.topAnchor.constraint(equalTo: titleBarView.topAnchor, constant: 15),
closeButton.leadingAnchor.constraint(equalTo: titleBarView.leadingAnchor, constant: 15),
minButton.leadingAnchor.constraint(equalTo: closeButton.trailingAnchor, constant: 8),
minButton.topAnchor.constraint(equalTo: closeButton.topAnchor),
zoomButton.leadingAnchor.constraint(equalTo: minButton.trailingAnchor, constant: 8),
zoomButton.topAnchor.constraint(equalTo: closeButton.topAnchor),
])
}
}