Commit Graph

28 Commits (1dc1acaba38784e9273c61683a1dfcf56ee06296)

Author SHA1 Message Date
Peter Hutterer 1dc1acaba3 gui: move most of the tuhi-gui startup script to application.py
Add a new main() there so we have a single entry point for the gui instead of
a complex script that needs to be called. That start up script should really
just be the minimum bits possible.

It's still not perfect because we won't work without the gresources and they
require that the pkgdatadir is set. But at least it moves all the logic out of
the startup script.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-29 10:42:44 +10:00
Peter Hutterer bb9f9b6c26 gui: reshuffle the includes until gi and flake8 are happy
We have implied inclusion orders here, specifically with gi. This works as
long as the files are included in the right order from other files but its not
generic enough - we really do need the gi.require_version() bit
everywhere to avoid issues.

Of course, once we do this flake8 complains about everything so let's
reshuffle things in an order it's happy with. This seems to be local modules
first, then ... whatever except when not?

application.py is excluded from this patch because it's about to get changed
in the next one and I'm too lazy to separate those out.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-29 10:42:44 +10:00
Peter Hutterer e37016dc7b Fix deprecated use of @GObject.property → @GObject.Property
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-29 10:42:44 +10:00
Peter Hutterer 695b7c43be dbusclient: drop the duplicate device argument
The first argument in any signal is the object that emits it, so we don't have
to add it again.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-28 15:17:38 +02:00
Peter Hutterer 71ca2ca569 gui: fix two signal disconnections
Both of the signals here are connect to the device, not Tuhi. The only reason
this worked was because the signal sent by the dbus bindings had the device
twice in the arguments and 'tuhi' was actually the device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-28 15:17:38 +02:00
Peter Hutterer 2d142b4be3 dbusclient: drop the word Kete from the generic dbus client bindings
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-28 15:17:38 +02:00
Peter Hutterer f477e86a96 gui: move the dbus client handler bits to the tuhi module
This is used by the GUI and by kete and it's just an abstraction of the
handling anyway with little actual logic. Let's make this sharable.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-28 15:17:38 +02:00
Peter Hutterer ed29c0daae gui: stop listening on an authorization error
This conflicts with trying to register the device on authentication errors and
making re-registration unreliable. Tuhi would keep connecting to the device
while holding the button down, so we'd get another failed connection and a
disconnect from the device. The Register signal would come in and get lost
somehow.

Fixes #195

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-28 14:55:12 +02:00
Peter Hutterer 488512231c gui: reset the signal list after disconnecting them
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-28 14:55:12 +02:00
Peter Hutterer e6ea60d6c1 gui: hook up ctrl+q for app.quit
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-26 13:18:28 +10:00
Peter Hutterer 02ca3a7058 gui: hook up the auth signal with a re-register workflow
When we get an authorization error, show a revealer to re-register the device.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-23 10:38:36 +02:00
Peter Hutterer daac9114e1 gui: pass a dbus device error on as signal
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-23 10:38:36 +02:00
Peter Hutterer d514aa2224 gui: rename refresh() to process_svg()
refresh was accurate when it ended up redrawing the screen but now that
redrawing is a separate function let's rename this.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-22 15:52:25 +10:00
Peter Hutterer 8c9454a298 gui: don't regenerate the SVG when the rotate button is clicked
Do this when we're saving the file instead and rotate the pixbuf itself only.
For the tablet-wide orientation we regenerate the SVGs because this is
supposed to be a once-off setting so being smart here doesn't gain us
anything.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-22 15:52:25 +10:00
Peter Hutterer e030b0b3ea base: add an argument to peek at the first drawing only
Use --peek to download the first (oldest) drawing on the device but do not
delete it. This is primarily intended as a debugging option, so we can debug
the tablet handling without having to draw new drawings (which cause the
protocol messages to change slightly).

Since the tablet only has a "download oldest file" command this isn't very
useful to end users. If there are two or more files on the tablet, we can only
ever retrieve the oldest one.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-22 09:59:14 +10:00
Peter Hutterer d633637899 gui: initialize the drawing with the right zoom factor
Fixes #172

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-21 11:49:26 +02:00
Peter Hutterer 10c34bc655 gui: simplify the Config's singleton pattern
Use __new__ instead of instance(), this way we can just use the same config
object as Config().do_something.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>k
2019-08-20 12:19:52 +10:00
Peter Hutterer 64fcf04e32 svg: use our Json SVG converter from kete
A few minor changes like passing in a filename and fixing the different
spellings of the orientations.

In order to use it from kete though we have to mess with the PYTHONPATH. But
since it's a in-tree tool only anyway... meh.

This loses the ability to disable pressure on tablets. I think that's just a
leftover from before we knew how to handle pressure in SVG exports. We should
just fix that properly instead of having a config option here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-20 12:02:30 +10:00
Peter Hutterer ac811920b8 tuhi: move the gui/svg.py file to tuhi
One JSON to SVG converter per project is enough.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-20 12:02:30 +10:00
Peter Hutterer f5bafb7f73 gui: use mm in the svg 2019-08-20 12:02:30 +10:00
Peter Hutterer 92fcfd12cc wacom: update the dimensions with the point size
Make sure our dimensions are in actual µm.

Note that this will mess with any cached JSON files since they are now on a
different scale.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-20 12:02:30 +10:00
Peter Hutterer 9ef4002b39 Move the default config setting to the entry points
Have this in the effective main() methods (or close to that anyway) instead of
hidden away in the config implementations.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-19 15:43:01 +02:00
Peter Hutterer 8d67bbf5c4 gui: drop an unused config path
This is the copy of tuhi-kete, no need to keep the config path around here.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-19 14:30:26 +10:00
Peter Hutterer 101e2f380e gui: store the cached SVGs in $XDG_CACHE_DIR instead
This is transient data, they're constantly regenerated. Let's store them as
such.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-19 14:26:27 +10:00
Peter Hutterer be6d57562a Switch to pathlib everywhere
gresources and svgwrite don't (yet?) take a Path though, so we have to use
os.fspath() to convert those.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-19 14:11:36 +10:00
Peter Hutterer c8759eb400 gui: unify the loggers across the GUI
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-19 14:11:25 +10:00
Peter Hutterer 6dc67f13c8 svg: call the super constructor
Presumably gobject sets a few things up, so let's call it.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-15 15:22:53 +10:00
Peter Hutterer e6057e256d Merge tuhigui into tuhi.gui
Let's make this a submodule of tuhi so we can share some code.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-08-14 08:18:39 +10:00