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

1697 Commits

Author SHA1 Message Date
tux3
7513725a3d
Fix wrong assert 2015-06-06 22:11:54 +02:00
tux3
89e9b18cf3
Better checks before cleanupCall 2015-06-06 21:57:09 +02:00
tux3
d8e9b7d77e
Fix #1821
We focus the chat form when we get a call now
2015-06-06 21:45:11 +02:00
tux3
d8446a7f90
Fix #1819 2015-06-06 21:26:09 +02:00
tux3
d76fb459cf
Fix #1817 2015-06-06 21:09:32 +02:00
tux3
036d307302
Handle personnal save corruption better 2015-06-06 20:53:31 +02:00
tux3
adad71e565
Merge branch 'encrypted_settings' 2015-06-06 20:18:00 +02:00
tux3
13bea16292
Add encrypting profile settings serializer
We now use a binary serialized format to save space and allow clean encryption of the user settings.
All the settings can (and should) be edited from the GUI so there is no loss of functionnality.

It can still read the old .ini format, and will seamlessly upgrade to the new format.

Fixes #1810
2015-06-06 20:15:50 +02:00
tux3
6d8bcbb9cd
Workaround for #1817 2015-06-06 17:04:56 +02:00
tux3
de8eb9c693
Fix copyright notice date 2015-06-06 16:07:36 +02:00
tux3
a004c7f791
Update advanced settings copyright notice 2015-06-06 16:02:14 +02:00
tux3
8cd1e23eb9
Merge branch 'pr1816' 2015-06-06 15:55:21 +02:00
Zetok Zalbavar
67e9aeec63
Fix incorrect copyright headers
The qTox Project is not associated with the Tox Project in any way, with the
exception of "qTox" using the Tox Projet's "toxcore" collection of libraries.
In particular, the Tox Projet does not own copyright over the qTox Project's
"qTox" collection of software, source code, and assets.
The qTox Project's assets are under the sole copyright of the qTox
contributors, and no partiular rights are granted to the Tox Project.
2015-06-06 14:51:28 +01:00
tux3
c269306bf4
Fix #1811 2015-06-06 03:45:44 +02:00
tux3
0a04c48f33
Move adjustingscrollarea.cpp 2015-06-06 02:16:52 +02:00
tux3
bb999456da
Remove some unused defines 2015-06-06 01:59:28 +02:00
tux3
8438c209d1
Fix #1037 2015-06-06 01:51:08 +02:00
tux3
20f254651d
Reorganize files 2015-06-06 01:44:47 +02:00
tux3
9b7db8bb26
Fix #1806 2015-06-06 00:35:18 +02:00
tux3
f1d7c59a2f
Fix #1809 build error 2015-06-06 00:06:50 +02:00
tux3
3656b1e5eb
Improve avatar caching reliability 2015-06-05 23:41:14 +02:00
tux3
601fdae7bb
Make login screen a bit larger
So the text fits on all translations
2015-06-05 23:06:28 +02:00
tux3
3284a66f49
Clean up Translator a little
Using the STL is still better than writting our own for loops.
2015-06-05 22:21:16 +02:00
tux3
b948ef890f
Auto focus the chat input box when typing
Fixes #1779 for real
2015-06-05 22:08:29 +02:00
tux3
15ca7a587f
Dynamic translation
qTox can now retranslate its GUI dynamically, without needing a restart

Fixes #1671

Closes #1672
2015-06-05 21:37:01 +02:00
tux3
0fd489fbba
Properly kill all calls in ~Core 2015-06-05 18:53:27 +02:00
tux3
c9202f6794
Asynchronous settings saving 2015-06-05 18:01:50 +02:00
tux3
61de5d4c67
Add Settings biglock 2015-06-05 17:03:53 +02:00
tux3
1ded562d9d
Clean Settings interface 2015-06-05 16:24:47 +02:00
tux3
0923e2b733
Add quit (CTRL+Q) shortcut to login screen 2015-06-05 15:45:43 +02:00
tux3
ac0beffd0c
Fix #1792 2015-06-05 15:39:01 +02:00
tux3
9581be95dc
Make the login screen save global settings 2015-06-05 15:28:35 +02:00
tux3
68122b40ac
Auto focus input field in login screen
Fixes #1779
2015-06-05 15:26:45 +02:00
tux3
276f411ad2
Implment auto-login 2015-06-05 15:24:02 +02:00
tux3
676c483046
Merge branch 'pr1798' 2015-06-05 13:12:05 +02:00
tux3
510b8d7d51
Remove some spammy debug output
If there are permission errors (e.g. root owns the shared memory), this would spam the log with hundreds of messages/s. isCurrentOwner still warns a couple of times if we fail to lock, so this message isn't necessary
2015-06-05 12:49:03 +02:00
tux3
192d9a5e29
Cleanup main() a bit 2015-06-05 12:44:22 +02:00
tux3
6bf0317e3e
Translate all GUI, not just Widget 2015-06-05 12:26:04 +02:00
Zetok Zalbavar
abb2f28b5d
Small improvements of displayed strings on login screen
Messages that user faces should be a bit more clear now.
2015-06-05 11:25:12 +01:00
tux3
31f7ded768
Fix #1794 2015-06-05 03:07:42 +02:00
tux3
e3dd2dc9e1
Limit desktop streamins FPS
Otherwise we get overwhelmed and start dropping frames
2015-06-04 23:34:17 +02:00
tux3
9e65cfde5c
Don't use QVector::removeAll
It's only available on recent Qt versions
2015-06-04 22:35:29 +02:00
tux3
b9febaa27d Update login logo image 2015-06-04 21:34:13 +02:00
tux3
fdcd02980d New password strengh function 2015-06-04 21:34:13 +02:00
tux3
0ebaef3c34 Password strenght meter on login screen 2015-06-04 21:34:13 +02:00
tux3
aa9e500e22 Allow long (32k chars) passwords 2015-06-04 21:34:13 +02:00
tux3
e5ddd9d0cf Consider empty encrypted history as nonexistent 2015-06-04 21:34:13 +02:00
tux3
ba0bc12ac2 Fix loginscreen not resetting pass confirm 2015-06-04 21:34:13 +02:00
tux3
ea45d4617f Allow creating unencrypted accounts again 2015-06-04 21:34:13 +02:00
tux3
67e85b3ddc Add change password button 2015-06-04 21:34:13 +02:00
tux3
0642c1b0d7 Add button to delete password 2015-06-04 21:34:13 +02:00
tux3
2dbf2e54b1 Implement restarting toxcore 2015-06-04 21:34:13 +02:00
tux3
a03eea9b5f Don't allow overwriting on profile rename 2015-06-04 21:34:13 +02:00
tux3
10ce65c22b Reject passwords shorter than 6 characters 2015-06-04 21:34:13 +02:00
tux3
5f94f33117 Use profile password for all encryption 2015-06-04 21:34:13 +02:00
tux3
4e2983817f Fix crash in ~Core 2015-06-04 21:34:13 +02:00
tux3
42a7efb053 Implement the -p option 2015-06-04 21:34:13 +02:00
tux3
1ffb2d4a92 Remove some unused Settings methods 2015-06-04 21:34:13 +02:00
tux3
7fc087ea95 Implement profile renaming 2015-06-04 21:34:13 +02:00
tux3
21db31c215 Implement profile deletion 2015-06-04 21:34:13 +02:00
tux3
f7546a731f Fix profile saving on exit 2015-06-04 21:34:13 +02:00
tux3
3fd6d5d3e9 Implement logout button 2015-06-04 21:34:13 +02:00
tux3
05a49e8072 Autosave on exit 2015-06-04 21:34:13 +02:00
tux3
abf65a5060 Remove deprecated profile management functions 2015-06-04 21:34:12 +02:00
tux3
933dce485d Add tox save loading/saving to Profile 2015-06-04 21:34:12 +02:00
tux3
840fd7dc40 Cleanly create new profiles 2015-06-04 21:34:12 +02:00
tux3
bf29d4a6d5 Allow to load/create from login screen
Saving is not implemented, so bad things will happen if you let qTox save those profiles
2015-06-04 21:34:12 +02:00
tux3
032c561e62 Make Nexus own and start the LoginScreen
And start implementing some of the required methods to make Core, LoginScreen and Nexus use Profile
2015-06-04 21:34:12 +02:00
tux3
7d6167d90c Scan profiles for login screen 2015-06-04 21:34:12 +02:00
tux3
68f6a5d032 Use combobox for login username 2015-06-04 21:34:12 +02:00
tux3
22c8b38fd9 Update login screen ui 2015-06-04 21:34:12 +02:00
tux3
c6268cd604 Connect LoginScreen signals 2015-06-04 21:34:12 +02:00
tux3
f4cad23314 Fix login screen window title 2015-06-04 21:34:12 +02:00
tux3
93df0dec2b Add Tox logo at login 2015-06-04 21:34:12 +02:00
tux3
9ebfc9eb77 Create login screen UI 2015-06-04 21:34:12 +02:00
tux3
039575a775
Merge branch 'pr1769' 2015-06-04 21:25:21 +02:00
tux3
862ad154fc
Fix crash if avdevice_list_devices fails 2015-06-04 17:22:58 +02:00
Zetok Zalbavar
b21ce5ef07
Fix tab-completion for names starting with '@'
continuation of #1377
2015-06-04 09:45:56 +01:00
PKev
98819df90c Correct redraw after filtering
fix #1757
It looks a bit strange, but a redraw on another call fails. Moreover, order calling functions radically changes the behavior of the widget
2015-06-03 22:26:33 +03:00
tux3
c180fa15de
Fix nullptr dereference on A/V timeout 2015-06-03 19:33:17 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
44628373cd
Windows desktop capture (gdigrab) 2015-06-03 11:47:19 +02:00
tux3
37a3a8d9d6 Properly set desktop capture region
We now capture the full screen by default, with code to handle modesetting, instead of always the FFmpeg default region of 1024x768
2015-06-03 02:10:53 +02:00
tux3
bc946308c8 Fix double free when switching camera 2015-06-03 02:10:53 +02:00
tux3
8ad0f6c573 X11 dekstop streaming 2015-06-03 02:10:53 +02:00
tux3
3cf10f02a6 Don't use tagged init 2015-06-03 02:10:53 +02:00
tux3
8e866b1a5e Remove video post-processing sliders
Since they don't currently do anything
2015-06-03 02:10:53 +02:00
tux3
fe4838bb83 Video modesetting for v4l2 2015-06-03 02:10:53 +02:00
tux3
0f7015941c Restore CallId param in onAvStarting
We actually use it now.
2015-06-03 02:10:52 +02:00
tux3
bf3b9239b5 Never resize frames with Qt, use sws_scale
If we're going to convert between pixel formats with sws_scale, we might as well do the rescaling in the same step.
Giving a potentially hueg fram to Qt and having it rescale in a separate step is wasted cycles.
2015-06-03 02:10:52 +02:00
tux3
db7d86ae50 Ifdef some dshow code on win only 2015-06-03 02:10:52 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
e5522ba087 Case-sensitive includes in windows files
To make the cross-compilers happy.
2015-06-03 02:10:52 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
61f331635f Disable the hue/bright/sat/contrast sliders
Since they aren't implemented for now.
2015-06-03 02:10:52 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
27bb71f195 Implement video modesetting for dshow 2015-06-03 02:10:52 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
b463028536 Released frames are out of the freelist
So they shouldn't call the freelistCallback. VideoFrame now forgets
about the callback when it is being released.
2015-06-03 02:10:52 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
b20ecf056d Namespaces, not ctor-deleted classes
Stupid.
2015-06-03 02:10:52 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
f0f069114c Implement DirectShow video dev listing
We can now get the list of video devices with the dshow ffmpeg device
(so, on Windows). Most of this patch is adapted from libavdevice's dshow
private internal interface, which retrieves useful info but is only
designed to log it to stdout. We reimplement that to get an actual list
of devices names/descriptions, that we can then open with ffmpeg the
refular way.
2015-06-03 02:10:52 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
e5684a4bbf Save video dev name in settings 2015-06-03 02:10:52 +02:00
tux3
8568a6b94e More compatibility with older libavdevice
By not using avdevice_list_input_sources
2015-06-03 02:10:52 +02:00
tux3
95e4a20f05 Compatibility with older libavdevice
By not using avdevice_list_input_sources
2015-06-03 02:10:52 +02:00
tux3
d53b426750 Replace OpenCV with FFmpeg 2015-06-03 02:10:52 +02:00
tux3
a086e6d7b1
Merge branch 'pr1763' 2015-06-03 02:10:37 +02:00
PKev
fa21c793f2 scroll emoticon selector
fix #1561
2015-06-01 21:00:22 +03:00
tux3
b3ce364d5c
Merge branch 'pr1758' 2015-06-01 16:56:47 +02:00
PKEv
0791c64efd Correct_after_cpp_check
style and typos
2015-05-30 23:44:56 +03:00
tux3
0a3ff7be24
Merge branch 'pr1743' 2015-05-29 17:31:23 +02:00
tux3
6409b273a4
Re-apply toxcore tox_new compat patch 2015-05-29 17:29:25 +02:00
Ansa89
22d1ab34f9 Also call 'tox_add_tcp_relay()' 2015-05-29 14:54:26 +02:00
PKEv
eda57f388d Correct_doubled_nicks_when_copypasting 2015-05-28 00:40:04 +03:00
PKEv
64f7e6c63d Correct screenshot 2nd monitor
but only if a second monitor on the right side
2015-05-28 00:23:26 +03:00
tux3
b22945b46a
Merge branch 'pr1732' 2015-05-26 17:34:22 +02:00
Zetok Zalbavar
50c29af537
Make string 'Search Contacts' translatable 2015-05-26 12:02:38 +01:00
PKEv
1aa8a43e1e Creat dir for screenshots #1696 2015-05-26 01:33:10 +03:00
PKEv
6fa42c1aa0 Correct duplication long messages on sender side #1703 & #1697 2015-05-26 00:08:39 +03:00
tux3
2db617bc6f
Recover if tox fails to start 2015-05-25 22:37:19 +02:00
tux3
ef6385b6c4
Fix failedToStart/badProxy blocking signals 2015-05-25 22:28:59 +02:00
Сухарик
fe7dc995d6 use toxcore error codes 2015-05-25 23:09:09 +03:00
Zetok Zalbavar
75d3274332
Fix quoting; everything after '>' is a quote
Plenty of people voiced their opinion that everything after '>' should be a
quote. Trying to conform to anything other brings only chaos and makes
situation worse, since it is impossible to catch every exception.

There are already plenty of cases where regexp simply can't work with unicode.

In the future, qTox should have easy to use r-click options for 'Paste text as
 a quote' and 'Copy as a quote', which makes it a must to have quote detection
as simple as possible, to avoid situation where user wants to paste something
as a quote, and suddenly it doesn't seem to work.

Fixes #1059 #1099 #1173
Continuation of #1332
2015-05-25 20:52:51 +01:00
tux3
c3e70d6c59 Revert "Updated for latest toxcore api"
This reverts commit 7c8334bca9.
2015-05-25 20:23:06 +02:00
Daniel Hrabovcak
051a88a7e8 For range loops 2015-05-25 12:38:52 -04:00
Daniel Hrabovcak
992e648f64 Fix compile issues 2015-05-25 12:32:34 -04:00
Daniel Hrabovcak
399f2c9fef Merge https://github.com/tux3/qTox 2015-05-25 12:20:05 -04:00
Daniel Hrabovcak
bd2f8b5db5 Add al delete to group leave 2015-05-25 12:19:56 -04:00
Daniel Hrabovcak
fb707fe1f1 Group audio not being reset 2015-05-25 11:58:54 -04:00
saneki
7c8334bca9 Updated for latest toxcore api 2015-05-25 08:08:47 -05:00
tux3
6e97c7f9c3
Merge branch 'pr1724' 2015-05-25 12:59:49 +02:00
Zetok Zalbavar
1403ee970b
Improve error message when profile is alrady used
I.e. don't imply that profile belongs to same user, since it is possible
that multiple users are using qTox.
2015-05-25 09:39:47 +01:00
ovitei
52e0dae0d8 added Norwegian Bokmal (nb_NO) translations 2015-05-25 02:15:34 +02:00
TheLastProject
5e9081abd7 Update profileform.cpp 2015-05-25 01:25:00 +02:00
Ansa89
6b337ce935 Italian translation: update 2015-05-24 17:30:13 +02:00
Ansa89
264732bf10 chatmessage.cpp: detectQuotes() simplify conditional statement 2015-05-24 17:16:30 +02:00
Zetok Zalbavar
87e6b038f9
Properly fix quoting in action messages
* Allow quoting in action messages if line number is >1.
* Fix regression introduced by 1244d689f6 where
  '\n' was being trimmed in action messages.
* Add comment about typing notifications placeholder that needs to be fixed.
2015-05-24 15:30:21 +01:00
tux3
d16f9a542e
Merge branch 'pr1712' 2015-05-24 14:43:13 +02:00
tux3
be87047896
Merge branch 'pr1710' 2015-05-24 14:42:40 +02:00
tux3
b8077775ce
Merge branch 'pr1684' 2015-05-24 14:38:30 +02:00
Ansa89
f716027180 Fix needed to compile on slackware64 14.1 (with multilib) 2015-05-24 14:33:51 +02:00
Zetok Zalbavar
1244d689f6
Don't quote with action messages
Quoting with action messages produces badly looking messages,
where nick is blue coloured, while rest of text that is preceded
by '> ' is green. To avoid that, quoting should not be triggered
in action messages.
2015-05-24 01:56:57 +01:00
Zetok Zalbavar
227c061ea1
Code consistency fixes → 's/ToxID/ToxId/'
Since consistency in code is most important, 'ToxId' is used
for code, whereas 'Tox ID' anywhere outside of code.

Also fixed wrong comments in core.h:
* qTox gets only public key of a grouchat peer, not their
  Tox ID
* qTox tries to return full address (Tox ID) or public key
2015-05-23 20:15:41 +01:00
Zetok Zalbavar
1554b3b131
Better error message for image resizing
Now user will know what is the acceptable file size limit.
2015-05-20 07:17:12 +01:00
tux3
a841224683
Use proper random for IPC 2015-05-19 20:37:42 +02:00
tux3
4306f87df4
Fix call on null object, unititialized bool 2015-05-19 19:40:01 +02:00
tux3
9fdf382d7b
Correctly send avatar hashs as file_idS 2015-05-19 12:34:38 +02:00
Sean
b8bbe3654f Revert "Fixing behaviour for a tray icon on OS X"
This reverts commit f35f7e261a.
2015-05-18 13:55:19 -07:00
Sean
a0ecf86c20 Revert "Fixing tray icon visibility issue on OS X"
This reverts commit a4df4125e3.
2015-05-18 13:54:58 -07:00
tux3
3c3d7137e3
Don't fallback on tox1 for inexistant tox IDs
We now consider an empty reply from a tox3 server to mean that the ID doesn't exist, instead of only accepting DNS protocol level errors
2015-05-18 14:55:59 +02:00
tux3
7590d3d422
Fix tr() without QObject 2015-05-18 14:43:18 +02:00
marcel
f96db5a761 replaced ToxID struct with ToxId class. 2015-05-17 22:55:50 +02:00
marcel
66dc368662 added isActiveProfile function and fixed a typo 2015-05-17 22:48:24 +02:00
marcel
2ffabb19ec Renamed function isMine to isActiveProfile.
As an user can have multiple profiles where each profile has its own
Tox ID the name isMine is not very accurate.
2015-05-17 22:26:56 +02:00
marcel
a41765a58d added documentation 2015-05-17 21:54:21 +02:00
tux3
24fb67f415 Merge branch 'pr1669' 2015-05-17 21:24:20 +02:00
Yuri
cfd04d22d9 Copy ToxID into XA_PRIMARY clipboard too to make retrieval easier. 2015-05-17 21:24:20 +02:00
Marcel
b97b7d3fd4 filter_audio updated its api and added the parameter 'vad' in function 'enable_disable_filters' 2015-05-17 21:24:19 +02:00
agilob
ac888625de fix streching 2015-05-17 21:24:19 +02:00
agilob
ad5d7c4997 friendlist looks better on startup 2015-05-17 21:24:18 +02:00
agilob
976bd346d6 style for comobobox in friendlist panel 2015-05-17 21:24:18 +02:00
tux3
a9ce1adf4d Merge branch 'pr1661' 2015-05-17 21:24:18 +02:00
marcel
08e6004361 added separate class for ToxId 2015-05-17 21:23:52 +02:00
marcel
920362349e removed warnings 2015-05-16 14:01:56 +02:00
tux3
2fc5f781c9
Invert accept and reject FT buttons
People were clicking reject by accident after the chat scrolled up. Now they'll click accept by accident, which can easily be cancelled
2015-05-16 13:45:44 +02:00
tux3
1bdb84825d
Remove the unused struct DhtServer 2015-05-16 13:25:52 +02:00
tux3
2505c01cdd Invert U and V video planes back
We now correctly send YUV420P and not YV12 to keep matching uTox bug-for-bug.
2015-05-14 22:36:17 +02:00
tux3
73e67928f8
Fix qrwidget QPainter error 2015-05-14 04:47:42 +02:00
tux3
3fcac1f884
Fix missing includes in platform/timer_* 2015-05-13 15:39:20 +02:00
tux3
57871c9270
Use GTK systray backend on MATE 2015-05-13 14:43:45 +02:00
tux3
ce5e91dcfc
Minor trivial cleanups in platform/* 2015-05-13 14:37:12 +02:00
Pro
15f0360d4e change to Qt::CaseInseisitive 2015-05-12 19:18:55 -07:00
Pro
e3ce8b486a make /ME work 2015-05-12 18:17:12 -07:00
tux3
15cc64069f
Fix #1634 2015-05-12 18:39:38 +02:00
tux3
76cbaf18f1
Fix incorrect copyright headers
The qTox Project is not associated with the Tox Project in any ways, with the exception of "qTox" using the Tox Projet's "toxcore" collection of libraries.
In particular, the Tox Projet does not own copyright over the qTox Project's "qTox" collection of software, source code, and assets.
The qTox Project's assets are under the sole copyright of the qTox contributors, and no partiular rights are granted to the Tox Project.
2015-05-12 04:12:53 +02:00
tux3
600401a606
Fix vol/mic toggle buttons
They were suffering from double-connection syndrom, and the way muting worked was now conflicting with how the output sound level setting works

Fixes #1442
2015-05-12 02:45:04 +02:00
tux3
4a40269698
Implement and enable the audio sliders
It was about time
2015-05-12 01:27:32 +02:00
tux3
23c01f2d67
Merge branch 'pr1627'
qTox will no longer violate GPLv3 :>

closes #1361
2015-05-11 23:16:06 +02:00
agilob
904dd333b7 license box in advanced 2015-05-11 22:07:32 +01:00
tux3
12bbd47239
Fix #928
If the status button is disabled, then we stay consistent by disallowing the desktop GUI's status setting actions, which are used by the tray icon.
2015-05-11 23:01:25 +02:00
tux3
45c3491180
Merge branch 'pr1624'
QFormLayout for Public Information
2015-05-11 22:50:42 +02:00
tux3
70e7f34ecb
Don't ask to remove history for fake friend removal 2015-05-11 22:48:32 +02:00
saneki
55f92f86a8 Vertically aligned Public Information QFormLayout to appear more centered 2015-05-11 15:42:49 -05:00
saneki
50987fd37a Changed Public Information area in User Profile form to use a QFormLayout 2015-05-11 15:04:49 -05:00
tux3
a8b89e7d7d
Merge branch 'pr1621'
closes tux3/qtox#768

added values to slides in av settings, converted slot to qt5 style
audio sliders are disabled, they don't change anything anyway
2015-05-11 21:38:56 +02:00
agilob
1285b5811c this sould be better ;_; 2015-05-11 20:32:38 +01:00
agilob
fa7ad85867 alsourcef in audio::playmono16sound 2015-05-11 20:30:37 +01:00
agilob
3f11eab454 closes tux3/qtox#768
added values to slides in av settings, converted slot to qt5 style
audio sliders are disabled
2015-05-11 20:15:32 +01:00
tux3
c4eea377a3
Merge branch 'pr1619'
closes tux3/qtox#1354

more signals/slots were converted to qt5 style
2015-05-11 21:09:28 +02:00
tux3
7cb98b90c7
Faster file transfers (up to 160ms/s)
By reducing the maximum interval between two tox_iterate calls during file transfers to 10ms. This results in reasonnable amounts of extra CPU% used. If the only file transfers are avatars, CoreFile allows sleeping for up to 50ms. If there are currently no FT, up to 1000ms.

We now take the minimum sleeping interval asked by toxcore, toxav, and CoreFile
2015-05-11 20:41:19 +02:00
agilob
826d21d21f closes tux3/qtox#1354
more signals/slots were converted to qt5 style
2015-05-11 19:14:09 +01:00
tux3
ef688f6097
Remove pointless or potentially sensitive log messages 2015-05-11 16:06:12 +02:00
sudden6
e3eb4ea503 remove useless code
opencv uses exceptions for error handling
2015-05-11 15:40:38 +02:00
sudden6
1506a9a30e Change log messages to fit new log format 2015-05-11 15:37:56 +02:00
sudden6
0e91d59454 rework the logging and debug output 2015-05-11 15:37:56 +02:00
tux3
ef780421f3
Merge branch 'pr1612'
Redesign draft for settings pane and proper UX for Mac

This pull request is capable of:

    Repairing settings UX on Mac (#1594)
    Turning scroll areas in settings panes to vertical scrolling only
    Proposing a redesign of settings pane (#1069)
2015-05-11 13:20:47 +02:00
Ilya Kowalewski
dce8182e3d Persistent aliases, finally resolves #697 2015-05-11 12:44:29 +03:00
Ilya Kowalewski
a8de72570f Fixing smiley alignment and wrong copyright years 2015-05-11 02:01:09 +03:00
Ilya Kowalewski
4ff2d339a0 Resolves issues reported in PR before and some BEAST features:
+ Works great on little boxes
+ Fixed the bug spotted by @zetok
+ Smiles are centered under the smiles combo box
+ Namings for layouts
2015-05-11 01:41:52 +03:00
Ilya Kowalewski
6c8b130a25 Redesign draft for settings pane and proper UX for Mac 2015-05-11 00:41:34 +03:00
Ilya Kowalewski
f35f7e261a Fixing behaviour for a tray icon on OS X 2015-05-10 23:19:40 +03:00
Ilya Kowalewski
a4df4125e3 Fixing tray icon visibility issue on OS X
Some quirking since Qt doesn't render SVG tray icons on OS X.
2015-05-10 21:54:21 +03:00
agilob
75fbf192c4 closes tux3/qtox#1561 2015-05-10 11:46:22 +01:00
tux3
7adfd10e21
Merge branch 'pr1602' 2015-05-10 12:01:49 +02:00
agilob
dda7625d2b fix popup colors 2015-05-10 10:20:30 +01:00
agilob
69972e0d80 ask to remove history 2015-05-10 10:12:49 +01:00
Rohil Surana
21371a0f7d Toolicon Menu was not indicating active button 2015-05-10 09:40:59 +05:30
tux3
b8d57cf43a
Cleanly open/close FT image preview buffer 2015-05-10 02:30:47 +02:00
tux3
a232e5afd6
Merge branch 'pr1489'
Removes chat history of friend when removed, fixes #1486
2015-05-10 01:04:00 +02:00
tux3
8407bbada9
Limit outbound avatar size to 64kB 2015-05-10 00:56:41 +02:00
tux3
2ff2414627
Log size of received avatar data 2015-05-10 00:56:20 +02:00
tux3
8fed00cf55
Avoid unecessary copying of video frames
And release some more data when possible
2015-05-10 00:35:07 +02:00
tux3
67e09de085
Save memory with lazy loading
Load the setting's cameria preview opengl context lazily and destroy it when done. Only preallocte Core's video buffer if we have any calls active, free up when all calls are done
2015-05-10 00:05:30 +02:00
tux3
1f926b3e6c
Fix small memory leak cleaning up video calls 2015-05-09 22:56:15 +02:00
tux3
a01e0db7ba
Fix some memory leaks and mismatches 2015-05-09 22:35:58 +02:00
tux3
bb5f2e066d
Fix crash on video calls lowered to audio calls
Toxcore would incorrectly report the call as a video call in the call settings, and then crash while trying to send a video frame in the audio call. We workaround that by using another API that correctly reports the type of the call
2015-05-09 22:35:15 +02:00
llya Kowalewski
9d9fa90271 Include: complex -> cstdlib 2015-05-08 01:10:33 +03:00
llya Kowalewski
275f2a97f1 Fixing clang build on OSX
std::abs() is function from <complex>, current HEAD doesn't build on OSX with latest clang because of missing include. This commit fixes the build.
2015-05-08 00:31:42 +03:00
tux3
e79d40e356
Merge branch 'pr1446'
Conflicts:
	src/chatlog/chatlog.cpp
	src/chatlog/content/filetransferwidget.cpp
	src/core.cpp
	src/core/coreencryption.cpp
	src/toxdns.cpp
	src/widget/form/chatform.cpp
	src/widget/form/genericchatform.cpp
	src/widget/friendwidget.cpp
	src/widget/widget.cpp
2015-05-07 22:00:50 +02:00
tux3
19bf083b41
Merge branch 'pr1515' 2015-05-07 21:39:32 +02:00
tux3
ad4ef7f53f
Merge branch 'pr1579' 2015-05-07 21:32:57 +02:00
tux3
04d102160f
Merge branch 'pr1577' 2015-05-07 21:30:11 +02:00
tux3
649ea371ee
Merge branch 'pr1576' 2015-05-07 21:25:57 +02:00
tux3
19d0465efe
Merge branch 'pr1574' 2015-05-07 21:21:04 +02:00
tux3
a61f222411
Merge branch 'pr1573' 2015-05-07 21:17:11 +02:00
kushagra
5e5da24ad3 Implemented search of contacts 2015-05-07 20:37:26 +02:00
tux3
9fa9fafe75
Use old Qt connect syntax for QTimer::singleShot
The new syntax is for Qt>=5.4 only, but we need to support back to Qt 5.2
2015-05-07 20:36:11 +02:00
Stefan Merettig
f14c399297 Screen grabber: Fix flying-flyout bug when resizing window while open 2015-05-07 20:11:32 +02:00
Stefan Merettig
f982938919 Screen grabber: Hide the flyout when the chat form is hidden. 2015-05-07 20:01:02 +02:00
Stefan Merettig
ffa1628f38 Screen grabber: Make sure the flyout is hidden on leave
When the user moved from right to left in moderate speed, the flyout
didn't get the mouse leave event.
2015-05-07 20:00:21 +02:00
Stefan Merettig
0a68cff60c Screen grabber: Hide mid-animation when leaving file button
The flyout is now more responsive and will start collapsing while it's
expanding, when the user leaves the attach file button mid-animation.
2015-05-07 20:00:21 +02:00
Stefan Merettig
f0d524e960 Screen grabber: hide() the flyout at first
I don't remember why I did show() at first, but works fine without, and
fixes the issue of a 1px wide flyout showing up somewhere in the
chatform
2015-05-07 20:00:21 +02:00
Stefan Merettig
f4610c41f9 Screen grabber: Only show flyout if the attach button is enabeld
Fixes the bug that the flyout was shown in group chats.
2015-05-07 20:00:21 +02:00
Stefan Merettig
f032df223f Screen grabber: Fix position of handles with negative selection
When you clicked, and then move towards top-left with the cursor,
and release, the handles were displayed inside the resulting rectangle,
instead of outside.
2015-05-07 20:00:21 +02:00
Stefan Merettig
076609afb9 Screen grabber: Calculate bounding rect, fixes some drawing issues
This commit should fix drawing artifacts occuring when quickly clicking
on the screen while moving the cursor in circles.
2015-05-07 20:00:21 +02:00
Stefan Merettig
db8b70e225 Screen grabber: Show correct tooltip for selected/no-selection states
When the user just clicks somewhere, and thus rejects the selection due
to the previous commit, show the initial 'nothing selected' helper
tooltip again.
2015-05-07 20:00:21 +02:00
Stefan Merettig
96a1cf93d5 Screen grabber: Reject small selections (< 2px width/height)
When the user just clicks, or moves the cursor barely (less than 2px),
auto reject the region and show no selection.
2015-05-07 20:00:20 +02:00
Stefan Merettig
1149ed1f91 Screen grabber: Modified helper tooltip texts
The english texts are now more coherent
2015-05-07 20:00:20 +02:00
Stefan Merettig
be194e6fa8 Screen grabber: Don't wait for the flyout to collapse
The menu is now collapsed in the background half a second after
the user clicked on the screenshot button. This is to let the WM have
some time to open the fullscreen window, which itself is now shown
immediately.
2015-05-07 20:00:20 +02:00
Stefan Merettig
e83aac7af7 Screen grabber: Remove forced redraw
If this doesn't help we'll need to split the screen capture display
into tiles and display those instead, allowing Qt to only draw
a few of them instead of everything.
2015-05-07 20:00:20 +02:00
Stefan Merettig
9539a38f15 Screen grabber: Moving from button -> flyout -> button doesn't collapse 2015-05-07 20:00:20 +02:00
Stefan Merettig
7ab64d5628 Screen grabber: Wait for the flyout to collapse before grabbing
After clicking the "Screenshot" button in the file flyout, the flyout
now collapses and then triggers the screenshot functionality. This adds
a delay of ca. 1/3 seconds between the click and the action.
2015-05-07 20:00:20 +02:00
Stefan Merettig
04dc650596 Screen grabber: Flyout menu for the screenshot button
When hovering over the "attach file" button in the chat form, an
additional button for the screenshot functionality will 'fly out'
to the left, showing a computer monitor as icon. Leaving the attach
file or the take screenshot button will collapse the fly out again.

Bug: Moving the mouse over the fly out and then back again to the
attach button collapses the fly out. Will sort this out later.

Also used the opportunity to rename headers from hpp -> h extension
I added earlier.
2015-05-07 20:00:20 +02:00
Stefan Merettig
c6d5b4cc55 WIP: KSnapshot-like screenshot grabber
WIP of a screenshot grabber accessible from the chat form to allow
users to easily send a part of a screenshot
2015-05-07 19:55:28 +02:00
tux3
4e1dd74269
Make tool buttons inactive when showing profile 2015-05-07 19:47:18 +02:00
Rohil Surana
084b6c9300 Added tool menu active button indicator.
Disable active button to remove repainting of ui each time it is pressed.
2015-05-07 19:39:46 +02:00
PKEv
91c192487a Add_www_link_possibility 2015-05-07 19:17:09 +02:00
PKEv
d697e06b56 fix drag and drop in chat history (windows) 2015-05-07 19:13:49 +02:00
tux3
39fd870ef0
Merge branch 'pr1470' 2015-05-07 19:09:41 +02:00
tux3
9cdff0a21a
Merge branch 'pr1460' 2015-05-07 19:05:13 +02:00
Jookia
1d58f476f7 Add keyboard bindings for cycling contacts.
I've moved the key bindings in the main widget instead of the chat form given it
doesn't seem to be the chat form's responsibility to handle switching between
conversations it shouldn't know about in the first place. I've also included new
shortcuts to provide a more familiar feel to most people.

All in all this provides Ctrl+Tab and Ctrl+Shift+Tab for cycling as well as
Ctrl+PgUp and Ctrl+PgDown for cycling. This mimics common application behaviour.
2015-05-07 19:02:18 +02:00
Jookia
f6a2925331 Tabs with modifiers are passed up from chat boxes.
In Qt chat boxes filter out events related to text editing, including tabs.
Unfortunately tabs with modifiers like those used to cycle through contacts are
being filtered despite not being used for anything.

This fixes the keybind for cycling forward through contacts (Ctrl+Tab).
2015-05-07 18:46:08 +02:00
Jookia
59a8ea13e7 Implemented cycling through contacts.
I've implemented this by having the contacts list container return all contact
widgets in the order they appear each time it's time to cycle. It's perhaps
inefficient but given cycling isn't done often I don't see a need to optimize.

This code does make the assumption that the friends list isn't empty, which I'd
guess would be the case if there's an active conversation.
2015-05-07 18:46:08 +02:00
Rohil Surana
0b1d3e3d3d Added chat room status to window title 2015-05-07 18:28:51 +02:00
Mario Preksavec
4eeabbbe85 Unhide faux offline messaging checkbox 2015-05-04 19:27:40 +02:00
Mario Preksavec
ecee27b31d Respect configured emoticon size 2015-05-04 06:01:02 +02:00
Mario Preksavec
220fea66a0 Make dropdown menus look better on high dpi 2015-05-04 02:12:02 +02:00
Mario Preksavec
b874f31b0d Fallback XFCE detection 2015-05-04 01:03:58 +02:00
Mario Preksavec
f88f8dc3cb Remove StatusNotifier dependency 2015-04-28 17:28:21 +02:00
tux3
66cb02d1c3
Fix qTox Android build 2015-04-27 17:59:44 +02:00
tux3
25329d3a57
Remove redundant QString ctor
Thanks to @Papierkorb
2015-04-27 03:16:52 +02:00
tux3
92f14cc6eb
Create config directory on first run
Fixes #1540
2015-04-27 02:48:16 +02:00
tux3
f0c01a4f64
Fix typo in error message
Thanks to @Selena-Gomez for finding this.
2015-04-27 02:11:50 +02:00
tux3
542cae85d3
Give appropriately scary name to dangerous function
"isPathWritable" didn't convey really well the meaning of "let's try to open it, wipe everything the hell out, and see if it worked"
2015-04-26 17:39:39 +02:00
tux3
8786f9525e
Fix #1536
New friends must be added to the friend list before loading history, otherwise the history code won't find the friend in the friendlist, and the history will have blank names for the friend
2015-04-26 14:40:07 +02:00
tux3
200af0fd49
Better error messages for friend requests 2015-04-25 22:07:40 +02:00
tux3
d962148dd0
Fix more save corruption bugs
askProfiles is a really dangerous function. Awful things happen when the user closes that message box. We now prevent it from being closed in more places
2015-04-25 21:33:15 +02:00
tux3
7eb9370c0b
Disable the GUI until a profile is active
There are small instants on startup and while profile switching during which no profile is loaded but the GUI could still receive events, e.g. between two modal windows. Disable the GUI to prevent that.
2015-04-25 21:05:29 +02:00
tux3
e682dada3b
Fix save corruption bug
Don't just let the user close the profile select box and continue with an empty value. We would create a new profile and save it back on top of the previous encrypted profile
2015-04-25 20:20:53 +02:00
tux3
e74e29e4fb
Cleanly cancel broken file transfers 2015-04-25 19:18:46 +02:00
tux3
cdb2bad7c3
Signal broken file transfers 2015-04-25 17:12:49 +02:00
tux3
c6e60c4c77
Remove some CoreFile debug output 2015-04-25 16:59:29 +02:00
tux3
bd5eebbc2e
Cache avatar sending, fix image file preview
- Add AvatarBroadcaster, in charge of making sure our friends have our avatar without spamming file transfers

- Fix file sending code not closing the file after transfer, which prevented file previews, and make the QFile a shared_ptr to fix the obvious memory leak

Some small additions to Core to support AvatarBroadcaster
2015-04-25 16:51:58 +02:00
tux3
9ece486e22
Prevent possible uninitialized read of status
For unhandled values of Status, we want to return, not continue with an uninitialized value.
2015-04-25 02:28:57 +02:00
tux3
0e65d150e3
Don't show call buttons in text-only groupchats
I'm not sure why there are text-only groupchats in the first place, but that's fixed.
2015-04-25 01:50:35 +02:00
tux3
9d3d17d05e
Avatar sending on top of file transfers 2015-04-25 01:26:52 +02:00
tux3
cdf3d9f553
Change some tabs to space for consistency 2015-04-24 23:05:44 +02:00
tux3
8b6ef7ab9d
Merge branch 'pr1524' into back_in_the_game
Conflicts:
	src/widget/form/groupchatform.cpp
2015-04-24 23:04:11 +02:00
kushagra
0a7c82c2cf Right clicking anywhere wont unhighlight text, fixes #1517 2015-04-24 22:49:22 +02:00
tux3
1c51cd788b
Merge branch 'pr1509' into back_in_the_game 2015-04-24 22:37:01 +02:00
tux3
f8eb90f74d
Merge branch 'pr1498' into back_in_the_game 2015-04-24 22:34:21 +02:00
kushagra
b4f72b620d fixes action bugs
1) action received gets modified on restart
2) sender's name is written twice if action is sent using offline messaging
3) /me is written when action is sent in groupchat having one peer
4) /me is not saved in last message variable in friendd chat
2015-04-24 22:20:52 +02:00
tux3
110a6ca850
Fix typos in tooltips
transmit -> tranfer
2015-04-24 21:51:25 +02:00
PKEv
137d1ae2d5 Add tooltip in filetransferwidget
It is not clear what they are doing buttons
2015-04-24 21:50:05 +02:00
Yuri
11883bab85 Added Ctrl+Q shortcut. 2015-04-24 21:44:48 +02:00
tux3
5662120c51
Show Tox ID instead of blank names 2015-04-24 21:34:24 +02:00
tux3
42d7a7bcef
Assert profile locks before writing
This fixes the potential edge case where a frozen then unfrozen qTox instance could have its locks delete by a new qTox instance.

We now check that we still own our locks, restoring them if we can, before saving
2015-04-24 21:05:19 +02:00
tux3
694933d24b
Correctly rename and lock imported profiles
Imported profiles are legact 'data' and 'tox_save' files
2015-04-24 20:45:26 +02:00
tux3
05b6f1985d
Allow to start multiple instances with -p
Starting a new instance with the -p option will force it to start a new instance with the given profile instead of bringing an eventual existing instance to the foreground

Two instances can not run with the same profiles, the profile locking code will ensure that. A user who likes to live dangerously could manually delete the lock to force two instances on the same profile, but such an hypothetical user would be asking for it.

If a qTox instance starts and becomes owner of the IPC shared memory on its first try, it considers itself the only running freshly-started instance, and deletes any possibly stale lock before starting up. This should be fine in the vast majority of cases, but if an existing qTox instance freezes for a long enough time to lose ownership of the IPC and a new instance is started without first killing the frozen one, the frozen instance's lock will be deleted as stale by the new one. If the frozen instance subsequentely unfreezes, it will be running on a profile for which it doesn't have a lock, which could cause trouble. This is an intentionaly allowed edge case, the alternative being a stale lock staying forever until removed manually. A potential solution not yet implemented would be to check that the lock is still actually present before attempting any write.
2015-04-24 19:43:39 +02:00
tux3
0baba7abe2
qtox.ini shouldn't overwrite our current profile
If we're running on a given profile, reload the qtox.ini, and it has a diffeent value for the current profile, we don't overwrite our current value with whatever qtox.ini says anymore

It would cause current profile confusions when multiple qTox instances where using different instances but sharing the qtox.ini
2015-04-24 19:35:06 +02:00
tux3
ea417d3688
Update lock when renaming profile 2015-04-24 19:19:01 +02:00
tux3
bbf75aefb9
Profile locking 2015-04-24 18:53:19 +02:00
tux3
13d98da1bc
Correctly separate received actions from messages 2015-04-24 15:57:01 +02:00
Zetok Zalbavar
92f3b6a20f Code style improvements 2015-04-24 15:43:57 +02:00
tux3
66314bc38d
Fix nullptr dereference in IPC::isCurrentOwner
It would only trigger when multiple instances where running in parallel,
with one having enough privilege to block the other from accessing the shared memory (e.g. root)
2015-04-24 15:38:34 +02:00
tux3
9dedd22bb2
Port file transfers to the new API
Parallel, extremely large, and other edge case transfers have not been tested, but the common path should work well.
2015-04-24 15:31:30 +02:00
tux3
e4859efe18
Refactor Core
Refactor Core's file transfer callbacks into their CoreFile class and files

Move all core*.{h|cpp} into a core/ folder
2015-04-24 02:32:09 +02:00
tux3
a70721818e
Cleanup old commented-out code 2015-04-24 01:15:09 +02:00
tux3
4fc6632d78
Fix history-destroying use after free in Core::getSaltFromFile
We returned a shallow copy of the delete[]'d salt buffer

As a result the history consistently failed to decrypt and was removed as corrupted. This is now fixed.
2015-04-24 01:10:42 +02:00
tux3
fff2caa0e1
Fix Core::getSaltFromFile's error checking
tox_get_salt now returns a bool, not an int. So any error condition has to be inveted to check for 0 instead of -1.
2015-04-24 01:08:34 +02:00
tux3
e03d80392a
Fix GUI refresh when creating new profile
Previously the username/status, and the combobox in profileForm weren't refreshing themselves
2015-04-23 23:42:50 +02:00
tux3
3bf338e9ff
Fix profile reloading during switch
That'll get rid of the encryption warnings message boxes and per-user settings not reloading when switching between profiles
2015-04-23 23:01:12 +02:00
tux3
5df7d8a06c
Port profile encryption support to new API
Profile encryption should be fairly stable. History encryption was *NOT* tested yet and as such may not work, cause profile corruption, or invoke nasal daemons.
2015-04-23 22:59:12 +02:00
tux3
2d213b7616
Merge branch 'pr1527' into back_in_the_game 2015-04-20 12:00:53 +02:00
tux3
c82d671efe
Properly initialize tox_options 2015-04-20 11:59:52 +02:00
Zetok Zalbavar
33186e51dc
Some code style fixes 2015-04-20 08:58:06 +01:00