Commit Graph

7 Commits

Author SHA1 Message Date
Saleem Edah-Tally
4b23b1f3de Allow cancelling a scan session.
- perform scanning in a thread
 - change the label of the scan button
 - trigger cancel with the same button and with the ESC key
 - process all GUI updates in asynchronous mode.

Do not use a top window as parent of popups:
 - If a top window goes away in an application with multiple instances of
 XInsaneWidget, any call to a scanner widget leads to a crash.

Minor changes.
2025-07-12 23:03:32 +02:00
Saleem Edah-Tally
3350f86ddf Null pointer check. 2025-07-09 23:08:33 +02:00
Saleem Edah-Tally
a2045aa1f6 Add a 'Stamp' widget.
Place one or multiple stamps on scanned pages in defined locations.

A stamp is understood here as
 - a transparent text in a transparent frame with no borders
 - an opaque text on an opaque background with no borders.

Stamp parameters:
 - text
 - font
 - foreground colour
 - background colour
 - angle of rotation
 - transparency.

Locations:
 - centre
 - cardinal directions
 - inter-cardinal directions.
2025-07-09 21:12:02 +02:00
Saleem Edah-Tally
1bdffe7c79 Remove stray file. 2025-07-06 21:26:38 +02:00
Saleem Edah-Tally
a488308bf6 Remove alien file. 2025-07-04 22:42:37 +02:00
Saleem Edah-Tally
554b3606cd Don't close the child item.
A v4l device may become unusable after the first capture (its child source
item may have been faked by libinsane if it had none).

Real scanners sustain both situations so far, i.e., whether the child source
is explicitly closed or not.
2025-07-01 17:48:21 +02:00
Saleem Edah-Tally
ef6f25ef27 Initial commit. 2025-06-28 17:40:42 +02:00