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

1484 Commits

Author SHA1 Message Date
Anthony Bilinski
91bcd211a7
refactor(netcam): remove GroupNetCamView class
Fix #5918
2020-01-26 04:05:39 -08:00
Anthony Bilinski
366478fca9
chore: remove "Hardware" from issue template
For the grand majority of bug reports, user hardware isn't relevant. Figuring
out what to write isn't always trivial.
2020-01-26 02:33:20 -08:00
Anthony Bilinski
49abc996ae
Merge branch 'v1.17-dev' 2020-01-19 16:16:57 -08:00
Anthony Bilinski
cf672375be
revert(toxme): remove toxme from qTox - the service is offline permanently
As of 2019-10-09, toxme.io was taken offline permanently. Remove UI and code
in qTox relating to it. Revert this commit if it comes back online in the
future.

Fix #5897
2020-01-16 13:28:41 -08:00
sudden6
547a038e48
refactor: remove AppImage update bridge
When re-evaluating our dependencies we decided that the update bridge
has a high potential for security issues because it's not widely used.
Additionally similar functionality is already present in qTox.
2020-01-13 11:19:01 -08:00
sudden6
5b3c8aec11
refactor: remove AppImage update bridge
When re-evaluating our dependencies we decided that the update bridge
has a high potential for security issues because it's not widely used.
Additionally similar functionality is already present in qTox.
2020-01-12 20:44:21 +01:00
Anthony Bilinski
f252816f55
Merge branch 'v1.17-dev' 2019-12-02 08:46:04 -08:00
Mick Sayson
e3e6e1d9c4
fix(history): Prevent invalid history access
* When the DB schema was too new we were accessing history anyways. This
has potential to just completely corrupt the DB
* When history was disabled there was a chance we would attempt to write
to history anyways. Added more checks in this area
* Chatform was accessing invalid iterators when there were no displayed
messages. Added a guard for this case
2019-12-02 03:04:53 -08:00
Anthony Bilinski
239dfdc65c
refactor(status): move isOnline into Status from Friend
Allows checking if a status if equivalent to Online without needing a Friend
class.
2019-11-25 20:52:06 -08:00
Anthony Bilinski
e9570eafdf
Merge branch 'v1.17-dev' 2019-11-25 16:56:50 -08:00
Anthony Bilinski
af19c0d73b
Merge pull request #5875
Mick Sayson (1):
      fix(chatform): Prevent date line oscillations maxing CPU
2019-11-23 17:27:36 -08:00
Anthony Bilinski
6179250458
Merge branch 'v1.17-dev' 2019-11-11 17:38:02 -08:00
Mick Sayson
64bae38b99 fix(chatform): Prevent date line oscillations maxing CPU
The previous implementation of hiding the date line would cause 100% cpu
usage. When the date line was shown it would hide the top line, causing
the date line to be hidden again due to a state change in which dates
was visible.

This is a minimal patch to work around the issue by pretending the line
covered by the date line is the first visible line when the dateline is
shown

Fixes #5620
2019-11-09 15:00:36 -08:00
Anthony Bilinski
f7d82a425d
Merge branch 'v1.17-dev' 2019-10-21 23:49:36 -07:00
Anthony Bilinski
89e94b6f89
fix(chatform): don't try to send empty action messages
Otherwise sending just "/me " calls down to core with 0-length action, which
causes a toxcore send error.

There may be messages that are stuck in history as pending with "/me " content,
causing them to fail to send on every start. Those should be moved to the new
broken_messages table, similar to stuck pending messages from #5776. There's no
reason this fix to stop adding more broken messages needs to wait on the
history fix, though.
2019-10-20 02:35:20 -07:00
Anthony Bilinski
1a726b54cd
fix(history): display broken messages UI with error icon
Allows users to still see their broken messages in the chatlog, but in a way
that's clear that they haven't been delivered and won't be sent.
2019-10-20 02:34:48 -07:00
Anthony Bilinski
527c7d2d3c
refactor(history): represent message state as enum class
ensures that only one state is set at a time, avoids managing multiple bools
2019-10-20 02:34:48 -07:00
Anthony Bilinski
cd75618e38
refactor(history): rename pending message variables
"Sent" to "Delivered", since that's what we're tracking also rename "isOffline"
to "isPending", which is boolean the same, but "isOffline" was opposite of its
correct value before, so boolean reverse the assignment.
2019-10-20 02:34:47 -07:00
Anthony Bilinski
1ad561ca4c
refactor(style): use only one of override, virtual, or final
following https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#Rh-override

virtual means exactly and only "this is a new virtual function."
override means exactly and only "this is a non-final overrider."
final means exactly and only "this is a final overrider."

Nothing was changed from e.g. override to final, just reduced duplication of
these labels.
2019-10-19 12:26:50 -07:00
Jimi Huotari
f9488bf966
refactor(Qt): use 'asprintf' instead of 'sprintf'
Deprecated since Qt 5.14.

- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=f8f592d5
2019-10-09 23:19:26 -07:00
sudden6
0e3cd7fe6b
Merge pull request #5829
jessica181920 (1):
      fix(i18n): Various English fixes
2019-09-28 14:25:18 +02:00
Mick Sayson
4b691f9392 fix(chatlog): Remove invalid usages of raw chatlog indexes
ChatLogIdx is a strong type where the underlying data is only supposed
to be used in very rare circumstances. The ChatLog providing the indexes
provides no guarantees about what the first ChatLogIdx or last
ChatLogIdx will be. This commit removes unnecessary casts to underlying
data and fixes assumptions made about the underlying data
2019-09-21 14:26:14 -07:00
Anthony Bilinski
7cd20f0e28
Merge branch 'v1.17-dev' 2019-09-16 13:22:15 -07:00
TriKriSta
bbbbc6aade
fix: hide current date at the top of the chat 2019-09-15 17:31:45 -07:00
jessica181920
11b34c84ef fix(i18n): Various English fixes
Consistency, typos, grammatical corrections, capitalization, punctuation,
etc.
2019-09-14 15:00:59 -04:00
Anthony Bilinski
8a210d524b
Merge branch 'v1.17-dev' 2019-09-02 21:22:04 -07:00
TriKriSta
5fc1afbab5 docs: add comments for functions that load history 2019-08-29 21:34:03 +03:00
Anthony Bilinski
fd0a98fd90
Merge branch 'v1.17-dev' 2019-08-29 00:47:32 -07:00
TriKriSta
38df897e02
fix: scroll bar stuck to bottom (fix #5755) 2019-08-28 18:07:55 -07:00
sudden6
909deb0feb
fix: remove reconnect button
The button didn't work that well and caused all kinds of issues inside
the code, so I replaced it by a notice that changes to the Advanced
settings only apply after a restart of qTox.

In the process I also removed all code that was exclusively used for
that feature.

We may add it back later when qTox's internal architecture makes it less
cumbersome.
2019-08-28 16:36:09 -07:00
Anthony Bilinski
9819aefc44
fix(chatform): fix stuck spinner on messages not at end of chatform
Fix #5763

remove restriction to not update messages not in last slot in chatform,
allowing completed messages to be timestamped at any position. Fixes
stuck spinner in cases where a second message was sent quickly, or an
incoming message was received before the last send message was completed.
2019-08-28 14:46:44 -07:00
TriKriSta
6de307e6b9
refactor: optimize load messages during the search 2019-08-28 14:26:14 -07:00
TriKriSta
dbf880078e
feat: save selected search text after scrolling up 2019-08-28 14:26:08 -07:00
TriKriSta
ce570927b1
feat: check chat status before start a search 2019-08-28 14:26:03 -07:00
TriKriSta
acb91ed731
fix: data validation during the search (fix: #5791, #5723) 2019-08-28 14:25:57 -07:00
sudden6
ff5f3190cf
Merge pull request #5795
Jimi Huotari (2):
      refactor(Qt): use 'QLatin1String' instead of 'QLatin1Literal'
      refactor(Qt): use 'asprintf' instead of 'sprintf'
2019-08-28 22:07:27 +02:00
TriKriSta
e2efe443fe refactor: optimize load messages during the search 2019-08-23 16:36:29 +03:00
Jimi Huotari
9d6e84906e refactor(Qt): use 'asprintf' instead of 'sprintf'
Deprecated since Qt 5.14.

- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=f8f592d5
2019-08-23 14:55:04 +03:00
TriKriSta
a6a0481ddc feat: save selected search text after scrolling up 2019-08-22 15:11:18 +03:00
TriKriSta
76679de2e0 feat: check chat status before start a search 2019-08-21 16:36:59 +03:00
TriKriSta
e3c35c9153 fix: data validation during the search (fix: #5791, #5723) 2019-08-21 15:26:18 +03:00
sudden6
040c6b95ae
fix(chatform): fix a crash when there are no messages to load 2019-08-03 13:13:37 +02:00
antony-jr
f4d9cff7d4
chore(build): format code 2019-07-27 16:49:21 +05:30
antony-jr
5eea8ba27f
feat(build): add the delta updater 2019-07-27 16:49:20 +05:30
TriKriSta
5aeac56b76 feat: prohibition to remove messages in group chat 2019-07-22 21:16:26 +03:00
TriKriSta
0a9e72020e refactor: edit load history when scrolling 2019-07-22 21:16:26 +03:00
TriKriSta
b807998fe9 refactor: simple edit code 2019-07-22 21:16:26 +03:00
TriKriSta
4c7ecb6024 feat: remove part messages from chat 2019-07-22 21:16:26 +03:00
TriKriSta
c2d5b422b3 feat: edit position chat after load history 2019-07-22 21:16:26 +03:00
TriKriSta
2a9648d12c feat: add action "Go to current date" 2019-07-22 21:16:26 +03:00
TriKriSta
8c4b1e00a1 feat: edit load history in search 2019-07-22 21:16:26 +03:00
TriKriSta
6de1173c17 feat: edit function "Load chat history" 2019-07-22 21:16:26 +03:00
TriKriSta
b705ac8060 feat: load messages from the database after date 2019-07-22 21:16:26 +03:00
TriKriSta
fb2957c5ee feat: load messages from the database before date 2019-07-22 21:16:26 +03:00
jenli669
fb3f44721e
refactor(AVForm): replace QDesktopWidget::screenCountChanged 2019-07-13 10:27:02 +02:00
jenli669
16452eff0c
refactor(AVForm): replace QDesktopWidget::resized 2019-07-13 10:26:35 +02:00
jenli669
6e71ccfdad
refactor(widget): replace qSort with std::sort in groupchatform 2019-07-13 08:01:39 +02:00
jenli669
adab063a49
refactor(widget): make PrivacyForm use signals for clearAllReceipts() 2019-06-30 10:09:30 +02:00
jenli669
20979744c9
refactor(chatform): make ChatForm use signals for updateFriendActivity 2019-06-30 10:09:30 +02:00
jenli669
c28b2604cd
refactor(widget): remove Widget singleton access from GeneralForm 2019-06-30 10:09:29 +02:00
Anthony Bilinski
e8d48e8788
fix(chatform): add hack to avoid Qt bug on chat show
Fix #5570
2019-06-28 09:42:50 -07:00
jenli669
04a9bc46f4
docs(copyright): update and add copyright info
zealously updates and adds qTox copyright information.

Fixes #5713
2019-06-28 01:18:26 +02:00
Mick Sayson
ed514d7166 refactor(chatform): Remove message handling logic from gui path
Functional changes
* Offline messages are still sent when the chat log is cleared
* Spinner now does not wait for history to be complete, just a receipt
  from our friend
* Export chat and load chat history are now available in group chats
* Merged save chat log and export chat log
  * Note that we lost the info messages in the process

NonFunctional Changes
* FileTransferWidget slots only called for correct file
* Settings::getEnableGroupChatsColor now embedded in
GenericChatForm::colorizeNames
  * Settings::setEnableGroupChatscolor now emits signal connected to
GenericChatForm::setColorizedNames to keep state in sync
* Chatlog history not reloaded on setPassword()
  * I am pretty sure this had no purpose
* Removed a lot of responsibility from ChatForm
  * History moved to ChatHistory implementation of IChatLog
  * OfflineMsgEngine moved to FriendMessageDispatcher
  * Export chat and load chat history moved to GenericChatLog
    * Backed by IChatLog so can be used generically
  * Message processing moved to FriendMessageDispatcher
  * The action of sending files to coreFile is still handled by
  ChatForm, but displaying of the sent messages is done through IChatLog
  -> GenericChatForm
  * Search moved to ChatHistory/SessionChatLog
  * All insertion of chat log elements should be handled by
  GenericChatForm now
* Removed overlapping responsibilities from GroupChatForm
  * Search and message sending goes through ichatlog/messagedispatcher
  too
  * Lots of search functionality pushed down into IChatLog
* Some of the file logic was moved into Widget. This is mostly to avoid
  scope increase of this PR even further.
* History APIs removed that were no longer used
2019-06-21 11:01:35 -07:00
Anthony Bilinski
8568a14c93
Merge pull request #5688
Mick Sayson (3):
      feat(offlinemsg): Force offline messages to always be enabled
      refactor(offlinemsg): Decouple OfflineMsgEngine from other components
      feat(offlinemsg): Enable offline messages with no history
2019-06-09 01:37:26 -07:00
Mick Sayson
2283d0c1b0 feat(offlinemsg): Enable offline messages with no history 2019-05-26 15:33:51 -07:00
Mick Sayson
e5016337bb refactor(offlinemsg): Decouple OfflineMsgEngine from other components 2019-05-26 15:33:51 -07:00
Mick Sayson
d934cf372b feat(offlinemsg): Force offline messages to always be enabled 2019-05-26 08:45:42 -07:00
Monsterovich
84e41303ce fix(ui): don't forget to update UI 2019-05-23 01:42:20 +02:00
Monsterovich
3b305dd05a fix(ui): Added option to hide message sender and contents 2019-05-23 00:44:26 +02:00
Monsterovich
1bbe210c25 fix(ui): Improved notifications 2019-05-22 19:48:23 +02:00
sudden6
22362d2940
refactor(audio): Remove Audio singleton
This commit finally removes the Audio singleton and allocates the audio
backend in main.cpp.
2019-05-21 21:05:27 +02:00
Anthony Bilinski
d55332ee0a
fix(activity): change last activity time from QDate to QDateTime
* Allows for strict sorting based on last activity in the future
2019-05-17 09:09:51 -07:00
Anthony Bilinski
87a53fad96
fix(ui): don't duplicate group peer name in tooltip 2019-05-15 12:00:50 -07:00
Anthony Bilinski
b7bd7c6215
refactor(group): move peer tracking logic to Group from GroupChatForm
* increase signal granularity
* reduce state in GroupChatForm
* remove differentiation of "joined" and "online" peers, it doesn't exist in toxcore and can't be tracked reliably in qTox
* add system message when peer name changes, even if due to alias
* add system message when self name changes, for clarity
2019-05-15 12:00:44 -07:00
sudden6
cef773c4f6
fix(AVForm): don't load gain when device not ready
This fixes a problem when the audio backend is not yet ready, but we try
to access it's volume.
2019-05-09 12:39:50 +02:00
sudden6
e7e35642d7
refactor(audio): introduce IAudioSource interface and use it 2019-05-05 12:49:56 +02:00
sudden6
a8546fe8cb
refactor: use smart pointer instead of raw pointer 2019-04-26 16:26:57 +02:00
sudden6
47402fae90
refactor: run formatting script 2019-04-25 21:30:19 +02:00
sudden6
5b908184fc
refactor(audio): move audio output to new IAudioSink interface 2019-04-25 21:30:19 +02:00
Anthony Bilinski
dd007877a9
refactor(status): move Status out of Widget 2019-04-24 10:35:15 -07:00
Anthony Bilinski
e1f7edd298
chore(i18n): add pt_BR translation 2019-04-24 09:01:32 -07:00
Anthony Bilinski
0dc46cdc81
fix(ui): fix typo, add plural to translation 2019-04-21 20:06:34 -07:00
Diadlo
15d72a9610
fix: Call 'tr' in place, where text is accessible 2019-04-21 14:42:44 +03:00
Anthony Bilinski
c0fdc42e33
refactor(mime): store ToxPk and GroupId as mimedata 2019-04-16 00:51:35 -07:00
Anthony Bilinski
f7603c294b
refactor(id): use toxPk and groupId instead of core numbers
Allows creating classes for blocked friends which have toxPks but no
core number.
2019-04-16 00:44:16 -07:00
Anthony Bilinski
ec500b6673
refactor(status): add Blocked status, deduplicate status parsing
Blocked status will represent friends who are removed from Toxcore, but who still exist in UI and can be readded to Toxcore at a future time using their public key. Blocked friends are similar to offline friends, but have a different status icon and will be seperated in the friends list.
2019-04-14 13:35:46 -07:00
Anthony Bilinski
97d05f9d67
refactor(id): make ContactId interface, implement GroupId
Precursor for group history, friend blocking
2019-04-13 12:58:25 -07:00
sudden6
a4ad8c71b8
refactor(core): make CoreFile its own independent class
This paves the way for better testability of Core as well as CoreFile.
2019-04-10 10:28:13 +02:00
sudden6
66f72ee863
refactor(core): remove unused function
This function would always return true for any non destroyed Core
object.
2019-04-10 10:28:12 +02:00
TriKriSta
db962690bd style: edit styles for myltiple windows 2019-03-31 19:54:12 +03:00
TriKriSta
d1715500f7 style: use css files for toxId 2019-03-31 17:57:17 +03:00
Anthony Bilinski
e7f523bc9a
refactor(messages): don't use receipt 0 as unsent, simplify class state 2019-03-26 19:28:29 -07:00
Anthony Bilinski
477950737f
fix(UI): update peer label's style after setting audio playing property 2019-03-24 17:41:28 -07:00
Anthony Bilinski
7f802f593e
fix(ui): update UI when leaving group call due to being last member 2019-03-24 17:39:55 -07:00
sudden6
cd50376c2f
fix(notification): implement review comments 2019-03-24 11:58:10 +01:00
sudden6
4cb00957f3
feat(notify): integrate desktop notifications into settings 2019-03-24 11:58:10 +01:00
Anthony Bilinski
e489168775
fix(groups): add peers if already playing audio when netcam created 2019-03-08 09:08:29 -08:00
Anthony Bilinski
7c13b8b7db
fix(groups): don't add peers to netcam view until they play audio
Fix #5536
2019-03-08 09:08:29 -08:00
sudden6
86415cb71c
Merge pull request #5564
TriKriSta (1):
      refactor: edit styles
2019-03-07 11:20:09 +01:00
sudden6
80f5cb5f7a
fix(audio): input device not closed under certain circumstances
fixes #3625

Input device was not closed after the following steps:
- Select "Disabled" for audio source
- Switch away from A/V settings
- Switch back to A/V settings
- Switch to some audio input device
- Switch away from A/V settings
-> audio input device still open, but unused
2019-03-04 23:20:36 +01:00