Skip to content

Stals/Qt-TrayMessageQueue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание:

TrayMessageQueue - Класс позволяющий упростить вывод сообщений в Tray. Он представляет собой очередь сообщений которые последовательно показываются пользователю. Сообщения не будут перекрывать предведущее даже не дав ему показаться. Можно указать сколько какое сообщение будет показываться пользователю.
Также есть возможность добавить шаблонное сообщение чтобы в последствии его выводить передавая только название этого шаблона.


Ипользование:

В trayMessageQueue при инициализации обязательно передаётся указатель на объект класса QSystemTrayIcon тоесть собственно Трей в который и будут выводиться сообщения, а также необязательно может быть передано значения задержки по умолчанию в милисекундах. Тоесть то сколько сообщение у которого не указана задержка будет показываться пользователю - по умолчанию 2 сек.

Для того чтобы вывести сообщение в Трей неоходимо вызвать метод addMessage() и передать в него Заголовок сообщения, сам текст сообщения, Иконку и время задержки сообщения на экране в миллисекундах.
Иконки могу быть:
	- NoIcon 
	- Notification
	- Warning
	- Critical
После чего в порядке добавления сообщений в trayMessageQueue они будут выводиться с указанной задержкой или задержкой по умолчанию.
addMessage() - повторяет showMessage() в плане передаваемых ему параметров, но при этом выводит сообщения так чтобы они не перекрывали друг друга не успев показаться пользователю.

Также можно создать шаблонное сообщение для последующего более простого вывода этого сообщения.
Создается оно с помощью метода addMessageTemplate() - В который помимо всего того что передается в addMessage() также передается название этого шаблона.
Для добавления зарание созданного шалона в очердь просто вызываем метод addMessage() передав только название шаблона


Пример:

QSystemTrayIcon* tray = new QSystemTrayIcon();
tray->show();

trayMessageQueue = TrayMessageQueue(tray);

// Выведет сообщение без иконки на 2 секундны (так как небыла указана задержка - используется задержка по умолчанию)
trayMEssageQueue.addMessage("Title", "Text");

// Выведет сообщение с иконкой на 3 секунды 
trayMessageQueue.addMessage("Title", "Text", QSystemTrayIcon::Notification, 3000);

// Но если мы постоянно в разных кусках кода выводим одно и тоже сообщение или оно просто громоздкое - проще создать шаблон
trayMessageQueue.addMessageTemplate("TemplateName", "Title", "Text", QSystemTrayIcon::Notification, 3000);
// И в последствии вызывать его просто по названию
trayMessageQueue.addMessage("TemplateName");

About

Qt library that simplifies work with tray notifications

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published