summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-10-08Update vCard cache on 'Show Profile' if cached vCard is older than 5 minutes.Tobias Markmann
Store last write time in memory in VCardStorage. VCardManager::getVCardAndRequestWhenNeeded will check an optional parameter and the last write time to determine if the cached vCard is fresh enough. Test-Information: ALl unit tests still run fine and tested that it fetches the vCard again when you open the 'Show Profile' dialog after 5 minutes. Change-Id: I27d7f931188a43aa090348014bcdbdf6d534c5a0
2014-10-08Prevent multiple chat window alerts being shown with the same message.Richard Maudsley
Test-Information: Enable message delivery receipts, check that only a single alert is displayed for repeated messages. Change-Id: Ifb9f8bd74e592147745f95678f94c21563d301a5
2014-10-07Fix clang compiler warning related to inititalization order of members in ctor.Tobias Markmann
Change-Id: I5cbbacce8dc75a38646ebfdc72e5a2c9aec184f6
2014-10-07Fix QLayout related warning.Tobias Markmann
QVBoxLayout was initialized with a widget which automatically tries to make the new layout the main layout of the widget. However, this is not intended. This bug was introduced in cc379dc. Test-Information: Before a warning "QLayout: Attempting to add QLayout..." was printed to stdout when joining a MUC; now this warning is gone. Change-Id: Ie680b188e108a3d825fb98947f2829d3c12955f7
2014-10-07Add tooltip to preferred stars of profile editor to describe what it's for.Tobias Markmann
Change-Id: I937c39406ec3ae58cd7c0d8311543bcbb684fda0
2014-10-07Hide unchecked preferred stars in profile editor where there is only one field.Tobias Markmann
Hide the preferred stars in profile editor if it is not checked and there is only one field of a field type in the vCard. Example: If you have only one eMail in your vCard it does not make much sense to mark it preferred. If it is already marked as preferred we will still display it as such. Test-Information: Manually tested it via editing a vCard of a test account. On addition or deletion of fields other fields are checked and stars hidden/shown on demand. Change-Id: I4704d52518e662f7e3a168ed2b42602383b2153f
2014-10-06Do not send chat state notifications to blocked contacts.Tobias Markmann
Test-Information: Started a chat session; then blocked the contact. Previously chat state notifications were send when typing. Now they are not send anymore. Change-Id: Id68f3faee4829e99cbfe1535f48346a8c27712d3
2014-10-06Fix detailed name not being shown in profiles.Tobias Markmann
Test-Information: Tested by running Swift and verifying that the detailed name (prefix, given, middle, family, suffix) is shown. Change-Id: Iacd3f88dc58f3a797cb5854f7ee4800515202c04
2014-10-06Allow scons to not require an IDN libraryKevin Smith
This will clearly break all the tests, Swift, Sluift etc., but is useful if someone wants to use Swiften and inject their own IDN provider. Test-information: Compiles with Isode's IDN provider Change-Id: Ia55991054f42f332bf34b653d7b55f64f654820e
2014-10-06Fix own avatar in contact list header not updated on VCard edit.Tobias Markmann
Commit 14fd8e changed the JID comparison to JID::WithResource. However, we want JID::WithoutResource because a) handleAvatarChanged is called with a bare resource when our own avatar changes and b) we also want the avatar in the contact list header be updated if another of our resources changes it. Test-Information: Changed own avatar to a different avatar or cleared it. Before the avatar in the contact list header was not updated; now it is. Change-Id: Ie84b6cb10b528f75c1c76c7ceae558f00380d99f
2014-10-06Always bring 'Edit contact' window to the top on 'Edit contact' so it is visibleTobias Markmann
to the user and has focus. Test-Information: Checked via running Swift and testing in different scenarios (minimizing, background) that this functionality works. Change-Id: I49ed16b09d23acd052c387c3c1c4fe60f2aa9415
2014-10-03Suggest MUC occupants when typing in highlight editor JID boxRichard Maudsley
Test-Information: Join several MUCs and confirm that MUC occupants are suggested along with recent contacts. Confirm that clicking or pressing return adds the selected contact to the edit field. Check that QtSuggestingJIDInput in Start Chat dialog still functions as before, and that MUC users are not suggested here. Change-Id: Ieadc95d55c764e1fa48c949cca4d5e0aa5f19615
2014-10-01Disable drag of text and images (like avatars) in chat views.Tobias Markmann
Change-Id: I74ba85f84c9e4775b472e7366f3f1b7572489512
2014-10-01Port many of Isode's local fixes upstreamKevin Smith
Includes fixes to: Build with new Visual Studio and Boost Avoid error caused when Avahi is present but Qt is not Make declaration of XMPPRosterImpl::addContact consistent with implementation Includes enhancements to: Allow user-configurable mt.exe Allow splitting openssl paths Allow disabling gconf lookup Make idn support optional Allow disabling various library detections Remove use of non-Python2.4 features in sconscripts Test-Information: Builds Change-Id: Iee91ee80291a8bdf87cc169c915e4dad1cc1055b
2014-10-01Render selected highlight item rule in italicRichard Maudsley
Test-Information: Verify that this is just a cosmetic change and does not effect operation of highlight dialog. Change-Id: Ie0fd14bb5d90a3cfae1797bbe3daa7e724987584
2014-10-01Fix resizability behavior of 'Edit Bookmark'-Dialog.Tobias Markmann
The dialog is now only resizable in width and the line edit fields resize with the dialog size without leaving awkward whitespace. Test-Information: Checked via running Swift and testing that the fields resize in width and the dialog is fixed in height. Change-Id: Idd7417720438f20fa051a823df40d89545db9078
2014-09-30Always bring profile window to the top on 'Show Profile' so it is visible to theTobias Markmann
user and has focus. Test-Information: Checked via running Swift and testing in different scenarios that this functionality works. This includes situations where the profile window has been closed, minimised or put in the background. Change-Id: I367ef555fabe32f7ec1d09e7ff72b17d2071e134
2014-09-21Add Czech translationRemko Tronçon
Thanks to Roman Štefko. Change-Id: I509152cb44bcd81b37be4d2c905e9fab51e1a3d1
2014-09-20Fix ASAN-reported heap-use-after-free bug.Tobias Markmann
ChatListModel used to notify Qt about its changed items via layoutChanged() signals. However, not only the layout changed but most times also the items and corrosponding QModelIndex objects and their internal pointers. After layout changed Qt tried to access now invalid QModelIndex objects and their internal pointers pointed to freed memory. Test-Information: Checked via ASAN. The previously perfect reproducable report by joining a MUC from the bookmarks went away. Change-Id: I71d2aa7e66a6b4caf2a9e0f68552ff5174291e1e License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2014-09-18Only allocate BlockResponder and UnblockResponder once. Fixes ASANTobias Markmann
heap-used-after-free report. Tested via ASAN, report gone after applying this change. It previously occured during machine sleep/resume or logout/login. Change-Id: I8af6a3c290457a4a98f94486a225f9dfb92ca885 License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2014-09-18Fix memory leak of mucRecentsMenu_ in QtChatListWindow.Tobias Markmann
Verified with clang's ASAN on linux. Change-Id: I12cb3f1e672adf35aec8eee9dece3e669af5c2cc License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2014-09-17Handle Isode's IQ ForwardingKevin Smith
Change-Id: I3b358e6a60f1ff546f2e578b6e0a54072b4c6da5
2014-09-16Add Subject element convertor to SluiftEdwin Mons
Test Information: MAM queries now return a payload of _type='subject'. Change-Id: I4fe4eb5105f4f19d146e4cca741d35bb7760cf6c
2014-09-16Fix boost::optional abuses that stop compilation with latest boostKevin Smith
Test-Information: Compiles and unit tests pass with boost 1.56 Change-Id: I6525399babc5f6c88fb499af80e9f07c1c4d0cdb
2014-08-21Clean up compilation errors in Swiften due to boost 1.56Kevin Smith
Can no longer implicitly convert boost::optional to bool temporaries. Also fixed assorted uses of cerr where logging was appropriate. Test-Information: Swiften compiles against boost 1.56 (link fails for me so far) Change-Id: Iec058af933a82a987da64291435a475f8b40ef96
2014-08-10Fix invalid characters being allowed in JID domainsRichard Maudsley
Test-Information: Prepare valid and invalid JIDs and make sure that isValid() is reported correctly. Added unit tests. Change-Id: Ic4d86f8b6ea9defc517ada2f8e3cc54979237cf4
2014-08-10Address memory leakKevin Smith
I'd rather do this with shared_ptr, as there's an ownership transfer. This just gets it into somewhere we'll remember it Change-Id: I5f6872bce8070cbcce44de84eff5e9ed83f88fb9
2014-08-10Fix blocklist not being requested on reconnect.Richard Maudsley
Test-Information: Connect client and confirm that blocklist is requested only once. Reconnect client and confirm that blocklist is requested again. Change-Id: Iebf38c9f3c1ff9749c239b6cf785feb7a539a9b1
2014-08-03Allow injection of flags into unit test checkerKevin Smith
Some projects (e.g. Eve-Xin) piggy-back on Swift's build system, but are unable to do the same with unit tests until this patch (because the checker will need to link against the unknown library to test it). This patch allows them to set INJECTED_UNITTEST_FLAGS, which will get included in the checker's compilation if set. Test-Information: Added unit test to Eve-Xin, which builds and runs. Change-Id: I58ffb2043b968144ad10096b83ac9d88f54f72f3
2014-08-01Fix memory leaks reported by ASAN in some unit tests.Tobias Markmann
Change-Id: Ic9c31a8e2378110df7f368437b66ff4b51cfd665 License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2014-08-01Fix issue in QtUtilities reported by ASAN.Tobias Markmann
Change-Id: I3e7d65efb4b66897abf735eb9f759122fdf50b89 License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
2014-07-29Fix rule for highlighting messages from individual sender JID or MUC nick.Richard Maudsley
Test-Information: Set up rule to highlight chat messages from a sender. Confirm that when this is enabled the entire message text from that sender is highlighted and messages from other senders are displayed normally. Same test for Room/MUC messages. Confirm that for MUC nicks the comparison is case insensitive. Confirm that URL parsing and emoticon parsing stills works within highlighted messages. Change-Id: I5bbf013df8efdd76f876c020fd3097adbfb45760
2014-07-29Add ability to reorder highlight rules list.Richard Maudsley
Test-Information: Add several highlight rules. Verify that the up and down buttons reorder the items in the list. Change-Id: I6272799e2b2767ddfa01068c2ffcd1fb4651e11d
2014-07-29Prevent nick highlight rule highlighting the entire message and remove ↵Richard Maudsley
default highlight colours Test-Information: Add a nick highlight rule. Verify that it is triggered correctly in MUCs and that only the nick text is highlighted. Added unit tests. Change-Id: I9af1c900f4767383745afd36a5eadbe08f606432
2014-07-29Fix DNS resolution on Android.Richard Maudsley
Test-Information: Try accessing local hosts on a local network and make sure that the local DNS server is queried. Change-Id: Ie594b3eed5772c58d46ec1a4435b2df24d6d8212
2014-07-29Add close button to chat window alerts.Richard Maudsley
Test-Information: Check that close button is functional. Change-Id: I45078cb50e410365704e6a8b2444e1a4b15db068
2014-07-29Fix renaming contact group makes blocked user appear to be unblocked.Richard Maudsley
Test-Information: Block a user and rename the group then verify that the user still appears as blocked in the roster. Try renaming a group with several users in various states of blocked and unblocked and verify that the states are preserved after renaming. Change-Id: I93ff721b053f299d5f1c3f62dd8687f021701fe1
2014-07-28Change highlight rule default to MUC for new rules.Richard Maudsley
Test-Information: View highlight editor dialog and confirm that Rooms is now the default option. Change-Id: I4881efeb26c19fc0779dc99c3a4516f54ec3e211
2014-07-28Fix displaying blocked user warning with bound JID chats. Support multiple ↵Richard Maudsley
alert messages. Test-Information: Block a user while the JID is unbound and verify that the yellow warning bar is displayed. Send bidirectional messages to bind the JID then repeat the block request and confirm that the yellow warning bar is displayed and that the user is indeed blocked. Open several alert messages, check that each one can be individually closed via cancelAlert. Change-Id: I120e393c028d15fd5f92154b44a8817cbc41edc9
2014-07-28Fix highlight rules dialog size.Richard Maudsley
Test-Information: Verify that dialog is still functional. Change-Id: I44beeb39ed17e2fa60004a41ee4d0ab9f19c5670
2014-07-27Fix recent chat items not being shown for private MUC messages.Richard Maudsley
Test-Information: Send private message and verify that the private message item in the recents list is erased when the user leaves the MUC and the chat window is closed. Check that other recent items are not removed. Check that private message recent items are not saved and loaded when the application is restarted. Change-Id: I62b9d324143d2e77ed98592cf37fb681165285c2
2014-07-22Fix crash when performing blocking operations after fresh login.Richard Maudsley
Test-Information: Sign out and sign in again then try blocking a user and confirm that a crash occurs in the BlockListController. After the patch repeat sign out and sign in and confirm that crash nolonger occurs. Change-Id: I9812097fd34f188b2ebf1d8675e47c31fdafdc06
2014-07-18Sluift: Add 'show' parameter option to send_presence methodsRoger Planas
Change-Id: I9fbd4514f6bc0d46738154abce495519e43ad46b
2014-07-14Sluift: Add 'fs' moduleRemko Tronçon
The 'fs' module provides filesystem functions. Currently has function to list directory contents and test whether a path is a file. Test-Information: Tested in external script. Change-Id: I14ba614b0b3bd52f5d9e87a40dc6477d99604d88
2014-07-14Show status message instead of empty VCard dialog when receiving VCard or ↵Richard Maudsley
when an empty VCard is received. Test-Information: Request VCard from a user in a MUC that is configured to NOT allow VCards from anonymous users and observe that "empty vcard" status message is displayed instead of an empty dialog. Check that VCard is displayed properly when a VCard is available and that the throbber is still functioning as before. Change-Id: I098b3ad9495b06b4efbca1547021311f5205cbf2
2014-07-11Apply a Connector timeout even if not using SRV lookups.Kevin Smith
Test-Information: Unit tests only Change-Id: I7bc7d48a041f33b1a8527b5be4a476c12f796b34
2014-07-09Reworked highlight rules dialog. Added support for highlighting individual ↵Richard Maudsley
words in messages. Change-Id: I378fa69077c29008db4ef7c2265e5212924bc2ce
2014-07-09Improve search filter matching algrorithm.Richard Maudsley
After this patch roster items only match if the letters are present in the name or the JID of the roster item in the same order as in the search term Test-Information: Try various search terms and verify that search results are logical. Change-Id: I4bc5febc465613a44930334fd8e498875fefda7a
2014-07-09Honour 'show offline contacts' toggle when exiting roster search filterRichard Maudsley
Test-Information: Enter search term and check that toggling "show offline contacts" resets the QtFilterWidget and that the roster list is representative of the "show offline contacts" state. Ensure that "show offline contacts" behaves normally when no search term has been entered. Toggle "show offline contacts" several times to make sure it remains in-sync. Change-Id: Id92a6a65b8f38cf6806f22c175514283e05affa9
2014-07-09Hide QtSuggestingJIDInput suggestions when the list is empty.Richard Maudsley
Test-Information: Try search terms that return results and verify that the suggestions are shown. Try search terms that return no results and verify that the suggestions list is hidden. Verify that focus-out still hides the suggestion list correctly and that selecting items from the suggestion list still adds the JID to the contact list like before. Change-Id: I98542df578da9bcfe8d545c77da9d82d6e69a2a6