Age | Commit message (Collapse) | Author |
|
Qt deprecated Q_WS_* defines to detect the windowing system
at compile time. Changed the code to use Q_OS_MAC to enable
the workaround for macOS.
Test-Information:
Tested with Qt 5.4.2 and Qt 5.8.0 on macOS 10.12.6.
Change-Id: I49953f084ad6003c08b02550741dc16ef5df21fe
|
|
This patch will fix a bug where SWIFT_LOG_ASSERT was logging the wrong
information.
Test-Information:
Tested the logging assertion on Windows 10 (Qt 5.7) during the client
exit.
Change-Id: I7bffbe52a0b28c7577b1bad165313ea64a3f8e46
|
|
This patch will make the build attempt to sign the package 3 times. If
none of the attempts are successful, the build will stop and flag the
error.
Test-Information:
Tested packaging on Windows 10 (Qt 5.7), when the package signing succeeds
(signed installer package), fails (build stops) or not required (unsigned
installer package).
Change-Id: Idf1f708dda50e67e54866ca598cc5160e4ea76eb
|
|
This patch improves logging and refactors SchannelContext and
CAPICertificate classes, to improve logging and how Swift interacts with
smart cards.
Test-Information:
Tested on Windows 10 (Qt 5.7)
Change-Id: Ic4d306beafb9e5d253731769f222e6949995d5e7
|
|
This patch introduces the “logfile” argument to the client, which can be
used to specify a file path for a log file, where all logging information
will be stored.
Test-Information:
Tested on windows 10 and Ubuntu 17.04
Change-Id: I6a2f14585a72f25e7e78d79cb633e1ddc4d43c3b
|
|
Test-Information:
Builds on macOS 10.12.5 with Qt 5.4.2.
Change-Id: Ifc49064c6a8ca2f0be52d8ddd8f0c7791230430f
|
|
This patch fixes a client crash that was caused when the chat layout was
resized to a size that would make some of the chat window out of range.
Test-Information:
Tested on Ubuntu 16.04 LTS (Qt5.5.1) and Windows 10 (Qt5.7.1)
Change-Id: I900c1efcf3c9ae3c416fb4e2d19bd47bf27bbaee
|
|
Use of int required a lot of casts when using the indices
with std::string methods. Furthermore code used -1 as
error code, which should have used std::optional for invalid
PoistionPair instnaces.
Test-Information:
All tests pass on Debian Stretch with clang-3.9.
Change-Id: Ic5c44ed606deb58b6123d654f25fc50f047dfbc8
|
|
Clang raises warnings about unused members and
macros on Linux. These are fixed with this change.
Test-Information:
Tested with clang-3.9 on Debian Stretch.
Change-Id: I87bc0606cfd14365330aaad4ed433d3bca2d5330
|
|
SWIFT-247
Test-Information:
Tests pass and builds on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I39b62f53c62fba972e6a29e89cd00fb3b4e1a5b5
|
|
As the QtTreeWidget and the QtFilterWidget are siblings in
their parent widget, it might happen that the QtTreeWidget
is deleted before the QtFilterWidget. Using Pointer, we are
able to detect this case and can prevent accessing the already
deleted QtTreeWidget.
QtFilterWidget cannot be made the child of the QtTreeWidget in
this case, so this fix uses the QPointers approach as a
workaround.
SWIFT-247
Test-Information:
Tests pass and builds on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I3a60006519b580010718c4d2aa94638555c0afdf
|
|
When QtFilterWidget is deleted, it is still registered as
event filter and events might be sent to an already deleted
QtFilterWidget, causing a crash.
SWIFT-247
Test-Information:
All unit tests pass, roster filtering still works, and Swift
does not crash on exit on macOS 10.12.4 with Qt 5.4.2.
Change-Id: I84a7e1af64d1376db3dfdd0fd7cf95b547cca9a1
|
|
This fix changes and reset the setting that stores the font size.
Test-Information
Tested and verified the changes to Windows with Qt5.7 and Linux with Qt5.5
Change-Id: Ia71ba986e33e7f9421ef616c22d5b1af6e5c2b4a
|
|
When you drop a file in the chat input, the file path was being sent to
the chat, instead of initialising a file transfer.
This patch fixes this issue and starts the file transfer.
Test-Information:
Tested on Windows 10 with Qt5.7.
Drag a file and drop in the chat input.
Change-Id: Ie6c31e0ba56ac7171442370bf7d8edbefce208d6
|
|
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
|
|
This will make the default font size in chat view to match the one in
roster.
This fix also decreases the font scaling step to half, and lowers the
minimum font scale.
Test-Information:
Tested and verified the changes to Windows with Qt5.7.
Change-Id: If5873049af4e82fba871e5d2687575aa88b533c9
|
|
Test-Information:
Builds on macOS 10.12.4 with Qt 5.4.2.
Change-Id: Id9715062e25c1d541020408a517e0974ce92c886
|
|
Changing the constructor of the CreateImpromptuMUCUIEvent class not to accept
default values to its parameters. This approach is less prone to mistakes,
like forgetting an argument.
This commit fixes SWIFT-271 bug, where only two arguments were being passed
in the constructor. As a result the reason string was used to create a room
JID, making the room unusable. By passing an empty string, the room JID
created is not valid, and when ChatsManager handles the event, it will
generate a new valid room JID.
Test information:
Unit test pass.
Tested the creation of new impromptu chat with with windows 10 (qt5.7).
Change-Id: I4ce9ee7db14b9125970a03f19d1ac0c32e1b5a0e
|
|
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
|
|
Furthermore extended the list of potential environment
variables based on what the qt4.py tool creates.
Fix for commit ed2226782ac15345aeb8e615b41d30e5aab67b51.
Test-Information:
Tested on Windows 8 with VS2013 with Qt 5.4.2 and on
macOS 10.12.4 with Qt 5.5.1.
Change-Id: Ib52084ca0e1505fe943c33fa74f479e360d834fe
|
|
Added a font-weight property on the body style to enhance the default
font weight (400) only on Windows, in order to improve the look of the chat
view.
If the font-weight is being defined in any other styles rules with higher
priority, this default value will be overwritten.
Test-Information:
Tested with with windows 10 (qt5.4.2), Windows 10 (qt5.7), Ubuntu 16.04.2 (qt5.5)
Change-Id: Iafd969cff487a907d136b9d2d8b393a90681216f
|
|
Test-Information:
Run Swift, open chat window, enter a message and send it. Right click on
chat view and choose Clear. Chat log in a view will be cleared but it
will stay white. On the top of the chat view will be a message: e.g.
Starting chat with test - test@test.isode.net: Offline.
Change-Id: Ie453602e2f2b14e3ecca699821521ad33937ccf6
|
|
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
|
|
Test-Information:
Build on macOS 10.12.4 and verified the change in the UI.
Change-Id: I8ec472158682e951fe358197c0939f451ade8c54
|
|
Opens the chat with the user JID instead of the MUC JID.
Does not affect existing behaviour on normal one2one chats.
Test-Information:
Builds on Windows and unit test pass.
Tested the behaviour on single chats from contacts list (roster), start new chat with
one and multiple users. Also tested on MUC rooms that are non-anonymous,
semi-anonymous and anonymous.
Change-Id: I2b8fbacb1fa640167ec196d4215a13ad4905d45c
|
|
Coverity raised this issue.
Test-Information:
Swift and unit tests still build on macOS 10.12.4.
Drag and drop of tabs still work.
Change-Id: I64bdb973da73a4f2b5ed514583c4f8740adc77b4
|
|
If the dialog is not of type AddContact, firstMultiJIDPage_
is initialised and this states more clearly that the reset
is only done when the dialog is in this mode.
Coverity raised this issue.
Test-Information:
Added a user from search and started a chat from user search.
All unit tests pass on macOS 10.12.4.
Change-Id: I55f6df5b4f48e2c6718922846a424bf17f363b16
|
|
Coverity raised this issue.
Test-Information:
Builds and unit tests pass on macOS 10.12.4. Switching
different application languages via --language parameter
still works and passing numbers as languages has it correctly
fallback to the default system language.
Change-Id: Ide1ffdba7a13c27856304aa96b78067147568a95
|
|
Adding searched JIDs to the list of JIDs only makes sense
for cases where there is a multi JID page in the first place.
Coverity raised this issue.
Test-Information:
All unit tests pass on macOS 10.12.4 and the “Add Contact”
and “Start Chat” dialogs using a user search still work.
Change-Id: Icde63f13a2f83690b3189a9c91237eadd6b5218b
|
|
Coverity raised this issue.
Test-Information:
All unit tests passed on macOS 10.12.4.
Change-Id: Id65cdc5e0175ba7773d32b6dddbc9b4af6789019
|
|
In addition, fix display of Swift icon in about dialog.
Test-Information:
Build on macOS 10.12.3 with Qt 5.4.2 and verified that the
icon is display in the about dialog and clicking the link
opens the Swift website in the default browser.
Change-Id: If13e03bfa976354aeba1de9be4bcb1edabaa5403
|
|
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
|
|
A chat font size value of 2 represents the native default
font size on the system, which should be the default font
size for the chat view on first install. We allow this to be
reduced to 0 and increased without a limit.
Furthermore the settings key was changed so that Swift 3 users
will automatically use the default size when they first open
a newer Swift.
Test-Information:
Tested on Ubuntu 16.04.02 after clearing the local Swift
config.
Change-Id: I3426001eb302e22134c40bc4a479f15684ca2001
|
|
Swift installed from our Windows installer packages would
not display the default avatar, due to missing Qt5Svg module.
Test-Information:
Build Windows installer package on Windows 8, with VS 2013 and
Qt 5.4.2. Qt5Svg.dll is installed and default avatars are
displayed in the roster.
Change-Id: Iaa0fb0b013fc32d9d84897e83902ae7487fe72d7
|
|
The new unicode-based emoji dialog currently only provides
a good experience on macOS.
This commit enables the unicode-based emoji dialog on macOS
and uses the text-based emoticons on Linux and Windows.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.5.1 and Windows 8 with Qt
5.5.1.
Change-Id: Ibee20eacafa5788bcdf5a46e1ceac713a28a0383
|
|
In the default highlight configuration, mentions of the own
nickname should only cause a notification sound and a system
notification.
Test-Information:
Tested mention notifications in a test MUC room and verified
that only sound and system notifications are issued in the
default highlight configurations.
Tested on macOS 10.12.3 with Qt 5.5.1.
Change-Id: I44a276ab740d7495930c935a89a2ef81219e24df
|
|
The dialog would crash if the user has not selected an emoji
ever before through the dialog.
Test-Information:
Cleared recent list and opened the dialog. Without this patch
it would crash, since there are no items in the emojiLayout.
Now it does not crash anymore, on macOS 10.12.3 with Qt 5.5.1.
Change-Id: Ie736b5af7fe8b2b2c14fcac94b7e4f3bc13f4b84
|
|
Furthermore the dialog will alphabetically sort the list
of blocked JIDs before showing it in the dialog.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.7.1 that it sorts the
list it receives from the server before presenting it in the
UI. Successfully pasted a newline spereated list of JIDs in
the dialog.
Change-Id: I8fe6969821bccad0193180cee9433da43285aaef
|
|
Test-Information:
Tested under Linux i3 tiling windows manager.
Run Swift, from the menu choose Actions, Enter Room... Enter Room...
dialog is displayed as a floating window in a tiling manager.
Change-Id: I31dc4f8caa04fe137e89f2bcb12852cd0b709bab
|
|
Test-Information:
Tested on macOS 10.12.3 with Qt 5.7.1 that the custom
sound menu item was gone.
Change-Id: I75186d1a3b74db751fbdd5aaf54402f23f74661b
|
|
Test-Information:
From Swift open any chat window, type something, right click on chat
view and increase font size 3 times, then right click on chat view and
choose Clear. Chat log in a view will be cleared, again type something
the form size stays the same as before clearing the log view.
Change-Id: I8c057dbd4ed52e5d1efce7064d79b9f7244b3d32
|
|
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
|
|
If scons detects a Sparkle release in the 3rdParty folder,
it will add the containing LICENSE file at the end of the
dynamically generated COPYING file.
Test-Information:
Tested that the contents of Sparkle’s LICENSE file are at
the end of the text in the license window of the about dialog,
if the Sparkle folder, with a Sparkle release inside, is
present in 3rdParty.
Tested that Swift builds fine, if the Sparkle folder is
missing in 3rdParty.
Change-Id: I89db155b5bb3eef4d632997fd99ff270b4720a16
|
|
This also changes the minimal height of the emoji dialog
to hold about 8 emoji rows.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.7.1 that the categories
are sorted in a more sensible manner and that the dialog
at least shows about 8 emoji rows.
Change-Id: I8c5518f8d552a581d5073b5f155425580f72938a
|
|
FlowLayout is an official BSD-licensed Qt example showing
how to implement custom layouts. It will layout items
dynamically in rows.
This way we don’t need static column/row calculations for
QGridLayout and it looks better.
Test-Information:
Build and ran on macOS 10.12.3 with Qt 5.7 to test that it has
a better, less spacious look.
Change-Id: Ief1299b0d3fb1e516a1973469f4f9a26824942f2
|
|
Test-Information:
Previously Swift crashed on QtAboutWidget.cpp:175 when build
without any auto update support. Now it does not anymore.
Tested on macOS 10.12.3 with Qt 5.5.1.
Change-Id: Ia58ec3679d107cfd6b736e54e90a4167cf1adc47
|
|
The dialog will automatically initiate a check for updates
when opened.
It will show the current state of the auto updater backend,
e.g. whether it is downloading or already at the latest
version.
This also fixes update channel selection being shown
on Windows and Linux.
Test-Information:
Ran Swift and opening the dialog shows a short progress bar
indicating it checking for updates. Afterwards it shows that
it is already running the latest version, which is sensible
for a dev build.
Change-Id: Ie08cd2a8852e468d6007122604b532fedc24bcfe
|
|
This adds the Ctrl + Minus and Ctrl + Equal shortcuts for
zoom out and zoom in respectively.
In addition, this commit provides a workaround for QTBUG-56571.
Test-Information:
Tested on macOS 10.12.3 with Qt 5.7.1. Tested with German
and UK keyboard layout. On UK layout both shortcuts,
Ctrl + (+/-) and Ctrl + (=/-) work. On German layout only
Ctrl + (+/-) works.
Change-Id: Ifbcab308c9a8f4c88b51978969c73c3c1138a9ba
|
|
The new selector behaves like the old one. However, selection
of an emoji results in the corresponding UTF-8 sequence to be
inserted into the input widget instead of a ASCII emoticon.
The code is based on the Emojione library which is MIT
licensed. Emojione provides a mapping from shortnames to
relevant Unicode codepoint, as well as mappings from textual
emoticons (e.g. ). This commit does not modify the existing
emoticon parser and so does not include any ability to enter
emojis via text entry.
The part of the Emojione library required to generate the mappings
in C++ is included in this patch, specifically the emoji.json
file. It is used to generate a corresponding .cpp file.
Mapping code can be generated as follows:
* cd BuildTools/EmojisGenerator/
* (optional) update emoji.json from
https://github.com/Ranks/emojione/blob/master/emoji.json)
- Version used with this commit: ba845a7
* npm install
* node generate.js
Test-information:
General
* Click the emoji button opens the selector
* Change tab
* Click an emoji and check it appears correctly
* Click outside emoji dialog hides it
Emojis
* Emojis are well printed on macOS with Qt 5.7.1
* Emojis are black/white on Windows 10 with Qt 5.7.1
* Emojis have the right tooltip (when mouse is hover)
* Check emojis are rendered appropriately by the receiving client
Tabs
* Tabs have the right tooltip
* Click an emoji adds to recent tab
* Emojis in the Recent tab are ordered by last click date
(with a maximum of 50 "recent" emojis)
* Recent emojis are saved in the QtSetting under "recentEmojis"
Change-Id: Ibd07b8713d6272da6a8a4c9c35ddf866473f662b
|
|
Also fixed an typo error in GConfProxyProvider.cpp that prevented
compilation on Linux.
Test-Information:
Tested with an XMPP server with vCard support disabled and
also with vCard support enabled. Tested profile window
and profile editor window.
The profile window will show cached vCard data if present
and the error message. The profile editor window will only
show the error message in case of an error.
Tested profile window and profile editor window in a scenario
where vCard support is first enabled in the server, then
disabled, and finally enabled again, and opening the editors
in between. Potential error messages were always correctly
cleared before showing the dialog.
Tested on macOS 10.12.3 with Qt 5.7.1.
Change-Id: I3958c35286f6f0096d1605c29816f666530aae03
|