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

157 commits

Author SHA1 Message Date
Evangelos Ribeiro Tzaras f102fb3fcd account-widgets: Conform to style
Closes #396
2022-05-24 11:55:52 +00:00
Evangelos Ribeiro Tzaras 41479eea09 account-row: Use delayed state changes for GtkSwitch
When trying to go online/offline we're always waiting for confirmation
from the stack (even if it's a timeout) so the delayed pattern is a good choice.
2022-05-24 11:55:52 +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 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 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 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
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
Christopher Davis aaf87e5e89 new-call-box: Clamp everything
This prevents items from stretching out of bounds.
2021-11-30 19:37:28 +00: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 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
Evangelos Ribeiro Tzaras edd8560291 Remove CallsCallDisplay 2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras 28516cda32 new-call-box: Clarify accessible name 2021-10-19 09:43:48 +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 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 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 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 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
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
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 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
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
Evangelos Ribeiro Tzaras 9f45e8b0a5 call-display: Ellipsize labels at the end
Fixes #283
2021-07-01 02:02:09 +02: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
Julian Sparber e09f2e10f8 CallsCallDisplay: use HdyAvatar 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
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
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
Mohammed Sadiq 1c89bf292c main-window: Add dialog to handle USSD 2020-11-03 08:19:03 +05:30
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
Adrien Plazas 576ea55e9f main-window: Use HdyViewSwitcherTitle
This makes the code simpler.
2020-10-06 14:06:51 +00: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
Guido Günther 91cdde3ac9 main-window: Allow the in app notification to wrap
Othewise we overflow the window. Center it too.
2020-09-10 08:58:25 +00:00
Arnaud Ferraris aadd3e3515 ui: call-display: wrap toggle buttons' labels
For some locales, the buttons' labels can be quite long, making the
window wider than the display.

Using a line wrap will solve this issue when there wouldn't be shorter
translation alternatives. This requires reducing the encryption indicator's
margins so the window height doesn't grow beyond the available display size.
2020-07-13 10:51:02 +02:00
Evangelos Ribeiro Tzaras 4bf5cd5232 Implement delete call with context menu on longpress
* src/ui/call-record-row.ui: Add menu, GtkPopover. Surround existing
  elements with GtkEventBox to capture longpress/rightclicks
* src/calls-call-record-row.c: Provide functions emiting "call-delete"
  signal, add widgets from ui file
* src/calls-record.c: Add "call-delete" signal
* src/calls-history-box.c: Add callback for "call-delete" signal
* src/calls-record-store.c: Add callback for "call-delete" signal
* src/util.c: Add convenience function calls_find_in_store for finding
  items in ListModel
* src/util.h: Add declaration of calls_find_in_store
2020-06-10 20:49:44 +02:00
Julian Sparber 0b44f6471f
History: Make avatars 48px big
Signed-off-by: Julian Sparber <julian@sparber.net>
2020-03-31 16:31:38 +02:00
Julian Sparber 4f03ab0441
History: use HdyAvatar
This disables the custom avatar. It will be added back later.

Signed-off-by: Julian Sparber <julian@sparber.net>
2020-03-31 16:31:38 +02:00
Julian Sparber a9bd1ebae6 MainWindow: show error message when making calls isn't possible 2020-03-30 15:00:06 +00: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 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
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
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
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 6a4dbe6b18 ui/main-window: Hide contacts pane
While we have no integration with Contacts, the contacts pane
shouldn't be visible.

Closes #83
2019-09-18 13:38:48 +01:00
Bob Ham df74a80594 calls-new-call-box: Allow entering of "+" symbol
Use the "number" property of the dial pad for the dialed number which
takes care of cycling buttons. While we're at it, also make the clear
button external to the number entry box, enlarging it and turning it
into a backspace button.

Closes #12
2019-08-22 16:05:24 +01:00
Bob Ham 3c22bc9154 Hook up Recent Calls list to database
Closes use-cases#113
Closes use-cases#115
2019-08-01 14:39:55 +01:00
David Boddie a27efedf7c Override the input method for entry widgets 2019-07-10 16:42:15 +02:00
Bob Ham d8cf2be9c6 Merge branch 'symbolic-switcher-icons' into 'master'
Switcher: symbolic icons, label capitalization

See merge request Librem5/calls!51
2019-07-09 10:04:56 +00:00
Bob Ham 4fcc846095 Merge branch 'recents-empty-state-label' into 'master'
Minor: Change recent calls empty state label

See merge request Librem5/calls!47
2019-07-09 09:58:10 +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
Tobias Bernard aee2b247ca Switcher: symbolic icons, label capitalization 2019-07-03 14:55:09 +02:00
Bob Ham 251e3b0076 calls-main-window: Use HdyViewSwitcher and friends
Use HdyViewSwitcher to navigate between the dial pad, call history and
a contacts list.

Closes #56
2019-07-03 13:39:25 +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
Tobias Bernard 617822d6ce Minor: Change recent calls empty state label 2019-06-26 15:19:52 +00:00
Bob Ham 3160fbee15 Merge branch 'christopherdavis/change-about-label' into 'master'
history-header-bar: Change "About" to "About Calls"

See merge request Librem5/calls!45
2019-06-18 11:35:04 +00:00
Christopher Davis e0123e400e history-header-bar: Change "About" to "About Calls"
As a part of GNOME's initiative to move menus, "About" should be "About $APP_NAME" rather than "About".

See https://gitlab.gnome.org/GNOME/Initiatives/wikis/App-Menu-Retirement#guidelines for reference
2019-02-19 23:08:24 -05:00
Mohammed Sadiq d62976a9a1 window: hide windows on delete
As calls is supposed to run always in background,
destroying window on close results in unintended issues.
Let's simply hide the window instead.
2019-01-29 11:36:38 +05:30
Bob Ham c203f470fe Fix modem addition/removal and deal with ModemManager appearing/vanishing
Modems being added or removed were not working.  To fix this, we pay
attention to the "object-removed" event and not just
"interface-removed".

Also, to deal with ModemManager appearing and vanishing, we add a
GDBus watch on ModemManager's D-Bus object.

Finally, we provide appropriate UI feedback when it's not possible to
make a call.

Closes #15
Closes #16
2018-10-19 10:24:00 +00:00
Bob Ham f4eae98458 main-window,new-call-box: Move origin store from MainWindow to NewCallBox
The main window has no need to store origins now so this simplifies
things dramatically.
2018-10-08 10:16:04 +00:00
Bob Ham 8a96c79eff Merge branch 'wip/sadiq/history' into 'master'
history-box: Add empty view

See merge request Librem5/calls!23
2018-10-03 10:10:10 +00:00
Adrien Plazas 7682aa1029 main-window: Move calls history before the new call box
This makes the calls history the page visible by default, matching the
final design.
2018-10-01 08:41:55 +02:00
Adrien Plazas e0a1329218 main-window: Replace the stack switcher by a header bar
Drop the in-window content stack witcher and replace it by a header bar
containing both a CallsHistoryHeaderBar and a CallsNewCallHeaderBar.
2018-10-01 08:41:55 +02:00
Adrien Plazas b9d353dd58 Add CallsNewCallHeaderBar 2018-10-01 08:41:55 +02:00
Adrien Plazas 1a16271bcb Add CallsHistoryHeaderBar 2018-10-01 08:41:55 +02:00
Adrien Plazas 65d7943e88 main-window: Don't display calls 2018-10-01 08:18:28 +02:00
Adrien Plazas b547c344e5 Add CallsCallWindow 2018-10-01 08:18:28 +02:00
Mohammed Sadiq 6bcb4db25d history-box: Add empty view 2018-09-24 07:38:06 +05:30
Mohammed Sadiq cbd15260b9 new-call: Set input hints and purpose of SearchEntry 2018-09-15 06:22:34 +05:30
Adrien Plazas 6d921bd667 main-window: Fix the title 2018-08-29 09:05:57 +02:00
Adrien Plazas b05c6e34e2 main-window: Use a new call box
Replace the custom inplementation of a call box by a CallsNewCallBox
which is used to dial new calls and not to send DTMF tones as the call
display can now handle that.
2018-08-29 09:05:57 +02:00
Adrien Plazas 22d79bfbbf Add CallsNewCallBox 2018-08-29 09:05:57 +02:00
Adrien Plazas a07b0b8382 main-window: Drop the new call expander
It is not needed anymore as the call display can send DTMF tones itself,
so instead let the dial pad always be available to send new calls.
2018-08-29 09:05:57 +02: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 0d98e17b05 main-window: Use CallsHistoryBox
This helps the window to be only a glue in between the actual UI
elements instead of handling a lot of the UI.
2018-08-29 09:05:57 +02:00
Adrien Plazas 70bafc2091 Add CallsHistoryBox 2018-08-29 09:05:57 +02:00
Adrien Plazas c68b76fa63 call-display: Add an encryption indicator
This matches the final design.
2018-07-31 10:14:49 +02:00
Adrien Plazas 1dca8d34fb Add CallsEncryptionIndicator
This will be used in the next commit to let a call display indicate
whether the call is encrypted or not.
2018-07-31 10:14:49 +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 b104483d3a call-display: Move hang up button at the bottom
Also make it match the final design.
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