LINUX.ORG.RU

Пункты в doc панели или что то сделать с треем

 , ,


0

1

Всем привет. Сортирую приложение под 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 панели, но не нашел такого

оффтоп: прикольно ты косвенный доступ пробелами обрамляешь. и как, читаемость выше в большом куске кода?

anonymous
()
Ответ на: комментарий от energyclab

Осталось осветить вопросы постановки пробелов внарядом с двойными угловыми скобками.

slackwarrior ★★★★★
()

Может тебе нужен какой-нибудь showMinimized/minimize, а не hide?

Как выяснилось, в qt5.3 есть баг в этом классе.

В Qt 5.4 пробовал воспроизвести? Может и костылить ничего и не нужно будет.

EXL ★★★★★
()
Ответ на: комментарий от EXL

беда в том, что мое приложение уже у клиентов... Просить их переустанавливать совсем нельзя...

energyclab
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.