Commit Graph

179 Commits (master)

Author SHA1 Message Date
Anthony Bilinski ef8c2b7cb3
Merge branch 'v1.17-dev' 2020-03-28 01:43:40 -07:00
Anthony Bilinski 4f7056385f
refactor: remove dependency on libfilteraudio
The audio filtering/echo compensation didn't ever work reliably, so just
remove it.
2020-03-23 18:24:23 -07:00
Anthony Bilinski f373107f63
chore(cleanup): add Wunknown-pragmas, fix pragma typos
Fix #6035
2020-03-23 18:04:35 -07:00
Anthony Bilinski 2c1a86482a
chore(style): remove old style casts and cross sign comparisons
Enable warnings for both. Favour casting to signed rather than casting to
unsigend for comparisons. Per isocpp's core guidelines ES.102, signed
arithmetic gives more expected results. If we need one extra bit of range,
using longer signed types achives that.

Fix #6010
Fix #6012
2020-03-21 20:29:10 -07:00
Anthony Bilinski 89913e0f9a
refactor(netcam): remove GenericNetCamView, merge into NetCamview
Without GroupNetCamView, the split in arbitrary.
2020-01-26 04:29:55 -08:00
Anthony Bilinski 91bcd211a7
refactor(netcam): remove GroupNetCamView class
Fix #5918
2020-01-26 04:05:39 -08:00
Anthony Bilinski 49abc996ae
Merge branch 'v1.17-dev' 2020-01-19 16:16:57 -08:00
Anthony Bilinski cf672375be
revert(toxme): remove toxme from qTox - the service is offline permanently
As of 2019-10-09, toxme.io was taken offline permanently. Remove UI and code
in qTox relating to it. Revert this commit if it comes back online in the
future.

Fix #5897
2020-01-16 13:28:41 -08:00
sudden6 547a038e48
refactor: remove AppImage update bridge
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.
2020-01-13 11:19:01 -08:00
sudden6 5b3c8aec11
refactor: remove AppImage update bridge
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.
2020-01-12 20:44:21 +01:00
Emery Hemingway faeb699fd0 feat(build): add nix-shell support
Add a metadata file and build rules to build and test from a development
shell provided by the Nix package manager.
2019-12-16 06:57:11 +00:00
Anthony Bilinski 1a726b54cd
fix(history): display broken messages UI with error icon
Allows users to still see their broken messages in the chatlog, but in a way
that's clear that they haven't been delivered and won't be sent.
2019-10-20 02:34:48 -07:00
Anthony Bilinski e85d3f522a
fix(icon): use Qt tray icon in all cases, remove platform specific backends
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-541892457

Fix #5881
Fix #5859
2019-10-16 13:27:29 -07:00
antony-jr bcab4514e4
chore(build): use search_dependency to add AppImageUpdaterBridge 2019-07-27 16:49:23 +05:30
antony-jr 5eea8ba27f
feat(build): add the delta updater 2019-07-27 16:49:20 +05:30
jenli669 04a9bc46f4
docs(copyright): update and add copyright info
zealously updates and adds qTox copyright information.

Fixes #5713
2019-06-28 01:18:26 +02:00
Mick Sayson e607e6ecb4 refactor(chatlog): Add a class to manage history through the IChatLog interface 2019-06-21 11:01:35 -07:00
Mick Sayson 71f8220925 refactor(chatlog): Add class to manage underlying chatlog state 2019-06-21 11:01:35 -07:00
Mick Sayson f0d840002a refactor(messages): Create class to manage sending/receiving group messages from core 2019-06-21 11:01:10 -07:00
Mick Sayson 22a4c38bfd refactor(messages): Create class to manage sending/receiving friend messages from core 2019-06-21 11:01:10 -07:00
Diadlo ac36ed8180 refactor: Create interfaces for ContentDialog and ContenDialogManager 2019-06-19 12:34:03 +03:00
sudden6 22362d2940
refactor(audio): Remove Audio singleton
This commit finally removes the Audio singleton and allocates the audio
backend in main.cpp.
2019-05-21 21:05:27 +02:00
sudden6 e7e35642d7
refactor(audio): introduce IAudioSource interface and use it 2019-05-05 12:49:56 +02:00
sudden6 5b908184fc
refactor(audio): move audio output to new IAudioSink interface 2019-04-25 21:30:19 +02:00
sudden6 c61fcd1f2b
refactor(audio): create interface for audio sinks and sources 2019-04-25 21:30:19 +02:00
Anthony Bilinski dd007877a9
refactor(status): move Status out of Widget 2019-04-24 10:35:15 -07:00
Anthony Bilinski e1f7edd298
chore(i18n): add pt_BR translation 2019-04-24 09:01:32 -07:00
Anthony Bilinski 97d05f9d67
refactor(id): make ContactId interface, implement GroupId
Precursor for group history, friend blocking
2019-04-13 12:58:25 -07:00
yangfl 70781bb14f chore(cmake): add libatomic to target_link_libraries when required
Looks like CMAKE_REQUIRED_LIBRARIES are not automatically linked against.
2019-03-28 18:18:49 +08:00
sudden6 66e2c01029
feat(notify): add desktop notifications using snorenotify
This commit adds very basic support for desktop notifications on friend
request, group invites, friend messages and group messages.
2019-03-24 11:58:09 +01:00
sudden6 8fbffa9fe7
refactor: link ressources into qtox_static library target
This allows tests to use the ressources too.
2019-03-01 10:39:20 +01:00
sudden6 489027ea1e
fix(flatpak): use SVG for icon
Flatpak doesn't allow compressed SVGs as icons because this is against
the specification.
2019-02-09 12:02:56 +01:00
Anthony Bilinski 013771c13a
feat(build): remove timestamps from build to allow reproducible builds
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.
2019-01-28 23:53:33 -08:00
Anthony Bilinski 8bf059bb2e
chore(ui): remove broken auto update
No need to keep it ifdef'd out in code, it can be re-added from git history instead once fixed.
2019-01-08 09:03:12 -08:00
Anthony Bilinski 6c9d7b59c1
feat(ui): add update notification enabled with -DUPDATE_CHECK
Fix #5335
2019-01-08 09:02:17 -08:00
Diadlo 7ad8607c43
refactor: Create ContentDialogManager
Move all static methods from ContentDialog to ContentDialogManger. Make
if singletone for the first time. Also move some methods to avoid
compile errors.
2018-12-27 09:15:24 +03:00
Mick Sayson 293a1d615c fix(transfer): Accurately represent pause state in UI
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.
2018-12-16 13:51:03 -08:00
Anthony Bilinski cbf2a1801f
Merge pull request #5354
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
2018-12-14 08:34:53 -08:00
yangfl 6d0885f396 chore(cmake): let CMake choose which platform dependent code to compile
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.
2018-12-03 16:06:33 +08:00
Mick Sayson 157be30b11 refactor(files): Refactor FileTransferWidget
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.
2018-12-02 14:35:04 -08:00
sudden6 c3363a1fea
feat: add class to retrieve bootstrap nodes from nodes.tox.chat
This is not yet hooked up to be actually used.
2018-11-19 16:52:02 +01:00
yangfl 57fba65a37 chore(cmake): check for libatomic support
Sometimes linking against libatomic is required for atomic ops, if
the platform doesn't support lock-free atomics.

Source: https://github.com/llvm-mirror/llvm/blob/master/cmake/modules/CheckAtomic.cmake
2018-11-18 23:23:29 +08:00
sudden6 c6a197feca
refactor: re-format and cleanup 2018-11-14 13:58:24 +01:00
sudden6 3ee8c665df
feat(paths): create class to combine all qTox managed paths
This will be the central location for all of qTox managed directories.
2018-11-14 11:02:17 +01:00
sudden6 133ac8def8
feat(themes): make themes follow standard paths 2018-10-24 14:04:12 +02:00
Jimi Huotari 71d1fa6f24
refactor(themes): load css and images from themes folder
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.
2018-10-24 14:04:03 +02:00
Patrick 6a240141ea
fix(build):add cmake_policy for CMP0071 to suppress warinings in cmake 2018-10-04 14:09:50 +02:00
sudden6 fd99dfd0a5
feat(build): add option to enable AddressSanitizer 2018-09-04 21:33:58 +02:00
Anthony Bilinski edb306c723
fix(build): fix default cmake build not actually being debug 2018-08-26 18:27:48 -07:00
TriKriSta 01281e87cb
Merge branch 'master' into search 2018-08-14 01:08:54 +03:00
Diadlo 671b9456a8
feat: Add spell checking
Fix #1301

Spell checking implemented by KF5Sonnet
2018-07-19 20:31:52 +02:00
Diadlo 66fe7f2852
refactor(groupwidget): Create GroupChatroom
And move some logic in 'FriendChatroom' from 'onContextMenuCalled'
2018-07-18 01:06:47 +03:00
Diadlo 059d0120be
refactor: Add FriendChatroom (model to FriendWidget) 2018-07-12 15:32:35 +03:00
sudden6 20ca6c84c8
refactor(core): move Tox_Options handling to separate file 2018-06-27 18:34:59 +02:00
sudden6 c7ca261679
refactor(core): move logger to its own file 2018-06-27 18:34:55 +02:00
TriKriSta 610e04aa26 feat: use search settings 2018-06-24 21:11:20 +03:00
TriKriSta 87b340f4a1 feat: create widget for search settings 2018-06-16 13:41:31 +03:00
Yuri aa9cff315d feat: Add the cmake option USE_CCACHE 2018-03-02 23:14:18 -08:00
TriKriSta 863c46c73d feat: add form for search 2018-02-10 17:56:16 +02:00
sudden6 1a06f85d3c
feat(l10n): add Macedonian translation 2018-01-11 22:20:17 +01:00
sudden6 196529b8e8
chore: disable broken autoupdater by default 2018-01-04 01:03:52 +01:00
Diadlo e4537c04bc
refactor: Add IFriendSettings 2017-12-24 13:23:31 +03:00
Diadlo bc05d531a3
refactor(video): Add video settings interface 2017-11-10 23:27:06 +03:00
Diadlo 44258b01f5
refactor(audio): Add audio settings interface 2017-11-10 23:27:06 +03:00
Diadlo ba1581005b
refactor: Extract head widget from GenericChatForm
Also fix #2749
2017-11-10 14:08:03 +03:00
sudden6 1dce8f6468
refactor(core): rename corestructs to toxfile.cpp
It only contains this struct now.
2017-10-31 09:32:53 +01:00
Zetok Zalbavar 641a80842e
feat(l10n): add Serbian (latin) translation to UI 2017-10-29 11:36:02 +00:00
Zetok Zalbavar 3c4b1f117d
feat(l10n): add Serbian translation to UI 2017-10-29 11:36:02 +00:00
Zetok Zalbavar 76df9a4535
feat(l10n): add Persian translation to UI 2017-10-29 11:36:01 +00:00
sudden6 4149b5b252
refactor(coreav): remove unused IndexedList 2017-10-28 11:47:56 +02:00
Maxim Biro 21af6875cc feat(travis): run tests on Windows 2017-10-25 01:48:18 -04:00
Diadlo 9a543548e0
refactor(toxme): Move json generation to ToxmeData class 2017-10-13 14:56:15 +03:00
Diadlo 4a11a0eb22
refactor(profileinfo): Add profile info model class 2017-10-13 09:12:41 +03:00
Diadlo b057f5adc6
chore: Add interface.h in project files 2017-10-11 08:51:32 +03:00
Diadlo 4e3b2291f5
refactor: Create interface for core settings 2017-10-11 08:51:32 +03:00
Diadlo 0c8c16e743
refactor: Extract DhtServer in separate file 2017-10-11 08:51:32 +03:00
sudden6 61b36d1bce
feat(identicon): add algorithm to create identicons
ported from https://github.com/sudden6/rust-identicon/blob/master/src/lib.rs
but slightly changed the algorithm
2017-10-06 23:57:51 +02:00
sudden6 68e0b462fc
chore(cmake): use cmake variable for position independent code 2017-10-06 23:04:39 +02:00
Diadlo 533dd3103e
chore(cmake): Fix PIE error 2017-09-26 21:00:39 +03:00
Diadlo 5b120c18ef
chore(warnings): Add -Werror flags 2017-09-26 21:00:39 +03:00
Maxim Biro 8108bfdc35 fix(build): Fixed header file of libfilteraudio not being found 2017-09-20 19:46:46 -04:00
noavarice ad3584c469
refactor: GroupInvite moved to model directory 2017-09-17 19:54:01 +03:00
Diadlo b0a591e0f0
refactor(aboutfriend): Add AboutFriend model and interface 2017-09-10 13:21:33 +03:00
Diadlo 8368f2413d
refactor: Rename AboutUser to AboutFriendForm 2017-09-10 13:21:32 +03:00
Vincas Dargis 32b97cb927 fix(platform): handle terminating POSIX signals
Add PosixSignalNotifier utility class to covert POSIX signals to
Qt signals and allow qTox to quit appropriately on Linux, FreeBSD
and macOS.

Might protect from data corruption bugs when application is being
terminated during I/O.

Fixes: #4470
2017-09-09 17:19:51 +03:00
Diadlo 90f4750e73
refactor(contact): Add Contact class 2017-08-06 13:55:02 +03:00
Diadlo 017653470d
refactor: Move friend and group in model directory 2017-08-06 13:55:02 +03:00
sudden6 8f2401fee6
fix(build): add install steps for libfilteraudio on OSX 2017-08-05 21:25:01 +02:00
sudden6 c715729167
feat(audio): add alternative OpenAL backend 2017-08-05 21:12:32 +02:00
Yuri ae5cb4bcc2 fix: Keep open and share X11 connection
This prevents opening and closing of X11 connection and associated files every 1 second.
X11 connection is used for userAutoAway feature and to read CapsLock status.
2017-07-23 14:41:04 -07:00
sudden6 a9d2b03c7c
fix(build): disable linux specific stuff on windows
also fix the output formatting of used libraries
2017-07-16 13:12:37 +02:00
sudden6 7849186699
chore(build): remove unneeded stuff 2017-07-16 13:12:37 +02:00
sudden6 b4e9fc7b83
chore(build): fix formatting 2017-07-16 13:12:37 +02:00
sudden6 cf06cc7a1d
fix(cmake): fix icon for .exe file 2017-07-16 13:12:37 +02:00
sudden6 93f2c38376
chore(build): add some debug output 2017-07-16 13:12:36 +02:00
Zetok Zalbavar bf405e17fb
feat(l10n): add Tamil translation to UI 2017-07-14 07:26:30 +01:00
sudden6 ab62221375
fix(build): when building without XSS extension 2017-07-13 18:39:00 +02:00
Diadlo 70428771fd
Merge pull request #4481
Yuri (1):
      fix(v4l): Fixed CMakeLists.txt for v4l on FreeBSD
2017-06-21 22:18:29 +03:00
Yuri dfe696e25a fix(v4l): Fixed CMakeLists.txt for v4l on FreeBSD
Fix #4459
MATCH FreeBSD was missing in CMakeKusts.txt.
2017-06-21 07:24:40 -07:00
sudden6 6b7c0c738b
fix(build): add missing rcc options
This should reduce the qTox binary size.
2017-06-21 11:44:21 +02:00