summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2014-10-31Enable unblocking contacts from cog menu.Tobias Markmann
Renamed ChatWindow::setInputEnabled to ChatWindow::setOnline. Moved some input return key disabling logic into QtChatWindow. Test-Information: Tested in Swift, blocking a contact and unblokcing it from cog menu. Return still does not do anything on blocked contacts or when offline. Change-Id: I42faffb8618598fcc7c0bd44148902ea7028258e
2014-10-31Fix source code layout.Tobias Markmann
Change-Id: I5042943377bbb09bc46b416975f546e011c313ee
2014-10-31Pass QString arguments by reference and not value.Tobias Markmann
Test-Information: Still builds with clang (3.6.0) on OS X (10.9.5). Change-Id: I3382e2165a5f14e13ecd48277baefaf728edbbe1
2014-10-30Prevent user from adding contacts twice to a roster.Tobias Markmann
This removes roster JIDs from the suggesting in the 'Add User'-dialog. In addition, an indication is added when a manually entered JID is invalid or already on the roster. Test-Information: Tested scenarios with recent JIDs and JIDs from the roster. Tested that 'Start Chat'-dialog suggestions still work. Change-Id: I1ff51637adb4224184b78a1af9090a04b1e18fff
2014-10-30Add missing virtual and SWIFTEN_OVERRIDE annotations to reduce warnings with ↵Tobias Markmann
C++11. Test-Information: Tested with Clang 3.6.0. Change-Id: I1f9ae8ae535d90f92b7263e86b51fe64b15524b4
2014-10-17Disable online only actions when offline.Tobias Markmann
Disabling action, menu items and drag 'n' drop which require an online connection when the user is offline. Test-Information: Checked by going offline and checking the relevant actions and menu items. Change-Id: Iacfa2c9f815d3b9bbad9ca4c2d0d04f95ce9a9e4
2014-10-16Change text in blocking list editor from 'click' to 'double-click' to reflectTobias Markmann
actual behavior. Test-Information: Swift's blocking list UI works as descibed in the text displayed in the UI. Change-Id: Ic10d907d89dfc43b97aa21132ceb58210de807b4
2014-10-16Fix user experience issues related to blocking list editor.Tobias Markmann
This commit enables complete keyboard accessibility for editing the block list including list navigation via cursor keys, editing via enter key and deletion via backspace. The placeholder item for adding new items is now non-removable and is indicated as such. The 'Save'-button is disabled during processing of a request. The window is closed on 'Save' if no changes have been made or the changes have been applied successfully. On failure the error message is shown in the window. A description text has been added at the top to tell the user about the use of the dialog. Test-Information: Success cases have been tested by running Swift and do change the blocking list via mouse and keyboard and doing no changes at all. Error cases have been tested using a server adjustment which replys with IQ errors on any blocklist change. Change-Id: I028a9dd15e66ba7363a30b66c5d5a15ba2a5a518
2014-10-14Remove empty fields from XEP-0055 search query before sending it over the wire.Tobias Markmann
This clears both, empty fields of XEP-0004 data forms and the XEP-0055 predefiened fixed form. Test-Information: Verified using Swift's debug console and M-Link. Change-Id: I3cd2314abfe5111f66569d39aae9b8587157ec07
2014-10-14Fix tab order of join room dialog.Tobias Markmann
Test-Information: Run Swift and verify that tabbing through the join room dialog goes through the widgets from left to right and from top to buttom. Change-Id: I8acb0e10860970e758ff66318760dceeda9cfe0b
2014-10-10Fix JID auto-complete item select not working when adding a contact.Richard Maudsley
Test-Information: Confirm that clicking a suggested user fills the JID box on the "Add User" dialog. Confirm that JID suggestion functions normally in other places. Change-Id: Ic1a5c30b95416fd46bc22a612793621e9501d770
2014-10-09Prevent renaming of 'Contacts' roster group used for groupless contacts.Tobias Markmann
Test-Information: Verified by running Swift and checking that you cannot rename 'Contacts' group anymore. Other groups are still renameable. Change-Id: I97a79feb92d65d6dcdf914fb47b13ee268d271c3
2014-10-08Explain the use of preffered stars in 'Edit Profile' dialog if they are checked.Tobias Markmann
Test-Information: Verified this works by running Swift and editing a profile. Change-Id: I965ef374ceed2ba5b3225070931b6c06e3b9e800
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-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-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-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-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-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-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-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-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-29Add close button to chat window alerts.Richard Maudsley
Test-Information: Check that close button is functional. Change-Id: I45078cb50e410365704e6a8b2444e1a4b15db068
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-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-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
2014-07-09Reset QtSuggestingJIDInput when a contact has been selected.Richard Maudsley
Test-Information: Verified that the selected contact is added to the contact list when selecting from the drop-down list or by pressing the 'Add' button and that the JID field is reset after this happens. Change-Id: I7ef047ec9dbacf1af8635849320371f082bb3d0d
2014-07-09Fix attempting to start impromptu chat when impromptu not supported.Richard Maudsley
Test-Information: Connect to a server where impromptu is NOT supported. Confirm that adding multiple users by dragging or typing into the JID box is not allowed. Connect to a server where impromptu is supported. Confirm that it is still possible to drag multiple users and add multiple users by typing into the JID box. Change-Id: Ibb4c1f7d6a5820f7ccf3629c1e0d30a441d9d159
2014-07-09Add dialog to send AdHoc's to target specific JID's. Fix multi-item Form ↵Richard Maudsley
rendering. Test-Information: Use AdHoc bot that presents a multi-item form and check that it is rendered correctly. Check that entering invalid JID and node parameters in the dialog do not cause malfunction. Check that canceling the JID prompt closes the dialog without sending any server commands. Change-Id: I10e6f4c7eccd1a35c8c885d548994b5f57fdbf66
2014-07-09Refactor AdHoc forms.Richard Maudsley
Test-Information: Check that forms still open properly and can be submitted and canceled. Check that error message is displayed if disconnected when a form is open. Change-Id: I23e35730b0decdfb5cf0592fc7234bf4643b6127
2014-07-08Added close/clear button to roster filter search term box.Richard Maudsley
Test-Information: Verify that the clear button resets the roster filter and hides the search box. Verify that the roster filter continues to behave as normal. Change-Id: Ifa5de1e611334b83634ac31d30bf912fd5c4da87
2014-07-07Show own tooltip when hovering over roster header.Richard Maudsley
Test-Information: Made combinations of presence/vcard/avatar changes and verified that the information in the tooltip was synchronized. Connect two clients and verify that the tooltip presence text reflects the local client presence only. Change-Id: I92af0f58f7045f3a15f2fae2f9cbc6e24a066923
2014-07-01Reset roster filter when hitting enter to start chat.Richard Maudsley
Test-Information: Enter search term and use keyboard arrows to move to select a contact and pressing enter will start a chat and clear the filter. Confirm that pressing escape still clears the filter without starting a chat and that the changes do not interfere with starting a chat normally by double clicking on a contact. Change-Id: I90f5d431da56896eeb10f16c0ba23bdc143c4857
2014-05-30Show most recent time when squashing presence, not the earliestRichard Maudsley
Change-Id: I661b80d589386cf69d720f2786723afb2ab2f2ed