Russian Qt Forum
Ноябрь 22, 2024, 01:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [Решено] Не сохранять программу в сессии  (Прочитано 3545 раз)
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« : Январь 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);
}
 

Однако программа всё равно перезапускается. Как исправить?
« Последнее редактирование: Январь 12, 2017, 18:29 от Alex Custov » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Январь 12, 2017, 16:21 »

Думаю, надо смотреть в сторону Info.plist внутри application
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #2 : Январь 12, 2017, 18:29 »

кажется я ошибся. Программа висит в доке, но в незапущенном состоянии. Думаю проблема решена.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.103 секунд. Запросов: 22.