1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-11-14 12:25:37 +00:00
Commit graph

620 commits

Author SHA1 Message Date
Evangelos Ribeiro Tzaras
628389cf15 ringer: Move libfeedback related cleanup to finalize()
Leave the LfbEvent self->event alive in dispose()
to give potentially pending GAsyncReadyCallback invocations
or running GSources a better chance of finishing gracefully.
2022-12-03 20:54:01 +01:00
Evangelos Ribeiro Tzaras
845f1f7fca application: Don't show application window if started as daemon
If calls was already running as a daemon it and were invoked again with
`--daemon` it ended up showing the UI.

Now we always set the `daemon` variable and simplify activation logic as
a side effect.

Fixes #500
2022-09-21 11:58:24 +02:00
Evangelos Ribeiro Tzaras
bcb4061db1 application: Don't return value in start_proper()
It never returned FALSE, so change function prototype accordingly.
2022-09-21 11:58:23 +02:00
Evangelos Ribeiro Tzaras
e28b15b41a ringer: Remove deprecated CuiCallStates
They haven't been used since
4bc8e82ff6
and could probably have been removed sooner.
2022-09-20 12:27:23 +02:00
Evangelos Ribeiro Tzaras
991512e196 record-store: Removed deprecated CuiCallStates
They haven't been used since
4bc8e82ff6
and could probably have been removed sooner.
2022-09-20 12:27:21 +02:00
Evangelos Ribeiro Tzaras
4348e794a9 manager: Remove unused include 2022-09-20 12:26:43 +02:00
Evangelos Ribeiro Tzaras
09688a1e80 call: Document call states 2022-09-01 18:08:27 +02:00
Evangelos Ribeiro Tzaras
1d20998e9a call: Prefer using enum values 2022-09-01 18:06:55 +02:00
Evangelos Ribeiro Tzaras
4592194c11 application: Fix typo in message emission 2022-09-01 18:06:55 +02:00
Evangelos Ribeiro Tzaras
5869296c14 application: Consistent use of user_data in action "activate" callbacks. 2022-09-01 18:06:55 +02:00
Evangelos Ribeiro Tzaras
b893c81375 application: Whitespaces style nitpicks 2022-09-01 18:06:55 +02:00
Evangelos Ribeiro Tzaras
f8c65b9326 Revert "new-call-box: Clear entry after dialing"
This reverts commit 528fb11dcd.

It is cumbersome having to retype everything
if you've made a mistake when entering a number.
2022-09-01 17:52:52 +02:00
Evangelos Ribeiro Tzaras
8a928f2008 call: Remove waiting state
The waiting state is not used any more and made wrong assumptions to
begin with, so let's get rid of it.
2022-09-01 17:48:02 +02:00
Guido Günther
c893a44f9f main-window: Add translator comment to not translate the application name 2022-08-23 17:41:17 +00:00
Evangelos Ribeiro Tzaras
11ba83c16e Move plugin specific tests into dedicated directory
This will prove beneficial when we also add tests for the policy engine
plugins. The increased locality is also nice to have.
2022-08-19 08:43:57 +00:00
Evangelos Ribeiro Tzaras
55be6cd39e manager: Remove unused has_active_call() function
Introduced in f69c597387
but was never really used, so let's drop the dead code.
2022-08-10 16:00:00 +02:00
Evangelos Ribeiro Tzaras
21ae0a67c4 manager: Drop unused get_contact_name() declaration
The function has been removed since quite some time,
but the declaration did not get removed.

Fixes 889d5a0981
2022-08-10 15:07:02 +02:00
Evangelos Ribeiro Tzaras
757351b39c record-row: Add SMS action
Add a menu entry in the history popover to open the default "sms" URI
handler.

Closes: #182
2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras
01f3757ce1 record-row: Simplify add-action logic
Get rid of some code by avoiding special casing
and potentially fix an issue (WIP).
2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras
0d6095b42a record-row: Use STR_IS_NULL_OR_EMPTY macro 2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras
8e23d77508 record-row: Chain up early to constructed() 2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras
d94792f3c5 record-row: Rename callback to conform to on_* naming scheme 2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras
37eba7b66f record-row: Remove unused code 2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras
b81b216cf0 history-box: Cap size of slice at number of call records
This helps avoiding some log spam when scrolling to the bottom:

16:29:17.1053      CallsHistoryBox[2798409]:   DEBUG: Increasing history slice from 1825 to 1875
16:29:17.1215      CallsHistoryBox[2798409]:   DEBUG: Increasing history slice from 1875 to 1925
16:29:20.6739      CallsHistoryBox[2798409]:   DEBUG: Increasing history slice from 1925 to 1975
16:29:23.1919      CallsHistoryBox[2798409]:   DEBUG: Increasing history slice from 1975 to 2025
16:29:24.2533      CallsHistoryBox[2798409]:   DEBUG: Increasing history slice from 2025 to 2075

for a history of ~1400 records.
2022-07-27 16:54:26 +02:00
Evangelos Ribeiro Tzaras
9209a7801c history-box: Allow transition from non-empty to empty history
Since call records may be deleted, the transition from non-empty to
empty is also possible.
2022-07-27 16:45:42 +02:00
Evangelos Ribeiro Tzaras
a6faac2940 history-box: Dynamically adjust slice list model size
The slice get's increased by 50 items if scrolled to the bottom
and reset to the initial 75 items if scrolled back to the top.

The defined threshholds make sure that the UX still feels smooth.
2022-07-27 16:29:39 +02:00
Evangelos Ribeiro Tzaras
8ae03a1321 history-box: Switch to GtkSliceListModel
Having more than ~200 widgets in a GtkListBox comes with a very
performance impact. This is especially noticable during while the main
window is being realized (even if Calls already runs in daemon mode).

We can limit the amount of widgets by using a slice list model.

Fixes: #374
2022-07-27 16:27:07 +02:00
Evangelos Ribeiro Tzaras
3568af8553 meson: Add gtk sources to build 2022-07-27 16:26:25 +02:00
Evangelos Ribeiro Tzaras
44c892b6f7 Drop use of volatile
The volatile qualifier was mostly used for historical reasons,
the documentation for `g_once_init_enter()` and `g_once_init_leave()`
has the following to say:

While `location` has a `volatile` qualifier,
this is a historical artifact and the pointer passed to it
should not be volatile.

See also https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
2022-07-27 16:26:25 +02:00
Evangelos Ribeiro Tzaras
fd5a24f853 history-box: Chain up to constructed() early 2022-07-27 16:26:24 +02:00
Evangelos Ribeiro Tzaras
01aa8c04c2 Add various gtk list models
This is an exact copy from GTK4.
as grabbed by chattys commit 1ed5084fb965908e3ee0304781b0de06479c869b

Slightly adapted for Calls.

Based on GTKs 01bd4cc4e18a1ea697fe61791ba710d0d55e8290
2022-07-27 16:06:57 +02:00
Evangelos Ribeiro Tzaras
36b10bc764 new-call-box: Don't auto select offline accounts 2022-06-21 12:19:38 +02:00
Evangelos Ribeiro Tzaras
ee64b33e24 new-call-box: Fix memory leak
calls_new_call_box_dial was taking a reference it never released.
2022-06-21 11:52:40 +02:00
Evangelos Ribeiro Tzaras
581c82fcd7 new-call-box: Order includes alphabetically 2022-06-21 11:52:40 +02:00
Evangelos Ribeiro Tzaras
82a03ac0b1 record-store: Add debug statement for call state changes
This can help debugging issues such as #463 and #455
2022-06-20 13:00:37 +00:00
Andrey Skvortsov
e8895e9387 application: fix 'tel:' URL handling with escaped symbols
It's common to have spaces or other separator characters in telephone
numbers. If tel: link (example: tel:+1 855-698-1150) is clicked in browser all
unsupported characters are escaped (example: tel:+1%20(855)%20698-11-50).
2022-06-15 07:39:37 +00:00
Chris Talbot
e91d6258ad calls-ui-call-data: change DELAY_UI_MS to 100 ms
15 ms does not seem to be enough time for phosh-antispam to be able
to hang up before the incoming call screen shows up. In my experiement,
90 looks to be the minimum time needed for the incoming call to not show up.

I put it to 100 ms just to be safe.
2022-06-11 18:56:46 -04:00
Evangelos Ribeiro Tzaras
30148cebe3 schema: Add setting allowing to use SDES
Key exchanges in SDES can only be done securely with TLS and the option
is disabled by default if not using TLS as the transport protocol.

This setting allows to override this behaviour if the user desires
it (f.e. if the user considers the network his packets go through to be trusted).
2022-05-24 22:48:59 +02:00
Evangelos Ribeiro Tzaras
1a51ce0e40 dbus-manager: Bind encrypted property 2022-05-24 22:48:59 +02:00
Evangelos Ribeiro Tzaras
be235189cc call: Add "encrypted" property
This property indicates whether a call is using encryption.
2022-05-24 22:48:59 +02:00
Evangelos Ribeiro Tzaras
5cd03a8a13 dbus-manager: Remove unused variables 2022-05-24 22:30:03 +02:00
Evangelos Ribeiro Tzaras
c1be092dea account-widgets: Make row activatable
This brings us closer to the intended design and let's us get rid of
some code.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
f102fb3fcd account-widgets: Conform to style
Closes #396
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
46ff807f6b sip: origin: Always notify state changes when relevant to the UI
by adding functions to the public API which determine if state changes
should be shown to the user and use them (instead of duplicating similar
logic).
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
41479eea09 account-row: Use delayed state changes for GtkSwitch
When trying to go online/offline we're always waiting for confirmation
from the stack (even if it's a timeout) so the delayed pattern is a good choice.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
4f4c7e877e account-row: Fix header alignments
Uncrustify must have gotten confused.
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras
46f46cf3ec settings: Break settings binding cycle
This breaks the settings binding cycle for the "autoload-plugins" and
"preferred-audio-codecs" settings which went something like this:

g_settings_bind () is used with
G_SETTINGS_BIND_DEFAULT (G_SETTINGS_BIND_GET | G_SETTINGS_BIND_SET).
It grabs the value of our setting and sets it for the bound property.
This emits the notify signal causing the same value to be set for the
setting.

In effect this caused the setting to be marked as non-default because
Calls had changed the setting without user action. This caused updated
defaults not to apply for existing installations.
2022-05-13 19:58:07 +02:00
Evangelos Ribeiro Tzaras
94fa13af4c settings: Convert to the singleton pattern
We only have a single source of settings, so we should reflect that by
using a singleton. This also reduces our LoC.

This doesn't impair our ability to run tests because there we run with
GSETTINGS_BACKEND=memory
2022-05-13 19:58:07 +02:00
Evangelos Ribeiro Tzaras
d28be2650b Fix header alignment
Uncrustify messed up a bit because of the it expects a semicolon for the
G_* () macros

See https://github.com/uncrustify/uncrustify/issues/3393
2022-05-13 19:58:07 +02:00
Evangelos Ribeiro Tzaras
7ac862155b Uncrustify sources
Ran `find src plugins -iname '*.[c|h]' -print0 | xargs -0 uncrustify --no-backup`
with some minimal manual intervention.
2022-04-24 12:59:42 +02:00