Evangelos Ribeiro Tzaras
25c2d5b104
notifier: Sort include headers
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
5e2061da46
ringer: Reorder headers
...
config.h goes first then sort alphabetically.
2022-02-01 06:11:04 +01:00
Evangelos Ribeiro Tzaras
d75d4916af
manager: Use state flags instead of an enum and adapt to changes
...
This gives us some more granularity and is overall a better fit than the states
previously used.
Closes #327
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
b00deccdcb
record-row: Use per protocol dial action
...
This allows us to deactivate actions if there is no origin that can handle them.
Closes #293
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
dd4a02aea2
manager: Add per protocol dial actions
...
These are enabled or disabled based on availability of suitable origins.
Allows CallsCallRecordRows (GtkListBoxRows in the call history) to use protocol
specific instead of global dial action.
Closes #307
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
15943b9776
manager: Hardcode supported protocols and adapt to changes
...
This simplifies the code quite a bit by removing the supported protocols from
being determined dynamically via the loaded plugins.
It was previously used to add/remove a GListStore to origins_by_protocol.
This is a prerequisite for having per protocol dial actions.
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
18aea10ca3
manager: Remove unused key argument in g_hash_table_iter_next()
...
We're only interested in the value here.
2022-01-31 17:08:38 +00:00
Evangelos Ribeiro Tzaras
edbf046bfd
ui-call-data: Implement "active-time" property
2022-01-31 15:51:45 +01:00
Evangelos Ribeiro Tzaras
8543fc7ab5
Update libcallui subproject and adjust to CuiCallState changes
...
We already had our mapping between CallsCallStates and CuiCallStates in place,
but the _DIALING state got renamed to _CALLING.
Additionally bundle CallsCallStates that map to the same CuiCallState to remove
some code.
2022-01-31 15:25:46 +01:00
Evangelos Ribeiro Tzaras
ab3ff5772b
settings: Fix memory leak
...
g_settings_get_string() and g_settings_get_strv() are transfer full,
so we should use g_value_take_string() instead of g_value_set_string() and
g_value_take_boxed() instead of g_value_set_boxed()
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
7587efb78a
log: Fix One Definition Rule
...
As caught by running with enabled address sanitization.
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
1d1489e167
call: Fix memory leaks
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
9569afa073
origin: Add transfer annotation for calls_origin_get_calls ()
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
a7677798d1
dbus-manager: Fix critical when transforming call states
...
Fixes c796df9260
2022-01-26 08:27:31 +01:00
Evangelos Ribeiro Tzaras
656643c522
call: Temporarily hold ref while setting new state
...
This is needed to make sure the object stays alive, because some implementations
will unref the call after it has been set to a disconnected state.
This has become apparent because tests started failing when origins switched
from the "state-changed" to the "notify::state" signal (as is done in the next
commits).
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
c594726ce5
best-match: Fix potential memory leak
...
We would leak memory if calls_best_match_set_phone_number would be called a
second time with a SIP address.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
ebc5e584bb
manager: Use ternary operator instead of if/else block
...
Less code is better code.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
f01c99c587
ui-call-data: Remove unused struct
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
36c4f2b349
ui-call-data: Add license header
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
6567b7cad7
call-selector-item: Codestyle
...
Move public functions to the bottom
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
c0a67d2cce
contacts-provider: Remove static from action name string
...
There was no reason to have it static in the first place.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
99057452c5
dbus: Document interface in a way that gtk-doc can use
...
Fixes #394
2022-01-20 10:50:48 +01:00
Evangelos Ribeiro Tzaras
12ae596352
contacts-provider: Overhaul documentation
...
This commit describes what CallsContactsProvider is used for,
documents signals, properties and the public API.
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
bcdb703ec3
origin: Remove unused parameter from docstring
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
4dd4ba3be3
provider: Remove unused parameter from docstring
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
52eebaad83
message-source: Fix typo
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
c796df9260
dbus-manager: Use CuiCallStates instead of CallsCallStates
...
CallsCallStates are considered internal call states and do not map 1:1 to
CuiCallStates.
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
e3afefcef2
ui-call-data: Add call state mapping to public API
...
This allows it to get used in the DBus manager in a GBindingTransformFunc
until to make sure we don't use emit deprecated values over DBus.
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
4bc8e82ff6
ui-call-data: Don't use deprecated states in mapping
...
For the UI we don't distinguish between dialing and alerting or between
waiting and incoming.
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
6e9fadbee2
dbus: document states
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
54092e45d4
call: Fix typos in section docstring
2022-01-18 03:53:11 +00:00
Evangelos Ribeiro Tzaras
827594dc2e
record-row: Add context menu entry for adding a new contact
...
Fixes #157
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
5588bd934a
contacts-provider: Add API to add new contacts
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
c6d867cd72
contacts-provider: Add GDBusActionGroup to query if contacts can be added
...
As this requires a patched GNOME Contacts, we want to be able to query if the
necessary actions to add new contacts is available before trying to use it.
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
56da32d1b6
contacts-provider: Remove unused config.h include
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
8ad21b211c
contacts-provider: Codestyle
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
bc4ed210b2
contacts-provider: Sort includes
2022-01-18 02:12:37 +00:00
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
Evangelos Ribeiro Tzaras
17a2c94387
ringer: codestyle
2021-12-05 09:49:05 +01:00
Evangelos Ribeiro Tzaras
f206b7d257
call: Rename property from "number" to "id"
...
The term number is not necessarily accurate when dealing with f.e. SIP.
2021-12-05 09:49:05 +01:00
Christopher Davis
50847dfe43
ui: Remove explicit can-focus
...
Glade misleads us into thinking we need these, but the
property is somewhat confusing in GTK3. In general we don't
want `can-focus` to be true for containers, as that will
break keynav for the children. For non-containers, the
defaults are appropriate.
Instead of manually setting `can-focus`, we should just
use the default values. GTK has sane defaults.
Fixes https://gitlab.gnome.org/GNOME/calls/-/issues/366
2021-12-04 14:40:08 -08:00
Evangelos Ribeiro Tzaras
3e22ef8c74
record-store: Get rid of unused code
2021-12-02 05:52:44 +01:00
Evangelos Ribeiro Tzaras
edfb4455f8
application: Chain up shutdown
2021-12-02 05:52:44 +01:00
Evangelos Ribeiro Tzaras
85689dbb45
history-box: Codestyle
2021-12-02 05:52:44 +01:00
Evangelos Ribeiro Tzaras
aad6b85a2b
application: Codestyle
2021-12-02 05:52:44 +01:00
Christopher Davis
69db235cea
style: Make error color white in both light and dark mode
2021-11-30 13:04:13 -08:00
Christopher Davis
fb23d42075
application: Check libhandy version at compilation
...
This only enables the dark style preference if we have
a libhandy version of 1.5.0 or newer.
2021-11-30 13:04:13 -08:00
Christopher Davis
ce7aca63b2
application: Opt in to libhandy dark style preference
...
GNOME 42 will have a dark style preference. This commit
adds support for it by opting in via HdyStyleManager.
2021-11-30 12:14:15 -08:00
Christopher Davis
aaf87e5e89
new-call-box: Clamp everything
...
This prevents items from stretching out of bounds.
2021-11-30 19:37:28 +00:00
Evangelos Ribeiro Tzaras
04f43b2ce2
call-window: Delay closing window
...
Fixes #301
2021-11-25 19:14:42 +01:00
Evangelos Ribeiro Tzaras
b083e588fa
call-window: codestyle
2021-11-25 19:14:42 +01:00