Age | Commit message (Collapse) | Author |
|
This patch will add a leave room option in the cog menu of a MUC room,
allowing the user to leave the room and close the window.
Additionally when joining or leaving a room the autojoin field will change
to true or false respectively. This patch also fixes a minor issue with a
gui option that was not identifying bookmarked rooms at the cog menu.
The autojoin option on the Enter room, Bookmark room and Edit Bookmark
menu has been removed, since the default behaviour will be to
automatically bookmark every MUC room the user joins, setting autojoin to
true. If the user chooses to leave the room, then the autojoin flag will
be set to false and the bookmark will be updated.
Test-Information:
Tested the changes in the UI in Windows Qt 5.9. Updated the
ChatsManagerTests unit tests to check the chattables and the behaviour
of the bookmarks, when joining and leaving MUCs.
Change-Id: Iad1f34480a1e0b9df25c73b49247acc7b7825e20
|
|
This patch will allow to resend messages that have not been successfully
delivered to the server. It requires that the server will have stream
management enabled as described in XEP-198.
Test-Information:
Tested the changes on Windows and Linux. Modified the code to force
messages to fail, and then tested the resend functionality.
Added ChatControllerTest, with unit Tests for the resend case. The rest of
unit test pass.
Change-Id: Id095528247b25a47e34c5632b8469ebd4c97149b
|
|
This is hidden behind the FUTURE flag, and is not ready for release yet,
but is pretty usable. The three top filters (all/people/rooms) aren't
plumbed in yet, recents need to be reinstated, and a favourites
system would be very desirable.
The code for the existing roster/chatlist is largely unchanged and with
FUTURE disabled behaviour should not have changed. Lots of this code has
now been put inside #ifndef NOT_YET blocks, to make it easy to find
and remove later.
When making this default later, all instances of NOT_YET should be
inspected, unit tests should be added, and use of RECENT should be
inspected - those related to this patch should be removed. Not all
code is behind NOT_YET, so references to the old recents and chat lists
will need to be manually checked and removed.
Test-Information:
Existing unit tests pass. New unit tests have not been added yet, and
need to be before it's removed from FUTURE guards. Firing up Swift with
future enabled shows the new view, and disabled doesn't. In both cases
clicking around various things in the rosters opens the expected chats.
Change-Id: I0e1ce98e4c644fa5b09ef65986cc826b6b564a7b
|
|
Disco#info requested and handled by MUCController on rejoin().
UI display of disco#info implemented for QtChatWindow.
Test-Information:
Tests written for new MUCController features, and all tests passed.
Swift runs with changes and security markings show as and when
expected in local isode MUC windows.
Change-Id: Ibef4a31f6f8c4cff5f518a66106266a7f961d103
|
|
Recent chat entries were displayed as a randomly generated numbers instead of
impromptus (if invitees were offline).
Title displayed in the Recent Chat List for MUC is now based on both the
occupants and invitees. To do that a collection with all the invitees is
being stored (new) along the occupants (existing).
Test-Information:
From Swift menu choose Actions, Start Chat... Add some offline contacts
to the List of Participants and press Finish. Recent chat entry will
have correct name (combined of contact names).
Change-Id: Ie076165e8dbb493aa261cc49ca3ab1e0c1c542a8
|
|
Converted enum to C++11 enum class in process.
Coverity raised this issue.
Test-Information:
All unit tests pass. Using the “Add Contact…” and “Start Chat…”
dialogs did not crash.
Tested on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I0409688b001d1eaaf5fa77a25b1158ce9e611c77
|
|
Moved the code for day change message handling from
Swift/Controllers to Swift/QtUI. Use QDateTime in local
time time spec, which allows DST aware calculation of the
duration to the next midnight.
Added Swift Qt UI unit tests, which are build when Qt has
been successfully detected.
Test-Information:
Added unit tests for duration to next midnight calculation.
Set clock shortly before midnight and verified that a single
day change message is added to the chat log at midnight.
Tested on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I34d69eaa3272981fd220a7963a0417f73ff78e68
|
|
Previously we simply showed our default avatar. With this
change we will use the same avatar as we use for normal
chat messages.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.5.1 by exchanging files
between two Swift instances.
Change-Id: I20b953a67a290820900b5b35861c1e17f72148bd
|
|
The new highlight logic follows a simpler model. It supports:
* highlighting of whole words in a message
* highlighting messages by sender name
* highlighting if the user’s name is mentioned
Possible actions for these highlights are text colouring,
sound playback of WAV files, and system notifications.
In addition the user can decide to receive sound and system
notification on general incoming direct and group messages.
Redesigned the highlight configuration UI dialog for this new
model.
ChatMessageParser class now deals with all parsing and marking
up the chat message with the matching HighlightActions.
Highlighter class has been extended to deal with all sound
and system notification highlights that should be emitted by
a specified chat message.
Moved some tests over to gtest in the process.
Test-Information:
Tested UI on macOS 10.12.3 with Qt 5.7.1. Manually tested
that correct system notification are emitted on mentions,
keyword highlights and general messages.
Added new unit tests to cover new highlighting behaviour.
Change-Id: I1c89e29d81022174187fb44af0d384036ec51594
|
|
Previously if you wanted to invite people to a MUC and had
a PM window for a MUC occupant open at the same time, the
InviteToMUCUIEvent would be handled by the PM window, by the
ChatController of the PM window and not the MUCController of
the MUC window.
Test-Information:
Verified that some scenarios work correctly:
- Tested a drop to a MUC window while a MUC PM window is open
to an occupant in the MUC. Previously this crashed due to
ChatsManager::localMUCServiceJID_ being empty.
- Test that impromptu MUC creation to a normal chat works.
- Test that impromptu MUC creation to a MUC PM chat works.
All unit and integration tests pass on macOS 10.12.1.
Change-Id: Ib20de7e925e3503308211936ee47d4ba829d0394
|
|
Test-Information:
Build on macOS 10.12.1 and all tests pass.
Change-Id: Iedaa3fa7e7672c77909fd0568bf30e9393cb87e0
|
|
This fixes Doxygen warnings about missing parameter
documentation or documentation of non-existing parameters.
Test-Information:
Ran ./scons doc=1 without warnings with Doxygen 1.8.11.
Change-Id: I360d042e5c80f418e7574a26fa1283a82fc504d4
|
|
Test-Information:
Added a test case that verifies this behavior. This test case
succeeded before the refactoring in 74e5131 and now succeeds
again.
Tested Swift UI 1-to-1 and MUC messages with /me commands.
Tested on OS X 10.11.4 with open-source clang.
Change-Id: I270a0b4e2ddc595919646bddcc5e1f27074c9e1f
|
|
Boost.Signals was deprecated and is not improved further.
This patch removes Boost.Signals from 3rdParty and adds
Boost.Signals2 and its dependencies.
Also removed the Qt signals compatibility file
Swiften/Base/boost_bsignals.h.
Test-Information:
Build and ran unit tests on OS X 10.11.4. Confirmed successful
login using Swift client.
Change-Id: Ie6e3b2d15aac2462cda95401582f5287a479fb54
|
|
Test-Information:
Builds on OS X 10.11.4 and unit tests pass.
Change-Id: I8775e8d1e3addbc88b220c1cc618637f706daca2
|
|
This change was done by applying the following 'gsed'
replacement calls to all source files:
's/\#include <boost\/shared_ptr\.hpp>/\#include <memory>/g'
's/\#include <boost\/enable_shared_from_this\.hpp>/\#include <memory>/g'
's/\#include <boost\/smart_ptr\/make_shared\.hpp>/\#include <memory>/g'
's/\#include <boost\/make_shared\.hpp>/\#include <memory>/g'
's/\#include <boost\/weak_ptr\.hpp>/\#include <memory>/g'
's/boost::make_shared/std::make_shared/g'
's/boost::dynamic_pointer_cast/std::dynamic_pointer_cast/g'
's/boost::shared_ptr/std::shared_ptr/g'
's/boost::weak_ptr/std::weak_ptr/g'
's/boost::enable_shared_from_this/std::enable_shared_from_this/g'
The remaining issues have been fixed manually.
Test-Information:
Code builds on OS X 10.11.4 and unit tests pass.
Change-Id: Ia7ae34eab869fb9ad6387a1348426b71ae4acd5f
|
|
Removed trailing spaces and whitespace on empty lines
in the process.
Changed CheckTabs.py tool to disallow hard tabs in source
files.
Test-Information:
Manually checked 30 random files that the conversion worked
as expected.
Change-Id: I874f99d617bd3d2bb55f02d58f22f58f9b094480
|
|
Changed "" style includes to <> style.
Test-Information:
Build with Clang 3.9.0 and ran all tests on OS X 10.11.4.
Change-Id: Ic05e53f2e5dba39cc1307b116fc5f17b62ab9eb8
|
|
This commit changes the ChatWindow/ChatView APIs to not pass
highlights actions as additional parameters but instead they
are now part of the ChatWindow::ChatMessage and its parts.
This allows the controllers to do highlighting in one single
place and play sound actions on the highlighted message in
a single place.
On a highlighted message only unique sounds are played and
they are played in sequence of the rules that matched
the message.
Test-Information:
Adjusted the existing unit tests accordingly. Added unit
tests that check reduplication of highlight action sounds
and that the sound actions are emitted correctly.
Manually verified that highlight sound actions with and
without duplicated sounds are audible on OS X 10.11.3.
Change-Id: I68c88e0d285d79d87b2997ed29d92b140480b394
|
|
Test-Information:
Tested by transferring a file between two Swift instances.
Tested in WebKit chat views and in plain chat views.
Change-Id: Ie46cbd7bac8a36478f64b4557cf55926e6d4af37
|
|
Show the user the collection of possible file transfer candidates
after pressing the 'Start' button for a file transfer. Previously the
buttons remained in the UI giving no feedback to the user at all. If
no UPnP/NAT-PMP device is present, it this stage can take a couple
seconds to timeout and move on to the next stage.
Furthermore this commit adds documentation for the different states
in the ChatWindow::FileTransferState enum.
Test-Information:
Tested this in a network environment with no UPnP/NAT-PMP device
between two Swift instances.
Change-Id: I76ec6e641a2acd683938fe2d8f542d023a244145
|
|
This modifies the feature detection in the ChatController to try to use
the common features of all available resources feature detection if no
full JID has been bound to the chat yet.
Test-Information:
Tested with two Swift instances. Tested
a) the initial chat start case and,
b) the offline/online.
In case a) Swift used to initally show a yellow warning about no support
for message receipts. This warning is gone now.
In case b), after a user gone offline and online again in a running chat,
Swift used to show a warning about missing support for message receipts.
This warning is gone now.
Change-Id: I7a769fde8d14847b180503aeaa58280c572d81b3
|
|
Label the window for adding bookmarks as "Add Bookmark Details".
Allow modification of bookmarks from the cog menu in the chat window
and adjust the context menu item accordingly.
Test-Information:
Tested the bookmarks section of the "Chats" tab in the contact list
and the UX scenario using the cog menu that it works as expected.
Tested it on OS X 10.9.5 with Qt 5.4.1.
Change-Id: I80daf339fc86506db3d863decae4bcd892e3ea88
|
|
In the past MUCController added a "trying to enter..." message and
later tried to replace this with "entered room as..." message. However,
any message received in between, like a system message about room topic,
came in between since MUCController replaced the *last* message added
to the log.
The new code also adds message IDs to system messages. This way the
correct message can be replaced on successful login, no matter how
many messages came in between.
Test-Information:
Tested against a MUC component that send a system message before
sending the join presence back to a user.
Change-Id: I3bcb5d78de680494965d837b2ad3edb847ff7f99
|
|
Change-Id: Idb6ef5fa191b1465c0bf46c47e63b695de07fa0b
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Test-Information:
Check that close button is functional.
Change-Id: I45078cb50e410365704e6a8b2444e1a4b15db068
|
|
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
|
|
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
|
|
words in messages.
Change-Id: I378fa69077c29008db4ef7c2265e5212924bc2ce
|
|
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
|
|
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
|
|
Change-Id: I661b80d589386cf69d720f2786723afb2ab2f2ed
|
|
Change-Id: Iadb580ad8b3f258d49b7c1b8713f0f92009e022e
|
|
Change-Id: Idfb5907adf9bf53f0ac1f417dd57d49ecc897bb0
|
|
Change-Id: I55f696c98598ec9bfd1ac13a2abd3c1ee2b1e9fa
|
|
Change-Id: Icb5075f85a23fc181ff8f5ee00633bb768c4eb5f
|
|
Avoid storing pointers to items in vectors. Using shared_ptr for Contact items.
Change-Id: I3baa05fc058011b2beca14dc620ab794988a2b37
|
|
Change-Id: I1ac3f106ea8062d0f831beaf59fe3932a373ce3a
|
|
Change-Id: Ib1ecd2f95fb26269d8aa19094aac6e1f691cdf35
|
|
This hides occupant types in the participant list and initiates a
direct 1-to-1 on occupant double-click instead of MUC-proxied 1-to-1.
Change-Id: I76c57fe52beb3e4236524c1d8cfbd583d3dc3f62
|
|
Change-Id: I23d77168c1c387342164d857a3eb5577bff65fb9
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
|
|
Change-Id: I3768d9891ba903c5e2ce8217de0b4413ce40bb9a
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
|
|
Change-Id: I363e9d740bbec311454827645f4ea6df8bb60bed
License: This patch is BSD-licensed, see Documentation/Licenses/BSD-simplified.txt for details.
|
|
Change-Id: Ib49e3324e594d95b8c58a3a02a43d1334bf54392
|
|
Change-Id: I07256f23ffbb6520f5063bdfbed9111946c46746
|
|
Change-Id: Id5604c65c6090783c79a45ee7c975ed4118a51f3
|