Evangelos Ribeiro Tzaras
1d364eafda
ui-call-data: Add proxy properties for CallsCall
...
TODO: This could do with some tests
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
dd8cc08649
ui-call-data: Allow contact provider to be NULL
...
The contact provider can be NULL in the ringer tests, because we're stubbing it.
Early return in that case and make sure the call is already set.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
db7674d0f9
manager: Add new set of add and remove signals for CuiCalls
...
This is part of a refactoring which should help separating concerns between
CallsCall and CallsUiCallData better.
To accomplish this we want to stop passing around CallsCall objects and instead
pass CallsUiCallData objects.
In this commit we added new signals instead of changing the existing ones
because that results in a lot of churn. It allows to do the switch per module
allowing smaller individual patches and a more manageable patchset.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
1518a4b6fb
ui-call-data: Add "state-changed" signal
...
This signal is for use in the UI components that are interested in both the old
and new state.
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
2f32e09982
ringer: Switch to state notify signal
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
500581d35d
call: Add transfer annotation for get_protocol()
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
805ed4e0f4
notifier: Expand on comment
2022-02-01 06:11:58 +01:00
Evangelos Ribeiro Tzaras
9f50bc509f
notifier: Remove unused GList
2022-02-01 06:11:58 +01:00
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
Evangelos Ribeiro Tzaras
989a52fac5
record-row: Removed unused define
2021-11-25 19:14:42 +01:00
Christopher Davis
89dd2d6e8f
contacts-box: mimmic HdyStatusPage styling for contacts
2021-11-24 15:16:29 +00:00
Christopher Davis
409f6598d9
history-box: Use HdyStatusPage for empty state
...
We have a standard widget for empty states in HdyStatusPage.
This commit uses that instead of rolling our own.
2021-11-24 15:16:29 +00:00
Christopher Davis
48825b4ccd
Remove history-header-bar.ui
...
This is unused.
2021-11-24 13:41:10 +00:00
Christopher Davis
ddbf404af4
main-window: Remove unused placeholder text
...
This way translators aren't translating something that
will never be seen.
2021-11-24 13:41:10 +00:00
Evangelos Ribeiro Tzaras
a28d694623
dbus: Add API to send DTMF
...
Addresses the calls side of #343
2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras
0761c4a53a
dbus: Set can-dtmf property
...
This lets consumers on DBus know if this call is capable of sending DTMF.
2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras
afd1034dd1
util: Make dtmf tone checking function public
...
Moves the function out of calls-call.c into util.c
2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras
acec33bb6c
call: Get rid of unnecessary cast to int
2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras
a353a03d01
call: Get rid of tone_stop
...
It wasn't used by any plugin backend and helps getting rid of a lot of code.
2021-11-23 08:50:01 +00:00
Evangelos Ribeiro Tzaras
2bbb923226
call-data: Notify on avatar changes
...
Otherwise the call display will not update.
2021-11-19 15:56:45 +01:00
Evangelos Ribeiro Tzaras
cfac02a00c
call-data: Fix assertion in notify handlers
2021-11-19 15:56:45 +01:00
Evangelos Ribeiro Tzaras
da648829b4
best-match: Rename best_match variable to matched_individual
...
This makes it a bit clearer what the variable is used for.
2021-11-19 15:56:45 +01:00
Evangelos Ribeiro Tzaras
dc96d892f5
Remove encryption indicator
...
Not used anymore since we switched to libcall-ui.
Should've been removed as a part of !425 .
2021-11-19 15:56:37 +01:00
Guido Günther
8f9f7311fa
dbus: Expose path to avatar icon file if it exists
...
We only support file based GLoadableIcon atm. Support for bytestreams
can be added later on.
2021-11-18 12:57:23 +01:00
Evangelos Ribeiro Tzaras
76ec1e6941
record-row: Use avatars in history
...
Fixes #147
2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras
4e9eedb5fa
call-data: Implement avatar property
...
Fixes #161
2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras
edd8560291
Remove CallsCallDisplay
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras
dc454837d6
Switch from CallsCallDisplay to CuiCallDisplay
...
Closes #302
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras
4321381f23
Introduce CallsUiCallData to feed CuiDisplay
...
We need a proxy object because implementing the CuiCall interface in the
CallsCall base class has it's own set of problems (f.e. the "state" property
would have a type collision CallsCallState vs CuiCallState).
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras
c5636ab71c
call: Add API to query whether this call can do DTMF
...
This allows enable or disable UI elements.
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras
bf72169f68
application: Initialize libcall-ui
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras
ac4150139d
call-window: Remove unused CALLS_WAYLAND ifdef
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras
f985332a37
Remove unused typedef
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras
620804ab01
main-window: Remove unused header
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras
2fc5533e1a
call-window: Improve readability of remove_call function
...
The casual reader might be tricked into believing CallsCallSelectorItem would
leak here, which was not actually the case.
2021-10-28 14:51:19 +00:00
Evangelos Ribeiro Tzaras
d7d97e8f67
call-window: Remove unnecessary code
...
As the "visible-child-name" from main_stack and header_bar_stack is already
bidirectionally bound.
2021-10-28 15:56:14 +02:00
Evangelos Ribeiro Tzaras
4593a82b21
number-query: Fall back to string comparison if parsing EPhoneNumber fails
...
Fixes #345
2021-10-27 11:07:54 +00:00
Evangelos Ribeiro Tzaras
94d730c3ed
Let provider plugin decide whether to automatically hang up secondary calls
...
Revert "manager: hang up secondary calls"
This reverts commit 94345e0916
and moves that
functionality to the ModemManager plugin.
Fixes #290
2021-10-22 06:00:45 +02:00
Evangelos Ribeiro Tzaras
28516cda32
new-call-box: Clarify accessible name
2021-10-19 09:43:48 +02:00
Evangelos Ribeiro Tzaras
a2df022606
application: Reword description for the -p flag
...
Closes #338
2021-10-18 17:07:51 +02:00
Evangelos Ribeiro Tzaras
b36725c69b
selector-item: Name label does not need to be translatable
...
The code will set a name here, so the label as in the ui file will never be
shown in the running application.
Closes #338
2021-10-18 17:07:48 +02:00
Evangelos Ribeiro Tzaras
386cb3e906
i18n: main-window: Clarify "Recent" to mean the call history
...
Closes #338
2021-10-18 17:07:40 +02:00
Evangelos Ribeiro Tzaras
2bfecf1249
i18n: notifier: Use comment to clarify if a name or number is meant
...
Closes #338
2021-10-18 17:07:15 +02:00
Evangelos Ribeiro Tzaras
57ec06a6f5
record-row: Take timezone into account for displaying in the UI
...
Since the database uses UTC times we have to take the timezone offset into
account when displaying times in the UI.
Fixes #163
2021-10-15 18:14:39 +02:00
Evangelos Ribeiro Tzaras
4f64f5b61b
record-store: Prefer using g_date_time_new_now_utc()
...
It actually does not make any difference for the storage in the database as
gom will make sure to convert any given times to the Zulu timezone (UTC+0)
but this change will make it more obvious in the code what's actually going on.
2021-10-15 18:01:47 +02:00
Evangelos Ribeiro Tzaras
110dcdf4ad
record-row: Clarify "Call" for translators with a comment
...
Fixes #319
2021-10-07 21:29:45 +00:00
Evangelos Ribeiro Tzaras
fbb6316fee
record-row: Right justify time
...
Fixes #336
2021-09-28 08:04:12 +00:00
Evangelos Ribeiro Tzaras
33ad4dbe86
Simplify country code handling
2021-09-27 08:46:09 +00:00
Evangelos Ribeiro Tzaras
04d391c5dd
settings: Add GSettings bindings
2021-09-27 08:46:09 +00:00
Evangelos Ribeiro Tzaras
b5defda27f
network-watch: Don't fail initialization when unable to fetch local IP
...
This would mean we're failing when Calls is started with all NICs not connected
or disabled. To make matters worse this would only be fixable by restarting
Calls.
2021-09-24 05:24:41 +00:00
Evangelos Ribeiro Tzaras
ab20b6b8e3
network-watch: Only g_set_error if error is not NULL
2021-09-24 05:24:41 +00:00
Evangelos Ribeiro Tzaras
4fc0a52873
network-watch: More descriptive warning
...
And make sure we're not continually spamming warnings.
Closes #330
2021-09-24 05:24:41 +00:00
Evangelos Ribeiro Tzaras
9d27d5bae6
best-match: Don't free unowned data
...
Fixes #331
2021-09-24 05:13:31 +02:00
Evangelos Ribeiro Tzaras
d9e5c6a252
best-match: codestyle
2021-09-24 05:13:31 +02:00
Evangelos Ribeiro Tzaras
bd045be4e4
number-query: Take country code into account
...
Fixes #312
2021-09-23 09:54:44 +02:00
Evangelos Ribeiro Tzaras
d936a4572d
contact-box: Do not hardcode length of match_fields[]
2021-09-23 09:54:44 +02:00
Evangelos Ribeiro Tzaras
528fb11dcd
new-call-box: Clear entry after dialing
...
Closes #332
2021-09-20 03:31:28 +02:00
Evangelos Ribeiro Tzaras
b458f6f040
record-row: Reword accessible name
...
"party" in "Call the party" could lead to confusion.
Fixes #319
2021-09-20 03:31:28 +02:00
Evangelos Ribeiro Tzaras
1a14075945
application: Do not prepend country code when dialing
...
Fixes #176
2021-09-20 03:31:28 +02:00
Evangelos Ribeiro Tzaras
464f3a993e
application: Clarify that -l flag is to be used with numbers only
...
This will also help unifying handling of tel: URIs.
2021-09-20 03:31:28 +02:00
Evangelos Ribeiro Tzaras
3714f99d38
Introduce CallsNetworkWatch to notify of network changes
...
The libsofia-sip stack needs to bind to a specific interface when there are
multiple network interfaces available.
Handles should be recreated when the default route changes.
2021-09-02 09:17:12 +02:00
Evangelos Ribeiro Tzaras
876ffb1e8c
new-call-box: Always update the UI when the list of origins changes
...
Otherwise this can lead to being stuck in numeric/non-numeric input mode.
2021-08-26 12:47:57 +00:00
Evangelos Ribeiro Tzaras
a85b9cd5c3
manager: Initialize g_auto variable to NULL
2021-08-25 11:06:32 +02:00
Evangelos Ribeiro Tzaras
9c777b7db8
new-call-box: Hide empty results
...
Because the empty result looks weird.
2021-08-19 01:46:59 +02:00
Evangelos Ribeiro Tzaras
b1c22e4310
new-call-box: Press enter to place a call
...
Connect to the "activate" signal and take appropriate action
for both numeric and non-numeric cases.
2021-08-19 01:44:06 +02:00
Evangelos Ribeiro Tzaras
a21bc475e4
new-call-box: Reindent
2021-08-19 01:35:47 +02:00
Evangelos Ribeiro Tzaras
da4c6b043a
new-call-box: Add placeholder texts for text input fields
2021-08-14 20:46:11 +02:00
Evangelos Ribeiro Tzaras
2c06497b08
new-call-box: Tweak the UI
...
- Fills horizontally now
- Make sure the "dial" and "backspace" button are still properly aligned
by using HdyClamp with the keypads typical size (rougly 250)
- Remove unnecessary default values from the xml
(f.e. "can-focus" on GtkEntry or GtkButton)
2021-08-14 20:46:11 +02:00
Evangelos Ribeiro Tzaras
3779aa1062
new-call-box: Set numeric input property based on selected origin
2021-08-14 20:46:11 +02:00
Evangelos Ribeiro Tzaras
db848b2c9f
new-call-box: Add entry for non-numeric inputs
2021-08-14 20:46:11 +02:00
Evangelos Ribeiro Tzaras
e9661ce01c
new-call-box: Introduce numeric-input-only property
...
This property will show the keypad for numeric inputs (i.e. telephone numbers)
or an entry allowing arbitrary inputs for SIP or other protocols.
2021-08-14 20:46:11 +02:00
Evangelos Ribeiro Tzaras
c61d63383f
new-call-box: Remove unnecessary GtkBox
2021-08-14 20:46:11 +02:00
Evangelos Ribeiro Tzaras
1312b2624c
new-call-box: Remove unused GtkListStore
2021-08-14 20:46:11 +02:00
Evangelos Ribeiro Tzaras
179c844a80
calls-new-call-box: Only show origin combo box if there is a choice
2021-08-14 20:46:11 +02:00
Evangelos Ribeiro Tzaras
62711da7fc
new-call-box: Simplify HdyComboRow binding
2021-08-13 02:13:27 +02:00
Evangelos Ribeiro Tzaras
c7731b189a
origin: Add "numeric-addresses" property
...
This will be useful in the dialpad to determine whether we should allow
only numeric input or not.
2021-08-13 02:13:27 +02:00
Mohammed Sadiq
8af2563859
Add and use new logger
...
This helps provider better logs. With this, the user can now run
with `-v` for verbose logs, use more `-v` to be more verbose,
eg `calls -vvvvv` log shall be very verbose
2021-08-11 09:38:19 +00:00
Guido Günther
a1fa33c7af
notifier: Add notification category
...
This helps shells to adjust the kind of haptic/visual/audio
feedback for the notification.
2021-08-04 02:36:34 +00:00
Guido Günther
26f0c9cb01
calls-notifier: Set log domain
2021-08-04 02:36:34 +00:00
Mohammed Sadiq
fe84a02af2
history-box: Use content style for listbox
...
So as to match the design and less code to maintain
2021-08-03 12:42:46 +00:00
Mohammed Sadiq
47a7d58074
application: Fix handling commandline arguments
...
handle_local_options() are supposed to be handled only in local instance,
and not in remote instance.
2021-07-30 00:12:50 +00:00
Evangelos Ribeiro Tzaras
9d9e989be4
secret-store: Work around bug in gnome-keyring preventing keyring unlocking
...
When a keyring is cold (unlocked) the schema is set as
"org.freedesktop.Secret.Generic". If we require the name to strictly match
while searching we won't ever get a match.
See https://gitlab.gnome.org/GNOME/gnome-keyring/-/issues/89 and
https://gitlab.gnome.org/GNOME/libsecret/-/issues/7 for more information
Closes #316
2021-07-21 17:30:51 +02:00
Evangelos Ribeiro Tzaras
241909c942
main-window: Fix the action name for the about dialog
2021-07-20 10:18:03 +02:00
Evangelos Ribeiro Tzaras
373465cc2c
about: Update copyright
2021-07-20 10:18:03 +02:00
Evangelos Ribeiro Tzaras
1f0ad8cf7c
about: Update authors
2021-07-20 10:18:03 +02:00
Evangelos Ribeiro Tzaras
c5e4c80a47
Introduce CallsSecretStore to store credentials
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
803e089cfc
account-overview: Hook up available providers
...
Fixes #264 .
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
fc7156fe75
Introduce CallsAccountOverview: A UI to allow managing VoIP accounts
...
CallsAccountOverview allows user to view, add and edit VoIP accounts
(currently SIP only).
Each CallsAccount is represented by a CallsAccountRow.
account-row: Staying alive
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
fadeaeb6b5
main-window: Add menu button
...
This will be used to manage VoIP accounts (SIP), show the About dialog
and so on. We will leave this hidden for now.
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
64bb170efa
account-provider: Repurpose to allow graphical credential editing
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
d5bf31bdaf
manager: Temporarily hold a reference to provider being unloaded
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
2b31a9677e
manager: Emit signal when loaded providers have changed
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
cc3a562f03
manager: Add API to query loaded providers
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
a638b64402
account: Add address property
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
dd3fbf646e
account: Add API to query account state
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
82ff6d0ac5
account: Use explicit notify for account state property
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
babd013bd7
Remove CallsCredentials and adapt to changes
...
The provider knows best which credentials it needs and CallsCredentials
was not generic to begin with, so get rid of it.
2021-07-20 10:17:17 +02:00
Evangelos Ribeiro Tzaras
2af2b316ec
Various codestyle fixes
2021-07-20 10:17:17 +02:00
Adrien Plazas
d4ee8b4bc9
main-window: Fix the indentation
...
It was purposefully left broken to ease code review.
2021-07-16 08:43:43 +00:00
Adrien Plazas
f4f41d9db5
main-window: Make it a HdyApplicationWindow
...
This gives the window some nice rounded corners, and gives us more
freedom in how to implement the UI.
This purposefully leaves the indentation broken to ease code review, it
will be fixed in the next commit.
2021-07-16 08:43:43 +00:00
Guido Günther
f45ba43720
dbus: Add more DBus properties
...
These are needed to allow Phosh to handle incoming calls on
the locked screen.
2021-07-12 17:36:24 +02:00
Guido Günther
8bf320e006
Drop layer-surface
...
This drops the layer-surface code to put calls on top of the lockscreen.
This only works with wlroots based compositors and even there makes e.g.
unlocking the screen during a phone calls impossible.
2021-07-12 17:36:24 +02:00
Guido Günther
cad39e05ee
dbus-manager: Fix typo in log-domain
2021-07-12 17:33:12 +02:00
Evangelos Ribeiro Tzaras
69b919d7ab
DBus: Use org.gnome prefix and adapt to changes
...
In preparation to moving to GNOME all the IDs, DBus object paths, etc should
change.
2021-07-12 13:35:57 +00:00
Evangelos Ribeiro Tzaras
b74601f7c4
schema: Use org.gnome prefix and adapt to changes
...
In preparation to moving to GNOME all the IDs, DBus object paths, etc should
change.
2021-07-12 13:35:57 +00:00
Evangelos Ribeiro Tzaras
6e371d2f3f
resources: Use /org/gnome prefix and adapt to changes
...
In preparation to moving to GNOME all the IDs, DBus object paths, etc should
change.
2021-07-12 13:35:57 +00:00
Evangelos Ribeiro Tzaras
9f45e8b0a5
call-display: Ellipsize labels at the end
...
Fixes #283
2021-07-01 02:02:09 +02:00
Evangelos Ribeiro Tzaras
c293b7029d
best-match: Preliminary handling of SIP addresses
...
This does not perform any contact lookup, but instead introduces a benign
hack to be able to get something sensible when calling
`calls_best_match_get_name()` and avoids unnecessary warnings.
2021-07-01 02:01:32 +02:00
Evangelos Ribeiro Tzaras
fd45f04886
best-match: codestyle
2021-07-01 02:00:52 +02:00
Evangelos Ribeiro Tzaras
23e7fd3a60
manager: Don't use peas_engine_prepend_search_path
...
as it does not really "prepend" the search path.
See https://gitlab.gnome.org/GNOME/libpeas/-/issues/19
Closes #300
2021-06-29 14:47:03 +02:00
Evangelos Ribeiro Tzaras
e00b90d64e
application: settings: Add autoload-plugins setting
...
This setting will be used to define the provider plugins to be loaded on
application startup if calls has been invoked without `--provider`
2021-06-26 08:57:53 +02:00
Evangelos Ribeiro Tzaras
4f6fb722b1
application: Allow invoking with multiple -p
arguments
...
When calls is invoked with one or more `--provider` arguments,
the application will only load the providers specified by the command line.
If no `--provider` argument is given, the application will instead fall back
to loading providers defined in the settings (see next commit).
2021-06-26 08:57:53 +02:00
Evangelos Ribeiro Tzaras
cfd3c2a7fe
util: Get rid of conditional compilation in calls_find_in_store()
...
This is not needed anymore after bumping the required glib version to 2.64.
2021-06-25 07:34:38 +00:00
Evangelos Ribeiro Tzaras
cce8318a64
notifier: Explicitly handle unknown callers
...
Closes #288
2021-06-18 17:13:48 +00:00
Evangelos Ribeiro Tzaras
dbb829be06
debug: Add G_LOG_DOMAIN to every file using g_debug()
2021-06-18 11:12:13 +02:00
Evangelos Ribeiro Tzaras
160d3e42a8
ringer: Follow coding style for G_LOG_DOMAIN
...
Closes #294
2021-06-18 11:12:13 +02:00
Evangelos Ribeiro Tzaras
b550160a0d
util: Make position argument in calls_find_store() optional
2021-06-11 17:52:43 +02:00
Evangelos Ribeiro Tzaras
ccae753194
manager: codestyle
2021-06-11 17:50:42 +02:00
Evangelos Ribeiro Tzaras
ddcd91d3d9
manager: Fix whitespace
2021-06-11 17:50:22 +02:00
Evangelos Ribeiro Tzaras
acc35ad224
main-window: Add default case to switch statement
...
As caught by compiling with `-Wswitch-default`
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras
90b598ed5b
record-store: Add default case to switch statements
...
As caught by compiling with `-Wswitch-default`
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras
f097a39e04
call-display: Add default case to switch statement
...
As caught by compiling with `-Wswitch-default`
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras
2847508034
Fix missing-declarations warnings all over the codebase
...
As caught by compiling with `-Wmissing-declarations`
by either making functions static, or declaring them in the header.
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras
96a7d901c1
Fix old-style warnings all over the codebase
...
As caught by compiling with `-Wold-style-definition` and `-Wstrict-prototypes`.
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras
38abbc5b18
record-store: codestyle
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras
9877f4469b
display: Fix typo
2021-06-03 19:46:45 +00:00
Evangelos Ribeiro Tzaras
588955b59e
display: codestyle
2021-06-03 19:46:45 +00:00
Guido Günther
6f93b48ef4
Expose call objects on DBus
...
This exports call objects on the session bus:
$ gdbus monitor --session -d sm.puri.Calls
…
/sm/puri/Calls: org.freedesktop.DBus.ObjectManager.InterfacesAdded (objectpath '/sm/puri/Calls/Call/1', {'sm.puri.Calls.Call': {'Inbound': <false>, 'State': <uint32 0>, 'Id': <''>, 'Party': <''>}})
/sm/puri/Calls/Call/1: org.freedesktop.DBus.Properties.PropertiesChanged ('sm.puri.Calls.Call', {'Id': <'0987654321'>, 'Inbound': <true>, 'State': <uint32 5>}, @as [])
/sm/puri/Calls: org.freedesktop.DBus.ObjectManager.InterfacesRemoved (objectpath '/sm/puri/Calls/Call/1', ['sm.puri.Calls.Call'])
$ gdbus call --session --dest sm.puri.Calls --object-path /sm/puri/Calls/Call/1 --method sm.puri.Calls.Call.Hangup
Currenty hangup and accept methods are implemented as well as exposing
the current call state.
2021-06-03 14:29:36 +00:00
Evangelos Ribeiro Tzaras
8d937bedf6
Initial DBus API
2021-06-03 14:29:36 +00:00
Evangelos Ribeiro Tzaras
cb533aabb7
manager: Update country code
...
By connecting to the "notify::country-code" signal of our origins.
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras
7d3426598d
application: settings: Add country code setting
...
This helps to unbreak country code lookup (see 5fd39121).
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras
4990529c6c
tests: manager: Add multiple provider tests
...
The test suite can be further expanded later. For now this suffices to
have some basic regression testing for multiple provider support in place.
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras
44f2002f86
manager: Differentiate the NO_ORIGIN state
...
This avoids confusion when only the SIP plugin is loaded, but no account
is being used.
For this we introduce two new functions in the abstract CallsProvider class:
`is_modem()` to indicate whether the the provider deals with PTSN telephony and
`is_operational()` which by default simply checks if there any avalaible origins
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras
98d66743a1
application: Don't add a provider if one is already present
...
If we initially invoked `gnome-calls -p sip` and later invoke
`gnome-calls sip:user@host` we don't expect to have the default MM provider
added.
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras
3f3b108cea
new-call-box: Honour auto-use-default-origins setting
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras
fef1531749
application: Add CallsSettings class
...
This makes it easy to access application wide settings.
2021-06-01 14:52:23 +02:00
Evangelos Ribeiro Tzaras
0b2f146053
manager: support multiple providers
...
This includes the following changes:
- Introduce a `providers` hash table to keep track of multiple CallProvider's
and remove the `provider` member
- Remove `calls_manager_get_provider()` and `calls_manager_set_provider()`
in favour of `calls_manager_add_provider()`, `calls_manager_remove_provider()`
and `calls_manager_has_provider()`
- Introduce a `origins` GListStore to keep track of available origins.
`origins` is updated in `items_changed_cb()` when the origins of any
CallsProvider are updated.
- Adapt to changes with respect to `calls_manager_get_origins()`.
- Introduce `origins_by_protocol` hash table to keep track of available origins
per protocol.
- Adjust tests
- We temporarily break country code lookup which was handled previously
with the "default-origin" mechanism. We will add it back to the CallsSettings
class which will provide a better application-wide mechanism.
2021-06-01 14:52:18 +02:00
Evangelos Ribeiro Tzaras
0c966fdf83
origin: Add API to query supported protocols
...
This will allow selecting a suitable origin when placing outgoing calls.
2021-05-28 17:02:02 +02:00
Evangelos Ribeiro Tzaras
7ad0f4cdd6
provider: Add API to query supported protocols
...
These are the protocols that the provider plugin may support. The origins
must be queried independently whether or not they support any given protocol.
Example: A SIP origin/account may or may not support the "tel" protocol.
2021-05-28 17:02:02 +02:00
Evangelos Ribeiro Tzaras
6d8c227b24
calls-record: Introduce the protocol property
...
This is in preparation for supporting multiple providers (which are handling
different protocols/URI schemes).
This commit also changes the underlying database schema.
2021-05-28 17:02:02 +02:00
Evangelos Ribeiro Tzaras
53f69b06dd
call: Introduce protocol property
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
1e84812938
util: Add simple API to query protocol
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
80ec7d8a35
account-provider: Add debugging in the public functions
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
fecdc1fff8
cleanup: Fix calls_origin_get_name() related memory leaks
...
Document calls_origin_get_name() correctly as transfer-full.
Additionaly fix related memory leaks.
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
1543802c88
provider: whitespace and indentation
2021-05-28 13:18:24 +02:00
Evangelos Ribeiro Tzaras
2ac43f391a
manager: Set peas search path only once
...
There is no need to redo it for every added plugin.
2021-05-20 02:52:11 +02:00
Mohammed Sadiq
b1278f6140
build: Avoid building files multiple times
...
We don't have to build each source for every test, instead we could
create a static library link it with every test, which will be a lot
faster.
2021-05-17 20:00:04 +05:30
Evangelos Ribeiro Tzaras
14ef4f6b17
Add CallsAccountProviderInterface
...
This interface should by implemented by providers for which the user can add
or remove accounts.
2021-05-04 06:41:43 +02:00
Evangelos Ribeiro Tzaras
781adaddee
sip: origin: Use CallsAccountState instead of SipAccountState
2021-05-04 05:57:42 +02:00
Evangelos Ribeiro Tzaras
0e5bd82568
Add CallsAccountInterface
...
This interface should be implemented by origins which represent an online
account. This means they must have a implement a property representing the
credentials and another representing the account state (online, offline, etc).
2021-05-04 05:57:42 +02:00
Evangelos Ribeiro Tzaras
3f72d34c49
Add CallsCredentials class and use it in CallsSipProvider
...
CallsCredentials is a dumb container to store account credentials.
This is done in preparation for the account management in the UI.
2021-05-04 05:57:06 +02:00
Evangelos Ribeiro Tzaras
f9a324fc6f
manager: add debug messages when adding or removing origins
2021-04-27 11:39:09 +02:00
Evangelos Ribeiro Tzaras
8a4d408f3f
manager: remove unused CallsProvider argument from functions
...
Both add_origin() and remove_origin() don't really need it.
2021-04-27 11:39:09 +02:00
Evangelos Ribeiro Tzaras
b71227aae5
call: doc: Indicate ownership in docstrings
2021-04-27 11:38:58 +02:00
Evangelos Ribeiro Tzaras
5ed24c4ed7
doc: Fix gtk-doc transfer annotations
2021-04-27 11:38:26 +02:00
Evangelos Ribeiro Tzaras
70f1df7e0e
build: separate version from the rest of the configuration data
...
This should make sure that we always have 'config.h' available and
should fix issues with flatpak build as seen in #257 :
`fatal error: config.h: No such file or directory`
2021-04-27 01:55:13 +02:00
Evangelos Ribeiro Tzaras
d0194fe534
manager: g_assert in static functions
2021-04-25 18:12:59 +02:00
Evangelos Ribeiro Tzaras
c2c3f64102
codestyle: new-call-box
2021-04-25 18:12:59 +02:00
Evangelos Ribeiro Tzaras
d65284acaa
codestyle: align function prototypes in calls-origin header
...
This makes it a easier on the eyes.
2021-04-25 18:12:59 +02:00
Evangelos Ribeiro Tzaras
868d9e36da
codestyle: get rid of CALLS_SET_PTR_PROPERTY macro
...
One more step towards fixing #214
In `calls-ofono-call.c` the changed code also adheres to the newly introduced
coding style.
2021-04-25 18:12:59 +02:00
Evangelos Ribeiro Tzaras
042478a8eb
call-record: Get rid of macros
...
While these macros are not too bad, they will still be removed for the sake
of consistency (no other purism project uses macros this heavily).
Fixes part of #214
2021-04-25 18:12:59 +02:00
Evangelos Ribeiro Tzaras
4d405e6dcb
application: add --version flag
...
Closes #256
2021-04-16 19:57:03 +02:00
Evangelos Ribeiro Tzaras
9a4debe87e
codestyle: application
2021-04-16 19:47:01 +02:00
Evangelos Ribeiro Tzaras
21666fc7d4
best-match: Don't set NULL phone numbers when updating country code
...
Also related to #255
2021-04-12 14:02:26 +02:00
Evangelos Ribeiro Tzaras
a072d8c7e3
best-match: avoid using NULL phone number
...
Fixes #255
2021-04-12 14:02:19 +02:00
Evangelos Ribeiro Tzaras
9703b1e43e
best-match: disconnect old signal handlers
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
0bd6d7f2a5
best-match: Lookup contact if country code changed
...
Closes #217
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
25d651c834
manager: set default origin
...
This is a bit of a hack to get the country code property hooked up
and will require a rework when multiple provider support is being added.
As the default origin is not being used anywhere else in the code
it's currently not a problem that we're not tracking if the default
origin is being removed.
Additionally test-manager.c needed some adjustment.
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
622827d293
best-match: Use the country code
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
e5832bbad3
application: Use the country code
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
7d69d78b70
origin: Add country-code property
...
And add a binding in CallsManager for the default origin
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
69b170ecfe
best-match: g_return_if_fail if not GeeCollection
...
Closes #254
Closes #227
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
f8a57edc6d
contacts-provider: fix docstring
...
The caller takes ownership of the returned `CallsBestMatch`, so
this should be reflected in the docstring
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
f84d3c0adf
call: g_return_if_fail: type check calls_call_get_contact ()
2021-04-06 14:27:26 +00:00
Evangelos Ribeiro Tzaras
32c89ca9dd
contact-provider: remove trailing whitespaces
2021-04-06 14:27:26 +00:00
Guido Günther
e5827adb60
calls: Fix gtk-doc transfer annotation
...
Broken-by: 501d2914
2021-04-06 13:01:36 +00:00
Guido Günther
01f015a21c
provider: Fix gtk-doc transfer annotations
...
Broken-by: 9e92fb88
2021-04-06 13:01:36 +00:00
Guido Günther
443d23dd56
build: deduplicate sources
...
Shorten the needed sources from
calls_sources, calls_enum_sources, calls_resources,
wl_proto_sources, wayland_sources,
to
calls_sources
so adding new things such as generated dbus sources doesn't have to
happen in four locations but just one.
2021-04-06 14:18:06 +02:00
Guido Günther
5933a4005d
build: Move generated souces before source file list
...
This will be needed in the next commit
2021-04-06 12:50:31 +02:00
Evangelos Ribeiro Tzaras
9e92fb88af
provider: Add API for loading and unloading provider plugins
...
This is also used for our tests. In order to avoid code duplication
this is being moved to calls-provider.{c,h}.
2021-04-05 06:13:44 +00:00
Mohammed Sadiq
c30a41ffa9
Let calls-call be an abstract class
...
And adapt to changes.
A calls-mm-call IS-A calls-call (and so on)
2021-04-05 09:38:03 +05:30
Mohammed Sadiq
a30e1eaa8f
provider: Implement default methods
...
Simply return NULL when these methods are called.
If not implemented, calling these methods may result
in crash when the subclasses haven't implemented them.
2021-04-04 18:16:48 +05:30
Mohammed Sadiq
faa35e90dc
provider: Rename a variable
...
Provider is no longer an interface
2021-04-04 18:12:46 +05:30
Evangelos Ribeiro Tzaras
d67e690f33
new-call-box: Connect signals only if origins non-NULL
...
Fixes #252
2021-04-03 06:41:54 +00:00
Mohammed Sadiq
dc7c676df8
provider: Avoid private data
...
We only have a dummy variable here
2021-04-03 07:22:27 +05:30
Evangelos Ribeiro Tzaras
685aa1950e
application: open sip uri
2021-04-03 00:08:31 +02:00
Evangelos Ribeiro Tzaras
de44a17fe5
sip: use ipv4 exclusively for now
...
IPv6 should work, but sofia's outbound engine keep printing
errors involving the outbound engine. Working theory:
Failing ICMPv6 (pings) can make sofia think we don't have connectivity.
Note that we also don't get any answers from the SIP servers we tried so far.
2021-04-03 00:08:31 +02:00
Guido Günther
55559d91db
window: Don't unhibit with 0 cookie
...
The upper layers do not bother whether there's an inhibitor when
calling uninhibit (and shouldn't) so don't put out out warning
when called with 0 cookie.
Closes : #249
2021-04-01 16:50:51 +00:00
Guido Günther
b04d564bcf
manager: Allow to add plugin dir via environent
...
This eases testing of plugins from the source tree:
CALLS_PLUGIN_DIR=_build/plugins/dummy/ _build/src/gnome-calls -p dummy
2021-04-01 14:07:27 +02:00
Evangelos Ribeiro Tzaras
94345e0916
manager: hang up secondary calls
2021-03-15 09:24:46 +00:00
Evangelos Ribeiro Tzaras
24f53cd927
manager: remove unused function
2021-03-15 09:24:46 +00:00
Evangelos Ribeiro Tzaras
78c0fb1ed7
ringer: use quiet profile for non-primary calls
2021-03-15 09:24:46 +00:00
Evangelos Ribeiro Tzaras
3aebfcc6d1
contact-row: remove deprecated function
...
Fixes #234
2021-03-09 22:45:01 +01:00
Evangelos Ribeiro Tzaras
35f45d8373
meson: bump required libhandy-1 version >1.1.90
2021-03-09 16:50:13 +01:00
Guido Günther
97c2dde0eb
notifier: Fix compile warning
...
Fixes
../src/calls-notifier.c: In function ‘state_changed_cb’:
/usr/include/glib-2.0/glib/gmacros.h:1132:17: warning: ‘notification’ may be used uninitialized in this function [-Wmaybe-uninitialized]
which wasn't problematic with the current code flow but
can easily become a problem when shuffling stuff around.
2021-03-01 10:04:02 +01:00
Mohammed Sadiq
994853910d
application: Open only the first 'tel:' URI
...
Calls can't handle multiple calls, so there is no
point in handling all URIs.
Handle opening URI in activate(), which will be helpful
when we use local_command_line()
Also, this commit fixes presenting window on initial
launch of Calls with a “tel:” URI
2021-02-27 09:14:44 +00:00
Evangelos Ribeiro Tzaras
5b34342134
new-call-box: make sure to call origin_count_changed_cb
...
Otherwise the model changes happening before hooking up will be missed
(which results in the model not being bound to HdyComboRow).
2021-02-27 09:45:06 +01:00
Mohammed Sadiq
eda460ac15
provider: Use GListModel to track origins
...
And adapt to changes
It's easier to track changes if we are using GListModel than
a GList. Also, eventually we shall have multiple providers,
and we can use GtkFlattenListModel to merge multiple origins
without manually managing pointers ourself.
Since several widgets has APIs to handle GListModels, it will
also help us create widgets from GListModels easily.
2021-02-25 08:44:56 +05:30
Evangelos Ribeiro Tzaras
d75a08b9b7
application: Fix double free
...
The double free was introduced in 46e4422
.
This fixes #225
2021-02-16 02:59:24 +01:00
Evangelos Ribeiro Tzaras
46e4422026
application: use g_autoptr
2021-02-11 00:44:07 +01:00
Evangelos Ribeiro Tzaras
5d4b84470c
code style: consistent whitespaces for g_autoptr
2021-02-11 00:43:18 +01:00
Arnaud Ferraris
5375ebbc72
call-display: switch to default audio profile only if no other call
...
Currently, when any call is terminated, audio profile/routing is
switched to the default one.
This is a problem when already into a call and getting a second one:
rejecting the new call will keep the first one going, but with the wrong
audio profile, making it difficult (or, on the PinePhone, impossible) to
keep talking.
This patch makes sure there is no other ongoing call before switching
the audio mode, so that it's possible to keep the first call going even
after rejecting the second one.
2021-02-09 09:09:57 +01:00
Evangelos Ribeiro Tzaras
71f9e636b3
display: fix null pointer dereference
...
removing unused GError
2021-02-08 17:39:42 +00:00
Evangelos Ribeiro Tzaras
f8cd126d6f
record-store: Handle old and new database locations gracefully
...
Because we rename the project and binaries to 'gnome-calls' we want
to make sure that the call history is preserved by doing the following:
If there is an old directory '~/.local/share/calls' try to rename it to
'gnome-calls'. Use new location if it succeeds and fall back to old location if it failed.
2021-02-04 01:19:26 +00:00
Evangelos Ribeiro Tzaras
c732c74703
project: rename to gnome-calls
2021-02-04 01:19:26 +00:00
Julian Sparber
e09f2e10f8
CallsCallDisplay: use HdyAvatar
2021-02-03 23:58:31 +00:00
Julian Sparber
293227ff3c
CallsCallRecordRow: Cleanup contact setup
2021-02-03 23:58:31 +00:00
Julian Sparber
844d04f2d9
Remove unused CallsParty
2021-02-03 23:58:31 +00:00
Julian Sparber
889d5a0981
CallManager: drop calls_manager_get_contact_name ()
...
This function is replaced with calls_call_get_contact ()
2021-02-03 23:58:31 +00:00
Julian Sparber
60e2b39367
CallsCallSelectorItem: Make sure that the contact infomation is updated
...
This is done by binding the contact information to the UI.
2021-02-03 23:58:31 +00:00
Julian Sparber
2206c3733c
CallsCallDisplay: Make sure that the contact infomation is updated
...
This is done by binding the contact information to the UI.
2021-02-03 23:58:31 +00:00
Julian Sparber
501d29145f
CallsCall: Add method to optain matching contact
2021-02-03 23:58:31 +00:00
Julian Sparber
6d3b75262d
BestMatch: add has-individual property
2021-02-03 23:58:31 +00:00
Julian Sparber
f1946aff79
BestMatch: remove BestMatchView to reduce vala code
2021-02-03 23:58:31 +00:00
Julian Sparber
2a85b60f7c
BestMatch: Simplify code for updating new best matching individual
2021-02-03 23:58:31 +00:00
Julian Sparber
339b71a233
BestMatch: Allways return a name
...
If no matching contact is found the phone number is used, and when no
phone number was given "Anonymous caller" is returned.
2021-02-03 23:58:31 +00:00
Julian Sparber
d75d39dc66
BestMatch: Move SearchView creation inside the class
2021-02-03 23:58:31 +00:00
Julian Sparber
99e427a529
BestMatch: Turn avatar into a property
2021-02-03 23:58:31 +00:00
Evangelos Ribeiro Tzaras
d8f2534795
call-display: fix whitespace
2021-02-03 23:58:31 +00:00
Julian Sparber
19c9893ecf
Contacts: Add contacts list
2021-02-03 23:28:57 +01:00
Julian Sparber
4c7b402385
Revert "ui/main-window: Hide contacts pane"
...
This reverts commit 6a4dbe6b18
.
2021-02-03 23:28:57 +01:00
Julian Sparber
f61ae1cba1
Contacts: replace CallsContacts with CallsContactsProvider
2021-02-03 23:28:56 +01:00
Julian Sparber
4ba9feb22f
ContactsProvider: Add contacts provider
...
The CallsContacts provider offers a GListModel that can be connected
directly to a GtkListBox for showing a contacts list.
2021-02-03 16:18:29 +00:00
Evangelos Ribeiro Tzaras
2568ea8179
application: Notify when opening URI/files fails
2021-02-01 23:14:36 +00:00
Evangelos Ribeiro Tzaras
dc6b675a14
application: Use g_autoptr and g_autofree
2021-02-01 23:14:36 +00:00
Mohammed Sadiq
5684d54bbd
Let calls-provider be an abstract class
...
And adapt to changes.
A calls-mm-provider IS-A calls-provider (and so on)
2021-01-31 23:01:13 +00:00
Julian Sparber
1c8eb87e7f
remove CallsCallHolder and CallsCallData
...
Both classes are containers for other data and we can pass the data
directly without an additional code.
2021-01-28 15:22:59 +01:00
Arnaud Ferraris
13c7f052d0
src: meson.build: update libcallaudio dependency
2021-01-24 20:09:21 +00:00
Arnaud Ferraris
cf38ff628b
call-display: update libcallaudio API calls
...
Upstream modified the async API, make sure we use it.
2021-01-24 20:09:21 +00:00
Mohammed Sadiq
862e0b5f57
resources: Use standard icon path
...
GtkApplication by default appends "icons" to the app id and add that
to the icon search path. So let's just use that instead of adding
custom one.
This commit also fixes missing icon for "Add call" button in active
call window
2021-01-23 20:17:14 +00:00
Julian Sparber
dc0242eda5
application: disable dial action when making calls isn't possible
...
Fixes: https://source.puri.sm/Librem5/calls/-/issues/109
2021-01-23 14:32:27 +00:00
Evangelos Ribeiro Tzaras
4ebea1a27c
application: chain up to parents finalize
2021-01-22 15:02:22 +01:00
Evangelos Ribeiro Tzaras
d7cd299d9c
new-call-box: clear entry on longpress
2021-01-20 12:35:34 +00:00
Evangelos Ribeiro Tzaras
9f295a729b
record-row: hide copy number menu item
...
for anonymous callers
2021-01-20 11:47:33 +00:00
Evangelos Ribeiro Tzaras
78a47918be
record-row: Allow copying number from context menu
2021-01-20 11:47:33 +00:00
Evangelos Ribeiro Tzaras
5eeacf3720
application: add copy-number action
2021-01-20 11:47:33 +00:00
Mohammed Sadiq
945e2083e3
application: Remove unused code
...
constructed() was simply creating an action group which
is never used.
2021-01-20 11:00:51 +00:00
Mohammed Sadiq
7c13d3f179
application: Simplify loading css
...
And fix a memory leak.
2021-01-20 10:10:50 +00:00
Evangelos Ribeiro Tzaras
5bdfb0e223
application: Hang up calls when closing the UI
2021-01-12 17:09:06 +01:00
Evangelos Ribeiro Tzaras
f69c597387
manager: add has_active_call() and hang_up_all_calls()
2021-01-12 16:47:36 +01:00
Evangelos Ribeiro Tzaras
4602cca37d
manager: remove trailing whitespace
2021-01-12 16:47:36 +01:00
Evangelos Ribeiro Tzaras
b327aefdbb
call-window: inhibit idle during active call
...
Closes #202
2020-12-27 09:57:34 +00:00
Daniel Abrecht
4e7a0b8151
Replace CallsOrigin getters with properties and add calls_origin_foreach_call method
2020-12-07 17:25:33 +00:00
Adrien Plazas
fccb72c58c
style: Fix the CSS path to the HdyKeypad buttons
...
In libhandy 1, the hdykeypad CSS class name got renamed into keypad, and
HdyKeypad isn't a GtkGrid anymore but it contains one.
2020-11-05 09:58:21 +01:00
Mohammed Sadiq
0f88802cda
new-call-box: Handle USSD commands
2020-11-03 08:19:03 +05:30
Mohammed Sadiq
1c89bf292c
main-window: Add dialog to handle USSD
2020-11-03 08:19:03 +05:30
Mohammed Sadiq
949ef90e03
manager: Hook to ussd signals from provider
2020-11-03 08:19:03 +05:30
Mohammed Sadiq
6af2e26639
util: Add API to test for USSD command
2020-11-03 08:19:03 +05:30
Mohammed Sadiq
8103c3d477
Add calls-ussd interface
2020-11-02 10:00:46 +05:30
Arnaud Ferraris
8308e1dbbf
src: meson.build: remove librem5-hack option and depend on libcallaudio
2020-11-01 13:17:32 +01:00
Arnaud Ferraris
088c693374
ui: call-display: set speaker and mute buttons sensitive by default
...
Now that we got rid of ugly hacks, these buttons should work on all
devices. We can therefore enable them by default.
2020-11-01 13:17:06 +01:00