summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2015-03-31Disable signals when adding a tab to the trellis layoutTobias Markmann
Due ot the way Qt implements widgets and the events, the windowOpening signal of a QtTabbable is emitted before the QtTabbable is a member of a QTabWidget when adding a QtTabbable to a QTabWidget. Disabling the signals when adding the widget will prevent these signals to be called and will prevent and endlress recursion. This has originally been reported by Pavol Babincak. Test-Information: Without this patch the reporter had Swift crash after a day or two. With this patch the reporter does not experience the endless recursion (crash) anymore. Change-Id: I8b3d791d79e9ab8f42dd1a1cba30d118f620f15d
2015-03-28Fix a bug in successful file-transfer termination in IncomingJingleFTTobias Markmann
IncomingJingleFileTransfer::terminate already sets the finshed state for the file-transfer. Test-Information: Verified in the logs that onFinished signal is only called once. Change-Id: Ib2084e1487ded2a921f61b237cd036e1ae4cf992
2015-03-28Set file-transfer finished state after checking the dataTobias Markmann
Test-Information: The FileTransfer::onFinished was not called when the file transfer finished. Verified with log output that it is called correctly now. Change-Id: I05f2a749ca3f0aece08cae9503a212cf0327f98a
2015-03-28Change IQ handling to allow non-final IQ handlers/respondersTobias Markmann
Previously all IQ handlers were final. The IQ handles were processed in last-added-first order and if the IQ payload matched the handler payload, the IQ would only be passed to that handler. This conflicts with our IBBReceiveSession. When running multiple concurrent file-transfers using multiple IBBReceiveSessions there are multiple IQ handlers for IBB content; one for every transfer. This commit allows a Responder to be set as non-final. In this case unhandled IQs will not be responded with an error but returned to the IQRouter so it can pass it to the next possible IQ handler. Test-Information: Tested with ConcurrentFileTransferTest with runs multiple IBB transfers in parallel. Change-Id: I8237e234cbe5c110deaa8c3d6ba303b65fd53d00
2015-03-28Add missing line endingsTobias Markmann
Test-Information: Builds. Change-Id: Ica4b1bca4ff71f103ee5ebad707bc0f95595ad37
2015-03-28Move common code into a shared QtUIFactory::showTabs() methodTobias Markmann
Test-Information: Still builds and behaves as expected. Change-Id: Ic3553ae2e34acf58a912bc7e2643fcb7d66f824e
2015-03-28Fix typo in ChatController regarding Message ReceiptsTobias Markmann
Test-Information: None. Change-Id: If02bc8bf250b129522bbeb841f699ccea9721422
2015-03-27Fix OutgoingJingleFileTransferTest and enable it againTobias Markmann
Test-Information: Unit tests pass. Change-Id: I793fb65fd2e760daddab0142abc33d4aa5b4fce5
2015-03-27Fix terminology inconsistency "Organisation" -> "Organization"Tobias Markmann
Test-Information: Verified in the UI after a build. Change-Id: I7586fc5c8f3bd4de4ea8e52e70ced3f9b50244f7
2015-03-27Improve Windows MSI installer upgrade experienceTobias Markmann
Previously every time WiX heat.exe ran it generated new GUIDs for all the file components that MSI was going to install. Windows installer deletes components if there is no software/component left that is referencing it. This patch uses the -ag flag instead of the -gg flag for heat.exe so it will generate deterministic GUIDs based on the filename and other things instead of completely random new one on each run. In addition we schedule the upgrade to run after the new version has been installed. This way old files are first replaced with the new ones, shortcuts remain and are not deleted, pinned shortcuts remain usable. Afterwards MSI uninstalls the old version, specifically the components that are not reference anymore. Test-Information: Tested (a) two version upgrade with this patch and (b) an upgrade from a version without this patch to a version with this patch. a) The upgrade works as expected. MSI installs the new version and then uninstalls the old version. The pinned shortcut stays alive and works. b) In this case during the deinstallation files of the new installation are deleted, since there are two components with different GUIDs which however use the same filenames. Running a repair on this installation, or first deinstalling the old version and then the new one manually fixes this. Change-Id: I842a288d837962e77efaa15b17d3877e923c7e49
2015-03-26Add emoticons input popupDaniel Baczynski
This is simple popup menu added to chat window where it is possible to choose an emoticon. To activate click on the smiling face next to input field. When emoticon is selected its text equivalent is appended to input. License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Tested on Ubuntu 14.10 with KDE and Qt 4.8.6 Change-Id: I6c5907959970398c9c38591f64ceec20efcbf409
2015-03-24Don't crash when the UI doesn't provide a user search windowKevin Smith
Change-Id: I9c8692e0c4f36877591385a7580cb8a2107bd68f
2015-03-19Fix for HTTPConnectProxiedConnection to support responses in piecesTobias Markmann
This fix lets HTTPConnectProxiedConnection buffer response data in pieces until the end of the HTTP header is reached. Only then it will try to parse the HTTP header. This is *not* the HTTP chunked transfer encoding. Test-Information: Adjusted one test to respond in pieces and added a new test case that verifies that response data is buffered. Change-Id: Icfb987bdf2fc5771401a8a9c6979fa9ad1eebdca
2015-03-18Add test for ChatStateSerializerTarun Gupta
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details. Test-Information: Test for ChatStateSerializer passes. Change-Id: I871490a647ee54631cad025fc71f900cc0fa9770
2015-03-16Add ability to modify HTTP CONNECT proxy initializationTobias Markmann
This patch adds HTTPTrafficFilter and integrates it into HTTPConnectProxiedConnection. This allows the HTTP CONNECT proxy initialization process to be customized. Test-Information: Added a unit test that verifies the new functionality. Change-Id: I0b93c319fb205487b8be65717276cd0dd38851a3
2015-03-13Fix duplicate addition of CarbonsPrivateSerializer to ↵Tobias Markmann
FullPayloadSerializerCollection Test-Information: Builds and unit tests run through. Change-Id: I0dac62cdef56ec4780388f25d24ca0818b900dad
2015-03-13Add Carbons serializers to FullPayloadSerializerCollectionTobias Markmann
Test-Information: Unit tests still pass. Carbons serializers are tested directly without FullPayloadSerializerCollection. Change-Id: Ic0f961094daf09836326660859b41d86141e70b9
2015-03-02Move *TransportSession to their own filesTobias Markmann
Test-Information: Builds. Change-Id: I1d8a942a2063c6bc0f7322161a33c0413a6899a3
2015-02-24Ignore another buildsystem-related fileKevin Smith
Change-Id: Ia7a9bd1bfeb50b4a5f0ce1ec6f72f095000002c4
2015-02-23Fix chat window title showing wrong chat titleswift-3.0beta1Tobias Markmann
Setup an application wide focus handler which updates the title if a focus change to a QtTabWidget happened. Test-Information: Tested on OS X 10.9.5 with Qt 5.4.0. Change-Id: Ib2e2f4c4a93deddb286350bdef685eb7aee504c9
2015-02-20Fix Ctrl/Cmd + Page Up/PageDown shortcutsTobias Markmann
Test-Information: Tested on OS X 10.9.5 with Qt 5.4.0. Change-Id: Ia60808f5ae371db6b438b7396fa1f999f4572a96
2015-02-20Add elements/parsers/serializers/tests for Message Carbons (XEP-0280)Tobias Markmann
In addition this patch adds an element, a parser and a serializer for the <thread/> element from XMPP IM. Test-Information: Implemented unit tests pass as expected. Change-Id: I0a14c778c2c0bf65f4b405c9878c741449bfe142
2015-02-19Fix missing 'conf.Finish()' in libMiniUPnPc's SConscriptTobias Markmann
Reported by Scrool. Test-Information: Scons would fail during configuration with 'File "/home/pbabinca/ workspace/swift/3rdParty/LibIDN/SConscript", line 30, in <module>' without this patch. Change-Id: I785d0535d1a20b8ff22eb78c1ea2b65eb80ac0db
2015-02-18Fix crash when a tab drag is aborted in trellis modeTobias Markmann
To prevent an infinite recurison during when a tab is returned (added again) to the original QTabWidget. The recursion was caused by a show event that is emmitted during insert and our QtChatTabs::handleWidgetShown function trying to add the tab again because it is not in the QTabWidget yet; it would be if the show event would be emitted after the insert is done and not somewhere during the insert. Test-Information: Dragging a tab in trellis mode and *not* dropping it on a tab bar. Previously this would cause an infinite recursion. Now it just returns the tab to its previous place. Tested on OS X 10.9.5 with Qt 5.4.0. Change-Id: Icd54b95b6f0542b6a9d3921fa1b0ab4df409950a
2015-02-18Update ownership in GPL licenseKevin Smith
Change-Id: Icc901591f7e2f72251222ba34263824c124672f0
2015-02-17Add Zash to third-party contributionsKevin Smith
Change-Id: Ic0e055d2ed5366c2305a38b5eb70ea0561ba7cdc
2015-02-17Disable SSLv3Kim Alvefur
Change-Id: I25328f60e211387f5d3fbcd6de155b7b8956c0f9 License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2015-02-17Swiften XEP-0141 supportTim Robbings
Classes to support XEP-0141 data forms layout. This includes <page/>, <section/>, <reportedref/> and <text/> elements. The form parser and serializer classes have also been updated to handle these new elements, with added CPPUnit tests. Test-information: Tested using updated CPPUnit tests to check the parsing and serializing of new elements. All tests complete successfully. Change-Id: Ibeab22d2834512d06c7f656acd1ef24eea39d650
2015-02-17Fix shortcut handling for chat window navigationTobias Markmann
This commit fixes CTRL-Tab, CTRL-Backtab and CTRL-W shortcuts on Mac, Windows and Linux. These shortcuts work in all mode except --no-tabs mode. This will be fixed in a future commit. There is still different behavior across platforms: on Windows and Linux they are handled on key press and repeat, and on Mac they are handled on key release and do not repeat. Test-Information: Tested on OS X 10.9.5, Windows 7 and Elementary OS. Change-Id: I2179f234cfd76b86cf261f2cf7500fc1cf0439a4
2015-02-17Fix terminology: 'join room' -> 'enter room'Tobias Markmann
Test-Information: None. Change-Id: I022a65c64e73e1ae70ee21673fa5cce7afbe51a6
2015-02-16Show a warning notice when trying to enter a blocked roomTobias Markmann
When the user tries to enter a blocked room, we now show a warning notice and describing how the room can be unblocked. Swift will not send the joining presence when trying to enter a blocked room. Test-Information: Tested on Mac OS X 10.9.5 against a popular open source server and its MUC and Blocking Command implementation. Change-Id: I875db056f21f97845c5a9a43167b0f2a16bdaa36
2015-02-16Run FileTransferTest correctly as part of the system integration testsTobias Markmann
If Scons is configured to run system unit tests, it will run FileTransferTest and test for working IBB transfer, direct S5B transfer and proxied S5B transfer. Test-Information: Tested ./scons test=all is working on Linux and OS X. Change-Id: Id70c9e1e9db9c897d9bfc7dd03b874afe5262207
2015-02-16Free ProxyFinder instance after we are done with itTobias Markmann
SOCKS5BytestreamProxiesManager will try to stop its ProxyFinder if it exists in its dtor. Test-Information: Running the FileTransferTest crashed before. Now it successfully runs through on Linux. Change-Id: I1e95694a5d32728123ddb436274901e4d8643974
2015-02-12Fix missing to return some dependencies in windeployqt-based ↵Tobias Markmann
createWindowsBundle implementation Test-Information: Did a clear rebuild with dist=1 and confirmed that it now starts the WiX process after all dependencies are copied over. Change-Id: Icbb9ec127b0d56e10f2620790f0fc6b6a29d5aa5
2015-02-11Do not try highlight words if no text and background colours are specifiedTobias Markmann
The tests have been adjusted so a colour is set in their highlight actions. Test-Information: Tested with a "own nick" highlight rule with a "No highlight" action and one with highlights colours set. The cases now work as expected. Added a unit test that checks that no highlighting happens when no colour is specified. Change-Id: Ied48d8c2e033531c1b0532348b9380e1bd884b44
2015-02-11Fix program output of Swiften/QA/ClientTestTobias Markmann
Test-Information: Tried to connect to BOSH service setting the boshPath to "http-bind" while "/http-bind" would have been correct. Change-Id: Ifc9bb574361c9eaa3baeffc2938d06a257275f2a
2015-02-11Sluift: Add set_vcard shortcutRoger Planas
Change-Id: If1f0b08ac600e6c84d367132cc512dc5a3add442
2015-02-11Sluift: Add element convertor for vCardRoger Planas
Change-Id: I55e69471a03b507b3c50ac5fa24b486a0826e1c5
2015-02-11Fix missing removable icon in contact listing of "Start Chat…" dialogTobias Markmann
QtRemovableItemDelegate only renders the icon if the data for the cell is empty. This is to enable persistent entries. With this commit the model only returns the expected data for the first column. Test-Information: Tested on OS X 10.9.5 with Qt 5.4.0. Change-Id: I5cacebcc47323280b689badf2ba90b3503c17061
2015-02-11Fix code styleTobias Markmann
Test-Information: None. Change-Id: Iaff0108547658e1b103905c78fac5d1faf3a15e1
2015-02-11Fix --no-tabs mode brokenTobias Markmann
Trellis changes introduced a bug for the --no-tabs mode. Test-Information: Tested on Mac OS X 10.9.5. Change-Id: Ic918a38cda00a64f8eca496ede0190fbef6b6602
2015-02-11Fix DummyConnectionServer to use private accessors for its membersTobias Markmann
Test-Information: Builds. Change-Id: Ib5f1b4e9de814ab46723487e4d15974f0f5bd658
2015-02-11Add debugging helper and FileTransferTest.Tobias Markmann
FileTransferTests tests file-transfer interoperability with Swiften itself. It can test all combinations of FileTransferOptions or a specific combination when given. Test-Information: Inspected XML logs to ensure it does what it is supposed to do. Change-Id: I06215b60419dd23b367d01a2f038245a6c977720
2015-02-11Renable SOCKS5 bytestream proxy support for Jingle file transfers.Tobias Markmann
Test-Information: Tested interoperability with Swiften using FileTransferTest. Change-Id: Ic13a68a91cad199be0bfc8852ff43c25c7085f12
2015-02-11Wait for responder to terminate the the file transfer session after dataTobias Markmann
verification. Test-Information: Tested with FileTransferTest (coming with future commit) and inspected the logs. Change-Id: Idd2739e15ab944e8486065cb2a3bc559ce9053d1
2015-02-11Remove port forwardings on stop or destruction of SOCKS5BytestreamServerManager.Tobias Markmann
Test-Information: Verified with home router that supports UPnP that the forwards are removed on stop. Change-Id: Ie2a8fd56828cc01e456d40ff4e5500d3387c7afe
2015-02-11Restrict generated candidates and selected candidates to those allowedTobias Markmann
by supplied FileTransferOptions. Test-Information: Automatically tested all FileTransferOption combinations and verified it generates only allowed candidates. Change-Id: I0b3ce983a3f230a4c2c3940f5d928fd74d6012b6
2015-02-11Support domain names in S5B proxy <streamhost> tags.Tobias Markmann
S5BProxyManager now resolves DNS names of proxy entries discovered via service discovery. Test-Information: Tested against a XMPP installation that uses domain names in proxy entires. Change-Id: I728243333ec6e62e86f088f2a7b6e222c629757b
2015-02-09Fix unused parameter warnings in some testing headersKevin Smith
Test-Information: Warnings went away in another project using these headers Change-Id: I336925153a4a549bb33cc977c6a483ec81cd1ff6
2015-02-09Fix sender text that is used for matching highlight rulesTobias Markmann
Old behavior: MUC group messages are matched against the nickname as sender. MUC 1-to-1 messages and classic 1-to-1 messages are matched against the display name as sender. New behavior: MUC group messages are matched against the nickname as sender. MUC 1-to-1 messages are matched against the nickname as sender. Classic 1-to-1 messages are matched against the bare JID as sender. Test-Information: Tested on Mac OS X 10.9.5 that a chat rule matching a nickname string and a rule matching a full JID are highlighted correctly. Change-Id: Icaee2c946e34fceb6b1d40561674030740555de1