1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-09-27 06:05:30 +00:00
Purism GNOME phone app
Find a file
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
.gitlab/issue_templates Fix typo and rewording 2018-08-10 07:56:50 -06:00
data appdata.xml: fix a validation error 2019-10-09 11:07:20 +02:00
debian Replace HdyDialer with HdyKeypad and bump libhandy to 0.0.12 2020-01-27 14:27:06 +01:00
doc Preliminary documentation of provider interfaces 2018-05-23 09:59:28 +01:00
plugins mm-call: Sanitise disconnect messages 2020-01-21 13:29:58 +00:00
po Add potfile 2020-01-14 18:19:21 +01:00
src Replace HdyDialer with HdyKeypad and bump libhandy to 0.0.12 2020-01-27 14:27:06 +01:00
tests Add -Wno-error=deprecated-declarations to build arguments 2019-12-10 10:03:40 +00:00
.dir-locals.el Initial import of cleaned Calls working tree 2018-05-17 14:16:51 +01:00
.gitlab-ci.yml gitlab-ci: Build package and run autopkgtest / lintian 2020-01-13 12:19:46 +01:00
calls.doap calls.doap: Update homepage location 2018-05-31 14:36:08 +01:00
meson.build Release Calls 0.1.1 2019-12-10 14:52:17 +00:00
meson_options.txt Display call window over the phosh lockscreen 2019-09-06 14:58:08 +01:00
README.md docs: update depedencies instructions 2019-09-02 12:03:47 +02:00
sm.puri.Calls.json Support opening of tel: URIs 2019-08-06 11:29:05 +01:00

Calls

A phone dialer and call handler.

License

Calls is licensed under the GPLv3+.

Dependencies

To build Calls you need to first install the build-deps defined by the debian/control file

If you are running a Debian based distribution, you can easily install all those the dependencies making use of the following command

sudo apt-get build-dep .

Building

We use the meson and thereby Ninja. The quickest way to get going is to do the following:

meson -Dprefix=/usr/local/stow/calls-git ../calls-build
ninja -C ../calls-build
ninja -C ../calls-build install

Running

Calls has a variety of backends. The default backend is "mm", which utilises ModemManager. To choose a different backend, use the -p command-line option. For example, to run with the dummy backend and some useful debugging output:

export G_MESSAGES_DEBUG=all
/usr/local/stow/calls-git/bin/calls -p dummy

If using ModemManager, Calls will wait for ModemManager to appear on D-Bus and then wait for usable modems to appear. The UI will be inactive and display a status message until a usable modem appears.

oFono

There is also an oFono backend, "ofono". This was the first backend developed but has been superceded by the ModemManager backend so it may suffer from a lack of attention.

The ofono backend depends on oFono Modem objects being present on D-Bus. To run oFono with useful output:

sudo OFONO_AT_DEBUG=1 ofonod -n -d

The test programs within the oFono source tree are useful to bring up a modem to a suitable state. For example:

cd $OFONO_SOURCE/test
./list-modems
./enable-modem /sim7100
./online-modem /sim7100

Then run Calls:

/usr/local/stow/calls-git/bin/calls -p ofono

Phonesim

One can also make use of the oFono modem simulator, phonesim (in the ofono-phonesim package in Debian):

ofono-phonesim -p 12345 -gui /usr/local/share/phonesim/default.xml

then, ensuring /etc/ofono/phonesim.conf has appropriate contents like:

[phonesim]
Address=127.0.0.1
Port=12345

run oFono as above, then:

cd $OFONO_SOURCE/test
./enable-modem /phonesim
./online-modem /phonesim

And again run Calls.