Peter Hutterer
aa402e60d9
Revert "data/ui: add tooltips to control widgets"
...
This reverts commit e044e63b9a .
2017-07-27 21:24:10 +10:00
Peter Hutterer
0f0fb597c8
Revert "Window.ui: let Glade move things around"
...
This reverts commit 87672447fa .
2017-07-27 21:24:10 +10:00
Jente Hidskes
87672447fa
Window.ui: let Glade move things around
2017-07-27 21:23:26 +10:00
Jente Hidskes
e044e63b9a
data/ui: add tooltips to control widgets
...
Every control widget should have a tooltip to explain its purpose.
Fixes #40
2017-07-27 21:23:26 +10:00
Jente Hidskes
8078ecd2ba
Add LED page to configure LEDs
2017-07-27 21:23:26 +10:00
Jente Hidskes
26fdc10e36
OptionButton: a Gtk.Button with a cog
2017-07-27 21:23:26 +10:00
Jente Hidskes
a0a76dbf7b
data: move ui files into subdirs
...
It's getting quite messy to let's put in some structure.
2017-07-27 21:23:26 +10:00
Jente Hidskes
52f2d05bf7
Window: extract resolution code into ResolutionsPage class
2017-07-27 21:23:26 +10:00
Jente Hidskes
369e816026
ResolutionRow: snap resolution values to multiples of 50
...
Mice don't do anything more fine-grained than this
2017-07-27 21:23:26 +10:00
Jente Hidskes
5e329a0ff1
ResolutionRow: remove support for separate x/y resolutions
2017-07-27 21:23:26 +10:00
Jente Hidskes
16808a958b
Window: block the scroll event on the scales
...
Without this, when scrolling through the list over a scale, the scale
will steal the scroll event.
2017-07-27 21:23:26 +10:00
Jente Hidskes
f7a4b7f4ba
Window: hook up report rate buttons to ratbagd
...
For now we only expose report rates of 500 and 1000 Hz; we can add more
later when we know if people care about it.
2017-07-27 21:23:26 +10:00
Jente Hidskes
e2090e13bd
Window: add in-app notification for failed commit
...
Now the user will at least know why his or her changes have not been
applied. In the future we may want to include why, but for now this
suffices.
2017-07-27 21:23:26 +10:00
Jente Hidskes
2dab26df06
Window: add list of resolutions
...
This list can set a profile's resolutions. Currently, it is limited to
the active profile because there is no support for profiles other than
the default.
Adding and removing resolutions is not yet implemented because this is
not yet exposed through libratbag (see [1]).
[1]: https://github.com/libratbag/libratbag/issues/211
2017-07-27 21:23:26 +10:00
Jente Hidskes
79dec3975e
Window: use GtkTemplate to instantiate from a GtkBuilder template
...
In C/GTK+, templates allow one to define the UI in .ui files, from which
implementations can be instantiated. This significantly reduces
boilerplate code that creates widgets, sets their desired properties and
connects their signals[1, 2].
For several reasons, this does not work in Python[3]. gi_composites.py[4] is an
implementation in Python that does make this work. It's been used by
several projects for a few months now and none report issues. See the
project's README for more information[5].
Taking these facts into mind, let's experiment for a bit and see how it
can serve Piper.
[1]: https://wiki.gnome.org/HowDoI/CustomWidgets#Templates
[2]: https://blogs.gnome.org/tvb/2013/04/09/announcing-composite-widget-templates/
[3]: https://bugzilla.gnome.org/show_bug.cgi?id=701843
[4]: https://github.com/virtuald/pygi-composite-templates/
[5]: https://github.com/virtuald/pygi-composite-templates/blob/master/README.rst
2017-07-27 21:23:26 +10:00
Jente Hidskes
49b45c9de9
Window: add a skeleton window
...
This is just a quick skeleton window for now to be able to test the
MouseMap widget. Eventually this will turn into the mockups.
piper.py is still around to steal code from; it will be removed
eventually when all useful bits have found a place in the new codebase.
2017-07-27 21:23:26 +10:00
Jente Hidskes
33afa03f14
Application: a Gtk.Application subclass
...
A Gtk.Application subclass to handle the application's initialization
and integration with the GNOME stack. It implements the do_startup and
do_activate methods and is responsible for the application's menus,
icons, title and lifetime.
2017-07-04 15:53:05 +10:00
Jente Hidskes
45c669b8ad
Port to Meson
...
As discussed in #5 , this enables better integration with the GNOME stack
through Meson's GNOME module. This will allow us to use GSchemas,
AppData and other GNOME technologies much easier. It will also simplify
building Flatpaks of Piper.
2017-06-07 17:07:13 +02:00