Russian Qt Forum

Компиляторы и платформы => Mac OS X => Тема начата: Alex Custov от Январь 12, 2017, 11:10



Название: [Решено] Не сохранять программу в сессии
Отправлено: Alex Custov от Январь 12, 2017, 11:10
Привет. Есть программа которая просто висит в трее в Windows и в Docker на OS X. По контекстному меню показывает окошко About.

Если я перезагружаю OS X, она спрашивает открывать ли открытые программы после перезагрузки. Я отвечаю да. После перезагрузки моя программа тоже автоматом перезапускается, а я этого не хочу. Хорошо, добавил такой код:

Код
C++ (Qt)
int main()
{
...
   QApplication::setQuitOnLastWindowClosed(false);
 
   Tray *tray = new Tray;
 
   ....
}
 

Код
C++ (Qt)
Tray::Tray(QObject *parent)
   : QObject(parent)
{
   connect(qApp, SIGNAL(saveStateRequest(QSessionManager&)), this, SLOT(slotSaveStateRequest(QSessionManager&)));
 
...

Код
C++ (Qt)
void Tray::slotSaveStateRequest(QSessionManager &manager)
{
   manager.setRestartHint(QSessionManager::RestartNever);
}
 

Однако программа всё равно перезапускается. Как исправить?


Название: Re: Не сохранять программу в сессии
Отправлено: Авварон от Январь 12, 2017, 16:21
Думаю, надо смотреть в сторону Info.plist внутри application


Название: Re: Не сохранять программу в сессии
Отправлено: Alex Custov от Январь 12, 2017, 18:29
кажется я ошибся. Программа висит в доке, но в незапущенном состоянии. Думаю проблема решена.