クールなアプリの設定ウィンドウを設定しています。このウィンドウにはテキストが表示されます。設定では、を開くボタンを設定しましたNSFontPanel
。私のアプリはユーザーの好みのテキストの色とフォントを保存し、常にそれらの設定で開きます。これにより、ユーザーは好みの色やフォントで表示されたテキストを見る必要がなくなります。
問題は、私のアプリはこれらの設定を記憶できますが、問題が発生するNSFontPanel
ことです。フォントパネルを最初に開くと、すべてのフィールドのデフォルト値がリセットされます。それらをいじり、パネルを閉じてから再び開いた後、正しい値が保持されます。この問題は、最初にパネルを開いたときにのみ発生します。
なぜこれが起こっているのか分かりません!
このスニペットからわかるように、アプリの起動時にパネルのフォントと色を慎重に設定しました。
def show_entry_font_menu(sender)
font_manager = NSFontManager.sharedFontManager
color_panel = NSColorPanel.sharedColorPanel
font_manager.setDelegate self
color_panel.setDelegate self
font_manager.setSelectedFont(preferences.entry_font, isMultiple:false)
font_panel = font_manager.fontPanel(true)
font_panel.makeKeyAndOrderFront(sender)
attributes = preferences.entry_font_attributes
color = preferences.entry_font_color
font_manager.setSelectedAttributes(attributes, isMultiple:false)
color_panel.setColor(color) if preferences.entry_font_color
self.did_open_font_panel = true
end