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

321 Commits

Author SHA1 Message Date
ezavod
847f155b7b
refactor(chatform): Use QStringList instead of QVector<QString>
This replaces QVector<QString> with QStringList consistently across all files.
2018-05-31 21:32:58 +02:00
Anthony Bilinski
ca32e77d74
feat(history): load set number of messages from history
Fix #3124
Fix #3004

Instead of loading a set 7 days of history. Better performance when there are lots of messages, and better context when friends haven't talked in over a week.

Removed historyBaselineDate, introduced in deb8440c6a to fix duplicate messages, but duplicate messages were very likely fixed by https://github.com/qTox/qTox/pull/4607.

Also refactored history loading.
2018-05-06 15:31:54 -07:00
Anthony Bilinski
5dc4e6de81
chore(legal): update copyright date to 2018 for all source files 2018-04-25 17:33:38 -07:00
Anthony Bilinski
1583991fb4
refactor(avform): simplify and standardize sliders, use RMS for volume
Also improve usefulness of volume bar by including gain, clipping, and activation threshold. Remove magic numbers. Clear volumue display when mic is disabled.

Fix #4893
2018-04-12 10:34:42 -07:00
Anthony Bilinski
97bc4a9b4a
refactor(ui): consolidate new message settings under UI page 2018-04-08 14:30:25 -07:00
Anthony Bilinski
fcd88d65b2
feat(ui): add setting for disabling new message notification popup
Fix #4979
2018-04-08 14:29:12 -07:00
Anthony Bilinski
9f8b0fed07
feat(ui): Add ability to disable LAN discovery
Fix #4074
2018-04-06 12:02:10 -07:00
Anthony Bilinski
65d59ba6b7
fix(settings): add missing enableTestSound to settings 2018-04-05 15:00:34 -07:00
Anthony Bilinski
b852809d0c
fix(history): don't save own messages when history is disabled
Fix #5036
2018-03-30 01:50:12 -07:00
Anthony Bilinski
4951f90964
fix(offlinemsg): make faux offline messages purely event based
Since real offline message reliability issue was fixed in PR #4607, now removing all the workarounds that had been added. Offline messages are now sent as soon as we see our friend come online, and at no other time. Fixes 2 minute wait time before attempting to send if message is entered while you or friend is offline, removes 2 minute constant retry timer, removes 250ms delay between seeing friend come online and sending offline messages.
2018-03-21 13:03:17 -07:00
Anthony Bilinski
1afed5f72e
fix: don't use invalid reference after erasing element
Fix #5002
2018-03-16 10:54:53 -07:00
Diadlo
aeb501240f
Merge pull request #4955
TriKriSta (12):
      feat: add a button to search
      feat: add form for search
      feat: add text search
      feat: edit load history for search
      feat: remove search button and add line in context menu
      feat: add search in text in group chats
      feat: optimise search in history
      feat: add hot keys for search
      style: change code in searchInText
      fix: add search symbol ' in history
      refactor: rename hideButton to searchHideButton
      refactor: add/delete checks in search code
2018-02-20 08:26:29 +03:00
Anthony Bilinski
9643e48ef1
fix(chatlog): Match multi-character emoticons again
Fixed after broken in https://github.com/qTox/qTox/pull/4940. Single-character UTF-8 emoji still work without whitespace on either side, but multi-character emoticon patterns like 😄 or :) do require surrounding whitespace, to avoid matching punctuation or HTML tags.
2018-02-19 01:18:19 -08:00
TriKriSta
fe4dd83d10 refactor: add/delete checks in search code 2018-02-15 13:21:05 +02:00
TriKriSta
3e05279c09 fix: add search symbol ' in history 2018-02-14 11:30:38 +02:00
TriKriSta
18fa8a745b feat: optimise search in history 2018-02-12 01:02:28 +02:00
TriKriSta
de9c906117 feat: edit load history for search 2018-02-10 17:56:16 +02:00
Anthony Bilinski
5df63f9c2e
fix(chatlog): parse multi-length emoji properly
Before, when multi-length emoji were next to any other character, they would not be transformed into images. With this change, emoji are replaced with images no matter where they are in the string. Parsing is now done by checking to see if two-character blocks are valid as a single UTF-32 character, or if they are truly two distinct characters. Because we no longer need white space before emoji, I also removed our addition of spaces on either side of an emoji when a user sends them.
2018-02-05 14:19:03 -08:00
iphydf
398ba415ce
chore: Update to immutable TES API and one-big-lib change. 2018-01-14 15:47:43 +00:00
Diadlo
e4537c04bc
refactor: Add IFriendSettings 2017-12-24 13:23:31 +03:00
sudden6
db7ee65d0e
fix(video): allow not integer framerates
Fix #4866 and #4764
2017-12-21 21:28:27 +01:00
tox-user
676be5f625 fix(identicon): don't set identicon as an avatar
Do not save user's identicon to a file like a normal avatar. This allows
'Use identicons' setting to affect user's own identicon.
2017-11-22 22:46:01 +01:00
tox-user
905ca77086 feat(settings): add an option to toggle identicons
Solves #4741

Adds a setting to User Interface tab that allows to toggle displaying
identicons instead of default avatar picture.
2017-11-21 23:52:06 +01:00
Diadlo
47da91d74f
refactor: Use loaded icons as cache, make getAsIcon const 2017-11-13 14:46:37 +03:00
Diadlo
fa21594902
perf(smileys): Cleanup smileys icons by timer 2017-11-13 14:46:37 +03:00
Diadlo
c640007775
perf(smileys): Use shared_ptr to automaticaly count references 2017-11-13 14:46:37 +03:00
Diadlo
d83400bcdc
perf(smileys): Use lazy smileys loading 2017-11-13 14:46:37 +03:00
Gavin Stark
d24d4fb8ea feat(audio): microphone voice activation
adding volume based voice detection
2017-11-13 00:48:46 -06: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
sudden6
1dce8f6468
refactor(core): rename corestructs to toxfile.cpp
It only contains this struct now.
2017-10-31 09:32:53 +01:00
sudden6
6d1b1f62ab
fix(settings): prevent signed overflow and associated warning 2017-10-20 00:17:10 +02:00
Diadlo
7f2bd726ef
refactor: Integrate ICoreSettings in Core 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
b609a8f99a
Merge pull request #4697
tox-user (5):
      feat(settings): Add audio quality setting
      feat(settings): make audio quality setting persistent
      refactor(settings): use constants in audio quality setting
      refactor(settings): use a cleaner way to read and set audio bitrate
      style(settings): change names of local constants to camel case
2017-10-08 00:18:06 +02:00
sudden6
003fc6b0b0
feat(identicon): use Identicons instead of empty avatars
fixes #711
2017-10-06 23:57:55 +02:00
sudden6
f82f57ec91
refactor: don't pass ToxPk as QString 2017-10-06 23:57:55 +02:00
tox-user
b36a7bdec9 refactor(settings): use constants in audio quality setting 2017-09-30 12:52:09 +02:00
tox-user
7ed2d97aad feat(settings): make audio quality setting persistent 2017-09-29 12:33:30 +02:00
sudden6
ed634ae0f4
Merge pull request #4610
drswinghead (1):
      feat(settings): add group chat local member black list
2017-09-19 21:23:55 +02:00
sudden6
9c01eec268
Merge pull request #4607
anthony.bilinski (1):
      fix(receipts): Prevent double message send for received receipt
2017-09-17 23:19:24 +02:00
drswinghead
27ecace752 feat(settings): add group chat local member black list 2017-09-16 10:22:08 +08:00
Diadlo
2020f7c4f8
refactor: Add signals in settings 2017-09-10 13:21:33 +03:00
anthony.bilinski
e9d63397e1 fix(receipts): Prevent double message send for received receipt
Fixes #2726
Register for receipt handling only once, cache receipts that are received before message is writen to history and mark a message as sent once both its receipt has been received and it has been writen to history
2017-09-06 23:35:42 -07:00
Diadlo
99ebb73562
refactor: Remove deprecated methods to get id 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
1914f52cdf
chore(audio): format code 2017-08-05 21:12:34 +02:00
sudden6
9d0498e0cf
feat(audio): add setting to switch between new and old audio backend 2017-08-05 21:12:33 +02:00
Maxim Biro
e7b5c93bfe fix(build): fix sqlcipher header inclusion 2017-07-24 08:16:23 -04:00
sudden6
da4f6222d8
fix(settings): set default values for some important settings
fix #4513
2017-07-16 13:25:55 +02:00
Diadlo
dd9b324ec3
chore(qt): Remove old qt code 2017-06-26 23:06:55 +03:00
tWido
3257770bfa feat(chatform): Highlight chat history
Calendar dates with chat history highlighted with bold
Fixes #2296
2017-06-25 21:23:04 +02:00
Diadlo
6045e57829
refactor: Make constructor with one argument explicit 2017-06-12 13:46:43 +03:00
Diadlo
365d703e8a
perf: Pass std::function by reference 2017-06-12 13:46:38 +03:00
Diadlo
d90a60bdf7
revert: "fix: Replace hardcored roaming path on QStandartPath"
Fix #4449
This reverts commit f616ff36b6.
2017-06-10 09:55:29 +03:00
Diadlo
f616ff36b6
fix: Replace hardcored roaming path on QStandartPath
Fix #4436

In most system user can change AppData location, so hardcored path can
lead to the wrong directory.
2017-06-04 23:09:40 +03:00
Diadlo
65b1463933
refactor(core): Move setAvatar to profile from core 2017-05-24 19:43:47 +03:00
Mario Preksavec
246e23abf3 fix: gcc-7 build 2017-05-14 20:38:02 +02:00
Diadlo
49e9eb8de2
refactor(core): Move saving request to history to Profile 2017-05-08 22:12:14 +03:00
sudden6
6a6e30d639
fix(settings): remove legacy code 2017-05-06 15:21:37 +02:00
sudden6
5b31cf6d9d
fix(profile): toxsave wasn't correctly encrypted
fix #4344
2017-04-23 13:51:31 +02:00
noavarice
39035f7b68 refactor: returned correct code format and some other small changes 2017-04-19 18:19:19 +03:00
noavarice
5329899d86 docs: added docs for SmileyPack 2017-04-19 18:19:19 +03:00
noavarice
935c1a2aa8 refactor: removed meaningless 'isValid' method 2017-04-19 18:19:19 +03:00
noavarice
e0f1a01a74 refactor: SmileyPack refactoring
Brief list of changes:
  - removed unnecessary headers;
  - QList several times replaced with QVector for faster iteration;
  - some other things
2017-04-19 18:19:18 +03:00
sudden6
084f3b0626
feat: stop using plaintext passwords in the code 2017-04-08 12:24:29 +02:00
sudden6
3e50757ddb
refactor(profile): reduce code duplication 2017-03-28 21:57:13 +02:00
sudden6
6a16a2bdbc
feat(groups): add option to automatically accept groupchat invites
Allows to accept group chat invites from select contacts automatically.

fix #1197
2017-03-25 21:50:00 +01:00
Yuri
54fb9f73cc fix(db): Made RawDatabase::execLater executes statements asynchronously.
Currently RawDatabase::execLater sometimes executes dependent statements
synchronously.
Qt::QueuedConnection ensures they are really executed later.
2017-03-03 01:04:46 -08:00
Zetok Zalbavar
80f5de31b3
style: reformat current C++ codebase using clang-format 2017-02-26 11:52:45 +00:00
tux3
c75ee8a661
fix: Various IPC event handling and related bugs on startup
Fixes #1926 : When an IPC event was processed locally, if the window was closed before the core could start, the event handler would be forever stuck in the background waiting for the core to start. We fix this by substituting QApplication::quit() by a Nexus::quit() function and a Nexus::isRunning() function, which gives us a condition for exiting blocking processEvents() loops. We cannot simply use QApplication::quit(), because this function has no effect before the start of the event loop.

The problem was further exacerbated by the Tox URI event handler being (incorrectly) blocking. The IPC owner would block in this event handler, and the sender of the event would give up waiting and process the event itself a second time, potentially triggering the first bug. We fix the event handlers accordingly to be (mostly) non-blocking.

Also fixes a related deadlock between ~Core and ~Profile in the case of an early exit
2017-02-17 17:18:52 +01:00
sudden6
7cd800374a
refactor(encryption): move everything to ToxEncrypt
This commit removes coreencryption.cpp and replaces it with ToxEncrypt.
2017-02-07 20:05:32 +01:00
sudden6
38cecdc780
refactor(history): remove deprecated historykeeper
This commit removes historykeeper and code only used by it.

BREAKING CHANGE:
qTox can't open old historykeeper chatlogs after this commit. Use
previous versions to migrate to the new database.
2017-02-05 22:20:12 +01:00
Diadlo
22d3aa11de
fix: Add workaround for FreeBSD and ICU
This patch fix problem with ICU on FreeBSD
Implementation by @VVD
2017-01-24 23:30:08 +03:00
Diadlo
fcd8eed7cd
style: Fix style of a lot of pointers 2017-01-06 23:03:58 +03:00
sudden6
0e4cff884d
fix(avatar): wrong conversion of own ToxId
e07d8d358f broke the loading of the own
avatar

fix #4048
2017-01-05 10:54:35 +01:00
Diadlo
29bb319025
refactor(friend): Small refactoring
Method renamed to be same with `Group` i.e. `getGroupId`, changed Friend
eventFlag type on bool
2017-01-05 00:56:32 +03:00
sudden6
e07d8d358f
feat(toxid): reduce passing Tox IDs around
reasons:
- most of the time we don't even know the Tox ID but only the Public Key
- use well defined objects instead of strings that could be anything
2017-01-04 00:20:24 +01:00
Zetok Zalbavar
d4ac13dbf4
revert: "refactor: Added to include path and exclude it from all includes"
Revert needed, since otherwise there is no way to do automatic sorting
of includes.
Also reverted change to the docs, as leaving it would make incorrect
docs.

In case of conflicts, includes were sorted according to the coding
standards from #3839.

This reverts commit b4a9f04f92.
This reverts commit 5921122960.
2016-12-29 16:10:53 +00:00
sudden6
94ec5614f2
feat(toxid): Improve the ToxId class 2016-12-29 13:36:56 +01:00
Diadlo
074f345b2e
style(smileypack): Small style improvements 2016-12-29 00:44:15 +03:00
Diadlo
56d656502c
fix: Fix problem with unicode symbols on FreeBSD
Fix #4012
2016-12-29 00:44:15 +03:00
Diadlo
32909559b6
docs: Added docs to PassKeyDeleter and updated Core methods 2016-12-19 00:42:54 +03:00
iphydf
de407c4714
chore: Update qTox to the latest toxencryptsave API.
Since ownership is somewhat unclear, we now use shared_ptr to pass
these around instead of unique_ptr.
2016-12-19 00:42:54 +03:00
Diadlo
32bbdb2b98
docs(profile): Removed @example tag from createProfile method 2016-12-18 17:24:37 +00:00
Zetok Zalbavar
231e1d746a
fix: remove unnecessary variable when checking whether save is a TES
There is a reason why magic length is not exposed via TES header –
knowing it is not needed. Client should check whether file is a TES with
a define that is provided in the public API.
2016-12-09 04:37:25 +00:00
Zetok Zalbavar
7b60a5dd36
chore: explicitly mention that copyright belongs to qTox contributors 2016-11-29 11:12:06 +00:00
Diadlo
b4a9f04f92
refactor: Added to include path and exclude it from all includes 2016-11-28 23:28:42 +03:00
sudden6
330d6405f7
Merge pull request #3827
sudden6 (3):
      feat(database): use own public key as salt to encrypt the database
      feat(database): make a backup before upgrading
      refactor(database): reduce line length in some places
2016-11-24 10:50:07 +01:00
tux3
a4bda26525
fix: dataToString correctness regression
It would incorrectly prepend garbage to the output and then truncate it, regression introduced in 6c150a04c0
2016-11-23 21:38:22 +01:00
sudden6
456c4455fb
refactor(database): reduce line length in some places 2016-11-22 08:18:35 +01:00
sudden6
c1d471faa1
feat(database): make a backup before upgrading
If anything is wrong with the newly encrypted db this will save the
data.
2016-11-22 08:18:34 +01:00
sudden6
c4b9d302d0
feat(database): use own public key as salt to encrypt the database
fixes #3583

BREAKING CHANGE:
The database will be encrypted with a new key, qTox versions before this
commit won't be able to decrypt the database.
2016-11-22 08:18:30 +01:00
Diadlo
b522da5bed
refactor(history): Moved creaton of RawDatabase from History constuctor 2016-11-06 12:37:39 +03:00
Zetok Zalbavar
64bbc6cfbb
style: change postfix increment to prefix increment 2016-11-03 07:57:14 +00:00
Alice Weigt
22b89beaf1 fix(settings): Change test sound button to checkbox
Fixes #3800 & #3809
2016-10-12 03:49:03 -07:00
Zetok Zalbavar
3c9f8a68e2
style: remove unnecessary semicolon for Q_DECLARE_FLAGS
Fixes a -Wpedantic warning.
2016-10-05 12:18:09 +01:00
Zetok Zalbavar
bbdd4f044c
fix(UI): bump default emoticon size, since otherwise it can be too small
E.g. #3777
2016-10-04 10:05:47 +01:00
sudden6
29da2210c9
feat(smileys): try to load smileys from XDG_DATA_DIR directories
This provides a location where users can store custom smiley packs
2016-10-01 23:22:33 +02:00