summaryrefslogtreecommitdiffstats
path: root/Swift
AgeCommit message (Collapse)Author
2018-03-27Add new ReferencePayload element class, parser and serializerPeter Burgess
Added a new element object ReferencePayload, and created the parser and serializer to handle this element. Currently no functionality to send references directly in swift, nor to render their contents. Test-Information: Unit tests written and passed for serializer and parser, testing various types of valid and invalid references, and testing references with embedded payloads. Change-Id: I81fd5d9e020fac1729640f297705806af97f6388
2018-03-24Add option for enabling future featuresKevin Smith
Test-Information: None Change-Id: I548a18ff47c45eafda31584858607e5705386911
2018-03-24Always use netbook modeKevin Smith
Thus begins 5.0's UI reworking. This removes the option for netbook mode, leaving it always-on. Test-Information: Ran with no parameters on macOS, resized the window, quit, restarted, size seemed to have persisted. Logged in, menus seem to work (debug console at least). Sign out, log in again was fine. Change-Id: I365eb6ada33994b75636675576a1443f9b385593
2018-03-20Merge branch 'swift-4.x'swift-5.0alpha2Tobias Markmann
* swift-4.x: (44 commits) Test-Information: Builds on macOS 10.13.3 with clang trunk. Change-Id: If50381f103b0ad18d038b920d3d43537642141cb
2018-03-19Update Swift and Swiften changelog for upcoming 4.0 releaseswift-4.0Tobias Markmann
Test-Information: None. Change-Id: I4d89315b084406f44654c4d6a7e2e9c8da0874ce
2018-03-13Tiny fix adding #ifdef to call to logMessage()Peter Burgess
In ChatControllerBase::handleIncomingMessage(), there is a call to logMessage() that should have been wrapped in "#ifdef SWIFT_EXPERIMENTAL_HISTORY", and now it is. Test-information Unit tests still pass, swift still runs as expected. Change-Id: Ia985565d496d73a5c6fed5ce79390b7b0a4b0551
2018-03-12Enable per user installations on WindowsThanos Doukoudakis
This patch will allow the installer to perform per-user installations that doesn't require elevated rights. If the Visual Studio prerequisites are missing, the installer will ask the user if he wants to install them. If the user chooses not to, the installer will deploy the necessary files in the installation folder. Installations for all users (per machine) are still available. Upon upgrading in per-user installs from previous versions, the user can still access the settings that were stored in the registry, but not the settings stored in system-settings.xml. Test-Information: Build and tested with Wix3.11, Qt 5.8 and Visual Studio 2015 on Windows 10 and Windows 7. Tested fresh install and upgrade, for per-machine and per-user installations. Tested the vcredist install and the dll deployment when the installation is not present. Verified that the installer uses the registry settings in per-user installations. Change-Id: I1879e2fb7ee347dab58852eb73d4ddddec15b35d
2018-03-06Update Swift change log due to changes since last RCswift-4.0rc6Tobias Markmann
Test-Information: None. Change-Id: I14b9590ca9ed2263539af200a8e77672db701999
2018-03-05Update the debian and ubuntu distributionsThanos Doukoudakis
This patch updates the build scripts and documentation for newer distributions of Debian (9) and Ubuntu (17.10). Test-Information: Tested packaging scripts on Ubuntu 16.04.4 for Debian stretch and Ubuntu artful distributions. Change-Id: Id567d75bdf3c6abe3cf08a2fd617363a5c1c987f
2018-03-02Fix an issue with help2man and debian packagingThanos Doukoudakis
This patch fixes an issue that occurs with help2man when building the debian package. It appears that swifts output is interpreted as invalid, so we are adding the no-discard-stderr to bypass the error. Test-Information: Tested packaging scripts on Ubuntu 16.04.4 for jessie and stretch distributions. Change-Id: I87f48c720e0132aeaad00e6accd37eee44cdcb7b
2018-02-27Unit test recent outgoing carbons fixThanos Doukoudakis
This patch updates the ChatsManager unit tests to test how carbons messages update the recent chats. This patch is cumulative to bd4115c0db3d898d7de0944d340a9a2f1de4938c commit. Test Information: Updated the carbon messages related unit tests to check how they update the recent chats. Change-Id: I42dfcb812954257280e1c7bd4a533a0211fd59e7
2018-02-27Fix a crash that occurs with closed chat tabs after resizing trellisThanos Doukoudakis
This patch address an issue where, after resizing trellis in a smaller grid size, all closed tabs widgets (ChatWindows, Debug Console etc) that were in a grid cell that got removed, were being destroyed leading to some crashes whenever the widget was used again. Test-Information: Tested the changes in windows with Qt 5.8 and Ubuntu 17.10 with Qt 5.9.1. Tested the client behaviour when opening, closing and re-opening multiple tabs (chat windows, debug console, File transfer overview), before and after resizing the trellis. Change-Id: I923299fe90aa39737d6a3e0ace107018f126880e
2018-02-27Divide differently marked msgs and elide msgs matching roomPeter Burgess
If consecutive message from the same user have differing security markings, then mark them as non continuing to show clearer seperation of messages with different security markings. They are seperated in the same way as consecutive messages from different users are. Further to this, there is a new scheme for displaying message security markings. Messages with a security marking matching the room security marking will not be marked, aside from the first in a series of consecutive messages marked with the same security marking. Unmarked messages in a room with a security marking will be marked as such. This new marking display system can be turned on and off via an xml setting "mucMarkingElision". Test-Information: Unit tests written and passed in MUCControllerTest, runs as expected. Change-Id: Id2b66417f363c49c131d27e738ce786755d65203
2018-02-26Ignore invalid vCard avatar update notificationsTobias Markmann
Test-Information: Tests pass on macOS 10.13.3 with clang-trunk and ASAN. Change-Id: Ice68e93341693349ed5d95dfc062c0a7b07dc673
2018-02-26Make carbons messages update ‘Recents’ listThanos Doukoudakis
This patch fixeses an issue that occurred when sending a message from another device, the carbons messages were displayed on the chat window but were not updating the recents chats list. Test-Information: Tested by logging in from two clients from the same account, and starting a 1-1 chat with another user. Recent chats tab was updated to both clients. Change-Id: I6e961ebbde6a87e4bcbcc49941ab4bacbac4d9d9
2018-02-22Request and display security markings for MUC chat windowsPeter Burgess
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
2018-02-21Fix handling of unusual JIDs in room bookmarksTobias Markmann
Test-Information: Added unit tests for bookmark handling for domain-only, bare, and full JIDs. Builds and unit tests pass on macOS 10.13.3. Change-Id: I2855f4e9bdce4aa971575b2bad01e6dd166042bb
2018-02-14Fix a crash that occurs when inviting users in a chatThanos Doukoudakis
After inviting people to a chat, and converting to a MUC room, some of the chat window signals were still signaling the original chat controller, that has been destroying, causing a crash. Test-Information: Tested the changes in Windows 10 (64 bit), after triggering the dayChangeTimer, and onContinuationsBroken signal that was causing the crash. Change-Id: I70a80ab2653ed87a1dbea851157d95fb5918913f
2018-02-13Start Chat options greyed out after first useThanos Doukoudakis
This patch will reset the options to add users the default status, whenever the QtUserSearchWindow is reset. Test-Information: Tested the changes in Windows 10 (64 bit) with Qt 5.8.0, in a server environment that does not allow starting a new chat with more than one participant, after closing and reopening the window. Change-Id: Iff6dd75a5751e7e8871069387749b94b789320a9
2018-02-09Move man page generation from package.sh to sconsTobias Markmann
Pass help2man=1 to have scons build man page sources via help2man. Adjusted package.sh to use scons to build man pages. Test-Information: Tested on Ubuntu 16.04 and it generated man page sources when help2man=1. Tested package_all_platforms on Ubuntu 16.04. The build does not fail due to missing man pages anymore. Change-Id: I6c62bc3f666ffd9f926038045672eb6e456082e5
2018-01-30Change the program name of the windows installerThanos Doukoudakis
During the UAC dialog in windows, the program name appears to have a random value. This patch will make it use "Swift Installer" instead. Test-Information: Tested the changes during installation and uninstallation on Windows 7 (64 bit) and Windows 10 (64 bit) Change-Id: I001ed9e644b123f62b9168115ce06803d2b4bd20
2018-01-18Return focus to highlight rules dialog after picking a colourThanos Doukoudakis
This patch fixes an issue where the Highlight and notification configuration window was losing focus after picking a colour for some of the highlight rules. Test-Information: Tested the changes and that the highlight rules dialog is no longer pushed back after picking a colour. Tested on MacOS (10.10.5) with Qt 5.5.1 and on Windows 10 with Qt 5.9. Change-Id: I509bb3f79e2f8e121dafe178e52a0aac5271ee1b
2018-01-09Update Swift ChangeLog.md with recent crash fixswift-4.0rc5Tobias Markmann
Test-Information: N/A. Change-Id: I3f93f214fa511660aad64032074b9b022bb0de84
2018-01-05Fix the debian repository update scriptThanos Doukoudakis
This will use the distro_version instead of the distro_name variable in the script. This fixes an error that was introduced in commit 2b185f0b25aede6e2f40a678647c78bb8e7f8638 Test-Information: None Change-Id: I943a680c49f70310ff525ee60f31b23641ccb2f5
2018-01-04Update Swift Changelogswift-4.0rc4Tobias Markmann
Test-Information: N/A Change-Id: Iece5fe311d57514daffa75bd6b93d174e0adf160
2017-12-20Allow define the debian repositories to uploadThanos Doukoudakis
This patch uses SWIFT_PACKAGE_PLATFORMS variable and only updates the repositories that are defined there. Test-Information Tested the script on Ubuntu 16.04 when the variable is/not defined Change-Id: Ie8f65441f558e3ac663eb8493cedd8c0d2630753
2017-12-14Will allow defining packaging platformsThanos Doukoudakis
This patch introduces SWIFT_PACKAGE_PLATFORMS variable which defines the platforms that package_all_platforms.sh will package Swift. If not defined, it will default to xenial yakkety jessie sid. Test-Information Tested the script on Ubuntu 16.04 when the variable is/not defined Change-Id: I9ba4fbd68ad18e28cbd2d8c1feb50e6d63e44e06
2017-12-08Update German translationTobias Markmann
Test-Information: New translation shows up in Swift when run with --language de. Change-Id: Idf827a10d52f1ce6be36771543833bf125ef5b65
2017-12-08Update Dutch translationEdwin Mons
Test-Information: Builds on macOS 10.12 Change-Id: I64ec8601487f8383827930961cd4686f89b51586
2017-12-07Remove shortcut for changing trellis layoutTobias Markmann
It is rarely used and conflicts with Polish keyboard layout on Windows. Test-Information: Verified that shortcut is gone and the description text is sensible on macOS 10.13.1 with Qt 5.4.2. Change-Id: I79ede2827e2e5f7b9afcb3bbd2669e5bf83f091f
2017-11-28Update Swift change log and add missing contributor to COPYING.thirdpartyswift-4.0rc3Tobias Markmann
Test-Information: None. Change-Id: I8cad18ea4b6e8a668e129163bbaf158b8141be40
2017-11-27Make the Windows installer remove older versions of Swift componentsThanos Doukoudakis
This patch will make the installer remove each file component, before deploying the new version of the file. This is to avoid potentials issues with the installer, when trying to deploy a new version of a file that happens to have the same version information as the original file. The default behaviour of the MSI installer in a case like this is to skip the deployment of the new file. This issue occurs when Visual Studio gets upgraded, and we need to redeploy 3rd party components of the same version but build with the new version of the compiler. Test-information: Generated an installer and tested fresh install and upgrade from Swift 3.0. Tested with Windows 10 and Windows 7, normal and quiet installations. Verified that the Qt DLLs deployed have the correct VS redist dependencies. Change-Id: I6f68126ee63968aad066901704a409b6ebada14f
2017-11-22Fix Emoji crash on insertionJoanna Hulboj
Swift would crash randomly when user clicked to insert an Emoji. It was happening because we would delete the emojisGrid_ while it was still in use (was closing). Test-Information: Tested on Windows 10 and Ubuntu 16.04. Tested by inserting an Emoji from the Emoji selector. This action does not result in crash any more. Change-Id: I6c0b84ea8969c7f7a4c3bfa700e345cdf63325e6
2017-11-10Update German translationTobias Markmann
Test-Information: Verified translation using `--language de` command line flag. Change-Id: I150ad5be2d79f7aa728a4c04dd3b284f8b2fb220
2017-11-09Fix loading translations when detected automaticallyTobias Markmann
Test-Information: Tested with Dutch and German user accounts on Mac OS X 10.10. Change-Id: I9c6d5fdac19abcf4db98034dbd6620732f0caba1
2017-11-08Update Dutch translationEdwin Mons
Updated for 4.0-rc2. All vanished sources have been removed from the translation as well. The license has been updated to BSD. Test-Information: Looks good on macOS 10.12, reporting shows no missing texts. Change-Id: Id87f7e97332536c367fea6ed231863fed8e22e46
2017-11-07Add missing Qt translatable strings to QtStrings.hTobias Markmann
Strings in the context menu of the chat input and the dialog buttons in the highlight editor are now translatable. Test-Information: Tested on macOS 10.13.1 with Qt 5.4.2. Tested with a newer upcoming German translation file. Change-Id: Ie2c5ec1d9615bfe5ac69dad7df3c96a6f1600225
2017-11-07Enable translatability of QtSoundSelectionStyledItemDelegateTobias Markmann
This adds a missing Q_OBJECT macro. Test-Information: Build and tested on macOS 10.13.1 with Qt 5.4.2 that with `--language de` passed to Swift the German translations are shown in the highlighting editor. Change-Id: Ibe9975786f5a228fb14b61c01ce71db06354762b
2017-09-24Fix 'Start chat...' dialog disappearing after adding participantTobias Markmann
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
2017-08-16Fix inverted logging assert conditionThanos Doukoudakis
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
2017-08-15Force a build to stop if signing of the packages fails.Thanos Doukoudakis
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
2017-08-15Improve Swift’s interactions with Smart CardsThanos Doukoudakis
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
2017-08-08Enable log information export to a fileThanos Doukoudakis
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
2017-07-26Workaround Boost bug to prevent crash in recents loadingThanos Doukoudakis
Boost 1.64 introduced a regression where boost::optional deserialisation could lead to a crash when loading the recent chats. This fix updates the way we serialise the ChatListWindow::Chat and HighlightAction classes to avoid these errors. A flag has been added, to allow the use of the erroneous version of the library during the build. During runtime if needed, the client will skip loading the data, to avoid any unpredicted behaviour. Test-Information: Tested on windows 10 with different versions of boost 1.56(bundled), 1.63, 1.64, 1.65 and Ubuntu 17.04 with versions 1.56(bundled) and 1.64. Added unit tests for the serialisation ChatListWindow::Chat class. Change-Id: Idc5c3a6cfd92272b8eab2d77e243dda743803a31
2017-07-18Replace assert() with SWIFT_LOG_ASSERT for loading fontsTobias Markmann
Test-Information: Builds on macOS 10.12.5 with Qt 5.4.2. Change-Id: Ifc49064c6a8ca2f0be52d8ddd8f0c7791230430f
2017-07-13Remove Swiften/Base/Override.hTobias Markmann
Replaced SWIFTEN_OVERRIDE with C++11 standard override keyword. Test-Information: Tested on macOS 10.12.5 with clang trunk. Change-Id: If89c6cc2a648662522a320834c314496c943a55a
2017-07-11Add missing SWIFTEN_OVERRIDE statements to dtorsTobias Markmann
Also removes -Winconsistent-missing-destructor-override from the list of ignored clang warnings. Test-Information: Tested on macOS 10.12.5 with clang trunk. Change-Id: Iad951879e01eb951a2a393399f55e4e37437c6a2
2017-07-07Make std:: make_unique available in gcc with c++11Joanna Hulboj
Test-Information: Unit tests pass OK on Windows 10 and CentOS 7.3. Change-Id: I33c9eb6b3e6409727350a44e6d5c88c5e8907275
2017-07-06Fix a crash that occurs when resizing chat layoutThanos Doukoudakis
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
2017-06-26Use size_t instead of int in SpellParser::PositionPairTobias Markmann
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