Commit Graph

4 Commits

Author SHA1 Message Date
Jente Hidskes
8d77e4bf6c 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 09:36:39 +02:00
Jente Hidskes
a87bfc1b6e 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 09:36:39 +02: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