mirror of
https://github.com/coteditor/CotEditor.git
synced 2024-09-11 11:25:57 +03:00
Merge branch 'release/4.3.5'
# Conflicts: # CHANGELOG.md # CotEditor.xcodeproj/project.pbxproj # CotEditor/CotEditor.help/Contents/Resources/en.lproj/CotEditor.helpindex # CotEditor/CotEditor.help/Contents/Resources/en.lproj/pgs/releasenotes.html # CotEditor/CotEditor.help/Contents/Resources/ja.lproj/CotEditor.helpindex # CotEditor/CotEditor.help/Contents/Resources/ja.lproj/pgs/releasenotes.html # CotEditor/Sources/Document.swift # CotEditor/fr.lproj/Main.strings
This commit is contained in:
commit
7b64dbc9b6
21
CHANGELOG.md
21
CHANGELOG.md
@ -2,7 +2,7 @@
|
||||
Change Log
|
||||
==========================
|
||||
|
||||
4.4.0 (531)
|
||||
4.4.0-beta (531)
|
||||
--------------------------
|
||||
|
||||
### New Features
|
||||
@ -39,12 +39,27 @@ Change Log
|
||||
- [trivial] Improve the basic regular expression syntax reference.
|
||||
- [trivial] Improve the status bar display.
|
||||
- [dev] Update the build environment to Xcode 14.0 beta 6.
|
||||
- [non-AppStore ver.] Update Sparkle to 2.2.2.
|
||||
|
||||
|
||||
|
||||
4.3.5 (529)
|
||||
--------------------------
|
||||
|
||||
### Improvements
|
||||
|
||||
- [non-AppStore ver.] Update Sparkle from 2.2.1 to 2.2.2.
|
||||
|
||||
|
||||
### Fixes
|
||||
|
||||
- Fix an issue that memory could leak when the opacity toolbar item is used.
|
||||
- Fix an issue that the option “Give execute permission” in the save dialog was applied to the document even when the save operation was canceled.
|
||||
- Address an issue since macOS 12.4 that the buttons in the save dialog became occasionally unresponsive when the application is running in some specific Japanese environment.
|
||||
- Fix an issue that memory could leak when the opacity toolbar item is used.
|
||||
- Fix an issue that the column of the outline pane was narrower than the list width.
|
||||
- Fix an issue that the width of the line number view was not updated when the content was changed on disk.
|
||||
- Fix some typos.
|
||||
- [non-AppStore ver.] Fix an issue that a message about the software update in the General pane was hidden.
|
||||
|
||||
|
||||
|
||||
@ -62,7 +77,7 @@ Change Log
|
||||
|
||||
### Fixes
|
||||
|
||||
- Fix an issue that the application could hang up when an opened document shared in iCloud Drive was modified in another machine.
|
||||
- Fix an issue that the application could hang up when an opened document shared in iCloud Drive was modified in another machine.
|
||||
- Fix an issue that document windows sometimes did not shift the initial position from the last window.
|
||||
- Fix an issue that the scrollable area of the editor in vertical layout orientation could be clipped wrongly when scaled.
|
||||
- Fix an issue that some text was not localized.
|
||||
|
@ -395,10 +395,10 @@
|
||||
<objects>
|
||||
<viewController id="q0M-8Q-aM1" customClass="UpdatesViewController" customModule="CotEditor" customModuleProvider="target" sceneMemberID="viewController">
|
||||
<view key="view" translatesAutoresizingMaskIntoConstraints="NO" id="LLa-wu-mor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="580" height="99"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="580" height="103"/>
|
||||
<subviews>
|
||||
<button verticalHuggingPriority="750" verticalCompressionResistancePriority="751" tag="-1" translatesAutoresizingMaskIntoConstraints="NO" id="eh0-fN-8C5">
|
||||
<rect key="frame" x="130" y="57" width="222" height="18"/>
|
||||
<rect key="frame" x="130" y="61" width="222" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Check for updates automatically" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="3423">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -408,7 +408,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="751" tag="-1" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lSi-dW-Eg4">
|
||||
<rect key="frame" x="18" y="58" width="108" height="16"/>
|
||||
<rect key="frame" x="18" y="62" width="108" height="16"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" alignment="right" title="Software update:" usesSingleLineMode="YES" id="geU-63-sAC">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -416,7 +416,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" verticalCompressionResistancePriority="751" tag="-1" translatesAutoresizingMaskIntoConstraints="NO" id="FJU-WB-SQP">
|
||||
<rect key="frame" x="130" y="35" width="259" height="18"/>
|
||||
<rect key="frame" x="130" y="39" width="259" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Update to pre-releases when available" bezelStyle="regularSquare" imagePosition="left" inset="2" id="4aT-ka-sbv">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@ -426,7 +426,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" verticalCompressionResistancePriority="751" tag="-2" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dyM-Pb-Ay4">
|
||||
<rect key="frame" x="150" y="8" width="412" height="24"/>
|
||||
<rect key="frame" x="150" y="8" width="412" height="28"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" title="Regardless of this setting, new pre-releases are always included while using a pre-release." id="chR-VY-cuI">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
@ -434,7 +434,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="9j3-BL-0Mu">
|
||||
<rect key="frame" x="20" y="86" width="540" height="5"/>
|
||||
<rect key="frame" x="20" y="90" width="540" height="5"/>
|
||||
</box>
|
||||
</subviews>
|
||||
<constraints>
|
||||
@ -443,7 +443,6 @@
|
||||
<constraint firstItem="lSi-dW-Eg4" firstAttribute="baseline" secondItem="eh0-fN-8C5" secondAttribute="baseline" id="GXP-ey-68V"/>
|
||||
<constraint firstItem="lSi-dW-Eg4" firstAttribute="leading" secondItem="LLa-wu-mor" secondAttribute="leading" constant="20" symbolic="YES" id="KLl-Cd-slR"/>
|
||||
<constraint firstItem="eh0-fN-8C5" firstAttribute="leading" secondItem="lSi-dW-Eg4" secondAttribute="trailing" constant="8" symbolic="YES" id="NnR-c2-aUX"/>
|
||||
<constraint firstAttribute="bottom" secondItem="FJU-WB-SQP" secondAttribute="bottom" priority="751" constant="8" id="PHC-tL-mcq"/>
|
||||
<constraint firstItem="9j3-BL-0Mu" firstAttribute="leading" secondItem="LLa-wu-mor" secondAttribute="leading" constant="20" symbolic="YES" id="Peg-z2-ye7"/>
|
||||
<constraint firstItem="9j3-BL-0Mu" firstAttribute="top" secondItem="LLa-wu-mor" secondAttribute="top" constant="10" id="YRP-MT-gVv"/>
|
||||
<constraint firstAttribute="trailing" secondItem="9j3-BL-0Mu" secondAttribute="trailing" constant="20" symbolic="YES" id="Ygt-p7-MQ7"/>
|
||||
|
@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="17503.1" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="yaW-ka-qKo">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="17503.1"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<scenes>
|
||||
<!--View Controller-->
|
||||
<scene sceneID="j99-ea-IO6">
|
||||
<objects>
|
||||
<viewController id="yaW-ka-qKo" sceneMemberID="viewController">
|
||||
<view key="view" id="2gd-Li-J8K">
|
||||
<rect key="frame" x="0.0" y="0.0" width="212" height="36"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="nZM-DA-dgh">
|
||||
<rect key="frame" x="18" y="9" width="174" height="18"/>
|
||||
<buttonCell key="cell" type="check" title="Give execute permission" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="KjO-BV-esE">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="yaW-ka-qKo" name="value" keyPath="representedObject.isExecutable" id="rGr-g7-vEG"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="nZM-DA-dgh" firstAttribute="centerX" secondItem="2gd-Li-J8K" secondAttribute="centerX" id="HgL-Pg-FjO"/>
|
||||
<constraint firstItem="nZM-DA-dgh" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="2gd-Li-J8K" secondAttribute="leading" constant="20" symbolic="YES" id="IrP-wE-6fg"/>
|
||||
<constraint firstItem="nZM-DA-dgh" firstAttribute="top" secondItem="2gd-Li-J8K" secondAttribute="top" constant="10" id="JMH-Jd-fld"/>
|
||||
<constraint firstAttribute="bottom" secondItem="nZM-DA-dgh" secondAttribute="bottom" constant="10" id="Vls-FA-Zx0"/>
|
||||
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="nZM-DA-dgh" secondAttribute="trailing" constant="20" symbolic="YES" id="poh-BO-soJ"/>
|
||||
</constraints>
|
||||
</view>
|
||||
</viewController>
|
||||
<customObject id="r0f-ks-8VQ" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
|
||||
</objects>
|
||||
<point key="canvasLocation" x="165" y="132"/>
|
||||
</scene>
|
||||
</scenes>
|
||||
</document>
|
@ -63,7 +63,23 @@
|
||||
<li><span class="trivial">trivial</span>: Improve the basic regular expression syntax reference.</li>
|
||||
<li><span class="trivial">trivial</span>: Improve the status bar display.</li>
|
||||
<li><span class="trivial">dev</span>: Update the build environment to Xcode 14.0.</li>
|
||||
<li><span class="label">non-AppStore ver.</span>: Update Sparkle to 2.2.2.</li>
|
||||
</ul>
|
||||
</section>
|
||||
</article>
|
||||
|
||||
|
||||
<article>
|
||||
<header>
|
||||
<h1>CotEditor 4.3.5</h1>
|
||||
<p>release: <time>2022-09-17</time></p>
|
||||
</header>
|
||||
|
||||
|
||||
<section>
|
||||
<h2>Improvements</h2>
|
||||
|
||||
<ul>
|
||||
<li><span class="label">non-AppStore ver.</span>: Update Sparkle from 2.2.1 to 2.2.2.</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
@ -73,6 +89,13 @@
|
||||
|
||||
<ul>
|
||||
<li>Fix an issue that memory could leak when the opacity toolbar item is used.</li>
|
||||
<li>Fix an issue that the option “Give execute permission” in the save dialog was applied to the document even when the save operation was canceled.</li>
|
||||
<li>Address an issue since macOS 12.4 that the buttons in the save dialog became occasionally unresponsive when the application is running in some specific Japanese environment.</li>
|
||||
<li>Fix an issue that the column of the outline pane was narrower than the list width.</li>
|
||||
<li>Fix an issue that memory could leak when the opacity toolbar item is used.</li>
|
||||
<li>Fix an issue that the width of the line number view was not updated when the content was changed on disk.</li>
|
||||
<li>Fix some typos.</li>
|
||||
<li><span class="label">non-AppStore ver.</span>: Fix an issue that a message about the software update in the General pane was hidden.</li>
|
||||
</ul>
|
||||
</section>
|
||||
</article>
|
||||
|
@ -63,7 +63,23 @@
|
||||
<li><span class="trivial">trivial</span>: 正規表現の基本文法表示を改良</li>
|
||||
<li><span class="trivial">trivial</span>: ステータスバーの表示を最適化</li>
|
||||
<li><span class="trivial">開発</span>: 開発環境をXcode 14.0 (macOS 13 SDK)に更新</li>
|
||||
<li><span class="label">非AppStore版</span>: Sparkleを2.2.2に更新</li>
|
||||
</ul>
|
||||
</section>
|
||||
</article>
|
||||
|
||||
|
||||
<article>
|
||||
<header>
|
||||
<h1>CotEditor 4.3.5</h1>
|
||||
<p>リリース: <time>2022-09-17</time></p>
|
||||
</header>
|
||||
|
||||
|
||||
<section>
|
||||
<h2>改良</h2>
|
||||
|
||||
<ul>
|
||||
<li><span class="label">非AppStore版</span>: Sparkleを2.2.1から2.2.2に更新</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
@ -73,6 +89,13 @@
|
||||
|
||||
<ul>
|
||||
<li>不透明度ツールバー項目を表示しているとメモリリークが起こる可能性があった不具合を修正</li>
|
||||
<li>保存ダイアログの「実行権を付与」オプションの変更が保存をキャンセルしたときにも引き継がれていた不具合を修正</li>
|
||||
<li>特定の環境下で日本語環境のとき保存ダイアログのボタンが無反応になることがあるmacOS 12.4以降の不具合に対処</li>
|
||||
<li>不透明度ツールバー項目を使用するとメモリがリークした不具合を修正</li>
|
||||
<li>アウトラインインスペクタのカラムの幅がリストの幅より狭くなっていた不具合を修正</li>
|
||||
<li>ディスク上のファイル変更によりエディタが更新された時に行番号ビューの幅が更新されなかった不具合を修正</li>
|
||||
<li>いくつかのタイポを修正</li>
|
||||
<li><span class="label">非AppStore版</span>: 「一般」環境設定のソフトウェア・アップデートに関する補足説明が非表示になっていた不具合を修正</li>
|
||||
</ul>
|
||||
</section>
|
||||
</article>
|
||||
|
@ -1,15 +1,14 @@
|
||||
//
|
||||
// SaveDocumentAccessory.strings (Turkish)
|
||||
// DelegateContext.swift
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
//
|
||||
// Created by Emir SARI on 2022-01-28.
|
||||
// Localized by Emir SARI
|
||||
// Created by 1024jjp on 2022-09-16.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// © 2022 1024jp
|
||||
// © 2022 1024jjp
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
@ -24,5 +23,11 @@
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
|
||||
"KjO-BV-esE.title" = "Çalıştırma izni ver";
|
||||
import Foundation.NSObjCRuntime
|
||||
|
||||
struct DelegateContext {
|
||||
|
||||
var delegate: Any?
|
||||
var selector: Selector?
|
||||
var contextInfo: UnsafeMutableRawPointer?
|
||||
}
|
@ -67,14 +67,14 @@ final class Document: NSDocument, AdditionalDocumentPreparing, EncodingHolder {
|
||||
// MARK: Private Properties
|
||||
|
||||
private lazy var printPanelAccessoryController = PrintPanelAccessoryController.instantiate(storyboard: ProcessInfo.processInfo.operatingSystemVersion.majorVersion >= 13 ? "PrintPanelAccessoryVentura" : "PrintPanelAccessory")
|
||||
private var savePanelAccessoryController: NSViewController?
|
||||
|
||||
private var readingEncoding: String.Encoding? // encoding to read document file
|
||||
private var suppressesInconsistentLineEndingAlert = false
|
||||
private var isExternalUpdateAlertShown = false
|
||||
private var fileData: Data?
|
||||
private var shouldSaveXattr = true
|
||||
@objc private dynamic var isExecutable = false // bind in save panel accessory view
|
||||
dynamic var isExecutable = false
|
||||
@objc private dynamic var isExecutableFromLastRunSavePanel = false // bind in save panel accessory view
|
||||
|
||||
private var sytnaxUpdateObserver: AnyCancellable?
|
||||
private var textStorageObserver: AnyCancellable?
|
||||
@ -515,6 +515,15 @@ final class Document: NSDocument, AdditionalDocumentPreparing, EncodingHolder {
|
||||
}
|
||||
|
||||
|
||||
override func runModalSavePanel(for saveOperation: NSDocument.SaveOperationType, delegate: Any?, didSave didSaveSelector: Selector?, contextInfo: UnsafeMutableRawPointer?) {
|
||||
|
||||
self.isExecutableFromLastRunSavePanel = self.isExecutable
|
||||
|
||||
let context = DelegateContext(delegate: delegate, selector: didSaveSelector, contextInfo: contextInfo)
|
||||
super.runModalSavePanel(for: saveOperation, delegate: self, didSave: #selector(document(_:didCloseSavePanel:contextInfo:)), contextInfo: bridgeWrapped(context))
|
||||
}
|
||||
|
||||
|
||||
/// avoid let system add the standard save panel accessory (pop-up menu for document type change)
|
||||
override var shouldRunSavePanelWithAccessoryView: Bool {
|
||||
|
||||
@ -543,9 +552,19 @@ final class Document: NSDocument, AdditionalDocumentPreparing, EncodingHolder {
|
||||
}
|
||||
|
||||
// set accessory view
|
||||
self.savePanelAccessoryController = .instantiate(storyboard: "SaveDocumentAccessory")
|
||||
self.savePanelAccessoryController?.representedObject = self
|
||||
savePanel.accessoryView = self.savePanelAccessoryController?.view
|
||||
let checkbox = NSButton(checkboxWithTitle: "Give execute permission".localized, target: nil, action: nil)
|
||||
checkbox.bind(.value, to: self, withKeyPath: #keyPath(isExecutableFromLastRunSavePanel))
|
||||
checkbox.translatesAutoresizingMaskIntoConstraints = false
|
||||
let accessoryView = NSView()
|
||||
accessoryView.addSubview(checkbox)
|
||||
NSLayoutConstraint.activate([
|
||||
checkbox.centerXAnchor.constraint(equalTo: accessoryView.centerXAnchor),
|
||||
checkbox.leadingAnchor.constraint(greaterThanOrEqualToSystemSpacingAfter: accessoryView.leadingAnchor, multiplier: 1),
|
||||
accessoryView.trailingAnchor.constraint(greaterThanOrEqualToSystemSpacingAfter: checkbox.trailingAnchor, multiplier: 1),
|
||||
checkbox.topAnchor.constraint(equalToSystemSpacingBelow: accessoryView.topAnchor, multiplier: 0.5),
|
||||
accessoryView.bottomAnchor.constraint(equalToSystemSpacingBelow: checkbox.bottomAnchor, multiplier: 0.5),
|
||||
])
|
||||
savePanel.accessoryView = accessoryView
|
||||
|
||||
return true
|
||||
}
|
||||
@ -598,7 +617,6 @@ final class Document: NSDocument, AdditionalDocumentPreparing, EncodingHolder {
|
||||
override func close() {
|
||||
|
||||
self.textStorageObserver?.cancel()
|
||||
self.savePanelAccessoryController?.representedObject = nil
|
||||
|
||||
super.close()
|
||||
}
|
||||
@ -1061,6 +1079,29 @@ final class Document: NSDocument, AdditionalDocumentPreparing, EncodingHolder {
|
||||
|
||||
// MARK: Private Methods
|
||||
|
||||
/// callback from save panel after calling `runModalSavePanel(for:didSave:contextInfo)`.
|
||||
@objc private func document(_ document: NSDocument, didCloseSavePanel didAccept: Bool, contextInfo: UnsafeMutableRawPointer) {
|
||||
|
||||
if didAccept {
|
||||
self.isExecutable = self.isExecutableFromLastRunSavePanel
|
||||
}
|
||||
|
||||
// manually invoke the original delegate method
|
||||
guard
|
||||
let context: DelegateContext = bridgeUnwrapped(contextInfo),
|
||||
let delegate = context.delegate as? NSObject,
|
||||
let selector = context.selector,
|
||||
let objcClass = objc_getClass(delegate.className) as? AnyClass,
|
||||
let method = class_getMethodImplementation(objcClass, selector)
|
||||
else { return assertionFailure() }
|
||||
|
||||
typealias Signature = @convention(c) (AnyObject, Selector, AnyObject, Bool, UnsafeMutableRawPointer?) -> Void
|
||||
let function = unsafeBitCast(method, to: Signature.self)
|
||||
|
||||
function(delegate, selector, self, didAccept, context.contextInfo)
|
||||
}
|
||||
|
||||
|
||||
/// transfer file information to UI
|
||||
private func applyContentToWindow() {
|
||||
|
||||
|
@ -260,14 +260,6 @@ final class DocumentController: NSDocumentController {
|
||||
|
||||
// MARK: Private Methods
|
||||
|
||||
private struct DelegateContext {
|
||||
|
||||
var delegate: Any?
|
||||
var selector: Selector?
|
||||
var contextInfo: UnsafeMutableRawPointer?
|
||||
}
|
||||
|
||||
|
||||
/// transient document to be replaced or nil
|
||||
private var transientDocumentToReplace: Document? {
|
||||
|
||||
|
@ -378,7 +378,12 @@ final class LineNumberView: NSView {
|
||||
|
||||
self.textViewSubscriptions.removeAll()
|
||||
|
||||
NotificationCenter.default.publisher(for: NSText.didChangeNotification, object: textView)
|
||||
// observe content change
|
||||
NotificationCenter.default.publisher(for: NSTextStorage.didProcessEditingNotification, object: nil)
|
||||
.compactMap { $0.object as? NSTextStorage }
|
||||
.receive(on: RunLoop.main) // touch textView on main thread
|
||||
.filter { [weak self] in $0 == self?.textView?.textStorage }
|
||||
.filter { $0.editedMask.contains(.editedCharacters) }
|
||||
.receive(on: DispatchQueue.main)
|
||||
.sink { [weak self] _ in
|
||||
// -> The digit of the line numbers affect thickness.
|
||||
|
@ -92,6 +92,10 @@ final class OutlineViewController: NSViewController {
|
||||
|
||||
super.viewWillAppear()
|
||||
|
||||
// Workaround a long-standing issue in single column table views.
|
||||
// cf. [#1365](https://github.com/coteditor/CotEditor/pull/1365)
|
||||
self.outlineView?.sizeLastColumnToFit()
|
||||
|
||||
self.fontSizeObserver = UserDefaults.standard.publisher(for: .outlineViewFontSize, initial: true)
|
||||
.sink { [weak self] _ in
|
||||
self?.outlineView?.reloadData()
|
||||
|
@ -63,7 +63,7 @@
|
||||
/* Class = "NSTextFieldCell"; title = "Line wrapping:"; ObjectID = "P1I-gs-RgX"; */
|
||||
"P1I-gs-RgX.title" = "Zeilenumbruch:";
|
||||
/* Class = "NSButtonCell"; title = "Wrap lines to editor width"; ObjectID = "3274"; */
|
||||
"3274.title" = "Zeilen an Editorbreite anpasen";
|
||||
"3274.title" = "Zeilen an Editorbreite anpassen";
|
||||
/* Class = "NSButtonCell"; title = "Indent wrapped lines by:"; ObjectID = "mCq-92-2sT"; */
|
||||
"mCq-92-2sT.title" = "Umgebrochene Zeilen einrücken um:";
|
||||
/* Class = "NSTextFieldCell"; title = "spaces"; ObjectID = "P9V-pV-PAX"; */
|
||||
|
@ -221,6 +221,9 @@
|
||||
"Keep CotEditor’s Edition" = "CotEditors Version behalten";
|
||||
"Update" = "Aktualisieren";
|
||||
|
||||
// Save panel options
|
||||
"Give execute permission" = "Ausführungsrecht geben";
|
||||
|
||||
|
||||
|
||||
/* MARK: Document Window */
|
||||
|
@ -1,28 +0,0 @@
|
||||
//
|
||||
// SaveDocumentAccessory.strings (German)
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
//
|
||||
// Created by 1024jp on 2016-03-06.
|
||||
// Localized by 1024jp
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// © 2016 CotEditor Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
|
||||
"KjO-BV-esE.title" = "Ausführungsrecht geben";
|
@ -221,6 +221,9 @@
|
||||
"Keep CotEditor’s Edition" = "Keep CotEditor’s Edition";
|
||||
"Update" = "Update";
|
||||
|
||||
// Save panel options
|
||||
"Give execute permission" = "Give execute permission";
|
||||
|
||||
|
||||
|
||||
/* MARK: Document Window */
|
||||
|
@ -1,28 +0,0 @@
|
||||
//
|
||||
// SaveDocumentAccessory.strings (English (UK))
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
//
|
||||
// Created by Alex Newson on 2022-01-30.
|
||||
// Localized by 1024jp
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// © 2022 1024jp
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
|
||||
"KjO-BV-esE.title" = "Give execute permission";
|
@ -221,6 +221,9 @@
|
||||
"Keep CotEditor’s Edition" = "Garder la version dans CotEditor";
|
||||
"Update" = "Rafraîchir";
|
||||
|
||||
// Save panel options
|
||||
"Give execute permission" = "Donner la permission d’éxécution";
|
||||
|
||||
|
||||
|
||||
/* MARK: Document Window */
|
||||
|
@ -1,28 +0,0 @@
|
||||
//
|
||||
// SaveDocumentAccessory.strings (French)
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
//
|
||||
// Created by Aurélien Roy on 2019-04-26.
|
||||
// Localized by Aurélien Roy
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// © 2015-2022 CotEditor Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
|
||||
"KjO-BV-esE.title" = "Donner la permission d’éxécution";
|
@ -221,6 +221,9 @@
|
||||
"Keep CotEditor’s Edition" = "Mantieni la versione di CotEditor";
|
||||
"Update" = "Aggiorna";
|
||||
|
||||
// Save panel options
|
||||
"Give execute permission" = "Assegna i permessi di esecuzione";
|
||||
|
||||
|
||||
|
||||
/* MARK: Document Window */
|
||||
|
@ -1,28 +0,0 @@
|
||||
//
|
||||
// SaveDocumentAccessory.strings (Italian)
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
//
|
||||
// Created by 1024jp on 2016-09-28.
|
||||
// Localized by Agostino Maiello
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// © 2016 CotEditor Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
|
||||
"KjO-BV-esE.title" = "Assegna i permessi di esecuzione";
|
@ -221,6 +221,9 @@
|
||||
"Keep CotEditor’s Edition" = "CotEditorの編集内容を保持";
|
||||
"Update" = "更新";
|
||||
|
||||
// Save panel options
|
||||
"Give execute permission" = "実行権を付与";
|
||||
|
||||
|
||||
|
||||
/* MARK: Document Window */
|
||||
|
@ -1,28 +0,0 @@
|
||||
//
|
||||
// SaveDocumentAccessory.strings (Japanese)
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
//
|
||||
// Created by 1024jp on 2016-03-06.
|
||||
// Localized by 1024jp
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// © 2016 CotEditor Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
|
||||
"KjO-BV-esE.title" = "実行権を付与";
|
@ -221,6 +221,9 @@
|
||||
"Keep CotEditor’s Edition" = "Manter Edição do CotEditor";
|
||||
"Update" = "Atualizar";
|
||||
|
||||
// Save panel options
|
||||
"Give execute permission" = "Conceder permissão de execução";
|
||||
|
||||
|
||||
|
||||
/* MARK: Document Window */
|
||||
|
@ -1,28 +0,0 @@
|
||||
//
|
||||
// SaveDocumentAccessory.strings (Portuguese)
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
//
|
||||
// Created by BR Lingo on 2018-01-15.
|
||||
// Localized by BR Lingo
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// © 2018 CotEditor Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
|
||||
"KjO-BV-esE.title" = "Conceder permissão de execução";
|
@ -221,6 +221,9 @@
|
||||
"Keep CotEditor’s Edition" = "CotEditor Değişikliklerini Tut";
|
||||
"Update" = "Güncelle";
|
||||
|
||||
// Save panel options
|
||||
"Give execute permission" = "Çalıştırma izni ver";
|
||||
|
||||
|
||||
|
||||
/* MARK: Document Window */
|
||||
|
@ -221,6 +221,9 @@
|
||||
"Keep CotEditor’s Edition" = "保留CotEditor编辑的内容";
|
||||
"Update" = "更新";
|
||||
|
||||
// Save panel options
|
||||
"Give execute permission" = "付与执行权限";
|
||||
|
||||
|
||||
|
||||
/* MARK: Document Window */
|
||||
|
@ -1,28 +0,0 @@
|
||||
//
|
||||
// SaveDocumentAccessory.strings (Simplified Chinese)
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
//
|
||||
// Created by 1024jp on 2016-03-06.
|
||||
// Localized by onevcat
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// © 2016 CotEditor Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
|
||||
"KjO-BV-esE.title" = "付与执行权限";
|
@ -221,6 +221,9 @@
|
||||
"Keep CotEditor’s Edition" = "保留CotEditor編輯的內容";
|
||||
"Update" = "更新";
|
||||
|
||||
// Save panel options
|
||||
"Give execute permission" = "付與執行許可權";
|
||||
|
||||
|
||||
|
||||
/* MARK: Document Window */
|
||||
|
@ -1,28 +0,0 @@
|
||||
//
|
||||
// SaveDocumentAccessory.strings (Traditional Chinese)
|
||||
//
|
||||
// CotEditor
|
||||
// https://coteditor.com
|
||||
//
|
||||
// Created by 1024jp on 2016-03-06.
|
||||
// zh-Hant localization by Shiki Suen based on OnevCat's zh-Hans localization.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// © 2016 CotEditor Project
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
/* Class = "NSButtonCell"; title = "Give execute permission"; ObjectID = "KjO-BV-esE"; */
|
||||
"KjO-BV-esE.title" = "付與執行許可權";
|
Loading…
Reference in New Issue
Block a user