Сбросить NSToolbar до конфигурации по умолчанию

Я программно создаю NSToolbar в своем приложении. Я только что добавил новую кнопку на панель инструментов и добавил эту кнопку в конфигурацию панели инструментов по умолчанию. Когда я запускаю свое приложение, новая кнопка не отображается по умолчанию. Это потому, что я уже использовал программу, и у меня уже есть файл plist, в котором эта новая кнопка не настроена для отображения.

Итак, мой вопрос заключается в том, как я могу заставить панель инструментов сбросить текущую конфигурацию до конфигурации по умолчанию, чтобы моя кнопка автоматически отображалась для людей, которые использовали приложение.

Я думаю, я мог бы удалить записи в файле plist, чтобы заставить программу воссоздать их и, таким образом, использовать конфигурацию по умолчанию... но я надеялся, что есть какая-то команда, которую я мог бы выполнить, чтобы сбросить ее. Я не видел ни одного в классе NSToolbar.

Спасибо за любую помощь.


person regulus6633    schedule 04.07.2009    source источник


Ответы (2)


Если вы добавите новую кнопку в конфигурацию панели инструментов по умолчанию, она не будет отображаться для пользователей, которые настроили панель инструментов и имеют настройки, сохраненные в пользовательских настройках по умолчанию.

Если вы хотите принудительно использовать новую панель инструментов по умолчанию для пользователей, которые ранее настроили панель инструментов, изменение имени автосохранения (например, путем добавления номера версии) — это способ сделать это. (Однако подумайте, хотите ли вы отказаться от настроек панели инструментов вашего пользователя.)

person Jim Correia    schedule 05.07.2009
comment
Спасибо, Джим. Это гораздо более простая идея, чем моя, и она нацелена на тот же принцип... изменить предпочтения. Я воспользуюсь твоей идеей. Кнопка является частью важной новой функции, поэтому я считаю, что ее нужно показать. - person regulus6633; 06.07.2009

Ну, я удалил соответствующий ключ в файле plist, и это сработало. Я все же предпочел бы знать лучший способ, поэтому, если у вас есть лучшие идеи, дайте мне знать.

person regulus6633    schedule 04.07.2009