Я настраиваю окно настроек для моего классного приложения, которое отображает некоторый текст. В настройках я установил кнопку, которая открывает 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