1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-06-30 15:49:31 +00:00
Commit graph

26 commits

Author SHA1 Message Date
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
Julian Sparber e09f2e10f8 CallsCallDisplay: use HdyAvatar 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
Evangelos Ribeiro Tzaras d8f2534795 call-display: fix whitespace 2021-02-03 23:58:31 +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 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
Arnaud Ferraris d304c9cb32 call-display: replace ugly hacks with libcallaudio calls
`callaudiod` is a device-agnostic service for routing audio during voice
calls, called through `libcallaudio`.

It allows us to automatically switch profiles when entering a call,
enable the speaker output or mute the microphone, and can therefore be
used to replace the current Librem 5-specific hacks.
2020-11-01 13:15:58 +01:00
Adrien Plazas 6dba2c453b Port to libhandy 1
This ports Calls to libhandy 1 and drops the embedded HdyAvatar in favor
of the libhandy one.

Fixes https://source.puri.sm/Librem5/calls/-/issues/172
2020-10-06 14:06:51 +00:00
Mohammed Sadiq ba00b174f9 call-display: Use real ellipsis
See https://wiki.gnome.org/Design/OS/Typography
2020-05-31 19:24:25 +05:30
Guido Günther 956916ae1f Drop translations from property names and descriptions
They're never used anywhere.

Closes: #155, #121
2020-05-29 13:11:44 +00:00
Evangelos Ribeiro Tzaras 31fa887f04 Build "ugly code" in calls-call-display conditionally
* meson_options.txt: Added option librem5-hack, defaults to true
* src/meson.build: Added conditional define USE_UGLY_CODE which will be
  set when librem5-hack option is used
* src/calls-call-display.c: ifdef'ed ugly_hacks call
2020-05-15 22:59:00 +02:00
Julian Sparber e911f391c6
Use correct parent class when chaining up overridden functions
How `g_type_class_peek ()` was used it didn't return the correct parent
class in most cases.
G_DEFINE_TYPE macro creates a pointer we can use to get the parent
class `n_p_parent_class`.
Because we didn't use the correct parent class the object initialisation
wasn't fully completed for some GtkWidgets.
See https://developer.gnome.org/gobject/stable/chapter-gobject.html#gobject-instantiation
for more information.

This commit makes use of the `n_p_parent_class pointer` created for this
specific use case where ever possible.

Fixes: https://source.puri.sm/Librem5/calls/issues/118
2020-02-19 12:49:58 +01:00
Julian Sparber 497fe072fc
Replace HdyDialer with HdyKeypad and bump libhandy to 0.0.12
HdyDialer was deprecated and therefore is replaced with HdyKeypad.
HdyDialer used a `gchr *` to store the entered phone number. On every
button press the entire text of the display entry was replaced with the new
string, which messed up selection and cursor position.
HdyKeypad connects directly to a GtkEntry and inserts each
button press the same way as a keyboard stroke would do.

In the case of the `call display` entry every new digit is appended to the
end of the input and therefore it also moves the cursor to the end of the
entry. Instead of making the Entry not editable, only the events which
would remove text form the entry are blocked, via the `delete-text`
signal. And the signal `insert-text` is used to block unwanted chars
from beeing inserted.

Same as for the `call display` entry also the `new call box` entry is
made editable and the signal `insert-text` is used to block unwanted
chars. All other user action possible on a entry arn't blocked
e.g. repositioning the cursor.

The advantage of making the Entry editable is that we can show
the cursor position.
It also allows the user to select the position where new digits are
inserted in the `new call box`.
On a button press the focus is set to the Entry to give the correct
feedback to the user.

This centers the text on the entry, as required by the design.
This also makes the delete button remove only one char at the time, to
move closer to the desired UX.
Related: https://source.puri.sm/Librem5/calls/issues/58

Fixes: https://source.puri.sm/Librem5/calls/issues/82
2020-01-27 14:27:06 +01:00
Bob Ham 7d02dcbb66 call-display: Only mute the microphone with the Mute button
Don't mute the sink (the codec speaker feed), only mute the source
(the microphone feed).

Fixes #112
2020-01-20 12:08:19 +00:00
Bob Ham 40b8793710 call-display: Add ugly, ugly hacks to enable speakerphone/mute buttons
We call pactl synchronously in order to (1) change the sink/source
port for speakerphone and (2) mute the sink/source for mute.  The
sink/source names are hardcoded.  This is all ugly and needs to not
exist.  This functionality should be in Wys, accessed over D-Bus, or
in some other, as-yet undefined component.
2019-12-10 11:03:53 +00:00
Bob Ham 719b3e752f calls-call-display: Add a display of dial pad digits
Closes #57
2019-07-04 15:32:40 +01:00
Bob Ham b0d9918f5a Update UI to better reflect the design
* Make the Answer button look nice and laid out properly.
* Merge the time and status labels, displaying simply the text
  "Calling..." until the call becomes active and then the call time
  afterwards.
* Fix info display bar in both the call and main windows so they use a
  GtkRevealer and work a lot better.
* Add a "new-call-symbolic" icon for the "Add call" button.
* General tweaks and clean-ups

Closes #55
Closes #35
2019-06-28 15:14:45 +01:00
purism 1c37b39398 mm-call,call-display: Add more debugging output for state changes 2018-09-27 08:44:24 +00:00
Adrien Plazas 6182961f07 call-display: Add a dial pad overlay
Put the call display in an GtkOverlay and add a dial pad sending DTMF
tones as an overlay. Also make the dial pad overlay be triggered by the
dial pad button.
2018-08-29 09:05:57 +02:00
Adrien Plazas 52f7f2da6f Drop the CALLS_DISPOSE_OBJECT() macro
Replace it by g_clear_object() as it does the same thing.
2018-08-03 11:29:56 +02:00
Adrien Plazas 7c974d38ed call-display: Make the buttons match the new design
Add 'mute' and 'dial pad' buttons, drop the 'hold' button, change the
size of the central buttons, make them use icons and drop the now
useless group size.
2018-07-31 10:14:49 +02:00
Adrien Plazas c5b1a3a923 call-display: Replace name by primary and secondary info
This better matches the final design and displays the most relevant
information available first.
2018-07-31 10:13:32 +02:00
Adrien Plazas 152c89ea79 call-display: Display two digits for minutes
This matches the final design.
2018-07-27 15:45:24 +02:00
Bob Ham 07eb23da0f Initial import of cleaned Calls working tree 2018-05-17 14:16:51 +01:00