Voltaire // Add Associated Phrases Support.
This commit is contained in:
parent
5ea771f88a
commit
8b26a189f0
|
@ -496,9 +496,9 @@ extension ctlInputMethod {
|
|||
|
||||
let candidateKeys = Preferences.candidateKeys
|
||||
let keyLabels = candidateKeys.count > 4 ? Array(candidateKeys) : Array(Preferences.defaultCandidateKeys)
|
||||
let keyLabelPrefix = state is InputState.AssociatedPhrases ? "⇧ " : ""
|
||||
let keyLabelSuffix = state is InputState.AssociatedPhrases ? "^" : ""
|
||||
gCurrentCandidateController?.keyLabels = keyLabels.map {
|
||||
CandidateKeyLabel(key: String($0), displayedText: keyLabelPrefix + String($0))
|
||||
CandidateKeyLabel(key: String($0), displayedText: String($0) + keyLabelSuffix)
|
||||
}
|
||||
|
||||
gCurrentCandidateController?.delegate = self
|
||||
|
|
|
@ -73,7 +73,7 @@ public class CandidateController: NSWindowController {
|
|||
@objc public var keyLabels: [CandidateKeyLabel] = ["1", "2", "3", "4", "5", "6", "7", "8", "9"].map {
|
||||
CandidateKeyLabel(key: $0, displayedText: $0)
|
||||
}
|
||||
@objc public var keyLabelFont: NSFont = NSFont.systemFont(ofSize: 14)
|
||||
@objc public var keyLabelFont: NSFont = NSFont.monospacedDigitSystemFont(ofSize: 14, weight: .medium)
|
||||
@objc public var candidateFont: NSFont = NSFont.systemFont(ofSize: 18)
|
||||
@objc public var tooltip: String = ""
|
||||
|
||||
|
|
|
@ -81,6 +81,7 @@ fileprivate class HorizontalCandidateView: NSView {
|
|||
|
||||
keyLabelAttrDict = [.font: labelFont,
|
||||
.paragraphStyle: paraStyle,
|
||||
.verticalGlyphForm: true as AnyObject,
|
||||
.foregroundColor: NSColor.secondaryLabelColor] // Candidate phrase text color
|
||||
candidateAttrDict = [.font: candidateFont,
|
||||
.paragraphStyle: paraStyle,
|
||||
|
@ -89,7 +90,7 @@ fileprivate class HorizontalCandidateView: NSView {
|
|||
let candidateFontSize = candidateFont.pointSize
|
||||
let biggestSize = max(labelFontSize, candidateFontSize)
|
||||
keyLabelWidth = ceil(labelFontSize)
|
||||
keyLabelHeight = ceil(labelFontSize * 1.20)
|
||||
keyLabelHeight = ceil(labelFontSize * 2)
|
||||
candidateTextHeight = ceil(candidateFontSize * 1.20)
|
||||
cellPadding = ceil(biggestSize / 2.0)
|
||||
}
|
||||
|
@ -118,7 +119,7 @@ fileprivate class HorizontalCandidateView: NSView {
|
|||
for index in 0..<elementWidths.count {
|
||||
let currentWidth = elementWidths[index]
|
||||
let rctCandidateArea = NSRect(x: accuWidth, y: 0.0, width: currentWidth + 1.0, height: candidateTextHeight + cellPadding)
|
||||
let rctLabel = NSRect(x: accuWidth + cellPadding / 2 - 1, y: cellPadding / 2 , width: keyLabelWidth, height: candidateTextHeight)
|
||||
let rctLabel = NSRect(x: accuWidth + cellPadding / 2 - 1, y: cellPadding / 2 , width: keyLabelWidth, height: keyLabelHeight * 2.0)
|
||||
let rctCandidatePhrase = NSRect(x: accuWidth + keyLabelWidth - 1, y: cellPadding / 2 , width: currentWidth - keyLabelWidth, height: candidateTextHeight)
|
||||
|
||||
var activeCandidateIndexAttr = keyLabelAttrDict
|
||||
|
|
|
@ -91,6 +91,7 @@ fileprivate class VerticalCandidateView: NSView {
|
|||
|
||||
keyLabelAttrDict = [.font: labelFont,
|
||||
.paragraphStyle: paraStyle,
|
||||
.verticalGlyphForm: true as AnyObject,
|
||||
.foregroundColor: NSColor.secondaryLabelColor] // Candidate phrase text color
|
||||
candidateAttrDict = [.font: candidateFont,
|
||||
.paragraphStyle: paraStyle,
|
||||
|
@ -99,7 +100,7 @@ fileprivate class VerticalCandidateView: NSView {
|
|||
let candidateFontSize = candidateFont.pointSize
|
||||
let biggestSize = max(labelFontSize, candidateFontSize)
|
||||
keyLabelWidth = ceil(labelFontSize)
|
||||
keyLabelHeight = ceil(labelFontSize * 1.20)
|
||||
keyLabelHeight = ceil(labelFontSize * 2)
|
||||
candidateTextHeight = ceil(candidateFontSize * 1.20)
|
||||
cellPadding = ceil(biggestSize / 2.0)
|
||||
}
|
||||
|
@ -128,7 +129,7 @@ fileprivate class VerticalCandidateView: NSView {
|
|||
for index in 0..<elementHeights.count {
|
||||
let currentHeight = elementHeights[index]
|
||||
let rctCandidateArea = NSRect(x: 0.0, y: accuHeight, width: windowWidth, height: candidateTextHeight + cellPadding)
|
||||
let rctLabel = NSRect(x: cellPadding / 2 - 1, y: accuHeight + cellPadding / 2, width: keyLabelWidth, height: candidateTextHeight)
|
||||
let rctLabel = NSRect(x: cellPadding / 2 - 1, y: accuHeight + cellPadding / 2, width: keyLabelWidth, height: keyLabelHeight * 2.0)
|
||||
let rctCandidatePhrase = NSRect(x: cellPadding / 2 - 1 + keyLabelWidth, y: accuHeight + cellPadding / 2 - 1, width: windowWidth - keyLabelWidth, height: candidateTextHeight)
|
||||
|
||||
var activeCandidateIndexAttr = keyLabelAttrDict
|
||||
|
|
Loading…
Reference in New Issue