Brief list of changes:
- names of some variables and constants were replaced for reading
convenience;
- URL-highlighting method moved to TextFormatter so URL's don't
conflict with italic text formatting;
- as I understand, in previous version 'file://' URL does not work
because of bad regex. I fix this with help of wiki page that
referenced in comment for old code. Important note: there are two
equal 'file://' URL syntax: 'file:///...' and 'file://localhost/...'
and the second one does NOT work in KDE but works in Gnome so that's
not a bug
Fix#4233
Previously GroupInviteForm included several collections of components
which were supposed to use as a single object. Now they are replaced
with a class and all functionality related to this collections moved
there too. Also fix#3621
Added class provides text font formatting with HTML font tags
Supported stuff:
- nested formatting;
- several text pieces formatted with the same formatting style at the
one message;
- styling applies only if non-whitespace symbol follows opening
formatting symbol and also non-whitespace symbol preceds closing
symbol;
- only multiline code font formatting supports new line inside of
message text.
Also fix#3804
tux3 (4):
fix: Accept IDs as tox URIs, not just ToxDNS addresses
fix: Various IPC event handling and related bugs on startup
fix: Don't even try to add ourselves as a friend in the Tox URI handler
fix: msleep in toxuri processEvents loops, to avoid 100% CPU
Fixes#1926 : When an IPC event was processed locally, if the window was closed before the core could start, the event handler would be forever stuck in the background waiting for the core to start. We fix this by substituting QApplication::quit() by a Nexus::quit() function and a Nexus::isRunning() function, which gives us a condition for exiting blocking processEvents() loops. We cannot simply use QApplication::quit(), because this function has no effect before the start of the event loop.
The problem was further exacerbated by the Tox URI event handler being (incorrectly) blocking. The IPC owner would block in this event handler, and the sender of the event would give up waiting and process the event itself a second time, potentially triggering the first bug. We fix the event handlers accordingly to be (mostly) non-blocking.
Also fixes a related deadlock between ~Core and ~Profile in the case of an early exit
This commit removes historykeeper and code only used by it.
BREAKING CHANGE:
qTox can't open old historykeeper chatlogs after this commit. Use
previous versions to migrate to the new database.
Steps to reproduce:
* Select some obviously larger font
* Restart qTox
* Type something (you will see it with the correct font)
* Erase it completely
* Type something again
* Observe the current font now is small (back to the default)
This is a bug in Qt having to do with manipulation with both the css style and QFont of QTextEdit control at the same time.
The solution is to convert QFont to CSS style and apply it this way.
Diadlo (5):
feat(chatform): Changed mic and vol buttons
fix(chatform): Fixed buttons
refactor: Small Generic chat form refactoring
refactor(buttons): Mic and vol buttons now are QToolButton
refactor(chatform): Small ChatForm refactoring.
Zetok Zalbavar (1):
refactor: adjust to changes in Friend and ToxPk classes
Moved "header" under the scrollbar.
Renamed `Profile` and `User Profile` to `My profile`.
There is a regression with profile page header title no longer being
bold; according it Qt Creator it should be bold. No idea how to fix
that.
Thanks to @Diadlo for the code removing unnecessary header.
This causes a slight regression where own status can become quite huge
when user sets e.g. 120 newlines between first and last character of the
status message.
Given that this fixes a problem with incorrect (broken) formatting of
display of own status messages, the slight regression is insignificant.
There is also a Qt bug involved that causes formatting to be broken if
text contains "HTML" tags.
https://bugreports.qt.io/browse/QTBUG-57477
Used workaround requires using additional HTML to preserve newlines even
if HTML is a part of the status message.
Related to #935.
Revert needed, since otherwise there is no way to do automatic sorting
of includes.
Also reverted change to the docs, as leaving it would make incorrect
docs.
In case of conflicts, includes were sorted according to the coding
standards from #3839.
This reverts commit b4a9f04f92.
This reverts commit 5921122960.