49 lines
1.8 KiB
Swift
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),
|
|
])
|
|
|
|
}
|
|
|
|
}
|