Mick Sayson
fd243738c1
fix(groups): Fix invalid group list on group member join
...
The call to Core::getGroupPeerNames is expected to return a list where
the index in the list is the group member id. In any error case we were
previously breaking this constraint. It turns out that every time
someone joins a group we call this function before they have a valid
name resulting in their id not being added to the list.
This fix ensures that the list coming out of Core::getGroupPeerNames
always has a full list.
Fixes #5838
2019-11-09 14:21:12 -08:00
Anthony Bilinski
17bbe24ec5
chore: log schema version when we error due to future db
2019-11-04 14:42:20 -08:00
Anthony Bilinski
f7d82a425d
Merge branch 'v1.17-dev'
2019-10-21 23:49:36 -07:00
Anthony Bilinski
746314baf2
fix(history): move stuck action messages to broken_messages table
...
Before a bug in qTox would make it possible for a user to try to send an empty
action type message. This would fail to send at toxcore, but still be persisted
in history, causing it to fail every time FauxOfflineEngine tried to resend
it. Moving these stuck messages into the broke_messages table will stop qTox
from attempting to deliver them on each connect, and display in the GUI to
users that the messages aren't really pending anymore.
2019-10-20 02:35:20 -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
f6a15366ef
fix(history): select broken messages from History, track in ChatLogMessage
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
b28dc30061
fix(history): move stuck pending message into broken_messages table
...
Fix #5776
Due to a long standing bug, faux offline message have been able to become stuck
going back years. Because of recent fixes to history loading, faux offline
messages will correctly all be sent on connection, but this causes an issue of
long stuck messages suddenly being delivered to a friend, out of context,
creating a confusing interaction. To work around this, this upgrade moves any
faux offline messages in a chat that are older than the last successfully
delivered message, indicating they were stuck, to a new table,
`broken_messages`, preventing them from ever being sent in the future.
2019-10-20 02:34:47 -07:00
Anthony Bilinski
f72f3f714d
fix(history): handle errors during db upgrade
2019-10-20 02:34:47 -07:00
Anthony Bilinski
dacfcdadac
refactor(history): apply db schema upgrade one version at a time
...
This allows upgrade steps to query the db at the last version and run C++ code
on the results, then do a single transaction to make the upgrade, instead of
all actions of each upgrade step being required to be part of the overall
upgrade transaction.
2019-10-20 02:34:47 -07:00
Mick Sayson
dbef0b7508
fix(offlinemsg): fix offline message dispatching on history load
...
* Fix callback hookup order in ChatHistory
* Add correct call to SessionChatLog to insert an unfinished message
* Fix incorrect logic in parsing History database response
2019-10-20 02:34:47 -07:00
Anthony Bilinski
86b55a0fb0
fix(db): show full sqlite error message
2019-10-20 02:34:46 -07:00
Anthony Bilinski
d98fe85a58
fix(db): prepare and execute queued statements one at a time
...
* Allows for queued preparations to depend on the execution of previous statements
2019-10-20 02:34:46 -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
jenli669
b4bc09345c
fix(loginScreen): make loginScreen return values comply with Qt standards
...
This commit makes LoginScreen return QDialog::Rejected (0) and
QDialog::Accepted (1) instead of C standard return values. This should be more
robust with regards to special cases in Qt implementation.
Fixes #5781
2019-10-18 16:24:53 -07:00
Anthony Bilinski
524a6b8722
Merge branch 'v1.17-dev'
2019-10-18 11:18:39 -07:00
Anthony Bilinski
e85d3f522a
fix(icon): use Qt tray icon in all cases, remove platform specific backends
...
qTox added specialized tray icon backends over time to work around bugs with
the default implementation, since then our GTK+2 backend has stopped working,
our appindicator backend was never selected by default by cmake, and
statusnotifier was never selected at SystemTrayIcon construction, leaving us
only ever using the broken GTK+2 backend, or theoretically the Unity backend,
which I didn't see selected on Ubuntu 16.04 Unity. In all other cases we would
fall back to the Qt backend.
Qt icon has improved over time, and our platform specific icons have become
stale, with GTK+2 becoming deprecated and GTK+3 not having a similar feature,
QSystemTrayIcon has been tested on a variety of DEs and works as well or better
in all cases, as shown in the table at
https://github.com/qTox/qTox/issues/5881#issuecomment-541892457
Fix #5881
Fix #5859
2019-10-16 13:27:29 -07:00
Anthony Bilinski
73fedbba79
Merge branch 'v1.17-dev'
2019-10-10 03:11:19 -07:00
Jimi Huotari
c20e1c20e3
refactor(Qt): use 'storeRelaxed()' and 'loadRelaxed()'
...
This fixes build with Qt 5.14 by replacing the deprecated
QAtomic::load() and store() functions with the new ones.
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=79bdc7cf
2019-10-09 23:19:27 -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
Jimi Huotari
7f74d41586
refactor(Qt): use 'QLatin1String' instead of 'QLatin1Literal'
...
This is an undocumented Qt 2/3/4 remnant, deprecated in Qt 5.14.
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=3e75c296
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=45373c19
2019-10-09 23:19:26 -07:00
Anthony Bilinski
731a49854a
fix(core): avoid logging which bootstrap node is being connected to
...
Errors are parsed and printed, but which specific node is being connected to
isn't very relevant to any errors that would occur, and the nodes list is
already updated to prune offline nodes based on nodes.tox.chat periodically.
This provides some extra privacy about which connections are being made,
even though the bootstrap nodes are already public.
2019-10-09 23:18:34 -07:00
Anthony Bilinski
64ebe01f9b
refactor(core): change hideous error parsing macro to overload
...
Reduce type duplication by caller, and stop calling functions based on string
concatenation
2019-10-03 19:44:35 -07:00
Anthony Bilinski
11ef88a8ac
refactor(core): use automatic memory for toxcore string buffers
...
Avoid reinterpret_casts in Core, offload reinterpretation to model classes
2019-10-02 02:15:21 -07:00
Anthony Bilinski
f77396a09e
refactor(core): parse and log all toxcore errors
...
Use a macro to embed line number of call sight, instead of just using line
number of log site, since logger functions can be called from different
toxcore API usages.
2019-10-02 02:15:21 -07:00
Anthony Bilinski
2e173ec6ad
refactor(core): move stateless parsing functions to anonymous namespace
2019-10-02 02:15:21 -07:00
sudden6
ffcf501ba4
Merge pull request #5850
...
Jimi Huotari (2):
refactor(Qt): use 'QLatin1String' instead of 'QLatin1Literal' part 2
refactor(Qt): use 'storeRelaxed()' and 'loadRelaxed()'
2019-09-29 14:00:45 +02:00
Anthony Bilinski
b95bac238d
fix(chatlog): update precise selection when chatlog content changes
...
Fix #5769 . Precise selections (within one chatline) need to be invalidated when
the line they are apart of is removed from the chatlog.
2019-09-28 18:00:20 -07:00
Anthony Bilinski
08b2c848e2
refactor(chatlog): use enum class instead of enum to avoid implicit casts
2019-09-28 17:07:06 -07:00
sudden6
0e3cd7fe6b
Merge pull request #5829
...
jessica181920 (1):
fix(i18n): Various English fixes
2019-09-28 14:25:18 +02:00
Jimi Huotari
82b61d416f
refactor(Qt): use 'storeRelaxed()' and 'loadRelaxed()'
...
This fixes build with Qt 5.14 by replacing the deprecated
QAtomic::load() and store() functions with the new ones.
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=79bdc7cf
2019-09-25 13:48:08 +03: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
af02542e05
fix(db): prepare and execute queued statements one at a time
...
* Allows for queued preparations to depend on the execution of previous statements
2019-09-17 00:49:27 -07:00
Anthony Bilinski
e4f73011f9
fix(core): don't log critical on every group join
...
It's expected behaviour that the peer is unknown when first joining a group.
Fix #5118
2019-09-17 00:45:17 -07:00
Anthony Bilinski
7cd20f0e28
Merge branch 'v1.17-dev'
2019-09-16 13:22:15 -07:00
Anthony Bilinski
9e70dbff4b
Merge pull request #5837
...
jessica181920 (1):
fix: Remove unnecessary null pointer check
2019-09-16 13:09:38 -07:00
jessica181920
20f948bc08
fix: Remove unnecessary null pointer check
...
Fixes #5785
2019-09-16 14:22:40 -04:00
Anthony Bilinski
3d7a872f1a
fix(core): save tox profile when updating group or friend states
...
Makes sure persistent groups are stored in the case of a qTox crash.
2019-09-15 19:04:02 -07:00
Anthony Bilinski
f7a2a7d648
fix(widget): only change group title once
...
Before we were connecting the same signal to the same slot for each group we created.
2019-09-15 19:04:02 -07:00
Anthony Bilinski
602671c9dc
fix(core): don't set core status on connect, just update UI
2019-09-15 19:04:02 -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
jessica181920
e6381861c8
fix: Remove empty file
...
Removed an unused file
2019-09-14 02:24:59 -04:00
Mick Sayson
74d0b47ceb
fix(chatlog): Prepare geometry changes on chatline proxy
...
Closes #5818 . If output of boundingRect() changes for a QGraphicsItem
prepareGeomeotryChange() must be called.
2019-09-13 14:41:10 -07:00
bodwok
c37a05f40c
fix(login): fix a crash when many dialogs are open
2019-09-10 23:57:55 +02:00
Anthony Bilinski
8a210d524b
Merge branch 'v1.17-dev'
2019-09-02 21:22:04 -07:00
jenli669
bd034e130d
docs(usermanual): Add information about commandline options
2019-09-02 21:05:04 -07:00
jenli669
31fec7488f
feat(proxy): provide commandline tools for proxy settings
2019-09-02 21:05:01 -07:00
sudden6
2dea6d2c1f
Merge pull request #5789
...
jenli669 (2):
feat(proxy): provide commandline tools for proxy settings
docs(usermanual): Add information about commandline options
2019-09-02 18:29:06 +02:00
jenli669
79128b445d
docs(usermanual): Add information about commandline options
2019-09-02 17:28:02 +02:00
sudden6
2ea5030958
fix(widget): don't try to play audio if it's disable
2019-08-30 14:07:19 +02:00
Anthony Bilinski
2bba12175e
fix(chatlog): update multi line selection on chatlog change
...
Fixes crash due to out of bound access. Fixes selection box jumping on history load.
Fix #5769
2019-08-30 03:50:25 -07:00
Anthony Bilinski
badef48c3a
Merge pull request #5777
...
TriKriSta (2):
fix: scroll bar stuck to bottom (fix #5755 )
docs: add comments for functions that load history
2019-08-29 15:09:06 -07:00
Anthony Bilinski
9dd083978e
fix(ipc): handle ipc failure gracefully
...
Allows running qTox inside jails that block IPC.
Fix #5740
2019-08-29 13:55:54 -07:00
TriKriSta
5fc1afbab5
docs: add comments for functions that load history
2019-08-29 21:34:03 +03:00
Anthony Bilinski
64aa3eae4d
fix(history): select only pending history for the requested friend
2019-08-29 10:39:06 -07:00
jenli669
3e1e1f6087
feat(proxy): provide commandline tools for proxy settings
2019-08-29 13:43:27 +02: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
177bf12f11
fix: update workerStb
2019-08-28 14:26:20 -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
0a30c1b1c0
fix(profile): load settings before starting Core
...
This is a quick fix to load settings before Core is started. Ideally
this would not need to be inside the Profile, but at the moment the
decryption key is not available before starting Core.
2019-08-28 14:25:06 -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
sudden6
834baff556
Merge pull request #5793
...
TriKriSta (5):
fix: data validation during the search (fix : #5791 , #5723 )
feat: check chat status before start a search
feat: save selected search text after scrolling up
refactor: optimize load messages during the search
fix: update workerStb
2019-08-28 21:13:38 +02:00
sudden6
bb26d4a086
fix(profile): load settings before starting Core
...
This is a quick fix to load settings before Core is started. Ideally
this would not need to be inside the Profile, but at the moment the
decryption key is not available before starting Core.
2019-08-27 09:40:35 +02:00
sudden6
db802822f3
fix: empty username causes mention on ever message
...
This fixes #2119 and additionally introduces the possibility to mention
users by their public key.
2019-08-26 23:22:17 -07:00
jenli669
74377430ce
feat(login): generate a GUI error when auto login fails
2019-08-26 23:21:40 -07:00
jenli669
e55e50d510
fix(login): show login screen when autologin fails
...
fixes #5781
2019-08-26 23:18:13 -07:00
sudden6
641fba3553
fix: empty username causes mention on ever message
...
This fixes #2119 and additionally introduces the possibility to mention
users by their public key.
2019-08-26 19:08:34 +02:00
TriKriSta
dedbd184b0
fix: update workerStb
2019-08-23 16:48:21 +03: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
Jimi Huotari
ec7d66e96b
refactor(Qt): use 'QLatin1String' instead of 'QLatin1Literal'
...
This is an undocumented Qt 2/3/4 remnant, deprecated in Qt 5.14.
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=3e75c296
- https://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.14&id=45373c19
2019-08-23 14:54:08 +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
jenli669
8832234758
feat(login): generate a GUI error when auto login fails
2019-08-13 21:25:55 +02:00
jenli669
a3bbf5c41d
fix(login): show login screen when autologin fails
...
fixes #5781
2019-08-12 23:11:18 +02:00
jenli669
49c8f9b9b5
fix(profile): write .tox file immediately on creation
...
Fixes issue where .tox file of a new profile wasn't written until
connection was established.
2019-08-09 22:48:14 +02:00
jenli669
c87682cde9
refactor(Profile): clang-format affected files
2019-08-09 22:48:14 +02:00
jenli669
00449937d4
refactor(profile): simplify Profile constructor
...
Simplifies Profile constructor by passing Settings instance by
reference during loadProfile and createNewProfile calls.
2019-08-09 22:48:14 +02:00
jenli669
5a3b720513
refactor(profile): extract loadProfile error logic
2019-08-09 22:48:06 +02:00
jenli669
1da963eced
refactor(settings): declare createPersonal const
2019-08-04 21:25:25 +02:00
jenli669
d65aeffe07
refactor(profile): use const name reference in Profile()
2019-08-04 21:25:25 +02:00
jenli669
2d1d5b2a3e
refactor(profile): use const reference in createNew/loadProfile
2019-08-04 21:25:24 +02:00
sudden6
040c6b95ae
fix(chatform): fix a crash when there are no messages to load
2019-08-03 13:13:37 +02:00
jenli669
6c77d57da8
fix(groups): reduce group message size limit by 50
...
This commit fixes errors when sending large group messages stemming from inconsistencies in reported/true max message size in c-toxcore
Fixes #5760
2019-08-03 00:51:33 +02:00
jenli669
9099eea04f
fix(groups): remove logic that blocks parseConferenceSendMessageError
2019-08-03 00:09:05 +02:00
Anthony Bilinski
765fce94b7
fix(group): use valid pointer, allowing source invalidation
...
Fix #5681
2019-07-31 14:19:01 -07:00
bodwok
59a59fdc09
fix(chatform): crash after opening chat in new window
2019-07-29 15:51:45 +03:00
antony-jr
a9a953cf1c
fix(build): add required private slots
2019-07-27 16:49:21 +05:30
antony-jr
d23e4fd709
fix(build): fix ifdefs
2019-07-27 16:49:21 +05:30
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
dbf56581bb
refactor(widget): replace byteCount() with sizeInBytes in Qt 5.13
2019-07-17 00:14:20 +02:00
jenli669
1c94f090c8
refactor(widget): replace qt_mac_set_dock_menu() in widget
2019-07-14 23:52:44 +02:00
jenli669
dfe75fb101
refactor(widget): replace screenGeometry() when using Qt 5.13
2019-07-14 20:10:00 +02:00
jenli669
0ac5386786
refactor(widget): use drawRoundedRect in callconfirmwidget
2019-07-14 12:08:37 +02:00
jenli669
b45ba34be2
refactor(widget): replace fontMetrics.width() when using Qt 5.13
2019-07-14 12:08:21 +02: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
ba9d724a17
refactor(widget): make contentDialog use swapItemsAt in Qt 5.13
2019-07-12 19:31:10 +02:00
jenli669
24811d1042
refactor(offlinemsg): replace qSort with std::sort
2019-07-12 08:07:03 +02:00
jenli669
8373e3abf3
refactor(nexus): replace deprecated QSignalMapper with lambda
2019-07-11 23:45:42 +02:00
jenli669
8a0197b37f
refactor(filetransfer): switch to Qt 5.13 compliant methods for OSX
2019-07-11 09:13:42 +02:00
sudden6
033c49aac3
Merge pull request #5738
...
bodwok (1):
fix(search): application crash when starting a search
2019-07-03 10:26:44 +02:00
bodwok
77d55d5d7d
fix(search): application crash when starting a search
2019-07-02 12:29:00 +03:00
jenli669
105f9ec401
refactor(widget): remove Widget::getInstance
2019-06-30 10:09:31 +02:00
jenli669
7fca93bde9
refactor(circlewidget): link CircleWidget ContentDialogs using signals
2019-06-30 10:09:30 +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
cff845ffa7
refactor(widget): make AboutFriendForm use FriendWidget as parent
2019-06-30 10:09:30 +02:00
jenli669
09f37a97f9
refactor(widget): make searchWidget always use signals
2019-06-30 10:09:29 +02:00
jenli669
c28b2604cd
refactor(widget): remove Widget singleton access from GeneralForm
2019-06-30 10:09:29 +02:00
jenli669
e57693fa8f
refactor(widget): stop using getInstance in Widget
2019-06-30 10:09:29 +02:00
jenli669
6d0ae67c9d
refactor(widget): remove Widget singleton in ContentDialog
2019-06-30 10:09:28 +02:00
Anthony Bilinski
33d42c9766
fix(groups): enable AV groups after load
...
Fix #5509
2019-06-29 16:17:58 -07: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
Anthony Bilinski
fae9066be6
fix(log): don't attempt to close log file if it failed to open on exit
2019-06-28 02:48:12 -07:00
sudden6
17083b50ba
Merge pull request #5721
...
jenli669 (1):
fix(core): correctly relink ui/core when core is changed
2019-06-28 09:02:15 +02:00
sudden6
79c88f2154
Merge pull request #5722
...
jenli669 (2):
docs(copyright): update and add copyright info
docs(copyright): Added copyright to apparmor .qtox files
2019-06-28 09:00:13 +02: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
Anthony Bilinski
7e07025d3c
fix(db): preserve user_version when adding or removing database password
2019-06-27 02:40:40 -07:00
Anthony Bilinski
dafb17b5fa
fix(db): support databases with either SQLCipher 3.x or 4.x defaults
...
Fix #5451
2019-06-27 02:40:40 -07:00
jenli669
17d5d55259
fix(core): correctly relink ui/core when core is changed
...
Widget was only connecting the Core to itself during initialization, but the Core instance could change during a restartCore call. This commit will make Widget link the Core to itself when it changes rather than only on initialization.
Fixes #5710
2019-06-26 11:14:20 +02:00
sudden6
a5754ab0bb
Merge pull request #5715
...
TriKriSta (1):
fix: check time for get num messages for friend (fix #5714 )
2019-06-26 08:57:17 +02:00
TriKriSta
b0f32379d0
fix: check time for get num messages for friend ( fix #5714 )
2019-06-25 20:44:21 +03:00
jenli669
f1b6df400f
refactor(startup): return early in makeToxPortable logic
2019-06-25 10:18:22 +02:00
jenli669
72b39adb75
refactor(startup): clang-format changes to edited files
2019-06-25 10:18:22 +02:00
jenli669
3ebea3cd4b
refactor(startup): use instance during profile import
2019-06-25 10:18:22 +02:00
jenli669
a7b4a09ccb
refactor(startup): handle autoLogin checkbox with signals
2019-06-25 10:18:20 +02:00
jenli669
8bc6fc9fd8
refactor(startup): condense and rename scanProfiles
2019-06-25 10:17:56 +02:00
jenli669
ac640bb4bd
refactor(startup): extract startup makeToxPortable logic
...
This facilitates later use without instantiating Settings object during startup
2019-06-25 10:17:53 +02:00
jenli669
68d24eec64
refactor(startup): remove unnecessary arg. passing in loadDatabase
2019-06-25 10:17:14 +02:00
jenli669
a7df4bfddb
refactor(startup): display last used profile when logging out
2019-06-25 10:17:14 +02:00
jenli669
b9876f3342
refactor(startup): check parser args with empty(), not size()
2019-06-25 10:17:14 +02:00
jenli669
ea2510157c
refactor(startup): decouple loginscreen from model
2019-06-25 10:17:07 +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
Mick Sayson
e607e6ecb4
refactor(chatlog): Add a class to manage history through the IChatLog interface
2019-06-21 11:01:35 -07:00
Mick Sayson
71f8220925
refactor(chatlog): Add class to manage underlying chatlog state
2019-06-21 11:01:35 -07:00
Mick Sayson
c779d52aef
refactor(messages): Replace QRegExp with QRegularExpression
2019-06-21 11:01:10 -07:00
Mick Sayson
fef89d70f9
fix(messages): Fix broken sanitized name for notifications/alert messages
...
* Note that this fix will not take effect until the message processor is
hooked up to widget and chatform
2019-06-21 11:01:10 -07:00
Mick Sayson
f0d840002a
refactor(messages): Create class to manage sending/receiving group messages from core
2019-06-21 11:01:10 -07:00
Mick Sayson
3fd4ce5952
refactor(core): Remove length parameter from splitMessages
...
* From the archeology I managed, MAX_GROUP_MESSAGE_LEN was a workaround
for an old toxcore bug. Testing removal of this parameter and replacing it
with tox_max_message_length() seems to work fine.
2019-06-21 11:01:10 -07:00
Mick Sayson
22a4c38bfd
refactor(messages): Create class to manage sending/receiving friend messages from core
2019-06-21 11:01:10 -07:00
Diadlo
678fc51c1b
refactor: Use model in chatroom widgets
2019-06-19 12:34:08 +03:00
Diadlo
0b9b538601
refactor: Inject DialogsManager in chatrooms
2019-06-19 12:34:06 +03:00
Diadlo
ac36ed8180
refactor: Create interfaces for ContentDialog and ContenDialogManager
2019-06-19 12:34:03 +03:00
Mick Sayson
15b9f9ff54
refactor(strongtype): Add property types to strong types
2019-06-18 13:38:02 -07:00
sudden6
63e903f950
Merge pull request #5695
...
jenli669 (2):
fix(group): set default group chat title when provided title is invalid
fix(group): Condense invalid title handling logic, clang-format
2019-06-18 21:32:14 +02:00
sudden6
0a95f9fc1d
Merge pull request #5698
...
jenli669 (2):
fix(group): always retain own name when updating group peer list
fix(group): fix logic oversight and code style
2019-06-17 23:37:40 +02:00
jenli669
aeddf4822a
fix(group): Condense invalid title handling logic, clang-format
...
This commit ignores the possibility of invalid length error being thrown
by a title after we've already checked its size the first time. We also
assume that a group chat cannot cease existing while we iterate over the
retrieved groups.
2019-06-15 00:37:02 +02:00
jenli669
a1a3749700
fix(group): fix logic oversight and code style
2019-06-15 00:34:02 +02:00
jenli669
f77a062120
fix(group): set default group chat title when provided title is invalid
...
Add handling logic for when a group exists but has an invalid title.
Title is created using the first 8 hexadecimals of the group chat id.
2019-06-15 00:15:48 +02:00
jenli669
c772db3baa
fix(group): always retain own name when updating group peer list
...
Adds special case for updating our own PK in regeneratePeerList
Format according to format-code.sh
Fixes #5686
2019-06-14 23:46:41 +02:00
jenli669
85f90ab221
fix(audio): correctly loop incoming call sound
...
Reordered audioNotification play/loop calls.
Fixes #5680
2019-06-12 22:59:04 +02: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
sudden6
01a53789be
Merge pull request #5674
...
Monsterovich (8):
fix(ui): Improved notifications
fix(ui): Added option to hide message sender and contents
fix(ui): minor fix
fix(ui): don't forget to update UI
fix(ui): apply requested changes
fix(ui): revert CMakeLists.txt
fix(ui): minor fix
fix(ui): fix 2
2019-05-27 23:46:54 +02: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
Anthony Bilinski
74828c92e5
fix(settings): apply toxcore settings for encrypted profiles
...
Fix #5682
2019-05-24 14:37:45 -07:00
Monsterovich
1c02dc2d6b
fix(ui): fix 2
2019-05-23 19:49:42 +02:00
Monsterovich
161a773dbb
fix(ui): minor fix
2019-05-23 19:42:09 +02:00
Monsterovich
f8b54b39f3
fix(ui): apply requested changes
2019-05-23 15:30:31 +02:00
Monsterovich
84e41303ce
fix(ui): don't forget to update UI
2019-05-23 01:42:20 +02:00
Monsterovich
4a6ebff63a
fix(ui): minor fix
2019-05-23 00:50:04 +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
17048c9cc4
feat(ui): add event icons for all statuses
...
Before we would alternate between status icon and online event icon.
Now each status has its own event version, so status doesn't appear to
alternate between online and the correct status.
2019-05-20 15:45:48 -07:00
Anthony Bilinski
c8b156b3a1
feat(settings): save friend list sorting mode
2019-05-17 10:33:47 -07:00
Anthony Bilinski
08a646e456
refactor(friendlist): deduplicate time category widget logic
2019-05-17 09:09:51 -07: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
ca397aebbf
fix(chatlog): update timestamp when db is slower than ack
...
* cannot invoke non-slot function
2019-05-17 03:42:01 -07:00
Anthony Bilinski
5f40ed8d8c
fix(friendlist): don't update friend's last activity on every start
...
Fix #5035
2019-05-16 22:49:49 -07:00
Anthony Bilinski
3f922100af
fix(friendlist): don't skip half of friends when sorting by activity
2019-05-16 17:20:50 -07:00
Anthony Bilinski
316893ace9
test(db): add db schema upgrade test
2019-05-15 13:26:21 -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
Anthony Bilinski
ef554496fa
refactor(group): rename class members
2019-05-15 11:54:10 -07:00
Anthony Bilinski
04f1ccda35
fix(group): treat empty peer names like empty friend names, by showing pk
...
Fix #5660
2019-05-15 11:52:27 -07:00
Anthony Bilinski
08839b7052
refactor(group): remove redundant updatePeer API
2019-05-15 00:13:55 -07:00
Anthony Bilinski
6801298e96
fix(groups): don't add friend alias to groups they aren't in
...
Fix #5657
2019-05-13 23:58:24 -07:00
Anthony Bilinski
6522988e8c
fix(corefile): cancel file transfer when peer goes offline
2019-05-09 21:42:47 -07:00
Anthony Bilinski
1628d495d1
fix(corefile): handle empty avatar transfer in core
2019-05-09 14:43:30 -07:00
Anthony Bilinski
b1eefc3f23
fix(corefile): include file id in map when sending empty avatar
2019-05-09 14:43:29 -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
Anthony Bilinski
c12605db6d
fix(history): create file_transfers table in upgrade
...
* bug introduced in refactor 329172321d
2019-05-09 00:19:46 -07:00
Anthony Bilinski
e9f8795197
fix(ui): show empty status as placeholder instead of as status
2019-05-07 14:34:08 -07:00
Anthony Bilinski
329172321d
refactor(history): create db as part of schema upgrade
...
* update user_version as part of transaction, so that we rollback if update fails and don't increment version
* differentiate between two user_version 0 versions, to avoid the SQL error on new profile creation
* make table creation dependent on user_version, instead of creating tables if not exists every start
2019-05-05 14:52:32 -07:00
sudden6
e7e35642d7
refactor(audio): introduce IAudioSource interface and use it
2019-05-05 12:49:56 +02:00
Anthony Bilinski
2ccb1ec150
fix(history): save name to history for friend invite message
...
This avoids an extra alias table entry for the empty name. It is not possible to safely heal existing databases, since friend invite message is a normal action message making it hard to change the alias ID used by it, and the alias in the alias table could be used by any other messages if the user's name has ever truely been blank. Just avoid the incorrect alias entry for new chats.
2019-05-01 02:35:32 -07: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
sudden6
c61fcd1f2b
refactor(audio): create interface for audio sinks and sources
2019-04-25 21:30:19 +02:00
Anthony Bilinski
881aa3083a
fix(status): use enum as UI property instead of untranslated string
...
Translation of getStatusTitle introduced in 15d72a9610
, breaking asset path from string.
2019-04-24 10:35:17 -07:00
Anthony Bilinski
e1876a2691
refactor(status): remove Status::getFromString and Status::getIconPixmap
...
getFromString is unused and incompatible with translated UI names, getIconPixmap is unused and completely generic.
2019-04-24 10:35:16 -07: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
sudden6
8e13d96aa6
Merge pull request #5627
...
TriKriSta (2):
style: edit styles
style: edit style for QSplitter
2019-04-20 23:31:03 +02:00
TriKriSta
504b9b2014
style: edit style for QSplitter
2019-04-19 02:04:41 +03:00
TriKriSta
00aac5f152
style: edit styles
...
add custom themes in AboutFriendForm
edit style for QSpinBox disable
edit palette color for dark theme and etc
2019-04-17 20:31:42 +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
0f5ad725d7
fix(groups): fix assert on group invite accept
2019-04-14 05:01:00 -07:00
Anthony Bilinski
df62463e27
fix(widget): fix freeze on showMainGui
...
Don't use copied uninitialized shadowing Core* in Widget
2019-04-13 20:04:24 -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
229ca307cf
refactor: remove unused functions detected by cppcheck
...
Note: Some more functions were detected, but this are the ones I'm
pretty sure we don't need.
2019-04-13 11:48:16 +02:00
sudden6
0da72e22d3
refactor: remove dead code
2019-04-13 11:48:12 +02:00
Anthony Bilinski
9b6019390b
refactor(groups): create Group on group join, assert Group exists on callbacks
2019-04-12 09:13:14 -07:00
Anthony Bilinski
63ef6e3ff4
Merge pull request #5613
...
TriKriSta (1):
feat: add border for qrcode
2019-04-12 01:49:09 -07:00
TriKriSta
191f89ffa4
feat: add border for qrcode
2019-04-10 23:26:48 +03: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
f03262e98b
refactor(core): remove duplicate code and checks
2019-04-10 10:28:13 +02:00
sudden6
b033b5095b
refactor(core): use mutable keyword instead of smart pointer
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
sudden6
93a7fdfe03
refactor(core): cleanup Core public functions
2019-04-10 10:28:09 +02:00
Anthony Bilinski
216766061c
refactor(avatar): split up setAvatar function
...
Don't convert to QPixMap before saving. Allow for use of file without re-encoding once metadata stripping is available for PNGs.
2019-04-08 23:45:47 -07:00
Anthony Bilinski
dfec934ff0
fix(alias): allow clearing alias from chatformheader
...
Now has the same logic as FriendWidget. Before clearing the field would result in no change being made, instead of clearing the alias.
2019-04-08 04:42:14 -07: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
bef9d4b773
fix(settings): load personal settings before constructing core
...
Fix proxy settings not being passed to toxcore, bug present since
8574162949
. Not present in any releases.
2019-03-30 02:40:51 -07: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
Anthony Bilinski
ca02dcefaa
Merge pull request #5584
...
TriKriSta (2):
style: edit colors for transfer widget
refactor: delete unused files
2019-03-24 15:14:51 -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
sudden6
66e2c01029
feat(notify): add desktop notifications using snorenotify
...
This commit adds very basic support for desktop notifications on friend
request, group invites, friend messages and group messages.
2019-03-24 11:58:09 +01:00
TriKriSta
5ed1065230
style: edit colors for transfer widget
2019-03-23 14:58:44 +02:00
Anthony Bilinski
18b52ce568
fix: register RowId meta type for use in fileInserted signal
2019-03-21 14:00:59 -07:00
sudden6
b7b9b58d42
refactor: make ToxCall non-moveable
...
We don't need move functionality and the code for it is complex and
error prone.
2019-03-17 19:32:34 +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
TriKriSta
f64bb48a92
refactor: edit styles
...
edit typing color and image,
move colors for background selected text and background searched text
in palette files
2019-03-02 01:58:58 +02:00
sudden6
acef759a58
feat: remove old boostrap nodes code
...
This commit replaces the bootstrap node list in the qtox.ini file with
the boostrapnodeupdater class.
2019-03-01 10:39:24 +01:00
sudden6
1f2bdf3a1b
feat: load bootstrap nodes directly from JSON
...
This allows us to easily update the list of bootstrap nodes.
2019-03-01 10:39:24 +01:00
sudden6
d6d433c617
Merge pull request #5558
...
TriKriSta (8):
style: add dark style
refactor: move palette colors in ini files
feat: edit reload themes
refactor: rename palette colors
style: edit styles
feat: add color for links in palette
refactor: edit variables for themes
fix: initialization theme
2019-02-26 18:20:28 +01:00
TriKriSta
d517c3a638
fix: initialization theme
2019-02-24 23:26:10 +02:00
TriKriSta
827e3b734c
refactor: edit variables for themes
2019-02-24 16:22:59 +02:00
sudden6
4fe6addb04
Merge pull request #5532
...
TriKriSta (1):
feat: show date in chat log
2019-02-24 11:59:14 +01:00
TriKriSta
d35dbcc870
feat: add color for links in palette
2019-02-23 19:40:59 +02:00
TriKriSta
9a82d8144f
style: edit styles
2019-02-23 19:00:50 +02:00
TriKriSta
c6142e4287
refactor: rename palette colors
2019-02-22 18:01:43 +02:00
TriKriSta
e146c11f0f
feat: edit reload themes
2019-02-21 15:53:31 +02:00
TriKriSta
5bc27b08bc
refactor: move palette colors in ini files
2019-02-20 15:42:53 +02:00
sudden6
4e76084c6f
fix(ui): add tooltip to about friend window
...
This is to explain what the public key can be used for and that it's not
a ToxID.
2019-02-19 22:44:57 +01:00
TriKriSta
87d6883a0f
style: add dark style
2019-02-19 16:21:44 +02:00
Ivan Sorokin
ea18b613ba
fix: fix uninitialized variable
...
undefined behavior sanitizer complained about uninitialized variable:
src/widget/form/chatform.cpp:781:9: runtime error: load of value 190, which is not a valid value for type 'bool'
2019-02-15 11:51:50 +01:00
Anthony Bilinski
d2508e7eac
fix(groups): check for label in timer audio playing timer callback
...
If peer quits the group and they were just playing audio, their label will be removed but their timer will still be running. Unguarded update of label causes segfault.
Fix #5511
2019-01-29 11:20:15 -08:00
Anthony Bilinski
13afbf7ec6
fix(groups): avoid having to lookup peer pk
...
Caused race where peer plays audio, then is removed from group, then we
process audio played signal and lookup their peerId in core where it
doesn't exist. Now Group will effectively contain the peer until the
peer list changed slot is processed.
Partial fix for #5511
2019-01-29 08:30:39 -08:00
TriKriSta
d0e8ba8b9c
feat: show date in chat log
2019-01-28 21:15:52 +02:00
Anthony Bilinski
edf6b67313
refactor(core): strong type message receipt and row ID
...
Avoid implicit casting and invalid arithmetic.
2019-01-28 10:58:54 -08:00
Anthony Bilinski
8422c09f6a
fix(groups): don't invalidate all audio sources when peer list changes
...
Fix #5508
2019-01-27 23:13:11 -08:00
Anthony Bilinski
093962e3ec
fix(groups): don't freeze when opening AV settings during group call
...
Fix #5510
2019-01-27 17:55:24 -08:00
Anthony Bilinski
d6abf76a27
fix(groups): correctly show peers in the call after joining call
...
Fix #5506
2019-01-27 17:05:31 -08:00
Anthony Bilinski
ec07fd7291
feat(groups): show who is in a group call before joining
...
Fix #5507
2019-01-27 15:57:38 -08:00
Anthony Bilinski
5289c99962
feat(core): add send message error handling
...
remove unused sendMessageResult signal
2019-01-27 04:52:36 -08:00
sudden6
5afa78cd4d
refactor(ipc): cleanup and improve debug messages
2019-01-25 11:16:06 +01:00
sudden6
49507d76d8
Merge pull request #5500
...
crypto-universe (1):
feat(chatfom): make magnet links clickable
2019-01-18 09:54:50 +01:00
crypto-universe
5b1bc7e523
feat(chatfom): make magnet links clickable
...
Add one more rergular expression that should match magnet links.
Unfortunately, magnet links may contain a lot of spaces, so
the message after the link may also be treated as a part of link.
2019-01-17 20:00:34 +01:00
sudden6
f5aa07f569
Merge pull request #5499
...
Teemu Ikonen (1):
fix(ui): provide context when emitting friendWidgetRenamed()
2019-01-16 23:59:32 +01:00
sudden6
0f90abebdd
perf(smileys): create global regex object
...
This prevents recompiling the regex for every message
2019-01-16 15:53:33 +01:00
sudden6
58f8a14a48
perf(smileys): use one big regex instead of constructing many small ones
2019-01-16 15:53:23 +01:00
Teemu Ikonen
0b6d6d7715
fix(ui): provide context when emitting friendWidgetRenamed()
...
Qt5 documentation at http://doc.qt.io/qt-5/signalsandslots.html
explains:
"[...] we provide /this/ as context in the call to connect(). The
context object provides information about in which thread the receiver
should be executed. This is important, as providing the context ensures
that the receiver is executed in the context thread."
Fixes #5495 .
2019-01-16 08:45:16 +02:00
Teemu Ikonen
4c42e0ea5b
fix(video): support UYVY camera pixel format
...
Fixes #5479 .
2019-01-15 13:36:09 +02:00
Anthony Bilinski
55ef1e0370
Merge pull request #5489
...
Teemu Ikonen (1):
fix(ui): tighten idealSize() for chatlog Timestamps
2019-01-13 18:01:35 -08:00
sudden6
08f368da43
fix(widget): always force show window on activate event
...
fixes #5459
2019-01-13 23:59:34 +01:00
Teemu Ikonen
c9f3830bc2
fix(ui): tighten idealSize() for chatlog Timestamps
...
Make Text::idealSize() a virtual function and override it in the derived
class Timestamp. The idealSize() function for Timestamps now returns a
tighter size to enable better right-alignment of the timestamps in
chatlog.
Fixes #3957 . Note that this change assumes that timestamps do not
contain RTL text.
2019-01-14 00:07:18 +02:00
Anthony Bilinski
92d3c959a1
fix(groups): only leave audio call if in a call
...
Removes debug log spam of leaving audio call every time someone joins a
text group.
2019-01-09 01:23:27 -08:00
Anthony Bilinski
51cf712a78
refactor(widget): call Settings::getInstance only once in Widget
2019-01-08 09:03:19 -08:00
Anthony Bilinski
8bf059bb2e
chore(ui): remove broken auto update
...
No need to keep it ifdef'd out in code, it can be re-added from git history instead once fixed.
2019-01-08 09:03:12 -08:00
Anthony Bilinski
6c9d7b59c1
feat(ui): add update notification enabled with -DUPDATE_CHECK
...
Fix #5335
2019-01-08 09:02:17 -08:00
Monsterovich
72bcc6acaf
fix(core): if your username is empty, use toxPK instead in groups
2019-01-05 23:21:39 +02:00
Monsterovich
066bdc5cc1
fix(core): also print PKs in group userlist
2019-01-05 15:58:59 +02:00