summaryrefslogtreecommitdiffstats
path: root/Swift
AgeCommit message (Collapse)Author
2014-12-14Add support for new trellis layout for chat windows.Tobias Markmann
This includes dynamic customizable grid layouting of chat tabs including: - arrengement of tabs via menu, keyboard shortcuts or drag'n'drop - change of grid size via mouse or keyboard - save/restore of grid size and positions of chats inside the grid Test-Information: Tested on OS X 10.9.8. Change-Id: I43f94293a1c672971640c3000abfc6530f2ea7a8
2014-12-10Fix spell checking by using QSyntaxHighlighter.Tobias Markmann
This fixes spell checking not interfering with Qt's undo stack management anymore. Test-Information: Tested on OS X 10.9.5 with Qt 5.3.2. Change-Id: Icc3aa9f7213856388e4da317525c75ac97da72e3
2014-12-10Fix typos in "Edit Blocking List..." dialog.Tobias Markmann
Test-Information: Tested it now shows the corrected text. Change-Id: Id4d768428064608ba8e034cefdbbe6530e5ee8ef
2014-11-13Correct notification of Qt in EventModel about changes in the model.Tobias Markmann
Test-Information: UI still updates when events are added. Change-Id: Id37a5291ae7a63a46741781298549b9e87f73b8c
2014-11-06Wording improvements in 'Start chat'/'Invite'-dialogs.Tobias Markmann
Test-Information: Builds on OS X and the text changes fit in both usage scenarios from the UX perspecitve. Change-Id: I8c9fe4e5dc3cde9db1c8f852b0b40853a6a861b8
2014-11-06Open context menu for the roster on menu key you find on Windows keyboards.Tobias Markmann
Test-Information: Tested on Windows 8.1. Change-Id: Iec6273023289f2da4de2f22cdbabd8a157830633
2014-11-04Remove old suggestions from contact edit dialog before adding new ones.Tobias Markmann
Previously if we received an updated VCard after the suggestions have already been set we would have duplicate suggestions. Test-Information: Tested by running Swift and editing a contact. Change-Id: I960392fb76a574304d75a358af3f3cfcc9ca3adb
2014-10-31Fix uninitialized members in whiteboard's GView.Tobias Markmann
Test-Information: Still builds with clang (3.6.0) on OS X (10.9.5). Change-Id: I857b66b08d684d08ed8e0c99fb7a981e6842c6a8
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-31Fix uninitialized member in Contact.Tobias Markmann
Test-Information: Still builds with clang (3.6.0) under OS X (10.9.5). Change-Id: I56f53dbb3b16354f2afdde5abc1fed5cf0f85f51
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-28Only handle impromptu MUC invites once.Tobias Markmann
Added missing return-statement after handling the conversion from 1-to-1 to MUC. This lead to an additional tab being opened. In addition the indentation of the relevant block was wrong and is fixed now. Test-Information: Before there was a reproducible scenario: test@A starts to chat with test2@A. toast@A is on test@A's roster, but not on test2@A's roster. test@A drops toast@A on the running chat between test@A and test2@A. test@A and test2@A end up with the chat converted into a MUC. toast@A automatically joins the MUC. test2@A additionally has a new tab. Now test2@A does not have the additional tab anymore. Only the MUC tab which previously was a 1-to-1 tab. Change-Id: I32045812952c840f0f9c6da3a9aecf5c63797b64
2014-10-23Fix code in response to clang warnings.Tobias Markmann
Removes some unused private members and restructure switch statement to handle all cases. Test-Information: Fixed code does not emit the clang warnings anymore. Change-Id: I06a9036b307014e2f882e3cee45a6881b24c3f70
2014-10-20Change old C-style cast to static_cast.Tobias Markmann
Test-Information: Before clang produced a warning about old C-style cast; not anymore. Change-Id: I0f381ea0cd1a015cc1774dd1878aaa2736c66059
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-17Implement support for displaying nickname changes.Tobias Markmann
This implements Swiften API for changing nicknames in MUC and correctly detecting nick name changes. In addition Swift now displays nickname changes as such and not as join/leave of a user. In addition, handling of nickname changes is integrated in ChatsManager and ChatControllers so that they are forwarded to PM chats of MUCs. Test-Information: Added unit tests for change of own nickname and nickname changes of others. Tested correct detection of nickname changes in a MUC with a Psi user changing its nickname and Swift correctly detecting and displaying it. Change-Id: I3287ba6ceeccd3be5cfb591acd6f88bffc9a43b2
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-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-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-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-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-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-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