Fix#4275
I did not consider that replacing one substring with another will point
to shifting position of next URL found with regexp. That's the behavior
of Qt's "QRegularExpression" class - it takes a string into constructor
and seems to make its copy inside so changing source string does not
affect this regex object
Fix#4242
Just running in a loop through all of markdown symbols in found URL's,
replacing them with their associated HTML character code before the code
formatting to avoid any chance of interception
Fix#4010.
qTox use status system, where offline is one of the status, but toxcore
use two different meaning: 'connection' and 'user status'. To correct
qTox status handling we should ignore online connection status.
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.