1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00
Commit Graph

2360 Commits

Author SHA1 Message Date
tux3
19582c1c69
Merge branch 'pr2821' 2016-01-20 17:01:23 +01:00
tux3
e93c1baa6c
Merge branch 'pr2818' 2016-01-20 16:58:16 +01:00
tux3
529299c7ba
Merge branch 'pr2822' 2016-01-20 14:33:17 +01:00
Rowen Stipe
df584531c8 Enable OS X Auto-run at login 2016-01-20 05:17:03 -05:00
Rowen Stipe
a05310e155 Added case for /Application Support/Tox already existing
I tried to get it done without bash… But this was the simplest method
that works for this special case scenerio.
2016-01-20 01:22:25 -05:00
tux3
aef447d7c7
Have v4l2 read MJPEG video by default
Fixes #2826

Thanks to @seanlaguna for finding a fix
2016-01-20 00:00:03 +01:00
tux3
f79bb24024
Fix ODR violation in SettingsSerializer
Fixes #2173

Also fixes some compilation errors in some situations
2016-01-19 16:28:49 +01:00
Rowen Stipe
27fda2e579 Added basic migration compatibility code.
This code works if the ~/Library/Application Support/Tox directory does
not already exist.
2016-01-19 06:36:15 -05:00
sudden6
f14bc8316c Add proxy support to toxme and autouptdate 2016-01-19 00:19:07 +01:00
Zetok Zalbavar
2e0e8f778f
Login window: disable Load automatically if profile is encrypted 2016-01-18 20:54:32 +00:00
Rowen Stipe
f7c262fb07 Touchups
This commit has several touch ups that only effect the OS X clients.

`info.plist` and `qt.pro` are now configured to create an automatic
short version to help distinguish between clients clearly and include a
referenced file not put into the build when compiled.
`./img/icon/qtox_profile.icns’

`info.plist` also had it’s bundle version to be  updated to the 1.2.2
tag and supported languages added and fixed referenced file.

The default save location has also been moved to comply with the Tox
Client Standard. (Previous location was ~/Library/Prefrences/tox )

A basic bash profile mover has also been included to show I did think
of that.
2016-01-18 14:36:35 -05:00
a68366
65421e8992 Fix a typo in function name 2016-01-18 16:50:11 +03:00
a68366
dba7a53ec7 Fixes #2522 2016-01-18 16:45:29 +03:00
tux3
0ea0918ce9
Merge branch 'pr2809' 2016-01-17 13:24:56 +01:00
Nils Fenner
251d53f340
temporary remove audio gain metering 2016-01-17 11:00:52 +01:00
tux3
38c68658e0
Fix personnal->personal typo
Closes #2810
2016-01-16 20:08:43 +01:00
tux3
d07bef21a3
Merge branch 'pr2769' 2016-01-16 15:44:51 +01:00
agilob
203274f6d1
Unify window icons 2016-01-16 14:31:34 +00:00
tux3
0955843b8d
Merge branch 'pr2799' 2016-01-16 14:30:41 +01:00
tux3
c576a1485a
Scan-build cleanup 2016-01-16 02:24:13 +01:00
Diadlo
bb9b1a4e32
Add Toxme support in Toxuri handle 2016-01-15 18:08:25 +01:00
Diadlo
7179ed4722
Add Toxme lookup support
qTox will try Toxme, and if Toxme not supported, ToxDNS
2016-01-15 18:08:25 +01:00
tux3
4806e684fa
Cherry-pick HTTP(S) toxme lookups from #2753
Implementation by @Diadlo
2016-01-15 18:08:25 +01:00
Zetok Zalbavar
ccfb81b2e4
Add some basic documentation about Tox ID in source
Lets not make plaintext gods angry by linking to a dead html page.
2016-01-14 20:21:00 +00:00
tux3
05162a63b9
Merge branch 'pr2793' 2016-01-14 14:11:52 +01:00
tux3
aeb26d1af7
Merge branch 'pr2782' 2016-01-14 14:03:03 +01:00
Zetok Zalbavar
1921a9887e
Remove empty src/main.h (closes #2792)
Looks like it was accidentally introduced in
9905042434
2016-01-11 19:00:43 +00:00
Taha
13b2ec54aa Removed static modifier 2016-01-09 19:55:03 -05:00
Nils Fenner
26019c20e2
Merge pull request #2725 from 'r-ku:ipc-cleanup' 2016-01-09 23:37:07 +01:00
Nils Fenner
82dfe0f704
fix audio singleton implementation 2016-01-09 13:12:39 +01:00
Taha
03cb9d8a03 qTox uses default smiley pack if there's an invalid one in the qtox.ini file (fixes #2757) 2016-01-08 21:02:48 -05:00
agilob
ad3326b95d
Merge remote-tracking branch 'briskycat/issue2558_desktop' 2016-01-07 20:16:45 +00:00
Nils Fenner
e952d1a654
Merge pull request #2767 from branch agilob:chat_window_icon
* Set status icon on separate chat window, closes #2210
2016-01-04 22:34:30 +01:00
Zetok Zalbavar
b25faf0426
Merge pull request #2770 from a68366:issue2484
Fixes #2484 - Error message inside the chat
Remove extra spaces
2016-01-04 12:23:25 +00:00
Andrey S
d69139bf4a Remove extra spaces 2016-01-04 14:02:37 +03:00
agilob
f7118071b7
Set window icons on settings window 2016-01-03 13:06:24 +00:00
agilob
cb43a9b70e
Remove ctrl+q from tray menu 2016-01-02 22:01:41 +00:00
Andrew Novikov
371900b56f
Fix for the issue #2458 2016-01-02 21:59:38 +00:00
agilob
09d1fd3fdd
Merge remote-tracking branch 'antis81/fix_default_audio_device' 2016-01-02 17:27:27 +00:00
Andrey S
8ce16ad399 Fixes #2484 - Error message inside the chat 2016-01-02 00:00:05 +03:00
tux3
f2ba03b45f
Fix some messages being saved with history disabled 2015-12-31 14:36:12 +01:00
agilob
7f34290129
Merge remote-tracking branch 'antis81/chat/fix-mouse-crsr' 2015-12-30 21:40:19 +00:00
Nils Fenner
26768de94a
set mouse cursor to I-Beam shape, when hovering over text within chat 2015-12-30 14:45:55 +01:00
Nils Fenner
79ddbf7d02
open the first available audio in/out device as default, if specifier is empty 2015-12-28 12:06:22 +01:00
ovalseven8
f70b249ed8 Fix default smiley pack. Necessary because of the name changes. 2015-12-24 16:00:05 +01:00
Nils Fenner
552155bd1f
Merge PR #2719 from antis81:fix_audio_subscriptions
* fix dangling audio output device
* do not resubscribe sid in copy constructor
2015-12-23 23:29:20 +01:00
Andrew Novikov
985def25ff Implemented screen capturing support for Mac OS X 2015-12-23 15:31:28 +03:00
Andrew Novikov
bd8a2c84ef Optimized working with strings 2015-12-23 11:03:56 +03:00
rku
056a77d4dd Cleaned up all the ipc/startup code:
* Removed duplicate code of ipc event sending
 * Removed duplicate code of profile loading
 * Fixed bug where activating existing instance still started new instance of qtox asking to select a profile
 * IPC messages are now profile-aware and are sent to instance that runs specified profile in -p flag or to ipc owner if -p is not specified.

If -p flag is specified ipc events will be send to instance which runs specified profile. If instance using that profile does not run - new qTox instance will be started. This works with password-protected profiles too - new instance will handle "uri" or "save" events after accepting user password.
2015-12-22 14:59:55 +02:00
Jacob Henner
e9b34f5154
Fixes #2686 - Profiles will store avatars in distinct files 2015-12-21 13:30:46 +01:00
Jacob Henner
3f4c21216a
Fixes #2629: avatars will be re-encrypted when the profile password changes 2015-12-21 13:30:46 +01:00
Johannes Löthberg
e5baa403e0 Add SVG support to filetransfer preview
Only requires Qt SVG which is already a dependency of qTox.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2015-12-21 06:02:32 +01:00
Andrew Novikov
cc64db3f27
Implemented listing and setting video modes on Mac OS X 2015-12-21 01:27:38 +01:00
Andrew Novikov
9d43062639
Changed the type of VideoMode::FPS to float: this is necessary for Mac OS X which uses frame rates like 29.97 2015-12-21 01:27:01 +01:00
Andrew Novikov
cf6623cfc8
Implemented enumeration of video devices. 2015-12-21 01:26:18 +01:00
tux3
b01f47b1aa
Use pre Qt5.4 QTimer::singleShot
For compatibility with Debian Jessie
2015-12-21 01:14:23 +01:00
Nils Fenner
19201dda8a
Merge pull request #2713 from antis81:newav_audio_cleanup 2015-12-20 23:10:03 +01:00
Nils Fenner
e73fd27d8b
fix: don't subscribe to in/out device when initialization failed 2015-12-20 09:45:43 +01:00
Nils Fenner
0615c7c3c6
reimplement audio in/out subscription concept 2015-12-20 09:45:43 +01:00
Nils Fenner
27bfade9e1
unsubscribe invalid ToxCall from audio when copied 2015-12-20 09:45:43 +01:00
Nils Fenner
d8607324ce
cleanup AudioPrivate
* rename mAudioMeter -> audioMeter
* move class declaration below other classes
2015-12-20 09:45:43 +01:00
Nils Fenner
ace3662757
further improved audio metering
Give qTox time to do more important things -> do not measure with 100%.
2015-12-20 09:45:43 +01:00
Nils Fenner
535bb212f5
make use of QThread::requestInterruption 2015-12-20 09:45:43 +01:00
Nils Fenner
02f5f0a391
remove obsolete include of audio.h 2015-12-20 09:45:43 +01:00
Nils Fenner
c39138a65d
lock mutex also on start/stop audio loop playback 2015-12-20 09:45:43 +01:00
Nils Fenner
08c43d0b83
cleanup OpenAL compatibility code in audio class 2015-12-20 09:45:43 +01:00
Nils Fenner
a1b87194b8
fix #2504
We need to filter samples * channels; also cleaned up data types
2015-12-20 09:45:43 +01:00
Nils Fenner
44d1c6fe74
[WIP] implement threaded level meter for input level
Issues:
1. Using 100% processor.
2. Temporary silences an active call -> reactivate after widget hide.

Still greatly improves metering audio data, removing "read buffer" errors.
2015-12-20 09:45:43 +01:00
Nils Fenner
cbf0f2e7e0
draw the audio gain level with love 2015-12-20 09:45:43 +01:00
Nils Fenner
5805c8c2bf
improved code for non-blocking audio player
Instead relying on hardcoded "d->alMainSource", we bind to the given OpenAL source instead.
2015-12-20 09:45:43 +01:00
Nils Fenner
67fbee8868
use qstring for path when playing audio file 2015-12-20 09:45:43 +01:00
Nils Fenner
b44ef6c596
introduce a non-blocking AudioPlayer
Also moved private stuff to private class.
2015-12-20 09:45:43 +01:00
Nils Fenner
1fb9bce78c
move audio class to thread before starting 2015-12-20 09:45:22 +01:00
Nils Fenner
bb7d2a72b7
privatized audio interface 2015-12-20 09:45:22 +01:00
Nils Fenner
c23cb0043f
implement actual audio in/out subscription management 2015-12-20 09:42:14 +01:00
Nils Fenner
137eca86d6
use single mutex for audio resource locking 2015-12-20 09:42:04 +01:00
Nils Fenner
9627f45014
don't extra-subscribe audio gain metering widget 2015-12-20 09:42:04 +01:00
Nils Fenner
68e7aef916
privatized open/close audio devices 2015-12-20 09:42:04 +01:00
Nils Fenner
f6c09104e4
fix noise (clipping) while (re-)initializing in/out audio device 2015-12-20 09:40:57 +01:00
Nils Fenner
d233c6f699
cleanup audio out device on error after open 2015-12-20 09:40:57 +01:00
Nils Fenner
d631ddbc86
cleanup close audio out device 2015-12-20 09:40:57 +01:00
Nils Fenner
872be36225
un-/subscribe audio in/out in AV-Settings form 2015-12-20 09:40:57 +01:00
Nils Fenner
e7f666be77
un-/subscribe audio in/out in tox-call 2015-12-20 09:40:57 +01:00
Nils Fenner
32bc99fb38
cleanup reinitialization of changed audio in/out 2015-12-20 09:40:57 +01:00
Nils Fenner
ad6e0a85f5
add method to reinit audio in/out 2015-12-20 09:40:57 +01:00
Nils Fenner
7b98f2a4a0
cleanup close audio device 2015-12-20 09:40:57 +01:00
Nils Fenner
efda47a226
close audio output in destructor 2015-12-20 09:40:57 +01:00
Nils Fenner
c540faf271
add method to un-/subscribe to audio output as well 2015-12-20 09:40:57 +01:00
Nils Fenner
e8a4f6511d
use internal methods to open in/out audio devices 2015-12-20 09:40:57 +01:00
Nils Fenner
c5f4ceee6b
fix Audio::subscribeInput
Audio input/output device will only be opened, if not initialized already.
2015-12-20 09:40:57 +01:00
Nils Fenner
bde042ba3a
remove unused include and forward declarations 2015-12-20 09:40:57 +01:00
Nils Fenner
2ce92be94b
do not close output in unsubscribeInput and cleanup input internally instead 2015-12-20 09:40:57 +01:00
Nils Fenner
26fc424986
use internal cleanup methods to close in-/output devices 2015-12-20 09:40:57 +01:00
Nils Fenner
e2966b1457
open output device on "subscribeInput" only when not already opened 2015-12-20 09:40:57 +01:00
Nils Fenner
46b3ba2631
remove obsolete if 2015-12-20 09:40:57 +01:00
tux3
2b8200aa30
Fix audio timers started from wrong thread
This timer never actually worked
2015-12-19 17:07:19 +01:00
tux3
a0645d5cba
Fix #2700 2015-12-19 16:51:15 +01:00
tux3
40ddf81fd1
Instead of saving empty files, delete empty avatars 2015-12-19 16:43:09 +01:00
tux3
cbe8104576
Fix bad handling of empty avatars
Fixes #2694
2015-12-19 16:28:57 +01:00
tux3
698144c803
Fix some RawDatabase interface comments 2015-12-19 05:50:41 +01:00
tux3
8adb40d09f
Minor database fixes 2015-12-19 05:47:35 +01:00
tux3
489016f358
Fix #2439 2015-12-19 05:00:23 +01:00
tux3
9b9fa13636
Change column order when filling peer cache
A minor detail, but worth it.
2015-12-19 04:42:55 +01:00
tux3
9762839b78
Fix batches bigger than limit on import 2015-12-19 04:40:31 +01:00
tux3
8f06dfe254
Revert "Always offer avatars to friend who come online"
This reverts commit e30fb4d919.
2015-12-19 04:20:05 +01:00
tux3
b5cdfb3dce
Implement new SQLCipher based database and history
qTox will automatically import the old history on startup.

This new database code is much more robust.
It is very resilient and will not corrupt or disappear after a crash or
power failure, unlike the old code.
The on-disk database format is also much more compact now.

The database sync option in the advanced settings has been removed,
we know run many database operations asynchronously so performance
should not be a problem anymore, but we always ensure resiliency
in case of abrupt termination, so there is no tradeoff anymore.
2015-12-19 04:17:28 +01:00
tux3
e286f9673c
Fix use after free of NetCamView
Someone was connecting a singal to a lambda capturing this, and never disconnecting it in the destructor. Capturing this is DANGEROUS, kids, don't do this at home.
2015-12-15 21:19:18 +01:00
tux3
af59b5b45a
Fix IPC not taking ownership after crash
In case a previous instance crashed, we were trying to activate the current owner before even checking if it was still alive, this resulted in qTox needing to be restarted twice after a crash.
2015-12-15 21:06:55 +01:00
tux3
9cf0cbde6b
Fix avatar deletion not visible 2015-12-15 20:59:09 +01:00
tux3
db2dbf459b
Merge branch 'pr2689' 2015-12-15 19:54:10 +01:00
tux3
0c2f70eb7e
Merge branch 'pr2688' 2015-12-15 19:48:29 +01:00
tux3
10673640ea
Fix #2408 2015-12-15 19:31:26 +01:00
tux3
ab8220c2cf
Remove stale TODO 2015-12-15 19:20:34 +01:00
tux3
4e1029808b
Remove useless TODO 2015-12-15 19:09:28 +01:00
tux3
cbade4bae6
Fix tiny memory leak on startup 2015-12-15 19:08:59 +01:00
rku
8231a2b1ae Support for theming qTox tray and window icons
This patch adds ability to override qTox window and tray icons with ones from user's desktop theme. Some people prefer keeping tray icons consistent to achieve best looks.

Following theme icons used:
* qtox: general window icon which is also used in taskbar
* qtox-online, qtox-offline, qtox-busy, qtox-away, qtox-invisible, qtox-event: tray icons

If theme icon is not available then default built-in icon will be used.
2015-12-15 19:42:23 +02:00
rku
5cb5f2e367 Focus current chat widget text input when window is activated or empty window space clicked. 2015-12-15 19:31:45 +02:00
rku
63f7dee6cf Blink taskbar icon and window icon only when window is inactive. 2015-12-15 19:03:05 +02:00
tux3
63644050f3
Fix #2683
There is still an issue with the history keeping the old password, though
2015-12-14 23:27:12 +01:00
Jacob Henner
a405ceca9d Fixes #2631: Automatically select capture device. 2015-12-14 05:09:34 -05:00
tux3
61e3b7f5a0
Mark 'update text' not translatable
Plus some automatic edits Qt Designer decided to make
2015-12-12 23:29:36 +01:00
tux3
4e715f5054
Show correct progress when resuming update download
If you restart qTox in the middle of downloading an update, it would continue to download the update correctly but the progress bar would go from 0 to 50% instead of resuming from 50 to 100%
2015-12-12 20:12:57 +01:00
tux3
c32e0e9f1b
Check updates by default on new profiles
Fixes #2653
2015-12-12 18:37:37 +01:00
tux3
a47e81d227 Fix crash if autoupdate runs on exit 2015-12-12 15:56:00 +01:00
tux3
9408219443
Don't try to update without the updater binary 2015-12-12 00:14:32 +01:00
tux3
1f88312a01
Fetch windows updates over HTTPS 2015-12-11 22:58:55 +01:00
tux3
18484cb950
Fix Unity systray compile error
Thanks to @aszinovyev
2015-12-11 13:32:26 +01:00
tux3
f0f49e79f0
Merge branch 'pr2586' 2015-12-11 02:45:10 +01:00
tux3
31e62cfc5c
Fix loopback capture audio code 2015-12-10 22:04:40 +01:00
tux3
dc5cd990b6
Remove some Windows debug code 2015-12-10 21:07:38 +01:00
tux3
685dee62d0
Merge remote-tracking branch 'tux3/updater' 2015-12-10 20:52:54 +01:00
tux3
9ee061b53a
Merge branch 'pr2641' 2015-12-10 20:45:26 +01:00
tux3
34fc580a5a
Revert "minor: removed obsolete virtual in GenericForm destructor"
This reverts commit 25727425e2.
2015-12-10 20:41:28 +01:00
tux3
d67e6c7449 Improve integrated update code to match the rest
We're doing updates over HTTP until we get a domain name and a cert, but
this is not at all an issue since updates are still signed and checked.
2015-12-10 18:46:07 +01:00
Anton Batenev
656696ebcb Add alext.h to audio.h
ALC_ALL_DEVICES_SPECIFIER may be defined in different headers of
libopenal (alext.h < 1.14 and alc.h >= 1.14). Seems there is no
harm in always include both.

Related commit is: @1d9e89f
2015-12-10 13:34:40 +03:00
Nils Fenner
25727425e2
minor: removed obsolete virtual in GenericForm destructor 2015-12-10 07:01:43 +01:00
tux3
f13eba1a9c Dust off windows updater code 2015-12-10 04:37:07 +01:00
tux3
ef019a9ae3
Update windows update keys 2015-12-10 00:05:07 +01:00
tux3
d2598abc8c
Update windows update-server hostname 2015-12-10 00:03:11 +01:00
tux3
c42d668032
Fix typo in autoupdate 2015-12-09 13:34:02 +01:00
tux3
3317e3b8e3
Update updater version and Windows server 2015-12-09 02:14:19 +01:00
tux3
e30fb4d919
Always offer avatars to friend who come online
This avoids problems with friends who rarely restarts their client. The overhead of sending a file transfer request that gets rejected should be negligible
2015-12-08 23:41:21 +01:00
tux3
981588d630
Fix some avatars saved with the wrong name 2015-12-08 23:10:15 +01:00
tux3
9905042434
Fix wrong word in copypasted log message 2015-12-08 22:13:28 +01:00
Jacob Henner
1d9e89f318 qtox will now attempt to default to the first audio output device 2015-12-07 01:08:50 -05:00
tux3
94a6df47cc
Update avatar encryption when changing password 2015-12-05 22:35:16 +01:00
tux3
45ac45c019
Create avatars directory on the fly 2015-12-05 22:01:36 +01:00
tux3
2396109a7e
Encrypt avatar for encryped profiles
Fixes #2583

Fixes #2546
2015-12-05 20:07:59 +01:00
tux3
b39f3eacb0
Clean unused getIDString() function 2015-12-05 19:09:20 +01:00
tux3
25ed3d4fba
Fix avatars for encrypted profiles
WARNING: Note that avatars for encrypted profiles are currently stored unencrypted!
2015-12-05 19:08:28 +01:00
tux3
05c02cee5d
Merge branch 'pr2547' 2015-12-05 15:32:57 +01:00
agilob
84814e28e3
Set widget as parent for AboutUser window to fix style inheriting 2015-12-05 14:18:43 +00:00
agilob
56ae9e657f
Hide label and list of aliases in aboutuser 2015-12-05 12:19:05 +00:00
agilob
e6504f2d46
Support removing history with user in about window 2015-12-05 12:14:31 +00:00
tux3
a6bbd31b12
Retry sending audio frames on sync/lock error 2015-12-05 03:22:00 +01:00
tux3
333d10e6d5
Log type of audio send error 2015-12-05 02:35:11 +01:00
tux3
fe3fa2f751
Revoke updater signing keys
When we build the updater v2, we'll ship new keys for Windows.
2015-12-04 21:36:33 +01:00
tux3
b1f8d3f912
Fix attempt for #2438 2015-12-04 20:35:50 +01:00
tux3
7f5f807bde
Fix filter audio
Fixes #2504

Fixes #2517

Fixes #1565
2015-12-04 18:20:47 +01:00
tux3
49d11549b9
Fix call duration label after 1 hour
Fixes #2617
2015-12-04 15:51:10 +01:00
tux3
104095c6be
Fix video starting with bad resolution
The netcamview has no business trying to open the video source, especially in the wrong video mode
2015-12-04 13:56:42 +01:00
tux3
37075dbfb5
Improve video quality
Double the allowed bitrate, this is especially noticeable on desktop streaming. Desktop streaming is still completely broken, with what looks like iframes silently getting dropped on a regular basis.

Retry 5 times to send a frame when there's an internal toxav lock sync error, this allows us to drop way less frames.
2015-12-04 12:53:58 +01:00
tux3
ef5cb2689c
Merge branch 'pr2580' 2015-12-04 12:01:25 +01:00
tux3
bd1f22963b
Merge branch 'pr2519' 2015-12-04 11:54:08 +01:00
tux3
1874c0ce4d
Remove deprecated/unused toxdns1 code 2015-12-04 03:37:50 +01:00
Zetok Zalbavar
6a7479912e
Merge pull request #2593 from TheNain38:patch-2
TheNain38 (1):
      Select password field when it is wrong Fixes #2584
2015-12-01 07:56:53 +00:00
sudden6
17e43d9835 treat x-cinnamon the same as gnome 2015-11-29 13:23:08 +01:00
sudden6
bd83db5479 improve formating 2015-11-29 12:23:44 +01:00
TheNain38
ceb63a87d9 Select password field when it is wrong Fixes #2584 2015-11-26 14:18:03 +01:00
Anatoliy Zinovyev
f2e39a1d1b Fix tray behavior with unity backend 2015-11-25 17:35:17 -05:00
Anatoliy Zinovyev
6bbca9341d Do not do anything when middle clicking on the tray 2015-11-25 12:11:31 -05:00
Anatoliy Zinovyev
fc462e82df Fix behavior when clicking on the tray icon 2015-11-21 20:51:43 -05:00
sudden6
6d45932eea update ui 2015-11-18 18:58:56 +01:00
sudden6
27f751c2a6 also refresh video devices 2015-11-18 18:56:16 +01:00
tux3
db52ef6e6a
Disable buggy automatic bitrate adjustements
For some users on poor connections, toxav would suggest lower and lower bitratres until reaching zero and disabling audio/video entirely, toxav would then not raise the bitrate back and the only way to re-enable audio/video would have been to change A/V sources or restart the call

We now log toxav's recommendation, but ignore it
2015-11-14 23:51:30 +01:00
Zetok Zalbavar
cfea4675d7
Don't show in debug output nicks
They can contain personal info.
2015-11-14 20:11:37 +00:00
agilob
734faa8a1f
Fix status message spacing in aboutUser 2015-11-14 19:10:41 +00:00
agilob
53f119b8e4
Fix button status after cancelling dir picker 2015-11-14 19:08:55 +00:00
agilob
09405f2493
Scroll public key to left after creation in aboutUser 2015-11-12 21:52:54 +00:00
agilob
6d440e9c8c
Minor UI fix 2015-11-12 21:51:43 +00:00
agilob
d3548f7a80
Resize avatar in aboutUser to 75x75 2015-11-12 21:49:27 +00:00
agilob
8d1197903c
Make dir chooser work in aboutUser, code cleanup 2015-11-12 21:46:43 +00:00
agilob
b85e12b0fc
Make autoaccept per user work from aboutUser window 2015-11-12 21:30:54 +00:00
agilob
a148e4dc5e
Improve avatar quality in aboutUser window 2015-11-12 21:13:37 +00:00
agilob
ad5301eef7
Improve layout in aboutUser window 2015-11-12 20:33:57 +00:00
Ferit Tunçer
a7440d3681 Turkish Translation by MarmaraGNU<mgnu.org> 2015-11-12 14:41:14 +02:00
TheNain38
2ae4524e33 Change 'minutes' to 'min' and remove translation 2015-11-11 18:24:15 +01:00
TheNain38
eb3ec79b20 Fix #2301 and use QStringLiteral for comparison 2015-11-10 20:20:07 +01:00
tux3
5b42b9984b
Revert "Attempt to fix QDataStream operator<< ODR violation"
This reverts commit afe2dbd128.
2015-11-10 15:57:55 +01:00
tux3
787865a23e
Show notifications even when busy 2015-11-09 23:27:00 +01:00
tux3
afe2dbd128
Attempt to fix QDataStream operator<< ODR violation 2015-11-09 23:23:32 +01:00
agilob
08212ad781
Add about window classes 2015-11-09 20:56:22 +00:00
agilob
b9a168dffe
Add action for about window in context menu 2015-11-09 20:55:11 +00:00
agilob
95b5a75d0e
Add settings for notes per user 2015-11-09 20:54:28 +00:00
agilob
170eb931ff
Add status message setter and getter 2015-11-09 20:53:24 +00:00
agilob
0b999e077e
Move logout tray menu action after profileForm initialization
fixes #2541
2015-11-09 18:48:00 +00:00
agilob
49bf1cf774
Fix resources URI: change double slash to one and add one if missing 2015-11-09 18:42:53 +00:00
tux3
8a3c9d14c0
Merge branch 'pr2539' 2015-11-09 02:36:16 +01:00
TheNain38
d8d64fc56a Fix HTML Parsing 2015-11-09 01:19:33 +01:00
TheNain38
1a1e296c86 Allow to scroll on QCheckBox and consistancy 2015-11-09 01:14:33 +01:00
tux3
f9c324c0f2
Merge branch 'pr2532' 2015-11-08 21:26:19 +01:00
TheNain38
7cdd6e3dd9 Add an event filter so you can't scroll on sliders 2015-11-08 21:20:42 +01:00
tux3
cc18700a18
Merge branch 'pr2533' 2015-11-08 17:42:12 +01:00
agilob
7189844b2a
Use SVG renderer to scale down SVG in tray icon menu 2015-11-08 15:11:19 +00:00
TheNain38
5ff2a4e37a Fix groupwidget not unregistered from Translator 2015-11-08 14:22:02 +01:00
tux3
a8746e6857
Cleanup duplicate slider slots in AVForm
See #2528
2015-11-08 13:40:32 +01:00
tux3
b6d752fd4b
Fix second bug in #2528 2015-11-08 13:28:51 +01:00
tux3
9d527e7edd
Fix #2528 2015-11-08 12:36:18 +01:00
tux3
d1565188ac
Fix #2527 2015-11-08 02:28:24 +01:00
tux3
523e419adf
Fix theoritical A/V deadlock
Could only be hit by pausing at a key point in a debugger until the call timed-out.

Having one thread going up the call stack and acquiring locks (toxcore callbacks), while another thread goes down taking locks in the other order (CoreAV calling toxav functions) creates some pretty freezy situations.

The deadlock was caused by the GUI thread calling the CoreAV thread, acquiring the CoreAV callback, then right before calling a toxav function, not schedule the thread until the call times out. At this point the toxcore thread fires its state callback to tell us the call is over, locking internal toxcore/toxav mutexes, it reaches our callback function which tries to switch to the CoreAV thread to clean up the call data structures, but has to wait since the CoreAV thread holds its own lock. At this point if we resume the CoreAV thread, it'll be busy calling into a toxav function, which tries to acquire internal toxav locks, those locks are held by the toxcore callback so we deadlock.

Our solution is that when getting a toxcore callback, we immediately switch to a temporary thread, allowing toxcore to release the locks it held, and that temporary thread tries to switch to do work on call data structures. Meanwhile if the CoreAV thread needs internal toxcore locks, it can get them.
2015-11-08 00:32:32 +01:00
tux3
cf52ff314f
Don't play sound without an output
And avoid the division by 0 when getting garbage info about nonexistent output sources
2015-11-07 22:24:17 +01:00
tux3
c6220545c9
Fix spurious audio i/o changed signal 2015-11-07 22:24:17 +01:00
Zetok Zalbavar
ad5578e44e
Make list of languages listed vertically in source 2015-11-07 18:49:53 +00:00
tux3
bf8bdaf619
Improve perf of opening/closing AV tab
Should help with #2424
2015-11-07 18:30:09 +01:00
tux3
5c8dc1d7c9
Add None audio I/O devices
Can be changed in the middle of a call without problem
2015-11-07 18:23:10 +01:00
nikolas-n
2da384468d
Added Greek translation 2015-11-07 16:39:33 +01:00
TheNain38
75967ad23d Makes no sense to translate this 2015-11-07 12:19:50 +01:00
TheNain38
3683d93fff Don't make program name "qTox" traduisible 2015-11-07 12:02:33 +01:00
tux3
71e26fb15b
List video devices using v4l2 directly, not ffmpeg
Turns out, FFmpeg is annoyingly unreliable when it comes to this. It ignores uvcvideo devices for example
2015-11-07 01:34:07 +01:00
tux3
73c7f2bd36
Fix #2512 2015-11-07 01:01:32 +01:00
tux3
6a3b9f76d7
Merge branch 'pr2510'
Add static icons for tray menu logout and quit

antis made us an icon for logout action and I reused cancel call icon
as quit action in tray menu

Refactored methods to change way how icons are loaded in widget.cpp
to make the methods more flexible

This should permanently fix #2491
2015-11-06 23:17:22 +01:00
tux3
7dc608818c
Automatic AV bitrate management
Makes progress on #2134
2015-11-06 23:05:51 +01:00
agilob
78ac29cb15
Add static icons for tray menu logout and quit
antis made us an icon for logout action and I reused cancel call icon
as quit action in tray menu

Refactored methods to change way how icons are loaded in widget.cpp
to make the methods more flexible

This should permanently fix #2491
2015-11-06 20:53:26 +00:00
tux3
46fa4def20
Don't spam log dropped audio frames
Fixes #2507
2015-11-06 20:56:00 +01:00
tux3
d41a578735
Fix crash on audio -> video call promotion
We just ignore it and not show the received video for now.
Fixes #2505
2015-11-06 20:47:42 +01:00
Nils Fenner
43e8ebd055
Merge pull request #2461 from TheNain38/patch-1 2015-11-06 17:44:20 +01:00
Zetok Zalbavar
ae86db8891
Merge pull request #2466 from ovalseven8:ovalseven8-patch-3
domain.com -> example.com
2015-11-06 08:09:12 +00:00
tux3
5b036cca0f
Merge branch 'newav_final_for_realsies'
Implements the new toxav API.
2015-11-06 01:52:40 +01:00
tux3
b4754c6ac2
Fix inconsistent noexcept in toxcall.cpp 2015-11-06 01:49:54 +01:00
Nils Fenner
c568a4db05
Merge pull request #2494 from branch agilob/logout_action 2015-11-02 22:24:34 +01:00
agilob
3675428c65
Simplify hardcoding qt version in settings 2015-11-02 19:44:17 +00:00
agilob
e44d08fa8e
Change logout icon to dialog type icon
icon of type Browser doesnt scale on some environments
closes #2491
2015-11-02 19:11:17 +00:00
agilob
0b6fc751cb
Show compiletime Qt version in aboutsettings 2015-11-02 18:56:30 +00:00
tux3
a853d51f5b
Show video button when making outgoing video call 2015-10-25 16:16:42 +01:00
tux3
f107858252
Properly exit CoreAV thread 2015-10-25 13:53:04 +01:00
ovalseven8
41ba2bc69d domain.com -> example.com
@zetok
2015-10-25 09:51:13 +01:00
tux3
c902543ae4
Fix call race leading to deadlock and memory leak
A call cancel/accepted race was locking up both UI and AV threads, while the stream thread was shoveling more and more video frames on the AV thread's event queue
2015-10-25 00:17:45 +02:00
tux3
f85aec6c95
Re-enable call buttons if video call fails 2015-10-24 22:55:18 +02:00
tux3
a776579732
Don't assert if a call dies while we answer it
This error condition only happens when a peer cancels its outgoing call in the middle of us answering it. We can simply ignore the error and things should nicely fall back into place. Since this race should be pretty rare in normal usage, it's nice to leave a log message, as it might mean we're being fuzzed.

We can prograssively replace more of those asserts by fallbacks and log messages now that everything has been shown to work fine, and the race conditions are harmless.

I feel like writing a novel today. Good thing nobody looks at these!
2015-10-24 21:41:19 +02:00
TheNain38
035fbc95b3 Fix #2460 Light Icon setting disabled but should not 2015-10-24 18:55:24 +02:00
tux3
37e2d2e75f
CoreAV: Fix BlockingQueued connections deadlock
Having a deadlock problem? The solution is more locks!
2015-10-24 15:35:08 +02:00
tux3
50006a9a32
Faster video device opening 2015-10-24 05:20:49 +02:00
tux3
e1c61cd207
CoreVideoSource: Replace insane spinlock by QMutex
What was I thinking.
2015-10-24 04:38:00 +02:00
tux3
c0d8703368
Properly signal when we stop sending video
And properly handle toxav happily delivering things out of order,
like firing a video frame callback right after a callback setting the bitrate to 0,
when the peer sent these commands in the right order
2015-10-24 04:26:39 +02:00
tux3
8ebf07762f
VideoSurface: Release null frames 2015-10-24 03:30:42 +02:00
tux3
995fc4cdda
Reload audio devices on the fly from settings 2015-10-24 02:59:12 +02:00
tux3
aaf04a80db
Remove some debug output 2015-10-24 02:46:34 +02:00
tux3
8f7214f383
Re-enable buttons if calling failed 2015-10-24 02:40:56 +02:00
tux3
9163b73032
Refactor uses of playMono16Sound 2015-10-24 02:37:27 +02:00
tux3
aac5fb87e6
Add ringing sound for received calls
No sound for outgoing calls yet
2015-10-24 02:26:32 +02:00
tux3
1dc7e4cca5
Add 45s call ringing timeout 2015-10-24 01:53:10 +02:00
tux3
51ffd94e68
Fix possible nullptr deref in ~CameraSource 2015-10-23 20:30:22 +02:00
tux3
8d2ae07c9f
Revert "Delete CoreAV from the Core thread"
This reverts commit 1f758efc2f.
2015-10-23 20:05:35 +02:00
tux3
ae243b2089
Delete CoreAV's timer from the CoreAV thread 2015-10-23 20:05:30 +02:00
tux3
1f758efc2f
Delete CoreAV from the Core thread
Since it was created there

Fixes #2457
2015-10-23 19:42:39 +02:00
tux3
08bde698ca
Apply input volume to all audio channels
Fixes #2452
2015-10-23 19:27:27 +02:00
tux3
2d7c65efbb
Fix IPC::~IPC use after free of static log file 2015-10-23 19:21:37 +02:00
tux3
4d9aeeec39 Fix bitrate callback to match toxav update 2015-10-23 17:52:46 +02:00
tux3
6dc91b156a Use actual mutexes for CameraSource
That homemade spinlock thing was insane, VTune says we were spending 1.5s spinning for no reason when openning a device for example
2015-10-23 17:52:46 +02:00
tux3
477554ffba Clean up callback hell between AV UI and CoreAV 2015-10-23 17:52:46 +02:00
tux3
a505e06f83 Multithread CoreAV
This is a little less insane, gives an overall 2x speedup on debug builds video calls
2015-10-23 17:52:45 +02:00
tux3
41e0212f77 Cleanup UI/CoreAV interface 2015-10-23 17:52:45 +02:00
tux3
73a4f40744 Fix call start/call invite race condition
Would result in an assert failure
2015-10-23 17:52:45 +02:00
tux3
1db17ae1ec Fix crash due to erase/remove typo
A race condition would result in trying to remove an element that didn't exist, and thus erasing end (undefined behavior) instead of erasing [end, end) (no-op)
2015-10-23 17:52:45 +02:00
tux3
f45256baf1 Implement group calls 2015-10-23 17:52:45 +02:00
tux3
6cbd507ca8 Clean up dead code in CoreAV 2015-10-23 17:39:08 +02:00
tux3
69b8a90277 Implement video calls 2015-10-23 17:39:08 +02:00
tux3
e0aa8dd4a2 Implement audio calls 2015-10-23 17:39:08 +02:00
tux3
2b888ddc05 Better data structure for tox calls 2015-10-23 17:19:16 +02:00
Zetok Zalbavar
cd4b02ce6a
Remove ~duplicated code for tray backed selection
`else` clause already handles KDE5 case
2015-10-23 16:13:44 +01:00
tux3
512dc8de2d Implement basic call logic
We can now make New AV calls, but without any audio/video. Just opening a link.
2015-10-23 17:09:53 +02:00
tux3
dbbc702c60 Strip out old AV code 2015-10-23 17:02:01 +02:00
agilob
5e12c76ecd change default quit icon in tray menu 2015-10-23 16:21:05 +02:00
agilob
f2866ecc44 remove unused code, better logging for systray, removed KDE5 from enum 2015-10-23 16:21:05 +02:00
agilob
4df5c81f09 use plaintext label for username and status in header 2015-10-23 16:21:05 +02:00
agilob
7d579faf47 add logout action to tray menu 2015-10-23 16:21:05 +02:00
agilob
d6d5fd1c33 add quit role to quit action in trayicon 2015-10-23 16:21:05 +02:00
agilob
a97a91a7be core review changes - formatting 2015-10-23 16:21:05 +02:00
agilob
7d8e0644ce remove dependency injection from systemtrayicon
as it was used as experiment only
fix compilation warning about unchecked switch case
2015-10-23 16:21:05 +02:00
agilob
8c4d58f391 fix icon scaling on gnome3 by scaling icons down 2015-10-23 16:21:04 +02:00
agilob
521b55f776 use Qt backend of KDE5
commit fixes problem with usage of GTK3 fallback menu action used on KDE5, probably to a bug in status notifier
- allows using Qt backend on KDE5 and other plasma related env.
- icon in tray menu and tray icon are loaded from svg, their size is not limited to 50px now
- plasma adds extra actionmenu to tray so quit was renamed to exit
- exit action usues system-default icon for quit and system default keyboard shourtcut to close qtox
2015-10-23 16:21:04 +02:00
tux3
b69f8425c6 Fix qTox on OSX, closes #2447 2015-10-23 15:21:47 +02:00
tux3
1f61534841 Merge branch 'pr2343' 2015-10-23 15:20:58 +02:00
Rowen Stipe
e107de12c0 Compile on Mac
This set up added to current master compiles properly on Mac.

Includes pull #2436 fixes suggested by @antis81
2015-10-22 01:57:46 -04:00
Zetok Zalbavar
d2aa9441bf
Merge pull request #2364 from PKEv:fix_write_to_db
fix write to DB
2015-10-22 05:50:25 +01:00
Dmytro Shynkevych
b887072bc4 systemtrayicon: switched to manual memory management for pixmap data 2015-10-21 23:42:14 -04:00
Nils Fenner
33e54b841a
Merge pull request #2415 from antis81:ngf/mic 2015-10-21 22:19:37 +02:00
Nils Fenner
cf8fa7b29c
remove unused include and forward declarations 2015-10-21 22:18:47 +02:00
agilob
4a64790b52
Merge remote-tracking branch 'bitok/Fix2167' 2015-10-21 19:13:10 +01:00
agilob
ecbda91764
Merge remote-tracking branch 'bitok/fix_performance_issues' 2015-10-21 19:12:15 +01:00
agilob
61ef6429e2
Merge remote-tracking branch 'zetok/fix-warning-no-profile' 2015-10-21 19:05:48 +01:00
Zetok Zalbavar
0c34b079a5
Unlock mutex before returning history instance
fix #2428
2015-10-21 13:17:42 +01:00
Nils Fenner
e1c2a80e82
switch colors in mic gain indicator gradient 2015-10-20 23:14:37 +02:00
Nils Fenner
82e1644d67
cleanup Audio::openOutput 2015-10-20 23:14:07 +02:00
Nils Fenner
3eb7b48d1c
cleanup Audio::openInput 2015-10-20 23:12:55 +02:00
Nils Fenner
ab41bf92ba
don't open audio in/out twice 2015-10-20 23:10:14 +02:00
Zetok Zalbavar
c07aee18ad
Merge pull request #2346 from PKEv:save_avatar_in_DB
Save avatar in DB
add import avatars
update delete avatar action
correct import avatar for user without history
add multithreaded
make import run once
2015-10-20 21:01:20 +01:00
Nils Fenner
b7cf4df13f
Get rid of static methods and bugs 2015-10-20 03:46:44 +02:00
Nils Fenner
54547af7cf
warn when trying to start audio thread twice 2015-10-20 03:42:02 +02:00
Nils Fenner
a675725a5e
change wording in docs 2015-10-20 03:41:18 +02:00