Commit Graph

51 Commits

Author SHA1 Message Date
Peter Hutterer efabaf3aaa Move the setup dialog to the main window
No need for a separate file just for those few lines of code
2019-07-17 19:40:13 +10:00
Peter Hutterer 037d05babf Move the error perspective to the main window
No need to have a separate file for a few lines of code
2019-07-17 19:39:26 +10:00
Peter Hutterer bd66b8dbd3 Add a flatpak wrapper to start Tuhi on demand
No-one but Arch packages Tuhi at the moment, so let's assume it's not
running/installed, install it and start it up together with TuhiGui and voila,
everything just works as it should be.
2019-07-17 10:49:17 +10:00
Peter Hutterer 7677ce60eb Add all the hooks required for translation 2019-07-16 21:54:50 +10:00
Peter Hutterer 5e0b7762d6 Fix the error screen to look like something sensible 2019-07-16 21:40:27 +10:00
Peter Hutterer d8fa2ba00a Add another rotation button
Because it's effectively free anyway
2019-07-16 21:29:03 +10:00
Peter Hutterer ec09d0c73c Drop the 'completed' image
A user may want to download the drawing multiple times. And besides, after
switching back to the default icon theme, I couldn't find a decent icon
anyway.
2019-07-16 21:24:01 +10:00
Peter Hutterer ec33e3f0af Add a rotation button to the drawings 2019-07-16 21:17:09 +10:00
Peter Hutterer 3e23e8bc31 svg: pass the orientation into the constructor
Don't let the SVG generation parse the config file, not necessary here.
2019-07-16 21:15:11 +10:00
Peter Hutterer 1743a93873 Rename Config.load() to Config.instance() for better clarity 2019-07-16 21:13:30 +10:00
Peter Hutterer 09a66642ae Move SVG generation to the Drawing
This means we can just call refresh() from the parent after the orientation
has changed.
2019-07-16 21:06:32 +10:00
Peter Hutterer 9903bd851d Handle the iteration through the flowbox children better 2019-07-16 20:54:01 +10:00
Peter Hutterer 34defb3768 Drop the text for the "synchronized" label
This would just cause extra work for translators, we never actually display
that bit anyway.
2019-07-16 15:34:02 +10:00
Peter Hutterer ceee14b1ed Reduce font size for the bottom hint to press the button 2019-07-16 15:33:57 +10:00
Peter Hutterer 7be996e43a Streamline the setup dialog
Just the minimal bits that are needed.
2019-07-16 15:33:49 +10:00
Peter Hutterer 79e3e02b66 Fix a grammar mistake 2019-07-16 15:33:45 +10:00
Peter Hutterer 951bc85139 Display the missing battery icon until we get data from Tuhi 2019-07-16 15:33:40 +10:00
Peter Hutterer e999beafd7 If we haven't synced in 10 years, it's "never"
This is the value that's displayed on startup now
2019-07-16 15:33:34 +10:00
Peter Hutterer a857b14b8a Implement 'deleting' drawings
Enable the delete button that's been hidden away so far. When clicked, we
suffix the cached json file with '.deleted'. This also causes a popup with an
undo button to appear (taken from Nautilus). When clicked, that button will
restore the drawing again.

This is really all just renaming anyway, because nothing ever gets deleted
here.

An extra filter is needed to skip Tuhi drawings that have been deleted in the
GUI - we don't want to add the drawings we just deleted again just because
Tuhi still keeps them in cache.
2019-07-16 15:33:02 +10:00
Peter Hutterer ff35e5bfc5 Cache the json files to disentangle them from Tuhi
Tuhi caches the json data but has no guarantee about storage. So we cache the
json we get from Tuhi and store it in our settings dir through our Config
backend. Then we use  those cached values to generate the SVG files.
2019-07-16 15:32:49 +10:00
Peter Hutterer b34dbcf899 Switch to using pathlib over os.join 2019-07-16 15:32:10 +10:00
Peter Hutterer 6e21db0c9a Revert "Store the SVGs in the runtime directory"
Actually, not a good idea since we can't rely on Tuhi to store the drawings
forever.

This reverts commit 5470a7afd23c44d55ee14d32ddf081a8e0eab251.
2019-07-16 15:31:46 +10:00
Peter Hutterer 651d9d87e4 Store the SVGs in the runtime directory
No need to pile these into the data directory.
2019-07-16 15:31:43 +10:00
Peter Hutterer 2f3094d3db Allow for orientation changes for the device
This is saved for posterity in the new settings file, so we need a new Config
object (singleton is enough here).

For now, whenever the orientation changes, we just wipe our UI and re-generate
all SVG files. Much easier than messing with proper SVG rotation given that a
device should only ever change between rotations once.
2019-07-16 15:31:36 +10:00
Peter Hutterer 84273a1c83 Add a Help entry in the menu (to point to the wiki) 2019-07-16 15:29:51 +10:00
Peter Hutterer 6c8d586caa Rename a the variable used to generate the icon name 2019-07-16 15:29:46 +10:00
Peter Hutterer c7fe771082 Set the battery percent as tooltip on the battery image 2019-07-16 15:29:33 +10:00
Peter Hutterer 958633e4ff Pre-fill the filename propertly
Saving a file for the first time is supposed to set the current name, not the
file name.
2019-07-16 15:29:24 +10:00
Peter Hutterer 293b64c1f3 Show the drawings in reverse sorted order (newest first) 2019-07-16 15:29:19 +10:00
Peter Hutterer d6a2e01acb svg: drop the non-pressure handling
No point in keeping this, let's always use the pressure and where it's not
sufficient just change the algorithm.
2019-07-16 15:29:14 +10:00
Peter Hutterer 217ec508fa Subscribe to battery changes so we can update the GUI
Previously we only ever updated on the initial device assignments. Especially
when the device is offline while started, this means we never get the right
icon.
2019-07-16 15:29:09 +10:00
Peter Hutterer 3590ee4ce3 Drop an unnecessary self
We have the device variable here and use it in the lines above. Let's do the
same for the drawings too.
2019-07-16 15:29:00 +10:00
Peter Hutterer a82b291dbb flake 8 fixes 2019-07-16 15:28:51 +10:00
Peter Hutterer 096c4e22a2 Make the main window resizable
No good reason why this needs to be a fixed size.
2019-07-16 10:23:08 +10:00
Peter Hutterer b3f4e91616 Add some relative dates for the drawings 2019-07-15 21:34:56 +10:00
Peter Hutterer fcf15daa08 Switch two more icons fro better lokos in the Adwaita theme 2019-07-15 21:34:56 +10:00
Peter Hutterer de23da9a84 Change the battery icon to one in the adwaita icon theme
The previous one must've been from some leftover theme I had sitting around.
2019-07-15 21:34:56 +10:00
Peter Hutterer 5f5c49b6d0 Hook up synchronizing the state to the drawing perspective 2019-07-15 21:34:56 +10:00
Peter Hutterer 517a7e6882 Make the setup parts a dialog
A more traditional interface.
2019-07-15 15:05:30 +10:00
Peter Hutterer 64dca90f54 meson: fix a URL still pointing to libratbag 2019-07-15 14:17:23 +10:00
Peter Hutterer bdb88865f0 Drop the device name from the drawing perspective
We have it in the titlebar now, no further need for it
2019-07-11 21:15:30 +10:00
Peter Hutterer 0ce60deb34 Don't start listening twice
We get a notification for listening going to True after start_listening(), but
we don't need to start it again in that case.
2019-07-11 20:18:23 +10:00
Peter Hutterer 82f62059f0 Add more logging to help with debugging 2019-07-11 20:17:38 +10:00
Peter Hutterer 035dd68115 Rework the header bar for the primary window
Previously the menu was hand-composed, let's replace it with the glade files
as possible. And move the menu itself out into the source file so glade
doesn't keep overwriting it.
2019-07-11 20:16:45 +10:00
Peter Hutterer d07835b15c Fix the battery icon name
We need to crop to the nearest 20, not just divide by it.
2019-07-11 16:11:48 +10:00
Peter Hutterer 2df9f55119 Hide the "trash" button for now until we know how to hook it up 2019-07-11 16:11:48 +10:00
Peter Hutterer 71849d926d Hook up synchronizing the drawings
And drop the rotate/sync button while we're there. The rotate button because
it's not hooked up anyway. The sync button because that is not how we work: we
just always listen while we're running, any drawing will "immediately" be
synched from the device.
2019-07-11 16:11:48 +10:00
Peter Hutterer d97c5eaaac Rename the connected property to 'online'
We're using connected for the bluez property, so let's not clash with that
2019-07-11 15:45:48 +10:00
Peter Hutterer fdade5529d tuhi: drop the live bits from our dbus bindings
Not needed here
2019-07-11 15:31:20 +10:00
Peter Hutterer f2dfec4f49 Add the flatpak files 2019-07-11 15:11:32 +10:00