summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Swift/Controllers/EventController.cpp1
-rw-r--r--Swift/Controllers/EventController.h1
-rw-r--r--Swift/Controllers/MainController.cpp6
-rw-r--r--Swift/Controllers/MainController.h5
-rw-r--r--Swift/Controllers/Makefile.inc1
-rw-r--r--Swift/Controllers/SoundEventController.cpp21
-rw-r--r--Swift/Controllers/SoundEventController.h18
-rw-r--r--Swift/Controllers/SoundPlayer.h10
-rw-r--r--Swift/QtUI/Makefile.inc2
-rw-r--r--Swift/QtUI/QtSoundPlayer.cpp29
-rw-r--r--Swift/QtUI/QtSoundPlayer.h21
-rw-r--r--Swift/QtUI/QtSwift.cpp5
-rw-r--r--Swift/QtUI/QtSwift.h2
-rw-r--r--Swift/QtUI/Swift.pro10
-rw-r--r--Swift/QtUI/Swift.qrc13
-rw-r--r--Swift/resources/MacOSX/Swift.icns (renamed from resources/MacOSX/Swift.icns)bin93469 -> 93469 bytes
-rw-r--r--Swift/resources/Windows/Swift.ico (renamed from resources/Windows/Swift.ico)bin33766 -> 33766 bytes
-rw-r--r--Swift/resources/Windows/Swift.rc (renamed from resources/Windows/Swift.rc)0
-rw-r--r--Swift/resources/icons/avatar.png (renamed from resources/icons/avatar.png)bin1003 -> 1003 bytes
-rw-r--r--Swift/resources/icons/certificate.png (renamed from resources/icons/certificate.png)bin4494 -> 4494 bytes
-rwxr-xr-xSwift/resources/icons/error.png (renamed from resources/icons/error.png)bin610 -> 610 bytes
-rw-r--r--Swift/resources/icons/new-chat.png (renamed from resources/icons/new-chat.png)bin2207 -> 2207 bytes
-rw-r--r--Swift/resources/icons/tray-standard.png (renamed from resources/icons/tray-standard.png)bin1003 -> 1003 bytes
-rw-r--r--Swift/resources/logo/coming-soon.svg (renamed from resources/logo/coming-soon.svg)0
-rw-r--r--Swift/resources/logo/logo-icon-128.png (renamed from resources/logo/logo-icon-128.png)bin4351 -> 4351 bytes
-rw-r--r--Swift/resources/logo/logo-icon-512.png (renamed from resources/logo/logo-icon-512.png)bin19879 -> 19879 bytes
-rw-r--r--Swift/resources/logo/logo-icon-64.png (renamed from resources/logo/logo-icon-64.png)bin2276 -> 2276 bytes
-rw-r--r--Swift/resources/logo/logo-icon.svg (renamed from resources/logo/logo-icon.svg)0
-rw-r--r--Swift/resources/logo/logo-original.svg (renamed from resources/logo/logo-original.svg)0
-rw-r--r--Swift/resources/logo/logo-shaded-text.256.png (renamed from resources/logo/logo-shaded-text.256.png)bin18541 -> 18541 bytes
-rw-r--r--Swift/resources/logo/logo-shaded-text.svg (renamed from resources/logo/logo-shaded-text.svg)0
-rw-r--r--Swift/resources/logo/logo.svg (renamed from resources/logo/logo.svg)0
-rw-r--r--Swift/resources/sounds/message-received.wavbin0 -> 8954 bytes
-rwxr-xr-xSwift/resources/themes/Default/Demo.html (renamed from resources/themes/Default/Demo.html)0
-rwxr-xr-xSwift/resources/themes/Default/Header.html (renamed from resources/themes/Default/Header.html)0
-rwxr-xr-xSwift/resources/themes/Default/Incoming/Content.html (renamed from resources/themes/Default/Incoming/Content.html)0
-rwxr-xr-xSwift/resources/themes/Default/Incoming/Context.html (renamed from resources/themes/Default/Incoming/Context.html)0
-rwxr-xr-xSwift/resources/themes/Default/Incoming/NextContent.html (renamed from resources/themes/Default/Incoming/NextContent.html)0
-rwxr-xr-xSwift/resources/themes/Default/Incoming/NextContext.html (renamed from resources/themes/Default/Incoming/NextContext.html)0
-rw-r--r--Swift/resources/themes/Default/Incoming/buddy_icon.png (renamed from resources/themes/Default/Outgoing/buddy_icon.png)bin14235 -> 14235 bytes
-rw-r--r--Swift/resources/themes/Default/LICENSE.txt (renamed from resources/themes/Default/LICENSE.txt)0
-rwxr-xr-xSwift/resources/themes/Default/Outgoing/Content.html (renamed from resources/themes/Default/Outgoing/Content.html)0
-rwxr-xr-xSwift/resources/themes/Default/Outgoing/Context.html (renamed from resources/themes/Default/Outgoing/Context.html)0
-rwxr-xr-xSwift/resources/themes/Default/Outgoing/NextContent.html (renamed from resources/themes/Default/Outgoing/NextContent.html)0
-rwxr-xr-xSwift/resources/themes/Default/Outgoing/NextContext.html (renamed from resources/themes/Default/Outgoing/NextContext.html)0
-rw-r--r--Swift/resources/themes/Default/Outgoing/buddy_icon.png (renamed from resources/themes/Default/Incoming/buddy_icon.png)bin14235 -> 14235 bytes
-rwxr-xr-xSwift/resources/themes/Default/Status.html (renamed from resources/themes/Default/Status.html)0
-rwxr-xr-xSwift/resources/themes/Default/Template.html (renamed from resources/themes/Default/Template.html)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Green Alternating.css (renamed from resources/themes/Default/Variants/Blue on Green Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Green No Names Alt.css (renamed from resources/themes/Default/Variants/Blue on Green No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Green No Names.css (renamed from resources/themes/Default/Variants/Blue on Green No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Green.css (renamed from resources/themes/Default/Variants/Blue on Green.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Red Alternating.css (renamed from resources/themes/Default/Variants/Blue on Red Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Red No Names Alt.css (renamed from resources/themes/Default/Variants/Blue on Red No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Red No Names.css (renamed from resources/themes/Default/Variants/Blue on Red No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Red.css (renamed from resources/themes/Default/Variants/Blue on Red.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Steel Alternating.css (renamed from resources/themes/Default/Variants/Blue on Steel Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Steel No Names Alt.css (renamed from resources/themes/Default/Variants/Blue on Steel No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Steel No Names.css (renamed from resources/themes/Default/Variants/Blue on Steel No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Steel.css (renamed from resources/themes/Default/Variants/Blue on Steel.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Yellow Alternating.css (renamed from resources/themes/Default/Variants/Blue on Yellow Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Yellow No Names Alt.css (renamed from resources/themes/Default/Variants/Blue on Yellow No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Yellow No Names.css (renamed from resources/themes/Default/Variants/Blue on Yellow No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Blue on Yellow.css (renamed from resources/themes/Default/Variants/Blue on Yellow.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Blue Alternating.css (renamed from resources/themes/Default/Variants/Green on Blue Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Blue No Names Alt.css (renamed from resources/themes/Default/Variants/Green on Blue No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Blue No Names.css (renamed from resources/themes/Default/Variants/Green on Blue No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Blue.css (renamed from resources/themes/Default/Variants/Green on Blue.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Red Alternating.css (renamed from resources/themes/Default/Variants/Green on Red Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Red No Names Alt.css (renamed from resources/themes/Default/Variants/Green on Red No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Red No Names.css (renamed from resources/themes/Default/Variants/Green on Red No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Red.css (renamed from resources/themes/Default/Variants/Green on Red.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Steel Alternating.css (renamed from resources/themes/Default/Variants/Green on Steel Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Steel No Names Alt.css (renamed from resources/themes/Default/Variants/Green on Steel No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Steel No Names.css (renamed from resources/themes/Default/Variants/Green on Steel No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Steel.css (renamed from resources/themes/Default/Variants/Green on Steel.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Yellow Alternating.css (renamed from resources/themes/Default/Variants/Green on Yellow Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Yellow No Names Alt.css (renamed from resources/themes/Default/Variants/Green on Yellow No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Yellow No Names.css (renamed from resources/themes/Default/Variants/Green on Yellow No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Green on Yellow.css (renamed from resources/themes/Default/Variants/Green on Yellow.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Blue Alternating.css (renamed from resources/themes/Default/Variants/Red on Blue Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Blue No Names Alt.css (renamed from resources/themes/Default/Variants/Red on Blue No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Blue No Names.css (renamed from resources/themes/Default/Variants/Red on Blue No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Blue.css (renamed from resources/themes/Default/Variants/Red on Blue.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Green Alternating.css (renamed from resources/themes/Default/Variants/Red on Green Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Green No Names Alt.css (renamed from resources/themes/Default/Variants/Red on Green No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Green No Names.css (renamed from resources/themes/Default/Variants/Red on Green No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Green.css (renamed from resources/themes/Default/Variants/Red on Green.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Steel Alternating.css (renamed from resources/themes/Default/Variants/Red on Steel Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Steel No Names Alt.css (renamed from resources/themes/Default/Variants/Red on Steel No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Steel No Names.css (renamed from resources/themes/Default/Variants/Red on Steel No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Steel.css (renamed from resources/themes/Default/Variants/Red on Steel.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Yellow Alternating.css (renamed from resources/themes/Default/Variants/Red on Yellow Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Yellow No Names Alt.css (renamed from resources/themes/Default/Variants/Red on Yellow No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Yellow No Names.css (renamed from resources/themes/Default/Variants/Red on Yellow No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Red on Yellow.css (renamed from resources/themes/Default/Variants/Red on Yellow.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Blue Alternating.css (renamed from resources/themes/Default/Variants/Steel on Blue Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Blue No Names Alt.css (renamed from resources/themes/Default/Variants/Steel on Blue No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Blue No Names.css (renamed from resources/themes/Default/Variants/Steel on Blue No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Blue.css (renamed from resources/themes/Default/Variants/Steel on Blue.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Green Alternating.css (renamed from resources/themes/Default/Variants/Steel on Green Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Green No Names Alt.css (renamed from resources/themes/Default/Variants/Steel on Green No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Green No Names.css (renamed from resources/themes/Default/Variants/Steel on Green No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Green.css (renamed from resources/themes/Default/Variants/Steel on Green.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Red Alternating.css (renamed from resources/themes/Default/Variants/Steel on Red Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Red No Names Alt.css (renamed from resources/themes/Default/Variants/Steel on Red No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Red No Names.css (renamed from resources/themes/Default/Variants/Steel on Red No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Red.css (renamed from resources/themes/Default/Variants/Steel on Red.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Yellow Alternating.css (renamed from resources/themes/Default/Variants/Steel on Yellow Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Yellow No Names Alt.css (renamed from resources/themes/Default/Variants/Steel on Yellow No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Yellow No Names.css (renamed from resources/themes/Default/Variants/Steel on Yellow No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Steel on Yellow.css (renamed from resources/themes/Default/Variants/Steel on Yellow.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Blue Alternating.css (renamed from resources/themes/Default/Variants/Yellow on Blue Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Blue No Names Alt.css (renamed from resources/themes/Default/Variants/Yellow on Blue No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Blue No Names.css (renamed from resources/themes/Default/Variants/Yellow on Blue No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Blue.css (renamed from resources/themes/Default/Variants/Yellow on Blue.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Green Alternating.css (renamed from resources/themes/Default/Variants/Yellow on Green Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Green No Names Alt.css (renamed from resources/themes/Default/Variants/Yellow on Green No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Green No Names.css (renamed from resources/themes/Default/Variants/Yellow on Green No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Green.css (renamed from resources/themes/Default/Variants/Yellow on Green.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Red Alternating.css (renamed from resources/themes/Default/Variants/Yellow on Red Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Red No Names Alt.css (renamed from resources/themes/Default/Variants/Yellow on Red No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Red No Names.css (renamed from resources/themes/Default/Variants/Yellow on Red No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Red.css (renamed from resources/themes/Default/Variants/Yellow on Red.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Steel Alternating.css (renamed from resources/themes/Default/Variants/Yellow on Steel Alternating.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Steel No Names Alt.css (renamed from resources/themes/Default/Variants/Yellow on Steel No Names Alt.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Steel No Names.css (renamed from resources/themes/Default/Variants/Yellow on Steel No Names.css)0
-rw-r--r--Swift/resources/themes/Default/Variants/Yellow on Steel.css (renamed from resources/themes/Default/Variants/Yellow on Steel.css)0
-rw-r--r--Swift/resources/themes/Default/alternating.css (renamed from resources/themes/Default/alternating.css)0
-rwxr-xr-xSwift/resources/themes/Default/images/DummyContact.png (renamed from resources/themes/Default/images/DummyContact.png)bin754 -> 754 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/alert.png (renamed from resources/themes/Default/images/alert.png)bin5305 -> 5305 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/blueBackground.gif (renamed from resources/themes/Default/images/blueBackground.gif)bin198 -> 198 bytes
-rw-r--r--Swift/resources/themes/Default/images/blueBackground.png (renamed from resources/themes/Default/images/blueBackground.png)bin165 -> 165 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/blueCurves.gif (renamed from resources/themes/Default/images/blueCurves.gif)bin3320 -> 3320 bytes
-rw-r--r--Swift/resources/themes/Default/images/blueCurves.png (renamed from resources/themes/Default/images/blueCurves.png)bin1218 -> 1218 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/blueIndicator.gif (renamed from resources/themes/Default/images/blueIndicator.gif)bin536 -> 536 bytes
-rw-r--r--Swift/resources/themes/Default/images/blueIndicator.png (renamed from resources/themes/Default/images/blueIndicator.png)bin370 -> 370 bytes
-rw-r--r--Swift/resources/themes/Default/images/blueIndicator2.png (renamed from resources/themes/Default/images/blueIndicator2.png)bin380 -> 380 bytes
-rw-r--r--Swift/resources/themes/Default/images/blueIndicatorAlt.gif (renamed from resources/themes/Default/images/blueIndicatorAlt.gif)bin526 -> 526 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/greenBackground.gif (renamed from resources/themes/Default/images/greenBackground.gif)bin117 -> 117 bytes
-rw-r--r--Swift/resources/themes/Default/images/greenBackground.png (renamed from resources/themes/Default/images/greenBackground.png)bin166 -> 166 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/greenCurves.gif (renamed from resources/themes/Default/images/greenCurves.gif)bin3259 -> 3259 bytes
-rw-r--r--Swift/resources/themes/Default/images/greenCurves.png (renamed from resources/themes/Default/images/greenCurves.png)bin1234 -> 1234 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/greenIndicator.gif (renamed from resources/themes/Default/images/greenIndicator.gif)bin530 -> 530 bytes
-rw-r--r--Swift/resources/themes/Default/images/greenIndicator.png (renamed from resources/themes/Default/images/greenIndicator.png)bin334 -> 334 bytes
-rw-r--r--Swift/resources/themes/Default/images/greenIndicator2.png (renamed from resources/themes/Default/images/greenIndicator2.png)bin345 -> 345 bytes
-rw-r--r--Swift/resources/themes/Default/images/greenIndicatorAlt.gif (renamed from resources/themes/Default/images/greenIndicatorAlt.gif)bin529 -> 529 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/redBackground.gif (renamed from resources/themes/Default/images/redBackground.gif)bin117 -> 117 bytes
-rw-r--r--Swift/resources/themes/Default/images/redBackground.png (renamed from resources/themes/Default/images/redBackground.png)bin160 -> 160 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/redCurves.gif (renamed from resources/themes/Default/images/redCurves.gif)bin2527 -> 2527 bytes
-rw-r--r--Swift/resources/themes/Default/images/redCurves.png (renamed from resources/themes/Default/images/redCurves.png)bin1194 -> 1194 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/redIndicator.gif (renamed from resources/themes/Default/images/redIndicator.gif)bin527 -> 527 bytes
-rw-r--r--Swift/resources/themes/Default/images/redIndicator.png (renamed from resources/themes/Default/images/redIndicator.png)bin410 -> 410 bytes
-rw-r--r--Swift/resources/themes/Default/images/redIndicator2.png (renamed from resources/themes/Default/images/redIndicator2.png)bin402 -> 402 bytes
-rw-r--r--Swift/resources/themes/Default/images/redIndicatorAlt.gif (renamed from resources/themes/Default/images/redIndicatorAlt.gif)bin527 -> 527 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/silverBackground.gif (renamed from resources/themes/Default/images/silverBackground.gif)bin117 -> 117 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/silverCurves.gif (renamed from resources/themes/Default/images/silverCurves.gif)bin2778 -> 2778 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/steelBackground.gif (renamed from resources/themes/Default/images/steelBackground.gif)bin122 -> 122 bytes
-rw-r--r--Swift/resources/themes/Default/images/steelBackground.png (renamed from resources/themes/Default/images/steelBackground.png)bin156 -> 156 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/steelCurves.gif (renamed from resources/themes/Default/images/steelCurves.gif)bin2169 -> 2169 bytes
-rw-r--r--Swift/resources/themes/Default/images/steelCurves.png (renamed from resources/themes/Default/images/steelCurves.png)bin1179 -> 1179 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/steelHeading.jpg (renamed from resources/themes/Default/images/steelHeading.jpg)bin321 -> 321 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/steelIndicator.gif (renamed from resources/themes/Default/images/steelIndicator.gif)bin328 -> 328 bytes
-rw-r--r--Swift/resources/themes/Default/images/steelIndicator.png (renamed from resources/themes/Default/images/steelIndicator.png)bin375 -> 375 bytes
-rw-r--r--Swift/resources/themes/Default/images/steelIndicator2.png (renamed from resources/themes/Default/images/steelIndicator2.png)bin392 -> 392 bytes
-rw-r--r--Swift/resources/themes/Default/images/steelIndicatorAlt.gif (renamed from resources/themes/Default/images/steelIndicatorAlt.gif)bin326 -> 326 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/typing-left.png (renamed from resources/themes/Default/images/typing-left.png)bin1702 -> 1702 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/typing-right.png (renamed from resources/themes/Default/images/typing-right.png)bin1710 -> 1710 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/yellowBackground.gif (renamed from resources/themes/Default/images/yellowBackground.gif)bin117 -> 117 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowBackground.png (renamed from resources/themes/Default/images/yellowBackground.png)bin162 -> 162 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/yellowCurves.gif (renamed from resources/themes/Default/images/yellowCurves.gif)bin3202 -> 3202 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowCurves.png (renamed from resources/themes/Default/images/yellowCurves.png)bin1200 -> 1200 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/yellowHeading.jpg (renamed from resources/themes/Default/images/yellowHeading.jpg)bin1447 -> 1447 bytes
-rwxr-xr-xSwift/resources/themes/Default/images/yellowIndicator.gif (renamed from resources/themes/Default/images/yellowIndicator.gif)bin532 -> 532 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowIndicator.png (renamed from resources/themes/Default/images/yellowIndicator.png)bin380 -> 380 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowIndicator2.png (renamed from resources/themes/Default/images/yellowIndicator2.png)bin400 -> 400 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowIndicatorAlt.gif (renamed from resources/themes/Default/images/yellowIndicatorAlt.gif)bin931 -> 931 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowTL.png (renamed from resources/themes/Default/images/yellowTL.png)bin326 -> 326 bytes
-rw-r--r--Swift/resources/themes/Default/images/yellowTR.png (renamed from resources/themes/Default/images/yellowTR.png)bin364 -> 364 bytes
-rwxr-xr-xSwift/resources/themes/Default/incoming_icon.png (renamed from resources/themes/Default/incoming_icon.png)bin23643 -> 23643 bytes
-rwxr-xr-xSwift/resources/themes/Default/main.css (renamed from resources/themes/Default/main.css)0
-rw-r--r--Swift/resources/themes/Default/noname.css (renamed from resources/themes/Default/noname.css)0
-rwxr-xr-xSwift/resources/themes/Default/outgoing_icon.png (renamed from resources/themes/Default/outgoing_icon.png)bin23643 -> 23643 bytes
-rw-r--r--Swiften/Events/MessageEvent.h1
184 files changed, 132 insertions, 14 deletions
diff --git a/Swift/Controllers/EventController.cpp b/Swift/Controllers/EventController.cpp
index 9b143dd..5141cc1 100644
--- a/Swift/Controllers/EventController.cpp
+++ b/Swift/Controllers/EventController.cpp
@@ -10,6 +10,7 @@ void EventController::handleIncomingEvent(boost::shared_ptr<MessageEvent> event)
events_.push_back(event);
event->onRead.connect(boost::bind(&EventController::handleEventRead, this, event));
onEventQueueLengthChange(events_.size());
+ onEventQueueEventAdded(event);
}
}
diff --git a/Swift/Controllers/EventController.h b/Swift/Controllers/EventController.h
index ab161af..c5c924b 100644
--- a/Swift/Controllers/EventController.h
+++ b/Swift/Controllers/EventController.h
@@ -13,6 +13,7 @@ namespace Swift {
public:
void handleIncomingEvent(boost::shared_ptr<MessageEvent> event);
boost::signal<void (int)> onEventQueueLengthChange;
+ boost::signal<void (boost::shared_ptr<MessageEvent>)> onEventQueueEventAdded;
private:
void handleEventRead(boost::shared_ptr<MessageEvent> event);
diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp
index 63b55af..1af689c 100644
--- a/Swift/Controllers/MainController.cpp
+++ b/Swift/Controllers/MainController.cpp
@@ -17,6 +17,8 @@
#include "Swift/Controllers/MUCController.h"
#include "Swift/Controllers/NickResolver.h"
#include "Swift/Controllers/RosterController.h"
+#include "Swift/Controllers/SoundEventController.h"
+#include "Swift/Controllers/SoundPlayer.h"
#include "Swift/Controllers/SystemTray.h"
#include "Swift/Controllers/SystemTrayController.h"
#include "Swift/Controllers/XMPPRosterController.h"
@@ -57,7 +59,7 @@ static const String CLIENT_NODE = "http://swift.im";
typedef std::pair<JID, ChatController*> JIDChatControllerPair;
typedef std::pair<JID, MUCController*> JIDMUCControllerPair;
-MainController::MainController(ChatWindowFactory* chatWindowFactory, MainWindowFactory *mainWindowFactory, LoginWindowFactory *loginWindowFactory, TreeWidgetFactory *treeWidgetFactory, SettingsProvider *settings, Application* application, SystemTray* systemTray)
+MainController::MainController(ChatWindowFactory* chatWindowFactory, MainWindowFactory *mainWindowFactory, LoginWindowFactory *loginWindowFactory, TreeWidgetFactory *treeWidgetFactory, SettingsProvider *settings, Application* application, SystemTray* systemTray, SoundPlayer* soundPlayer)
: client_(NULL), chatWindowFactory_(chatWindowFactory), mainWindowFactory_(mainWindowFactory), loginWindowFactory_(loginWindowFactory), treeWidgetFactory_(treeWidgetFactory), settings_(settings),
xmppRosterController_(NULL), rosterController_(NULL), loginWindow_(NULL), clientVersionResponder_(NULL), nickResolver_(NULL), discoResponder_(NULL),
serverDiscoInfo_(new DiscoInfo()), presenceOracle_(NULL), avatarManager_(NULL) {
@@ -68,6 +70,7 @@ MainController::MainController(ChatWindowFactory* chatWindowFactory, MainWindowF
eventController_ = new EventController();
eventController_->onEventQueueLengthChange.connect(boost::bind(&MainController::handleEventQueueLengthChange, this, _1));
systemTrayController_ = new SystemTrayController(eventController_, systemTray);
+ soundEventController_ = new SoundEventController(eventController_, soundPlayer);
loginWindow_ = loginWindowFactory_->createLoginWindow(settings->getStringSetting("jid"), settings->getStringSetting("pass"), settings->getStringSetting("certificate"));
loginWindow_->onLoginRequest.connect(boost::bind(&MainController::handleLoginRequest, this, _1, _2, _3, _4));
}
@@ -88,6 +91,7 @@ MainController::~MainController() {
delete nickResolver_;
delete client_;
delete systemTrayController_;
+ delete soundEventController_;
delete avatarStorage_;
}
diff --git a/Swift/Controllers/MainController.h b/Swift/Controllers/MainController.h
index 2b7c8b0..1fd7c4c 100644
--- a/Swift/Controllers/MainController.h
+++ b/Swift/Controllers/MainController.h
@@ -40,10 +40,12 @@ namespace Swift {
class PresenceOracle;
class SystemTray;
class SystemTrayController;
+ class SoundEventController;
+ class SoundPlayer;
class MainController : public MUCRegistry {
public:
- MainController(ChatWindowFactory* chatWindowFactory, MainWindowFactory *mainWindowFactory, LoginWindowFactory *loginWindowFactory, TreeWidgetFactory* treeWidgetFactory, SettingsProvider *settings, Application* application, SystemTray* systemTray);
+ MainController(ChatWindowFactory* chatWindowFactory, MainWindowFactory *mainWindowFactory, LoginWindowFactory *loginWindowFactory, TreeWidgetFactory* treeWidgetFactory, SettingsProvider *settings, Application* application, SystemTray* systemTray, SoundPlayer* soundPlayer);
~MainController();
@@ -90,6 +92,7 @@ namespace Swift {
JID jid_;
PresenceOracle* presenceOracle_;
SystemTrayController* systemTrayController_;
+ SoundEventController* soundEventController_;
AvatarManager* avatarManager_;
boost::shared_ptr<Presence> lastSentPresence_;
String vCardPhotoHash_;
diff --git a/Swift/Controllers/Makefile.inc b/Swift/Controllers/Makefile.inc
index 5e30a63..4c69e34 100644
--- a/Swift/Controllers/Makefile.inc
+++ b/Swift/Controllers/Makefile.inc
@@ -7,6 +7,7 @@ SWIFT_CONTROLLERS_SOURCES += \
Swift/Controllers/XMPPRosterController.cpp \
Swift/Controllers/MUCController.cpp \
Swift/Controllers/EventController.cpp \
+ Swift/Controllers/SoundEventController.cpp \
Swift/Controllers/SystemTrayController.cpp
include Swift/Controllers/UnitTest/Makefile.inc
diff --git a/Swift/Controllers/SoundEventController.cpp b/Swift/Controllers/SoundEventController.cpp
new file mode 100644
index 0000000..46d6ddb
--- /dev/null
+++ b/Swift/Controllers/SoundEventController.cpp
@@ -0,0 +1,21 @@
+#include "Swift/Controllers/SoundEventController.h"
+
+#include <boost/bind.hpp>
+
+#include "Swift/Controllers/EventController.h"
+#include "Swift/Controllers/SoundPlayer.h"
+
+namespace Swift {
+
+SoundEventController::SoundEventController(EventController* eventController, SoundPlayer* soundPlayer) {
+ eventController_ = eventController;
+ soundPlayer_ = soundPlayer;
+ eventController_->onEventQueueEventAdded.connect(boost::bind(&SoundEventController::handleEventQueueEventAdded, this, _1));
+}
+
+void SoundEventController::handleEventQueueEventAdded(boost::shared_ptr<MessageEvent> event) {
+ soundPlayer_->playSound(SoundPlayer::MessageReceived);
+}
+
+
+}
diff --git a/Swift/Controllers/SoundEventController.h b/Swift/Controllers/SoundEventController.h
new file mode 100644
index 0000000..8da057d
--- /dev/null
+++ b/Swift/Controllers/SoundEventController.h
@@ -0,0 +1,18 @@
+#pragma once
+
+#include <boost/shared_ptr.hpp>
+
+#include "Swiften/Events/MessageEvent.h"
+
+namespace Swift {
+ class EventController;
+ class SoundPlayer;
+ class SoundEventController {
+ public:
+ SoundEventController(EventController* eventController, SoundPlayer* soundPlayer);
+ private:
+ void handleEventQueueEventAdded(boost::shared_ptr<MessageEvent> event);
+ EventController* eventController_;
+ SoundPlayer* soundPlayer_;
+ };
+}
diff --git a/Swift/Controllers/SoundPlayer.h b/Swift/Controllers/SoundPlayer.h
new file mode 100644
index 0000000..b411f24
--- /dev/null
+++ b/Swift/Controllers/SoundPlayer.h
@@ -0,0 +1,10 @@
+#pragma once
+
+namespace Swift {
+ class SoundPlayer {
+ public:
+ virtual ~SoundPlayer() {};
+ enum SoundEffect{MessageReceived};
+ virtual void playSound(SoundEffect sound) = 0;
+ };
+}
diff --git a/Swift/QtUI/Makefile.inc b/Swift/QtUI/Makefile.inc
index 8b0ab30..3ec32d7 100644
--- a/Swift/QtUI/Makefile.inc
+++ b/Swift/QtUI/Makefile.inc
@@ -25,4 +25,4 @@ Swift/QtUI/Swiften.pri:
cd Swift/QtUI && ./qmakeish.py ../../Makefile > Swiften.pri
Swift/QtUI/DefaultTheme.qrc:
- cd Swift/QtUI && ../../tools/ThemeQRC.py ../../resources/themes/Default > DefaultTheme.qrc
+ cd Swift/QtUI && ../../tools/ThemeQRC.py ../resources/themes/Default > DefaultTheme.qrc
diff --git a/Swift/QtUI/QtSoundPlayer.cpp b/Swift/QtUI/QtSoundPlayer.cpp
new file mode 100644
index 0000000..937d077
--- /dev/null
+++ b/Swift/QtUI/QtSoundPlayer.cpp
@@ -0,0 +1,29 @@
+#include "QtSoundPlayer.h"
+
+#include <phonon/MediaObject>
+#include <phonon/AudioOutput>
+
+namespace Swift{
+
+QtSoundPlayer::QtSoundPlayer() {
+ audioOutput_ = new Phonon::AudioOutput(Phonon::NotificationCategory);
+
+ messageReceived_ = new Phonon::MediaObject();
+ messageReceived_->setCurrentSource(Phonon::MediaSource(":/sounds/messageReceived.wav"));
+ Phonon::Path path = Phonon::createPath(messageReceived_, audioOutput_);
+}
+
+QtSoundPlayer::~QtSoundPlayer() {
+ delete messageReceived_;
+ delete audioOutput_;
+}
+
+void QtSoundPlayer::playSound(SoundEffect sound) {
+ switch (sound) {
+ case MessageReceived:
+ messageReceived_->play();
+ break;
+ }
+}
+
+} \ No newline at end of file
diff --git a/Swift/QtUI/QtSoundPlayer.h b/Swift/QtUI/QtSoundPlayer.h
new file mode 100644
index 0000000..e0ccf18
--- /dev/null
+++ b/Swift/QtUI/QtSoundPlayer.h
@@ -0,0 +1,21 @@
+#pragma once
+
+#include "Swift/Controllers/SoundPlayer.h"
+
+
+namespace Phonon {
+ class AudioOutput;
+ class MediaObject;
+}
+
+namespace Swift {
+ class QtSoundPlayer : public SoundPlayer{
+ public:
+ QtSoundPlayer();
+ ~QtSoundPlayer();
+ void playSound(SoundEffect sound);
+ private:
+ Phonon::AudioOutput* audioOutput_;
+ Phonon::MediaObject* messageReceived_;
+ };
+}
diff --git a/Swift/QtUI/QtSwift.cpp b/Swift/QtUI/QtSwift.cpp
index caa3624..e1fac9c 100644
--- a/Swift/QtUI/QtSwift.cpp
+++ b/Swift/QtUI/QtSwift.cpp
@@ -5,6 +5,7 @@
#include "QtMainWindowFactory.h"
#include "QtTreeWidgetFactory.h"
#include "QtSystemTray.h"
+#include "QtSoundPlayer.h"
#include <boost/bind.hpp>
#include <QSplitter>
@@ -30,6 +31,7 @@ QtSwift::QtSwift(bool netbookMode) {
rosterWindowFactory_ = new QtMainWindowFactory(treeWidgetFactory_);
chatWindowFactory_ = new QtChatWindowFactory(treeWidgetFactory_, splitter_);
systemTray_ = new QtSystemTray();
+ soundPlayer_ = new QtSoundPlayer();
QCoreApplication::setApplicationName("Swift");
QCoreApplication::setOrganizationName("Swift");
QCoreApplication::setOrganizationDomain("swift.im");
@@ -38,7 +40,7 @@ QtSwift::QtSwift(bool netbookMode) {
if (splitter_) {
splitter_->show();
}
- mainController_ = new MainController(chatWindowFactory_, rosterWindowFactory_, loginWindowFactory_, treeWidgetFactory_, settings_, application_, systemTray_);
+ mainController_ = new MainController(chatWindowFactory_, rosterWindowFactory_, loginWindowFactory_, treeWidgetFactory_, settings_, application_, systemTray_, soundPlayer_);
}
QtSwift::~QtSwift() {
@@ -51,6 +53,7 @@ QtSwift::~QtSwift() {
delete application_;
delete systemTray_;
delete splitter_;
+ delete soundPlayer_;
}
}
diff --git a/Swift/QtUI/QtSwift.h b/Swift/QtUI/QtSwift.h
index a9b8efb..223316e 100644
--- a/Swift/QtUI/QtSwift.h
+++ b/Swift/QtUI/QtSwift.h
@@ -18,6 +18,7 @@ namespace Swift {
class QtLoginWindowFactory;
class QtTreeWidgetFactory;
class QtSystemTray;
+ class QtSoundPlayer;
class QtSwift : public QObject {
Q_OBJECT
@@ -34,6 +35,7 @@ namespace Swift {
QtSettingsProvider *settings_;
QtSystemTray* systemTray_;
QSplitter* splitter_;
+ QtSoundPlayer* soundPlayer_;
Application* application_;
};
}
diff --git a/Swift/QtUI/Swift.pro b/Swift/QtUI/Swift.pro
index e9579d6..5b9ea72 100644
--- a/Swift/QtUI/Swift.pro
+++ b/Swift/QtUI/Swift.pro
@@ -1,5 +1,5 @@
TEMPLATE = app
-QT += webkit
+QT += webkit phonon
CONFIG += debug
unix:!mac {
TARGET = swift
@@ -34,10 +34,10 @@ win32 {
# Resources
win32 {
- RC_FILE = ../../resources/Windows/Swift.rc
+ RC_FILE = ../resources/Windows/Swift.rc
}
mac {
- ICON = ../../resources/MacOSX/Swift.icns
+ ICON = ../resources/MacOSX/Swift.icns
}
DEFINES += BOOST_SIGNALS_NAMESPACE=bsignals BOOST_ALL_NO_LIB
@@ -59,6 +59,7 @@ HEADERS += \
QtTreeWidgetItem.h \
QtChatView.h \
QtChatTabs.h \
+ QtSoundPlayer.h \
QtSystemTray.h \
QtTabbable.h \
ChatSnippet.h \
@@ -80,6 +81,7 @@ SOURCES += \
QtTreeWidget.cpp \
QtChatView.cpp \
QtChatTabs.cpp \
+ QtSoundPlayer.cpp \
QtSystemTray.cpp \
ChatSnippet.cpp \
MessageSnippet.cpp \
@@ -91,6 +93,6 @@ RESOURCES += Swift.qrc DefaultTheme.qrc
win32 {
DefaultThemeQRC.target = DefaultTheme.qrc
- DefaultThemeQRC.commands = ..\..\tools\ThemeQRC.py ../../resources/themes/Default > DefaultTheme.qrc
+ DefaultThemeQRC.commands = ..\..\tools\ThemeQRC.py ../resources/themes/Default > DefaultTheme.qrc
QMAKE_EXTRA_TARGETS = DefaultThemeQRC
}
diff --git a/Swift/QtUI/Swift.qrc b/Swift/QtUI/Swift.qrc
index 4e3b9df..11794af 100644
--- a/Swift/QtUI/Swift.qrc
+++ b/Swift/QtUI/Swift.qrc
@@ -1,11 +1,12 @@
<!DOCTYPE RCC>
<RCC version="1.0">
<qresource>
- <file alias="logo-shaded-text.256.png">../../resources/logo/logo-shaded-text.256.png</file>
- <file alias="icons/certificate.png">../../resources/icons/certificate.png</file>
- <file alias="icons/error.png">../../resources/icons/error.png</file>
- <file alias="icons/avatar.png">../../resources/icons/avatar.png</file>
- <file alias="icons/tray-standard.png">../../resources/icons/tray-standard.png</file>
- <file alias="icons/new-chat.png">../../resources/icons/new-chat.png</file>
+ <file alias="logo-shaded-text.256.png">../resources/logo/logo-shaded-text.256.png</file>
+ <file alias="icons/certificate.png">../resources/icons/certificate.png</file>
+ <file alias="icons/error.png">../resources/icons/error.png</file>
+ <file alias="icons/avatar.png">../resources/icons/avatar.png</file>
+ <file alias="icons/tray-standard.png">../resources/icons/tray-standard.png</file>
+ <file alias="icons/new-chat.png">../resources/icons/new-chat.png</file>
+ <file alias="sounds/message-received.wav">../resources/sounds/message-received.wav</file>
</qresource>
</RCC>
diff --git a/resources/MacOSX/Swift.icns b/Swift/resources/MacOSX/Swift.icns
index 09227d0..09227d0 100644
--- a/resources/MacOSX/Swift.icns
+++ b/Swift/resources/MacOSX/Swift.icns
Binary files differ
diff --git a/resources/Windows/Swift.ico b/Swift/resources/Windows/Swift.ico
index 7b41da9..7b41da9 100644
--- a/resources/Windows/Swift.ico
+++ b/Swift/resources/Windows/Swift.ico
Binary files differ
diff --git a/resources/Windows/Swift.rc b/Swift/resources/Windows/Swift.rc
index 9e96951..9e96951 100644
--- a/resources/Windows/Swift.rc
+++ b/Swift/resources/Windows/Swift.rc
diff --git a/resources/icons/avatar.png b/Swift/resources/icons/avatar.png
index 00374a6..00374a6 100644
--- a/resources/icons/avatar.png
+++ b/Swift/resources/icons/avatar.png
Binary files differ
diff --git a/resources/icons/certificate.png b/Swift/resources/icons/certificate.png
index 6111b8e..6111b8e 100644
--- a/resources/icons/certificate.png
+++ b/Swift/resources/icons/certificate.png
Binary files differ
diff --git a/resources/icons/error.png b/Swift/resources/icons/error.png
index 3d9eca3..3d9eca3 100755
--- a/resources/icons/error.png
+++ b/Swift/resources/icons/error.png
Binary files differ
diff --git a/resources/icons/new-chat.png b/Swift/resources/icons/new-chat.png
index ca79895..ca79895 100644
--- a/resources/icons/new-chat.png
+++ b/Swift/resources/icons/new-chat.png
Binary files differ
diff --git a/resources/icons/tray-standard.png b/Swift/resources/icons/tray-standard.png
index 00374a6..00374a6 100644
--- a/resources/icons/tray-standard.png
+++ b/Swift/resources/icons/tray-standard.png
Binary files differ
diff --git a/resources/logo/coming-soon.svg b/Swift/resources/logo/coming-soon.svg
index ce242d3..ce242d3 100644
--- a/resources/logo/coming-soon.svg
+++ b/Swift/resources/logo/coming-soon.svg
diff --git a/resources/logo/logo-icon-128.png b/Swift/resources/logo/logo-icon-128.png
index c6ac4d2..c6ac4d2 100644
--- a/resources/logo/logo-icon-128.png
+++ b/Swift/resources/logo/logo-icon-128.png
Binary files differ
diff --git a/resources/logo/logo-icon-512.png b/Swift/resources/logo/logo-icon-512.png
index b0ccb25..b0ccb25 100644
--- a/resources/logo/logo-icon-512.png
+++ b/Swift/resources/logo/logo-icon-512.png
Binary files differ
diff --git a/resources/logo/logo-icon-64.png b/Swift/resources/logo/logo-icon-64.png
index 4180575..4180575 100644
--- a/resources/logo/logo-icon-64.png
+++ b/Swift/resources/logo/logo-icon-64.png
Binary files differ
diff --git a/resources/logo/logo-icon.svg b/Swift/resources/logo/logo-icon.svg
index 63f1035..63f1035 100644
--- a/resources/logo/logo-icon.svg
+++ b/Swift/resources/logo/logo-icon.svg
diff --git a/resources/logo/logo-original.svg b/Swift/resources/logo/logo-original.svg
index 75472a8..75472a8 100644
--- a/resources/logo/logo-original.svg
+++ b/Swift/resources/logo/logo-original.svg
diff --git a/resources/logo/logo-shaded-text.256.png b/Swift/resources/logo/logo-shaded-text.256.png
index 5605ad0..5605ad0 100644
--- a/resources/logo/logo-shaded-text.256.png
+++ b/Swift/resources/logo/logo-shaded-text.256.png
Binary files differ
diff --git a/resources/logo/logo-shaded-text.svg b/Swift/resources/logo/logo-shaded-text.svg
index 68192e9..68192e9 100644
--- a/resources/logo/logo-shaded-text.svg
+++ b/Swift/resources/logo/logo-shaded-text.svg
diff --git a/resources/logo/logo.svg b/Swift/resources/logo/logo.svg
index c0576e6..c0576e6 100644
--- a/resources/logo/logo.svg
+++ b/Swift/resources/logo/logo.svg
diff --git a/Swift/resources/sounds/message-received.wav b/Swift/resources/sounds/message-received.wav
new file mode 100644
index 0000000..7877ba1
--- /dev/null
+++ b/Swift/resources/sounds/message-received.wav
Binary files differ
diff --git a/resources/themes/Default/Demo.html b/Swift/resources/themes/Default/Demo.html
index 6078ad1..6078ad1 100755
--- a/resources/themes/Default/Demo.html
+++ b/Swift/resources/themes/Default/Demo.html
diff --git a/resources/themes/Default/Header.html b/Swift/resources/themes/Default/Header.html
index b97bbb3..b97bbb3 100755
--- a/resources/themes/Default/Header.html
+++ b/Swift/resources/themes/Default/Header.html
diff --git a/resources/themes/Default/Incoming/Content.html b/Swift/resources/themes/Default/Incoming/Content.html
index 2946716..2946716 100755
--- a/resources/themes/Default/Incoming/Content.html
+++ b/Swift/resources/themes/Default/Incoming/Content.html
diff --git a/resources/themes/Default/Incoming/Context.html b/Swift/resources/themes/Default/Incoming/Context.html
index b1aca27..b1aca27 100755
--- a/resources/themes/Default/Incoming/Context.html
+++ b/Swift/resources/themes/Default/Incoming/Context.html
diff --git a/resources/themes/Default/Incoming/NextContent.html b/Swift/resources/themes/Default/Incoming/NextContent.html
index 4aec8ab..4aec8ab 100755
--- a/resources/themes/Default/Incoming/NextContent.html
+++ b/Swift/resources/themes/Default/Incoming/NextContent.html
diff --git a/resources/themes/Default/Incoming/NextContext.html b/Swift/resources/themes/Default/Incoming/NextContext.html
index 18b8dc4..18b8dc4 100755
--- a/resources/themes/Default/Incoming/NextContext.html
+++ b/Swift/resources/themes/Default/Incoming/NextContext.html
diff --git a/resources/themes/Default/Outgoing/buddy_icon.png b/Swift/resources/themes/Default/Incoming/buddy_icon.png
index 1d9f5f3..1d9f5f3 100644
--- a/resources/themes/Default/Outgoing/buddy_icon.png
+++ b/Swift/resources/themes/Default/Incoming/buddy_icon.png
Binary files differ
diff --git a/resources/themes/Default/LICENSE.txt b/Swift/resources/themes/Default/LICENSE.txt
index 2eee1ee..2eee1ee 100644
--- a/resources/themes/Default/LICENSE.txt
+++ b/Swift/resources/themes/Default/LICENSE.txt
diff --git a/resources/themes/Default/Outgoing/Content.html b/Swift/resources/themes/Default/Outgoing/Content.html
index beb57f0..beb57f0 100755
--- a/resources/themes/Default/Outgoing/Content.html
+++ b/Swift/resources/themes/Default/Outgoing/Content.html
diff --git a/resources/themes/Default/Outgoing/Context.html b/Swift/resources/themes/Default/Outgoing/Context.html
index 7822cac..7822cac 100755
--- a/resources/themes/Default/Outgoing/Context.html
+++ b/Swift/resources/themes/Default/Outgoing/Context.html
diff --git a/resources/themes/Default/Outgoing/NextContent.html b/Swift/resources/themes/Default/Outgoing/NextContent.html
index 4367197..4367197 100755
--- a/resources/themes/Default/Outgoing/NextContent.html
+++ b/Swift/resources/themes/Default/Outgoing/NextContent.html
diff --git a/resources/themes/Default/Outgoing/NextContext.html b/Swift/resources/themes/Default/Outgoing/NextContext.html
index 1f84771..1f84771 100755
--- a/resources/themes/Default/Outgoing/NextContext.html
+++ b/Swift/resources/themes/Default/Outgoing/NextContext.html
diff --git a/resources/themes/Default/Incoming/buddy_icon.png b/Swift/resources/themes/Default/Outgoing/buddy_icon.png
index 1d9f5f3..1d9f5f3 100644
--- a/resources/themes/Default/Incoming/buddy_icon.png
+++ b/Swift/resources/themes/Default/Outgoing/buddy_icon.png
Binary files differ
diff --git a/resources/themes/Default/Status.html b/Swift/resources/themes/Default/Status.html
index b8168e8..b8168e8 100755
--- a/resources/themes/Default/Status.html
+++ b/Swift/resources/themes/Default/Status.html
diff --git a/resources/themes/Default/Template.html b/Swift/resources/themes/Default/Template.html
index 15f208c..15f208c 100755
--- a/resources/themes/Default/Template.html
+++ b/Swift/resources/themes/Default/Template.html
diff --git a/resources/themes/Default/Variants/Blue on Green Alternating.css b/Swift/resources/themes/Default/Variants/Blue on Green Alternating.css
index 5b910eb..5b910eb 100644
--- a/resources/themes/Default/Variants/Blue on Green Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Green Alternating.css
diff --git a/resources/themes/Default/Variants/Blue on Green No Names Alt.css b/Swift/resources/themes/Default/Variants/Blue on Green No Names Alt.css
index ebad314..ebad314 100644
--- a/resources/themes/Default/Variants/Blue on Green No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Green No Names Alt.css
diff --git a/resources/themes/Default/Variants/Blue on Green No Names.css b/Swift/resources/themes/Default/Variants/Blue on Green No Names.css
index 2a0902c..2a0902c 100644
--- a/resources/themes/Default/Variants/Blue on Green No Names.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Green No Names.css
diff --git a/resources/themes/Default/Variants/Blue on Green.css b/Swift/resources/themes/Default/Variants/Blue on Green.css
index 361c8c6..361c8c6 100644
--- a/resources/themes/Default/Variants/Blue on Green.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Green.css
diff --git a/resources/themes/Default/Variants/Blue on Red Alternating.css b/Swift/resources/themes/Default/Variants/Blue on Red Alternating.css
index 5481c10..5481c10 100644
--- a/resources/themes/Default/Variants/Blue on Red Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Red Alternating.css
diff --git a/resources/themes/Default/Variants/Blue on Red No Names Alt.css b/Swift/resources/themes/Default/Variants/Blue on Red No Names Alt.css
index 9818a6c..9818a6c 100644
--- a/resources/themes/Default/Variants/Blue on Red No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Red No Names Alt.css
diff --git a/resources/themes/Default/Variants/Blue on Red No Names.css b/Swift/resources/themes/Default/Variants/Blue on Red No Names.css
index 3ac8c9a..3ac8c9a 100644
--- a/resources/themes/Default/Variants/Blue on Red No Names.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Red No Names.css
diff --git a/resources/themes/Default/Variants/Blue on Red.css b/Swift/resources/themes/Default/Variants/Blue on Red.css
index 0717920..0717920 100644
--- a/resources/themes/Default/Variants/Blue on Red.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Red.css
diff --git a/resources/themes/Default/Variants/Blue on Steel Alternating.css b/Swift/resources/themes/Default/Variants/Blue on Steel Alternating.css
index 8473d1f..8473d1f 100644
--- a/resources/themes/Default/Variants/Blue on Steel Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Steel Alternating.css
diff --git a/resources/themes/Default/Variants/Blue on Steel No Names Alt.css b/Swift/resources/themes/Default/Variants/Blue on Steel No Names Alt.css
index 1925d5c..1925d5c 100644
--- a/resources/themes/Default/Variants/Blue on Steel No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Steel No Names Alt.css
diff --git a/resources/themes/Default/Variants/Blue on Steel No Names.css b/Swift/resources/themes/Default/Variants/Blue on Steel No Names.css
index 573aa58..573aa58 100644
--- a/resources/themes/Default/Variants/Blue on Steel No Names.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Steel No Names.css
diff --git a/resources/themes/Default/Variants/Blue on Steel.css b/Swift/resources/themes/Default/Variants/Blue on Steel.css
index 48ab03d..48ab03d 100644
--- a/resources/themes/Default/Variants/Blue on Steel.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Steel.css
diff --git a/resources/themes/Default/Variants/Blue on Yellow Alternating.css b/Swift/resources/themes/Default/Variants/Blue on Yellow Alternating.css
index d7927fc..d7927fc 100644
--- a/resources/themes/Default/Variants/Blue on Yellow Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Yellow Alternating.css
diff --git a/resources/themes/Default/Variants/Blue on Yellow No Names Alt.css b/Swift/resources/themes/Default/Variants/Blue on Yellow No Names Alt.css
index 38d374d..38d374d 100644
--- a/resources/themes/Default/Variants/Blue on Yellow No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Yellow No Names Alt.css
diff --git a/resources/themes/Default/Variants/Blue on Yellow No Names.css b/Swift/resources/themes/Default/Variants/Blue on Yellow No Names.css
index 3fdc8cd..3fdc8cd 100644
--- a/resources/themes/Default/Variants/Blue on Yellow No Names.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Yellow No Names.css
diff --git a/resources/themes/Default/Variants/Blue on Yellow.css b/Swift/resources/themes/Default/Variants/Blue on Yellow.css
index b019b0b..b019b0b 100644
--- a/resources/themes/Default/Variants/Blue on Yellow.css
+++ b/Swift/resources/themes/Default/Variants/Blue on Yellow.css
diff --git a/resources/themes/Default/Variants/Green on Blue Alternating.css b/Swift/resources/themes/Default/Variants/Green on Blue Alternating.css
index 272c0d0..272c0d0 100644
--- a/resources/themes/Default/Variants/Green on Blue Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Green on Blue Alternating.css
diff --git a/resources/themes/Default/Variants/Green on Blue No Names Alt.css b/Swift/resources/themes/Default/Variants/Green on Blue No Names Alt.css
index 973f91a..973f91a 100644
--- a/resources/themes/Default/Variants/Green on Blue No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Green on Blue No Names Alt.css
diff --git a/resources/themes/Default/Variants/Green on Blue No Names.css b/Swift/resources/themes/Default/Variants/Green on Blue No Names.css
index 0d92eb0..0d92eb0 100644
--- a/resources/themes/Default/Variants/Green on Blue No Names.css
+++ b/Swift/resources/themes/Default/Variants/Green on Blue No Names.css
diff --git a/resources/themes/Default/Variants/Green on Blue.css b/Swift/resources/themes/Default/Variants/Green on Blue.css
index 7185f4f..7185f4f 100644
--- a/resources/themes/Default/Variants/Green on Blue.css
+++ b/Swift/resources/themes/Default/Variants/Green on Blue.css
diff --git a/resources/themes/Default/Variants/Green on Red Alternating.css b/Swift/resources/themes/Default/Variants/Green on Red Alternating.css
index e656dc0..e656dc0 100644
--- a/resources/themes/Default/Variants/Green on Red Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Green on Red Alternating.css
diff --git a/resources/themes/Default/Variants/Green on Red No Names Alt.css b/Swift/resources/themes/Default/Variants/Green on Red No Names Alt.css
index 5fd2482..5fd2482 100644
--- a/resources/themes/Default/Variants/Green on Red No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Green on Red No Names Alt.css
diff --git a/resources/themes/Default/Variants/Green on Red No Names.css b/Swift/resources/themes/Default/Variants/Green on Red No Names.css
index 23dae81..23dae81 100644
--- a/resources/themes/Default/Variants/Green on Red No Names.css
+++ b/Swift/resources/themes/Default/Variants/Green on Red No Names.css
diff --git a/resources/themes/Default/Variants/Green on Red.css b/Swift/resources/themes/Default/Variants/Green on Red.css
index cdf38b3..cdf38b3 100644
--- a/resources/themes/Default/Variants/Green on Red.css
+++ b/Swift/resources/themes/Default/Variants/Green on Red.css
diff --git a/resources/themes/Default/Variants/Green on Steel Alternating.css b/Swift/resources/themes/Default/Variants/Green on Steel Alternating.css
index 3c14f7f..3c14f7f 100644
--- a/resources/themes/Default/Variants/Green on Steel Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Green on Steel Alternating.css
diff --git a/resources/themes/Default/Variants/Green on Steel No Names Alt.css b/Swift/resources/themes/Default/Variants/Green on Steel No Names Alt.css
index cfd6bb9..cfd6bb9 100644
--- a/resources/themes/Default/Variants/Green on Steel No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Green on Steel No Names Alt.css
diff --git a/resources/themes/Default/Variants/Green on Steel No Names.css b/Swift/resources/themes/Default/Variants/Green on Steel No Names.css
index 41bc9de..41bc9de 100644
--- a/resources/themes/Default/Variants/Green on Steel No Names.css
+++ b/Swift/resources/themes/Default/Variants/Green on Steel No Names.css
diff --git a/resources/themes/Default/Variants/Green on Steel.css b/Swift/resources/themes/Default/Variants/Green on Steel.css
index 30a78a0..30a78a0 100644
--- a/resources/themes/Default/Variants/Green on Steel.css
+++ b/Swift/resources/themes/Default/Variants/Green on Steel.css
diff --git a/resources/themes/Default/Variants/Green on Yellow Alternating.css b/Swift/resources/themes/Default/Variants/Green on Yellow Alternating.css
index d0553e8..d0553e8 100644
--- a/resources/themes/Default/Variants/Green on Yellow Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Green on Yellow Alternating.css
diff --git a/resources/themes/Default/Variants/Green on Yellow No Names Alt.css b/Swift/resources/themes/Default/Variants/Green on Yellow No Names Alt.css
index 27adc33..27adc33 100644
--- a/resources/themes/Default/Variants/Green on Yellow No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Green on Yellow No Names Alt.css
diff --git a/resources/themes/Default/Variants/Green on Yellow No Names.css b/Swift/resources/themes/Default/Variants/Green on Yellow No Names.css
index 8c8cb28..8c8cb28 100644
--- a/resources/themes/Default/Variants/Green on Yellow No Names.css
+++ b/Swift/resources/themes/Default/Variants/Green on Yellow No Names.css
diff --git a/resources/themes/Default/Variants/Green on Yellow.css b/Swift/resources/themes/Default/Variants/Green on Yellow.css
index d7f64d3..d7f64d3 100644
--- a/resources/themes/Default/Variants/Green on Yellow.css
+++ b/Swift/resources/themes/Default/Variants/Green on Yellow.css
diff --git a/resources/themes/Default/Variants/Red on Blue Alternating.css b/Swift/resources/themes/Default/Variants/Red on Blue Alternating.css
index 5d241fb..5d241fb 100644
--- a/resources/themes/Default/Variants/Red on Blue Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Red on Blue Alternating.css
diff --git a/resources/themes/Default/Variants/Red on Blue No Names Alt.css b/Swift/resources/themes/Default/Variants/Red on Blue No Names Alt.css
index 2e80935..2e80935 100644
--- a/resources/themes/Default/Variants/Red on Blue No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Red on Blue No Names Alt.css
diff --git a/resources/themes/Default/Variants/Red on Blue No Names.css b/Swift/resources/themes/Default/Variants/Red on Blue No Names.css
index da98b5c..da98b5c 100644
--- a/resources/themes/Default/Variants/Red on Blue No Names.css
+++ b/Swift/resources/themes/Default/Variants/Red on Blue No Names.css
diff --git a/resources/themes/Default/Variants/Red on Blue.css b/Swift/resources/themes/Default/Variants/Red on Blue.css
index f6e646c..f6e646c 100644
--- a/resources/themes/Default/Variants/Red on Blue.css
+++ b/Swift/resources/themes/Default/Variants/Red on Blue.css
diff --git a/resources/themes/Default/Variants/Red on Green Alternating.css b/Swift/resources/themes/Default/Variants/Red on Green Alternating.css
index db8effa..db8effa 100644
--- a/resources/themes/Default/Variants/Red on Green Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Red on Green Alternating.css
diff --git a/resources/themes/Default/Variants/Red on Green No Names Alt.css b/Swift/resources/themes/Default/Variants/Red on Green No Names Alt.css
index 9a230f2..9a230f2 100644
--- a/resources/themes/Default/Variants/Red on Green No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Red on Green No Names Alt.css
diff --git a/resources/themes/Default/Variants/Red on Green No Names.css b/Swift/resources/themes/Default/Variants/Red on Green No Names.css
index 1bbc2a5..1bbc2a5 100644
--- a/resources/themes/Default/Variants/Red on Green No Names.css
+++ b/Swift/resources/themes/Default/Variants/Red on Green No Names.css
diff --git a/resources/themes/Default/Variants/Red on Green.css b/Swift/resources/themes/Default/Variants/Red on Green.css
index 0e7c12b..0e7c12b 100644
--- a/resources/themes/Default/Variants/Red on Green.css
+++ b/Swift/resources/themes/Default/Variants/Red on Green.css
diff --git a/resources/themes/Default/Variants/Red on Steel Alternating.css b/Swift/resources/themes/Default/Variants/Red on Steel Alternating.css
index ad7eb15..ad7eb15 100644
--- a/resources/themes/Default/Variants/Red on Steel Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Red on Steel Alternating.css
diff --git a/resources/themes/Default/Variants/Red on Steel No Names Alt.css b/Swift/resources/themes/Default/Variants/Red on Steel No Names Alt.css
index 9c6ab55..9c6ab55 100644
--- a/resources/themes/Default/Variants/Red on Steel No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Red on Steel No Names Alt.css
diff --git a/resources/themes/Default/Variants/Red on Steel No Names.css b/Swift/resources/themes/Default/Variants/Red on Steel No Names.css
index aa2b60a..aa2b60a 100644
--- a/resources/themes/Default/Variants/Red on Steel No Names.css
+++ b/Swift/resources/themes/Default/Variants/Red on Steel No Names.css
diff --git a/resources/themes/Default/Variants/Red on Steel.css b/Swift/resources/themes/Default/Variants/Red on Steel.css
index 8a39df2..8a39df2 100644
--- a/resources/themes/Default/Variants/Red on Steel.css
+++ b/Swift/resources/themes/Default/Variants/Red on Steel.css
diff --git a/resources/themes/Default/Variants/Red on Yellow Alternating.css b/Swift/resources/themes/Default/Variants/Red on Yellow Alternating.css
index b264d7d..b264d7d 100644
--- a/resources/themes/Default/Variants/Red on Yellow Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Red on Yellow Alternating.css
diff --git a/resources/themes/Default/Variants/Red on Yellow No Names Alt.css b/Swift/resources/themes/Default/Variants/Red on Yellow No Names Alt.css
index dc4394e..dc4394e 100644
--- a/resources/themes/Default/Variants/Red on Yellow No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Red on Yellow No Names Alt.css
diff --git a/resources/themes/Default/Variants/Red on Yellow No Names.css b/Swift/resources/themes/Default/Variants/Red on Yellow No Names.css
index 9ca44ec..9ca44ec 100644
--- a/resources/themes/Default/Variants/Red on Yellow No Names.css
+++ b/Swift/resources/themes/Default/Variants/Red on Yellow No Names.css
diff --git a/resources/themes/Default/Variants/Red on Yellow.css b/Swift/resources/themes/Default/Variants/Red on Yellow.css
index f2dc5a0..f2dc5a0 100644
--- a/resources/themes/Default/Variants/Red on Yellow.css
+++ b/Swift/resources/themes/Default/Variants/Red on Yellow.css
diff --git a/resources/themes/Default/Variants/Steel on Blue Alternating.css b/Swift/resources/themes/Default/Variants/Steel on Blue Alternating.css
index 8c15ec2..8c15ec2 100644
--- a/resources/themes/Default/Variants/Steel on Blue Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Blue Alternating.css
diff --git a/resources/themes/Default/Variants/Steel on Blue No Names Alt.css b/Swift/resources/themes/Default/Variants/Steel on Blue No Names Alt.css
index 7edfcb1..7edfcb1 100644
--- a/resources/themes/Default/Variants/Steel on Blue No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Blue No Names Alt.css
diff --git a/resources/themes/Default/Variants/Steel on Blue No Names.css b/Swift/resources/themes/Default/Variants/Steel on Blue No Names.css
index f7058b9..f7058b9 100644
--- a/resources/themes/Default/Variants/Steel on Blue No Names.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Blue No Names.css
diff --git a/resources/themes/Default/Variants/Steel on Blue.css b/Swift/resources/themes/Default/Variants/Steel on Blue.css
index 6203dc2..6203dc2 100644
--- a/resources/themes/Default/Variants/Steel on Blue.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Blue.css
diff --git a/resources/themes/Default/Variants/Steel on Green Alternating.css b/Swift/resources/themes/Default/Variants/Steel on Green Alternating.css
index 69474f0..69474f0 100644
--- a/resources/themes/Default/Variants/Steel on Green Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Green Alternating.css
diff --git a/resources/themes/Default/Variants/Steel on Green No Names Alt.css b/Swift/resources/themes/Default/Variants/Steel on Green No Names Alt.css
index 6fc5606..6fc5606 100644
--- a/resources/themes/Default/Variants/Steel on Green No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Green No Names Alt.css
diff --git a/resources/themes/Default/Variants/Steel on Green No Names.css b/Swift/resources/themes/Default/Variants/Steel on Green No Names.css
index f07264b..f07264b 100644
--- a/resources/themes/Default/Variants/Steel on Green No Names.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Green No Names.css
diff --git a/resources/themes/Default/Variants/Steel on Green.css b/Swift/resources/themes/Default/Variants/Steel on Green.css
index 800dc6b..800dc6b 100644
--- a/resources/themes/Default/Variants/Steel on Green.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Green.css
diff --git a/resources/themes/Default/Variants/Steel on Red Alternating.css b/Swift/resources/themes/Default/Variants/Steel on Red Alternating.css
index 64a783b..64a783b 100644
--- a/resources/themes/Default/Variants/Steel on Red Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Red Alternating.css
diff --git a/resources/themes/Default/Variants/Steel on Red No Names Alt.css b/Swift/resources/themes/Default/Variants/Steel on Red No Names Alt.css
index 995f329..995f329 100644
--- a/resources/themes/Default/Variants/Steel on Red No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Red No Names Alt.css
diff --git a/resources/themes/Default/Variants/Steel on Red No Names.css b/Swift/resources/themes/Default/Variants/Steel on Red No Names.css
index b5e622e..b5e622e 100644
--- a/resources/themes/Default/Variants/Steel on Red No Names.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Red No Names.css
diff --git a/resources/themes/Default/Variants/Steel on Red.css b/Swift/resources/themes/Default/Variants/Steel on Red.css
index 922c6ef..922c6ef 100644
--- a/resources/themes/Default/Variants/Steel on Red.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Red.css
diff --git a/resources/themes/Default/Variants/Steel on Yellow Alternating.css b/Swift/resources/themes/Default/Variants/Steel on Yellow Alternating.css
index 0249230..0249230 100644
--- a/resources/themes/Default/Variants/Steel on Yellow Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Yellow Alternating.css
diff --git a/resources/themes/Default/Variants/Steel on Yellow No Names Alt.css b/Swift/resources/themes/Default/Variants/Steel on Yellow No Names Alt.css
index 9ab928c..9ab928c 100644
--- a/resources/themes/Default/Variants/Steel on Yellow No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Yellow No Names Alt.css
diff --git a/resources/themes/Default/Variants/Steel on Yellow No Names.css b/Swift/resources/themes/Default/Variants/Steel on Yellow No Names.css
index ecf7861..ecf7861 100644
--- a/resources/themes/Default/Variants/Steel on Yellow No Names.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Yellow No Names.css
diff --git a/resources/themes/Default/Variants/Steel on Yellow.css b/Swift/resources/themes/Default/Variants/Steel on Yellow.css
index 2d91510..2d91510 100644
--- a/resources/themes/Default/Variants/Steel on Yellow.css
+++ b/Swift/resources/themes/Default/Variants/Steel on Yellow.css
diff --git a/resources/themes/Default/Variants/Yellow on Blue Alternating.css b/Swift/resources/themes/Default/Variants/Yellow on Blue Alternating.css
index 361856d..361856d 100644
--- a/resources/themes/Default/Variants/Yellow on Blue Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Blue Alternating.css
diff --git a/resources/themes/Default/Variants/Yellow on Blue No Names Alt.css b/Swift/resources/themes/Default/Variants/Yellow on Blue No Names Alt.css
index 2e31a7c..2e31a7c 100644
--- a/resources/themes/Default/Variants/Yellow on Blue No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Blue No Names Alt.css
diff --git a/resources/themes/Default/Variants/Yellow on Blue No Names.css b/Swift/resources/themes/Default/Variants/Yellow on Blue No Names.css
index 808377f..808377f 100644
--- a/resources/themes/Default/Variants/Yellow on Blue No Names.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Blue No Names.css
diff --git a/resources/themes/Default/Variants/Yellow on Blue.css b/Swift/resources/themes/Default/Variants/Yellow on Blue.css
index 7e745e9..7e745e9 100644
--- a/resources/themes/Default/Variants/Yellow on Blue.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Blue.css
diff --git a/resources/themes/Default/Variants/Yellow on Green Alternating.css b/Swift/resources/themes/Default/Variants/Yellow on Green Alternating.css
index cb88dfb..cb88dfb 100644
--- a/resources/themes/Default/Variants/Yellow on Green Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Green Alternating.css
diff --git a/resources/themes/Default/Variants/Yellow on Green No Names Alt.css b/Swift/resources/themes/Default/Variants/Yellow on Green No Names Alt.css
index 24fe8ef..24fe8ef 100644
--- a/resources/themes/Default/Variants/Yellow on Green No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Green No Names Alt.css
diff --git a/resources/themes/Default/Variants/Yellow on Green No Names.css b/Swift/resources/themes/Default/Variants/Yellow on Green No Names.css
index 0c7d12b..0c7d12b 100644
--- a/resources/themes/Default/Variants/Yellow on Green No Names.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Green No Names.css
diff --git a/resources/themes/Default/Variants/Yellow on Green.css b/Swift/resources/themes/Default/Variants/Yellow on Green.css
index de4afc6..de4afc6 100644
--- a/resources/themes/Default/Variants/Yellow on Green.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Green.css
diff --git a/resources/themes/Default/Variants/Yellow on Red Alternating.css b/Swift/resources/themes/Default/Variants/Yellow on Red Alternating.css
index 592b8c4..592b8c4 100644
--- a/resources/themes/Default/Variants/Yellow on Red Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Red Alternating.css
diff --git a/resources/themes/Default/Variants/Yellow on Red No Names Alt.css b/Swift/resources/themes/Default/Variants/Yellow on Red No Names Alt.css
index fe464d9..fe464d9 100644
--- a/resources/themes/Default/Variants/Yellow on Red No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Red No Names Alt.css
diff --git a/resources/themes/Default/Variants/Yellow on Red No Names.css b/Swift/resources/themes/Default/Variants/Yellow on Red No Names.css
index f35c8a2..f35c8a2 100644
--- a/resources/themes/Default/Variants/Yellow on Red No Names.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Red No Names.css
diff --git a/resources/themes/Default/Variants/Yellow on Red.css b/Swift/resources/themes/Default/Variants/Yellow on Red.css
index f73f0d0..f73f0d0 100644
--- a/resources/themes/Default/Variants/Yellow on Red.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Red.css
diff --git a/resources/themes/Default/Variants/Yellow on Steel Alternating.css b/Swift/resources/themes/Default/Variants/Yellow on Steel Alternating.css
index a019487..a019487 100644
--- a/resources/themes/Default/Variants/Yellow on Steel Alternating.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Steel Alternating.css
diff --git a/resources/themes/Default/Variants/Yellow on Steel No Names Alt.css b/Swift/resources/themes/Default/Variants/Yellow on Steel No Names Alt.css
index 273bcbb..273bcbb 100644
--- a/resources/themes/Default/Variants/Yellow on Steel No Names Alt.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Steel No Names Alt.css
diff --git a/resources/themes/Default/Variants/Yellow on Steel No Names.css b/Swift/resources/themes/Default/Variants/Yellow on Steel No Names.css
index 1f8d314..1f8d314 100644
--- a/resources/themes/Default/Variants/Yellow on Steel No Names.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Steel No Names.css
diff --git a/resources/themes/Default/Variants/Yellow on Steel.css b/Swift/resources/themes/Default/Variants/Yellow on Steel.css
index 680f0c8..680f0c8 100644
--- a/resources/themes/Default/Variants/Yellow on Steel.css
+++ b/Swift/resources/themes/Default/Variants/Yellow on Steel.css
diff --git a/resources/themes/Default/alternating.css b/Swift/resources/themes/Default/alternating.css
index 2b21147..2b21147 100644
--- a/resources/themes/Default/alternating.css
+++ b/Swift/resources/themes/Default/alternating.css
diff --git a/resources/themes/Default/images/DummyContact.png b/Swift/resources/themes/Default/images/DummyContact.png
index 5149ea5..5149ea5 100755
--- a/resources/themes/Default/images/DummyContact.png
+++ b/Swift/resources/themes/Default/images/DummyContact.png
Binary files differ
diff --git a/resources/themes/Default/images/alert.png b/Swift/resources/themes/Default/images/alert.png
index ad59ebc..ad59ebc 100755
--- a/resources/themes/Default/images/alert.png
+++ b/Swift/resources/themes/Default/images/alert.png
Binary files differ
diff --git a/resources/themes/Default/images/blueBackground.gif b/Swift/resources/themes/Default/images/blueBackground.gif
index 1aad572..1aad572 100755
--- a/resources/themes/Default/images/blueBackground.gif
+++ b/Swift/resources/themes/Default/images/blueBackground.gif
Binary files differ
diff --git a/resources/themes/Default/images/blueBackground.png b/Swift/resources/themes/Default/images/blueBackground.png
index c3eecf5..c3eecf5 100644
--- a/resources/themes/Default/images/blueBackground.png
+++ b/Swift/resources/themes/Default/images/blueBackground.png
Binary files differ
diff --git a/resources/themes/Default/images/blueCurves.gif b/Swift/resources/themes/Default/images/blueCurves.gif
index 90e3823..90e3823 100755
--- a/resources/themes/Default/images/blueCurves.gif
+++ b/Swift/resources/themes/Default/images/blueCurves.gif
Binary files differ
diff --git a/resources/themes/Default/images/blueCurves.png b/Swift/resources/themes/Default/images/blueCurves.png
index 7a6afe1..7a6afe1 100644
--- a/resources/themes/Default/images/blueCurves.png
+++ b/Swift/resources/themes/Default/images/blueCurves.png
Binary files differ
diff --git a/resources/themes/Default/images/blueIndicator.gif b/Swift/resources/themes/Default/images/blueIndicator.gif
index 3a1b40a..3a1b40a 100755
--- a/resources/themes/Default/images/blueIndicator.gif
+++ b/Swift/resources/themes/Default/images/blueIndicator.gif
Binary files differ
diff --git a/resources/themes/Default/images/blueIndicator.png b/Swift/resources/themes/Default/images/blueIndicator.png
index 29b65cb..29b65cb 100644
--- a/resources/themes/Default/images/blueIndicator.png
+++ b/Swift/resources/themes/Default/images/blueIndicator.png
Binary files differ
diff --git a/resources/themes/Default/images/blueIndicator2.png b/Swift/resources/themes/Default/images/blueIndicator2.png
index d7c3621..d7c3621 100644
--- a/resources/themes/Default/images/blueIndicator2.png
+++ b/Swift/resources/themes/Default/images/blueIndicator2.png
Binary files differ
diff --git a/resources/themes/Default/images/blueIndicatorAlt.gif b/Swift/resources/themes/Default/images/blueIndicatorAlt.gif
index aaacb89..aaacb89 100644
--- a/resources/themes/Default/images/blueIndicatorAlt.gif
+++ b/Swift/resources/themes/Default/images/blueIndicatorAlt.gif
Binary files differ
diff --git a/resources/themes/Default/images/greenBackground.gif b/Swift/resources/themes/Default/images/greenBackground.gif
index a11a52d..a11a52d 100755
--- a/resources/themes/Default/images/greenBackground.gif
+++ b/Swift/resources/themes/Default/images/greenBackground.gif
Binary files differ
diff --git a/resources/themes/Default/images/greenBackground.png b/Swift/resources/themes/Default/images/greenBackground.png
index dfeb36e..dfeb36e 100644
--- a/resources/themes/Default/images/greenBackground.png
+++ b/Swift/resources/themes/Default/images/greenBackground.png
Binary files differ
diff --git a/resources/themes/Default/images/greenCurves.gif b/Swift/resources/themes/Default/images/greenCurves.gif
index 165892a..165892a 100755
--- a/resources/themes/Default/images/greenCurves.gif
+++ b/Swift/resources/themes/Default/images/greenCurves.gif
Binary files differ
diff --git a/resources/themes/Default/images/greenCurves.png b/Swift/resources/themes/Default/images/greenCurves.png
index 13fae75..13fae75 100644
--- a/resources/themes/Default/images/greenCurves.png
+++ b/Swift/resources/themes/Default/images/greenCurves.png
Binary files differ
diff --git a/resources/themes/Default/images/greenIndicator.gif b/Swift/resources/themes/Default/images/greenIndicator.gif
index b6409c7..b6409c7 100755
--- a/resources/themes/Default/images/greenIndicator.gif
+++ b/Swift/resources/themes/Default/images/greenIndicator.gif
Binary files differ
diff --git a/resources/themes/Default/images/greenIndicator.png b/Swift/resources/themes/Default/images/greenIndicator.png
index 381db82..381db82 100644
--- a/resources/themes/Default/images/greenIndicator.png
+++ b/Swift/resources/themes/Default/images/greenIndicator.png
Binary files differ
diff --git a/resources/themes/Default/images/greenIndicator2.png b/Swift/resources/themes/Default/images/greenIndicator2.png
index 1dedb31..1dedb31 100644
--- a/resources/themes/Default/images/greenIndicator2.png
+++ b/Swift/resources/themes/Default/images/greenIndicator2.png
Binary files differ
diff --git a/resources/themes/Default/images/greenIndicatorAlt.gif b/Swift/resources/themes/Default/images/greenIndicatorAlt.gif
index 3ccbc23..3ccbc23 100644
--- a/resources/themes/Default/images/greenIndicatorAlt.gif
+++ b/Swift/resources/themes/Default/images/greenIndicatorAlt.gif
Binary files differ
diff --git a/resources/themes/Default/images/redBackground.gif b/Swift/resources/themes/Default/images/redBackground.gif
index ce1443e..ce1443e 100755
--- a/resources/themes/Default/images/redBackground.gif
+++ b/Swift/resources/themes/Default/images/redBackground.gif
Binary files differ
diff --git a/resources/themes/Default/images/redBackground.png b/Swift/resources/themes/Default/images/redBackground.png
index bbacbc7..bbacbc7 100644
--- a/resources/themes/Default/images/redBackground.png
+++ b/Swift/resources/themes/Default/images/redBackground.png
Binary files differ
diff --git a/resources/themes/Default/images/redCurves.gif b/Swift/resources/themes/Default/images/redCurves.gif
index 55e496d..55e496d 100755
--- a/resources/themes/Default/images/redCurves.gif
+++ b/Swift/resources/themes/Default/images/redCurves.gif
Binary files differ
diff --git a/resources/themes/Default/images/redCurves.png b/Swift/resources/themes/Default/images/redCurves.png
index 3e7065a..3e7065a 100644
--- a/resources/themes/Default/images/redCurves.png
+++ b/Swift/resources/themes/Default/images/redCurves.png
Binary files differ
diff --git a/resources/themes/Default/images/redIndicator.gif b/Swift/resources/themes/Default/images/redIndicator.gif
index 58e189c..58e189c 100755
--- a/resources/themes/Default/images/redIndicator.gif
+++ b/Swift/resources/themes/Default/images/redIndicator.gif
Binary files differ
diff --git a/resources/themes/Default/images/redIndicator.png b/Swift/resources/themes/Default/images/redIndicator.png
index 9c906a9..9c906a9 100644
--- a/resources/themes/Default/images/redIndicator.png
+++ b/Swift/resources/themes/Default/images/redIndicator.png
Binary files differ
diff --git a/resources/themes/Default/images/redIndicator2.png b/Swift/resources/themes/Default/images/redIndicator2.png
index 1f625a0..1f625a0 100644
--- a/resources/themes/Default/images/redIndicator2.png
+++ b/Swift/resources/themes/Default/images/redIndicator2.png
Binary files differ
diff --git a/resources/themes/Default/images/redIndicatorAlt.gif b/Swift/resources/themes/Default/images/redIndicatorAlt.gif
index 1f9c4f1..1f9c4f1 100644
--- a/resources/themes/Default/images/redIndicatorAlt.gif
+++ b/Swift/resources/themes/Default/images/redIndicatorAlt.gif
Binary files differ
diff --git a/resources/themes/Default/images/silverBackground.gif b/Swift/resources/themes/Default/images/silverBackground.gif
index b2798a4..b2798a4 100755
--- a/resources/themes/Default/images/silverBackground.gif
+++ b/Swift/resources/themes/Default/images/silverBackground.gif
Binary files differ
diff --git a/resources/themes/Default/images/silverCurves.gif b/Swift/resources/themes/Default/images/silverCurves.gif
index b7bca30..b7bca30 100755
--- a/resources/themes/Default/images/silverCurves.gif
+++ b/Swift/resources/themes/Default/images/silverCurves.gif
Binary files differ
diff --git a/resources/themes/Default/images/steelBackground.gif b/Swift/resources/themes/Default/images/steelBackground.gif
index c292710..c292710 100755
--- a/resources/themes/Default/images/steelBackground.gif
+++ b/Swift/resources/themes/Default/images/steelBackground.gif
Binary files differ
diff --git a/resources/themes/Default/images/steelBackground.png b/Swift/resources/themes/Default/images/steelBackground.png
index b1180d3..b1180d3 100644
--- a/resources/themes/Default/images/steelBackground.png
+++ b/Swift/resources/themes/Default/images/steelBackground.png
Binary files differ
diff --git a/resources/themes/Default/images/steelCurves.gif b/Swift/resources/themes/Default/images/steelCurves.gif
index 663c5c3..663c5c3 100755
--- a/resources/themes/Default/images/steelCurves.gif
+++ b/Swift/resources/themes/Default/images/steelCurves.gif
Binary files differ
diff --git a/resources/themes/Default/images/steelCurves.png b/Swift/resources/themes/Default/images/steelCurves.png
index e1ddeb0..e1ddeb0 100644
--- a/resources/themes/Default/images/steelCurves.png
+++ b/Swift/resources/themes/Default/images/steelCurves.png
Binary files differ
diff --git a/resources/themes/Default/images/steelHeading.jpg b/Swift/resources/themes/Default/images/steelHeading.jpg
index a319c7e..a319c7e 100755
--- a/resources/themes/Default/images/steelHeading.jpg
+++ b/Swift/resources/themes/Default/images/steelHeading.jpg
Binary files differ
diff --git a/resources/themes/Default/images/steelIndicator.gif b/Swift/resources/themes/Default/images/steelIndicator.gif
index 0d91eed..0d91eed 100755
--- a/resources/themes/Default/images/steelIndicator.gif
+++ b/Swift/resources/themes/Default/images/steelIndicator.gif
Binary files differ
diff --git a/resources/themes/Default/images/steelIndicator.png b/Swift/resources/themes/Default/images/steelIndicator.png
index 48a3af5..48a3af5 100644
--- a/resources/themes/Default/images/steelIndicator.png
+++ b/Swift/resources/themes/Default/images/steelIndicator.png
Binary files differ
diff --git a/resources/themes/Default/images/steelIndicator2.png b/Swift/resources/themes/Default/images/steelIndicator2.png
index 1a34ac7..1a34ac7 100644
--- a/resources/themes/Default/images/steelIndicator2.png
+++ b/Swift/resources/themes/Default/images/steelIndicator2.png
Binary files differ
diff --git a/resources/themes/Default/images/steelIndicatorAlt.gif b/Swift/resources/themes/Default/images/steelIndicatorAlt.gif
index 5d7686d..5d7686d 100644
--- a/resources/themes/Default/images/steelIndicatorAlt.gif
+++ b/Swift/resources/themes/Default/images/steelIndicatorAlt.gif
Binary files differ
diff --git a/resources/themes/Default/images/typing-left.png b/Swift/resources/themes/Default/images/typing-left.png
index e5448a5..e5448a5 100755
--- a/resources/themes/Default/images/typing-left.png
+++ b/Swift/resources/themes/Default/images/typing-left.png
Binary files differ
diff --git a/resources/themes/Default/images/typing-right.png b/Swift/resources/themes/Default/images/typing-right.png
index 1e997d4..1e997d4 100755
--- a/resources/themes/Default/images/typing-right.png
+++ b/Swift/resources/themes/Default/images/typing-right.png
Binary files differ
diff --git a/resources/themes/Default/images/yellowBackground.gif b/Swift/resources/themes/Default/images/yellowBackground.gif
index adcdb5d..adcdb5d 100755
--- a/resources/themes/Default/images/yellowBackground.gif
+++ b/Swift/resources/themes/Default/images/yellowBackground.gif
Binary files differ
diff --git a/resources/themes/Default/images/yellowBackground.png b/Swift/resources/themes/Default/images/yellowBackground.png
index ea79d06..ea79d06 100644
--- a/resources/themes/Default/images/yellowBackground.png
+++ b/Swift/resources/themes/Default/images/yellowBackground.png
Binary files differ
diff --git a/resources/themes/Default/images/yellowCurves.gif b/Swift/resources/themes/Default/images/yellowCurves.gif
index c8bf931..c8bf931 100755
--- a/resources/themes/Default/images/yellowCurves.gif
+++ b/Swift/resources/themes/Default/images/yellowCurves.gif
Binary files differ
diff --git a/resources/themes/Default/images/yellowCurves.png b/Swift/resources/themes/Default/images/yellowCurves.png
index b4133ba..b4133ba 100644
--- a/resources/themes/Default/images/yellowCurves.png
+++ b/Swift/resources/themes/Default/images/yellowCurves.png
Binary files differ
diff --git a/resources/themes/Default/images/yellowHeading.jpg b/Swift/resources/themes/Default/images/yellowHeading.jpg
index bd6f049..bd6f049 100755
--- a/resources/themes/Default/images/yellowHeading.jpg
+++ b/Swift/resources/themes/Default/images/yellowHeading.jpg
Binary files differ
diff --git a/resources/themes/Default/images/yellowIndicator.gif b/Swift/resources/themes/Default/images/yellowIndicator.gif
index 537414c..537414c 100755
--- a/resources/themes/Default/images/yellowIndicator.gif
+++ b/Swift/resources/themes/Default/images/yellowIndicator.gif
Binary files differ
diff --git a/resources/themes/Default/images/yellowIndicator.png b/Swift/resources/themes/Default/images/yellowIndicator.png
index bfaf230..bfaf230 100644
--- a/resources/themes/Default/images/yellowIndicator.png
+++ b/Swift/resources/themes/Default/images/yellowIndicator.png
Binary files differ
diff --git a/resources/themes/Default/images/yellowIndicator2.png b/Swift/resources/themes/Default/images/yellowIndicator2.png
index c59fe2b..c59fe2b 100644
--- a/resources/themes/Default/images/yellowIndicator2.png
+++ b/Swift/resources/themes/Default/images/yellowIndicator2.png
Binary files differ
diff --git a/resources/themes/Default/images/yellowIndicatorAlt.gif b/Swift/resources/themes/Default/images/yellowIndicatorAlt.gif
index f3cd7b0..f3cd7b0 100644
--- a/resources/themes/Default/images/yellowIndicatorAlt.gif
+++ b/Swift/resources/themes/Default/images/yellowIndicatorAlt.gif
Binary files differ
diff --git a/resources/themes/Default/images/yellowTL.png b/Swift/resources/themes/Default/images/yellowTL.png
index 2bdfa65..2bdfa65 100644
--- a/resources/themes/Default/images/yellowTL.png
+++ b/Swift/resources/themes/Default/images/yellowTL.png
Binary files differ
diff --git a/resources/themes/Default/images/yellowTR.png b/Swift/resources/themes/Default/images/yellowTR.png
index 1aff191..1aff191 100644
--- a/resources/themes/Default/images/yellowTR.png
+++ b/Swift/resources/themes/Default/images/yellowTR.png
Binary files differ
diff --git a/resources/themes/Default/incoming_icon.png b/Swift/resources/themes/Default/incoming_icon.png
index 7080fd6..7080fd6 100755
--- a/resources/themes/Default/incoming_icon.png
+++ b/Swift/resources/themes/Default/incoming_icon.png
Binary files differ
diff --git a/resources/themes/Default/main.css b/Swift/resources/themes/Default/main.css
index c2ce2d5..c2ce2d5 100755
--- a/resources/themes/Default/main.css
+++ b/Swift/resources/themes/Default/main.css
diff --git a/resources/themes/Default/noname.css b/Swift/resources/themes/Default/noname.css
index 9d905a9..9d905a9 100644
--- a/resources/themes/Default/noname.css
+++ b/Swift/resources/themes/Default/noname.css
diff --git a/resources/themes/Default/outgoing_icon.png b/Swift/resources/themes/Default/outgoing_icon.png
index 7080fd6..7080fd6 100755
--- a/resources/themes/Default/outgoing_icon.png
+++ b/Swift/resources/themes/Default/outgoing_icon.png
Binary files differ
diff --git a/Swiften/Events/MessageEvent.h b/Swiften/Events/MessageEvent.h
index 27eecaf..0f061d1 100644
--- a/Swiften/Events/MessageEvent.h
+++ b/Swiften/Events/MessageEvent.h
@@ -5,6 +5,7 @@
#include "Swiften/Elements/Message.h"
+#include <boost/signals.hpp>
#include <boost/shared_ptr.hpp>
namespace Swift {