Age | Commit message (Collapse) | Author |
|
Due to Windows focus handling, the handleApplicationFocusChanged
method was called during the relayout process while the dynamic
grid layout is not in a consistent state.
With this change a call to handleApplicationFocusChanged will
just be ignored during the relayout process when changing the
layout.
Now it also remembers the current active widget in the layout
and activates it after the relayouting is done.
Test-Information:
The crash happened in a scenario where you had a few rows and
columns and with many tabs randomly distributed, leaving some
trellis cells without a widget. When changing back to a 1x1
grid in this situation it sometimes crashed.
Now it does not anymore.
Tested on Windows 8 with Qt 5.4.2.
Change-Id: I829bac2ba050cf320e15ab48b49bbb9606a82831
|
|
Previously users could only drag and drop tabs on other tab
bars. With this change the user can simply drop the tab on
another tab widgets. This works on all QtTabWidgets that have
a QtDNDTabBar set, regardless of their number of child widgets.
This works by forwarding dragEnverEvent() and dropEvent() calls
on the QtTabWidget to the corresponding QtDNDTabBar.
Tabs dropped on the tab widget instead of the tab bar are
added at the end of the tab bar.
Test-Information:
Tested with Qt 5.5.1 on OS X 10.11.6 and Windows 7.
Change-Id: Ie73e02de24472eab2d20a89c937fb6630b1ef7b8
|
|
Recent testing on Debian 8 showed two rendering issues:
1. CE_MenuBarItem in the selected state shows drawing
artifacts for our drawing size with Debian's default style.
2. CE_SizeGrip shows drawing artifacts unless it's drawn
at position (0,0).
Removed size grip as the resizability signification is also
provided by the description text. Cells are drawn as simple
squares in the palette's highlight color.
Test-Information:
Verified that there are no artifacts and the dialog is usable
on Debian 8, Windows 8 and OS X 10.11.6.
Change-Id: I9eaf1e1fd34d035ec3dffcb0dc29efca40d6da24
|
|
This fixes UI drawing quirks on Windows and improves the
margins.
It also adds a descriptive text on how to use the dialog.
It adjusts the cursor position when changing the size via
keyboard so switches between keyboard and mouse usage of
the dialog are fluid.
Test-Information:
Verified usage and looks on Windows 8 with Qt 5.4.2 and on
OS X 10.11.6 with Qt 5.5.1.
Change-Id: I983656d7d08d49ac4914380ae42ed5ce49fcea12
|
|
This adds the ability to provide more specific date formatting
via the Translator interface. The default translator will use
Boost's formatting capabilities. The QtTranslator use more
localized and better readable formatting.
Test-Information:
Tested with Qt 5.5.1 on OS X 10.11.6. Checked that tooltips
and presence text in new chat views show the new formatting.
Change-Id: I90ff5ab8b31fb41f2dcbea2c40b8846c534c355f
|
|
Added Qt image format plugin packages and Qt SVG image format
plugin to InstallSwiftDependencies.sh script and Debian
packaging.
Test-Information:
Tested that macdeployqt now adds the image format plugin for
SVG to the deployable app bundles.
Change-Id: Id1ce265073cb8adb9315cb40da032ee11ea8761d
|
|
It now uses the same dark gray tone as the chat view uses
for its text.
Moved some constants to named variables for readability.
Test-Information:
Compact and non-compact contact lists, in the roster and MUC
roster and the chats view all show the first line drawn in
a dark gray instead of the hard black.
Change-Id: Ief36fd4f27d30ace61f04d50e846db571ab84a4e
|
|
Test-Information:
Created a custom CA and added it as trusted to the system.
Created a signing certificate and passed it to scons as
described. The resulting installer does not show a red UAC
dialog anymore during installation. Instead the publisher from
the certificate is shown in a blue UAC dialog.
Change-Id: Ie4043520f6d45ec2e7aad712441a928cb423b0de
|
|
Test-Information:
Tried editing a contact on a server prohibiting contact
editing. Previously the first double-click on the notice
showed an empty popup. Now the correct popup text is shown.
Change-Id: I996cf5b654e866ec6dd3f5198b694ae564018695
|
|
The old default avatar does not work well with the new
chat view design which uses circled avatars.
This also uses the vector avatar internally in Swift and
has Qt and the chat view engine scale it to the required
size.
Test-Information:
Tested on OS X 10.11.5 with non-compact chat views and MUC
conversations.
Change-Id: I82580ecb91fc81f4fe9535aa9d3b214b720a40f3
|
|
Test-Information:
Tested by clearing the avatar cache and joining MUC some larger
MUC rooms. All but our current default avatar look much better.
Change-Id: I515adbded1114632f41d6ee4eba6602b77dad975
|
|
Test-Information:
Tested with Qt 5.5.1 on OS X 10.11.5 and Qt 5.3.2 on Debian
8.5.
Change-Id: I727bca574ec1433df01bc68e5da0c7678fdb9915
|
|
In some cases during the login the helper QEventLoop in
QtWebKitChatView takes over the event handling of the
application and never retirms from it. Qt events are still
handled in this case but any other new events are only queued
up. The user would still have a responsible UI, but all network
traffic or other non-Qt events would not be handled correctly.
Test-Information:
Without the patch Swift would get stuck during login in 5 of
10 runs. With this patch it did not get stuck anymore in 10
runs.
Tested on OS X 10.11.5 with Qt 5.5.1.
Change-Id: Ie17a8e01cc9c52cc784e223974ec21e604dcccab
|
|
The old version cut off the blurred shade at the top and bottom.
The new version has a square page and does not cut off the
blurred shade of the Swift logo used in the image.
Furthermore rendered the SVG to a 192x192 PNG, the exact
dimensions used in the UI, using the `inkscape -e
logo-shaded-text.png -w 192 -h 192 -z logo-shaded-text.svg`
command.
This change also works around QTBUG-46846.
Test-Information:
Verified that the login window of the UI looks nearly the same
as before. It is a bit smaller since the blurred shade is not
cut off anymore.
Change-Id: Iee56d2a892572f45db7f93a2429455fd9d603eb6
|
|
This is the same approach taken by the vCard dialog.
Test-Information:
Previously the open 'Enter Room…' dialog would stay in
background when selecting the 'Enter Room…' menu item.
Now it will be raised to top.
Tested on OS X 10.11.5 and Qt 5.5.1.
Change-Id: I8ef78ceea328206306d25085feeb3f5b039821d9
|
|
This removes Snarl from 3rdParty, our adapter to it in
SwifTools and the integration in Swift UI.
Test-Information:
Builds and installer still work on Windows 8. Standard
system tray balloon notifications still work.
Change-Id: Id580642932eac260c79eaf2343a94ec9d5606f11
|
|
See DEVELOPMENT.md for instructions.
Test-Information:
Tested using a self-signed code signing certificate created
using Keychain Access.app.
Compared the output of 'codesign -vvv -d' on Swift.app with
preinstall apps. The output looks much the same except for
the signing authority.
Change-Id: Idbb3209ad917091c371ced61ec8a77e3e5d18884
|
|
The C++ standard library takes ownership of the date_facet
instance passed into the locale object ctor.
Test-Information:
Without this fix Swift would crash on exit when build with
ASAN. With this fix it does not anymore on OS X 10.11.5.
Change-Id: I46a87d9d6840408556722feeebe28a13e0d351b2
|
|
This removes support for user dictionaries for now. The new
UI shows a list human readable languages (in their native
spelling) where the user can select one to use for spell
checking.
Updated our InstallSwiftDependencies.sh based on the package
names in their repositories.
Test-Information:
Tested on Ubuntu 16.04 with Hunspell and tested it still
builds on OS X 10.11.4.
Did not test InstallSwiftDependencies.sh.
Change-Id: I24fc705b1495f7c39a8da149cbd7116e41609998
|
|
The new format is VERSION_DATE_UUID.dmp.
Included the diff for the Breakpad modification.
Test-Information:
Tested by adding crashing code and verified the filename
of the created minidump file on Windows 8 with VS 2013.
Change-Id: I963e7913fadf4787742439da590e12e121ef3435
|
|
Test-Information:
Tested on OS X 10.11.5 with Qt 5.4.2 and Debian 8.5 with
Qt 5.3.2.
Change-Id: I9a60fc4b5556379576fdddc12a697cb71597e241
|
|
Test-Information:
Verified that trellis options are available after login
and working as expected on OS X 10.11.5 with Qt 5.4.2.
Change-Id: Ib94129abc07c38d38c932493d1c74260e894a4f3
|
|
There was a bug that prevented to drag multiple contacts
in the invite dialog list. The restriction for impromptu
conversation rooms is now only applied if no local MUC service
is found and the dialog is a 'Chat to Users' dialog.
Test-Information:
Tested that you can now drag multiple contacts into the
invite dialog.
Tested on OS X 10.11.4 with Qt 5.4.2.
Change-Id: I50b0bb191570f32cfa054e415c993b1fb57073ad
|
|
This fixes a bug where manually added contacts, i.e. the user
entered the address and hit the 'Add to list' button, were
missing the correct presence in the contacts list in the
'Start Chat…" dialog.
Test-Information:
Tested on OS X 10.11.5 with Qt 5.4.2.
Tested adding a roster member via the drop down suggestion and
via manually entering the JID and clicking the 'Add to list'
button. In both cases the correct presence was shown.
Added a test verifying that empty JIDS are invalid.
Change-Id: Idb18e4ad2b5c0afb48461796f64e8f11f02a24fd
|
|
QtSuggestingJIDInput is used by the 'Start Chat…' dialog and
other dialogs. Keyboard usage of the widget works fine. Clicking
on a suggested item via touchpad/mouse will correctly select
the item. However, when the popup is hidden, the dialog
containing the QtSuggestingJIDInput is not the top window but
will be in the background instead.
With the workaround, the dialog will be on top of the window
hierarchy if a suggested item is selected by click.
Test-Information:
Tested that this workaround is not required on Windows 8 and
Ubuntu 16.04.
Tested this workaround works on OS X 10.11.5 with Qt 5.4.2.
Change-Id: I77f0aa5f92268da1867f61d9f6e1fbc66a724c17
|
|
Test-Information:
Tested on OS X 10.11.5 with Qt 5.4.2.
Change-Id: Ic751fec01cfe6417bb5db17364f5eb69a2037895
|
|
Test-Information:
Builds on OS X 10.11.5. Tested that the recent search server
field in the 'Start Chat…" dialog is not set, if you search
locally. Searching on remote servers still adds the server
to the recent search server list.
Change-Id: I62e21339b055ec826f450b8bfb2c662d1df5e84b
|
|
Test-Information:
Builds on OS X 10.11.4 with Qt 5.4.2 and the short description
still shows the strings in the UI.
Checked that update_translations=1 shows the newly translatable
strings.
Change-Id: I7acc1058fbb07a5f1ed630c5cc95493f2bc79770
|
|
Test-Information:
Test that it still builds and unit test pass on OS X 10.11.4.
Change-Id: I2eb4a0b707991aee553db36a8cd1ae28b813acab
|
|
Chat views are expected to remember the scroll position.
If the user scrolled all the way down, the view should keep
scrolled all the way down, even if the windows is resized,
new messages are added or the user enters a multi line message
in the message input box.
Qt WebKit only provides reliable scroll position updates in
their web environment. This requires to have scroll changes
call a JS hook that calls our C++ signal.
Test-Information:
Tested and verified the following cases for correct behavior:
* entering a multi line message keeping the view scrolled down
* resizing the window and keeping it scrolled down
* receiving messages and the view keeps being scrolled down
* verified that view does not scroll down if it is not yet on
resize of the window, entering multi line messages, and
receiving new messages
Change-Id: I579a07d0b073c34e7a46b0fde1bc09f3da08d5da
|
|
If you resize the window in netbook mode, the splitter inside
only resizes to the new geometry if it is clicked or moved.
This is due to overriding resizeEvent hook of QSplitter in
QtSingleWindow but not notifying QSplitter's resizeEvent hook
in the new method.
Test-Information:
Tested on OS X 10.11.4 with Qt 5.4.2.
Opened Swift in netbook mode and resize the window. The login
screen is resized as the window is resized. The login screen
used to only resize if you moved the splitter.
Change-Id: I7715e1cdcb4c0e672e233a9f76fad3ef5fe70d25
|
|
Test-Information:
Builds on OS X 10.11.4 with Apple clang and clang master.
Change-Id: I012577e29c6fcf2fb452b4f13912aaeb37250fb5
|
|
Test-Information:
Builds on Debian 8.4 and unit tests pass.
Change-Id: I154f70606de33b57c8dd4a5d9431a14f537ad50f
|
|
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
|
|
Run 'clang-tidy -fix -checks=modernize-loop-convert' on all
source code files on OS X. This does not modernize platform
specific code on Linux and Windows
Test-Information:
Code builds and unit tests pass on OS X 10.11.4.
Change-Id: I65b99e0978cfab8ca6de2a3e5342e7a81416c12c
|
|
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
|
|
Run 'clang-tidy -fix -checks=modernize-use-nullptr' on all
source code files on OS X. This does not modernize platform
specific code on Linux and Windows
Test-Information:
Code builds and unit tests pass on OS X 10.11.4.
Change-Id: Ic43ffeb1b76c1a933a55af03db3c54977f5f60dd
|
|
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
|
|
This also removes the old chat theme resources and some code
in QtWebKitChatView that was required for compatibility to
Adium-style themes.
The new code uses a CSS style in the header to change the
font size and does not iterate the whole DOM tree itself
anymore.
Added new resources for failed and successful asks.
Test-Information:
Tested MUCs, PMs, message correction and file-transfers with
the new chat theme.
Change-Id: If922a972c658189444e60a7b00e5e5e96661620d
|
|
Previously a preprocess macro expansion variable was passed
into Qt's tr() function. Qt's translation tool did not pick
these stings up.
Test-Information:
Builds on OS X 10.11.3 with Qt 5.4.2. Provided german
translations for some of the items in the popup menu and then
ran Swift with --language de. The translated popup menu items
were correctly translated in the UI as expected.
Change-Id: I50aeac9dd7277e1ce07b5a362c7474962dbcfad4
|
|
If Swift uses Hunspell as spellchecking backend its
configuration can fail, because a dictionary is missing
or a wrong path was specified.
Instead of crashing, spellchecking will be disabled and a
warning is printed to the terminal.
Test-Information:
Tested on Debian 8 with Qt 5.3.2.
Tested enabling/disabling of spellchecking in the UI,
selecting different dictionaries and broken dictionaries.
Change-Id: Ib6d73ed3d7a6a3701410b0f6dc983d41e807df82
|
|
The previous stylesheet was too generic, as it applied on
all widgets and sub widgets, including a potential context
menu. This fix will only color alerts and the text input
in the warning color. Potential context menus are colored
according to the application style.
Test-Information:
Tested alert colors and text input color on OS X 10.11.3
with Qt 5.4.2.
Change-Id: I0d1f704f4eacddf41befb7dfbc8bbf7ef28f88ce
|
|
Test-Information:
./scons test=unit passed without errors on OS X 10.11.3.
Change-Id: I9303fd2d5a08a17d1e8f2ca015bec7c883aeedad
|
|
Currently the file-transfers to MUC PM contacts fail because
the from JID does not match the initiator JID. The
initiator JID is always the real client JID at the moment.
Disabling file-transfer for MUC PM contacts provides a better
UX for now.
Test-Information:
Tested file-transfer to normal contacts still works. Tested
file-transfers to MUC PMs do not start.
Change-Id: If5f59eb313a25ca919393f497a57fd339eb17e3e
|
|
WriteBytestream::write(…) now returns a boolean indicating
its success state (false in case of an error). Adjusted
FileWriteBytestream accordingly.
The QtWebKitChatView will test if the file path selected by
the user is writable before accepting it and starting the
transfer. If it is not writable a red warning message will be
added to the file-transfer element in the chat view.
Test-Information:
Added an integration test that tests the new behavior for
the FileWriteBytestream class.
Tested two file transfers on OS X 10.11.3, one to a write
protected location and another to /tmp. The first is not accepted
by the UI, and without the UI sanity check it results in a
file-transfer error. The second succeeds as expected.
Change-Id: I5aa0c617423073feb371365a23a294c149c88036
|
|
If there is no X11 display set, bits in libqxcb as used by the plaform
integration bits called by QApplication will trigger an abort. Moving
this down to just before where the app object is needed allows --help or
--version even if there's no DISPLAY, and also improves runtime of these
GUI-less operations quite a bit.
Test-Information:
Test platform Debian 8 x64 with Qt5
Starting swift-im with DISPLAY set works as expected
Asking for --version or --help without DISPLAY now works
Actually starting the UI still aborts.
Change-Id: Id8eeee90598fe2a8e3b26ba042835a0ea928932f
|
|
Used to use simple string contactenation, but that's unsuitable to at
least Dutch.
Test-Information:
Test platform OS X 10.11
Untranslated VCard field dropdown looks as before.
Change-Id: I371b47d570032deffa0ed662ba13964d96b22633
|