1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-09-26 21:55:26 +00:00
Commit graph

475 commits

Author SHA1 Message Date
Evangelos Ribeiro Tzaras
339093876c manager: Propagate messages from account
Not all portions from the user interface are listening directly to messages from
accounts, so the manager should propagate them to allow the UI to pick them up.

Closes #340
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
cc8da717b1 account-overview: Reindent ui file
This was done to avoid the diff noise in the previous commit introducing
the in app notifications to the account overview.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
2a9791a9a3 account-overview: Show notification on account message
Accounts implement the CallsMessageSource interface and emit messages when
there are state changes of which the user should be informed.

Closes #340
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
4cd3a0dcc3 account: Add message emission API
This can be used when wanting to show a human readable description in the UI
for example when the account state changes.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
cdb6f90acc account: Rework account states
Introduce a state-changed signal which also gives a reason for why the state
changed. This will allow the UI to give some meaningful feedback to the user.

Additionally we can get rid of a number of things that were not really states,
but rather reasons for why a state changed (f.e. authentication failures).
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
6d877fd9d3 manager: Implement message source interface
This allows the user interface to pick up messages by having them propagate
from the managed providers, origins, calls, etc.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
6de5e9a54c manager: Remove the "error" signal and adapt to changes
We can now use the message source interface to signal any feedback to the user.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
d1b20bec39 message-source: Add API to emit message 2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
e148930cc4 application: Sort includes alphabetically 2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
6a3702dea3 manager: Clean up includes
The manager is not using the account providers anywhere.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
8a6787d959 message-source: Get rid of unnecessary semicolon
Our .dir-locals.el makes Emacs understand that we don't need a semicolon after
the various G_* macros.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
7d05508ace message-source: Clean up includes
Include directly what's being used here.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
3c32739369 message-source: Use pragma once instead of include guard 2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
c6a8dcf140 util: Use pragma once instead of include guard 2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
eab45610bd manager: Codestyle
We use two empty lines between functions, unless they are documented with
docstrings in which case there is only one empty line.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
66224c9a48 origin: Get rid of "numeric-addresses" property 2021-12-26 17:45:12 +01:00
Evangelos Ribeiro Tzaras
6d031e2ab6 new-call-box: Decide if numeric input is needed based on the origins protocol
The numeric addresses property conveys no additional information.
By changing the logic here we can get rid of the "numeric-addresses" property
alltogether.
2021-12-26 17:45:12 +01:00
Evangelos Ribeiro Tzaras
7fe8a90d77 settings: Add GSetting for preferred audio codecs 2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
dc809e54e5 settings: Add docstring for autoload-plugins setter and getter 2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
a63023e315 settings: Chain up to parents constructed() early
Not strictly necessary since we're not depending on anything the parents
constructed() might be doing, but it's a good practice.
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
4e09ada0df best-match: Fix header include
We only need gio.h here because of GLoadable.
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
c12b7a8c69 call: Use protocol fallback
We're falling back to "tel" as the default case.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras
dbfa593a07 call: Move name property to base class
This let's us avoid some duplication in the derived classes.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras
a1fefcdbac call: Move id property into base class
This allows us to avoid some duplication in the derived classes.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras
a048b4c83d call: Move state property into base class
This let's us get rid of a lot of duplication in the derived classes.

Additionally we set the initial state to CALLS_CALL_STATE_INCOMING if
inbound is TRUE and CALLS_CALL_STATE_DIALING otherwise.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras
ddf1dd7349 call: Move inbound property into base class
This avoids some repetition in the derived classes.
2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras
88cd7ce222 call: Add unknown state
This is the default fallback state and is useful f.e. in the oFono plugin
if the GDBOVoiceCall doesn't provide a state in its' properties.
2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras
cead5ada88 call-window: Use g_assert in private functions 2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras
09699254c8 call: Codestyle 2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras
08456c8043 in-app-notification: Use g_clear_* instead of emulating it 2021-12-16 06:39:38 +01:00
Evangelos Ribeiro Tzaras
3e37870824 in-app-notification: Use unsigned integers for timeout property
It's used in g_timeout_add_seconds and that expects a guint.
Set the minimum timeout to 1 second.
2021-12-16 06:39:38 +01:00
Evangelos Ribeiro Tzaras
d7b4aff0d8 in-app-notification: Use DEFAULT_TIMEOUT_SECONDS as the default timeout
By setting the G_PARAM_CONSTRUCT flag for the timeout property we make sure
that the default value is set if it has not been given explicitly in
g_object_new().
2021-12-16 06:39:38 +01:00
Evangelos Ribeiro Tzaras
fd6fcbc3c0 in-app-notification: Codestyle 2021-12-16 06:39:38 +01:00
Evangelos Ribeiro Tzaras
4df3ea005d record-row: Only create popover when needed
Creating a popover for each CallsCallRecordRow comes with a big performance
hit when scrolling the history, so we should avoid doing this.

Fixes #198
2021-12-10 18:12:30 +01:00
Evangelos Ribeiro Tzaras
42b5b9d600 record-row: Use API to query call icon name
This makes sure we don't need to allocate icon string names for each record.
2021-12-07 11:05:12 +01:00
Evangelos Ribeiro Tzaras
abdb601afa util: Add API to query call icon names
This can later be used in the call history or in the call details
instead of always constructing the name repeatedly in private functions.
2021-12-07 11:05:12 +01:00
Evangelos Ribeiro Tzaras
625b26be32 record-row: Codestyle 2021-12-07 11:05:12 +01:00
Evangelos Ribeiro Tzaras
c37e9d8462 dbus: Add method to silence ringing
Fixes #329
2021-12-07 07:56:02 +00:00
Evangelos Ribeiro Tzaras
2d18667ee7 call-window: Use g_clear_handle_id instead of emulating it 2021-12-05 16:51:26 +01:00
Evangelos Ribeiro Tzaras
8f6ca20a2c call-window: Clear handle id when hiding call window
This fixes GLib criticals like
GLib[464166]:CRITICAL: Source ID 17 was not found when attempting to remove it
2021-12-05 16:50:19 +01:00
Evangelos Ribeiro Tzaras
0f72780814 ringer: Restart ringer if quiet parameter changed
This makes sure the following sequence of events works:

- Call A incoming
- Rings loudly
- Call B incoming
- Still rings loudly
- Call A accepted
- Rings quietly
- Call A hung up
- Rings loudly again

Being able to restart the ringing is needed for this case because we cannot
retroactively change the feedback levels of a event that has already been
triggered.

Without this patch Calls would continue ringing for the scenario above even
after call A was accepted.
2021-12-05 10:04:05 +01:00
Evangelos Ribeiro Tzaras
b89f6a6f17 ringer: Add is-quiet property and getter
This let's us query if the ringer is ringing quietly.
2021-12-05 10:04:03 +01:00
Evangelos Ribeiro Tzaras
410cf8945a ringer: Check if incoming call is silenced
Avoid ringing in this case.
2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras
1587e4c78c call: Add API to silence ringing 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras
f02d22150e ringer: Add debugging 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras
9fff41fd53 ringer: Make sure to reset feedback profile if not set to "quiet" 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras
e604779497 ringer: Don't warn if feedback triggering got cancelled 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras
3e26294f3c ringer: Track ringer state
This allows to cancel triggered feedbacks.
2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras
1e5edea855 ringer: Disconnect signal handlers on dispose 2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras
fd7193a525 ringer: Refactor to keep track of ongoing calls
This makes it easier to silence a call.
2021-12-05 09:49:05 +01:00