toxygen/src/notifications.py

43 lines
1.3 KiB
Python
Raw Normal View History

2016-04-01 16:13:01 +00:00
from PySide import QtGui, QtCore
from PySide.phonon import Phonon
2016-02-25 08:32:40 +00:00
from util import curr_directory
2016-02-26 20:14:22 +00:00
# TODO: make app icon active
2016-03-18 13:50:32 +00:00
# TODO: add all sound notifications
2016-02-24 18:38:36 +00:00
SOUND_NOTIFICATION = {
'MESSAGE': 0,
'FRIEND_CONNECTION_STATUS': 1,
'FILE_TRANSFER': 2
}
2016-04-01 16:13:01 +00:00
def tray_notification(title, text, tray, window):
"""
:param title: Name of user who sent message or file
:param text: text of message or file info
:param tray: ref to tray icon
:param window: main window
"""
2016-02-24 18:38:36 +00:00
if QtGui.QSystemTrayIcon.isSystemTrayAvailable():
2016-02-25 08:32:40 +00:00
if len(text) > 30:
2016-02-25 20:40:00 +00:00
text = text[:27] + '...'
2016-02-25 08:32:40 +00:00
tray.showMessage(title, text, QtGui.QSystemTrayIcon.NoIcon, 3000)
2016-04-01 16:13:01 +00:00
def message_clicked():
window.setWindowState(window.windowState() & ~QtCore.Qt.WindowMinimized | QtCore.Qt.WindowActive)
window.activateWindow()
tray.connect(tray, QtCore.SIGNAL("messageClicked()"), message_clicked)
def sound_notification(t):
if t == SOUND_NOTIFICATION['MESSAGE']:
f = curr_directory() + '/sounds/message.wav'
2016-03-18 13:50:32 +00:00
elif t == SOUND_NOTIFICATION['FILE_TRANSFER']:
f = curr_directory() + '/sounds/file.wav'
else:
f = curr_directory() + '/sounds/contact.wav'
m = Phonon.MediaSource(f)
player = Phonon.createPlayer(Phonon.MusicCategory, m)
player.play()