1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-12-15 00:47:36 +00:00
Commit graph

1208 commits

Author SHA1 Message Date
Julian Sparber
f603f5be51
Remove Enumerate and EnumerateParams class
This classes where fully replaced by Manager
2020-03-27 12:05:35 +01:00
Julian Sparber
1a2c2f3036
RecordStore: Use Manager 2020-03-27 12:05:34 +01:00
Julian Sparber
3d4b547d04
Ringer: Use Manager 2020-03-27 12:05:34 +01:00
Julian Sparber
c5cb1a97ed
Ringer: fix parent instance 2020-03-27 12:05:34 +01:00
Julian Sparber
5828fad63b
CallWindow: use Manager
As a side effect this removes also the disconnect message when a call
ends.
Fixes: https://source.puri.sm/Librem5/calls/issues/119
2020-03-27 12:05:33 +01:00
Julian Sparber
ffa3e724dd
Use CallsManager in MainWindow and NewCallBox
This removes the status message at the end of the NewCallBox, since it
will be replaced by a permanent InfoBar.

As a side effect this removes also the disconnect message when a call
ends.
Fixes: https://source.puri.sm/Librem5/calls/issues/119
2020-03-27 12:05:33 +01:00
Julian Sparber
3e138eeccd
Manager: add test 2020-03-27 12:05:33 +01:00
Julian Sparber
9055724f33
Add a CallsManager and move Provider handling to it
The manager is a central place for handling data e.g. calls history and
provider managment.

This introduces only the base for feature work. Therefore it manages
only the provider for now, but the manager isn't yet used anywhere.

The propagets events from the provider and origins. It also adds a new
signal called `error`. The `error` signal should be emited only when
something went wrong and we need to inform the user about it, containing
the message to be displayed to the user. Windows should connect to the
event and display a in-app-notification on error. This event isn't
emitted, because the plugins don't give us a usable error.
2020-03-27 12:05:32 +01:00
Julian Sparber
ed0da2a3ab MMPlugin: emit *-removed after removing object
This makes sure that when we use calls_provider_get_origins/calls ()
in the signal handler it doesn't include the removed origin/call.
2020-03-26 18:49:57 +00:00
Julian Sparber
389e772069 DummyPlugin: fix events emits for call-removed, origin-*
This fixes this two issues:
- Emit the events origin-removed, origin-added when required.

- Remove call immediately when disconnected and emit events:
  By using `g_idle_add ()` we can't be sure when the call is actually
  removed and could stay potentionaly for evere, as long the main loop is
  busy. This can lead to unexpected behavior. If the calls shouldn't be
  freed then it's required to increase the ref count. This is similar how
  the `remove` event works in a `GtkContainer`.
2020-03-26 18:49:57 +00:00
Julian Sparber
113dbbba88
Release Calls 0.1.3
Signed-off-by: Julian Sparber <julian@sparber.net>
2020-03-26 19:26:53 +01:00
Julian Sparber
934e39ed15
Add Julian Sparber as maintainer 2020-03-26 19:26:47 +01:00
tor sorensen
17665b8d79 Add license COPYING file for appropriate packaging. 2020-03-25 21:10:53 +00:00
Julian Sparber
f1f848c5f3 CallHistory: Don't pass the CallsNewCallBox to the CallsHistory
Since we now have a "dial" action we can uses it also in the History,
this way we don't need to pass arond the NewCallBox.
2020-03-19 16:54:33 +00:00
Julian Sparber
62a327a0ae CallHistory: Use dial action for recall button 2020-03-19 16:54:33 +00:00
Julian Sparber
19632e428b
CallWindow: use in-app notification 2020-03-18 11:20:47 +01:00
Julian Sparber
e7c248ea30
MainWindow: use in-app notification for messages
This replaces the infobar with a in-app notification.
2020-03-18 11:20:47 +01:00
Julian Sparber
e7e95efcfb
Add class for in-app notification 2020-03-18 11:20:46 +01:00
Daniel Abrecht
cad79a4834 Reintroduce GParamSpec props arrays & replace g_object_notify with g_object_notify_by_pspec 2020-03-18 09:57:01 +00:00
Daniel Abrecht
4055503336 Notify if number changes in mm plugin 2020-03-18 09:57:01 +00:00
Daniel Abrecht
a7a679c186 Convert calls call getters to readonly properties
This is part of a larger refactoring effort, with the goal to replace
all the get_*() member functions in provider abstraction interfaces with
GObject properties. See also: https://source.puri.sm/Librem5/calls/issues/6
2020-03-18 09:57:01 +00:00
Julian Sparber
1f9859264d
Add .gitignore 2020-03-13 11:38:58 +01:00
Julian Sparber
a91da3f84b
CallHistory: Disable selecting/activating rows and ellipzise
This makes the name in each row ellipzise in the middle.

Signed-off-by: Julian Sparber <julian@sparber.net>
2020-03-11 11:51:46 +01:00
Julian Sparber
a14f3fd7a0
CallHistory: Add a frame to the call history
GNOMEs HIG recommands frames around a List.
This also moves the ScrollBar to the edge of the window in the
CallHistory.

Signed-off-by: Julian Sparber <julian@sparber.net>
2020-03-11 11:51:44 +01:00
Bob Ham
e7ef61e1b7 application: Add "--dial" command-line option
This option allows the specification of a much broader set of numbers
that tel: URIs, which are limited to global phone numbers in
international form and prohibit local numbers and other useful strings
like "*100#".

This functionality is implemented as a command-line option rather than
a "dial:" or "callto:" URI scheme for the same reason given in RFC
3966, section 7.3:

  '"Callto" was discarded because URI schemes locate a resource and do
  not specify an action to be taken.'
2020-02-26 09:37:34 +00:00
Julian Sparber
c3b3474fe6 Flatpak: Fix flatpak manifest, remove java dep and update deps
This makes the flatpak build and removes outdated manifest options
This also removes java since it was only needed to build the metadata
for libphonenumber which is already included in the source repo. See
https://github.com/google/libphonenumber/pull/2363
2020-02-24 15:54:17 +00:00
Julian Sparber
9376455587 Flatpak: use always a space before : 2020-02-24 15:54:17 +00:00
Daniel Abrecht
b576afe1f1 Fix some lintian warnings regarding the debian/copyright file.
This fixes the following lintian warnings:
 - W: calls source: field-name-typo-in-dep5-copyright copytight -> copyright (line 27)
 - W: calls source: missing-license-paragraph-in-dep5-copyright gpl-3+ (paragraph at line 1)
2020-02-20 21:26:45 +00: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
06481155fd
NewCallBox+CallDisplay: UI facelift
This adds a style.css file to allow the use of custom css

Fixes https://source.puri.sm/Librem5/calls/issues/115:
- Making the phone number larger
- Moving the delete button to the bottom
- Rounding all buttons, and making the grid buttons circular
- Making the call button a bit less wide
2020-01-28 17:58:01 +01:00
Bob Ham
bcaf92d8d2 Release Calls 0.1.2 2020-01-27 14:56:08 +00: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
dc9b7102de mm-call: Sanitise disconnect messages
Clean up the disconnect messages so they make sense when presented to
the user.  Also add new state change reasons from ModemManager 1.10
and 1.12.

Fixes #90
2020-01-21 13:29:58 +00: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
Mohammed Sadiq
0634f49fc7 mm-provider: Fix a check to remove device
We want to remove the modem if the currently removed interface is
Voice.  It was previously removing the device if the removed
interface wasn’t Voice.

Fixes https://source.puri.sm/Librem5/calls/issues/94
2020-01-20 10:41:45 +00:00
Guido Günther
9f4c0cf3d0 Add potfile
Generated via

   ninja  -C _build/ calls-pot
2020-01-14 18:19:21 +01:00
Guido Günther
3db2a8aa5c po: Update pofiles.in
Closes: #76
2020-01-14 18:18:17 +01:00
Guido Günther
ad56f9aa85 gitlab-ci: Build package and run autopkgtest / lintian
Use prebuilt pipelines to build debs for arm64 and amd64. Test
the amd64 ones using (potential) autopkgtests and lintian.
2020-01-13 12:19:46 +01:00
Guido Günther
a85710869c gitlab-ci: Specify stages
We want proper ordering on the to be added stages
2020-01-13 12:19:46 +01:00
Guido Günther
f66e947554 debian: Add superficial autopkgtest
This makes sure we have all the dependencies to start the program.
2020-01-13 12:19:46 +01:00
Bob Ham
10d46d212f d/changelog: Fix distribution name 2019-12-10 15:04:26 +00:00
Bob Ham
b71e41bac1 Release Calls 0.1.1 2019-12-10 14:52:17 +00:00
Bob Ham
cc41df44d6 Add initial avatar support
We change the code for dealing with contacts quite significantly,
adding a new class, CallsBestMatch, in order to encapsulate a lot of
the functionality that was in CallsCallRecordRow.

At present avatars are not rounded and there are no auto-generated
avatars for contacts with no avatar.  This work is awaiting discussion
of Apps_Issues#164.
2019-12-10 14:46:31 +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
8f2cddddcf Add -Wno-error=deprecated-declarations to build arguments
This works around the deprecation warning for HdyDialer.
2019-12-10 10:03:40 +00:00
Bob Ham
9fe575053d Use libfolks phone number lookup in call record display
Closes #85
2019-10-29 14:54:45 +00:00
Bob Ham
6a7fbf0b59 Add phone number lookup using libfolks
The CallsBestMatchView and CallsPhoneNumberQuery classes are written
in Vala because they may be generally useful and to leave open the
possibility of adding them to libfolks itself, which is written in
Vala.
2019-10-29 13:21:45 +00:00
Lubomir Rintel
4b4cfa0426 appdata.xml: fix a validation error
appstream-util version 0.7.16 complains:

  $ appstream-util validate-relax --nonet ./data/sm.puri.Calls.appdata.xml
  ./data/sm.puri.Calls.appdata.xml: FAILED:
  • tag-missing           : <description> required
  Validation of files failed

What it actually means that the <description> is not well formed because
it should contain a paragraph.
2019-10-09 11:07:20 +02:00
Bob Ham
e7ba7d731c ringer: Use the GTK sound theme 2019-09-23 15:22:31 +01:00
Bob Ham
2d5396dd8a Merge branch 'release-v0.1.0' into 'master'
Release Calls 0.1.0

See merge request Librem5/calls!69
2019-09-18 15:20:36 +00:00