When re-evaluating our dependencies we decided that the update bridge
has a high potential for security issues because it's not widely used.
Additionally similar functionality is already present in qTox.
qTox added specialized tray icon backends over time to work around bugs with
the default implementation, since then our GTK+2 backend has stopped working,
our appindicator backend was never selected by default by cmake, and
statusnotifier was never selected at SystemTrayIcon construction, leaving us
only ever using the broken GTK+2 backend, or theoretically the Unity backend,
which I didn't see selected on Ubuntu 16.04 Unity. In all other cases we would
fall back to the Qt backend.
Qt icon has improved over time, and our platform specific icons have become
stale, with GTK+2 becoming deprecated and GTK+3 not having a similar feature,
QSystemTrayIcon has been tested on a variety of DEs and works as well or better
in all cases, as shown in the table at
https://github.com/qTox/qTox/issues/5881#issuecomment-541892457Fix#5881Fix#5859
avoid Qt embedding timestamps into translations after copying .ts to .qm to work towards reproducible builds. Now reproducible locally as long as there is absolutely no change to environment.
Move all static methods from ContentDialog to ContentDialogManger. Make
if singletone for the first time. Also move some methods to avoid
compile errors.
Toxcore has a 3 state pause, us, them, or both. Currently our UI
messes up if both parties pause. This changeset changes our UI behavior
to show whether we're paused, or if we are waiting on the remote to
unpause.
Anthony Bilinski (2):
feat(db): add file hash to file history
refactor(files): change ToxFile's fileName to QString
Mick Sayson (5):
refactor(files): Refactor FileTransferWidget
feat(db): Support schema version upgrades
feat(db): Database support for file history
feat(db): Hookup file history to the rest of the system
feat(db): File transfer history review comments
Macros can be hard to manipulate and vary among different compilers and
platforms. For example, GNU Hurd has `__MACH__` defined but not
`__APPLE__`.
Let CMake choose them during configuration.
Rational here is that the current FileTransferWidget is quite
entangled with core logic. If we are going to instantiate the
FileTransferWidget without an active file transfer the widget needs to
behave sanely without getting messages from toxcore. This changeset is
an attempt to allow us to move from any FileTransferWidget state to any
other state without having to go through the appropriate state
transitions.
Original work by tox-user.
The default theme is now placed in a different path:
- C:\users\%username%\AppData\roaming\qtox\themes - for Windows
- ~/Library/Application Support/qtox/themes - for MacOS
- ~/.config/qtox/themes - for other Unix systems including GNU/Linux
Thanks to that it's no longer required to recompile the program to modify
the theme.
In addition to that the default theme is also included as a resource. If
the theme folder or some file inside it is missing, qTox will load it
from resource.