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

128 Commits

Author SHA1 Message Date
tux3
1a1debf167
Merge branch 'pr1243' 2015-02-25 15:55:32 +01:00
novist
9523484bfe Reworked IPC class:
* Simpler design
  * Suport for named events
  * Support for checking if events were handled
  * Support for sending events to specific application instance
2015-02-22 16:31:48 +02:00
TheLastProject
695bd74ce5 Use blacklist for executables, explicitly run executables with QProcess to work around KDE4.4 security measure which disallows running executables 2015-02-22 13:21:42 +01:00
novist
192f1f7d62 Delayed tray icon creation to timer event.
Added null checks around usage of tray icon object.

This change solves issues/crashes where tray is not immediately available when qTox is started. It is common on linux desktops. While for example lxqt has option to delay application autostart until panel (and thus tray) is available other desktops (like KDE) do not. Adding checks around use of icon object was not enough because application may start a little bit earlier than panel is available. For that reason tray icon creation is delayed to timer event and tried multiple times with delay of one second. Usually after few tries icon creation succeeds and signal is disconnected.

In case tray is not available qTox window is shown. This creates a side effect where starting qTox before tray is available will make application window briefly appear and when tray is available window will be hidden or remain visible as per settings. Window has to be visible if tray is unavailable because otherwise users may end up with qTox running and no way to access it. If application is started and tray is available no window flashing happens and settings are restored as usual.

Without this patch if qTox started before tray is available window is shown and changing tray icon visibility option crashes application. Thats probably a known issue.
2015-02-22 12:36:12 +02:00
TheLastProject
ad1852622f Allow user to open all transferred files, but warn for executable files 2015-02-19 20:14:19 +01:00
tux3
41d8e2dd53 Attempt at fixing #1187 2015-02-18 21:22:19 +01:00
Dubslow
11d4ec2599 Refactor OfflineMsgEngine, fix potential segfault
(@apprb take note please)
2015-02-13 00:02:52 -06:00
apprb
bf2ebe9220
Offline messaging refactoring: Separated class for this purpose + more reliable resenging 2015-02-08 01:59:10 +09:00
Dubslow
830f0ddc13
Cleanup 331baa7447 2015-02-06 14:03:34 -06:00
tux3/mlkj
46bba3f2f1 Initial Android support
We create a GUI class to abstract common GUI needs (showing a message box, asking a question, ...) from the actual GUI backend.

We also create a Nexus class to manage the startup and lifetime of our main systems (Core, GUI, ...) instead of delegating that to Widget.

Eventually, Widget will only be in charge of the Desktop GUI and AndroidGUI of the mobile GUI. Nexus will overview the system and GUI will provide a clean platform-independant interface.
2015-02-06 12:28:49 +01:00
Dubslow
82c881ff49
Merge branch 'pr1087'
Conflicts:
	src/widget/widget.h
2015-02-04 17:45:04 -06:00
Dubslow
a572ccff27
Merge branch 'encryption' into master
Conflicts:
	src/core.cpp
	src/historykeeper.h
2015-02-03 10:21:59 -06:00
novist
b7dd4bf829 Tray icon notification of new messages 2015-02-03 12:20:26 +02:00
Dubslow
8d999efae7
Fix the previous todo 2015-02-02 17:56:51 -06:00
Tux3/Mlkj
f75e32e1e3 Implement SystemTrayIcon with Qt backend and Unity stub 2015-01-29 14:56:53 +01:00
Dubslow
2dc5cea1d2
Merge branch 'encryption' into master
Conflicts:
	src/autoupdate.cpp
	src/core.cpp
	src/core.h
	src/misc/settings.cpp
	src/widget/widget.cpp
2015-01-27 18:29:39 -06:00
novist
3a5a94c666 Fixed showing window when clicking tray icon / shortcut and window is minimized
Double-clicking tray icon shows window
Middle-clicking tray icon hides window
2015-01-26 12:43:34 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
279debdab9
CallConfirmWidget: track anchor's position 2015-01-25 18:43:30 +01:00
Dubslow
358a56c555
Confirm decrypt data, various ui/txt tweaks 2015-01-23 07:07:52 -06:00
Dubslow
29cc9e1b7d
Merge branch 'encryption' into master
Conflicts:
	src/main.cpp
2015-01-23 01:51:39 -06:00
Dubslow
44ddb8789c
In groupchats, check for sanitized name as well
Fixes #952
2015-01-23 01:35:21 -06:00
novist
3bec2751e0 Separate setting to show window on new message (without focusing window)
Setting to always notify on messages in group chats (like normal chats)
Check for mentioned name only triggers if name is not in the middle of other word
2015-01-21 13:54:51 +02:00
Dubslow
139cd3f4a6
Merge branch 'encryption' into master
Conflicts:
	src/core.cpp
	src/misc/settings.cpp
	src/widget/widget.cpp
	src/widget/widget.h
2015-01-05 20:55:47 -06:00
novist
2a8cbd189d Added typing notification support and enabled by default 2015-01-04 13:21:56 +02:00
Dubslow
db2d9321e4
fix change profiles button 2014-12-05 20:58:44 -06:00
Dubslow
67027814e5
tweak to popup questions 2014-12-05 19:56:33 -06:00
Dubslow
2e6b0f7b2b
remove files that I shouldn't have added in the first place 2014-12-05 19:17:02 -06:00
Dubslow
4e1a204bc0
Fix threading issue with startup pw popup
The GUI is slow to update after accepting a password, but a cursory ten minute investigation didn't yield why
I inserted a processEvents() call before ready = true; at the end of Core::start, but that didn't help.
Define the total time between the password dialog disappearing and the UI updating with your own status is T:
Then my debug statement indicated that this processEvents call happened around 1/3T, raising two questions:
1) What the hell is happening between 0 and 1/3 T? Decryption doesn't take that long...
Note that bad passwords are immediately rejected with a new dialog, so I highly doubt it's the decryption cpu time
2) The remaining 2/3rds: processEvents has been called after the avatar and username signals, yet they
don't update in the UI till time T when everything updates after bootstrapping...

Oh well, like I said, only a cursory investigation
2014-12-05 18:23:13 -06:00
apprb
a9fb75b5ed proper encrypted history loading 2014-12-03 18:01:31 -06:00
Dubslow
4781c8cfbb
Merge branch 'pr862'
Conflicts:
	src/widget/widget.cpp
2014-12-01 15:37:09 -06:00
Dubslow
173eda7700
Merge branch 'pr870'
Conflicts:
	src/widget/form/settings/generalform.cpp
2014-12-01 14:47:54 -06:00
novist
0810559bcb Window geometry saved when window is resized Splitter position saved when splitter is moved
Fixed restoring of window geometry when "Start in tray" is unchecked
2014-12-01 14:04:17 -06:00
novist
99fa5d9e19 Global auto-away 2014-11-28 11:41:44 +02:00
novist
479644833e Option for tray icon to display user status 2014-11-27 19:46:36 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
4c379640b8
Merge branch 'pr854' 2014-11-25 20:00:27 +01:00
novist
beae534d66 Starting client activates existing instance if such exists 2014-11-25 19:11:05 +02:00
apprb
56ea1f1e66
using ToxID in groupchats 2014-11-24 00:58:53 +09:00
dubslow
d533c4089d remember status when disconnected (should help with #715) 2014-11-17 19:40:36 -06:00
dubslow
40addf9155 "overhaul" window title, fix #753 2014-11-16 15:17:22 +01:00
Tux3 / Mlkj / !Lev.uXFMLA
2f452b6eff
Add GUI to change theme color 2014-11-15 21:30:20 +01:00
dubslow
71c34b9d69 group title support 2014-11-14 18:23:54 +01:00
Maximilian
11f9cb0cbf I implemented a new setting, which toggles the visibility of the system tray icon.
Background: On Ubuntu 14.04, system trays in Qt5 don't integrate into Unity.
2014-11-13 21:33:11 +01:00
Tux3 / Mlkj / !Lev.uXFMLA
4bb91143d7
Fix use after free of groupchat invites
Fixes #728, fixes #706, fixes #394
2014-11-13 00:13:11 +01:00
dubslow
3dd15f0a5f fix minor switching bug introduced by 07ea2e 2014-11-11 17:00:24 -06:00
Tux3 / Mlkj / !Lev.uXFMLA
8fceb4b78b
Accept and default to AV groupchats
We don't send or play any audio yet, though
2014-11-11 16:05:01 +01:00
apprb
5d50ea36d0
Faux offline messaging: enable/disable 2014-11-10 22:06:35 +09:00
apprb
694cd90ee4
read receipt infrastructure 2014-11-10 20:49:38 +09:00
dubslow
f2d358f222 switch to relevant chat room when minimized
fixes #688, except that for me it doesn't actually unminimize
2014-11-10 10:37:07 +01:00
Tux3 / Mlkj / !Lev.uXFMLA
fbbffc0806
Merge branch 'pr686' 2014-11-10 01:17:35 +01:00
Tux3 / Mlkj / !Lev.uXFMLA
0054787826
Add an option for auto-updates on Windows
With the update server hosted on my laptop...

Fun fact: Updates are really easy to mess up right now. If I forget to update the update server, everyone gets downgraded. Upload a bad file and everyone will crash. Fun stuff.

Upates Are Experimental™ and off by default.
2014-11-10 00:31:29 +01:00
saneki
55bb6ac367 Additional error info for failedToAddFriend, checks if friend is added already 2014-11-09 13:23:43 -06:00
Tux3 / Mlkj / !Lev.uXFMLA
77edbb668e
Fix #599 2014-11-02 12:24:14 +01:00
apprb
99507465be
proper sending/receiving group actions 2014-11-01 22:00:43 +09:00
dubslow
7260fdd38d fixed encryption, major testing required 2014-10-24 06:35:30 -05:00
Tux3 / Mlkj / !Lev.uXFMLA
5fae61c4e8
Don't show msgboxes outside of the GUI thread
Fixes #511
2014-10-23 20:39:28 +02:00
apprb
6caa9f1e9f
Merge remote-tracking branch 'upstream/master' into history
Conflicts:
	qtox.pro
	src/widget/form/chatform.cpp
	src/widget/form/genericchatform.cpp
	src/widget/form/genericchatform.h
	src/widget/form/settings/identityform.cpp
	src/widget/tool/chatactions/messageaction.cpp
	src/widget/tool/chatactions/messageaction.h
	src/widget/widget.cpp
2014-10-22 23:05:04 +09:00
apprb
5c0370eaed
Tox datafile/encrypted history: different passwords 2014-10-22 22:36:36 +09:00
Tux3 / Mlkj / !Lev.uXFMLA
590ca8dc5a
Merge branch 'pr492' into HEAD 2014-10-20 20:21:41 +02:00
Tux3 / Mlkj / !Lev.uXFMLA
50e1ecf46b
Merge branch 'pr482' into HEAD 2014-10-20 20:21:36 +02:00
agilob
7ad723a656
tryicon is made in widget.cpp now 2014-10-20 19:09:35 +01:00
agilob
6e5068840d minimize to tray 2014-10-20 14:11:03 +01:00
dubslow
eaf01aadc3 added new profiles, default name/status (fixes #465 and fixes #460) 2014-10-19 22:07:51 -05:00
apprb
6febde3167
Load encrypted history log/tox datafile 2014-10-19 16:35:11 +09:00
agilob
f8f5a3ca29
all form are translatable now
changed type of main tabs to pointers to fix that
2014-10-18 15:54:52 +01:00
dubslow
4e7a183360 add choose translations (restart required, dynamic changing is lots of work) 2014-10-17 18:06:30 -05:00
dubslow
18d1ee9f1f Merge branch 'master' into corencryption
Conflicts:
	src/misc/settings.cpp
	src/misc/settings.h
	src/widget/widget.h
2014-10-17 03:46:52 -05:00
krepa098
6e61da68e4 Settings: use QTabWidget, IdentityForm: cleanup 2014-10-17 09:11:38 +02:00
krepa098
87132389aa fixed infinite recursion under certain conditions 2014-10-17 09:09:59 +02:00
agilob
f854d0e90f
set idle timer in widget.cpp 2014-10-16 19:48:45 +01:00
dubslow
8be4725acd cleanup "sign in change", since it's unnecessary 2014-10-16 17:52:45 +02:00
agilob
fea3fa3ac7 renamed function 2014-10-16 17:47:18 +02:00
agilob
698902a8dc status changes messages and sign in notifications
sign in notifications available only in settings and as a message in chat
2014-10-16 17:47:18 +02:00
dubslow
e3cf2cac20 auto away; needs UI 2014-10-16 04:47:58 -05:00
dubslow
c1572abedf more details 2014-10-15 11:38:16 -05:00
dubslow
63671ae3ff I learned some things: improve thread safety 2014-10-14 21:06:44 -05:00
dubslow
235d6609b9 Merge branch 'master' into profiles
Conflicts:
	src/widget/form/settings/identityform.cpp
2014-10-12 04:58:56 -05:00
dubslow
bf75750166 Merge branch 'master' into src
Conflicts:
	qtox.pro
	src/widget/form/settings/avform.h
	src/widget/selfcamview.cpp
	src/widget/selfcamview.h
	src/widget/widget.cpp
	widget/selfcamview.h
	widget/videosurface.h
2014-10-10 17:21:54 -05:00
dubslow
3ba95d82ae Move code into src/ 2014-10-07 23:26:25 -05:00