Project

General

Profile

Actions

Feature #1115

closed

Migrate pidialer to use pigtk widgets for both keyboard and textline display.

Added by Hammel 8 months ago. Updated 8 months ago.

Status:
Closed
Priority:
Immediate
Assignee:
Target version:
Start date:
06 Apr 2024
Due date:
% Done:

100%

Estimated time:
Severity:
01 - Critical

Description

The pidialer app has its own custom code for keyboard and phone number display. Both are now implemented as widgets in pigtk.
Migrate pidialer to use the keyboard and textline widgets from pigtk.
This will require creating a custom keyboard layout for the phone numbers. Use the same layout as currently implemented in pidialer.

Actions #1

Updated by Hammel 8 months ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 30

Initial port is ready for testing, including numentry.json config file.

Actions #2

Updated by Hammel 8 months ago

To manually test I need to copy libpigtk* to /usr/lib on the target.
Then I need to set the following environment variables:
  1. export TSLIB_TSDEVICE=/dev/input/event2
  2. export DISPLAY=unix:0.0

When run, the following error shows up:

loadJSON[pigtk-keyboard.c:96] INFO Reading file: /usr/share/gtk_keyboard/pidialer-numentry.json
loadJSON[pigtk-keyboard.c:100] INFO JSON:
(null)
gtk_keyboard_init[pigtk-keyboard.c:476] ERROR Invalid rows (0) or columns (0) in GTK_KEYBOARD.

So it looks like there maybe something wrong with the json file.

Actions #3

Updated by Hammel 8 months ago

Fixed - missing commas in cells using icons.

Next issue:

gtk_keyboard_paint[pigtk-keyboard.c:715] INFO Entered.
gtk_keyboard_get_type[pigtk-keyboard.c:328] INFO Entered.
gtk_keyboard_paint[pigtk-keyboard.c:725] INFO Allocating pixmap
gtk_keyboard_get_type[pigtk-keyboard.c:328] INFO Entered.

(pidialer:1084): Gdk-CRITICAL **: 02:34:36.981: _gdk_pixmap_new: assertion '(drawable != NULL) || (depth != -1)' failed
gtk_keyboard_get_type[pigtk-keyboard.c:328] INFO Entered.
do_drawing[pigtk-keyboard.c:168] INFO Entered.
Actions #4

Updated by Hammel 8 months ago

I need to port this to run on the build machine to make testing easier. I've done the initial work of putting libs under /usr/local/lib. Now I need to add the -T option to pidialer, in the same manner that it works for the pigtk test app.

First thing: export GTK_KEYBOARD_DIR="$(pwd)/data"

Actions #5

Updated by Hammel 8 months ago

Ugh. I screwed up and lost the changes to pidialer.c. Too many things going on at once.

I'll have to redo those changes. Not hard, but it's stupid that I did this.

Actions #6

Updated by Hammel 8 months ago

  • % Done changed from 30 to 60

Ready for testing on hardware again. This version is cleaner than the last one as I've updated the icons and fixed the background of icons in the keyboard widget.

Note that libpigtk needs to be pushed to hardware too, as it has an update too.

Actions #7

Updated by Hammel 8 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 60 to 100

Fixes to libpigtk and pidialer successfully tested on hardware.
Opened new bugs to fix font size in pigtk-keyboard (rm #1118) and that pidialer requires two clicks to close app (RM #1117).

Code committed and pushed.
Closing issue.

Actions

Also available in: Atom PDF