Всем привет. Сортирую приложение под mac. Да вот выяснилась одна беда. В приложении у меня есть QSystemTrayIcon. Как выяснилось, в qt5.3 есть баг в этом классе. Трей показывается с глюками, в следствие для сборки под Мак я просто скрыл иконку трея (понадеялся на doc панель). У меня предопределено метрод closeEvent
void MainWindow::closeEvent(QCloseEvent * event) {
if(!sender()) {
// hide();
windowHandle() -> hide();
event -> ignore();
notificationManager -> notify(QPixmap(":/notify/attention"),
tr("<b>Программа переведена в фоновый режим</b>"),
BG_ERROR,
5,
new BaseNotify());
return;
}
for(auto component : components) {
if(!component.instance -> canQuit()) {
event -> ignore();
return;
}
}
event -> accept();
qApp -> quit();
}
Когда был трей, я по двойному клику на него просто разворачивал приложение, если оно было спрятано... В стандартном doc меню моего приложения есть пункт «Скрыть», который меняется на «Показать», если я скрыл приложение через этот пункт мышкой... Но если я программно вызвал hide(), то этот пункт не меняется на «Показать», а остается «Скрыть», причем, если нажать «скрыть» а потом «Показать"Б то приложение так и не появляется... Уважаемые знатоки, подскажите как это побороть. Я думал, что можно как то программно вызвать метод скрыть, который дергает меню из doc панели, но не нашел такого