diff --git a/README.md b/README.md index 6be12ae77..b42dff22a 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ GTK+ for Windows Runtime Environment Installer: 64-bit This repository is a fork of the [GTK+ for Windows Runtime Environment Installer](http://gtk-win.sourceforge.net) that was originally created by Alexander Shaduri. -My efforts here will focus on creating a **64-bit version** of the GTK+-2 runtime that he has been providing so far, using up to date versions of GTK+ and its dependencies. Recently I have also created a 64-bit **GTK+-3 runtime package**. All packages now contain **Gtkmm** and its dependencies too. Since the GTK+ developers recently dropped support for stock icons (a mistake of epic proportions IMHO...), I added the Adwaita icon theme to the GTK+-3 runtime, so you can still enjoy pretty filechooserdialogs etc! I have also added a couple of commonly used libraries such as libxml++ and libxslt. +My efforts here will focus on creating a **64-bit version** of the GTK+-2 runtime that he has been providing so far, using up to date versions of GTK+ and its dependencies. Recently I have also created a 64-bit **GTK+-3 runtime package**. All packages now contain **Gtkmm** and its dependencies too. Since the GTK+ developers recently dropped support for stock icons (a mistake of epic proportions IMHO...), I added the Adwaita icon theme to the GTK+-3 runtime, so you can still enjoy pretty filechooserdialogs etc! I have also added a couple of commonly used libraries such as libxml++, libxslt and gtksourceview. The installers can be found [here](http://lvserver.ugent.be/gtk-win64/). @@ -11,42 +11,48 @@ The installers can be found [here](http://lvserver.ugent.be/gtk-win64/). Both for convencience as well as for increased reliability across installations, it is recommended for developers to compile and link against the GTK+ SDK that I used to create the installers. This SDK can also be obtained at the aforementioned url. -The current releases ([gtk2-runtime-2.24.29-2016-01-10-ts-win64.exe](http://lvserver.ugent.be/gtk-win64/gtk2-runtime/gtk2-runtime-2.24.29-2016-01-10-ts-win64.exe) and [gtk3-runtime-3.18.6-2016-01-10-ts-win64.exe](http://lvserver.ugent.be/gtk-win64/gtk3-runtime/gtk3-runtime-3.18.6-2016-01-10-ts-win64.exe)) have been compiled using GCC 5.1.0 (MinGW-w64 installed from TDM-GCC). +The current releases ([gtk2-runtime-2.24.30-2016-04-09-ts-win64.exe](http://lvserver.ugent.be/gtk-win64/gtk2-runtime/gtk2-runtime-2.24.30-2016-04-09-ts-win64.exe) and [gtk3-runtime-3.20.2-2016-04-09-ts-win64.exe](http://lvserver.ugent.be/gtk-win64/gtk3-runtime/gtk3-runtime-3.20.2-2016-04-09-ts-win64.exe)) have been compiled using GCC 5.1.0 (MinGW-w64 installed from TDM-GCC). The included GTK+ dependencies were selected according to the flowchart used by [Hexchat](http://hexchat.github.io/gtk-win32/). The source tarballs can be obtained by clicking on the names of the dependencies in the following list: -* [adwaita icon theme](http://ftp.gnome.org/pub/GNOME/sources/adwaita-icon-theme/) (3.18.0) -* [atk](http://ftp.gnome.org/pub/GNOME/sources/atk/) (2.18.0) +* [adwaita icon theme](http://ftp.gnome.org/pub/GNOME/sources/adwaita-icon-theme/) (3.20) +* [atk](http://ftp.gnome.org/pub/GNOME/sources/atk/) (2.20.0) * [atkmm](http://ftp.gnome.org/pub/GNOME/sources/atkmm/) (2.24.2) * [cairo](http://cairographics.org/releases/) (1.14.6) * [cairomm](http://cairographics.org/releases/) (1.12.0) * [fontconfig](http://www.freedesktop.org/software/fontconfig/release/) (2.11.1) -* [freetype](http://www.freetype.org/download.html) (2.6.2) -* [gdk-pixbuf](http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/) (2.32.3) +* [freetype](http://www.freetype.org/download.html) (2.6.3) +* [gdk-pixbuf](http://ftp.gnome.org/pub/GNOME/sources/gdk-pixbuf/) (2.34.0) * [gettext](http://ftp.gnu.org/pub/gnu/gettext/) (0.19.7) -* [glib](http://ftp.gnome.org/pub/GNOME/sources/glib/) (2.46.2) -* [glibmm](http://ftp.gnome.org/pub/GNOME/sources/glibmm/) (2.46.3) -* [gtk2](http://ftp.gnome.org/pub/GNOME/sources/gtk+/) (2.24.29) -* [gtk3](http://ftp.gnome.org/pub/GNOME/sources/gtk+/) (3.18.6) +* [glib](http://ftp.gnome.org/pub/GNOME/sources/glib/) (2.48.0) +* [glibmm](http://ftp.gnome.org/pub/GNOME/sources/glibmm/) (2.48.1) +* [gtk2](http://ftp.gnome.org/pub/GNOME/sources/gtk+/) (2.24.30) +* [gtk3](http://ftp.gnome.org/pub/GNOME/sources/gtk+/) (3.20.2) * [gtkmm2](http://ftp.gnome.org/pub/GNOME/sources/gtkmm) (2.24.4) -* [gtkmm3](http://ftp.gnome.org/pub/GNOME/sources/gtkmm) (3.18.0) -* [harfbuzz](http://www.freedesktop.org/software/harfbuzz/release/) (1.1.2) +* [gtkmm3](http://ftp.gnome.org/pub/GNOME/sources/gtkmm) (3.20.0) +* [gtksourceview2](http://ftp.gnome.org/pub/GNOME/sources/gtksourceview/) (2.10.5) +* [gtksourceview3](http://ftp.gnome.org/pub/GNOME/sources/gtksourceview/) (3.20.1) +* [gtksourceviewmm2](http://ftp.gnome.org/pub/GNOME/sources/gtksourceviewmm/) (2.10.3) +* [gtksourceviewmm3](http://ftp.gnome.org/pub/GNOME/sources/gtksourceviewmm/) (3.18.0) +* [harfbuzz](http://www.freedesktop.org/software/harfbuzz/release/) (1.1.4) * [hicolor-icon-theme](http://icon-theme.freedesktop.org/releases/) (0.15) * [icon-naming-utils](http://tango.freedesktop.org/releases/) (0.8.90) * [intltool](http://ftp.gnome.org/pub/gnome/sources/intltool/) (0.51.0) -* [json-glib](http://ftp.gnome.org/pub/gnome/sources/json-glib/) (1.0.4) +* [json-glib](http://ftp.gnome.org/pub/gnome/sources/json-glib/) (1.2.0) * [libepoxy](https://github.com/anholt/libepoxy) (1.3.1) * [libffi](http://sourceware.org/libffi/) (3.2.1) -* [libpng](http://sourceforge.net/project/showfiles.php?group_id=5624) (1.6.20) -* [libsigc++](http://ftp.gnome.org/pub/GNOME/sources/libsigc++/) (2.6.2) +* [libpng](http://sourceforge.net/project/showfiles.php?group_id=5624) (1.6.21) +* [libsigc++](http://ftp.gnome.org/pub/GNOME/sources/libsigc++/) (2.8.0) * [libxml2](http://xmlsoft.org/sources/) (2.9.3) -* [libxml++](http://ftp.gnome.org/pub/GNOME/sources/libxml++/) (2.38.1) +* [libxml++2](http://ftp.gnome.org/pub/GNOME/sources/libxml++/) (2.40.1) +* [libxml++3](http://ftp.gnome.org/pub/GNOME/sources/libxml++/) (3.0.0) * [libxslt](http://xmlsoft.org/sources/) (1.1.28) * [mm-common](http://ftp.gnome.org/pub/GNOME/sources/mm-common/) (0.9.9) -* [pango](http://ftp.gnome.org/pub/GNOME/sources/pango/) (1.38.1) -* [pangomm](http://ftp.gnome.org/pub/GNOME/sources/pangomm/) (2.38.1) -* [pixman](http://cairographics.org/releases/) (0.32.8) -* [pkg-config](http://pkgconfig.freedesktop.org/releases/) (0.29) -* [win-iconv](http://code.google.com/p/win-iconv/downloads/list) (0.0.6) +* [pango](http://ftp.gnome.org/pub/GNOME/sources/pango/) (1.40.0) +* [pangomm](http://ftp.gnome.org/pub/GNOME/sources/pangomm/) (2.40.0) +* [pcre](ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/) (8.38) +* [pixman](http://cairographics.org/releases/) (0.34.0) +* [pkg-config](http://pkgconfig.freedesktop.org/releases/) (0.29.1) +* [win-iconv](https://github.com/win-iconv/win-iconv) (0.0.8) * [zlib](http://www.zlib.net) (1.2.8) For all other information regarding how to use the installer, the reader is kindly referred to [Alexander Shaduri's website](http://gtk-win.sourceforge.net) of the GTK for Windows runtime environment installer. The only difference with the installers found at his website is that mine DO NOT have the `compatdlls` option, but this should present no problems to any user. diff --git a/gtk-nsis-pack/bin/fc-cache.exe b/gtk-nsis-pack/bin/fc-cache.exe index 2729588c3..b6aa02125 100644 Binary files a/gtk-nsis-pack/bin/fc-cache.exe and b/gtk-nsis-pack/bin/fc-cache.exe differ diff --git a/gtk-nsis-pack/bin/fc-cat.exe b/gtk-nsis-pack/bin/fc-cat.exe index 677f14f6d..9862b855a 100644 Binary files a/gtk-nsis-pack/bin/fc-cat.exe and b/gtk-nsis-pack/bin/fc-cat.exe differ diff --git a/gtk-nsis-pack/bin/fc-list.exe b/gtk-nsis-pack/bin/fc-list.exe index eccad6322..dc443d9cd 100644 Binary files a/gtk-nsis-pack/bin/fc-list.exe and b/gtk-nsis-pack/bin/fc-list.exe differ diff --git a/gtk-nsis-pack/bin/fc-match.exe b/gtk-nsis-pack/bin/fc-match.exe index 93e2682a2..48d836a56 100644 Binary files a/gtk-nsis-pack/bin/fc-match.exe and b/gtk-nsis-pack/bin/fc-match.exe differ diff --git a/gtk-nsis-pack/bin/fc-pattern.exe b/gtk-nsis-pack/bin/fc-pattern.exe index 23058378e..e88119b91 100644 Binary files a/gtk-nsis-pack/bin/fc-pattern.exe and b/gtk-nsis-pack/bin/fc-pattern.exe differ diff --git a/gtk-nsis-pack/bin/fc-query.exe b/gtk-nsis-pack/bin/fc-query.exe index 6d36a1ccd..cb6f58fc5 100644 Binary files a/gtk-nsis-pack/bin/fc-query.exe and b/gtk-nsis-pack/bin/fc-query.exe differ diff --git a/gtk-nsis-pack/bin/fc-scan.exe b/gtk-nsis-pack/bin/fc-scan.exe index 779d81eed..1d55a390f 100644 Binary files a/gtk-nsis-pack/bin/fc-scan.exe and b/gtk-nsis-pack/bin/fc-scan.exe differ diff --git a/gtk-nsis-pack/bin/fc-validate.exe b/gtk-nsis-pack/bin/fc-validate.exe index a03214202..d812d9f94 100644 Binary files a/gtk-nsis-pack/bin/fc-validate.exe and b/gtk-nsis-pack/bin/fc-validate.exe differ diff --git a/gtk-nsis-pack/bin/gdk-pixbuf-query-loaders.exe b/gtk-nsis-pack/bin/gdk-pixbuf-query-loaders.exe index 467c27432..4909f5f37 100644 Binary files a/gtk-nsis-pack/bin/gdk-pixbuf-query-loaders.exe and b/gtk-nsis-pack/bin/gdk-pixbuf-query-loaders.exe differ diff --git a/gtk-nsis-pack/bin/gspawn-win64-helper-console.exe b/gtk-nsis-pack/bin/gspawn-win64-helper-console.exe index 431e6f39b..0141d0907 100644 Binary files a/gtk-nsis-pack/bin/gspawn-win64-helper-console.exe and b/gtk-nsis-pack/bin/gspawn-win64-helper-console.exe differ diff --git a/gtk-nsis-pack/bin/gspawn-win64-helper.exe b/gtk-nsis-pack/bin/gspawn-win64-helper.exe index b75400343..992589828 100644 Binary files a/gtk-nsis-pack/bin/gspawn-win64-helper.exe and b/gtk-nsis-pack/bin/gspawn-win64-helper.exe differ diff --git a/gtk-nsis-pack/bin/gtk-demo.exe b/gtk-nsis-pack/bin/gtk-demo.exe index bbe9db5d7..ff70430e7 100644 Binary files a/gtk-nsis-pack/bin/gtk-demo.exe and b/gtk-nsis-pack/bin/gtk-demo.exe differ diff --git a/gtk-nsis-pack/bin/gtk-query-immodules-2.0.exe b/gtk-nsis-pack/bin/gtk-query-immodules-2.0.exe index aa95303ef..a690fdd90 100644 Binary files a/gtk-nsis-pack/bin/gtk-query-immodules-2.0.exe and b/gtk-nsis-pack/bin/gtk-query-immodules-2.0.exe differ diff --git a/gtk-nsis-pack/bin/gtk-query-immodules-3.0.exe b/gtk-nsis-pack/bin/gtk-query-immodules-3.0.exe index 076cc516d..6f44e165c 100644 Binary files a/gtk-nsis-pack/bin/gtk-query-immodules-3.0.exe and b/gtk-nsis-pack/bin/gtk-query-immodules-3.0.exe differ diff --git a/gtk-nsis-pack/bin/gtk-update-icon-cache.exe b/gtk-nsis-pack/bin/gtk-update-icon-cache.exe index 8237f3f2c..13017c8db 100644 Binary files a/gtk-nsis-pack/bin/gtk-update-icon-cache.exe and b/gtk-nsis-pack/bin/gtk-update-icon-cache.exe differ diff --git a/gtk-nsis-pack/bin/iconv.dll b/gtk-nsis-pack/bin/iconv.dll new file mode 100644 index 000000000..6472e6a77 Binary files /dev/null and b/gtk-nsis-pack/bin/iconv.dll differ diff --git a/gtk-nsis-pack/bin/libatk-1.0-0.dll b/gtk-nsis-pack/bin/libatk-1.0-0.dll index 8924a2aa8..3e28eaa4a 100644 Binary files a/gtk-nsis-pack/bin/libatk-1.0-0.dll and b/gtk-nsis-pack/bin/libatk-1.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libatkmm-1.6-1.dll b/gtk-nsis-pack/bin/libatkmm-1.6-1.dll index b0e3982a8..37ebf6cbf 100644 Binary files a/gtk-nsis-pack/bin/libatkmm-1.6-1.dll and b/gtk-nsis-pack/bin/libatkmm-1.6-1.dll differ diff --git a/gtk-nsis-pack/bin/libcairo-2.dll b/gtk-nsis-pack/bin/libcairo-2.dll index 6aa0068a6..e86944328 100644 Binary files a/gtk-nsis-pack/bin/libcairo-2.dll and b/gtk-nsis-pack/bin/libcairo-2.dll differ diff --git a/gtk-nsis-pack/bin/libcairo-gobject-2.dll b/gtk-nsis-pack/bin/libcairo-gobject-2.dll index 7f78afb0a..6f7c2a525 100644 Binary files a/gtk-nsis-pack/bin/libcairo-gobject-2.dll and b/gtk-nsis-pack/bin/libcairo-gobject-2.dll differ diff --git a/gtk-nsis-pack/bin/libcairo-script-interpreter-2.dll b/gtk-nsis-pack/bin/libcairo-script-interpreter-2.dll index 412018be1..aa3441675 100644 Binary files a/gtk-nsis-pack/bin/libcairo-script-interpreter-2.dll and b/gtk-nsis-pack/bin/libcairo-script-interpreter-2.dll differ diff --git a/gtk-nsis-pack/bin/libcairomm-1.0-1.dll b/gtk-nsis-pack/bin/libcairomm-1.0-1.dll index 495902bbd..46a686a61 100644 Binary files a/gtk-nsis-pack/bin/libcairomm-1.0-1.dll and b/gtk-nsis-pack/bin/libcairomm-1.0-1.dll differ diff --git a/gtk-nsis-pack/bin/libepoxy-0.dll b/gtk-nsis-pack/bin/libepoxy-0.dll index 055a07c9a..89c874ced 100644 Binary files a/gtk-nsis-pack/bin/libepoxy-0.dll and b/gtk-nsis-pack/bin/libepoxy-0.dll differ diff --git a/gtk-nsis-pack/bin/libexslt-0.dll b/gtk-nsis-pack/bin/libexslt-0.dll index 92c6469c4..8ad33aca5 100644 Binary files a/gtk-nsis-pack/bin/libexslt-0.dll and b/gtk-nsis-pack/bin/libexslt-0.dll differ diff --git a/gtk-nsis-pack/bin/libffi-6.dll b/gtk-nsis-pack/bin/libffi-6.dll index 97dd5ea5d..e0cf99522 100644 Binary files a/gtk-nsis-pack/bin/libffi-6.dll and b/gtk-nsis-pack/bin/libffi-6.dll differ diff --git a/gtk-nsis-pack/bin/libfontconfig-1.dll b/gtk-nsis-pack/bin/libfontconfig-1.dll index 8e3fc7160..08e428b6a 100644 Binary files a/gtk-nsis-pack/bin/libfontconfig-1.dll and b/gtk-nsis-pack/bin/libfontconfig-1.dll differ diff --git a/gtk-nsis-pack/bin/libfreetype-6.dll b/gtk-nsis-pack/bin/libfreetype-6.dll index a6ea21b83..bfe7a940b 100644 Binary files a/gtk-nsis-pack/bin/libfreetype-6.dll and b/gtk-nsis-pack/bin/libfreetype-6.dll differ diff --git a/gtk-nsis-pack/bin/libgailutil-18.dll b/gtk-nsis-pack/bin/libgailutil-18.dll index 884241820..976ab954a 100644 Binary files a/gtk-nsis-pack/bin/libgailutil-18.dll and b/gtk-nsis-pack/bin/libgailutil-18.dll differ diff --git a/gtk-nsis-pack/bin/libgailutil-3-0.dll b/gtk-nsis-pack/bin/libgailutil-3-0.dll index 5204d191c..36697d67b 100644 Binary files a/gtk-nsis-pack/bin/libgailutil-3-0.dll and b/gtk-nsis-pack/bin/libgailutil-3-0.dll differ diff --git a/gtk-nsis-pack/bin/libgdk-3-0.dll b/gtk-nsis-pack/bin/libgdk-3-0.dll index 9929f0e3d..097d49723 100644 Binary files a/gtk-nsis-pack/bin/libgdk-3-0.dll and b/gtk-nsis-pack/bin/libgdk-3-0.dll differ diff --git a/gtk-nsis-pack/bin/libgdk-win32-2.0-0.dll b/gtk-nsis-pack/bin/libgdk-win32-2.0-0.dll index 54918c033..8ce2571f4 100644 Binary files a/gtk-nsis-pack/bin/libgdk-win32-2.0-0.dll and b/gtk-nsis-pack/bin/libgdk-win32-2.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libgdk_pixbuf-2.0-0.dll b/gtk-nsis-pack/bin/libgdk_pixbuf-2.0-0.dll index 21d336e16..2f2244f21 100644 Binary files a/gtk-nsis-pack/bin/libgdk_pixbuf-2.0-0.dll and b/gtk-nsis-pack/bin/libgdk_pixbuf-2.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libgdkmm-2.4-1.dll b/gtk-nsis-pack/bin/libgdkmm-2.4-1.dll index 8696f428d..4637a27f0 100644 Binary files a/gtk-nsis-pack/bin/libgdkmm-2.4-1.dll and b/gtk-nsis-pack/bin/libgdkmm-2.4-1.dll differ diff --git a/gtk-nsis-pack/bin/libgdkmm-3.0-1.dll b/gtk-nsis-pack/bin/libgdkmm-3.0-1.dll index cfdb29240..7e46d3376 100644 Binary files a/gtk-nsis-pack/bin/libgdkmm-3.0-1.dll and b/gtk-nsis-pack/bin/libgdkmm-3.0-1.dll differ diff --git a/gtk-nsis-pack/bin/libgio-2.0-0.dll b/gtk-nsis-pack/bin/libgio-2.0-0.dll index 62dd11a4f..a0d67dadf 100644 Binary files a/gtk-nsis-pack/bin/libgio-2.0-0.dll and b/gtk-nsis-pack/bin/libgio-2.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libgiomm-2.4-1.dll b/gtk-nsis-pack/bin/libgiomm-2.4-1.dll index cbebebc6e..e50f6f5ab 100644 Binary files a/gtk-nsis-pack/bin/libgiomm-2.4-1.dll and b/gtk-nsis-pack/bin/libgiomm-2.4-1.dll differ diff --git a/gtk-nsis-pack/bin/libglib-2.0-0.dll b/gtk-nsis-pack/bin/libglib-2.0-0.dll index f1fe1a314..63000f27b 100644 Binary files a/gtk-nsis-pack/bin/libglib-2.0-0.dll and b/gtk-nsis-pack/bin/libglib-2.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libglibmm-2.4-1.dll b/gtk-nsis-pack/bin/libglibmm-2.4-1.dll index 509f61710..6a7826eeb 100644 Binary files a/gtk-nsis-pack/bin/libglibmm-2.4-1.dll and b/gtk-nsis-pack/bin/libglibmm-2.4-1.dll differ diff --git a/gtk-nsis-pack/bin/libglibmm_generate_extra_defs-2.4-1.dll b/gtk-nsis-pack/bin/libglibmm_generate_extra_defs-2.4-1.dll index 79c6fb165..41fe7cf92 100644 Binary files a/gtk-nsis-pack/bin/libglibmm_generate_extra_defs-2.4-1.dll and b/gtk-nsis-pack/bin/libglibmm_generate_extra_defs-2.4-1.dll differ diff --git a/gtk-nsis-pack/bin/libgmodule-2.0-0.dll b/gtk-nsis-pack/bin/libgmodule-2.0-0.dll index fc0a4a0b2..7ceb616af 100644 Binary files a/gtk-nsis-pack/bin/libgmodule-2.0-0.dll and b/gtk-nsis-pack/bin/libgmodule-2.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libgobject-2.0-0.dll b/gtk-nsis-pack/bin/libgobject-2.0-0.dll index cecab7f74..d579c72a7 100644 Binary files a/gtk-nsis-pack/bin/libgobject-2.0-0.dll and b/gtk-nsis-pack/bin/libgobject-2.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libgthread-2.0-0.dll b/gtk-nsis-pack/bin/libgthread-2.0-0.dll index c761bda6e..1b2149df4 100644 Binary files a/gtk-nsis-pack/bin/libgthread-2.0-0.dll and b/gtk-nsis-pack/bin/libgthread-2.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libgtk-3-0.dll b/gtk-nsis-pack/bin/libgtk-3-0.dll index 708ad4db4..1ea9d8055 100644 Binary files a/gtk-nsis-pack/bin/libgtk-3-0.dll and b/gtk-nsis-pack/bin/libgtk-3-0.dll differ diff --git a/gtk-nsis-pack/bin/libgtk-win32-2.0-0.dll b/gtk-nsis-pack/bin/libgtk-win32-2.0-0.dll index 6ac06e2e5..2efedc0d8 100644 Binary files a/gtk-nsis-pack/bin/libgtk-win32-2.0-0.dll and b/gtk-nsis-pack/bin/libgtk-win32-2.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libgtkmm-2.4-1.dll b/gtk-nsis-pack/bin/libgtkmm-2.4-1.dll index f0e01fbe2..1e3653139 100644 Binary files a/gtk-nsis-pack/bin/libgtkmm-2.4-1.dll and b/gtk-nsis-pack/bin/libgtkmm-2.4-1.dll differ diff --git a/gtk-nsis-pack/bin/libgtkmm-3.0-1.dll b/gtk-nsis-pack/bin/libgtkmm-3.0-1.dll index 320189adc..42b355862 100644 Binary files a/gtk-nsis-pack/bin/libgtkmm-3.0-1.dll and b/gtk-nsis-pack/bin/libgtkmm-3.0-1.dll differ diff --git a/gtk-nsis-pack/bin/libgtksourceview-2.0-0.dll b/gtk-nsis-pack/bin/libgtksourceview-2.0-0.dll new file mode 100644 index 000000000..28677f17e Binary files /dev/null and b/gtk-nsis-pack/bin/libgtksourceview-2.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libgtksourceview-3.0-1.dll b/gtk-nsis-pack/bin/libgtksourceview-3.0-1.dll new file mode 100644 index 000000000..b2ac5b0bb Binary files /dev/null and b/gtk-nsis-pack/bin/libgtksourceview-3.0-1.dll differ diff --git a/gtk-nsis-pack/bin/libgtksourceviewmm-2.0-2.dll b/gtk-nsis-pack/bin/libgtksourceviewmm-2.0-2.dll new file mode 100644 index 000000000..19613ac13 Binary files /dev/null and b/gtk-nsis-pack/bin/libgtksourceviewmm-2.0-2.dll differ diff --git a/gtk-nsis-pack/bin/libgtksourceviewmm-3.0-0.dll b/gtk-nsis-pack/bin/libgtksourceviewmm-3.0-0.dll new file mode 100644 index 000000000..135392603 Binary files /dev/null and b/gtk-nsis-pack/bin/libgtksourceviewmm-3.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libharfbuzz-0.dll b/gtk-nsis-pack/bin/libharfbuzz-0.dll index edadc5afd..777ef4bd3 100644 Binary files a/gtk-nsis-pack/bin/libharfbuzz-0.dll and b/gtk-nsis-pack/bin/libharfbuzz-0.dll differ diff --git a/gtk-nsis-pack/bin/libjson-glib-1.0-0.dll b/gtk-nsis-pack/bin/libjson-glib-1.0-0.dll index 177d1f0f6..6c843a298 100644 Binary files a/gtk-nsis-pack/bin/libjson-glib-1.0-0.dll and b/gtk-nsis-pack/bin/libjson-glib-1.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libpango-1.0-0.dll b/gtk-nsis-pack/bin/libpango-1.0-0.dll index 4701c6b04..035e5088c 100644 Binary files a/gtk-nsis-pack/bin/libpango-1.0-0.dll and b/gtk-nsis-pack/bin/libpango-1.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libpangocairo-1.0-0.dll b/gtk-nsis-pack/bin/libpangocairo-1.0-0.dll index a7b918a1c..6e6de60f9 100644 Binary files a/gtk-nsis-pack/bin/libpangocairo-1.0-0.dll and b/gtk-nsis-pack/bin/libpangocairo-1.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libpangoft2-1.0-0.dll b/gtk-nsis-pack/bin/libpangoft2-1.0-0.dll index 8c40da439..817068f09 100644 Binary files a/gtk-nsis-pack/bin/libpangoft2-1.0-0.dll and b/gtk-nsis-pack/bin/libpangoft2-1.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libpangomm-1.4-1.dll b/gtk-nsis-pack/bin/libpangomm-1.4-1.dll index 9cd33eb2e..5141f18e6 100644 Binary files a/gtk-nsis-pack/bin/libpangomm-1.4-1.dll and b/gtk-nsis-pack/bin/libpangomm-1.4-1.dll differ diff --git a/gtk-nsis-pack/bin/libpangowin32-1.0-0.dll b/gtk-nsis-pack/bin/libpangowin32-1.0-0.dll index 608544645..da566261f 100644 Binary files a/gtk-nsis-pack/bin/libpangowin32-1.0-0.dll and b/gtk-nsis-pack/bin/libpangowin32-1.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libpcre-1.dll b/gtk-nsis-pack/bin/libpcre-1.dll new file mode 100644 index 000000000..ab2815866 Binary files /dev/null and b/gtk-nsis-pack/bin/libpcre-1.dll differ diff --git a/gtk-nsis-pack/bin/libpixman-1-0.dll b/gtk-nsis-pack/bin/libpixman-1-0.dll index 66faa41ce..fac0e4e2d 100644 Binary files a/gtk-nsis-pack/bin/libpixman-1-0.dll and b/gtk-nsis-pack/bin/libpixman-1-0.dll differ diff --git a/gtk-nsis-pack/bin/libpng16-16.dll b/gtk-nsis-pack/bin/libpng16-16.dll index ddcb1722f..732c2bf88 100644 Binary files a/gtk-nsis-pack/bin/libpng16-16.dll and b/gtk-nsis-pack/bin/libpng16-16.dll differ diff --git a/gtk-nsis-pack/bin/libsigc-2.0-0.dll b/gtk-nsis-pack/bin/libsigc-2.0-0.dll index 9660f42dd..452983f67 100644 Binary files a/gtk-nsis-pack/bin/libsigc-2.0-0.dll and b/gtk-nsis-pack/bin/libsigc-2.0-0.dll differ diff --git a/gtk-nsis-pack/bin/libwinpthread_64-1.dll b/gtk-nsis-pack/bin/libwinpthread_64-1.dll new file mode 100644 index 000000000..e40c03d0a Binary files /dev/null and b/gtk-nsis-pack/bin/libwinpthread_64-1.dll differ diff --git a/gtk-nsis-pack/bin/libxml++-2.6-2.dll b/gtk-nsis-pack/bin/libxml++-2.6-2.dll index 1f2bbf9f8..a5d3cfa3d 100644 Binary files a/gtk-nsis-pack/bin/libxml++-2.6-2.dll and b/gtk-nsis-pack/bin/libxml++-2.6-2.dll differ diff --git a/gtk-nsis-pack/bin/libxml++-3.0-1.dll b/gtk-nsis-pack/bin/libxml++-3.0-1.dll new file mode 100644 index 000000000..fe77b1e7b Binary files /dev/null and b/gtk-nsis-pack/bin/libxml++-3.0-1.dll differ diff --git a/gtk-nsis-pack/bin/libxml2-2.dll b/gtk-nsis-pack/bin/libxml2-2.dll index 0a34bd21d..48c832ce8 100644 Binary files a/gtk-nsis-pack/bin/libxml2-2.dll and b/gtk-nsis-pack/bin/libxml2-2.dll differ diff --git a/gtk-nsis-pack/bin/libxslt-1.dll b/gtk-nsis-pack/bin/libxslt-1.dll index 3181d8822..ac5f265b0 100644 Binary files a/gtk-nsis-pack/bin/libxslt-1.dll and b/gtk-nsis-pack/bin/libxslt-1.dll differ diff --git a/gtk-nsis-pack/gtk2-runtime.ts.nsi b/gtk-nsis-pack/gtk2-runtime.ts.nsi index bbcd708a8..1d8918683 100644 --- a/gtk-nsis-pack/gtk2-runtime.ts.nsi +++ b/gtk-nsis-pack/gtk2-runtime.ts.nsi @@ -12,9 +12,9 @@ ; should be installable side by side with this package. -!define GTK_VERSION "2.24.29" +!define GTK_VERSION "2.24.30" !define GTK_BIN_VERSION "2.10.0" -!define PRODUCT_VERSION "${GTK_VERSION}-2016-01-10-ts-win64" +!define PRODUCT_VERSION "${GTK_VERSION}-2016-04-09-ts-win64" !define PRODUCT_NAME "GTK2-Runtime Win64" !define PRODUCT_PUBLISHER "Tom Schoonjans" !define PRODUCT_WEB_SITE "https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer" @@ -256,9 +256,12 @@ SectionIn 1 2 RO File bin\libgobject-2.0-0.dll ; from glib File bin\libgthread-2.0-0.dll ; from glib File bin\libgtk-win32-2.0-0.dll ; gtk + File bin\libgtksourceview-2.0-0.dll File bin\libgtkmm-2.4-1.dll + File bin\libgtksourceviewmm-2.0-2.dll File bin\libharfbuzz-0.dll File bin\libintl-8.dll ; gettext, needed by all i18n libs + File bin\iconv.dll File bin\libjson-glib-1.0-0.dll ; gettext, needed by all i18n libs File bin\libpango-1.0-0.dll ; pango, needed by gtk File bin\libpangocairo-1.0-0.dll ; pango, needed by gtk @@ -268,11 +271,14 @@ SectionIn 1 2 RO File bin\libpixman-1-0.dll ; libpixman, needed by cairo File bin\libpng16-16.dll ; for gdk_pixbuf loader. File bin\libxml++-2.6-2.dll ; fontconfig needs this + File bin\libxml++-3.0-1.dll + File bin\libpcre-1.dll File bin\libxml2-2.dll ; fontconfig needs this File bin\libxslt-1.dll ; fontconfig needs this File bin\zlib1.dll ; png and many others need this File bin\libstdc++_64-6.dll File bin\libgcc_s_seh_64-1.dll + File bin\libwinpthread_64-1.dll ; We install this into the same place as the DLLs to avoid any PATH manipulation. SetOutPath "$LIB_INSTDIR" @@ -601,9 +607,12 @@ Function un.DeleteDlls Delete $LIB_INSTDIR\libgobject-2.0-0.dll ; from glib Delete $LIB_INSTDIR\libgthread-2.0-0.dll ; from glib Delete $LIB_INSTDIR\libgtk-win32-2.0-0.dll ; gtk + Delete $LIB_INSTDIR\libgtksourceview-2.0-0.dll + Delete $LIB_INSTDIR\libgtksourceviewmm-2.0-2.dll Delete $LIB_INSTDIR\libgtkmm-2.4-1.dll Delete $LIB_INSTDIR\libharfbuzz-0.dll Delete $LIB_INSTDIR\libintl-8.dll ; gettext, needed by all i18n libs + Delete $LIB_INSTDIR\iconv.dll Delete $LIB_INSTDIR\libjson-glib-1.0-0.dll Delete $LIB_INSTDIR\libpango-1.0-0.dll ; pango, needed by gtk Delete $LIB_INSTDIR\libpangocairo-1.0-0.dll ; pango, needed by gtk @@ -615,9 +624,12 @@ Function un.DeleteDlls Delete $LIB_INSTDIR\libxml2-2.dll ; fontconfig needs this Delete $LIB_INSTDIR\libxslt-1.dll ; fontconfig needs this Delete $LIB_INSTDIR\libxml++-2.6-2.dll ; fontconfig needs this + Delete $LIB_INSTDIR\libxml++-3.0-1.dll + Delete $LIB_INSTDIR\libpcre-1.dll Delete $LIB_INSTDIR\zlib1.dll ; png and many others need this Delete $LIB_INSTDIR\libstdc++_64-6.dll Delete $LIB_INSTDIR\libgcc_s_seh_64-1.dll + Delete $LIB_INSTDIR\libwinpthread_64-1.dll FunctionEnd diff --git a/gtk-nsis-pack/gtk3-runtime.ts.nsi b/gtk-nsis-pack/gtk3-runtime.ts.nsi index f3dd075e3..b59ebe2e8 100644 --- a/gtk-nsis-pack/gtk3-runtime.ts.nsi +++ b/gtk-nsis-pack/gtk3-runtime.ts.nsi @@ -11,9 +11,9 @@ ; Directory and package names: gtk3-runtime. -!define GTK_VERSION "3.18.6" +!define GTK_VERSION "3.20.2" !define GTK_BIN_VERSION "3.0.0" -!define PRODUCT_VERSION "${GTK_VERSION}-2016-01-10-ts-win64" +!define PRODUCT_VERSION "${GTK_VERSION}-2016-04-09-ts-win64" !define PRODUCT_NAME "GTK3-Runtime Win64" !define PRODUCT_PUBLISHER "Tom Schoonjans" !define PRODUCT_WEB_SITE "https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer" @@ -256,9 +256,12 @@ SectionIn 1 2 RO File bin\libgobject-2.0-0.dll ; from glib File bin\libgthread-2.0-0.dll ; from glib File bin\libgtk-3-0.dll ; gtk + File bin\libgtksourceview-3.0-1.dll + File bin\libgtksourceviewmm-3.0-0.dll File bin\libgtkmm-3.0-1.dll File bin\libharfbuzz-0.dll File bin\libintl-8.dll ; gettext, needed by all i18n libs + File bin\iconv.dll File bin\libjson-glib-1.0-0.dll ; gettext, needed by all i18n libs File bin\libpango-1.0-0.dll ; pango, needed by gtk File bin\libpangocairo-1.0-0.dll ; pango, needed by gtk @@ -268,11 +271,14 @@ SectionIn 1 2 RO File bin\libpixman-1-0.dll ; libpixman, needed by cairo File bin\libpng16-16.dll ; for gdk_pixbuf loader. File bin\libxml++-2.6-2.dll ; fontconfig needs this + File bin\libxml++-3.0-1.dll File bin\libxml2-2.dll ; fontconfig needs this File bin\libxslt-1.dll ; fontconfig needs this + File bin\libpcre-1.dll ; fontconfig needs this File bin\zlib1.dll ; png and many others need this File bin\libstdc++_64-6.dll File bin\libgcc_s_seh_64-1.dll + File bin\libwinpthread_64-1.dll ; We install this into the same place as the DLLs to avoid any PATH manipulation. SetOutPath "$LIB_INSTDIR" @@ -603,9 +609,12 @@ Function un.DeleteDlls Delete $LIB_INSTDIR\libgobject-2.0-0.dll ; from glib Delete $LIB_INSTDIR\libgthread-2.0-0.dll ; from glib Delete $LIB_INSTDIR\libgtk-3-0.dll ; gtk + Delete $LIB_INSTDIR\libgtksourceview-3.0-1.dll ; gtk + Delete $LIB_INSTDIR\libgtksourceviewmm-3.0-0.dll ; gtk Delete $LIB_INSTDIR\libgtkmm-3.0-1.dll Delete $LIB_INSTDIR\libharfbuzz-0.dll Delete $LIB_INSTDIR\libintl-8.dll ; gettext, needed by all i18n libs + Delete $LIB_INSTDIR\iconv.dll Delete $LIB_INSTDIR\libjson-glib-1.0-0.dll Delete $LIB_INSTDIR\libpango-1.0-0.dll ; pango, needed by gtk Delete $LIB_INSTDIR\libpangocairo-1.0-0.dll ; pango, needed by gtk @@ -615,11 +624,14 @@ Function un.DeleteDlls Delete $LIB_INSTDIR\libpixman-1-0.dll ; libpixman, needed by cairo Delete $LIB_INSTDIR\libpng16-16.dll ; for gdk_pixbuf loader. Delete $LIB_INSTDIR\libxslt-1.dll ; fontconfig needs this + Delete $LIB_INSTDIR\libpcre-1.dll ; fontconfig needs this Delete $LIB_INSTDIR\libxml2-2.dll ; fontconfig needs this Delete $LIB_INSTDIR\libxml++-2.6-2.dll ; fontconfig needs this + Delete $LIB_INSTDIR\libxml++-3.0-1.dll Delete $LIB_INSTDIR\zlib1.dll ; png and many others need this Delete $LIB_INSTDIR\libstdc++_64-6.dll Delete $LIB_INSTDIR\libgcc_s_seh_64-1.dll + Delete $LIB_INSTDIR\libwinpthread_64-1.dll FunctionEnd diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/__init__.py b/gtk-nsis-pack/share/glib-2.0/codegen/__init__.py new file mode 100644 index 000000000..ed3a5708f --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/codegen/__init__.py @@ -0,0 +1,27 @@ +# -*- Mode: Python -*- + +# GDBus - GLib D-Bus Library +# +# Copyright (C) 2008-2011 Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General +# Public License along with this library; if not, see . +# +# Author: David Zeuthen + +import os + +builddir = os.environ.get('UNINSTALLED_GLIB_BUILDDIR') + +if builddir is not None: + __path__.append(os.path.abspath(os.path.join(builddir, 'gio', 'gdbus-2.0', 'codegen'))) diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/__init__.pyc b/gtk-nsis-pack/share/glib-2.0/codegen/__init__.pyc new file mode 100644 index 000000000..42437700d Binary files /dev/null and b/gtk-nsis-pack/share/glib-2.0/codegen/__init__.pyc differ diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/codegen.py b/gtk-nsis-pack/share/glib-2.0/codegen/codegen.py new file mode 100644 index 000000000..9d1acbd11 --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/codegen/codegen.py @@ -0,0 +1,3434 @@ +# -*- Mode: Python -*- + +# GDBus - GLib D-Bus Library +# +# Copyright (C) 2008-2011 Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General +# Public License along with this library; if not, see . +# +# Author: David Zeuthen + +import sys + +from . import config +from . import utils +from . import dbustypes + +# ---------------------------------------------------------------------------------------------------- + +class CodeGenerator: + def __init__(self, ifaces, namespace, interface_prefix, generate_objmanager, docbook_gen, h, c): + self.docbook_gen = docbook_gen + self.generate_objmanager = generate_objmanager + self.ifaces = ifaces + self.h = h + self.c = c + self.namespace = namespace + if len(namespace) > 0: + if utils.is_ugly_case(namespace): + self.namespace = namespace.replace('_', '') + self.ns_upper = namespace.upper() + '_' + self.ns_lower = namespace.lower() + '_' + else: + self.ns_upper = utils.camel_case_to_uscore(namespace).upper() + '_' + self.ns_lower = utils.camel_case_to_uscore(namespace).lower() + '_' + else: + self.ns_upper = '' + self.ns_lower = '' + self.interface_prefix = interface_prefix + self.header_guard = self.h.name.upper().replace('.', '_').replace('-', '_').replace('/', '_') + + # ---------------------------------------------------------------------------------------------------- + + def generate_intro(self): + self.c.write('/*\n' + ' * Generated by gdbus-codegen %s. DO NOT EDIT.\n' + ' *\n' + ' * The license of this code is the same as for the source it was derived from.\n' + ' */\n' + '\n' + %(config.VERSION)) + self.c.write('#ifdef HAVE_CONFIG_H\n' + '# include "config.h"\n' + '#endif\n' + '\n' + '#include "%s"\n' + '\n' + '#include \n' + %(self.h.name)) + + self.c.write('#ifdef G_OS_UNIX\n' + '# include \n' + '#endif\n' + '\n') + + self.c.write('typedef struct\n' + '{\n' + ' GDBusArgInfo parent_struct;\n' + ' gboolean use_gvariant;\n' + '} _ExtendedGDBusArgInfo;\n' + '\n') + + self.c.write('typedef struct\n' + '{\n' + ' GDBusMethodInfo parent_struct;\n' + ' const gchar *signal_name;\n' + ' gboolean pass_fdlist;\n' + '} _ExtendedGDBusMethodInfo;\n' + '\n') + + self.c.write('typedef struct\n' + '{\n' + ' GDBusSignalInfo parent_struct;\n' + ' const gchar *signal_name;\n' + '} _ExtendedGDBusSignalInfo;\n' + '\n') + + self.c.write('typedef struct\n' + '{\n' + ' GDBusPropertyInfo parent_struct;\n' + ' const gchar *hyphen_name;\n' + ' gboolean use_gvariant;\n' + '} _ExtendedGDBusPropertyInfo;\n' + '\n') + + self.c.write('typedef struct\n' + '{\n' + ' GDBusInterfaceInfo parent_struct;\n' + ' const gchar *hyphen_name;\n' + '} _ExtendedGDBusInterfaceInfo;\n' + '\n') + + self.c.write('typedef struct\n' + '{\n' + ' const _ExtendedGDBusPropertyInfo *info;\n' + ' guint prop_id;\n' + ' GValue orig_value; /* the value before the change */\n' + '} ChangedProperty;\n' + '\n' + 'static void\n' + '_changed_property_free (ChangedProperty *data)\n' + '{\n' + ' g_value_unset (&data->orig_value);\n' + ' g_free (data);\n' + '}\n' + '\n') + + self.c.write('static gboolean\n' + '_g_strv_equal0 (gchar **a, gchar **b)\n' + '{\n' + ' gboolean ret = FALSE;\n' + ' guint n;\n' + ' if (a == NULL && b == NULL)\n' + ' {\n' + ' ret = TRUE;\n' + ' goto out;\n' + ' }\n' + ' if (a == NULL || b == NULL)\n' + ' goto out;\n' + ' if (g_strv_length (a) != g_strv_length (b))\n' + ' goto out;\n' + ' for (n = 0; a[n] != NULL; n++)\n' + ' if (g_strcmp0 (a[n], b[n]) != 0)\n' + ' goto out;\n' + ' ret = TRUE;\n' + 'out:\n' + ' return ret;\n' + '}\n' + '\n') + + self.c.write('static gboolean\n' + '_g_variant_equal0 (GVariant *a, GVariant *b)\n' + '{\n' + ' gboolean ret = FALSE;\n' + ' if (a == NULL && b == NULL)\n' + ' {\n' + ' ret = TRUE;\n' + ' goto out;\n' + ' }\n' + ' if (a == NULL || b == NULL)\n' + ' goto out;\n' + ' ret = g_variant_equal (a, b);\n' + 'out:\n' + ' return ret;\n' + '}\n' + '\n') + + # simplified - only supports the types we use + self.c.write('G_GNUC_UNUSED static gboolean\n' + '_g_value_equal (const GValue *a, const GValue *b)\n' + '{\n' + ' gboolean ret = FALSE;\n' + ' g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b));\n' + ' switch (G_VALUE_TYPE (a))\n' + ' {\n' + ' case G_TYPE_BOOLEAN:\n' + ' ret = (g_value_get_boolean (a) == g_value_get_boolean (b));\n' + ' break;\n' + ' case G_TYPE_UCHAR:\n' + ' ret = (g_value_get_uchar (a) == g_value_get_uchar (b));\n' + ' break;\n' + ' case G_TYPE_INT:\n' + ' ret = (g_value_get_int (a) == g_value_get_int (b));\n' + ' break;\n' + ' case G_TYPE_UINT:\n' + ' ret = (g_value_get_uint (a) == g_value_get_uint (b));\n' + ' break;\n' + ' case G_TYPE_INT64:\n' + ' ret = (g_value_get_int64 (a) == g_value_get_int64 (b));\n' + ' break;\n' + ' case G_TYPE_UINT64:\n' + ' ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b));\n' + ' break;\n' + ' case G_TYPE_DOUBLE:\n' + ' {\n' + ' /* Avoid -Wfloat-equal warnings by doing a direct bit compare */\n' + ' gdouble da = g_value_get_double (a);\n' + ' gdouble db = g_value_get_double (b);\n' + ' ret = memcmp (&da, &db, sizeof (gdouble)) == 0;\n' + ' }\n' + ' break;\n' + ' case G_TYPE_STRING:\n' + ' ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0);\n' + ' break;\n' + ' case G_TYPE_VARIANT:\n' + ' ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b));\n' + ' break;\n' + ' default:\n' + ' if (G_VALUE_TYPE (a) == G_TYPE_STRV)\n' + ' ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b));\n' + ' else\n' + ' g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a)));\n' + ' break;\n' + ' }\n' + ' return ret;\n' + '}\n' + '\n') + + self.h.write('/*\n' + ' * Generated by gdbus-codegen %s. DO NOT EDIT.\n' + ' *\n' + ' * The license of this code is the same as for the source it was derived from.\n' + ' */\n' + '\n' + '#ifndef __%s__\n' + '#define __%s__\n' + '\n'%(config.VERSION, self.header_guard, self.header_guard)) + self.h.write('#include \n' + '\n' + 'G_BEGIN_DECLS\n' + '\n') + + # ---------------------------------------------------------------------------------------------------- + + def declare_types(self): + for i in self.ifaces: + self.h.write('\n') + self.h.write('/* ------------------------------------------------------------------------ */\n') + self.h.write('/* Declarations for %s */\n'%i.name) + self.h.write('\n') + + # First the GInterface + self.h.write('#define %sTYPE_%s (%s_get_type ())\n'%(i.ns_upper, i.name_upper, i.name_lower)) + self.h.write('#define %s%s(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_%s, %s))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper, i.camel_name)) + self.h.write('#define %sIS_%s(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_%s))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper)) + self.h.write('#define %s%s_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), %sTYPE_%s, %sIface))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper, i.camel_name)) + self.h.write('\n') + self.h.write('struct _%s;\n'%(i.camel_name)) + self.h.write('typedef struct _%s %s;\n'%(i.camel_name, i.camel_name)) + self.h.write('typedef struct _%sIface %sIface;\n'%(i.camel_name, i.camel_name)) + self.h.write('\n') + self.h.write('struct _%sIface\n'%(i.camel_name)) + self.h.write('{\n') + self.h.write(' GTypeInterface parent_iface;\n') + + function_pointers = {} + + # vfuncs for methods + if len(i.methods) > 0: + self.h.write('\n') + for m in i.methods: + unix_fd = False + if utils.lookup_annotation(m.annotations, 'org.gtk.GDBus.C.UnixFD'): + unix_fd = True + key = (m.since, '_method_%s'%m.name_lower) + value = ' gboolean (*handle_%s) (\n'%(m.name_lower) + value += ' %s *object,\n'%(i.camel_name) + value += ' GDBusMethodInvocation *invocation'%() + if unix_fd: + value += ',\n GUnixFDList *fd_list' + for a in m.in_args: + value += ',\n %sarg_%s'%(a.ctype_in, a.name) + value += ');\n\n' + function_pointers[key] = value + + # vfuncs for signals + if len(i.signals) > 0: + self.h.write('\n') + for s in i.signals: + key = (s.since, '_signal_%s'%s.name_lower) + value = ' void (*%s) (\n'%(s.name_lower) + value += ' %s *object'%(i.camel_name) + for a in s.args: + value += ',\n %sarg_%s'%(a.ctype_in, a.name) + value += ');\n\n' + function_pointers[key] = value + + # vfuncs for properties + if len(i.properties) > 0: + self.h.write('\n') + for p in i.properties: + key = (p.since, '_prop_get_%s'%p.name_lower) + value = ' %s (*get_%s) (%s *object);\n\n'%(p.arg.ctype_in, p.name_lower, i.camel_name) + function_pointers[key] = value + + # Sort according to @since tag, then name.. this ensures + # that the function pointers don't change order assuming + # judicious use of @since + # + # Also use a proper version comparison function so e.g. + # 10.0 comes after 2.0. + # + # See https://bugzilla.gnome.org/show_bug.cgi?id=647577#c5 + # for discussion + for key in sorted(function_pointers.keys(), key=utils.version_cmp_key): + self.h.write('%s'%function_pointers[key]) + + self.h.write('};\n') + self.h.write('\n') + self.h.write('GType %s_get_type (void) G_GNUC_CONST;\n'%(i.name_lower)) + self.h.write('\n') + self.h.write('GDBusInterfaceInfo *%s_interface_info (void);\n'%(i.name_lower)) + self.h.write('guint %s_override_properties (GObjectClass *klass, guint property_id_begin);\n'%(i.name_lower)) + self.h.write('\n') + + # Then method call completion functions + if len(i.methods) > 0: + self.h.write('\n') + self.h.write('/* D-Bus method call completion functions: */\n') + for m in i.methods: + unix_fd = False + if utils.lookup_annotation(m.annotations, 'org.gtk.GDBus.C.UnixFD'): + unix_fd = True + if m.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('void %s_complete_%s (\n' + ' %s *object,\n' + ' GDBusMethodInvocation *invocation'%(i.name_lower, m.name_lower, i.camel_name)) + if unix_fd: + self.h.write(',\n GUnixFDList *fd_list') + for a in m.out_args: + self.h.write(',\n %s%s'%(a.ctype_in, a.name)) + self.h.write(');\n') + self.h.write('\n') + self.h.write('\n') + + # Then signal emission functions + if len(i.signals) > 0: + self.h.write('\n') + self.h.write('/* D-Bus signal emissions functions: */\n') + for s in i.signals: + if s.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('void %s_emit_%s (\n' + ' %s *object'%(i.name_lower, s.name_lower, i.camel_name)) + for a in s.args: + self.h.write(',\n %sarg_%s'%(a.ctype_in, a.name)) + self.h.write(');\n') + self.h.write('\n') + self.h.write('\n') + + # Then method call declarations + if len(i.methods) > 0: + self.h.write('\n') + self.h.write('/* D-Bus method calls: */\n') + for m in i.methods: + unix_fd = False + if utils.lookup_annotation(m.annotations, 'org.gtk.GDBus.C.UnixFD'): + unix_fd = True + # async begin + if m.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('void %s_call_%s (\n' + ' %s *proxy'%(i.name_lower, m.name_lower, i.camel_name)) + for a in m.in_args: + self.h.write(',\n %sarg_%s'%(a.ctype_in, a.name)) + if unix_fd: + self.h.write(',\n GUnixFDList *fd_list') + self.h.write(',\n' + ' GCancellable *cancellable,\n' + ' GAsyncReadyCallback callback,\n' + ' gpointer user_data);\n') + self.h.write('\n') + # async finish + if m.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('gboolean %s_call_%s_finish (\n' + ' %s *proxy'%(i.name_lower, m.name_lower, i.camel_name)) + for a in m.out_args: + self.h.write(',\n %sout_%s'%(a.ctype_out, a.name)) + if unix_fd: + self.h.write(',\n GUnixFDList **out_fd_list') + self.h.write(',\n' + ' GAsyncResult *res,\n' + ' GError **error);\n') + self.h.write('\n') + # sync + if m.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('gboolean %s_call_%s_sync (\n' + ' %s *proxy'%(i.name_lower, m.name_lower, i.camel_name)) + for a in m.in_args: + self.h.write(',\n %sarg_%s'%(a.ctype_in, a.name)) + if unix_fd: + self.h.write(',\n GUnixFDList *fd_list') + for a in m.out_args: + self.h.write(',\n %sout_%s'%(a.ctype_out, a.name)) + if unix_fd: + self.h.write(',\n GUnixFDList **out_fd_list') + self.h.write(',\n' + ' GCancellable *cancellable,\n' + ' GError **error);\n') + self.h.write('\n') + self.h.write('\n') + + # Then the property accessor declarations + if len(i.properties) > 0: + self.h.write('\n') + self.h.write('/* D-Bus property accessors: */\n') + for p in i.properties: + # getter + if p.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('%s%s_get_%s (%s *object);\n'%(p.arg.ctype_in, i.name_lower, p.name_lower, i.camel_name)) + if p.arg.free_func != None: + if p.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('%s%s_dup_%s (%s *object);\n'%(p.arg.ctype_in_dup, i.name_lower, p.name_lower, i.camel_name)) + # setter + if p.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('void %s_set_%s (%s *object, %svalue);\n'%(i.name_lower, p.name_lower, i.camel_name, p.arg.ctype_in, )) + self.h.write('\n') + + # Then the proxy + self.h.write('\n') + self.h.write('/* ---- */\n') + self.h.write('\n') + self.h.write('#define %sTYPE_%s_PROXY (%s_proxy_get_type ())\n'%(i.ns_upper, i.name_upper, i.name_lower)) + self.h.write('#define %s%s_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_%s_PROXY, %sProxy))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper, i.camel_name)) + self.h.write('#define %s%s_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), %sTYPE_%s_PROXY, %sProxyClass))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper, i.camel_name)) + self.h.write('#define %s%s_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), %sTYPE_%s_PROXY, %sProxyClass))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper, i.camel_name)) + self.h.write('#define %sIS_%s_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_%s_PROXY))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper)) + self.h.write('#define %sIS_%s_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), %sTYPE_%s_PROXY))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper)) + self.h.write('\n') + self.h.write('typedef struct _%sProxy %sProxy;\n'%(i.camel_name, i.camel_name)) + self.h.write('typedef struct _%sProxyClass %sProxyClass;\n'%(i.camel_name, i.camel_name)) + self.h.write('typedef struct _%sProxyPrivate %sProxyPrivate;\n'%(i.camel_name, i.camel_name)) + self.h.write('\n') + self.h.write('struct _%sProxy\n'%(i.camel_name)) + self.h.write('{\n') + self.h.write(' /*< private >*/\n') + self.h.write(' GDBusProxy parent_instance;\n') + self.h.write(' %sProxyPrivate *priv;\n'%(i.camel_name)) + self.h.write('};\n') + self.h.write('\n') + self.h.write('struct _%sProxyClass\n'%(i.camel_name)) + self.h.write('{\n') + self.h.write(' GDBusProxyClass parent_class;\n') + self.h.write('};\n') + self.h.write('\n') + self.h.write('GType %s_proxy_get_type (void) G_GNUC_CONST;\n'%(i.name_lower)) + self.h.write('\n') + self.h.write('#if GLIB_CHECK_VERSION(2, 44, 0)\n') + self.h.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sProxy, g_object_unref)\n' % (i.camel_name)) + self.h.write('#endif\n') + + self.h.write('\n') + if i.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('void %s_proxy_new (\n' + ' GDBusConnection *connection,\n' + ' GDBusProxyFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GAsyncReadyCallback callback,\n' + ' gpointer user_data);\n' + %(i.name_lower)) + if i.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('%s *%s_proxy_new_finish (\n' + ' GAsyncResult *res,\n' + ' GError **error);\n' + %(i.camel_name, i.name_lower)) + if i.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('%s *%s_proxy_new_sync (\n' + ' GDBusConnection *connection,\n' + ' GDBusProxyFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GError **error);\n' + %(i.camel_name, i.name_lower)) + self.h.write('\n') + if i.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('void %s_proxy_new_for_bus (\n' + ' GBusType bus_type,\n' + ' GDBusProxyFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GAsyncReadyCallback callback,\n' + ' gpointer user_data);\n' + %(i.name_lower)) + if i.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('%s *%s_proxy_new_for_bus_finish (\n' + ' GAsyncResult *res,\n' + ' GError **error);\n' + %(i.camel_name, i.name_lower)) + if i.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('%s *%s_proxy_new_for_bus_sync (\n' + ' GBusType bus_type,\n' + ' GDBusProxyFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GError **error);\n' + %(i.camel_name, i.name_lower)) + self.h.write('\n') + + # Then the skeleton + self.h.write('\n') + self.h.write('/* ---- */\n') + self.h.write('\n') + self.h.write('#define %sTYPE_%s_SKELETON (%s_skeleton_get_type ())\n'%(i.ns_upper, i.name_upper, i.name_lower)) + self.h.write('#define %s%s_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_%s_SKELETON, %sSkeleton))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper, i.camel_name)) + self.h.write('#define %s%s_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), %sTYPE_%s_SKELETON, %sSkeletonClass))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper, i.camel_name)) + self.h.write('#define %s%s_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), %sTYPE_%s_SKELETON, %sSkeletonClass))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper, i.camel_name)) + self.h.write('#define %sIS_%s_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_%s_SKELETON))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper)) + self.h.write('#define %sIS_%s_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), %sTYPE_%s_SKELETON))\n'%(i.ns_upper, i.name_upper, i.ns_upper, i.name_upper)) + self.h.write('\n') + self.h.write('typedef struct _%sSkeleton %sSkeleton;\n'%(i.camel_name, i.camel_name)) + self.h.write('typedef struct _%sSkeletonClass %sSkeletonClass;\n'%(i.camel_name, i.camel_name)) + self.h.write('typedef struct _%sSkeletonPrivate %sSkeletonPrivate;\n'%(i.camel_name, i.camel_name)) + self.h.write('\n') + self.h.write('struct _%sSkeleton\n'%(i.camel_name)) + self.h.write('{\n') + self.h.write(' /*< private >*/\n') + self.h.write(' GDBusInterfaceSkeleton parent_instance;\n') + self.h.write(' %sSkeletonPrivate *priv;\n'%(i.camel_name)) + self.h.write('};\n') + self.h.write('\n') + self.h.write('struct _%sSkeletonClass\n'%(i.camel_name)) + self.h.write('{\n') + self.h.write(' GDBusInterfaceSkeletonClass parent_class;\n') + self.h.write('};\n') + self.h.write('\n') + self.h.write('GType %s_skeleton_get_type (void) G_GNUC_CONST;\n'%(i.name_lower)) + self.h.write('\n') + self.h.write('#if GLIB_CHECK_VERSION(2, 44, 0)\n') + self.h.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sSkeleton, g_object_unref)\n' % (i.camel_name)) + self.h.write('#endif\n') + self.h.write('\n') + if i.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write('%s *%s_skeleton_new (void);\n'%(i.camel_name, i.name_lower)) + + self.h.write('\n') + + # Finally, the Object, ObjectProxy, ObjectSkeleton and ObjectManagerClient + if self.generate_objmanager: + self.h.write('\n') + self.h.write('/* ---- */\n') + self.h.write('\n') + self.h.write('#define %sTYPE_OBJECT (%sobject_get_type ())\n'%(self.ns_upper, self.ns_lower)) + self.h.write('#define %sOBJECT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_OBJECT, %sObject))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('#define %sIS_OBJECT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_OBJECT))\n'%(self.ns_upper, self.ns_upper)) + self.h.write('#define %sOBJECT_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), %sTYPE_OBJECT, %sObject))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('\n') + self.h.write('struct _%sObject;\n'%(self.namespace)) + self.h.write('typedef struct _%sObject %sObject;\n'%(self.namespace, self.namespace)) + self.h.write('typedef struct _%sObjectIface %sObjectIface;\n'%(self.namespace, self.namespace)) + self.h.write('\n') + self.h.write('struct _%sObjectIface\n'%(self.namespace)) + self.h.write('{\n' + ' GTypeInterface parent_iface;\n' + '};\n' + '\n') + self.h.write('GType %sobject_get_type (void) G_GNUC_CONST;\n' + '\n' + %(self.ns_lower)) + for i in self.ifaces: + if i.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write ('%s *%sobject_get_%s (%sObject *object);\n' + %(i.camel_name, self.ns_lower, i.name_upper.lower(), self.namespace)) + for i in self.ifaces: + if i.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write ('%s *%sobject_peek_%s (%sObject *object);\n' + %(i.camel_name, self.ns_lower, i.name_upper.lower(), self.namespace)) + self.h.write('\n') + self.h.write('#define %sTYPE_OBJECT_PROXY (%sobject_proxy_get_type ())\n'%(self.ns_upper, self.ns_lower)) + self.h.write('#define %sOBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_OBJECT_PROXY, %sObjectProxy))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('#define %sOBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), %sTYPE_OBJECT_PROXY, %sObjectProxyClass))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('#define %sOBJECT_PROXY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), %sTYPE_OBJECT_PROXY, %sObjectProxyClass))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('#define %sIS_OBJECT_PROXY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_OBJECT_PROXY))\n'%(self.ns_upper, self.ns_upper)) + self.h.write('#define %sIS_OBJECT_PROXY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), %sTYPE_OBJECT_PROXY))\n'%(self.ns_upper, self.ns_upper)) + self.h.write('\n') + self.h.write('typedef struct _%sObjectProxy %sObjectProxy;\n'%(self.namespace, self.namespace)) + self.h.write('typedef struct _%sObjectProxyClass %sObjectProxyClass;\n'%(self.namespace, self.namespace)) + self.h.write('typedef struct _%sObjectProxyPrivate %sObjectProxyPrivate;\n'%(self.namespace, self.namespace)) + self.h.write('\n') + self.h.write('struct _%sObjectProxy\n'%(self.namespace)) + self.h.write('{\n') + self.h.write(' /*< private >*/\n') + self.h.write(' GDBusObjectProxy parent_instance;\n') + self.h.write(' %sObjectProxyPrivate *priv;\n'%(self.namespace)) + self.h.write('};\n') + self.h.write('\n') + self.h.write('struct _%sObjectProxyClass\n'%(self.namespace)) + self.h.write('{\n') + self.h.write(' GDBusObjectProxyClass parent_class;\n') + self.h.write('};\n') + self.h.write('\n') + self.h.write('GType %sobject_proxy_get_type (void) G_GNUC_CONST;\n'%(self.ns_lower)) + self.h.write('\n') + self.h.write('#if GLIB_CHECK_VERSION(2, 44, 0)\n') + self.h.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectProxy, g_object_unref)\n' % (self.namespace)) + self.h.write('#endif\n') + self.h.write('\n') + self.h.write('%sObjectProxy *%sobject_proxy_new (GDBusConnection *connection, const gchar *object_path);\n'%(self.namespace, self.ns_lower)) + self.h.write('\n') + self.h.write('#define %sTYPE_OBJECT_SKELETON (%sobject_skeleton_get_type ())\n'%(self.ns_upper, self.ns_lower)) + self.h.write('#define %sOBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_OBJECT_SKELETON, %sObjectSkeleton))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('#define %sOBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), %sTYPE_OBJECT_SKELETON, %sObjectSkeletonClass))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('#define %sOBJECT_SKELETON_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), %sTYPE_OBJECT_SKELETON, %sObjectSkeletonClass))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('#define %sIS_OBJECT_SKELETON(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_OBJECT_SKELETON))\n'%(self.ns_upper, self.ns_upper)) + self.h.write('#define %sIS_OBJECT_SKELETON_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), %sTYPE_OBJECT_SKELETON))\n'%(self.ns_upper, self.ns_upper)) + self.h.write('\n') + self.h.write('typedef struct _%sObjectSkeleton %sObjectSkeleton;\n'%(self.namespace, self.namespace)) + self.h.write('typedef struct _%sObjectSkeletonClass %sObjectSkeletonClass;\n'%(self.namespace, self.namespace)) + self.h.write('typedef struct _%sObjectSkeletonPrivate %sObjectSkeletonPrivate;\n'%(self.namespace, self.namespace)) + self.h.write('\n') + self.h.write('struct _%sObjectSkeleton\n'%(self.namespace)) + self.h.write('{\n') + self.h.write(' /*< private >*/\n') + self.h.write(' GDBusObjectSkeleton parent_instance;\n') + self.h.write(' %sObjectSkeletonPrivate *priv;\n'%(self.namespace)) + self.h.write('};\n') + self.h.write('\n') + self.h.write('struct _%sObjectSkeletonClass\n'%(self.namespace)) + self.h.write('{\n') + self.h.write(' GDBusObjectSkeletonClass parent_class;\n') + self.h.write('};\n') + self.h.write('\n') + self.h.write('GType %sobject_skeleton_get_type (void) G_GNUC_CONST;\n'%(self.ns_lower)) + self.h.write('\n') + self.h.write('#if GLIB_CHECK_VERSION(2, 44, 0)\n') + self.h.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectSkeleton, g_object_unref)\n' % (self.namespace)) + self.h.write('#endif\n') + self.h.write('\n') + self.h.write('%sObjectSkeleton *%sobject_skeleton_new (const gchar *object_path);\n' + %(self.namespace, self.ns_lower)) + for i in self.ifaces: + if i.deprecated: + self.h.write('G_GNUC_DEPRECATED ') + self.h.write ('void %sobject_skeleton_set_%s (%sObjectSkeleton *object, %s *interface_);\n' + %(self.ns_lower, i.name_upper.lower(), self.namespace, i.camel_name)) + self.h.write('\n') + + self.h.write('/* ---- */\n') + self.h.write('\n') + self.h.write('#define %sTYPE_OBJECT_MANAGER_CLIENT (%sobject_manager_client_get_type ())\n'%(self.ns_upper, self.ns_lower)) + self.h.write('#define %sOBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), %sTYPE_OBJECT_MANAGER_CLIENT, %sObjectManagerClient))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('#define %sOBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), %sTYPE_OBJECT_MANAGER_CLIENT, %sObjectManagerClientClass))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('#define %sOBJECT_MANAGER_CLIENT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), %sTYPE_OBJECT_MANAGER_CLIENT, %sObjectManagerClientClass))\n'%(self.ns_upper, self.ns_upper, self.namespace)) + self.h.write('#define %sIS_OBJECT_MANAGER_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), %sTYPE_OBJECT_MANAGER_CLIENT))\n'%(self.ns_upper, self.ns_upper)) + self.h.write('#define %sIS_OBJECT_MANAGER_CLIENT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), %sTYPE_OBJECT_MANAGER_CLIENT))\n'%(self.ns_upper, self.ns_upper)) + self.h.write('\n') + self.h.write('typedef struct _%sObjectManagerClient %sObjectManagerClient;\n'%(self.namespace, self.namespace)) + self.h.write('typedef struct _%sObjectManagerClientClass %sObjectManagerClientClass;\n'%(self.namespace, self.namespace)) + self.h.write('typedef struct _%sObjectManagerClientPrivate %sObjectManagerClientPrivate;\n'%(self.namespace, self.namespace)) + self.h.write('\n') + self.h.write('struct _%sObjectManagerClient\n'%(self.namespace)) + self.h.write('{\n') + self.h.write(' /*< private >*/\n') + self.h.write(' GDBusObjectManagerClient parent_instance;\n') + self.h.write(' %sObjectManagerClientPrivate *priv;\n'%(self.namespace)) + self.h.write('};\n') + self.h.write('\n') + self.h.write('struct _%sObjectManagerClientClass\n'%(self.namespace)) + self.h.write('{\n') + self.h.write(' GDBusObjectManagerClientClass parent_class;\n') + self.h.write('};\n') + self.h.write('\n') + self.h.write('#if GLIB_CHECK_VERSION(2, 44, 0)\n') + self.h.write('G_DEFINE_AUTOPTR_CLEANUP_FUNC (%sObjectManagerClient, g_object_unref)\n' % (self.namespace)) + self.h.write('#endif\n') + self.h.write('\n') + self.h.write('GType %sobject_manager_client_get_type (void) G_GNUC_CONST;\n'%(self.ns_lower)) + self.h.write('\n') + self.h.write('GType %sobject_manager_client_get_proxy_type (GDBusObjectManagerClient *manager, const gchar *object_path, const gchar *interface_name, gpointer user_data);\n'%(self.ns_lower)) + self.h.write('\n') + self.h.write('void %sobject_manager_client_new (\n' + ' GDBusConnection *connection,\n' + ' GDBusObjectManagerClientFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GAsyncReadyCallback callback,\n' + ' gpointer user_data);\n' + %(self.ns_lower)) + self.h.write('GDBusObjectManager *%sobject_manager_client_new_finish (\n' + ' GAsyncResult *res,\n' + ' GError **error);\n' + %(self.ns_lower)) + self.h.write('GDBusObjectManager *%sobject_manager_client_new_sync (\n' + ' GDBusConnection *connection,\n' + ' GDBusObjectManagerClientFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GError **error);\n' + %(self.ns_lower)) + self.h.write('\n') + self.h.write('void %sobject_manager_client_new_for_bus (\n' + ' GBusType bus_type,\n' + ' GDBusObjectManagerClientFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GAsyncReadyCallback callback,\n' + ' gpointer user_data);\n' + %(self.ns_lower)) + self.h.write('GDBusObjectManager *%sobject_manager_client_new_for_bus_finish (\n' + ' GAsyncResult *res,\n' + ' GError **error);\n' + %(self.ns_lower)) + self.h.write('GDBusObjectManager *%sobject_manager_client_new_for_bus_sync (\n' + ' GBusType bus_type,\n' + ' GDBusObjectManagerClientFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GError **error);\n' + %(self.ns_lower)) + self.h.write('\n') + + # ---------------------------------------------------------------------------------------------------- + + def generate_outro(self): + self.h.write('\n' + 'G_END_DECLS\n' + '\n' + '#endif /* __%s__ */\n'%(self.header_guard)) + + # ---------------------------------------------------------------------------------------------------- + + def generate_annotations(self, prefix, annotations): + if annotations == None: + return + + n = 0 + for a in annotations: + #self.generate_annotations('%s_%d'%(prefix, n), a.get_annotations()) + + # skip internal annotations + if a.key.startswith('org.gtk.GDBus'): + continue + + self.c.write('static const GDBusAnnotationInfo %s_%d =\n' + '{\n' + ' -1,\n' + ' (gchar *) "%s",\n' + ' (gchar *) "%s",\n'%(prefix, n, a.key, a.value)) + if len(a.annotations) == 0: + self.c.write(' NULL\n') + else: + self.c.write(' (GDBusAnnotationInfo **) &%s_%d_pointers\n'%(prefix, n)) + self.c.write('};\n' + '\n') + n += 1 + + if n > 0: + self.c.write('static const GDBusAnnotationInfo * const %s_pointers[] =\n' + '{\n'%(prefix)) + m = 0; + for a in annotations: + if a.key.startswith('org.gtk.GDBus'): + continue + self.c.write(' &%s_%d,\n'%(prefix, m)) + m += 1 + self.c.write(' NULL\n' + '};\n' + '\n') + return n + + def generate_args(self, prefix, args): + for a in args: + num_anno = self.generate_annotations('%s_arg_%s_annotation_info'%(prefix, a.name), a.annotations) + + self.c.write('static const _ExtendedGDBusArgInfo %s_%s =\n' + '{\n' + ' {\n' + ' -1,\n' + ' (gchar *) "%s",\n' + ' (gchar *) "%s",\n'%(prefix, a.name, a.name, a.signature)) + if num_anno == 0: + self.c.write(' NULL\n') + else: + self.c.write(' (GDBusAnnotationInfo **) &%s_arg_%s_annotation_info_pointers\n'%(prefix, a.name)) + self.c.write(' },\n') + if not utils.lookup_annotation(a.annotations, 'org.gtk.GDBus.C.ForceGVariant'): + self.c.write(' FALSE\n') + else: + self.c.write(' TRUE\n') + self.c.write('};\n' + '\n') + + if len(args) > 0: + self.c.write('static const _ExtendedGDBusArgInfo * const %s_pointers[] =\n' + '{\n'%(prefix)) + for a in args: + self.c.write(' &%s_%s,\n'%(prefix, a.name)) + self.c.write(' NULL\n' + '};\n' + '\n') + + def generate_introspection_for_interface(self, i): + self.c.write('/* ---- Introspection data for %s ---- */\n' + '\n'%(i.name)) + + if len(i.methods) > 0: + for m in i.methods: + unix_fd = False + if utils.lookup_annotation(m.annotations, 'org.gtk.GDBus.C.UnixFD'): + unix_fd = True + self.generate_args('_%s_method_info_%s_IN_ARG'%(i.name_lower, m.name_lower), m.in_args) + self.generate_args('_%s_method_info_%s_OUT_ARG'%(i.name_lower, m.name_lower), m.out_args) + + num_anno = self.generate_annotations('_%s_method_%s_annotation_info'%(i.name_lower, m.name_lower), m.annotations) + + self.c.write('static const _ExtendedGDBusMethodInfo _%s_method_info_%s =\n' + '{\n' + ' {\n' + ' -1,\n' + ' (gchar *) "%s",\n'%(i.name_lower, m.name_lower, m.name)) + if len(m.in_args) == 0: + self.c.write(' NULL,\n') + else: + self.c.write(' (GDBusArgInfo **) &_%s_method_info_%s_IN_ARG_pointers,\n'%(i.name_lower, m.name_lower)) + if len(m.out_args) == 0: + self.c.write(' NULL,\n') + else: + self.c.write(' (GDBusArgInfo **) &_%s_method_info_%s_OUT_ARG_pointers,\n'%(i.name_lower, m.name_lower)) + if num_anno == 0: + self.c.write(' NULL\n') + else: + self.c.write(' (GDBusAnnotationInfo **) &_%s_method_%s_annotation_info_pointers\n'%(i.name_lower, m.name_lower)) + self.c.write(' },\n' + ' "handle-%s",\n' + ' %s\n' + %(m.name_hyphen, 'TRUE' if unix_fd else 'FALSE')) + self.c.write('};\n' + '\n') + + self.c.write('static const _ExtendedGDBusMethodInfo * const _%s_method_info_pointers[] =\n' + '{\n'%(i.name_lower)) + for m in i.methods: + self.c.write(' &_%s_method_info_%s,\n'%(i.name_lower, m.name_lower)) + self.c.write(' NULL\n' + '};\n' + '\n') + + # --- + + if len(i.signals) > 0: + for s in i.signals: + self.generate_args('_%s_signal_info_%s_ARG'%(i.name_lower, s.name_lower), s.args) + + num_anno = self.generate_annotations('_%s_signal_%s_annotation_info'%(i.name_lower, s.name_lower), s.annotations) + self.c.write('static const _ExtendedGDBusSignalInfo _%s_signal_info_%s =\n' + '{\n' + ' {\n' + ' -1,\n' + ' (gchar *) "%s",\n'%(i.name_lower, s.name_lower, s.name)) + if len(s.args) == 0: + self.c.write(' NULL,\n') + else: + self.c.write(' (GDBusArgInfo **) &_%s_signal_info_%s_ARG_pointers,\n'%(i.name_lower, s.name_lower)) + if num_anno == 0: + self.c.write(' NULL\n') + else: + self.c.write(' (GDBusAnnotationInfo **) &_%s_signal_%s_annotation_info_pointers\n'%(i.name_lower, s.name_lower)) + self.c.write(' },\n' + ' "%s"\n' + %(s.name_hyphen)) + self.c.write('};\n' + '\n') + + self.c.write('static const _ExtendedGDBusSignalInfo * const _%s_signal_info_pointers[] =\n' + '{\n'%(i.name_lower)) + for s in i.signals: + self.c.write(' &_%s_signal_info_%s,\n'%(i.name_lower, s.name_lower)) + self.c.write(' NULL\n' + '};\n' + '\n') + + # --- + + if len(i.properties) > 0: + for p in i.properties: + if p.readable and p.writable: + access = 'G_DBUS_PROPERTY_INFO_FLAGS_READABLE | G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE' + elif p.readable: + access = 'G_DBUS_PROPERTY_INFO_FLAGS_READABLE' + elif p.writable: + access = 'G_DBUS_PROPERTY_INFO_FLAGS_WRITABLE' + else: + access = 'G_DBUS_PROPERTY_INFO_FLAGS_NONE' + num_anno = self.generate_annotations('_%s_property_%s_annotation_info'%(i.name_lower, p.name_lower), p.annotations) + self.c.write('static const _ExtendedGDBusPropertyInfo _%s_property_info_%s =\n' + '{\n' + ' {\n' + ' -1,\n' + ' (gchar *) "%s",\n' + ' (gchar *) "%s",\n' + ' %s,\n'%(i.name_lower, p.name_lower, p.name, p.arg.signature, access)) + if num_anno == 0: + self.c.write(' NULL\n') + else: + self.c.write(' (GDBusAnnotationInfo **) &_%s_property_%s_annotation_info_pointers\n'%(i.name_lower, p.name_lower)) + self.c.write(' },\n' + ' "%s",\n' + %(p.name_hyphen)) + if not utils.lookup_annotation(p.annotations, 'org.gtk.GDBus.C.ForceGVariant'): + self.c.write(' FALSE\n') + else: + self.c.write(' TRUE\n') + self.c.write('};\n' + '\n') + + self.c.write('static const _ExtendedGDBusPropertyInfo * const _%s_property_info_pointers[] =\n' + '{\n'%(i.name_lower)) + for p in i.properties: + self.c.write(' &_%s_property_info_%s,\n'%(i.name_lower, p.name_lower)) + self.c.write(' NULL\n' + '};\n' + '\n') + + num_anno = self.generate_annotations('_%s_annotation_info'%(i.name_lower), i.annotations) + self.c.write('static const _ExtendedGDBusInterfaceInfo _%s_interface_info =\n' + '{\n' + ' {\n' + ' -1,\n' + ' (gchar *) "%s",\n'%(i.name_lower, i.name)) + if len(i.methods) == 0: + self.c.write(' NULL,\n') + else: + self.c.write(' (GDBusMethodInfo **) &_%s_method_info_pointers,\n'%(i.name_lower)) + if len(i.signals) == 0: + self.c.write(' NULL,\n') + else: + self.c.write(' (GDBusSignalInfo **) &_%s_signal_info_pointers,\n'%(i.name_lower)) + if len(i.properties) == 0: + self.c.write(' NULL,\n') + else: + self.c.write(' (GDBusPropertyInfo **) &_%s_property_info_pointers,\n'%(i.name_lower)) + if num_anno == 0: + self.c.write(' NULL\n') + else: + self.c.write(' (GDBusAnnotationInfo **) &_%s_annotation_info_pointers\n'%(i.name_lower)) + self.c.write(' },\n' + ' "%s",\n' + '};\n' + '\n' + %(i.name_hyphen)) + self.c.write('\n') + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_interface_info:\n' + ' *\n' + ' * Gets a machine-readable description of the #%s D-Bus interface.\n' + ' *\n' + ' * Returns: (transfer none): A #GDBusInterfaceInfo. Do not free.\n' + %(i.name_lower, i.name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('GDBusInterfaceInfo *\n' + '%s_interface_info (void)\n' + '{\n' + ' return (GDBusInterfaceInfo *) &_%s_interface_info.parent_struct;\n' + '}\n' + '\n'%(i.name_lower, i.name_lower)) + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_override_properties:\n' + ' * @klass: The class structure for a #GObject-derived class.\n' + ' * @property_id_begin: The property id to assign to the first overridden property.\n' + ' *\n' + ' * Overrides all #GObject properties in the #%s interface for a concrete class.\n' + ' * The properties are overridden in the order they are defined.\n' + ' *\n' + ' * Returns: The last property id.\n' + %(i.name_lower, i.camel_name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('guint\n' + '%s_override_properties (GObjectClass *klass, guint property_id_begin)\n' + '{\n'%(i.name_lower)) + for p in i.properties: + self.c.write (' g_object_class_override_property (klass, property_id_begin++, "%s");\n'%(p.name_hyphen)) + self.c.write(' return property_id_begin - 1;\n' + '}\n' + '\n') + self.c.write('\n') + + # ---------------------------------------------------------------------------------------------------- + + def generate_interface(self, i): + self.c.write('\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s:\n' + ' *\n' + ' * Abstract interface type for the D-Bus interface #%s.\n' + %(i.camel_name, i.name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sIface:\n' + ' * @parent_iface: The parent interface.\n' + %(i.camel_name), False)) + + doc_bits = {} + if len(i.methods) > 0: + for m in i.methods: + key = (m.since, '_method_%s'%m.name_lower) + value = '@handle_%s: '%(m.name_lower) + value += 'Handler for the #%s::handle-%s signal.'%(i.camel_name, m.name_hyphen) + doc_bits[key] = value + if len(i.signals) > 0: + for s in i.signals: + key = (s.since, '_signal_%s'%s.name_lower) + value = '@%s: '%(s.name_lower) + value += 'Handler for the #%s::%s signal.'%(i.camel_name, s.name_hyphen) + doc_bits[key] = value + if len(i.properties) > 0: + for p in i.properties: + key = (p.since, '_prop_get_%s'%p.name_lower) + value = '@get_%s: '%(p.name_lower) + value += 'Getter for the #%s:%s property.'%(i.camel_name, p.name_hyphen) + doc_bits[key] = value + for key in sorted(doc_bits.keys(), key=utils.version_cmp_key): + self.c.write(' * %s\n'%doc_bits[key]) + + self.c.write(self.docbook_gen.expand( + ' *\n' + ' * Virtual table for the D-Bus interface #%s.\n' + %(i.name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('\n') + + self.c.write('typedef %sIface %sInterface;\n'%(i.camel_name, i.camel_name)) + self.c.write('G_DEFINE_INTERFACE (%s, %s, G_TYPE_OBJECT);\n'%(i.camel_name, i.name_lower)) + self.c.write('\n') + + self.c.write('static void\n' + '%s_default_init (%sIface *iface)\n' + '{\n'%(i.name_lower, i.camel_name)); + + if len(i.methods) > 0: + self.c.write(' /* GObject signals for incoming D-Bus method calls: */\n') + for m in i.methods: + unix_fd = False + if utils.lookup_annotation(m.annotations, 'org.gtk.GDBus.C.UnixFD'): + unix_fd = True + self.c.write(self.docbook_gen.expand( + ' /**\n' + ' * %s::handle-%s:\n' + ' * @object: A #%s.\n' + ' * @invocation: A #GDBusMethodInvocation.\n' + %(i.camel_name, m.name_hyphen, i.camel_name), False)) + if unix_fd: + self.c.write (' * @fd_list: (allow-none): A #GUnixFDList or %NULL.\n') + for a in m.in_args: + self.c.write (' * @arg_%s: Argument passed by remote caller.\n'%(a.name)) + self.c.write(self.docbook_gen.expand( + ' *\n' + ' * Signal emitted when a remote caller is invoking the %s.%s() D-Bus method.\n' + ' *\n' + ' * If a signal handler returns %%TRUE, it means the signal handler will handle the invocation (e.g. take a reference to @invocation and eventually call %s_complete_%s() or e.g. g_dbus_method_invocation_return_error() on it) and no order signal handlers will run. If no signal handler handles the invocation, the %%G_DBUS_ERROR_UNKNOWN_METHOD error is returned.\n' + ' *\n' + ' * Returns: %%TRUE if the invocation was handled, %%FALSE to let other signal handlers run.\n' + %(i.name, m.name, i.name_lower, m.name_lower), False)) + self.write_gtkdoc_deprecated_and_since_and_close(m, self.c, 2) + if unix_fd: + extra_args = 2 + else: + extra_args = 1 + self.c.write(' g_signal_new ("handle-%s",\n' + ' G_TYPE_FROM_INTERFACE (iface),\n' + ' G_SIGNAL_RUN_LAST,\n' + ' G_STRUCT_OFFSET (%sIface, handle_%s),\n' + ' g_signal_accumulator_true_handled,\n' + ' NULL,\n' # accu_data + ' g_cclosure_marshal_generic,\n' + ' G_TYPE_BOOLEAN,\n' + ' %d,\n' + ' G_TYPE_DBUS_METHOD_INVOCATION' + %(m.name_hyphen, i.camel_name, m.name_lower, len(m.in_args) + extra_args)) + if unix_fd: + self.c.write(', G_TYPE_UNIX_FD_LIST') + for a in m.in_args: + self.c.write (', %s'%(a.gtype)) + self.c.write(');\n') + self.c.write('\n') + + if len(i.signals) > 0: + self.c.write(' /* GObject signals for received D-Bus signals: */\n') + for s in i.signals: + self.c.write(self.docbook_gen.expand( + ' /**\n' + ' * %s::%s:\n' + ' * @object: A #%s.\n' + %(i.camel_name, s.name_hyphen, i.camel_name), False)) + for a in s.args: + self.c.write (' * @arg_%s: Argument.\n'%(a.name)) + self.c.write(self.docbook_gen.expand( + ' *\n' + ' * On the client-side, this signal is emitted whenever the D-Bus signal #%s::%s is received.\n' + ' *\n' + ' * On the service-side, this signal can be used with e.g. g_signal_emit_by_name() to make the object emit the D-Bus signal.\n' + %(i.name, s.name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(s, self.c, 2) + self.c.write(' g_signal_new ("%s",\n' + ' G_TYPE_FROM_INTERFACE (iface),\n' + ' G_SIGNAL_RUN_LAST,\n' + ' G_STRUCT_OFFSET (%sIface, %s),\n' + ' NULL,\n' # accumulator + ' NULL,\n' # accu_data + ' g_cclosure_marshal_generic,\n' + ' G_TYPE_NONE,\n' + ' %d' + %(s.name_hyphen, i.camel_name, s.name_lower, len(s.args))) + for a in s.args: + self.c.write (', %s'%(a.gtype)) + self.c.write(');\n') + self.c.write('\n') + + if len(i.properties) > 0: + self.c.write(' /* GObject properties for D-Bus properties: */\n') + for p in i.properties: + if p.readable and p.writable: + hint = 'Since the D-Bus property for this #GObject property is both readable and writable, it is meaningful to both read from it and write to it on both the service- and client-side.' + elif p.readable: + hint = 'Since the D-Bus property for this #GObject property is readable but not writable, it is meaningful to read from it on both the client- and service-side. It is only meaningful, however, to write to it on the service-side.' + elif p.writable: + hint = 'Since the D-Bus property for this #GObject property is writable but not readable, it is meaningful to write to it on both the client- and service-side. It is only meaningful, however, to read from it on the service-side.' + else: + raise RuntimeError('Cannot handle property %s that neither readable nor writable'%(p.name)) + self.c.write(self.docbook_gen.expand( + ' /**\n' + ' * %s:%s:\n' + ' *\n' + ' * Represents the D-Bus property #%s:%s.\n' + ' *\n' + ' * %s\n' + %(i.camel_name, p.name_hyphen, i.name, p.name, hint), False)) + self.write_gtkdoc_deprecated_and_since_and_close(p, self.c, 2) + self.c.write(' g_object_interface_install_property (iface,\n') + if p.arg.gtype == 'G_TYPE_VARIANT': + s = 'g_param_spec_variant ("%s", "%s", "%s", G_VARIANT_TYPE ("%s"), NULL'%(p.name_hyphen, p.name, p.name, p.arg.signature) + elif p.arg.signature == 'b': + s = 'g_param_spec_boolean ("%s", "%s", "%s", FALSE'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'y': + s = 'g_param_spec_uchar ("%s", "%s", "%s", 0, 255, 0'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'n': + s = 'g_param_spec_int ("%s", "%s", "%s", G_MININT16, G_MAXINT16, 0'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'q': + s = 'g_param_spec_uint ("%s", "%s", "%s", 0, G_MAXUINT16, 0'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'i': + s = 'g_param_spec_int ("%s", "%s", "%s", G_MININT32, G_MAXINT32, 0'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'u': + s = 'g_param_spec_uint ("%s", "%s", "%s", 0, G_MAXUINT32, 0'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'x': + s = 'g_param_spec_int64 ("%s", "%s", "%s", G_MININT64, G_MAXINT64, 0'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 't': + s = 'g_param_spec_uint64 ("%s", "%s", "%s", 0, G_MAXUINT64, 0'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'd': + s = 'g_param_spec_double ("%s", "%s", "%s", -G_MAXDOUBLE, G_MAXDOUBLE, 0.0'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 's': + s = 'g_param_spec_string ("%s", "%s", "%s", NULL'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'o': + s = 'g_param_spec_string ("%s", "%s", "%s", NULL'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'g': + s = 'g_param_spec_string ("%s", "%s", "%s", NULL'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'ay': + s = 'g_param_spec_string ("%s", "%s", "%s", NULL'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'as': + s = 'g_param_spec_boxed ("%s", "%s", "%s", G_TYPE_STRV'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'ao': + s = 'g_param_spec_boxed ("%s", "%s", "%s", G_TYPE_STRV'%(p.name_hyphen, p.name, p.name) + elif p.arg.signature == 'aay': + s = 'g_param_spec_boxed ("%s", "%s", "%s", G_TYPE_STRV'%(p.name_hyphen, p.name, p.name) + else: + raise RuntimeError('Unsupported gtype %s for GParamSpec'%(p.arg.gtype)) + self.c.write(' %s, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));'%s); + self.c.write('\n') + + self.c.write('}\n' + '\n') + + # ---------------------------------------------------------------------------------------------------- + + def generate_property_accessors(self, i): + for p in i.properties: + # getter + if p.readable and p.writable: + hint = 'Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.' + elif p.readable: + hint = 'Since this D-Bus property is readable, it is meaningful to use this function on both the client- and service-side.' + elif p.writable: + hint = 'Since this D-Bus property is not readable, it is only meaningful to use this function on the service-side.' + else: + raise RuntimeError('Cannot handle property %s that neither readable nor writable'%(p.name)) + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_get_%s: (skip)\n' + ' * @object: A #%s.\n' + ' *\n' + ' * Gets the value of the #%s:%s D-Bus property.\n' + ' *\n' + ' * %s\n' + ' *\n' + %(i.name_lower, p.name_lower, i.camel_name, i.name, p.name, hint), False)) + if p.arg.free_func != None: + self.c.write(' * The returned value is only valid until the property changes so on the client-side it is only safe to use this function on the thread where @object was constructed. Use %s_dup_%s() if on another thread.\n' + ' *\n' + ' * Returns: (transfer none): The property value or %%NULL if the property is not set. Do not free the returned value, it belongs to @object.\n' + %(i.name_lower, p.name_lower)) + else: + self.c.write(' * Returns: The property value.\n') + self.write_gtkdoc_deprecated_and_since_and_close(p, self.c, 0) + self.c.write('%s\n' + '%s_get_%s (%s *object)\n' + '{\n'%(p.arg.ctype_in, i.name_lower, p.name_lower, i.camel_name)) + self.c.write(' return %s%s_GET_IFACE (object)->get_%s (object);\n'%(i.ns_upper, i.name_upper, p.name_lower)) + self.c.write('}\n') + self.c.write('\n') + if p.arg.free_func != None: + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_dup_%s: (skip)\n' + ' * @object: A #%s.\n' + ' *\n' + ' * Gets a copy of the #%s:%s D-Bus property.\n' + ' *\n' + ' * %s\n' + ' *\n' + ' * Returns: (transfer full): The property value or %%NULL if the property is not set. The returned value should be freed with %s().\n' + %(i.name_lower, p.name_lower, i.camel_name, i.name, p.name, hint, p.arg.free_func), False)) + self.write_gtkdoc_deprecated_and_since_and_close(p, self.c, 0) + self.c.write('%s\n' + '%s_dup_%s (%s *object)\n' + '{\n' + ' %svalue;\n'%(p.arg.ctype_in_dup, i.name_lower, p.name_lower, i.camel_name, p.arg.ctype_in_dup)) + self.c.write(' g_object_get (G_OBJECT (object), "%s", &value, NULL);\n'%(p.name_hyphen)) + self.c.write(' return value;\n') + self.c.write('}\n') + self.c.write('\n') + + # setter + if p.readable and p.writable: + hint = 'Since this D-Bus property is both readable and writable, it is meaningful to use this function on both the client- and service-side.' + elif p.readable: + hint = 'Since this D-Bus property is not writable, it is only meaningful to use this function on the service-side.' + elif p.writable: + hint = 'Since this D-Bus property is writable, it is meaningful to use this function on both the client- and service-side.' + else: + raise RuntimeError('Cannot handle property %s that neither readable nor writable'%(p.name)) + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_set_%s: (skip)\n' + ' * @object: A #%s.\n' + ' * @value: The value to set.\n' + ' *\n' + ' * Sets the #%s:%s D-Bus property to @value.\n' + ' *\n' + ' * %s\n' + %(i.name_lower, p.name_lower, i.camel_name, i.name, p.name, hint), False)) + self.write_gtkdoc_deprecated_and_since_and_close(p, self.c, 0) + self.c.write('void\n' + '%s_set_%s (%s *object, %svalue)\n' + '{\n'%(i.name_lower, p.name_lower, i.camel_name, p.arg.ctype_in, )) + self.c.write(' g_object_set (G_OBJECT (object), "%s", value, NULL);\n'%(p.name_hyphen)) + self.c.write('}\n') + self.c.write('\n') + + # --------------------------------------------------------------------------------------------------- + + def generate_signal_emitters(self, i): + for s in i.signals: + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_emit_%s:\n' + ' * @object: A #%s.\n' + %(i.name_lower, s.name_lower, i.camel_name), False)) + for a in s.args: + self.c.write(' * @arg_%s: Argument to pass with the signal.\n'%(a.name)) + self.c.write(self.docbook_gen.expand( + ' *\n' + ' * Emits the #%s::%s D-Bus signal.\n' + %(i.name, s.name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(s, self.c, 0) + self.c.write('void\n' + '%s_emit_%s (\n' + ' %s *object'%(i.name_lower, s.name_lower, i.camel_name)) + for a in s.args: + self.c.write(',\n %sarg_%s'%(a.ctype_in, a.name)) + self.c.write(')\n' + '{\n' + ' g_signal_emit_by_name (object, "%s"'%(s.name_hyphen)) + for a in s.args: + self.c.write(', arg_%s'%a.name) + self.c.write(');\n') + self.c.write('}\n' + '\n') + + # --------------------------------------------------------------------------------------------------- + + def generate_method_calls(self, i): + for m in i.methods: + unix_fd = False + if utils.lookup_annotation(m.annotations, 'org.gtk.GDBus.C.UnixFD'): + unix_fd = True + # async begin + self.c.write('/**\n' + ' * %s_call_%s:\n' + ' * @proxy: A #%sProxy.\n' + %(i.name_lower, m.name_lower, i.camel_name)) + for a in m.in_args: + self.c.write(' * @arg_%s: Argument to pass with the method invocation.\n'%(a.name)) + if unix_fd: + self.c.write(' * @fd_list: (allow-none): A #GUnixFDList or %NULL.\n') + self.c.write(self.docbook_gen.expand( + ' * @cancellable: (allow-none): A #GCancellable or %%NULL.\n' + ' * @callback: A #GAsyncReadyCallback to call when the request is satisfied or %%NULL.\n' + ' * @user_data: User data to pass to @callback.\n' + ' *\n' + ' * Asynchronously invokes the %s.%s() D-Bus method on @proxy.\n' + ' * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.\n' + ' * You can then call %s_call_%s_finish() to get the result of the operation.\n' + ' *\n' + ' * See %s_call_%s_sync() for the synchronous, blocking version of this method.\n' + %(i.name, m.name, i.name_lower, m.name_lower, i.name_lower, m.name_lower), False)) + self.write_gtkdoc_deprecated_and_since_and_close(m, self.c, 0) + self.c.write('void\n' + '%s_call_%s (\n' + ' %s *proxy'%(i.name_lower, m.name_lower, i.camel_name)) + for a in m.in_args: + self.c.write(',\n %sarg_%s'%(a.ctype_in, a.name)) + if unix_fd: + self.c.write(',\n GUnixFDList *fd_list') + self.c.write(',\n' + ' GCancellable *cancellable,\n' + ' GAsyncReadyCallback callback,\n' + ' gpointer user_data)\n' + '{\n') + if unix_fd: + self.c.write(' g_dbus_proxy_call_with_unix_fd_list (G_DBUS_PROXY (proxy),\n') + else: + self.c.write(' g_dbus_proxy_call (G_DBUS_PROXY (proxy),\n') + self.c.write(' "%s",\n' + ' g_variant_new ("('%(m.name)) + for a in m.in_args: + self.c.write('%s'%(a.format_in)) + self.c.write(')"') + for a in m.in_args: + self.c.write(',\n arg_%s'%(a.name)) + self.c.write('),\n' + ' G_DBUS_CALL_FLAGS_NONE,\n' + ' -1,\n') + if unix_fd: + self.c.write(' fd_list,\n') + self.c.write(' cancellable,\n' + ' callback,\n' + ' user_data);\n') + self.c.write('}\n' + '\n') + # async finish + self.c.write('/**\n' + ' * %s_call_%s_finish:\n' + ' * @proxy: A #%sProxy.\n' + %(i.name_lower, m.name_lower, i.camel_name)) + for a in m.out_args: + self.c.write(' * @out_%s: (out): Return location for return parameter or %%NULL to ignore.\n'%(a.name)) + if unix_fd: + self.c.write(' * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL.\n') + self.c.write(self.docbook_gen.expand( + ' * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to %s_call_%s().\n' + ' * @error: Return location for error or %%NULL.\n' + ' *\n' + ' * Finishes an operation started with %s_call_%s().\n' + ' *\n' + ' * Returns: (skip): %%TRUE if the call succeded, %%FALSE if @error is set.\n' + %(i.name_lower, m.name_lower, i.name_lower, m.name_lower), False)) + self.write_gtkdoc_deprecated_and_since_and_close(m, self.c, 0) + self.c.write('gboolean\n' + '%s_call_%s_finish (\n' + ' %s *proxy'%(i.name_lower, m.name_lower, i.camel_name)) + for a in m.out_args: + self.c.write(',\n %sout_%s'%(a.ctype_out, a.name)) + if unix_fd: + self.c.write(',\n GUnixFDList **out_fd_list') + self.c.write(',\n' + ' GAsyncResult *res,\n' + ' GError **error)\n' + '{\n' + ' GVariant *_ret;\n') + if unix_fd: + self.c.write(' _ret = g_dbus_proxy_call_with_unix_fd_list_finish (G_DBUS_PROXY (proxy), out_fd_list, res, error);\n') + else: + self.c.write(' _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);\n') + self.c.write(' if (_ret == NULL)\n' + ' goto _out;\n') + self.c.write(' g_variant_get (_ret,\n' + ' \"(') + for a in m.out_args: + self.c.write('%s'%(a.format_out)) + self.c.write(')"') + for a in m.out_args: + self.c.write(',\n out_%s'%(a.name)) + self.c.write(');\n' + ' g_variant_unref (_ret);\n') + self.c.write('_out:\n' + ' return _ret != NULL;\n' + '}\n' + '\n') + + + # sync + self.c.write('/**\n' + ' * %s_call_%s_sync:\n' + ' * @proxy: A #%sProxy.\n' + %(i.name_lower, m.name_lower, i.camel_name)) + for a in m.in_args: + self.c.write(' * @arg_%s: Argument to pass with the method invocation.\n'%(a.name)) + if unix_fd: + self.c.write(' * @fd_list: (allow-none): A #GUnixFDList or %NULL.\n') + for a in m.out_args: + self.c.write(' * @out_%s: (out): Return location for return parameter or %%NULL to ignore.\n'%(a.name)) + if unix_fd: + self.c.write(' * @out_fd_list: (out): Return location for a #GUnixFDList or %NULL.\n') + self.c.write(self.docbook_gen.expand( + ' * @cancellable: (allow-none): A #GCancellable or %%NULL.\n' + ' * @error: Return location for error or %%NULL.\n' + ' *\n' + ' * Synchronously invokes the %s.%s() D-Bus method on @proxy. The calling thread is blocked until a reply is received.\n' + ' *\n' + ' * See %s_call_%s() for the asynchronous version of this method.\n' + ' *\n' + ' * Returns: (skip): %%TRUE if the call succeded, %%FALSE if @error is set.\n' + %(i.name, m.name, i.name_lower, m.name_lower), False)) + self.write_gtkdoc_deprecated_and_since_and_close(m, self.c, 0) + self.c.write('gboolean\n' + '%s_call_%s_sync (\n' + ' %s *proxy'%(i.name_lower, m.name_lower, i.camel_name)) + for a in m.in_args: + self.c.write(',\n %sarg_%s'%(a.ctype_in, a.name)) + if unix_fd: + self.c.write(',\n GUnixFDList *fd_list') + for a in m.out_args: + self.c.write(',\n %sout_%s'%(a.ctype_out, a.name)) + if unix_fd: + self.c.write(',\n GUnixFDList **out_fd_list') + self.c.write(',\n' + ' GCancellable *cancellable,\n' + ' GError **error)\n' + '{\n' + ' GVariant *_ret;\n') + if unix_fd: + self.c.write(' _ret = g_dbus_proxy_call_with_unix_fd_list_sync (G_DBUS_PROXY (proxy),\n') + else: + self.c.write(' _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),\n') + self.c.write(' "%s",\n' + ' g_variant_new ("('%(m.name)) + for a in m.in_args: + self.c.write('%s'%(a.format_in)) + self.c.write(')"') + for a in m.in_args: + self.c.write(',\n arg_%s'%(a.name)) + self.c.write('),\n' + ' G_DBUS_CALL_FLAGS_NONE,\n' + ' -1,\n') + if unix_fd: + self.c.write(' fd_list,\n' + ' out_fd_list,\n') + self.c.write(' cancellable,\n' + ' error);\n' + ' if (_ret == NULL)\n' + ' goto _out;\n') + self.c.write(' g_variant_get (_ret,\n' + ' \"(') + for a in m.out_args: + self.c.write('%s'%(a.format_out)) + self.c.write(')"') + for a in m.out_args: + self.c.write(',\n out_%s'%(a.name)) + self.c.write(');\n' + ' g_variant_unref (_ret);\n') + self.c.write('_out:\n' + ' return _ret != NULL;\n' + '}\n' + '\n') + + # --------------------------------------------------------------------------------------------------- + + def generate_method_completers(self, i): + for m in i.methods: + unix_fd = False + if utils.lookup_annotation(m.annotations, 'org.gtk.GDBus.C.UnixFD'): + unix_fd = True + self.c.write('/**\n' + ' * %s_complete_%s:\n' + ' * @object: A #%s.\n' + ' * @invocation: (transfer full): A #GDBusMethodInvocation.\n' + %(i.name_lower, m.name_lower, i.camel_name)) + if unix_fd: + self.c.write (' * @fd_list: (allow-none): A #GUnixFDList or %NULL.\n') + for a in m.out_args: + self.c.write(' * @%s: Parameter to return.\n'%(a.name)) + self.c.write(self.docbook_gen.expand( + ' *\n' + ' * Helper function used in service implementations to finish handling invocations of the %s.%s() D-Bus method. If you instead want to finish handling an invocation by returning an error, use g_dbus_method_invocation_return_error() or similar.\n' + ' *\n' + ' * This method will free @invocation, you cannot use it afterwards.\n' + %(i.name, m.name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(m, self.c, 0) + self.c.write('void\n' + '%s_complete_%s (\n' + ' %s *object,\n' + ' GDBusMethodInvocation *invocation'%(i.name_lower, m.name_lower, i.camel_name)) + if unix_fd: + self.c.write(',\n GUnixFDList *fd_list') + for a in m.out_args: + self.c.write(',\n %s%s'%(a.ctype_in, a.name)) + self.c.write(')\n' + '{\n') + + if unix_fd: + self.c.write(' g_dbus_method_invocation_return_value_with_unix_fd_list (invocation,\n' + ' g_variant_new ("(') + else: + self.c.write(' g_dbus_method_invocation_return_value (invocation,\n' + ' g_variant_new ("(') + for a in m.out_args: + self.c.write('%s'%(a.format_in)) + self.c.write(')"') + for a in m.out_args: + self.c.write(',\n %s'%(a.name)) + if unix_fd: + self.c.write('),\n fd_list);\n') + else: + self.c.write('));\n') + self.c.write('}\n' + '\n') + + # --------------------------------------------------------------------------------------------------- + + def generate_proxy(self, i): + # class boilerplate + self.c.write('/* ------------------------------------------------------------------------ */\n' + '\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sProxy:\n' + ' *\n' + ' * The #%sProxy structure contains only private data and should only be accessed using the provided API.\n' + %(i.camel_name, i.camel_name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sProxyClass:\n' + ' * @parent_class: The parent class.\n' + ' *\n' + ' * Class structure for #%sProxy.\n' + %(i.camel_name, i.camel_name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('\n') + + self.c.write('struct _%sProxyPrivate\n' + '{\n' + ' GData *qdata;\n' + '};\n' + '\n'%i.camel_name) + + self.c.write('static void %s_proxy_iface_init (%sIface *iface);\n' + '\n'%(i.name_lower, i.camel_name)) + self.c.write('#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38\n') + self.c.write('G_DEFINE_TYPE_WITH_CODE (%sProxy, %s_proxy, G_TYPE_DBUS_PROXY,\n'%(i.camel_name, i.name_lower)) + self.c.write(' G_ADD_PRIVATE (%sProxy)\n'%(i.camel_name)) + self.c.write(' G_IMPLEMENT_INTERFACE (%sTYPE_%s, %s_proxy_iface_init));\n\n'%(i.ns_upper, i.name_upper, i.name_lower)) + self.c.write('#else\n') + self.c.write('G_DEFINE_TYPE_WITH_CODE (%sProxy, %s_proxy, G_TYPE_DBUS_PROXY,\n'%(i.camel_name, i.name_lower)) + self.c.write(' G_IMPLEMENT_INTERFACE (%sTYPE_%s, %s_proxy_iface_init));\n\n'%(i.ns_upper, i.name_upper, i.name_lower)) + self.c.write('#endif\n') + + # finalize + self.c.write('static void\n' + '%s_proxy_finalize (GObject *object)\n' + '{\n'%(i.name_lower)) + self.c.write(' %sProxy *proxy = %s%s_PROXY (object);\n'%(i.camel_name, i.ns_upper, i.name_upper)) + self.c.write(' g_datalist_clear (&proxy->priv->qdata);\n') + self.c.write(' G_OBJECT_CLASS (%s_proxy_parent_class)->finalize (object);\n' + '}\n' + '\n'%(i.name_lower)) + + # property accessors + # + # Note that we are guaranteed that prop_id starts at 1 and is + # laid out in the same order as introspection data pointers + # + self.c.write('static void\n' + '%s_proxy_get_property (GObject *object,\n' + ' guint prop_id,\n' + ' GValue *value,\n' + ' GParamSpec *pspec G_GNUC_UNUSED)\n' + '{\n'%(i.name_lower)) + if len(i.properties) > 0: + self.c.write(' const _ExtendedGDBusPropertyInfo *info;\n' + ' GVariant *variant;\n' + ' g_assert (prop_id != 0 && prop_id - 1 < %d);\n' + ' info = _%s_property_info_pointers[prop_id - 1];\n' + ' variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name);\n' + ' if (info->use_gvariant)\n' + ' {\n' + ' g_value_set_variant (value, variant);\n' + ' }\n' + ' else\n' + ' {\n' + # could be that we don't have the value in cache - in that case, we do + # nothing and the user gets the default value for the GType + ' if (variant != NULL)\n' + ' g_dbus_gvariant_to_gvalue (variant, value);\n' + ' }\n' + ' if (variant != NULL)\n' + ' g_variant_unref (variant);\n' + %(len(i.properties), i.name_lower)) + self.c.write('}\n' + '\n') + if len(i.properties) > 0: + self.c.write('static void\n' + '%s_proxy_set_property_cb (GDBusProxy *proxy,\n' + ' GAsyncResult *res,\n' + ' gpointer user_data)\n' + '{\n'%(i.name_lower)) + self.c.write(' const _ExtendedGDBusPropertyInfo *info = user_data;\n' + ' GError *error;\n' + ' GVariant *_ret;\n' + ' error = NULL;\n' + ' _ret = g_dbus_proxy_call_finish (proxy, res, &error);\n' + ' if (!_ret)\n' + ' {\n' + ' g_warning ("Error setting property \'%%s\' on interface %s: %%s (%%s, %%d)",\n' + ' info->parent_struct.name, \n' + ' error->message, g_quark_to_string (error->domain), error->code);\n' + ' g_error_free (error);\n' + ' }\n' + ' else\n' + ' {\n' + ' g_variant_unref (_ret);\n' + ' }\n' + %(i.name)) + self.c.write('}\n' + '\n') + self.c.write('static void\n' + '%s_proxy_set_property (GObject *object,\n' + ' guint prop_id,\n' + ' const GValue *value,\n' + ' GParamSpec *pspec G_GNUC_UNUSED)\n' + '{\n'%(i.name_lower)) + if len(i.properties) > 0: + self.c.write(' const _ExtendedGDBusPropertyInfo *info;\n' + ' GVariant *variant;\n' + ' g_assert (prop_id != 0 && prop_id - 1 < %d);\n' + ' info = _%s_property_info_pointers[prop_id - 1];\n' + ' variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature));\n' + ' g_dbus_proxy_call (G_DBUS_PROXY (object),\n' + ' "org.freedesktop.DBus.Properties.Set",\n' + ' g_variant_new ("(ssv)", "%s", info->parent_struct.name, variant),\n' + ' G_DBUS_CALL_FLAGS_NONE,\n' + ' -1,\n' + ' NULL, (GAsyncReadyCallback) %s_proxy_set_property_cb, (GDBusPropertyInfo *) &info->parent_struct);\n' + ' g_variant_unref (variant);\n' + %(len(i.properties), i.name_lower, i.name, i.name_lower)) + self.c.write('}\n' + '\n') + + # signal received + self.c.write('static void\n' + '%s_proxy_g_signal (GDBusProxy *proxy,\n' + ' const gchar *sender_name G_GNUC_UNUSED,\n' + ' const gchar *signal_name,\n' + ' GVariant *parameters)\n' + '{\n'%(i.name_lower)) + self.c.write(' _ExtendedGDBusSignalInfo *info;\n' + ' GVariantIter iter;\n' + ' GVariant *child;\n' + ' GValue *paramv;\n' + ' guint num_params;\n' + ' guint n;\n' + ' guint signal_id;\n'); + # Note: info could be NULL if we are talking to a newer version of the interface + self.c.write(' info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_%s_interface_info.parent_struct, signal_name);\n' + ' if (info == NULL)\n' + ' return;\n' + %(i.name_lower)) + self.c.write (' num_params = g_variant_n_children (parameters);\n' + ' paramv = g_new0 (GValue, num_params + 1);\n' + ' g_value_init (¶mv[0], %sTYPE_%s);\n' + ' g_value_set_object (¶mv[0], proxy);\n' + %(i.ns_upper, i.name_upper)) + self.c.write(' g_variant_iter_init (&iter, parameters);\n' + ' n = 1;\n' + ' while ((child = g_variant_iter_next_value (&iter)) != NULL)\n' + ' {\n' + ' _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];\n' + ' if (arg_info->use_gvariant)\n' + ' {\n' + ' g_value_init (¶mv[n], G_TYPE_VARIANT);\n' + ' g_value_set_variant (¶mv[n], child);\n' + ' n++;\n' + ' }\n' + ' else\n' + ' g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);\n' + ' g_variant_unref (child);\n' + ' }\n' + ) + self.c.write(' signal_id = g_signal_lookup (info->signal_name, %sTYPE_%s);\n' + %(i.ns_upper, i.name_upper)) + self.c.write(' g_signal_emitv (paramv, signal_id, 0, NULL);\n') + self.c.write(' for (n = 0; n < num_params + 1; n++)\n' + ' g_value_unset (¶mv[n]);\n' + ' g_free (paramv);\n') + self.c.write('}\n' + '\n') + + # property changed + self.c.write('static void\n' + '%s_proxy_g_properties_changed (GDBusProxy *_proxy,\n' + ' GVariant *changed_properties,\n' + ' const gchar *const *invalidated_properties)\n' + '{\n'%(i.name_lower)) + # Note: info could be NULL if we are talking to a newer version of the interface + self.c.write(' %sProxy *proxy = %s%s_PROXY (_proxy);\n' + ' guint n;\n' + ' const gchar *key;\n' + ' GVariantIter *iter;\n' + ' _ExtendedGDBusPropertyInfo *info;\n' + ' g_variant_get (changed_properties, "a{sv}", &iter);\n' + ' while (g_variant_iter_next (iter, "{&sv}", &key, NULL))\n' + ' {\n' + ' info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_%s_interface_info.parent_struct, key);\n' + ' g_datalist_remove_data (&proxy->priv->qdata, key);\n' + ' if (info != NULL)\n' + ' g_object_notify (G_OBJECT (proxy), info->hyphen_name);\n' + ' }\n' + ' g_variant_iter_free (iter);\n' + ' for (n = 0; invalidated_properties[n] != NULL; n++)\n' + ' {\n' + ' info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_%s_interface_info.parent_struct, invalidated_properties[n]);\n' + ' g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);\n' + ' if (info != NULL)\n' + ' g_object_notify (G_OBJECT (proxy), info->hyphen_name);\n' + ' }\n' + '}\n' + '\n' + %(i.camel_name, i.ns_upper, i.name_upper, + i.name_lower, i.name_lower)) + + # property vfuncs + for p in i.properties: + nul_value = '0' + if p.arg.free_func != None: + nul_value = 'NULL' + self.c.write('static %s\n' + '%s_proxy_get_%s (%s *object)\n' + '{\n' + ' %sProxy *proxy = %s%s_PROXY (object);\n' + ' GVariant *variant;\n' + ' %svalue = %s;\n'%(p.arg.ctype_in, i.name_lower, p.name_lower, i.camel_name, + i.camel_name, i.ns_upper, i.name_upper, + p.arg.ctype_in, nul_value)) + # For some property types, we have to free the returned + # value (or part of it, e.g. the container) because of how + # GVariant works.. see https://bugzilla.gnome.org/show_bug.cgi?id=657100 + # for details + # + free_container = False; + if p.arg.gvariant_get == 'g_variant_get_strv' or p.arg.gvariant_get == 'g_variant_get_objpathv' or p.arg.gvariant_get == 'g_variant_get_bytestring_array': + free_container = True; + # If already using an old value for strv, objpathv, bytestring_array (see below), + # then just return that... that way the result from multiple consecutive calls + # to the getter are valid as long as they're freed + # + if free_container: + self.c.write(' value = g_datalist_get_data (&proxy->priv->qdata, \"%s\");\n' + ' if (value != NULL)\n' + ' return value;\n' + %(p.name)) + self.c.write(' variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), \"%s\");\n'%(p.name)) + if p.arg.gtype == 'G_TYPE_VARIANT': + self.c.write(' value = variant;\n') + self.c.write(' if (variant != NULL)\n') + self.c.write(' g_variant_unref (variant);\n') + else: + self.c.write(' if (variant != NULL)\n' + ' {\n') + extra_len = '' + if p.arg.gvariant_get == 'g_variant_get_string' or p.arg.gvariant_get == 'g_variant_get_strv' or p.arg.gvariant_get == 'g_variant_get_objv' or p.arg.gvariant_get == 'g_variant_get_bytestring_array': + extra_len = ', NULL' + self.c.write(' value = %s (variant%s);\n'%(p.arg.gvariant_get, extra_len)) + if free_container: + self.c.write(' g_datalist_set_data_full (&proxy->priv->qdata, \"%s\", (gpointer) value, g_free);\n' + %(p.name)) + self.c.write(' g_variant_unref (variant);\n') + self.c.write(' }\n') + self.c.write(' return value;\n') + self.c.write('}\n') + self.c.write('\n') + + # class boilerplate + self.c.write('static void\n' + '%s_proxy_init (%sProxy *proxy)\n' + '{\n' + '#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38\n' + ' proxy->priv = %s_proxy_get_instance_private (proxy);\n' + '#else\n' + ' proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, %sTYPE_%s_PROXY, %sProxyPrivate);\n' + '#endif\n\n' + ' g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), %s_interface_info ());\n' + '}\n' + '\n' + %(i.name_lower, i.camel_name, + i.name_lower, + i.ns_upper, i.name_upper, i.camel_name, + i.name_lower)) + self.c.write('static void\n' + '%s_proxy_class_init (%sProxyClass *klass)\n' + '{\n' + ' GObjectClass *gobject_class;\n' + ' GDBusProxyClass *proxy_class;\n' + '\n' + ' gobject_class = G_OBJECT_CLASS (klass);\n' + ' gobject_class->finalize = %s_proxy_finalize;\n' + ' gobject_class->get_property = %s_proxy_get_property;\n' + ' gobject_class->set_property = %s_proxy_set_property;\n' + '\n' + ' proxy_class = G_DBUS_PROXY_CLASS (klass);\n' + ' proxy_class->g_signal = %s_proxy_g_signal;\n' + ' proxy_class->g_properties_changed = %s_proxy_g_properties_changed;\n' + '\n'%(i.name_lower, i.camel_name, + i.name_lower, i.name_lower, i.name_lower, i.name_lower, i.name_lower)) + if len(i.properties) > 0: + self.c.write(' %s_override_properties (gobject_class, 1);\n\n'%(i.name_lower)) + self.c.write('#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38\n' + ' g_type_class_add_private (klass, sizeof (%sProxyPrivate));\n' + '#endif\n'%(i.camel_name)) + self.c.write('}\n' + '\n') + + self.c.write('static void\n' + '%s_proxy_iface_init (%sIface *iface)\n' + '{\n'%(i.name_lower, i.camel_name)) + for p in i.properties: + self.c.write(' iface->get_%s = %s_proxy_get_%s;\n'%(p.name_lower, i.name_lower, p.name_lower)) + self.c.write('}\n' + '\n') + + # constructors + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_proxy_new:\n' + ' * @connection: A #GDBusConnection.\n' + ' * @flags: Flags from the #GDBusProxyFlags enumeration.\n' + ' * @name: (allow-none): A bus name (well-known or unique) or %%NULL if @connection is not a message bus connection.\n' + ' * @object_path: An object path.\n' + ' * @cancellable: (allow-none): A #GCancellable or %%NULL.\n' + ' * @callback: A #GAsyncReadyCallback to call when the request is satisfied.\n' + ' * @user_data: User data to pass to @callback.\n' + ' *\n' + ' * Asynchronously creates a proxy for the D-Bus interface #%s. See g_dbus_proxy_new() for more details.\n' + ' *\n' + ' * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.\n' + ' * You can then call %s_proxy_new_finish() to get the result of the operation.\n' + ' *\n' + ' * See %s_proxy_new_sync() for the synchronous, blocking version of this constructor.\n' + %(i.name_lower, i.name, i.name_lower, i.name_lower), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('void\n' + '%s_proxy_new (\n' + ' GDBusConnection *connection,\n' + ' GDBusProxyFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GAsyncReadyCallback callback,\n' + ' gpointer user_data)\n' + '{\n' + ' g_async_initable_new_async (%sTYPE_%s_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "%s", NULL);\n' + '}\n' + '\n' + %(i.name_lower, i.ns_upper, i.name_upper, i.name)) + self.c.write('/**\n' + ' * %s_proxy_new_finish:\n' + ' * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to %s_proxy_new().\n' + ' * @error: Return location for error or %%NULL\n' + ' *\n' + ' * Finishes an operation started with %s_proxy_new().\n' + ' *\n' + ' * Returns: (transfer full) (type %sProxy): The constructed proxy object or %%NULL if @error is set.\n' + %(i.name_lower, i.name_lower, i.name_lower, i.camel_name)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('%s *\n' + '%s_proxy_new_finish (\n' + ' GAsyncResult *res,\n' + ' GError **error)\n' + '{\n' + ' GObject *ret;\n' + ' GObject *source_object;\n' + ' source_object = g_async_result_get_source_object (res);\n' + ' ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);\n' + ' g_object_unref (source_object);\n' + ' if (ret != NULL)\n' + ' return %s%s (ret);\n' + ' else\n' + ' return NULL;\n' + '}\n' + '\n' + %(i.camel_name, i.name_lower, i.ns_upper, i.name_upper)) + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_proxy_new_sync:\n' + ' * @connection: A #GDBusConnection.\n' + ' * @flags: Flags from the #GDBusProxyFlags enumeration.\n' + ' * @name: (allow-none): A bus name (well-known or unique) or %%NULL if @connection is not a message bus connection.\n' + ' * @object_path: An object path.\n' + ' * @cancellable: (allow-none): A #GCancellable or %%NULL.\n' + ' * @error: Return location for error or %%NULL\n' + ' *\n' + ' * Synchronously creates a proxy for the D-Bus interface #%s. See g_dbus_proxy_new_sync() for more details.\n' + ' *\n' + ' * The calling thread is blocked until a reply is received.\n' + ' *\n' + ' * See %s_proxy_new() for the asynchronous version of this constructor.\n' + ' *\n' + ' * Returns: (transfer full) (type %sProxy): The constructed proxy object or %%NULL if @error is set.\n' + %(i.name_lower, i.name, i.name_lower, i.camel_name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('%s *\n' + '%s_proxy_new_sync (\n' + ' GDBusConnection *connection,\n' + ' GDBusProxyFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GError **error)\n' + '{\n' + ' GInitable *ret;\n' + ' ret = g_initable_new (%sTYPE_%s_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "%s", NULL);\n' + ' if (ret != NULL)\n' + ' return %s%s (ret);\n' + ' else\n' + ' return NULL;\n' + '}\n' + '\n' + %(i.camel_name, i.name_lower, i.ns_upper, i.name_upper, i.name, i.ns_upper, i.name_upper)) + self.c.write('\n') + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_proxy_new_for_bus:\n' + ' * @bus_type: A #GBusType.\n' + ' * @flags: Flags from the #GDBusProxyFlags enumeration.\n' + ' * @name: A bus name (well-known or unique).\n' + ' * @object_path: An object path.\n' + ' * @cancellable: (allow-none): A #GCancellable or %%NULL.\n' + ' * @callback: A #GAsyncReadyCallback to call when the request is satisfied.\n' + ' * @user_data: User data to pass to @callback.\n' + ' *\n' + ' * Like %s_proxy_new() but takes a #GBusType instead of a #GDBusConnection.\n' + ' *\n' + ' * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.\n' + ' * You can then call %s_proxy_new_for_bus_finish() to get the result of the operation.\n' + ' *\n' + ' * See %s_proxy_new_for_bus_sync() for the synchronous, blocking version of this constructor.\n' + %(i.name_lower, i.name_lower, i.name_lower, i.name_lower), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('void\n' + '%s_proxy_new_for_bus (\n' + ' GBusType bus_type,\n' + ' GDBusProxyFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GAsyncReadyCallback callback,\n' + ' gpointer user_data)\n' + '{\n' + ' g_async_initable_new_async (%sTYPE_%s_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "%s", NULL);\n' + '}\n' + '\n' + %(i.name_lower, i.ns_upper, i.name_upper, i.name)) + self.c.write('/**\n' + ' * %s_proxy_new_for_bus_finish:\n' + ' * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to %s_proxy_new_for_bus().\n' + ' * @error: Return location for error or %%NULL\n' + ' *\n' + ' * Finishes an operation started with %s_proxy_new_for_bus().\n' + ' *\n' + ' * Returns: (transfer full) (type %sProxy): The constructed proxy object or %%NULL if @error is set.\n' + %(i.name_lower, i.name_lower, i.name_lower, i.camel_name)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('%s *\n' + '%s_proxy_new_for_bus_finish (\n' + ' GAsyncResult *res,\n' + ' GError **error)\n' + '{\n' + ' GObject *ret;\n' + ' GObject *source_object;\n' + ' source_object = g_async_result_get_source_object (res);\n' + ' ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);\n' + ' g_object_unref (source_object);\n' + ' if (ret != NULL)\n' + ' return %s%s (ret);\n' + ' else\n' + ' return NULL;\n' + '}\n' + '\n' + %(i.camel_name, i.name_lower, i.ns_upper, i.name_upper)) + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_proxy_new_for_bus_sync:\n' + ' * @bus_type: A #GBusType.\n' + ' * @flags: Flags from the #GDBusProxyFlags enumeration.\n' + ' * @name: A bus name (well-known or unique).\n' + ' * @object_path: An object path.\n' + ' * @cancellable: (allow-none): A #GCancellable or %%NULL.\n' + ' * @error: Return location for error or %%NULL\n' + ' *\n' + ' * Like %s_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection.\n' + ' *\n' + ' * The calling thread is blocked until a reply is received.\n' + ' *\n' + ' * See %s_proxy_new_for_bus() for the asynchronous version of this constructor.\n' + ' *\n' + ' * Returns: (transfer full) (type %sProxy): The constructed proxy object or %%NULL if @error is set.\n' + %(i.name_lower, i.name_lower, i.name_lower, i.camel_name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('%s *\n' + '%s_proxy_new_for_bus_sync (\n' + ' GBusType bus_type,\n' + ' GDBusProxyFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GError **error)\n' + '{\n' + ' GInitable *ret;\n' + ' ret = g_initable_new (%sTYPE_%s_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "%s", NULL);\n' + ' if (ret != NULL)\n' + ' return %s%s (ret);\n' + ' else\n' + ' return NULL;\n' + '}\n' + '\n' + %(i.camel_name, i.name_lower, i.ns_upper, i.name_upper, i.name, i.ns_upper, i.name_upper)) + self.c.write('\n') + + # --------------------------------------------------------------------------------------------------- + + def generate_skeleton(self, i): + # class boilerplate + self.c.write('/* ------------------------------------------------------------------------ */\n' + '\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sSkeleton:\n' + ' *\n' + ' * The #%sSkeleton structure contains only private data and should only be accessed using the provided API.\n' + %(i.camel_name, i.camel_name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sSkeletonClass:\n' + ' * @parent_class: The parent class.\n' + ' *\n' + ' * Class structure for #%sSkeleton.\n' + %(i.camel_name, i.camel_name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('\n') + + self.c.write('struct _%sSkeletonPrivate\n' + '{\n' + ' GValue *properties;\n' + ' GList *changed_properties;\n' + ' GSource *changed_properties_idle_source;\n' + ' GMainContext *context;\n' + ' GMutex lock;\n' + '};\n' + '\n'%i.camel_name) + + self.c.write('static void\n' + '_%s_skeleton_handle_method_call (\n' + ' GDBusConnection *connection G_GNUC_UNUSED,\n' + ' const gchar *sender G_GNUC_UNUSED,\n' + ' const gchar *object_path G_GNUC_UNUSED,\n' + ' const gchar *interface_name,\n' + ' const gchar *method_name,\n' + ' GVariant *parameters,\n' + ' GDBusMethodInvocation *invocation,\n' + ' gpointer user_data)\n' + '{\n' + ' %sSkeleton *skeleton = %s%s_SKELETON (user_data);\n' + ' _ExtendedGDBusMethodInfo *info;\n' + ' GVariantIter iter;\n' + ' GVariant *child;\n' + ' GValue *paramv;\n' + ' guint num_params;\n' + ' guint num_extra;\n' + ' guint n;\n' + ' guint signal_id;\n' + ' GValue return_value = G_VALUE_INIT;\n' + %(i.name_lower, i.camel_name, i.ns_upper, i.name_upper)) + self.c.write(' info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);\n' + ' g_assert (info != NULL);\n' + %()) + self.c.write (' num_params = g_variant_n_children (parameters);\n' + ' num_extra = info->pass_fdlist ? 3 : 2;' + ' paramv = g_new0 (GValue, num_params + num_extra);\n' + ' n = 0;\n' + ' g_value_init (¶mv[n], %sTYPE_%s);\n' + ' g_value_set_object (¶mv[n++], skeleton);\n' + ' g_value_init (¶mv[n], G_TYPE_DBUS_METHOD_INVOCATION);\n' + ' g_value_set_object (¶mv[n++], invocation);\n' + ' if (info->pass_fdlist)\n' + ' {\n' + '#ifdef G_OS_UNIX\n' + ' g_value_init (¶mv[n], G_TYPE_UNIX_FD_LIST);\n' + ' g_value_set_object (¶mv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));\n' + '#else\n' + ' g_assert_not_reached ();\n' + '#endif\n' + ' }\n' + %(i.ns_upper, i.name_upper)) + self.c.write(' g_variant_iter_init (&iter, parameters);\n' + ' while ((child = g_variant_iter_next_value (&iter)) != NULL)\n' + ' {\n' + ' _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];\n' + ' if (arg_info->use_gvariant)\n' + ' {\n' + ' g_value_init (¶mv[n], G_TYPE_VARIANT);\n' + ' g_value_set_variant (¶mv[n], child);\n' + ' n++;\n' + ' }\n' + ' else\n' + ' g_dbus_gvariant_to_gvalue (child, ¶mv[n++]);\n' + ' g_variant_unref (child);\n' + ' }\n' + ) + self.c.write(' signal_id = g_signal_lookup (info->signal_name, %sTYPE_%s);\n' + %(i.ns_upper, i.name_upper)) + self.c.write(' g_value_init (&return_value, G_TYPE_BOOLEAN);\n' + ' g_signal_emitv (paramv, signal_id, 0, &return_value);\n' + ' if (!g_value_get_boolean (&return_value))\n' + ' g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name);\n' + ' g_value_unset (&return_value);\n' + ) + self.c.write(' for (n = 0; n < num_params + num_extra; n++)\n' + ' g_value_unset (¶mv[n]);\n' + ' g_free (paramv);\n') + self.c.write('}\n' + '\n') + + self.c.write('static GVariant *\n' + '_%s_skeleton_handle_get_property (\n' + ' GDBusConnection *connection G_GNUC_UNUSED,\n' + ' const gchar *sender G_GNUC_UNUSED,\n' + ' const gchar *object_path G_GNUC_UNUSED,\n' + ' const gchar *interface_name G_GNUC_UNUSED,\n' + ' const gchar *property_name,\n' + ' GError **error,\n' + ' gpointer user_data)\n' + '{\n' + ' %sSkeleton *skeleton = %s%s_SKELETON (user_data);\n' + ' GValue value = G_VALUE_INIT;\n' + ' GParamSpec *pspec;\n' + ' _ExtendedGDBusPropertyInfo *info;\n' + ' GVariant *ret;\n' + %(i.name_lower, i.camel_name, i.ns_upper, i.name_upper)) + self.c.write(' ret = NULL;\n' + ' info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_%s_interface_info.parent_struct, property_name);\n' + ' g_assert (info != NULL);\n' + ' pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);\n' + ' if (pspec == NULL)\n' + ' {\n' + ' g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %%s", property_name);\n' + ' }\n' + ' else\n' + ' {\n' + ' g_value_init (&value, pspec->value_type);\n' + ' g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);\n' + ' ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));\n' + ' g_value_unset (&value);\n' + ' }\n' + ' return ret;\n' + '}\n' + '\n' + %(i.name_lower)) + + self.c.write('static gboolean\n' + '_%s_skeleton_handle_set_property (\n' + ' GDBusConnection *connection G_GNUC_UNUSED,\n' + ' const gchar *sender G_GNUC_UNUSED,\n' + ' const gchar *object_path G_GNUC_UNUSED,\n' + ' const gchar *interface_name G_GNUC_UNUSED,\n' + ' const gchar *property_name,\n' + ' GVariant *variant,\n' + ' GError **error,\n' + ' gpointer user_data)\n' + '{\n' + ' %sSkeleton *skeleton = %s%s_SKELETON (user_data);\n' + ' GValue value = G_VALUE_INIT;\n' + ' GParamSpec *pspec;\n' + ' _ExtendedGDBusPropertyInfo *info;\n' + ' gboolean ret;\n' + %(i.name_lower, i.camel_name, i.ns_upper, i.name_upper)) + self.c.write(' ret = FALSE;\n' + ' info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_%s_interface_info.parent_struct, property_name);\n' + ' g_assert (info != NULL);\n' + ' pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);\n' + ' if (pspec == NULL)\n' + ' {\n' + ' g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %%s", property_name);\n' + ' }\n' + ' else\n' + ' {\n' + ' if (info->use_gvariant)\n' + ' g_value_set_variant (&value, variant);\n' + ' else\n' + ' g_dbus_gvariant_to_gvalue (variant, &value);\n' + ' g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);\n' + ' g_value_unset (&value);\n' + ' ret = TRUE;\n' + ' }\n' + ' return ret;\n' + '}\n' + '\n' + %(i.name_lower)) + + + self.c.write('static const GDBusInterfaceVTable _%s_skeleton_vtable =\n' + '{\n' + ' _%s_skeleton_handle_method_call,\n' + ' _%s_skeleton_handle_get_property,\n' + ' _%s_skeleton_handle_set_property,\n' + ' {NULL}\n' + '};\n' + '\n'%(i.name_lower, i.name_lower, i.name_lower, i.name_lower)) + + self.c.write('static GDBusInterfaceInfo *\n' + '%s_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)\n' + '{\n' + ' return %s_interface_info ();\n' + %(i.name_lower, i.name_lower)) + self.c.write('}\n' + '\n') + + self.c.write('static GDBusInterfaceVTable *\n' + '%s_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton G_GNUC_UNUSED)\n' + '{\n' + ' return (GDBusInterfaceVTable *) &_%s_skeleton_vtable;\n' + %(i.name_lower, i.name_lower)) + self.c.write('}\n' + '\n') + + self.c.write('static GVariant *\n' + '%s_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)\n' + '{\n' + ' %sSkeleton *skeleton = %s%s_SKELETON (_skeleton);\n' + %(i.name_lower, i.camel_name, i.ns_upper, i.name_upper)) + self.c.write('\n' + ' GVariantBuilder builder;\n' + ' guint n;\n' + ' g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));\n' + ' if (_%s_interface_info.parent_struct.properties == NULL)\n' + ' goto out;\n' + ' for (n = 0; _%s_interface_info.parent_struct.properties[n] != NULL; n++)\n' + ' {\n' + ' GDBusPropertyInfo *info = _%s_interface_info.parent_struct.properties[n];\n' + ' if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)\n' + ' {\n' + ' GVariant *value;\n' + ' value = _%s_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "%s", info->name, NULL, skeleton);\n' + ' if (value != NULL)\n' + ' {\n' + ' g_variant_take_ref (value);\n' + ' g_variant_builder_add (&builder, "{sv}", info->name, value);\n' + ' g_variant_unref (value);\n' + ' }\n' + ' }\n' + ' }\n' + 'out:\n' + ' return g_variant_builder_end (&builder);\n' + '}\n' + '\n' + %(i.name_lower, i.name_lower, i.name_lower, i.name_lower, i.name)) + + if len(i.properties) > 0: + self.c.write('static gboolean _%s_emit_changed (gpointer user_data);\n' + '\n' + %(i.name_lower)) + + self.c.write('static void\n' + '%s_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)\n' + '{\n' + %(i.name_lower)) + if len(i.properties) > 0: + self.c.write(' %sSkeleton *skeleton = %s%s_SKELETON (_skeleton);\n' + ' gboolean emit_changed = FALSE;\n' + '\n' + ' g_mutex_lock (&skeleton->priv->lock);\n' + ' if (skeleton->priv->changed_properties_idle_source != NULL)\n' + ' {\n' + ' g_source_destroy (skeleton->priv->changed_properties_idle_source);\n' + ' skeleton->priv->changed_properties_idle_source = NULL;\n' + ' emit_changed = TRUE;\n' + ' }\n' + ' g_mutex_unlock (&skeleton->priv->lock);\n' + '\n' + ' if (emit_changed)\n' + ' _%s_emit_changed (skeleton);\n' + %(i.camel_name, i.ns_upper, i.name_upper, i.name_lower)) + self.c.write('}\n' + '\n') + + for s in i.signals: + self.c.write('static void\n' + '_%s_on_signal_%s (\n' + ' %s *object'%(i.name_lower, s.name_lower, i.camel_name)) + for a in s.args: + self.c.write(',\n %sarg_%s'%(a.ctype_in, a.name)) + self.c.write(')\n' + '{\n' + ' %sSkeleton *skeleton = %s%s_SKELETON (object);\n\n' + ' GList *connections, *l;\n' + ' GVariant *signal_variant;\n' + ' connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));\n' + %(i.camel_name, i.ns_upper, i.name_upper)) + self.c.write('\n' + ' signal_variant = g_variant_ref_sink (g_variant_new ("(') + for a in s.args: + self.c.write('%s'%(a.format_in)) + self.c.write(')"') + for a in s.args: + self.c.write(',\n arg_%s'%(a.name)) + self.c.write('));\n') + + self.c.write(' for (l = connections; l != NULL; l = l->next)\n' + ' {\n' + ' GDBusConnection *connection = l->data;\n' + ' g_dbus_connection_emit_signal (connection,\n' + ' NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "%s", "%s",\n' + ' signal_variant, NULL);\n' + ' }\n' + %(i.name, s.name)) + self.c.write(' g_variant_unref (signal_variant);\n') + self.c.write(' g_list_free_full (connections, g_object_unref);\n') + self.c.write('}\n' + '\n') + + self.c.write('static void %s_skeleton_iface_init (%sIface *iface);\n' + %(i.name_lower, i.camel_name)) + + self.c.write('#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38\n') + self.c.write('G_DEFINE_TYPE_WITH_CODE (%sSkeleton, %s_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,\n'%(i.camel_name, i.name_lower)) + self.c.write(' G_ADD_PRIVATE (%sSkeleton)\n'%(i.camel_name)) + self.c.write(' G_IMPLEMENT_INTERFACE (%sTYPE_%s, %s_skeleton_iface_init));\n\n'%(i.ns_upper, i.name_upper, i.name_lower)) + self.c.write('#else\n') + self.c.write('G_DEFINE_TYPE_WITH_CODE (%sSkeleton, %s_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,\n'%(i.camel_name, i.name_lower)) + self.c.write(' G_IMPLEMENT_INTERFACE (%sTYPE_%s, %s_skeleton_iface_init));\n\n'%(i.ns_upper, i.name_upper, i.name_lower)) + self.c.write('#endif\n') + + # finalize + self.c.write('static void\n' + '%s_skeleton_finalize (GObject *object)\n' + '{\n'%(i.name_lower)) + self.c.write(' %sSkeleton *skeleton = %s%s_SKELETON (object);\n'%(i.camel_name, i.ns_upper, i.name_upper)) + if len(i.properties) > 0: + self.c.write(' guint n;\n' + ' for (n = 0; n < %d; n++)\n' + ' g_value_unset (&skeleton->priv->properties[n]);\n'%(len(i.properties))) + self.c.write(' g_free (skeleton->priv->properties);\n') + self.c.write(' g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);\n') + self.c.write(' if (skeleton->priv->changed_properties_idle_source != NULL)\n') + self.c.write(' g_source_destroy (skeleton->priv->changed_properties_idle_source);\n') + self.c.write(' g_main_context_unref (skeleton->priv->context);\n') + self.c.write(' g_mutex_clear (&skeleton->priv->lock);\n') + self.c.write(' G_OBJECT_CLASS (%s_skeleton_parent_class)->finalize (object);\n' + '}\n' + '\n'%(i.name_lower)) + + # property accessors (TODO: generate PropertiesChanged signals in setter) + if len(i.properties) > 0: + self.c.write('static void\n' + '%s_skeleton_get_property (GObject *object,\n' + ' guint prop_id,\n' + ' GValue *value,\n' + ' GParamSpec *pspec G_GNUC_UNUSED)\n' + '{\n'%(i.name_lower)) + self.c.write(' %sSkeleton *skeleton = %s%s_SKELETON (object);\n' + ' g_assert (prop_id != 0 && prop_id - 1 < %d);\n' + ' g_mutex_lock (&skeleton->priv->lock);\n' + ' g_value_copy (&skeleton->priv->properties[prop_id - 1], value);\n' + ' g_mutex_unlock (&skeleton->priv->lock);\n' + %(i.camel_name, i.ns_upper, i.name_upper, len(i.properties))) + self.c.write('}\n' + '\n') + + # if property is already scheduled then re-use entry.. though it could be + # that the user did + # + # foo_set_prop_bar (object, ""); + # foo_set_prop_bar (object, "blah"); + # + # say, every update... In this case, where nothing happens, we obviously + # don't want a PropertiesChanged() event. We can easily check for this + # by comparing against the _original value_ recorded before the first + # change event. If the latest value is not different from the original + # one, we can simply ignore the ChangedProperty + # + self.c.write('static gboolean\n' + '_%s_emit_changed (gpointer user_data)\n' + '{\n' + ' %sSkeleton *skeleton = %s%s_SKELETON (user_data);\n' + %(i.name_lower, i.camel_name, i.ns_upper, i.name_upper)) + self.c.write(' GList *l;\n' + ' GVariantBuilder builder;\n' + ' GVariantBuilder invalidated_builder;\n' + ' guint num_changes;\n' + '\n' + ' g_mutex_lock (&skeleton->priv->lock);\n' + ' g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));\n' + ' g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as"));\n' + ' for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next)\n' + ' {\n' + ' ChangedProperty *cp = l->data;\n' + ' GVariant *variant;\n' + ' const GValue *cur_value;\n' + '\n' + ' cur_value = &skeleton->priv->properties[cp->prop_id - 1];\n' + ' if (!_g_value_equal (cur_value, &cp->orig_value))\n' + ' {\n' + ' variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature));\n' + ' g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant);\n' + ' g_variant_unref (variant);\n' + ' num_changes++;\n' + ' }\n' + ' }\n' + ' if (num_changes > 0)\n' + ' {\n' + ' GList *connections, *ll;\n' + ' GVariant *signal_variant;' + '\n' + ' signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "%s",\n' + ' &builder, &invalidated_builder));\n' + ' connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));\n' + ' for (ll = connections; ll != NULL; ll = ll->next)\n' + ' {\n' + ' GDBusConnection *connection = ll->data;\n' + '\n' + ' g_dbus_connection_emit_signal (connection,\n' + ' NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)),\n' + ' "org.freedesktop.DBus.Properties",\n' + ' "PropertiesChanged",\n' + ' signal_variant,\n' + ' NULL);\n' + ' }\n' + ' g_variant_unref (signal_variant);\n' + ' g_list_free_full (connections, g_object_unref);\n' + ' }\n' + ' else\n' + ' {\n' + ' g_variant_builder_clear (&builder);\n' + ' g_variant_builder_clear (&invalidated_builder);\n' + ' }\n' + %(i.name)) + self.c.write(' g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);\n') + self.c.write(' skeleton->priv->changed_properties = NULL;\n') + self.c.write(' skeleton->priv->changed_properties_idle_source = NULL;\n') + self.c.write(' g_mutex_unlock (&skeleton->priv->lock);\n') + self.c.write(' return FALSE;\n' + '}\n' + '\n') + # holding lock while being called + self.c.write('static void\n' + '_%s_schedule_emit_changed (%sSkeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value)\n' + '{\n' + ' ChangedProperty *cp;\n' + ' GList *l;\n' + ' cp = NULL;\n' + ' for (l = skeleton->priv->changed_properties; l != NULL; l = l->next)\n' + ' {\n' + ' ChangedProperty *i_cp = l->data;\n' + ' if (i_cp->info == info)\n' + ' {\n' + ' cp = i_cp;\n' + ' break;\n' + ' }\n' + ' }\n' + %(i.name_lower, i.camel_name)) + self.c.write(' if (cp == NULL)\n' + ' {\n' + ' cp = g_new0 (ChangedProperty, 1);\n' + ' cp->prop_id = prop_id;\n' + ' cp->info = info;\n' + ' skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp);\n' + ' g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value));\n' + ' g_value_copy (orig_value, &cp->orig_value);\n' + ' }\n' + '}\n' + '\n' + %()) + + # Postpone setting up the refresh source until the ::notify signal is emitted as + # this allows use of g_object_freeze_notify()/g_object_thaw_notify() ... + # This is useful when updating several properties from another thread than + # where the idle will be emitted from + self.c.write('static void\n' + '%s_skeleton_notify (GObject *object,\n' + ' GParamSpec *pspec G_GNUC_UNUSED)\n' + '{\n' + ' %sSkeleton *skeleton = %s%s_SKELETON (object);\n' + ' g_mutex_lock (&skeleton->priv->lock);\n' + ' if (skeleton->priv->changed_properties != NULL &&\n' + ' skeleton->priv->changed_properties_idle_source == NULL)\n' + ' {\n' + ' skeleton->priv->changed_properties_idle_source = g_idle_source_new ();\n' + ' g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT);\n' + ' g_source_set_callback (skeleton->priv->changed_properties_idle_source, _%s_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref);\n' + ' g_source_set_name (skeleton->priv->changed_properties_idle_source, "[generated] _%s_emit_changed");\n' + ' g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context);\n' + ' g_source_unref (skeleton->priv->changed_properties_idle_source);\n' + ' }\n' + ' g_mutex_unlock (&skeleton->priv->lock);\n' + '}\n' + '\n' + %(i.name_lower, i.camel_name, i.ns_upper, i.name_upper, i.name_lower, i.name_lower)) + + self.c.write('static void\n' + '%s_skeleton_set_property (GObject *object,\n' + ' guint prop_id,\n' + ' const GValue *value,\n' + ' GParamSpec *pspec)\n' + '{\n'%(i.name_lower)) + self.c.write(' %sSkeleton *skeleton = %s%s_SKELETON (object);\n' + ' g_assert (prop_id != 0 && prop_id - 1 < %d);\n' + ' g_mutex_lock (&skeleton->priv->lock);\n' + ' g_object_freeze_notify (object);\n' + ' if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1]))\n' + ' {\n' + ' if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL)\n' + ' _%s_schedule_emit_changed (skeleton, _%s_property_info_pointers[prop_id - 1], prop_id, &skeleton->priv->properties[prop_id - 1]);\n' + ' g_value_copy (value, &skeleton->priv->properties[prop_id - 1]);\n' + ' g_object_notify_by_pspec (object, pspec);\n' + ' }\n' + ' g_mutex_unlock (&skeleton->priv->lock);\n' + ' g_object_thaw_notify (object);\n' + %(i.camel_name, i.ns_upper, i.name_upper, len(i.properties), i.name_lower, i.name_lower)) + self.c.write('}\n' + '\n') + + self.c.write('static void\n' + '%s_skeleton_init (%sSkeleton *skeleton)\n' + '{\n' + '#if GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_38\n' + ' skeleton->priv = %s_skeleton_get_instance_private (skeleton);\n' + '#else\n' + ' skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, %sTYPE_%s_SKELETON, %sSkeletonPrivate);\n' + '#endif\n\n' + %(i.name_lower, i.camel_name, + i.name_lower, + i.ns_upper, i.name_upper, i.camel_name)) + self.c.write(' g_mutex_init (&skeleton->priv->lock);\n') + self.c.write(' skeleton->priv->context = g_main_context_ref_thread_default ();\n') + if len(i.properties) > 0: + self.c.write(' skeleton->priv->properties = g_new0 (GValue, %d);\n'%(len(i.properties))) + n = 0 + for p in i.properties: + self.c.write(' g_value_init (&skeleton->priv->properties[%d], %s);\n'%(n, p.arg.gtype)) + n += 1 + self.c.write('}\n' + '\n') + + # property vfuncs + n = 0 + for p in i.properties: + self.c.write('static %s\n' + '%s_skeleton_get_%s (%s *object)\n' + '{\n' + %(p.arg.ctype_in, i.name_lower, p.name_lower, i.camel_name)) + self.c.write(' %sSkeleton *skeleton = %s%s_SKELETON (object);\n'%(i.camel_name, i.ns_upper, i.name_upper)) + self.c.write(' %svalue;\n' + ' g_mutex_lock (&skeleton->priv->lock);\n' + ' value = %s (&(skeleton->priv->properties[%d]));\n' + ' g_mutex_unlock (&skeleton->priv->lock);\n' + %(p.arg.ctype_in_g, p.arg.gvalue_get, n)) + self.c.write(' return value;\n') + self.c.write('}\n') + self.c.write('\n') + n += 1 + + self.c.write('static void\n' + '%s_skeleton_class_init (%sSkeletonClass *klass)\n' + '{\n' + ' GObjectClass *gobject_class;\n' + ' GDBusInterfaceSkeletonClass *skeleton_class;\n' + '\n' + ' gobject_class = G_OBJECT_CLASS (klass);\n' + ' gobject_class->finalize = %s_skeleton_finalize;\n' + %(i.name_lower, i.camel_name, i.name_lower)) + if len(i.properties) > 0: + self.c.write(' gobject_class->get_property = %s_skeleton_get_property;\n' + ' gobject_class->set_property = %s_skeleton_set_property;\n' + ' gobject_class->notify = %s_skeleton_notify;\n' + '\n'%(i.name_lower, i.name_lower, i.name_lower)) + self.c.write('\n' + ' %s_override_properties (gobject_class, 1);\n'%(i.name_lower)) + self.c.write('\n' + ' skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);\n'); + self.c.write(' skeleton_class->get_info = %s_skeleton_dbus_interface_get_info;\n'%(i.name_lower)) + self.c.write(' skeleton_class->get_properties = %s_skeleton_dbus_interface_get_properties;\n'%(i.name_lower)) + self.c.write(' skeleton_class->flush = %s_skeleton_dbus_interface_flush;\n'%(i.name_lower)) + self.c.write(' skeleton_class->get_vtable = %s_skeleton_dbus_interface_get_vtable;\n'%(i.name_lower)) + + self.c.write('\n' + '#if GLIB_VERSION_MAX_ALLOWED < GLIB_VERSION_2_38\n' + ' g_type_class_add_private (klass, sizeof (%sSkeletonPrivate));\n' + '#endif\n'%(i.camel_name)) + + self.c.write('}\n' + '\n') + + self.c.write('static void\n' + '%s_skeleton_iface_init (%sIface *iface)\n' + '{\n' + %(i.name_lower, i.camel_name)) + for s in i.signals: + self.c.write(' iface->%s = _%s_on_signal_%s;\n' + %(s.name_lower, i.name_lower, s.name_lower)) + for p in i.properties: + self.c.write(' iface->get_%s = %s_skeleton_get_%s;\n'%(p.name_lower, i.name_lower, p.name_lower)) + self.c.write('}\n' + '\n') + + # constructors + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %s_skeleton_new:\n' + ' *\n' + ' * Creates a skeleton object for the D-Bus interface #%s.\n' + ' *\n' + ' * Returns: (transfer full) (type %sSkeleton): The skeleton object.\n' + %(i.name_lower, i.name, i.camel_name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write('%s *\n' + '%s_skeleton_new (void)\n' + '{\n' + ' return %s%s (g_object_new (%sTYPE_%s_SKELETON, NULL));\n' + '}\n' + '\n'%(i.camel_name, i.name_lower, i.ns_upper, i.name_upper, i.ns_upper, i.name_upper)) + + # --------------------------------------------------------------------------------------------------- + + def generate_object(self): + self.c.write('/* ------------------------------------------------------------------------\n' + ' * Code for Object, ObjectProxy and ObjectSkeleton\n' + ' * ------------------------------------------------------------------------\n' + ' */\n' + '\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * SECTION:%sObject\n' + ' * @title: %sObject\n' + ' * @short_description: Specialized GDBusObject types\n' + ' *\n' + ' * This section contains the #%sObject, #%sObjectProxy, and #%sObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces.\n' + ' */\n' + %(self.namespace, self.namespace, self.namespace, self.namespace, self.namespace), False)) + self.c.write('\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sObject:\n' + ' *\n' + ' * The #%sObject type is a specialized container of interfaces.\n' + ' */\n' + %(self.namespace, self.namespace), False)) + self.c.write('\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sObjectIface:\n' + ' * @parent_iface: The parent interface.\n' + ' *\n' + ' * Virtual table for the #%sObject interface.\n' + ' */\n' + %(self.namespace, self.namespace), False)) + self.c.write('\n') + + self.c.write('typedef %sObjectIface %sObjectInterface;\n'%(self.namespace, self.namespace)) + self.c.write('G_DEFINE_INTERFACE_WITH_CODE (%sObject, %sobject, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_DBUS_OBJECT));\n'%(self.namespace, self.ns_lower)) + self.c.write('\n') + self.c.write('static void\n' + '%sobject_default_init (%sObjectIface *iface)\n' + '{\n' + %(self.ns_lower, self.namespace)); + for i in self.ifaces: + self.c.write(self.docbook_gen.expand( + ' /**\n' + ' * %sObject:%s:\n' + ' *\n' + ' * The #%s instance corresponding to the D-Bus interface #%s, if any.\n' + ' *\n' + ' * Connect to the #GObject::notify signal to get informed of property changes.\n' + %(self.namespace, i.name_hyphen, i.camel_name, i.name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 2) + self.c.write(' g_object_interface_install_property (iface, g_param_spec_object ("%s", "%s", "%s", %sTYPE_%s, G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS));\n' + '\n' + %(i.name_hyphen, i.name_hyphen, i.name_hyphen, self.ns_upper, i.name_upper)) + self.c.write('}\n' + '\n') + + for i in self.ifaces: + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sobject_get_%s:\n' + ' * @object: A #%sObject.\n' + ' *\n' + ' * Gets the #%s instance for the D-Bus interface #%s on @object, if any.\n' + ' *\n' + ' * Returns: (transfer full): A #%s that must be freed with g_object_unref() or %%NULL if @object does not implement the interface.\n' + %(self.ns_lower, i.name_upper.lower(), self.namespace, i.camel_name, i.name, i.camel_name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write ('%s *%sobject_get_%s (%sObject *object)\n' + %(i.camel_name, self.ns_lower, i.name_upper.lower(), self.namespace)) + self.c.write('{\n' + ' GDBusInterface *ret;\n' + ' ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "%s");\n' + ' if (ret == NULL)\n' + ' return NULL;\n' + ' return %s%s (ret);\n' + '}\n' + '\n' + %(i.name, self.ns_upper, i.name_upper)) + self.c.write('\n') + for i in self.ifaces: + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sobject_peek_%s: (skip)\n' + ' * @object: A #%sObject.\n' + ' *\n' + ' * Like %sobject_get_%s() but doesn\'t increase the reference count on the returned object.\n' + ' *\n' + ' * It is not safe to use the returned object if you are on another thread than the one where the #GDBusObjectManagerClient or #GDBusObjectManagerServer for @object is running.\n' + ' *\n' + ' * Returns: (transfer none): A #%s or %%NULL if @object does not implement the interface. Do not free the returned object, it is owned by @object.\n' + %(self.ns_lower, i.name_upper.lower(), self.namespace, self.ns_lower, i.name_upper.lower(), i.camel_name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write ('%s *%sobject_peek_%s (%sObject *object)\n' + %(i.camel_name, self.ns_lower, i.name_upper.lower(), self.namespace)) + self.c.write('{\n' + ' GDBusInterface *ret;\n' + ' ret = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "%s");\n' + ' if (ret == NULL)\n' + ' return NULL;\n' + ' g_object_unref (ret);\n' + ' return %s%s (ret);\n' + '}\n' + '\n' + %(i.name, self.ns_upper, i.name_upper)) + self.c.write('\n') + # shared by ObjectProxy and ObjectSkeleton classes + self.c.write('static void\n' + '%sobject_notify (GDBusObject *object, GDBusInterface *interface)\n' + '{\n' + ' _ExtendedGDBusInterfaceInfo *info = (_ExtendedGDBusInterfaceInfo *) g_dbus_interface_get_info (interface);\n' + ' /* info can be NULL if the other end is using a D-Bus interface we don\'t know\n' + ' * anything about, for example old generated code in this process talking to\n' + ' * newer generated code in the other process. */\n' + ' if (info != NULL)\n' + ' g_object_notify (G_OBJECT (object), info->hyphen_name);\n' + '}\n' + '\n' + %(self.ns_lower)) + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sObjectProxy:\n' + ' *\n' + ' * The #%sObjectProxy structure contains only private data and should only be accessed using the provided API.\n' + %(self.namespace, self.namespace), False)) + self.c.write(' */\n') + self.c.write('\n') + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sObjectProxyClass:\n' + ' * @parent_class: The parent class.\n' + ' *\n' + ' * Class structure for #%sObjectProxy.\n' + %(self.namespace, self.namespace), False)) + self.c.write(' */\n') + self.c.write('\n') + # class boilerplate + self.c.write('static void\n' + '%sobject_proxy__%sobject_iface_init (%sObjectIface *iface G_GNUC_UNUSED)\n' + '{\n' + '}\n' + '\n' + %(self.ns_lower, self.ns_lower, self.namespace)) + self.c.write('static void\n' + '%sobject_proxy__g_dbus_object_iface_init (GDBusObjectIface *iface)\n' + '{\n' + ' iface->interface_added = %sobject_notify;\n' + ' iface->interface_removed = %sobject_notify;\n' + '}\n' + '\n' + %(self.ns_lower, self.ns_lower, self.ns_lower)) + self.c.write('\n') + self.c.write('G_DEFINE_TYPE_WITH_CODE (%sObjectProxy, %sobject_proxy, G_TYPE_DBUS_OBJECT_PROXY,\n' + ' G_IMPLEMENT_INTERFACE (%sTYPE_OBJECT, %sobject_proxy__%sobject_iface_init)\n' + ' G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, %sobject_proxy__g_dbus_object_iface_init));\n' + '\n' + %(self.namespace, self.ns_lower, self.ns_upper, self.ns_lower, self.ns_lower, self.ns_lower)) + # class boilerplate + self.c.write('static void\n' + '%sobject_proxy_init (%sObjectProxy *object G_GNUC_UNUSED)\n' + '{\n' + '}\n' + '\n'%(self.ns_lower, self.namespace)) + self.c.write('static void\n' + '%sobject_proxy_set_property (GObject *gobject,\n' + ' guint prop_id,\n' + ' const GValue *value G_GNUC_UNUSED,\n' + ' GParamSpec *pspec)\n' + '{\n' + ' G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);\n' + %(self.ns_lower)) + self.c.write('}\n' + '\n'%()) + self.c.write('static void\n' + '%sobject_proxy_get_property (GObject *gobject,\n' + ' guint prop_id,\n' + ' GValue *value,\n' + ' GParamSpec *pspec)\n' + '{\n' + ' %sObjectProxy *object = %sOBJECT_PROXY (gobject);\n' + ' GDBusInterface *interface;\n' + '\n' + ' switch (prop_id)\n' + ' {\n' + %(self.ns_lower, self.namespace, self.ns_upper)) + n = 1 + for i in self.ifaces: + self.c.write(' case %d:\n' + ' interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "%s");\n' + ' g_value_take_object (value, interface);\n' + ' break;\n' + '\n' + %(n, i.name)) + n += 1 + self.c.write(' default:\n' + ' G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);\n' + ' break;\n' + ' }\n' + '}\n' + '\n'%()) + self.c.write('static void\n' + '%sobject_proxy_class_init (%sObjectProxyClass *klass)\n' + '{\n' + ' GObjectClass *gobject_class = G_OBJECT_CLASS (klass);\n' + '\n' + ' gobject_class->set_property = %sobject_proxy_set_property;\n' + ' gobject_class->get_property = %sobject_proxy_get_property;\n' + '\n' + %(self.ns_lower, self.namespace, self.ns_lower, self.ns_lower)) + n = 1 + for i in self.ifaces: + self.c.write(' g_object_class_override_property (gobject_class, %d, "%s");' + '\n' + %(n, i.name_hyphen)) + n += 1 + self.c.write('}\n' + '\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sobject_proxy_new:\n' + ' * @connection: A #GDBusConnection.\n' + ' * @object_path: An object path.\n' + ' *\n' + ' * Creates a new proxy object.\n' + ' *\n' + ' * Returns: (transfer full): The proxy object.\n' + ' */\n' + %(self.ns_lower), False)) + self.c.write('%sObjectProxy *\n' + '%sobject_proxy_new (GDBusConnection *connection,\n' + ' const gchar *object_path)\n' + '{\n' + ' g_return_val_if_fail (G_IS_DBUS_CONNECTION (connection), NULL);\n' + ' g_return_val_if_fail (g_variant_is_object_path (object_path), NULL);\n' + ' return %sOBJECT_PROXY (g_object_new (%sTYPE_OBJECT_PROXY, "g-connection", connection, "g-object-path", object_path, NULL));\n' + '}\n' + '\n'%(self.namespace, self.ns_lower, self.ns_upper, self.ns_upper)) + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sObjectSkeleton:\n' + ' *\n' + ' * The #%sObjectSkeleton structure contains only private data and should only be accessed using the provided API.\n' + %(self.namespace, self.namespace), False)) + self.c.write(' */\n') + self.c.write('\n') + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sObjectSkeletonClass:\n' + ' * @parent_class: The parent class.\n' + ' *\n' + ' * Class structure for #%sObjectSkeleton.\n' + %(self.namespace, self.namespace), False)) + self.c.write(' */\n') + self.c.write('\n') + # class boilerplate + self.c.write('static void\n' + '%sobject_skeleton__%sobject_iface_init (%sObjectIface *iface G_GNUC_UNUSED)\n' + '{\n' + '}\n' + '\n' + %(self.ns_lower, self.ns_lower, self.namespace)) + self.c.write('\n') + self.c.write('static void\n' + '%sobject_skeleton__g_dbus_object_iface_init (GDBusObjectIface *iface)\n' + '{\n' + ' iface->interface_added = %sobject_notify;\n' + ' iface->interface_removed = %sobject_notify;\n' + '}\n' + '\n' + %(self.ns_lower, self.ns_lower, self.ns_lower)) + self.c.write('G_DEFINE_TYPE_WITH_CODE (%sObjectSkeleton, %sobject_skeleton, G_TYPE_DBUS_OBJECT_SKELETON,\n' + ' G_IMPLEMENT_INTERFACE (%sTYPE_OBJECT, %sobject_skeleton__%sobject_iface_init)\n' + ' G_IMPLEMENT_INTERFACE (G_TYPE_DBUS_OBJECT, %sobject_skeleton__g_dbus_object_iface_init));\n' + '\n' + %(self.namespace, self.ns_lower, self.ns_upper, self.ns_lower, self.ns_lower, self.ns_lower)) + # class boilerplate + self.c.write('static void\n' + '%sobject_skeleton_init (%sObjectSkeleton *object G_GNUC_UNUSED)\n' + '{\n' + '}\n' + '\n'%(self.ns_lower, self.namespace)) + self.c.write('static void\n' + '%sobject_skeleton_set_property (GObject *gobject,\n' + ' guint prop_id,\n' + ' const GValue *value,\n' + ' GParamSpec *pspec)\n' + '{\n' + ' %sObjectSkeleton *object = %sOBJECT_SKELETON (gobject);\n' + ' GDBusInterfaceSkeleton *interface;\n' + '\n' + ' switch (prop_id)\n' + ' {\n' + %(self.ns_lower, self.namespace, self.ns_upper)) + n = 1 + for i in self.ifaces: + self.c.write(' case %d:\n' + ' interface = g_value_get_object (value);\n' + ' if (interface != NULL)\n' + ' {\n' + ' g_warn_if_fail (%sIS_%s (interface));\n' + ' g_dbus_object_skeleton_add_interface (G_DBUS_OBJECT_SKELETON (object), interface);\n' + ' }\n' + ' else\n' + ' {\n' + ' g_dbus_object_skeleton_remove_interface_by_name (G_DBUS_OBJECT_SKELETON (object), "%s");\n' + ' }\n' + ' break;\n' + '\n' + %(n, self.ns_upper, i.name_upper, i.name)) + n += 1 + self.c.write(' default:\n' + ' G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);\n' + ' break;\n' + ' }\n' + '}\n' + '\n'%()) + self.c.write('static void\n' + '%sobject_skeleton_get_property (GObject *gobject,\n' + ' guint prop_id,\n' + ' GValue *value,\n' + ' GParamSpec *pspec)\n' + '{\n' + ' %sObjectSkeleton *object = %sOBJECT_SKELETON (gobject);\n' + ' GDBusInterface *interface;\n' + '\n' + ' switch (prop_id)\n' + ' {\n' + %(self.ns_lower, self.namespace, self.ns_upper)) + n = 1 + for i in self.ifaces: + self.c.write(' case %d:\n' + ' interface = g_dbus_object_get_interface (G_DBUS_OBJECT (object), "%s");\n' + ' g_value_take_object (value, interface);\n' + ' break;\n' + '\n' + %(n, i.name)) + n += 1 + self.c.write(' default:\n' + ' G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);\n' + ' break;\n' + ' }\n' + '}\n' + '\n'%()) + self.c.write('static void\n' + '%sobject_skeleton_class_init (%sObjectSkeletonClass *klass)\n' + '{\n' + ' GObjectClass *gobject_class = G_OBJECT_CLASS (klass);\n' + '\n' + ' gobject_class->set_property = %sobject_skeleton_set_property;\n' + ' gobject_class->get_property = %sobject_skeleton_get_property;\n' + '\n' + %(self.ns_lower, self.namespace, self.ns_lower, self.ns_lower)) + n = 1 + for i in self.ifaces: + self.c.write(' g_object_class_override_property (gobject_class, %d, "%s");' + '\n' + %(n, i.name_hyphen)) + n += 1 + self.c.write('}\n' + '\n') + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sobject_skeleton_new:\n' + ' * @object_path: An object path.\n' + ' *\n' + ' * Creates a new skeleton object.\n' + ' *\n' + ' * Returns: (transfer full): The skeleton object.\n' + ' */\n' + %(self.ns_lower), False)) + self.c.write('%sObjectSkeleton *\n' + '%sobject_skeleton_new (const gchar *object_path)\n' + '{\n' + ' g_return_val_if_fail (g_variant_is_object_path (object_path), NULL);\n' + ' return %sOBJECT_SKELETON (g_object_new (%sTYPE_OBJECT_SKELETON, "g-object-path", object_path, NULL));\n' + '}\n' + '\n'%(self.namespace, self.ns_lower, self.ns_upper, self.ns_upper)) + for i in self.ifaces: + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sobject_skeleton_set_%s:\n' + ' * @object: A #%sObjectSkeleton.\n' + ' * @interface_: (allow-none): A #%s or %%NULL to clear the interface.\n' + ' *\n' + ' * Sets the #%s instance for the D-Bus interface #%s on @object.\n' + %(self.ns_lower, i.name_upper.lower(), self.namespace, i.camel_name, i.camel_name, i.name), False)) + self.write_gtkdoc_deprecated_and_since_and_close(i, self.c, 0) + self.c.write ('void %sobject_skeleton_set_%s (%sObjectSkeleton *object, %s *interface_)\n' + %(self.ns_lower, i.name_upper.lower(), self.namespace, i.camel_name)) + self.c.write('{\n' + ' g_object_set (G_OBJECT (object), "%s", interface_, NULL);\n' + '}\n' + '\n' + %(i.name_hyphen)) + self.c.write('\n') + + + def generate_object_manager_client(self): + self.c.write('/* ------------------------------------------------------------------------\n' + ' * Code for ObjectManager client\n' + ' * ------------------------------------------------------------------------\n' + ' */\n' + '\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * SECTION:%sObjectManagerClient\n' + ' * @title: %sObjectManagerClient\n' + ' * @short_description: Generated GDBusObjectManagerClient type\n' + ' *\n' + ' * This section contains a #GDBusObjectManagerClient that uses %sobject_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc.\n' + ' */\n' + %(self.namespace, self.namespace, self.ns_lower), False)) + self.c.write('\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sObjectManagerClient:\n' + ' *\n' + ' * The #%sObjectManagerClient structure contains only private data and should only be accessed using the provided API.\n' + %(self.namespace, self.namespace), False)) + self.c.write(' */\n') + self.c.write('\n') + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sObjectManagerClientClass:\n' + ' * @parent_class: The parent class.\n' + ' *\n' + ' * Class structure for #%sObjectManagerClient.\n' + %(self.namespace, self.namespace), False)) + self.c.write(' */\n') + self.c.write('\n') + + # class boilerplate + self.c.write('G_DEFINE_TYPE (%sObjectManagerClient, %sobject_manager_client, G_TYPE_DBUS_OBJECT_MANAGER_CLIENT);\n' + '\n' + %(self.namespace, self.ns_lower)) + + # class boilerplate + self.c.write('static void\n' + '%sobject_manager_client_init (%sObjectManagerClient *manager G_GNUC_UNUSED)\n' + '{\n' + '}\n' + '\n'%(self.ns_lower, self.namespace)) + self.c.write('static void\n' + '%sobject_manager_client_class_init (%sObjectManagerClientClass *klass G_GNUC_UNUSED)\n' + '{\n' + '}\n' + '\n'%(self.ns_lower, self.namespace)) + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sobject_manager_client_get_proxy_type:\n' + ' * @manager: A #GDBusObjectManagerClient.\n' + ' * @object_path: The object path of the remote object (unused).\n' + ' * @interface_name: (allow-none): Interface name of the remote object or %%NULL to get the object proxy #GType.\n' + ' * @user_data: User data (unused).\n' + ' *\n' + ' * A #GDBusProxyTypeFunc that maps @interface_name to the generated #GDBusObjectProxy- and #GDBusProxy-derived types.\n' + ' *\n' + ' * Returns: A #GDBusProxy-derived #GType if @interface_name is not %%NULL, otherwise the #GType for #%sObjectProxy.\n' + %(self.ns_lower, self.namespace), False)) + self.c.write(' */\n') + self.c.write('GType\n' + '%sobject_manager_client_get_proxy_type (GDBusObjectManagerClient *manager G_GNUC_UNUSED, const gchar *object_path G_GNUC_UNUSED, const gchar *interface_name, gpointer user_data G_GNUC_UNUSED)\n' + '{\n' + %(self.ns_lower)) + self.c.write(' static gsize once_init_value = 0;\n' + ' static GHashTable *lookup_hash;\n' + ' GType ret;\n' + '\n' + ' if (interface_name == NULL)\n' + ' return %sTYPE_OBJECT_PROXY;\n' + ' if (g_once_init_enter (&once_init_value))\n' + ' {\n' + ' lookup_hash = g_hash_table_new (g_str_hash, g_str_equal);\n' + %(self.ns_upper)) + for i in self.ifaces: + self.c.write(' g_hash_table_insert (lookup_hash, (gpointer) "%s", GSIZE_TO_POINTER (%sTYPE_%s_PROXY));\n' + %(i.name, i.ns_upper, i.name_upper)) + self.c.write(' g_once_init_leave (&once_init_value, 1);\n' + ' }\n') + self.c.write(' ret = (GType) GPOINTER_TO_SIZE (g_hash_table_lookup (lookup_hash, interface_name));\n' + ' if (ret == (GType) 0)\n' + ' ret = G_TYPE_DBUS_PROXY;\n') + self.c.write(' return ret;\n' + '}\n' + '\n') + + # constructors + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sobject_manager_client_new:\n' + ' * @connection: A #GDBusConnection.\n' + ' * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.\n' + ' * @name: (allow-none): A bus name (well-known or unique) or %%NULL if @connection is not a message bus connection.\n' + ' * @object_path: An object path.\n' + ' * @cancellable: (allow-none): A #GCancellable or %%NULL.\n' + ' * @callback: A #GAsyncReadyCallback to call when the request is satisfied.\n' + ' * @user_data: User data to pass to @callback.\n' + ' *\n' + ' * Asynchronously creates #GDBusObjectManagerClient using %sobject_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new() for more details.\n' + ' *\n' + ' * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.\n' + ' * You can then call %sobject_manager_client_new_finish() to get the result of the operation.\n' + ' *\n' + ' * See %sobject_manager_client_new_sync() for the synchronous, blocking version of this constructor.\n' + %(self.ns_lower, self.ns_lower, self.ns_lower, self.ns_lower), False)) + self.c.write(' */\n') + self.c.write('void\n' + '%sobject_manager_client_new (\n' + ' GDBusConnection *connection,\n' + ' GDBusObjectManagerClientFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GAsyncReadyCallback callback,\n' + ' gpointer user_data)\n' + '{\n' + ' g_async_initable_new_async (%sTYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", %sobject_manager_client_get_proxy_type, NULL);\n' + '}\n' + '\n' + %(self.ns_lower, self.ns_upper, self.ns_lower)) + self.c.write('/**\n' + ' * %sobject_manager_client_new_finish:\n' + ' * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to %sobject_manager_client_new().\n' + ' * @error: Return location for error or %%NULL\n' + ' *\n' + ' * Finishes an operation started with %sobject_manager_client_new().\n' + ' *\n' + ' * Returns: (transfer full) (type %sObjectManagerClient): The constructed object manager client or %%NULL if @error is set.\n' + %(self.ns_lower, self.ns_lower, self.ns_lower, self.namespace)) + self.c.write(' */\n') + self.c.write('GDBusObjectManager *\n' + '%sobject_manager_client_new_finish (\n' + ' GAsyncResult *res,\n' + ' GError **error)\n' + '{\n' + ' GObject *ret;\n' + ' GObject *source_object;\n' + ' source_object = g_async_result_get_source_object (res);\n' + ' ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);\n' + ' g_object_unref (source_object);\n' + ' if (ret != NULL)\n' + ' return G_DBUS_OBJECT_MANAGER (ret);\n' + ' else\n' + ' return NULL;\n' + '}\n' + '\n' + %(self.ns_lower)) + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sobject_manager_client_new_sync:\n' + ' * @connection: A #GDBusConnection.\n' + ' * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.\n' + ' * @name: (allow-none): A bus name (well-known or unique) or %%NULL if @connection is not a message bus connection.\n' + ' * @object_path: An object path.\n' + ' * @cancellable: (allow-none): A #GCancellable or %%NULL.\n' + ' * @error: Return location for error or %%NULL\n' + ' *\n' + ' * Synchronously creates #GDBusObjectManagerClient using %sobject_manager_client_get_proxy_type() as the #GDBusProxyTypeFunc. See g_dbus_object_manager_client_new_sync() for more details.\n' + ' *\n' + ' * The calling thread is blocked until a reply is received.\n' + ' *\n' + ' * See %sobject_manager_client_new() for the asynchronous version of this constructor.\n' + ' *\n' + ' * Returns: (transfer full) (type %sObjectManagerClient): The constructed object manager client or %%NULL if @error is set.\n' + %(self.ns_lower, self.ns_lower, self.ns_lower, self.namespace), False)) + self.c.write(' */\n') + self.c.write('GDBusObjectManager *\n' + '%sobject_manager_client_new_sync (\n' + ' GDBusConnection *connection,\n' + ' GDBusObjectManagerClientFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GError **error)\n' + '{\n' + ' GInitable *ret;\n' + ' ret = g_initable_new (%sTYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "connection", connection, "object-path", object_path, "get-proxy-type-func", %sobject_manager_client_get_proxy_type, NULL);\n' + ' if (ret != NULL)\n' + ' return G_DBUS_OBJECT_MANAGER (ret);\n' + ' else\n' + ' return NULL;\n' + '}\n' + '\n' + %(self.ns_lower, self.ns_upper, self.ns_lower)) + self.c.write('\n') + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sobject_manager_client_new_for_bus:\n' + ' * @bus_type: A #GBusType.\n' + ' * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.\n' + ' * @name: A bus name (well-known or unique).\n' + ' * @object_path: An object path.\n' + ' * @cancellable: (allow-none): A #GCancellable or %%NULL.\n' + ' * @callback: A #GAsyncReadyCallback to call when the request is satisfied.\n' + ' * @user_data: User data to pass to @callback.\n' + ' *\n' + ' * Like %sobject_manager_client_new() but takes a #GBusType instead of a #GDBusConnection.\n' + ' *\n' + ' * When the operation is finished, @callback will be invoked in the thread-default main loop of the thread you are calling this method from.\n' + ' * You can then call %sobject_manager_client_new_for_bus_finish() to get the result of the operation.\n' + ' *\n' + ' * See %sobject_manager_client_new_for_bus_sync() for the synchronous, blocking version of this constructor.\n' + %(self.ns_lower, self.ns_lower, self.ns_lower, self.ns_lower), False)) + self.c.write(' */\n') + self.c.write('void\n' + '%sobject_manager_client_new_for_bus (\n' + ' GBusType bus_type,\n' + ' GDBusObjectManagerClientFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GAsyncReadyCallback callback,\n' + ' gpointer user_data)\n' + '{\n' + ' g_async_initable_new_async (%sTYPE_OBJECT_MANAGER_CLIENT, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", %sobject_manager_client_get_proxy_type, NULL);\n' + '}\n' + '\n' + %(self.ns_lower, self.ns_upper, self.ns_lower)) + self.c.write('/**\n' + ' * %sobject_manager_client_new_for_bus_finish:\n' + ' * @res: The #GAsyncResult obtained from the #GAsyncReadyCallback passed to %sobject_manager_client_new_for_bus().\n' + ' * @error: Return location for error or %%NULL\n' + ' *\n' + ' * Finishes an operation started with %sobject_manager_client_new_for_bus().\n' + ' *\n' + ' * Returns: (transfer full) (type %sObjectManagerClient): The constructed object manager client or %%NULL if @error is set.\n' + %(self.ns_lower, self.ns_lower, self.ns_lower, self.namespace)) + self.c.write(' */\n') + self.c.write('GDBusObjectManager *\n' + '%sobject_manager_client_new_for_bus_finish (\n' + ' GAsyncResult *res,\n' + ' GError **error)\n' + '{\n' + ' GObject *ret;\n' + ' GObject *source_object;\n' + ' source_object = g_async_result_get_source_object (res);\n' + ' ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);\n' + ' g_object_unref (source_object);\n' + ' if (ret != NULL)\n' + ' return G_DBUS_OBJECT_MANAGER (ret);\n' + ' else\n' + ' return NULL;\n' + '}\n' + '\n' + %(self.ns_lower)) + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * %sobject_manager_client_new_for_bus_sync:\n' + ' * @bus_type: A #GBusType.\n' + ' * @flags: Flags from the #GDBusObjectManagerClientFlags enumeration.\n' + ' * @name: A bus name (well-known or unique).\n' + ' * @object_path: An object path.\n' + ' * @cancellable: (allow-none): A #GCancellable or %%NULL.\n' + ' * @error: Return location for error or %%NULL\n' + ' *\n' + ' * Like %sobject_manager_client_new_sync() but takes a #GBusType instead of a #GDBusConnection.\n' + ' *\n' + ' * The calling thread is blocked until a reply is received.\n' + ' *\n' + ' * See %sobject_manager_client_new_for_bus() for the asynchronous version of this constructor.\n' + ' *\n' + ' * Returns: (transfer full) (type %sObjectManagerClient): The constructed object manager client or %%NULL if @error is set.\n' + %(self.ns_lower, self.ns_lower, self.ns_lower, self.namespace), False)) + self.c.write(' */\n') + self.c.write('GDBusObjectManager *\n' + '%sobject_manager_client_new_for_bus_sync (\n' + ' GBusType bus_type,\n' + ' GDBusObjectManagerClientFlags flags,\n' + ' const gchar *name,\n' + ' const gchar *object_path,\n' + ' GCancellable *cancellable,\n' + ' GError **error)\n' + '{\n' + ' GInitable *ret;\n' + ' ret = g_initable_new (%sTYPE_OBJECT_MANAGER_CLIENT, cancellable, error, "flags", flags, "name", name, "bus-type", bus_type, "object-path", object_path, "get-proxy-type-func", %sobject_manager_client_get_proxy_type, NULL);\n' + ' if (ret != NULL)\n' + ' return G_DBUS_OBJECT_MANAGER (ret);\n' + ' else\n' + ' return NULL;\n' + '}\n' + '\n' + %(self.ns_lower, self.ns_upper, self.ns_lower)) + self.c.write('\n') + + # --------------------------------------------------------------------------------------------------- + + def write_gtkdoc_deprecated_and_since_and_close(self, obj, f, indent): + if len(obj.since) > 0: + f.write('%*s *\n' + '%*s * Since: %s\n' + %(indent, '', indent, '', obj.since)) + if obj.deprecated: + if isinstance(obj, dbustypes.Interface): + thing = 'The D-Bus interface' + elif isinstance(obj, dbustypes.Method): + thing = 'The D-Bus method' + elif isinstance(obj, dbustypes.Signal): + thing = 'The D-Bus signal' + elif isinstance(obj, dbustypes.Property): + thing = 'The D-Bus property' + else: + raise RuntimeError('Cannot handle object ', obj) + f.write(self.docbook_gen.expand( + '%*s *\n' + '%*s * Deprecated: %s has been deprecated.\n' + %(indent, '', indent, '', thing), False)) + f.write('%*s */\n'%(indent, '')) + + # --------------------------------------------------------------------------------------------------- + + def generate_interface_intro(self, i): + self.c.write('/* ------------------------------------------------------------------------\n' + ' * Code for interface %s\n' + ' * ------------------------------------------------------------------------\n' + ' */\n' + '\n'%(i.name)) + + self.c.write(self.docbook_gen.expand( + '/**\n' + ' * SECTION:%s\n' + ' * @title: %s\n' + ' * @short_description: Generated C code for the %s D-Bus interface\n' + ' *\n' + ' * This section contains code for working with the #%s D-Bus interface in C.\n' + ' */\n' + %(i.camel_name, i.camel_name, i.name, i.name), False)) + self.c.write('\n') + + def generate(self): + self.generate_intro() + self.declare_types() + for i in self.ifaces: + self.generate_interface_intro(i) + self.generate_introspection_for_interface(i) + self.generate_interface(i) + self.generate_property_accessors(i) + self.generate_signal_emitters(i) + self.generate_method_calls(i) + self.generate_method_completers(i) + self.generate_proxy(i) + self.generate_skeleton(i) + if self.generate_objmanager: + self.generate_object() + self.generate_object_manager_client() + + self.generate_outro() diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/codegen.pyc b/gtk-nsis-pack/share/glib-2.0/codegen/codegen.pyc new file mode 100644 index 000000000..d054a524b Binary files /dev/null and b/gtk-nsis-pack/share/glib-2.0/codegen/codegen.pyc differ diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/codegen_docbook.py b/gtk-nsis-pack/share/glib-2.0/codegen/codegen_docbook.py new file mode 100644 index 000000000..18e3d0016 --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/codegen/codegen_docbook.py @@ -0,0 +1,329 @@ +# -*- Mode: Python -*- + +# GDBus - GLib D-Bus Library +# +# Copyright (C) 2008-2011 Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General +# Public License along with this library; if not, see . +# +# Author: David Zeuthen + +import sys +import re + +from . import config +from . import utils +from . import dbustypes +from . import parser + +# ---------------------------------------------------------------------------------------------------- + +class DocbookCodeGenerator: + def __init__(self, ifaces, docbook): + self.ifaces = ifaces + self.docbook = docbook + self.generate_expand_dicts() + + def print_method_prototype(self, i, m, in_synopsis): + max_method_len = 0 + if in_synopsis: + for _m in i.methods: + max_method_len = max(len(_m.name), max_method_len) + else: + max_method_len = max(len(m.name), max_method_len) + + max_signature_len = 0 + if in_synopsis: + for _m in i.methods: + for a in _m.in_args: + max_signature_len = max(len(a.signature), max_signature_len) + for a in _m.out_args: + max_signature_len = max(len(a.signature), max_signature_len) + else: + for a in m.in_args: + max_signature_len = max(len(a.signature), max_signature_len) + for a in m.out_args: + max_signature_len = max(len(a.signature), max_signature_len) + + if in_synopsis: + self.out.write('%s%*s (' + %(utils.dots_to_hyphens(i.name), m.name, m.name, max_method_len - len(m.name), '')) + else: + self.out.write('%s%*s (' + %(m.name, max_method_len - len(m.name), '')) + count = 0 + for a in m.in_args: + if (count > 0): + self.out.write(',\n%*s'%(max_method_len + 2, '')) + self.out.write('IN %s%*s %s'%(a.signature, max_signature_len - len(a.signature), '', a.name)) + count = count + 1 + for a in m.out_args: + if (count > 0): + self.out.write(',\n%*s'%(max_method_len + 2, '')) + self.out.write('OUT %s%*s %s'%(a.signature, max_signature_len - len(a.signature), '', a.name)) + count = count + 1 + self.out.write(');\n') + + def print_signal_prototype(self, i, s, in_synopsis): + max_signal_len = 0 + if in_synopsis: + for _s in i.signals: + max_signal_len = max(len(_s.name), max_signal_len) + else: + max_signal_len = max(len(s.name), max_signal_len) + + max_signature_len = 0 + if in_synopsis: + for _s in i.signals: + for a in _s.args: + max_signature_len = max(len(a.signature), max_signature_len) + else: + for a in s.args: + max_signature_len = max(len(a.signature), max_signature_len) + + if in_synopsis: + self.out.write('%s%*s (' + %(utils.dots_to_hyphens(i.name), s.name, s.name, max_signal_len - len(s.name), '')) + else: + self.out.write('%s%*s (' + %(s.name, max_signal_len - len(s.name), '')) + count = 0 + for a in s.args: + if (count > 0): + self.out.write(',\n%*s'%(max_signal_len + 2, '')) + self.out.write('%s%*s %s'%(a.signature, max_signature_len - len(a.signature), '', a.name)) + count = count + 1 + self.out.write(');\n') + + def print_property_prototype(self, i, p, in_synopsis): + max_property_len = 0 + if in_synopsis: + for _p in i.properties: + max_property_len = max(len(_p.name), max_property_len) + else: + max_property_len = max(len(p.name), max_property_len) + + max_signature_len = 0 + if in_synopsis: + for _p in i.properties: + max_signature_len = max(len(_p.signature), max_signature_len) + else: + max_signature_len = max(len(p.signature), max_signature_len) + + if in_synopsis: + self.out.write('%s%*s' + %(utils.dots_to_hyphens(i.name), p.name, p.name, max_property_len - len(p.name), '')) + else: + self.out.write('%s%*s' + %(p.name, max_property_len - len(p.name), '')) + if p.readable and p.writable: + access = 'readwrite' + elif p.readable: + access = 'readable ' + else: + access = 'writable ' + self.out.write(' %s %s\n'%(access, p.signature)) + + + def print_synopsis_methods(self, i): + self.out.write(' \n'%()) + self.out.write(' Methods\n'%()) + self.out.write(' \n'%()) + for m in i.methods: + self.print_method_prototype(i, m, in_synopsis=True) + self.out.write('\n'%()) + self.out.write(' \n'%()) + + def print_synopsis_signals(self, i): + self.out.write(' \n'%()) + self.out.write(' Signals\n'%()) + self.out.write(' \n'%()) + for s in i.signals: + self.print_signal_prototype(i, s, in_synopsis=True) + self.out.write('\n'%()) + self.out.write(' \n'%()) + + def print_synopsis_properties(self, i): + self.out.write(' \n'%()) + self.out.write(' Properties\n'%()) + self.out.write(' \n'%()) + for p in i.properties: + self.print_property_prototype(i, p, in_synopsis=True) + self.out.write('\n'%()) + self.out.write(' \n'%()) + + def print_method(self, i, m): + self.out.write('\n'%(utils.dots_to_hyphens(i.name), m.name)) + self.out.write(' The %s() method\n'%(m.name)) + self.out.write(' %s.%s()\n'%(utils.dots_to_hyphens(i.name), m.name, i.name_without_prefix, m.name, i.name, m.name)) + self.out.write('\n') + self.print_method_prototype(i, m, in_synopsis=False) + self.out.write('\n') + self.out.write('%s\n'%(self.expand_paras(m.doc_string, True))) + if m.in_args or m.out_args: + self.out.write('\n') + for a in m.in_args: + self.out.write('\n'%()) + self.out.write(' IN %s %s:\n'%(a.signature, a.name)) + self.out.write(' %s\n'%(self.expand_paras(a.doc_string, True))) + self.out.write('\n'%()) + for a in m.out_args: + self.out.write('\n'%()) + self.out.write(' OUT %s %s:\n'%(a.signature, a.name)) + self.out.write(' %s\n'%(self.expand_paras(a.doc_string, True))) + self.out.write('\n'%()) + self.out.write('\n') + if len(m.since) > 0: + self.out.write('Since %s\n'%(m.since)) + if m.deprecated: + self.out.write('The %s() method is deprecated.'%(m.name)) + self.out.write('\n') + + def print_signal(self, i, s): + self.out.write('\n'%(utils.dots_to_hyphens(i.name), s.name)) + self.out.write(' The "%s" signal\n'%(s.name)) + self.out.write(' %s::%s\n'%(utils.dots_to_hyphens(i.name), s.name, i.name_without_prefix, s.name, i.name, s.name)) + self.out.write('\n') + self.print_signal_prototype(i, s, in_synopsis=False) + self.out.write('\n') + self.out.write('%s\n'%(self.expand_paras(s.doc_string, True))) + if s.args: + self.out.write('\n') + for a in s.args: + self.out.write('\n'%()) + self.out.write(' %s %s:\n'%(a.signature, a.name)) + self.out.write(' %s\n'%(self.expand_paras(a.doc_string, True))) + self.out.write('\n'%()) + self.out.write('\n') + if len(s.since) > 0: + self.out.write('Since %s\n'%(s.since)) + if s.deprecated: + self.out.write('The "%s" signal is deprecated.'%(s.name)) + self.out.write('\n') + + def print_property(self, i, p): + self.out.write('\n'%(utils.dots_to_hyphens(i.name), p.name)) + self.out.write(' The "%s" property\n'%(p.name)) + self.out.write(' %s:%s\n'%(utils.dots_to_hyphens(i.name), p.name, i.name_without_prefix, p.name, i.name, p.name)) + self.out.write('\n') + self.print_property_prototype(i, p, in_synopsis=False) + self.out.write('\n') + self.out.write('%s\n'%(self.expand_paras(p.doc_string, True))) + if len(p.since) > 0: + self.out.write('Since %s\n'%(p.since)) + if p.deprecated: + self.out.write('The "%s" property is deprecated.'%(p.name)) + self.out.write('\n') + + def expand(self, s, expandParamsAndConstants): + for key in self.expand_member_dict_keys: + s = s.replace(key, self.expand_member_dict[key]) + for key in self.expand_iface_dict_keys: + s = s.replace(key, self.expand_iface_dict[key]) + if expandParamsAndConstants: + # replace @foo with foo + s = re.sub('@[a-zA-Z0-9_]*', lambda m: '' + m.group(0)[1:] + '', s) + # replace e.g. %TRUE with TRUE + s = re.sub('%[a-zA-Z0-9_]*', lambda m: '' + m.group(0)[1:] + '', s) + return s + + def expand_paras(self, s, expandParamsAndConstants): + s = self.expand(s, expandParamsAndConstants).strip() + if not s.startswith("\n'%()) + self.out.write('\n'%()) + self.out.write('\n'%(i.name)) + self.out.write(' '%()) + self.out.write(' %s\n'%(utils.dots_to_hyphens(i.name), i.name)) + self.out.write(' %s\n'%(utils.dots_to_hyphens(i.name), i.name_without_prefix, i.name)) + self.out.write(' '%()) + + self.out.write(' '%()) + self.out.write(' %s'%(i.name)) + self.out.write(' %s'%(i.doc_string_brief)) + self.out.write(' '%()) + + if len(i.methods) > 0: + self.print_synopsis_methods(i) + if len(i.signals) > 0: + self.print_synopsis_signals(i) + if len(i.properties) > 0: + self.print_synopsis_properties(i) + + self.out.write('\n'%(utils.dots_to_hyphens(i.name))) + self.out.write(' Description\n'%()) + self.out.write(' %s\n'%(self.expand_paras(i.doc_string, True))) + if len(i.since) > 0: + self.out.write(' Since %s\n'%(i.since)) + if i.deprecated: + self.out.write('The %s interface is deprecated.'%(i.name)) + self.out.write('\n'%()) + + if len(i.methods) > 0: + self.out.write('\n'%(i.name)) + self.out.write(' Method Details\n'%()) + for m in i.methods: + self.print_method(i, m) + self.out.write('\n'%()) + + if len(i.signals) > 0: + self.out.write('\n'%(i.name)) + self.out.write(' Signal Details\n'%()) + for s in i.signals: + self.print_signal(i, s) + self.out.write('\n'%()) + + if len(i.properties) > 0: + self.out.write('\n'%(i.name)) + self.out.write(' Property Details\n'%()) + for s in i.properties: + self.print_property(i, s) + self.out.write('\n'%()) + + self.out.write('\n') + self.out.write('\n') + diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/codegen_docbook.pyc b/gtk-nsis-pack/share/glib-2.0/codegen/codegen_docbook.pyc new file mode 100644 index 000000000..b168d08dd Binary files /dev/null and b/gtk-nsis-pack/share/glib-2.0/codegen/codegen_docbook.pyc differ diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/codegen_main.py b/gtk-nsis-pack/share/glib-2.0/codegen/codegen_main.py new file mode 100644 index 000000000..861df4703 --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/codegen/codegen_main.py @@ -0,0 +1,201 @@ +# -*- Mode: Python -*- + +# GDBus - GLib D-Bus Library +# +# Copyright (C) 2008-2011 Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General +# Public License along with this library; if not, see . +# +# Author: David Zeuthen + +import sys +import optparse + +from . import config +from . import utils +from . import dbustypes +from . import parser +from . import codegen +from . import codegen_docbook + +def find_arg(arg_list, arg_name): + for a in arg_list: + if a.name == arg_name: + return a + return None + +def find_method(iface, method): + for m in iface.methods: + if m.name == method: + return m + return None + +def find_signal(iface, signal): + for m in iface.signals: + if m.name == signal: + return m + return None + +def find_prop(iface, prop): + for m in iface.properties: + if m.name == prop: + return m + return None + +def apply_annotation(iface_list, iface, method, signal, prop, arg, key, value): + iface_obj = None + for i in iface_list: + if i.name == iface: + iface_obj = i + break + + if iface_obj == None: + raise RuntimeError('No interface %s'%iface) + + target_obj = None + + if method: + method_obj = find_method(iface_obj, method) + if method_obj == None: + raise RuntimeError('No method %s on interface %s'%(method, iface)) + if arg: + arg_obj = find_arg(method_obj.in_args, arg) + if (arg_obj == None): + arg_obj = find_arg(method_obj.out_args, arg) + if (arg_obj == None): + raise RuntimeError('No arg %s on method %s on interface %s'%(arg, method, iface)) + target_obj = arg_obj + else: + target_obj = method_obj + elif signal: + signal_obj = find_signal(iface_obj, signal) + if signal_obj == None: + raise RuntimeError('No signal %s on interface %s'%(signal, iface)) + if arg: + arg_obj = find_arg(signal_obj.args, arg) + if (arg_obj == None): + raise RuntimeError('No arg %s on signal %s on interface %s'%(arg, signal, iface)) + target_obj = arg_obj + else: + target_obj = signal_obj + elif prop: + prop_obj = find_prop(iface_obj, prop) + if prop_obj == None: + raise RuntimeError('No property %s on interface %s'%(prop, iface)) + target_obj = prop_obj + else: + target_obj = iface_obj + target_obj.annotations.insert(0, dbustypes.Annotation(key, value)) + + +def apply_annotations(iface_list, annotation_list): + # apply annotations given on the command line + for (what, key, value) in annotation_list: + pos = what.find('::') + if pos != -1: + # signal + iface = what[0:pos]; + signal = what[pos + 2:] + pos = signal.find('[') + if pos != -1: + arg = signal[pos + 1:] + signal = signal[0:pos] + pos = arg.find(']') + arg = arg[0:pos] + apply_annotation(iface_list, iface, None, signal, None, arg, key, value) + else: + apply_annotation(iface_list, iface, None, signal, None, None, key, value) + else: + pos = what.find(':') + if pos != -1: + # property + iface = what[0:pos]; + prop = what[pos + 1:] + apply_annotation(iface_list, iface, None, None, prop, None, key, value) + else: + pos = what.find('()') + if pos != -1: + # method + combined = what[0:pos] + pos = combined.rfind('.') + iface = combined[0:pos] + method = combined[pos + 1:] + pos = what.find('[') + if pos != -1: + arg = what[pos + 1:] + pos = arg.find(']') + arg = arg[0:pos] + apply_annotation(iface_list, iface, method, None, None, arg, key, value) + else: + apply_annotation(iface_list, iface, method, None, None, None, key, value) + else: + # must be an interface + iface = what + apply_annotation(iface_list, iface, None, None, None, None, key, value) + +def codegen_main(): + arg_parser = optparse.OptionParser('%prog [options]') + arg_parser.add_option('', '--xml-files', metavar='FILE', action='append', + help='D-Bus introspection XML file') + arg_parser.add_option('', '--interface-prefix', metavar='PREFIX', default='', + help='String to strip from D-Bus interface names for code and docs') + arg_parser.add_option('', '--c-namespace', metavar='NAMESPACE', default='', + help='The namespace to use for generated C code') + arg_parser.add_option('', '--c-generate-object-manager', action='store_true', + help='Generate a GDBusObjectManagerClient subclass when generating C code') + arg_parser.add_option('', '--generate-c-code', metavar='OUTFILES', + help='Generate C code in OUTFILES.[ch]') + arg_parser.add_option('', '--generate-docbook', metavar='OUTFILES', + help='Generate Docbook in OUTFILES-org.Project.IFace.xml') + arg_parser.add_option('', '--annotate', nargs=3, action='append', metavar='WHAT KEY VALUE', + help='Add annotation (may be used several times)') + (opts, args) = arg_parser.parse_args(); + + all_ifaces = [] + for fname in args: + f = open(fname, 'rb') + xml_data = f.read() + f.close() + parsed_ifaces = parser.parse_dbus_xml(xml_data) + all_ifaces.extend(parsed_ifaces) + + if opts.annotate != None: + apply_annotations(all_ifaces, opts.annotate) + + for i in all_ifaces: + i.post_process(opts.interface_prefix, opts.c_namespace) + + docbook = opts.generate_docbook + docbook_gen = codegen_docbook.DocbookCodeGenerator(all_ifaces, docbook); + if docbook: + ret = docbook_gen.generate() + + c_code = opts.generate_c_code + if c_code: + h = open(c_code + '.h', 'w') + c = open(c_code + '.c', 'w') + gen = codegen.CodeGenerator(all_ifaces, + opts.c_namespace, + opts.interface_prefix, + opts.c_generate_object_manager, + docbook_gen, + h, c); + ret = gen.generate() + h.close() + c.close() + + sys.exit(0) + +if __name__ == "__main__": + codegen_main() diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/codegen_main.pyc b/gtk-nsis-pack/share/glib-2.0/codegen/codegen_main.pyc new file mode 100644 index 000000000..da370f06a Binary files /dev/null and b/gtk-nsis-pack/share/glib-2.0/codegen/codegen_main.pyc differ diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/config.py b/gtk-nsis-pack/share/glib-2.0/codegen/config.py new file mode 100644 index 000000000..c3ee017e0 --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/codegen/config.py @@ -0,0 +1,25 @@ +# -*- Mode: Python -*- + +# GDBus - GLib D-Bus Library +# +# Copyright (C) 2008-2011 Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General +# Public License along with this library; if not, see . +# +# Author: David Zeuthen + +DATADIR = "${prefix}/share" +DATADIR = DATADIR.replace( + "${prefix}", "/usr/local") +VERSION = "2.48.0" diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/config.pyc b/gtk-nsis-pack/share/glib-2.0/codegen/config.pyc new file mode 100644 index 000000000..20501ef80 Binary files /dev/null and b/gtk-nsis-pack/share/glib-2.0/codegen/config.pyc differ diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/dbustypes.py b/gtk-nsis-pack/share/glib-2.0/codegen/dbustypes.py new file mode 100644 index 000000000..8787c929c --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/codegen/dbustypes.py @@ -0,0 +1,424 @@ +# -*- Mode: Python -*- + +# GDBus - GLib D-Bus Library +# +# Copyright (C) 2008-2011 Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General +# Public License along with this library; if not, see . +# +# Author: David Zeuthen + +from . import utils + +class Annotation: + def __init__(self, key, value): + self.key = key + self.value = value + self.annotations = [] + +class Arg: + def __init__(self, name, signature): + self.name = name + self.signature = signature + self.annotations = [] + self.doc_string = '' + self.since = '' + + def post_process(self, interface_prefix, cns, cns_upper, cns_lower, arg_number): + if len(self.doc_string) == 0: + self.doc_string = utils.lookup_docs(self.annotations) + if len(self.since) == 0: + self.since = utils.lookup_since(self.annotations) + + if self.name == None: + self.name = 'unnamed_arg%d'%arg_number + # default to GVariant + self.ctype_in_g = 'GVariant *' + self.ctype_in = 'GVariant *' + self.ctype_in_dup = 'GVariant *' + self.ctype_out = 'GVariant **' + self.gtype = 'G_TYPE_VARIANT' + self.free_func = 'g_variant_unref' + self.format_in = '@' + self.signature + self.format_out = '@' + self.signature + self.gvariant_get = 'XXX' + self.gvalue_get = 'g_value_get_variant' + if not utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.C.ForceGVariant'): + if self.signature == 'b': + self.ctype_in_g = 'gboolean ' + self.ctype_in = 'gboolean ' + self.ctype_out = 'gboolean *' + self.gtype = 'G_TYPE_BOOLEAN' + self.free_func = None + self.format_in = 'b' + self.format_out = 'b' + self.gvariant_get = 'g_variant_get_boolean' + self.gvalue_get = 'g_value_get_boolean' + elif self.signature == 'y': + self.ctype_in_g = 'guchar ' + self.ctype_in = 'guchar ' + self.ctype_out = 'guchar *' + self.gtype = 'G_TYPE_UCHAR' + self.free_func = None + self.format_in = 'y' + self.format_out = 'y' + self.gvariant_get = 'g_variant_get_byte' + self.gvalue_get = 'g_value_get_uchar' + elif self.signature == 'n': + self.ctype_in_g = 'gint ' + self.ctype_in = 'gint16 ' + self.ctype_out = 'gint16 *' + self.gtype = 'G_TYPE_INT' + self.free_func = None + self.format_in = 'n' + self.format_out = 'n' + self.gvariant_get = 'g_variant_get_int16' + self.gvalue_get = 'g_value_get_int' + elif self.signature == 'q': + self.ctype_in_g = 'guint ' + self.ctype_in = 'guint16 ' + self.ctype_out = 'guint16 *' + self.gtype = 'G_TYPE_UINT' + self.free_func = None + self.format_in = 'q' + self.format_out = 'q' + self.gvariant_get = 'g_variant_get_uint16' + self.gvalue_get = 'g_value_get_uint' + elif self.signature == 'i': + self.ctype_in_g = 'gint ' + self.ctype_in = 'gint ' + self.ctype_out = 'gint *' + self.gtype = 'G_TYPE_INT' + self.free_func = None + self.format_in = 'i' + self.format_out = 'i' + self.gvariant_get = 'g_variant_get_int32' + self.gvalue_get = 'g_value_get_int' + elif self.signature == 'u': + self.ctype_in_g = 'guint ' + self.ctype_in = 'guint ' + self.ctype_out = 'guint *' + self.gtype = 'G_TYPE_UINT' + self.free_func = None + self.format_in = 'u' + self.format_out = 'u' + self.gvariant_get = 'g_variant_get_uint32' + self.gvalue_get = 'g_value_get_uint' + elif self.signature == 'x': + self.ctype_in_g = 'gint64 ' + self.ctype_in = 'gint64 ' + self.ctype_out = 'gint64 *' + self.gtype = 'G_TYPE_INT64' + self.free_func = None + self.format_in = 'x' + self.format_out = 'x' + self.gvariant_get = 'g_variant_get_int64' + self.gvalue_get = 'g_value_get_int64' + elif self.signature == 't': + self.ctype_in_g = 'guint64 ' + self.ctype_in = 'guint64 ' + self.ctype_out = 'guint64 *' + self.gtype = 'G_TYPE_UINT64' + self.free_func = None + self.format_in = 't' + self.format_out = 't' + self.gvariant_get = 'g_variant_get_uint64' + self.gvalue_get = 'g_value_get_uint64' + elif self.signature == 'd': + self.ctype_in_g = 'gdouble ' + self.ctype_in = 'gdouble ' + self.ctype_out = 'gdouble *' + self.gtype = 'G_TYPE_DOUBLE' + self.free_func = None + self.format_in = 'd' + self.format_out = 'd' + self.gvariant_get = 'g_variant_get_double' + self.gvalue_get = 'g_value_get_double' + elif self.signature == 's': + self.ctype_in_g = 'const gchar *' + self.ctype_in = 'const gchar *' + self.ctype_in_dup = 'gchar *' + self.ctype_out = 'gchar **' + self.gtype = 'G_TYPE_STRING' + self.free_func = 'g_free' + self.format_in = 's' + self.format_out = 's' + self.gvariant_get = 'g_variant_get_string' + self.gvalue_get = 'g_value_get_string' + elif self.signature == 'o': + self.ctype_in_g = 'const gchar *' + self.ctype_in = 'const gchar *' + self.ctype_in_dup = 'gchar *' + self.ctype_out = 'gchar **' + self.gtype = 'G_TYPE_STRING' + self.free_func = 'g_free' + self.format_in = 'o' + self.format_out = 'o' + self.gvariant_get = 'g_variant_get_string' + self.gvalue_get = 'g_value_get_string' + elif self.signature == 'g': + self.ctype_in_g = 'const gchar *' + self.ctype_in = 'const gchar *' + self.ctype_in_dup = 'gchar *' + self.ctype_out = 'gchar **' + self.gtype = 'G_TYPE_STRING' + self.free_func = 'g_free' + self.format_in = 'g' + self.format_out = 'g' + self.gvariant_get = 'g_variant_get_string' + self.gvalue_get = 'g_value_get_string' + elif self.signature == 'ay': + self.ctype_in_g = 'const gchar *' + self.ctype_in = 'const gchar *' + self.ctype_in_dup = 'gchar *' + self.ctype_out = 'gchar **' + self.gtype = 'G_TYPE_STRING' + self.free_func = 'g_free' + self.format_in = '^ay' + self.format_out = '^ay' + self.gvariant_get = 'g_variant_get_bytestring' + self.gvalue_get = 'g_value_get_string' + elif self.signature == 'as': + self.ctype_in_g = 'const gchar *const *' + self.ctype_in = 'const gchar *const *' + self.ctype_in_dup = 'gchar **' + self.ctype_out = 'gchar ***' + self.gtype = 'G_TYPE_STRV' + self.free_func = 'g_strfreev' + self.format_in = '^as' + self.format_out = '^as' + self.gvariant_get = 'g_variant_get_strv' + self.gvalue_get = 'g_value_get_boxed' + elif self.signature == 'ao': + self.ctype_in_g = 'const gchar *const *' + self.ctype_in = 'const gchar *const *' + self.ctype_in_dup = 'gchar **' + self.ctype_out = 'gchar ***' + self.gtype = 'G_TYPE_STRV' + self.free_func = 'g_strfreev' + self.format_in = '^ao' + self.format_out = '^ao' + self.gvariant_get = 'g_variant_get_objv' + self.gvalue_get = 'g_value_get_boxed' + elif self.signature == 'aay': + self.ctype_in_g = 'const gchar *const *' + self.ctype_in = 'const gchar *const *' + self.ctype_in_dup = 'gchar **' + self.ctype_out = 'gchar ***' + self.gtype = 'G_TYPE_STRV' + self.free_func = 'g_strfreev' + self.format_in = '^aay' + self.format_out = '^aay' + self.gvariant_get = 'g_variant_get_bytestring_array' + self.gvalue_get = 'g_value_get_boxed' + +class Method: + def __init__(self, name): + self.name = name + self.in_args = [] + self.out_args = [] + self.annotations = [] + self.doc_string = '' + self.since = '' + self.deprecated = False + + def post_process(self, interface_prefix, cns, cns_upper, cns_lower, containing_iface): + if len(self.doc_string) == 0: + self.doc_string = utils.lookup_docs(self.annotations) + if len(self.since) == 0: + self.since = utils.lookup_since(self.annotations) + if len(self.since) == 0: + self.since = containing_iface.since + + name = self.name + overridden_name = utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.C.Name') + if utils.is_ugly_case(overridden_name): + self.name_lower = overridden_name.lower() + else: + if overridden_name: + name = overridden_name + self.name_lower = utils.camel_case_to_uscore(name).lower().replace('-', '_') + self.name_hyphen = self.name_lower.replace('_', '-') + + arg_count = 0 + for a in self.in_args: + a.post_process(interface_prefix, cns, cns_upper, cns_lower, arg_count) + arg_count += 1 + + for a in self.out_args: + a.post_process(interface_prefix, cns, cns_upper, cns_lower, arg_count) + arg_count += 1 + + if utils.lookup_annotation(self.annotations, 'org.freedesktop.DBus.Deprecated') == 'true': + self.deprecated = True + +class Signal: + def __init__(self, name): + self.name = name + self.args = [] + self.annotations = [] + self.doc_string = '' + self.since = '' + self.deprecated = False + + def post_process(self, interface_prefix, cns, cns_upper, cns_lower, containing_iface): + if len(self.doc_string) == 0: + self.doc_string = utils.lookup_docs(self.annotations) + if len(self.since) == 0: + self.since = utils.lookup_since(self.annotations) + if len(self.since) == 0: + self.since = containing_iface.since + + name = self.name + overridden_name = utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.C.Name') + if utils.is_ugly_case(overridden_name): + self.name_lower = overridden_name.lower() + else: + if overridden_name: + name = overridden_name + self.name_lower = utils.camel_case_to_uscore(name).lower().replace('-', '_') + self.name_hyphen = self.name_lower.replace('_', '-') + + arg_count = 0 + for a in self.args: + a.post_process(interface_prefix, cns, cns_upper, cns_lower, arg_count) + arg_count += 1 + + if utils.lookup_annotation(self.annotations, 'org.freedesktop.DBus.Deprecated') == 'true': + self.deprecated = True + +class Property: + def __init__(self, name, signature, access): + self.name = name + self.signature = signature + self.access = access + self.annotations = [] + self.arg = Arg('value', self.signature) + self.arg.annotations = self.annotations + self.readable = False + self.writable = False + if self.access == 'readwrite': + self.readable = True + self.writable = True + elif self.access == 'read': + self.readable = True + elif self.access == 'write': + self.writable = True + else: + raise RuntimeError('Invalid access type %s'%self.access) + self.doc_string = '' + self.since = '' + self.deprecated = False + + def post_process(self, interface_prefix, cns, cns_upper, cns_lower, containing_iface): + if len(self.doc_string) == 0: + self.doc_string = utils.lookup_docs(self.annotations) + if len(self.since) == 0: + self.since = utils.lookup_since(self.annotations) + if len(self.since) == 0: + self.since = containing_iface.since + + name = self.name + overridden_name = utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.C.Name') + if utils.is_ugly_case(overridden_name): + self.name_lower = overridden_name.lower() + else: + if overridden_name: + name = overridden_name + self.name_lower = utils.camel_case_to_uscore(name).lower().replace('-', '_') + self.name_hyphen = self.name_lower.replace('_', '-') + # don't clash with the GType getter, e.g.: GType foo_bar_get_type (void); G_GNUC_CONST + if self.name_lower == 'type': + self.name_lower = 'type_' + + # recalculate arg + self.arg.annotations = self.annotations + self.arg.post_process(interface_prefix, cns, cns_upper, cns_lower, 0) + + if utils.lookup_annotation(self.annotations, 'org.freedesktop.DBus.Deprecated') == 'true': + self.deprecated = True + +class Interface: + def __init__(self, name): + self.name = name + self.methods = [] + self.signals = [] + self.properties = [] + self.annotations = [] + self.doc_string = '' + self.doc_string_brief = '' + self.since = '' + self.deprecated = False + + def post_process(self, interface_prefix, c_namespace): + if len(self.doc_string) == 0: + self.doc_string = utils.lookup_docs(self.annotations) + if len(self.doc_string_brief) == 0: + self.doc_string_brief = utils.lookup_brief_docs(self.annotations) + if len(self.since) == 0: + self.since = utils.lookup_since(self.annotations) + + if len(c_namespace) > 0: + if utils.is_ugly_case(c_namespace): + cns = c_namespace.replace('_', '') + cns_upper = c_namespace.upper() + '_' + cns_lower = c_namespace.lower() + '_' + else: + cns = c_namespace + cns_upper = utils.camel_case_to_uscore(c_namespace).upper() + '_' + cns_lower = utils.camel_case_to_uscore(c_namespace).lower() + '_' + else: + cns = '' + cns_upper = '' + cns_lower = '' + + overridden_name = utils.lookup_annotation(self.annotations, 'org.gtk.GDBus.C.Name') + if utils.is_ugly_case(overridden_name): + name = overridden_name.replace('_', '') + name_with_ns = cns + name + self.name_without_prefix = name + self.camel_name = name_with_ns + self.ns_upper = cns_upper + self.name_lower = cns_lower + overridden_name.lower() + self.name_upper = overridden_name.upper() + + #raise RuntimeError('handle Ugly_Case ', overridden_name) + else: + if overridden_name: + name = overridden_name + else: + name = self.name + if name.startswith(interface_prefix): + name = name[len(interface_prefix):] + self.name_without_prefix = name + name = utils.strip_dots(name) + name_with_ns = utils.strip_dots(cns + '.' + name) + self.camel_name = name_with_ns + self.ns_upper = cns_upper + self.name_lower = cns_lower + utils.camel_case_to_uscore(name) + self.name_upper = utils.camel_case_to_uscore(name).upper() + + self.name_hyphen = self.name_upper.lower().replace('_', '-') + + if utils.lookup_annotation(self.annotations, 'org.freedesktop.DBus.Deprecated') == 'true': + self.deprecated = True + + for m in self.methods: + m.post_process(interface_prefix, cns, cns_upper, cns_lower, self) + + for s in self.signals: + s.post_process(interface_prefix, cns, cns_upper, cns_lower, self) + + for p in self.properties: + p.post_process(interface_prefix, cns, cns_upper, cns_lower, self) diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/dbustypes.pyc b/gtk-nsis-pack/share/glib-2.0/codegen/dbustypes.pyc new file mode 100644 index 000000000..c5fdc29f6 Binary files /dev/null and b/gtk-nsis-pack/share/glib-2.0/codegen/dbustypes.pyc differ diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/parser.py b/gtk-nsis-pack/share/glib-2.0/codegen/parser.py new file mode 100644 index 000000000..178d1148c --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/codegen/parser.py @@ -0,0 +1,288 @@ +# -*- Mode: Python -*- + +# GDBus - GLib D-Bus Library +# +# Copyright (C) 2008-2011 Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General +# Public License along with this library; if not, see . +# +# Author: David Zeuthen + +import sys +import xml.parsers.expat + +from . import dbustypes + +class DBusXMLParser: + STATE_TOP = 'top' + STATE_NODE = 'node' + STATE_INTERFACE = 'interface' + STATE_METHOD = 'method' + STATE_SIGNAL = 'signal' + STATE_PROPERTY = 'property' + STATE_ARG = 'arg' + STATE_ANNOTATION = 'annotation' + STATE_IGNORED = 'ignored' + + def __init__(self, xml_data): + self._parser = xml.parsers.expat.ParserCreate() + self._parser.CommentHandler = self.handle_comment + self._parser.CharacterDataHandler = self.handle_char_data + self._parser.StartElementHandler = self.handle_start_element + self._parser.EndElementHandler = self.handle_end_element + + self.parsed_interfaces = [] + self._cur_object = None + + self.state = DBusXMLParser.STATE_TOP + self.state_stack = [] + self._cur_object = None + self._cur_object_stack = [] + + self.doc_comment_last_symbol = '' + + self._parser.Parse(xml_data) + + COMMENT_STATE_BEGIN = 'begin' + COMMENT_STATE_PARAMS = 'params' + COMMENT_STATE_BODY = 'body' + COMMENT_STATE_SKIP = 'skip' + def handle_comment(self, data): + comment_state = DBusXMLParser.COMMENT_STATE_BEGIN; + lines = data.split('\n') + symbol = '' + body = '' + in_para = False + params = {} + for line in lines: + orig_line = line + line = line.lstrip() + if comment_state == DBusXMLParser.COMMENT_STATE_BEGIN: + if len(line) > 0: + colon_index = line.find(': ') + if colon_index == -1: + if line.endswith(':'): + symbol = line[0:len(line)-1] + comment_state = DBusXMLParser.COMMENT_STATE_PARAMS + else: + comment_state = DBusXMLParser.COMMENT_STATE_SKIP + else: + symbol = line[0:colon_index] + rest_of_line = line[colon_index+2:].strip() + if len(rest_of_line) > 0: + body += '' + rest_of_line + '' + comment_state = DBusXMLParser.COMMENT_STATE_PARAMS + elif comment_state == DBusXMLParser.COMMENT_STATE_PARAMS: + if line.startswith('@'): + colon_index = line.find(': ') + if colon_index == -1: + comment_state = DBusXMLParser.COMMENT_STATE_BODY + if not in_para: + body += '' + in_para = True + body += orig_line + '\n' + else: + param = line[1:colon_index] + docs = line[colon_index + 2:] + params[param] = docs + else: + comment_state = DBusXMLParser.COMMENT_STATE_BODY + if len(line) > 0: + if not in_para: + body += '' + in_para = True + body += orig_line + '\n' + elif comment_state == DBusXMLParser.COMMENT_STATE_BODY: + if len(line) > 0: + if not in_para: + body += '' + in_para = True + body += orig_line + '\n' + else: + if in_para: + body += '' + in_para = False + if in_para: + body += '' + + if symbol != '': + self.doc_comment_last_symbol = symbol + self.doc_comment_params = params + self.doc_comment_body = body + + def handle_char_data(self, data): + #print 'char_data=%s'%data + pass + + def handle_start_element(self, name, attrs): + old_state = self.state + old_cur_object = self._cur_object + if self.state == DBusXMLParser.STATE_IGNORED: + self.state = DBusXMLParser.STATE_IGNORED + elif self.state == DBusXMLParser.STATE_TOP: + if name == DBusXMLParser.STATE_NODE: + self.state = DBusXMLParser.STATE_NODE + else: + self.state = DBusXMLParser.STATE_IGNORED + elif self.state == DBusXMLParser.STATE_NODE: + if name == DBusXMLParser.STATE_INTERFACE: + self.state = DBusXMLParser.STATE_INTERFACE + iface = dbustypes.Interface(attrs['name']) + self._cur_object = iface + self.parsed_interfaces.append(iface) + elif name == DBusXMLParser.STATE_ANNOTATION: + self.state = DBusXMLParser.STATE_ANNOTATION + anno = dbustypes.Annotation(attrs['name'], attrs['value']) + self._cur_object.annotations.append(anno) + self._cur_object = anno + else: + self.state = DBusXMLParser.STATE_IGNORED + + # assign docs, if any + if 'name' in attrs and self.doc_comment_last_symbol == attrs['name']: + self._cur_object.doc_string = self.doc_comment_body + if 'short_description' in self.doc_comment_params: + short_description = self.doc_comment_params['short_description'] + self._cur_object.doc_string_brief = short_description + if 'since' in self.doc_comment_params: + self._cur_object.since = self.doc_comment_params['since'] + + elif self.state == DBusXMLParser.STATE_INTERFACE: + if name == DBusXMLParser.STATE_METHOD: + self.state = DBusXMLParser.STATE_METHOD + method = dbustypes.Method(attrs['name']) + self._cur_object.methods.append(method) + self._cur_object = method + elif name == DBusXMLParser.STATE_SIGNAL: + self.state = DBusXMLParser.STATE_SIGNAL + signal = dbustypes.Signal(attrs['name']) + self._cur_object.signals.append(signal) + self._cur_object = signal + elif name == DBusXMLParser.STATE_PROPERTY: + self.state = DBusXMLParser.STATE_PROPERTY + prop = dbustypes.Property(attrs['name'], attrs['type'], attrs['access']) + self._cur_object.properties.append(prop) + self._cur_object = prop + elif name == DBusXMLParser.STATE_ANNOTATION: + self.state = DBusXMLParser.STATE_ANNOTATION + anno = dbustypes.Annotation(attrs['name'], attrs['value']) + self._cur_object.annotations.append(anno) + self._cur_object = anno + else: + self.state = DBusXMLParser.STATE_IGNORED + + # assign docs, if any + if 'name' in attrs and self.doc_comment_last_symbol == attrs['name']: + self._cur_object.doc_string = self.doc_comment_body + if 'since' in self.doc_comment_params: + self._cur_object.since = self.doc_comment_params['since'] + + elif self.state == DBusXMLParser.STATE_METHOD: + if name == DBusXMLParser.STATE_ARG: + self.state = DBusXMLParser.STATE_ARG + arg_name = None + if 'name' in attrs: + arg_name = attrs['name'] + arg = dbustypes.Arg(arg_name, attrs['type']) + direction = attrs.get('direction', 'in') + if direction == 'in': + self._cur_object.in_args.append(arg) + elif direction == 'out': + self._cur_object.out_args.append(arg) + else: + raise RuntimeError('Invalid direction "%s"'%(direction)) + self._cur_object = arg + elif name == DBusXMLParser.STATE_ANNOTATION: + self.state = DBusXMLParser.STATE_ANNOTATION + anno = dbustypes.Annotation(attrs['name'], attrs['value']) + self._cur_object.annotations.append(anno) + self._cur_object = anno + else: + self.state = DBusXMLParser.STATE_IGNORED + + # assign docs, if any + if self.doc_comment_last_symbol == old_cur_object.name: + if 'name' in attrs and attrs['name'] in self.doc_comment_params: + doc_string = self.doc_comment_params[attrs['name']] + if doc_string != None: + self._cur_object.doc_string = doc_string + if 'since' in self.doc_comment_params: + self._cur_object.since = self.doc_comment_params['since'] + + elif self.state == DBusXMLParser.STATE_SIGNAL: + if name == DBusXMLParser.STATE_ARG: + self.state = DBusXMLParser.STATE_ARG + arg_name = None + if 'name' in attrs: + arg_name = attrs['name'] + arg = dbustypes.Arg(arg_name, attrs['type']) + self._cur_object.args.append(arg) + self._cur_object = arg + elif name == DBusXMLParser.STATE_ANNOTATION: + self.state = DBusXMLParser.STATE_ANNOTATION + anno = dbustypes.Annotation(attrs['name'], attrs['value']) + self._cur_object.annotations.append(anno) + self._cur_object = anno + else: + self.state = DBusXMLParser.STATE_IGNORED + + # assign docs, if any + if self.doc_comment_last_symbol == old_cur_object.name: + if 'name' in attrs and attrs['name'] in self.doc_comment_params: + doc_string = self.doc_comment_params[attrs['name']] + if doc_string != None: + self._cur_object.doc_string = doc_string + if 'since' in self.doc_comment_params: + self._cur_object.since = self.doc_comment_params['since'] + + elif self.state == DBusXMLParser.STATE_PROPERTY: + if name == DBusXMLParser.STATE_ANNOTATION: + self.state = DBusXMLParser.STATE_ANNOTATION + anno = dbustypes.Annotation(attrs['name'], attrs['value']) + self._cur_object.annotations.append(anno) + self._cur_object = anno + else: + self.state = DBusXMLParser.STATE_IGNORED + + elif self.state == DBusXMLParser.STATE_ARG: + if name == DBusXMLParser.STATE_ANNOTATION: + self.state = DBusXMLParser.STATE_ANNOTATION + anno = dbustypes.Annotation(attrs['name'], attrs['value']) + self._cur_object.annotations.append(anno) + self._cur_object = anno + else: + self.state = DBusXMLParser.STATE_IGNORED + + elif self.state == DBusXMLParser.STATE_ANNOTATION: + if name == DBusXMLParser.STATE_ANNOTATION: + self.state = DBusXMLParser.STATE_ANNOTATION + anno = dbustypes.Annotation(attrs['name'], attrs['value']) + self._cur_object.annotations.append(anno) + self._cur_object = anno + else: + self.state = DBusXMLParser.STATE_IGNORED + + else: + raise RuntimeError('Unhandled state "%s" while entering element with name "%s"'%(self.state, name)) + + self.state_stack.append(old_state) + self._cur_object_stack.append(old_cur_object) + + def handle_end_element(self, name): + self.state = self.state_stack.pop() + self._cur_object = self._cur_object_stack.pop() + +def parse_dbus_xml(xml_data): + parser = DBusXMLParser(xml_data) + return parser.parsed_interfaces diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/parser.pyc b/gtk-nsis-pack/share/glib-2.0/codegen/parser.pyc new file mode 100644 index 000000000..079ea96c1 Binary files /dev/null and b/gtk-nsis-pack/share/glib-2.0/codegen/parser.pyc differ diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/utils.py b/gtk-nsis-pack/share/glib-2.0/codegen/utils.py new file mode 100644 index 000000000..c672dec16 --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/codegen/utils.py @@ -0,0 +1,102 @@ +# -*- Mode: Python -*- + +# GDBus - GLib D-Bus Library +# +# Copyright (C) 2008-2011 Red Hat, Inc. +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General +# Public License along with this library; if not, see . +# +# Author: David Zeuthen + +import distutils.version + +def strip_dots(s): + ret = '' + force_upper = False + for c in s: + if c == '.': + force_upper = True + else: + if force_upper: + ret += c.upper() + force_upper = False + else: + ret += c + return ret + +def dots_to_hyphens(s): + return s.replace('.', '-') + +def camel_case_to_uscore(s): + ret = '' + insert_uscore = False + prev_was_lower = False + initial = True; + for c in s: + # Keep initial underscores in camel case + if initial and c == '_': + ret += '_' + continue; + initial = False + + if c.isupper(): + if prev_was_lower: + insert_uscore = True + prev_was_lower = False + else: + prev_was_lower = True + if insert_uscore: + ret += '_' + ret += c.lower() + insert_uscore = False + return ret + +def is_ugly_case(s): + if s and s.find('_') > 0: + return True + return False + +def lookup_annotation(annotations, key): + if annotations: + for a in annotations: + if a.key == key: + return a.value + return None + +def lookup_docs(annotations): + s = lookup_annotation(annotations, 'org.gtk.GDBus.DocString') + if s == None: + return '' + else: + return s + +def lookup_since(annotations): + s = lookup_annotation(annotations, 'org.gtk.GDBus.Since') + if s == None: + return '' + else: + return s + +def lookup_brief_docs(annotations): + s = lookup_annotation(annotations, 'org.gtk.GDBus.DocString.Short') + if s == None: + return '' + else: + return s + +def version_cmp_key(key): + # If the 'since' version is empty put a 0 in its place as this will + # allow LooseVersion to work and will always compare lower. + v = key[0] if key[0] else '0' + return (distutils.version.LooseVersion(v), key[1]) diff --git a/gtk-nsis-pack/share/glib-2.0/codegen/utils.pyc b/gtk-nsis-pack/share/glib-2.0/codegen/utils.pyc new file mode 100644 index 000000000..720caa5d3 Binary files /dev/null and b/gtk-nsis-pack/share/glib-2.0/codegen/utils.pyc differ diff --git a/gtk-nsis-pack/share/glib-2.0/gdb/glib.py b/gtk-nsis-pack/share/glib-2.0/gdb/glib.py new file mode 100644 index 000000000..38f101ad5 --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/gdb/glib.py @@ -0,0 +1,261 @@ +import gdb +import sys + +if sys.version_info[0] >= 3: + long = int + +# This is not quite right, as local vars may override symname +def read_global_var (symname): + return gdb.selected_frame().read_var(symname) + +def g_quark_to_string (quark): + if quark == None: + return None + quark = long(quark) + if quark == 0: + return None + try: + val = read_global_var ("quarks") + max_q = long(read_global_var ("quark_seq_id")) + except: + try: + val = read_global_var ("g_quarks") + max_q = long(read_global_var ("g_quark_seq_id")) + except: + return None; + if quark < max_q: + return val[quark].string() + return None + +# We override the node printers too, so that node->next is not expanded +class GListNodePrinter: + "Prints a GList node" + + def __init__ (self, val): + self.val = val + + def to_string (self): + return "{data=%s, next=0x%x, prev=0x%x}" % (str(self.val["data"]), long(self.val["next"]), long(self.val["prev"])) + +class GSListNodePrinter: + "Prints a GSList node" + + def __init__ (self, val): + self.val = val + + def to_string (self): + return "{data=%s, next=0x%x}" % (str(self.val["data"]), long(self.val["next"])) + +class GListPrinter: + "Prints a GList" + + class _iterator: + def __init__(self, head, listtype): + self.link = head + self.listtype = listtype + self.count = 0 + + def __iter__(self): + return self + + def next(self): + if self.link == 0: + raise StopIteration + data = self.link['data'] + self.link = self.link['next'] + count = self.count + self.count = self.count + 1 + return ('[%d]' % count, data) + + __next__ = next + + def __init__ (self, val, listtype): + self.val = val + self.listtype = listtype + + def children(self): + return self._iterator(self.val, self.listtype) + + def to_string (self): + return "0x%x" % (long(self.val)) + + def display_hint (self): + return "array" + +class GHashPrinter: + "Prints a GHashTable" + + class _iterator: + def __init__(self, ht, keys_are_strings): + self.ht = ht + if ht != 0: + self.keys = ht["keys"] + self.values = ht["values"] + self.hashes = ht["hashes"] + self.size = ht["size"] + self.pos = 0 + self.keys_are_strings = keys_are_strings + self.value = None + + def __iter__(self): + return self + + def next(self): + if self.ht == 0: + raise StopIteration + if self.value != None: + v = self.value + self.value = None + return v + while long(self.pos) < long(self.size): + self.pos = self.pos + 1 + if long (self.hashes[self.pos]) >= 2: + key = self.keys[self.pos] + val = self.values[self.pos] + + if self.keys_are_strings: + key = key.cast (gdb.lookup_type("char").pointer()) + + # Queue value for next result + self.value = ('[%dv]'% (self.pos), val) + + # Return key + return ('[%dk]'% (self.pos), key) + raise StopIteration + + __next__ = next + + def __init__ (self, val): + self.val = val + self.keys_are_strings = False + try: + string_hash = read_global_var ("g_str_hash") + except: + string_hash = None + if self.val != 0 and string_hash != None and self.val["hash_func"] == string_hash: + self.keys_are_strings = True + + def children(self): + return self._iterator(self.val, self.keys_are_strings) + + def to_string (self): + return "0x%x" % (long(self.val)) + + def display_hint (self): + return "map" + +def pretty_printer_lookup (val): + # None yet, want things like hash table and list + + type = val.type.unqualified() + + # If it points to a reference, get the reference. + if type.code == gdb.TYPE_CODE_REF: + type = type.target () + + if type.code == gdb.TYPE_CODE_PTR: + type = type.target().unqualified() + t = str(type) + if t == "GList": + return GListPrinter(val, "GList") + if t == "GSList": + return GListPrinter(val, "GSList") + if t == "GHashTable": + return GHashPrinter(val) + else: + t = str(type) + if t == "GList": + return GListNodePrinter(val) + if t == "GSList *": + return GListPrinter(val, "GSList") + return None + +def register (obj): + if obj == None: + obj = gdb + + obj.pretty_printers.append(pretty_printer_lookup) + +class ForeachCommand (gdb.Command): + """Foreach on list""" + + def __init__ (self): + super (ForeachCommand, self).__init__ ("gforeach", + gdb.COMMAND_DATA, + gdb.COMPLETE_SYMBOL) + + def valid_name (self, name): + if not name[0].isalpha(): + return False + return True + + def parse_args (self, arg): + i = arg.find(" ") + if i <= 0: + raise Exception ("No var specified") + var = arg[:i] + if not self.valid_name(var): + raise Exception ("Invalid variable name") + + while i < len (arg) and arg[i].isspace(): + i = i + 1 + + if arg[i:i+2] != "in": + raise Exception ("Invalid syntax, missing in") + + i = i + 2 + + while i < len (arg) and arg[i].isspace(): + i = i + 1 + + colon = arg.find (":", i) + if colon == -1: + raise Exception ("Invalid syntax, missing colon") + + val = arg[i:colon] + + colon = colon + 1 + while colon < len (arg) and arg[colon].isspace(): + colon = colon + 1 + + command = arg[colon:] + + return (var, val, command) + + def do_iter(self, arg, item, command): + item = item.cast (gdb.lookup_type("void").pointer()) + item = long(item) + to_eval = "set $%s = (void *)0x%x\n"%(arg, item) + gdb.execute(to_eval) + gdb.execute(command) + + def slist_iterator (self, arg, container, command): + l = container.cast (gdb.lookup_type("GSList").pointer()) + while long(l) != 0: + self.do_iter (arg, l["data"], command) + l = l["next"] + + def list_iterator (self, arg, container, command): + l = container.cast (gdb.lookup_type("GList").pointer()) + while long(l) != 0: + self.do_iter (arg, l["data"], command) + l = l["next"] + + def pick_iterator (self, container): + t = container.type.unqualified() + if t.code == gdb.TYPE_CODE_PTR: + t = t.target().unqualified() + t = str(t) + if t == "GSList": + return self.slist_iterator + if t == "GList": + return self.list_iterator + raise Exception("Invalid container type %s"%(str(container.type))) + + def invoke (self, arg, from_tty): + (var, container, command) = self.parse_args(arg) + container = gdb.parse_and_eval (container) + func = self.pick_iterator(container) + func(var, container, command) + +ForeachCommand () diff --git a/gtk-nsis-pack/share/glib-2.0/gdb/gobject.py b/gtk-nsis-pack/share/glib-2.0/gdb/gobject.py new file mode 100644 index 000000000..2311d6c83 --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/gdb/gobject.py @@ -0,0 +1,295 @@ +import os.path +import gdb +import glib +import sys + +if sys.version_info[0] >= 3: + long = int +else: + import itertools + map = itertools.imap + +# FrameDecorator is new in gdb 7.7, so we adapt to its absence. +try: + import gdb.FrameDecorator + HAVE_GDB_FRAMEDECORATOR = True + FrameDecorator = gdb.FrameDecorator.FrameDecorator +except ImportError: + HAVE_GDB_FRAMEDECORATOR = False + +# This is not quite right, as local vars may override symname +def read_global_var (symname): + return gdb.selected_frame().read_var(symname) + +def g_type_to_name (gtype): + def lookup_fundamental_type (typenode): + if typenode == 0: + return None + val = read_global_var ("static_fundamental_type_nodes") + if val == None: + return None + return val[typenode >> 2].address() + + gtype = long(gtype) + typenode = gtype - gtype % 4 + if typenode > (255 << 2): + typenode = gdb.Value(typenode).cast (gdb.lookup_type("TypeNode").pointer()) + else: + typenode = lookup_fundamental_type (typenode) + if typenode != None: + return glib.g_quark_to_string (typenode["qname"]) + return None + +def is_g_type_instance (val): + def is_g_type_instance_helper (type): + if str(type) == "GTypeInstance": + return True + + while type.code == gdb.TYPE_CODE_TYPEDEF: + type = type.target() + + if type.code != gdb.TYPE_CODE_STRUCT: + return False + + fields = type.fields() + if len (fields) < 1: + return False + + first_field = fields[0] + return is_g_type_instance_helper(first_field.type) + + type = val.type + if type.code != gdb.TYPE_CODE_PTR: + return False + type = type.target() + return is_g_type_instance_helper (type) + +def g_type_name_from_instance (instance): + if long(instance) != 0: + try: + inst = instance.cast (gdb.lookup_type("GTypeInstance").pointer()) + klass = inst["g_class"] + gtype = klass["g_type"] + name = g_type_to_name (gtype) + return name + except RuntimeError: + pass + return None + +class GTypePrettyPrinter: + "Prints a GType instance pointer" + + def __init__ (self, val): + self.val = val + + def to_string (self): + name = g_type_name_from_instance (self.val) + if name: + return ("0x%x [%s]")% (long(self.val), name) + return ("0x%x") % (long(self.val)) + +def pretty_printer_lookup (val): + if is_g_type_instance (val): + return GTypePrettyPrinter (val) + + return None + +def get_signal_name (id): + if id == None: + return None + id = long(id) + if id == 0: + return None + val = read_global_var ("g_signal_nodes") + max_s = read_global_var ("g_n_signal_nodes") + max_s = long(max_s) + if id < max_s: + return val[id]["name"].string() + return None + +def frame_name(frame): + return str(frame.function()) + +def frame_var(frame, var): + return frame.inferior_frame().read_var(var) + + +class SignalFrame(FrameDecorator): + def __init__ (self, frames): + FrameDecorator.__init__(self, frames[-1]) + self.frame = frames[-1] + self.frames = frames + + def name (self): + return "signal-emission" + + def read_var (self, frame, name, array = None): + try: + v = frame_var (frame, name) + if v == None or v.is_optimized_out: + return None + if array != None: + array.append (v) + return v + except ValueError: + return None + + def read_object (self, frame, name, array = None): + try: + v = frame_var (frame, name) + if v == None or v.is_optimized_out: + return None + v = v.cast (gdb.lookup_type("GObject").pointer()) + # Ensure this is a somewhat correct object pointer + if v != None and g_type_name_from_instance (v): + if array != None: + array.append (v) + return v + return None + except ValueError: + return None + + def append (self, array, obj): + if obj != None: + array.append (obj) + + def or_join_array (self, array): + if len(array) == 0: + return "???" + else: + return ' or '.join(set(map(str, array))) + + def get_detailed_signal_from_frame(self, frame, signal): + detail = self.read_var (frame, "detail") + detail = glib.g_quark_to_string (detail) + if detail is not None: + return signal + ":" + detail + else: + return detail + + def function (self): + instances = [] + signals = [] + + for frame in self.frames: + name = frame_name(frame) + if name == "signal_emit_unlocked_R": + self.read_object (frame, "instance", instances) + node = self.read_var (frame, "node") + if node: + signal = node["name"].string() + signal = self.get_detailed_signal_from_frame(frame, signal) + self.append(signals, signal) + + if name == "g_signal_emitv": + instance_and_params = self.read_var (frame, "instance_and_params") + if instance_and_params: + instance = instance_and_params[0]["v_pointer"].cast (gdb.Type("GObject").pointer()) + self.append (instances, instance) + id = self.read_var (frame, "signal_id") + signal = get_signal_name (id) + if signal: + signal = self.get_detailed_signal_from_frame(frame, signal) + self.append (signals, signal) + + if name == "g_signal_emit_valist" or name == "g_signal_emit": + self.read_object (frame, "instance", instances) + id = self.read_var (frame, "signal_id") + signal = get_signal_name (id) + if signal: + signal = self.get_detailed_signal_from_frame(frame, signal) + self.append (signals, signal) + + if name == "g_signal_emit_by_name": + self.read_object (frame, "instance", instances) + self.read_var (frame, "detailed_signal", signals) + break + + instance = self.or_join_array (instances) + signal = self.or_join_array (signals) + + return "" % (signal, instance) + + def elided (self): + return self.frames[0:-1] + + def describe (self, stream, full): + stream.write (" " + self.function () + "\n") + +class GFrameDecorator: + def __init__ (self, iter): + self.queue = [] + self.iter = iter + + def __iter__ (self): + return self + + def fill (self): + while len(self.queue) <= 8: + try: + f = next(self.iter) + self.queue.append (f) + except StopIteration: + return + + def find_signal_emission (self): + for i in range (min (len(self.queue), 3)): + if frame_name(self.queue[i]) == "signal_emit_unlocked_R": + return i + return -1 + + def next (self): + # Ensure we have enough frames for a full signal emission + self.fill() + + # Are we at the end? + if len(self.queue) == 0: + raise StopIteration + + emission = self.find_signal_emission () + if emission > 0: + start = emission + while True: + if start == 0: + break + prev_name = frame_name(self.queue[start-1]) + if prev_name.find("_marshal_") >= 0 or prev_name == "g_closure_invoke": + start = start - 1 + else: + break + end = emission + 1 + while end < len(self.queue): + if frame_name(self.queue[end]) in ["g_signal_emitv", + "g_signal_emit_valist", + "g_signal_emit", + "g_signal_emit_by_name", + "_g_closure_invoke_va"]: + end = end + 1 + else: + break + + signal_frames = self.queue[start:end] + new_frames = [SignalFrame(signal_frames)] + self.queue[start:end] = new_frames + + return self.queue.pop(0) + + def __next__ (self): + return self.next() + +class GFrameFilter(object): + name = 'glib' + enabled = True + priority = 100 + + def filter(self, iterator): + return GFrameDecorator(iterator) + +def register (obj): + if obj == None: + obj = gdb + + if HAVE_GDB_FRAMEDECORATOR: + filter = GFrameFilter() + obj.frame_filters[filter.name] = filter + obj.pretty_printers.append(pretty_printer_lookup) diff --git a/gtk-nsis-pack/share/glib-2.0/gettext/po/Makefile.in.in b/gtk-nsis-pack/share/glib-2.0/gettext/po/Makefile.in.in new file mode 100644 index 000000000..e6c32cba7 --- /dev/null +++ b/gtk-nsis-pack/share/glib-2.0/gettext/po/Makefile.in.in @@ -0,0 +1,268 @@ +# Makefile for program source directory in GNU NLS utilities package. +# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper +# +# This file file be copied and used freely without restrictions. It can +# be used in projects which are not available under the GNU Public License +# but which still want to provide support for the GNU gettext functionality. +# Please note that the actual code is *not* freely available. +# +# - Modified by Owen Taylor to use GETTEXT_PACKAGE +# instead of PACKAGE and to look for po2tbl in ./ not in intl/ +# +# - Modified by jacob berkman to install +# Makefile.in.in and po2tbl.sed.in for use with glib-gettextize + +GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ +PACKAGE = @PACKAGE@ +VERSION = @VERSION@ + +SHELL = @SHELL@ +@SET_MAKE@ + +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +datarootdir = @datarootdir@ +datadir = @datadir@ +libdir = @libdir@ +localedir = $(libdir)/locale +gnulocaledir = $(datadir)/locale +gettextsrcdir = $(datadir)/glib-2.0/gettext/po +subdir = po + +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +MKINSTALLDIRS = mkdir -p + +CC = @CC@ +GENCAT = @GENCAT@ +GMSGFMT = @GMSGFMT@ +MSGFMT = @MSGFMT@ +MSGFMT_OPTS = @MSGFMT_OPTS@ +XGETTEXT = @XGETTEXT@ +MSGMERGE = msgmerge + +DEFS = @DEFS@ +CFLAGS = @CFLAGS@ +CPPFLAGS = @CPPFLAGS@ + +INCLUDES = -I.. -I$(top_srcdir)/intl + +COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS) + +SOURCES = +POFILES = @POFILES@ +GMOFILES = @GMOFILES@ +DISTFILES = LINGUAS ChangeLog Makefile.in.in POTFILES.in $(GETTEXT_PACKAGE).pot \ +$(POFILES) $(GMOFILES) $(SOURCES) + +POTFILES = \ + +CATALOGS = @CATALOGS@ +CATOBJEXT = @CATOBJEXT@ +INSTOBJEXT = @INSTOBJEXT@ + +.SUFFIXES: +.SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat + +.c.o: + $(COMPILE) $< + +.po.pox: + $(MAKE) $(GETTEXT_PACKAGE).pot + $(MSGMERGE) $< $(srcdir)/$(GETTEXT_PACKAGE).pot -o $*.pox + +.po.mo: + $(MSGFMT) -o $@ $< + +.po.gmo: + $(AM_V_GEN) file=$(srcdir)/`echo $* | sed 's,.*/,,'`.gmo \ + && rm -f $$file && $(GMSGFMT) $(MSGFMT_OPTS) -o $$file $< + +.po.cat: + sed -f ../intl/po2msg.sed < $< > $*.msg \ + && rm -f $@ && $(GENCAT) $@ $*.msg + + +all: all-@USE_NLS@ + +all-yes: $(CATALOGS) +all-no: + +$(srcdir)/$(GETTEXT_PACKAGE).pot: $(POTFILES) + $(XGETTEXT) --default-domain=$(GETTEXT_PACKAGE) \ + --msgid-bugs-address='http://bugzilla.gnome.org/enter_bug.cgi?product=glib&keywords=I18N+L10N&component=general' \ + --add-comments --keyword=_ --keyword=N_ \ + --keyword=C_:1c,2 \ + --keyword=NC_:1c,2 \ + --keyword=g_dcgettext:2 \ + --keyword=g_dngettext:2,3 \ + --keyword=g_dpgettext2:2c,3 \ + --flag=N_:1:pass-c-format \ + --flag=C_:2:pass-c-format \ + --flag=NC_:2:pass-c-format \ + --flag=g_dngettext:2:pass-c-format \ + --flag=g_strdup_printf:1:c-format \ + --flag=g_string_printf:2:c-format \ + --flag=g_string_append_printf:2:c-format \ + --flag=g_error_new:3:c-format \ + --flag=g_set_error:4:c-format \ + --flag=g_markup_printf_escaped:1:c-format \ + --flag=g_log:3:c-format \ + --flag=g_print:1:c-format \ + --flag=g_printerr:1:c-format \ + --flag=g_printf:1:c-format \ + --flag=g_fprintf:2:c-format \ + --flag=g_sprintf:2:c-format \ + --flag=g_snprintf:3:c-format \ + --flag=g_scanner_error:2:c-format \ + --flag=g_scanner_warn:2:c-format \ + $(POTFILES) \ + && test ! -f $(GETTEXT_PACKAGE).po \ + || ( rm -f $(srcdir)/$(GETTEXT_PACKAGE).pot \ + && mv $(GETTEXT_PACKAGE).po $(srcdir)/$(GETTEXT_PACKAGE).pot ) + +install: install-exec install-data +install-exec: +install-data: install-data-@USE_NLS@ +install-data-no: all +install-data-yes: all + $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \ + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + case "$$cat" in \ + *.gmo) destdir=$(gnulocaledir);; \ + *) destdir=$(localedir);; \ + esac; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \ + $(MKINSTALLDIRS) $$dir; \ + if test -r $$cat; then \ + $(INSTALL_DATA) $$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $$cat as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + else \ + $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT)"; \ + fi; \ + if test -r $$cat.m; then \ + $(INSTALL_DATA) $$cat.m $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $$cat.m as $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + if test -r $(srcdir)/$$cat.m ; then \ + $(INSTALL_DATA) $(srcdir)/$$cat.m \ + $$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + echo "installing $(srcdir)/$$cat as" \ + "$$dir/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m"; \ + else \ + true; \ + fi; \ + fi; \ + done + if test "$(PACKAGE)" = "glib"; then \ + $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \ + $(INSTALL_DATA) $(srcdir)/Makefile.in.in \ + $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + else \ + : ; \ + fi + +# Define this as empty until I found a useful application. +installcheck: + +uninstall: + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT); \ + rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE)$(INSTOBJEXT).m; \ + done + if test "$(PACKAGE)" = "glib"; then \ + rm -f $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \ + fi + +check: all + +dvi info tags TAGS ID: + +mostlyclean: + rm -f core core.* *.pox $(GETTEXT_PACKAGE).po *.old.po cat-id-tbl.tmp + rm -fr *.o + +clean: mostlyclean + +distclean: clean + rm -f Makefile Makefile.in POTFILES *.mo *.msg *.cat *.cat.m + +maintainer-clean: distclean + @echo "This command is intended for maintainers to use;" + @echo "it deletes files that may require special tools to rebuild." + rm -f $(GMOFILES) + +distdir = ../$(GETTEXT_PACKAGE)-$(VERSION)/$(subdir) +dist distdir: $(DISTFILES) + dists="$(DISTFILES)"; \ + for file in $$dists; do \ + ln $(srcdir)/$$file $(distdir) 2> /dev/null \ + || cp -p $(srcdir)/$$file $(distdir); \ + done + +update-po: Makefile + $(MAKE) $(GETTEXT_PACKAGE).pot + tmpdir=`pwd`; \ + cd $(srcdir); \ + catalogs='$(CATALOGS)'; \ + for cat in $$catalogs; do \ + cat=`basename $$cat`; \ + lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \ + echo "$$lang:"; \ + if $(MSGMERGE) $$lang.po $(GETTEXT_PACKAGE).pot -o $$tmpdir/$$lang.new.po; then \ + if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ + rm -f $$tmpdir/$$lang.new.po; \ + else \ + if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ + :; \ + else \ + echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ + rm -f $$tmpdir/$$lang.new.po; \ + exit 1; \ + fi; \ + fi; \ + else \ + echo "msgmerge for $$cat failed!"; \ + rm -f $$tmpdir/$$lang.new.po; \ + fi; \ + done + +# POTFILES is created from POTFILES.in by stripping comments, empty lines +# and Intltool tags (enclosed in square brackets), and appending a full +# relative path to them +POTFILES: POTFILES.in + ( if test 'x$(srcdir)' != 'x.'; then \ + posrcprefix='$(top_srcdir)/'; \ + else \ + posrcprefix="../"; \ + fi; \ + rm -f $@-t $@ \ + && (sed -e '/^#/d' \ + -e "s/^\[.*\] +//" \ + -e '/^[ ]*$$/d' \ + -e "s@.*@ $$posrcprefix& \\\\@" < $(srcdir)/$@.in \ + | sed -e '$$s/\\$$//') > $@-t \ + && chmod a-w $@-t \ + && mv $@-t $@ ) + +Makefile: Makefile.in.in ../config.status POTFILES + cd .. \ + && $(SHELL) ./config.status $(subdir)/$@.in + +# Tell versions [3.59,3.63) of GNU make not to export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/gtk-nsis-pack/share/glib-2.0/schemas/gschemas.compiled b/gtk-nsis-pack/share/glib-2.0/schemas/gschemas.compiled index 6e8b378df..f6f44eb21 100644 Binary files a/gtk-nsis-pack/share/glib-2.0/schemas/gschemas.compiled and b/gtk-nsis-pack/share/glib-2.0/schemas/gschemas.compiled differ diff --git a/gtk-nsis-pack/share/glib-2.0/schemas/org.gtk.Demo.gschema.xml b/gtk-nsis-pack/share/glib-2.0/schemas/org.gtk.Demo.gschema.xml index 33e12aaa4..93be088b1 100644 --- a/gtk-nsis-pack/share/glib-2.0/schemas/org.gtk.Demo.gschema.xml +++ b/gtk-nsis-pack/share/glib-2.0/schemas/org.gtk.Demo.gschema.xml @@ -12,6 +12,15 @@ 'red' + + (-1, -1) + + + false + + + false + diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/document-open.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/document-open.png index 5c6db1263..1695c2258 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/document-open.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/document-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/folder-new.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/folder-new.png index 294d648ba..432c8a3be 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/folder-new.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/folder-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/mark-location.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/mark-location.png new file mode 100644 index 000000000..90ae6f8b3 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/16x16/actions/mark-location.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/devices/ebook-reader.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/devices/ebook-reader.png new file mode 100644 index 000000000..e54f3d176 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/16x16/devices/ebook-reader.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/emblems/emblem-new.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/emblems/emblem-new.png index 283ead715..2c6c0b77c 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/emblems/emblem-new.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/emblems/emblem-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/emotes/emote-love.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/emotes/emote-love.png new file mode 100644 index 000000000..f7027a7c9 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/16x16/emotes/emote-love.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/mimetypes/application-x-firmware.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/mimetypes/application-x-firmware.png new file mode 100644 index 000000000..f8d0d9641 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/16x16/mimetypes/application-x-firmware.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-documents.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-documents.png index 6d143f6be..583ee9585 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-documents.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-documents.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-download.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-download.png index 869e1b68e..51686634e 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-download.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-download.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-music.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-music.png index 241b12632..55a4422e0 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-music.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-music.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-pictures.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-pictures.png index 5b8e5d412..39ecad379 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-pictures.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-pictures.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-publicshare.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-publicshare.png index 0f7729dbc..195cd7c7e 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-publicshare.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-publicshare.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-remote.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-remote.png index 0e51b7307..4cb4ca980 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-remote.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-remote.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-saved-search.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-saved-search.png index ae388b078..0161ee8de 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-saved-search.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-saved-search.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-templates.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-templates.png index 09b2e76c4..63b7d88d6 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-templates.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-templates.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-videos.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-videos.png index 2bd1694b3..8e0d141b1 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-videos.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder-videos.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder.png index 092496504..0a12cc0cd 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/folder.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-bookmarks.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-bookmarks.png index abdc44af6..84726bc53 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-bookmarks.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-bookmarks.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-desktop.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-desktop.png index 37883ed06..685ac815b 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-desktop.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-desktop.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-home.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-home.png index 250a649a1..7a6ab7677 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-home.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/places/user-home.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-drag-accept.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-drag-accept.png index 8888c2081..7158f5e55 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-drag-accept.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-drag-accept.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-open.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-open.png index 47d1a69f3..9e0b397c3 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-open.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-visiting.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-visiting.png index c273764e3..19228cc01 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-visiting.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/status/folder-visiting.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/16x16/status/mail-unread.png b/gtk-nsis-pack/share/icons/Adwaita/16x16/status/mail-unread.png index 7f81c36f2..d2003b894 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/16x16/status/mail-unread.png and b/gtk-nsis-pack/share/icons/Adwaita/16x16/status/mail-unread.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/document-open.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/document-open.png index 293b8817f..7aec1ebf0 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/document-open.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/document-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/folder-new.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/folder-new.png index 7f69dd415..0f16297c1 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/folder-new.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/folder-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/mark-location.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/mark-location.png new file mode 100644 index 000000000..0706337a1 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/22x22/actions/mark-location.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/devices/ebook-reader.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/devices/ebook-reader.png new file mode 100644 index 000000000..57d0a1aea Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/22x22/devices/ebook-reader.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/emblems/emblem-new.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/emblems/emblem-new.png index d27a2db27..639ef3cd3 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/emblems/emblem-new.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/emblems/emblem-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/emotes/emote-love.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/emotes/emote-love.png new file mode 100644 index 000000000..4b0384e61 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/22x22/emotes/emote-love.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/mimetypes/application-x-firmware.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/mimetypes/application-x-firmware.png new file mode 100644 index 000000000..011cb6508 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/22x22/mimetypes/application-x-firmware.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-documents.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-documents.png index e6ddb6ba4..0fdfce05e 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-documents.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-documents.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-download.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-download.png index d4813e8f8..180e71594 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-download.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-download.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-music.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-music.png index 1b7427302..e58ea0e70 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-music.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-music.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-pictures.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-pictures.png index 1069a069e..66cccadff 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-pictures.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-pictures.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-publicshare.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-publicshare.png index c1de60d5d..b0b4cc37b 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-publicshare.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-publicshare.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-remote.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-remote.png index 6ccd21843..d9f8f1018 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-remote.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-remote.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-saved-search.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-saved-search.png index 551b60992..01f67cf26 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-saved-search.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-saved-search.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-templates.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-templates.png index 6ebf07cc5..d3fe3378a 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-templates.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-templates.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-videos.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-videos.png index ca4e486d3..4f179e90c 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-videos.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder-videos.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder.png index 07784f88e..c04e4ea9b 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/folder.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-bookmarks.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-bookmarks.png index 45d3b1e18..d5f64deb1 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-bookmarks.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-bookmarks.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-desktop.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-desktop.png index 85bae8f95..2f7da0948 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-desktop.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-desktop.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-home.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-home.png index f908e706a..1469e7742 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-home.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/places/user-home.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-drag-accept.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-drag-accept.png index a3e851319..fc0263bea 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-drag-accept.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-drag-accept.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-open.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-open.png index c3476c3a6..08108309b 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-open.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-visiting.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-visiting.png index 97751afe1..d1f14e19d 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-visiting.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/status/folder-visiting.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/22x22/status/mail-unread.png b/gtk-nsis-pack/share/icons/Adwaita/22x22/status/mail-unread.png index b877d3ac2..fe0541ede 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/22x22/status/mail-unread.png and b/gtk-nsis-pack/share/icons/Adwaita/22x22/status/mail-unread.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/actions/document-open.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/actions/document-open.png index 7981ab1c2..484761741 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/actions/document-open.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/actions/document-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/actions/folder-new.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/actions/folder-new.png index 62eb867c9..079b74a75 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/actions/folder-new.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/actions/folder-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/devices/ebook-reader.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/devices/ebook-reader.png new file mode 100644 index 000000000..9b1776d06 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/24x24/devices/ebook-reader.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/emblems/emblem-new.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/emblems/emblem-new.png index af35a52a5..1265395ba 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/emblems/emblem-new.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/emblems/emblem-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/mimetypes/application-x-firmware.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/mimetypes/application-x-firmware.png new file mode 100644 index 000000000..27879d522 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/24x24/mimetypes/application-x-firmware.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-documents.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-documents.png index 2ce0424ff..e8dc49adf 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-documents.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-documents.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-download.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-download.png index d4b1d51e6..06400be9c 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-download.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-download.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-music.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-music.png index 18bfde1e4..e23822c1d 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-music.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-music.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-pictures.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-pictures.png index 0bde77564..d52768555 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-pictures.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-pictures.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-publicshare.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-publicshare.png index 28eeab9f5..289b54761 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-publicshare.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-publicshare.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-remote.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-remote.png index 6c02a8bf9..d7ce3b30b 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-remote.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-remote.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-saved-search.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-saved-search.png index a5ec1ad8b..9e331679f 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-saved-search.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-saved-search.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-templates.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-templates.png index 990109740..dcea608b1 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-templates.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-templates.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-videos.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-videos.png index 095b4c3ec..b9d8f4a7c 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-videos.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder-videos.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder.png index 386edf4e7..24f09b120 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/folder.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-bookmarks.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-bookmarks.png index 256a19226..c55d23043 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-bookmarks.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-bookmarks.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-desktop.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-desktop.png index 43cb585c9..035df3b65 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-desktop.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-desktop.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-home.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-home.png index 838d9ea81..3f112017a 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-home.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/places/user-home.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-drag-accept.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-drag-accept.png index 35292f43b..22ee30544 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-drag-accept.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-drag-accept.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-open.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-open.png index a070e2a80..4cb02a573 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-open.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-visiting.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-visiting.png index 1a047d494..5a6e5eb7c 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-visiting.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/status/folder-visiting.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/24x24/status/mail-unread.png b/gtk-nsis-pack/share/icons/Adwaita/24x24/status/mail-unread.png index 0dcb00d28..c9380f3f5 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/24x24/status/mail-unread.png and b/gtk-nsis-pack/share/icons/Adwaita/24x24/status/mail-unread.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/actions/document-open.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/actions/document-open.png index 5691c9c85..87a6bb599 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/actions/document-open.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/actions/document-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/actions/folder-new.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/actions/folder-new.png index a2c8173b9..0770e39b4 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/actions/folder-new.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/actions/folder-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/devices/ebook-reader.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/devices/ebook-reader.png new file mode 100644 index 000000000..c9321ee6f Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/256x256/devices/ebook-reader.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/emotes/emote-love.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/emotes/emote-love.png new file mode 100644 index 000000000..8683cf81d Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/256x256/emotes/emote-love.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/mimetypes/application-x-firmware.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/mimetypes/application-x-firmware.png new file mode 100644 index 000000000..1599f3427 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/256x256/mimetypes/application-x-firmware.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-documents.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-documents.png index e50251930..179d67d65 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-documents.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-documents.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-download.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-download.png index 014e5c9ee..710d9674d 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-download.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-download.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-music.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-music.png index 94f15d3f5..c508bdd32 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-music.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-music.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-pictures.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-pictures.png index f5bd40899..7f070858e 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-pictures.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-pictures.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-publicshare.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-publicshare.png index 49de743a8..991553fce 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-publicshare.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-publicshare.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-remote.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-remote.png index f1398b6e9..6136df03d 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-remote.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-remote.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-saved-search.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-saved-search.png index 3ef512623..d623432a2 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-saved-search.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-saved-search.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-templates.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-templates.png index 30acf4e40..4032f442f 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-templates.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-templates.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-videos.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-videos.png index 18219fc7f..e635d970f 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-videos.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder-videos.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder.png index 7425a8b06..5a903c60e 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/folder.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-bookmarks.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-bookmarks.png index 478662805..e0a8aa9f9 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-bookmarks.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-bookmarks.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-desktop.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-desktop.png index 9826a12ca..1fd75bdb3 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-desktop.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-desktop.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-home.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-home.png index d50b24c54..ca465a322 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-home.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/places/user-home.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-drag-accept.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-drag-accept.png index 2f5f5643e..e85cf1d2b 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-drag-accept.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-drag-accept.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-open.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-open.png index 9b2c5c16c..26e2c745c 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-open.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-visiting.png b/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-visiting.png index a01a45508..e6a0ecf20 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-visiting.png and b/gtk-nsis-pack/share/icons/Adwaita/256x256/status/folder-visiting.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/document-open.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/document-open.png index fdfe27ab1..18f8af1f4 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/document-open.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/document-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/folder-new.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/folder-new.png index 58bb7f484..e47e488f6 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/folder-new.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/folder-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/mark-location.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/mark-location.png new file mode 100644 index 000000000..91224d124 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/32x32/actions/mark-location.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/devices/ebook-reader.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/devices/ebook-reader.png new file mode 100644 index 000000000..edc297e50 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/32x32/devices/ebook-reader.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/emblems/emblem-new.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/emblems/emblem-new.png index 9c59c9af4..b0f001b64 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/emblems/emblem-new.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/emblems/emblem-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/emotes/emote-love.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/emotes/emote-love.png new file mode 100644 index 000000000..63a0153f7 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/32x32/emotes/emote-love.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/mimetypes/application-x-firmware.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/mimetypes/application-x-firmware.png new file mode 100644 index 000000000..49ab338a8 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/32x32/mimetypes/application-x-firmware.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-documents.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-documents.png index 712d6325a..58082b8d0 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-documents.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-documents.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-download.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-download.png index 49cfffcae..a8123d5a4 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-download.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-download.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-music.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-music.png index cae3b1077..dff8e3a8f 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-music.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-music.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-pictures.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-pictures.png index 6bcefc0e1..1429d70d6 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-pictures.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-pictures.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-publicshare.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-publicshare.png index 4f464c3c5..bd3f0b56c 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-publicshare.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-publicshare.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-remote.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-remote.png index 1457cf5e2..f92820b13 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-remote.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-remote.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-saved-search.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-saved-search.png index cbde8543d..dbcc4e966 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-saved-search.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-saved-search.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-templates.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-templates.png index 7d27252e5..a310d5566 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-templates.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-templates.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-videos.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-videos.png index ea98bdf32..a85cdb4f0 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-videos.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder-videos.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder.png index 60668550d..d8e4b60e7 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/folder.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-bookmarks.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-bookmarks.png index e74f26b52..4910f94c7 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-bookmarks.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-bookmarks.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-desktop.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-desktop.png index 76ac33a5d..414487f3b 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-desktop.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-desktop.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-home.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-home.png index ab50fea22..7c2403cb2 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-home.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/places/user-home.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-drag-accept.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-drag-accept.png index 2eabcb677..a25d5bde7 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-drag-accept.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-drag-accept.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-open.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-open.png index 90c83a7b5..37137e997 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-open.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-visiting.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-visiting.png index 8dda6a7f7..0695eaeba 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-visiting.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/status/folder-visiting.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/32x32/status/mail-unread.png b/gtk-nsis-pack/share/icons/Adwaita/32x32/status/mail-unread.png index d2af300a2..b16205dd6 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/32x32/status/mail-unread.png and b/gtk-nsis-pack/share/icons/Adwaita/32x32/status/mail-unread.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/document-open.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/document-open.png index 0e741dd44..952e6d23c 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/document-open.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/document-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/folder-new.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/folder-new.png index 1796ff37b..9a2ae6092 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/folder-new.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/folder-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/mark-location.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/mark-location.png new file mode 100644 index 000000000..699da40ba Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/48x48/actions/mark-location.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/devices/ebook-reader.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/devices/ebook-reader.png new file mode 100644 index 000000000..62336c560 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/48x48/devices/ebook-reader.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/emblems/emblem-new.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/emblems/emblem-new.png index b79356a91..406b27fb5 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/emblems/emblem-new.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/emblems/emblem-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/emotes/emote-love.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/emotes/emote-love.png new file mode 100644 index 000000000..4b63bd11b Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/48x48/emotes/emote-love.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/mimetypes/application-x-firmware.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/mimetypes/application-x-firmware.png new file mode 100644 index 000000000..862584e8c Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/48x48/mimetypes/application-x-firmware.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-documents.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-documents.png index 9ddf3bbe5..45f7980f9 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-documents.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-documents.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-download.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-download.png index 99722d0f6..0848cadd7 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-download.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-download.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-music.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-music.png index 6e655ce7b..f6937d3d1 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-music.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-music.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-pictures.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-pictures.png index 0bb724406..256ae02d0 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-pictures.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-pictures.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-publicshare.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-publicshare.png index 3e6cbc0b9..7c6943464 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-publicshare.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-publicshare.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-remote.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-remote.png index a18b0f61e..223a09783 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-remote.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-remote.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-saved-search.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-saved-search.png index ac7c9366f..61734775d 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-saved-search.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-saved-search.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-templates.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-templates.png index f45c9adb3..783683658 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-templates.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-templates.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-videos.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-videos.png index e237adb3e..f5c7add98 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-videos.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder-videos.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder.png index 201d66a70..31081d58a 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/folder.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-bookmarks.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-bookmarks.png index 0abc5d902..34b2c23ef 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-bookmarks.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-bookmarks.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-desktop.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-desktop.png index 79e4147af..413288fa6 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-desktop.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-desktop.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-home.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-home.png index 7173cdec5..dfe273a4d 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-home.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/places/user-home.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-drag-accept.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-drag-accept.png index 034dece74..4aa51fc10 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-drag-accept.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-drag-accept.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-open.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-open.png index 22d119bb0..421006e89 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-open.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-open.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-visiting.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-visiting.png index a03f4b4bb..c2f6fefeb 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-visiting.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/status/folder-visiting.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/48x48/status/mail-unread.png b/gtk-nsis-pack/share/icons/Adwaita/48x48/status/mail-unread.png index 1b7e1d5d1..7b944af7c 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/48x48/status/mail-unread.png and b/gtk-nsis-pack/share/icons/Adwaita/48x48/status/mail-unread.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/8x8/emblems/emblem-new.png b/gtk-nsis-pack/share/icons/Adwaita/8x8/emblems/emblem-new.png index 45e570b8a..e1d4e42c6 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/8x8/emblems/emblem-new.png and b/gtk-nsis-pack/share/icons/Adwaita/8x8/emblems/emblem-new.png differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/alias b/gtk-nsis-pack/share/icons/Adwaita/cursors/alias new file mode 100644 index 000000000..a613a11e2 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/alias differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/all-scroll b/gtk-nsis-pack/share/icons/Adwaita/cursors/all-scroll new file mode 100644 index 000000000..47eee0572 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/all-scroll differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/cell b/gtk-nsis-pack/share/icons/Adwaita/cursors/cell new file mode 100644 index 000000000..14f703c19 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/cell differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/col-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/col-resize new file mode 100644 index 000000000..206c89191 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/col-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/default b/gtk-nsis-pack/share/icons/Adwaita/cursors/default new file mode 100644 index 000000000..7d7ad3c01 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/default differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/e-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/e-resize new file mode 100644 index 000000000..6eb5ee200 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/e-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/ew-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/ew-resize new file mode 100644 index 000000000..206c89191 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/ew-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/grab b/gtk-nsis-pack/share/icons/Adwaita/cursors/grab new file mode 100644 index 000000000..99eccbec5 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/grab differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/n-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/n-resize new file mode 100644 index 000000000..d8caa9e28 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/n-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/ne-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/ne-resize new file mode 100644 index 000000000..e9d298756 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/ne-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/nesw-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/nesw-resize new file mode 100644 index 000000000..439c1cd35 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/nesw-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/no-drop b/gtk-nsis-pack/share/icons/Adwaita/cursors/no-drop new file mode 100644 index 000000000..66b774367 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/no-drop differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/not-allowed b/gtk-nsis-pack/share/icons/Adwaita/cursors/not-allowed new file mode 100644 index 000000000..3041462f4 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/not-allowed differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/ns-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/ns-resize new file mode 100644 index 000000000..1bb77a17e Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/ns-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/nw-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/nw-resize new file mode 100644 index 000000000..e968869d0 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/nw-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/nwse-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/nwse-resize new file mode 100644 index 000000000..059af6a81 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/nwse-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/pointer b/gtk-nsis-pack/share/icons/Adwaita/cursors/pointer new file mode 100644 index 000000000..99eccbec5 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/pointer differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/pointer-move b/gtk-nsis-pack/share/icons/Adwaita/cursors/pointer-move new file mode 100644 index 000000000..250d2e4ad Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/pointer-move differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/progress b/gtk-nsis-pack/share/icons/Adwaita/cursors/progress new file mode 100644 index 000000000..e037dbb44 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/progress differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/row-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/row-resize new file mode 100644 index 000000000..1bb77a17e Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/row-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/s-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/s-resize new file mode 100644 index 000000000..307642c26 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/s-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/se-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/se-resize new file mode 100644 index 000000000..f5e4adcef Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/se-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/size_all b/gtk-nsis-pack/share/icons/Adwaita/cursors/size_all new file mode 100644 index 000000000..a561b581b Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/size_all differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/size_bdiag b/gtk-nsis-pack/share/icons/Adwaita/cursors/size_bdiag new file mode 100644 index 000000000..439c1cd35 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/size_bdiag differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/size_fdiag b/gtk-nsis-pack/share/icons/Adwaita/cursors/size_fdiag new file mode 100644 index 000000000..059af6a81 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/size_fdiag differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/size_hor b/gtk-nsis-pack/share/icons/Adwaita/cursors/size_hor new file mode 100644 index 000000000..206c89191 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/size_hor differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/size_ver b/gtk-nsis-pack/share/icons/Adwaita/cursors/size_ver new file mode 100644 index 000000000..1bb77a17e Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/size_ver differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/sw-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/sw-resize new file mode 100644 index 000000000..e55bc1947 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/sw-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/text b/gtk-nsis-pack/share/icons/Adwaita/cursors/text new file mode 100644 index 000000000..ccbdcb5c8 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/text differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/vertical-text b/gtk-nsis-pack/share/icons/Adwaita/cursors/vertical-text new file mode 100644 index 000000000..b27eb6fc8 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/vertical-text differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/w-resize b/gtk-nsis-pack/share/icons/Adwaita/cursors/w-resize new file mode 100644 index 000000000..61e7e9562 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/w-resize differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/wait b/gtk-nsis-pack/share/icons/Adwaita/cursors/wait new file mode 100644 index 000000000..e334c60c4 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/wait differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/zoom-in b/gtk-nsis-pack/share/icons/Adwaita/cursors/zoom-in new file mode 100644 index 000000000..312ea3d82 Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/zoom-in differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/cursors/zoom-out b/gtk-nsis-pack/share/icons/Adwaita/cursors/zoom-out new file mode 100644 index 000000000..86264f3ec Binary files /dev/null and b/gtk-nsis-pack/share/icons/Adwaita/cursors/zoom-out differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/icon-theme.cache b/gtk-nsis-pack/share/icons/Adwaita/icon-theme.cache index 4224c150f..044c677b3 100644 Binary files a/gtk-nsis-pack/share/icons/Adwaita/icon-theme.cache and b/gtk-nsis-pack/share/icons/Adwaita/icon-theme.cache differ diff --git a/gtk-nsis-pack/share/icons/Adwaita/index.theme b/gtk-nsis-pack/share/icons/Adwaita/index.theme index 5d94ceadf..a7d92c909 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/index.theme +++ b/gtk-nsis-pack/share/icons/Adwaita/index.theme @@ -1,104 +1,6 @@ [Icon Theme] Name=Adwaita -Name[an]=Adwaita -Name[ar]=أداويتا -Name[as]=Adwaita -Name[bg]=Адвайта -Name[bs]=Adwaita -Name[ca]=Adwaita -Name[ca@valencia]=Adwaita -Name[cs]=Adwaita -Name[da]=Adwaita -Name[de]=Adwaita -Name[el]=Adwaita -Name[eo]=Advaita -Name[es]=Adwaita -Name[eu]=Adwaita -Name[fa]=Adwaita -Name[fi]=Adwaita -Name[fr]=Adwaita -Name[gl]=Adwaita -Name[he]=Adwaita -Name[hu]=Adwaita -Name[id]=Adwaita -Name[is]=Adwaita -Name[it]=Adwaita -Name[kk]=Адвайта -Name[kn]=ಅದ್ವೈತಾ -Name[ko]=애드와이타 -Name[lt]=Adwaita -Name[lv]=Adwaita -Name[nb]=Adwaita -Name[ne]=अदविता -Name[oc]=Adwaita -Name[pa]=ਵਿਲੱਖਣ -Name[pl]=Adwaita -Name[pt]=Adwaita -Name[pt_BR]=Adwaita -Name[ro]=Adwaita -Name[ru]=Adwaita -Name[sk]=Adwaita -Name[sl]=Adwaita -Name[sr]=Адвајта -Name[sr@latin]=Advajta -Name[sv]=Adwaita -Name[tg]=Эдвэйта -Name[tr]=Adwaita -Name[uk]=Adwaita -Name[vi]=Adwaita -Name[zh_CN]=Adwaita -Name[zh_HK]=Adwaita -Name[zh_TW]=Adwaita Comment=The Only One -Comment[an]=L'unico -Comment[ar]=الوحيدة -Comment[as]=একমাত্ৰ -Comment[bg]=Единствената -Comment[bs]=Jedini -Comment[ca]=L'únic -Comment[ca@valencia]=L'únic -Comment[cs]=Je jen jediná -Comment[da]=Den eneste -Comment[de]=Das einzige -Comment[el]=Το μοναδικό -Comment[eo]=La ununurulo -Comment[es]=El único -Comment[eu]=Paregabea -Comment[fa]=تنها برگزیده -Comment[fi]=Se ainoa -Comment[fr]=L'unique -Comment[gl]=O único -Comment[he]=האחד והיחיד -Comment[hu]=Az Egyetlen -Comment[id]=Satu-satunya -Comment[is]=Hið eina -Comment[it]=L'unico -Comment[kk]=Бірегей -Comment[kn]=ಕೇವಲ ಒಂದೇ ಒಂದು -Comment[ko]=오직 하나 뿐! -Comment[lt]=Vienintelė -Comment[lv]=Vienīgais -Comment[nb]=Det eneste -Comment[ne]=एकै मात्र -Comment[oc]=L'unic -Comment[pa]=ਕੇਵਲ ਇੱਕ -Comment[pl]=Może być tylko jeden -Comment[pt]=O único -Comment[pt_BR]=O único -Comment[ro]=Singura -Comment[ru]=Единственный -Comment[sk]=Jedinečná -Comment[sl]=Edina -Comment[sr]=Једна и једина -Comment[sr@latin]=Jedna i jedina -Comment[sv]=Det enda -Comment[tg]=Якка -Comment[tr]=Bir Tek -Comment[uk]=Тільки одна-єдина -Comment[vi]=Cái duy nhất -Comment[zh_CN]=惟一的 -Comment[zh_HK]=唯一 -Comment[zh_TW]=唯一 Example=folder # KDE Specific Stuff diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/address-book-new-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/address-book-new-symbolic.svg new file mode 100644 index 000000000..8da95bdef --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/address-book-new-symbolic.svg @@ -0,0 +1,40 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/application-exit-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/application-exit-symbolic.svg new file mode 100644 index 000000000..4cb5db361 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/application-exit-symbolic.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/appointment-new-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/appointment-new-symbolic.svg new file mode 100644 index 000000000..15e9b6ca3 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/appointment-new-symbolic.svg @@ -0,0 +1,33 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/call-start-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/call-start-symbolic.svg index ac7baa398..1d8e81029 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/call-start-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/call-start-symbolic.svg @@ -1,7 +1,7 @@ - + - + @@ -11,20 +11,25 @@ - - + + Gnome Symbolic Icon Theme - - - - - - - - - + + + + + + + + + + + + + + - + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/call-stop-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/call-stop-symbolic.svg index 50ed75ce2..5e415b958 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/call-stop-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/call-stop-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,22 +11,26 @@ - - + + Gnome Symbolic Icon Theme - - - - - - - - - - + + + + + + + + + + + + + + - - + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/color-select-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/color-select-symbolic.svg new file mode 100644 index 000000000..a7a9e8c16 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/color-select-symbolic.svg @@ -0,0 +1,34 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/contact-new-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/contact-new-symbolic.svg new file mode 100644 index 000000000..eae33db83 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/contact-new-symbolic.svg @@ -0,0 +1,33 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-edit-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-edit-symbolic.svg new file mode 100644 index 000000000..b57cdd72a --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-edit-symbolic.svg @@ -0,0 +1,36 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-print-preview-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-print-preview-symbolic.svg new file mode 100644 index 000000000..f33446fa6 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-print-preview-symbolic.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-revert-symbolic-rtl.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-revert-symbolic-rtl.svg new file mode 100644 index 000000000..5d3f72e08 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-revert-symbolic-rtl.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-revert-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-revert-symbolic.svg new file mode 100644 index 000000000..3f860c8ab --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/document-revert-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/edit-cut-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/edit-cut-symbolic.svg index 873d36724..efa1df28a 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/edit-cut-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/edit-cut-symbolic.svg @@ -1,7 +1,7 @@ - + - + @@ -11,21 +11,27 @@ - - + + Gnome Symbolic Icon Theme - - - - - + + + + + + + + + + + + + + - - - + + + - - - diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/edit-find-replace-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/edit-find-replace-symbolic.svg new file mode 100644 index 000000000..2377fd9d2 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/edit-find-replace-symbolic.svg @@ -0,0 +1,33 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/focus-legacy-systray-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/focus-legacy-systray-symbolic.svg new file mode 100644 index 000000000..061caf010 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/focus-legacy-systray-symbolic.svg @@ -0,0 +1,33 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/focus-top-bar-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/focus-top-bar-symbolic.svg new file mode 100644 index 000000000..f7573ba18 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/focus-top-bar-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/focus-windows-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/focus-windows-symbolic.svg new file mode 100644 index 000000000..e3625d7eb --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/focus-windows-symbolic.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/folder-new-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/folder-new-symbolic.svg new file mode 100644 index 000000000..15db62d57 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/folder-new-symbolic.svg @@ -0,0 +1,36 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/font-select-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/font-select-symbolic.svg new file mode 100644 index 000000000..b944ddded --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/font-select-symbolic.svg @@ -0,0 +1,33 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/format-text-direction-symbolic-rtl.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/format-text-direction-symbolic-rtl.svg new file mode 100644 index 000000000..884a332f6 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/format-text-direction-symbolic-rtl.svg @@ -0,0 +1,33 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/format-text-direction-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/format-text-direction-symbolic.svg new file mode 100644 index 000000000..51ecb9f0d --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/format-text-direction-symbolic.svg @@ -0,0 +1,33 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/help-about-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/help-about-symbolic.svg new file mode 100644 index 000000000..2cfb995bd --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/help-about-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/mark-location-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/mark-location-symbolic.svg index 77a992bfb..731ba38e8 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/mark-location-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/mark-location-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,21 +11,25 @@ - - + + Gnome Symbolic Icon Theme - - - - - - - - - - + + + + + + + + + + + + + + - + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/send-to-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/send-to-symbolic.svg index 8f182600d..744dcb0dc 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/send-to-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/send-to-symbolic.svg @@ -1,7 +1,7 @@ - + - + @@ -11,22 +11,26 @@ - - + + Gnome Symbolic Icon Theme - - - - - - - - - - + + + + + + + + + + + + + + - - + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/system-search-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/system-search-symbolic.svg new file mode 100644 index 000000000..ace2c2fdd --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/system-search-symbolic.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/tab-new-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/tab-new-symbolic.svg index 0d625c97f..ba4a3c83a 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/tab-new-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/tab-new-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,24 +11,25 @@ - - - + + Gnome Symbolic Icon Theme - - - - - - - - - - - + + + + + + + + + + + + + + - - + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/tools-check-spelling-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/tools-check-spelling-symbolic.svg new file mode 100644 index 000000000..1e722b594 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/tools-check-spelling-symbolic.svg @@ -0,0 +1,33 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-app-grid-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-app-grid-symbolic.svg new file mode 100644 index 000000000..d3bc13861 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-app-grid-symbolic.svg @@ -0,0 +1,43 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-grid-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-grid-symbolic.svg index 707c0a3c1..b0f641221 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-grid-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-grid-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,29 +11,28 @@ - - + + Gnome Symbolic Icon Theme - + + + + + - + - + - - - - - - - - - + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-list-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-list-symbolic.svg index e7e37f14f..f5c84a636 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-list-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-list-symbolic.svg @@ -11,7 +11,7 @@ - + Gnome Symbolic Icon Theme @@ -30,11 +30,9 @@ - - - - - - + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-more-horizontal-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-more-horizontal-symbolic.svg new file mode 100644 index 000000000..b753f7498 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-more-horizontal-symbolic.svg @@ -0,0 +1,33 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-sort-ascending-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-sort-ascending-symbolic.svg new file mode 100644 index 000000000..bb6fa612f --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-sort-ascending-symbolic.svg @@ -0,0 +1,34 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-sort-descending-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-sort-descending-symbolic.svg new file mode 100644 index 000000000..70e2a3b5d --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/actions/view-sort-descending-symbolic.svg @@ -0,0 +1,34 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/apps/help-contents-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/apps/help-contents-symbolic.svg new file mode 100644 index 000000000..c928f11d3 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/apps/help-contents-symbolic.svg @@ -0,0 +1,34 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/apps/help-faq-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/apps/help-faq-symbolic.svg new file mode 100644 index 000000000..69704e138 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/apps/help-faq-symbolic.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/apps/preferences-desktop-font-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/apps/preferences-desktop-font-symbolic.svg new file mode 100644 index 000000000..a82bbc73c --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/apps/preferences-desktop-font-symbolic.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/categories/applications-system-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/categories/applications-system-symbolic.svg new file mode 100644 index 000000000..7825f5ab9 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/categories/applications-system-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/battery-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/battery-symbolic.svg new file mode 100644 index 000000000..a6f72d6b3 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/battery-symbolic.svg @@ -0,0 +1,34 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-ieee1394-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-ieee1394-symbolic.svg index 454ef1461..c3010972c 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-ieee1394-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-ieee1394-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,23 +11,25 @@ - - + + Gnome Symbolic Icon Theme - - - + + + + + + + - - - + - - - - - - - + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-solidstate-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-solidstate-symbolic.svg new file mode 100644 index 000000000..2d957004c --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-solidstate-symbolic.svg @@ -0,0 +1,38 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-system-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-system-symbolic.svg index c2c509bb1..394148170 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-system-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-system-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,23 +11,26 @@ - - + + Gnome Symbolic Icon Theme - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-usb-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-usb-symbolic.svg index ceee42636..61aa81bec 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-usb-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-harddisk-usb-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,23 +11,25 @@ - - + + Gnome Symbolic Icon Theme - - - + + + + + + + - - - + - - - - - - - + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-multidisk-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-multidisk-symbolic.svg index 808169e1a..30a4fe69c 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-multidisk-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/drive-multidisk-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,25 +11,26 @@ - - + + Gnome Symbolic Icon Theme - - - + + + + + + + - - - - - + + - - - - - - - + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/media-tape-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/media-tape-symbolic.svg new file mode 100644 index 000000000..a107c24ba --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/media-tape-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/modem-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/modem-symbolic.svg new file mode 100644 index 000000000..8f3b62b50 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/modem-symbolic.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/network-wired-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/network-wired-symbolic.svg index c6bfaa88a..dbac39ff0 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/network-wired-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/network-wired-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,22 +11,29 @@ - - + + Gnome Symbolic Icon Theme - - - + + + + + + + - - + + + + + - - - - - - - + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/pda-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/pda-symbolic.svg new file mode 100644 index 000000000..5f0588a8b --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/pda-symbolic.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/tv-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/tv-symbolic.svg new file mode 100644 index 000000000..b07156045 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/tv-symbolic.svg @@ -0,0 +1,34 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/uninterruptible-power-supply-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/uninterruptible-power-supply-symbolic.svg new file mode 100644 index 000000000..6fe76f7f3 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/devices/uninterruptible-power-supply-symbolic.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/emotes/emote-love-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/emotes/emote-love-symbolic.svg new file mode 100644 index 000000000..23d1da627 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/emotes/emote-love-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/mimetypes/application-x-addon-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/mimetypes/application-x-addon-symbolic.svg new file mode 100644 index 000000000..d2609c522 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/mimetypes/application-x-addon-symbolic.svg @@ -0,0 +1,35 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/mimetypes/application-x-executable-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/mimetypes/application-x-executable-symbolic.svg new file mode 100644 index 000000000..bd39d1fa5 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/mimetypes/application-x-executable-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/mimetypes/font-x-generic-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/mimetypes/font-x-generic-symbolic.svg new file mode 100644 index 000000000..50b26e0bb --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/mimetypes/font-x-generic-symbolic.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/bluetooth-disabled-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/bluetooth-disabled-symbolic.svg index bd21e969c..fa05f67d7 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/bluetooth-disabled-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/bluetooth-disabled-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,31 +11,26 @@ - - - + + Gnome Symbolic Icon Theme - - - + + + - + - - - - - - + + - - - - - - - - + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/call-missed-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/call-missed-symbolic.svg index 0928bdb2b..2a3949487 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/call-missed-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/call-missed-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,19 +11,23 @@ - - + + Gnome Symbolic Icon Theme - + + + + + - - + + - + - + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/folder-drag-accept-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/folder-drag-accept-symbolic.svg new file mode 100644 index 000000000..b04748cba --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/folder-drag-accept-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/folder-open-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/folder-open-symbolic.svg new file mode 100644 index 000000000..f3429e526 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/folder-open-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/folder-visiting-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/folder-visiting-symbolic.svg new file mode 100644 index 000000000..f2c701de8 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/folder-visiting-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/image-loading-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/image-loading-symbolic.svg new file mode 100644 index 000000000..2b8f0253e --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/image-loading-symbolic.svg @@ -0,0 +1,33 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-consecutive-symbolic-rtl.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-consecutive-symbolic-rtl.svg new file mode 100644 index 000000000..b21de1fb2 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-consecutive-symbolic-rtl.svg @@ -0,0 +1,34 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-repeat-song-symbolic-rtl.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-repeat-song-symbolic-rtl.svg new file mode 100644 index 000000000..97bdb18c3 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-repeat-song-symbolic-rtl.svg @@ -0,0 +1,36 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-repeat-symbolic-rtl.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-repeat-symbolic-rtl.svg new file mode 100644 index 000000000..164d6c272 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-repeat-symbolic-rtl.svg @@ -0,0 +1,34 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-shuffle-symbolic-rtl.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-shuffle-symbolic-rtl.svg new file mode 100644 index 000000000..2078d3d50 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/media-playlist-shuffle-symbolic-rtl.svg @@ -0,0 +1,38 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-acquiring-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-acquiring-symbolic.svg index 25561130e..4132a8b4c 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-acquiring-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-acquiring-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,26 +11,30 @@ - - + + Gnome Symbolic Icon Theme - - + + + + + + - - - - - - + + + + + + - - - - - - - - + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-disconnected-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-disconnected-symbolic.svg index 75842231e..79de685f8 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-disconnected-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-disconnected-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,17 +11,19 @@ - - + + Gnome Symbolic Icon Theme - + + + + + - - - - + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-no-route-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-no-route-symbolic.svg index c7dfd8fa0..41e75e7ba 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-no-route-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-no-route-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,22 +11,28 @@ - - + + Gnome Symbolic Icon Theme - - + + + + + + - - + + + + - - - - - - - - + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-offline-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-offline-symbolic.svg index dcc2a9148..250111997 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-offline-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wired-offline-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,24 +11,26 @@ - - + + Gnome Symbolic Icon Theme - - + + + + + + - - - - + + - - - - - - - - + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wireless-acquiring-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wireless-acquiring-symbolic.svg index f28960aae..0e82dd0d4 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wireless-acquiring-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/network-wireless-acquiring-symbolic.svg @@ -1,7 +1,7 @@ - + @@ -11,19 +11,23 @@ - - + + Gnome Symbolic Icon Theme - + + + + + - - - - - - + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/non-starred-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/non-starred-symbolic.svg index 346717f78..e97e5920d 100644 --- a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/non-starred-symbolic.svg +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/non-starred-symbolic.svg @@ -1,7 +1,7 @@ - + - + @@ -11,22 +11,25 @@ - - + + Gnome Symbolic Icon Theme - - - - - - + + + + + + + + - - - - - - - + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/semi-starred-symbolic-rtl.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/semi-starred-symbolic-rtl.svg new file mode 100644 index 000000000..0042bf99e --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/semi-starred-symbolic-rtl.svg @@ -0,0 +1,32 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/system-lock-screen-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/system-lock-screen-symbolic.svg new file mode 100644 index 000000000..6016ba5d9 --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/system-lock-screen-symbolic.svg @@ -0,0 +1,31 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/Adwaita/scalable/status/user-not-tracked-symbolic.svg b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/user-not-tracked-symbolic.svg new file mode 100644 index 000000000..8fdf8fa6d --- /dev/null +++ b/gtk-nsis-pack/share/icons/Adwaita/scalable/status/user-not-tracked-symbolic.svg @@ -0,0 +1,36 @@ + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + + + + + + + diff --git a/gtk-nsis-pack/share/icons/hicolor/16x16/apps/gtk3-demo-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/16x16/apps/gtk3-demo-symbolic.symbolic.png new file mode 100644 index 000000000..945c632a6 Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/16x16/apps/gtk3-demo-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/16x16/apps/gtk3-widget-factory-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/16x16/apps/gtk3-widget-factory-symbolic.symbolic.png new file mode 100644 index 000000000..d40786fe2 Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/16x16/apps/gtk3-widget-factory-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/22x22/apps/gtk3-demo-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/22x22/apps/gtk3-demo-symbolic.symbolic.png new file mode 100644 index 000000000..dbe69aa22 Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/22x22/apps/gtk3-demo-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/22x22/apps/gtk3-widget-factory-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/22x22/apps/gtk3-widget-factory-symbolic.symbolic.png new file mode 100644 index 000000000..a2903750c Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/22x22/apps/gtk3-widget-factory-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/24x24/apps/gtk3-demo-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/24x24/apps/gtk3-demo-symbolic.symbolic.png new file mode 100644 index 000000000..21d0ac14c Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/24x24/apps/gtk3-demo-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/24x24/apps/gtk3-widget-factory-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/24x24/apps/gtk3-widget-factory-symbolic.symbolic.png new file mode 100644 index 000000000..7760a618a Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/24x24/apps/gtk3-widget-factory-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/256x256/apps/gtk3-demo-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/256x256/apps/gtk3-demo-symbolic.symbolic.png new file mode 100644 index 000000000..ef5305d9f Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/256x256/apps/gtk3-demo-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/256x256/apps/gtk3-widget-factory-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/256x256/apps/gtk3-widget-factory-symbolic.symbolic.png new file mode 100644 index 000000000..a95b9b035 Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/256x256/apps/gtk3-widget-factory-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/32x32/apps/gtk3-demo-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/32x32/apps/gtk3-demo-symbolic.symbolic.png new file mode 100644 index 000000000..d212a0f55 Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/32x32/apps/gtk3-demo-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/32x32/apps/gtk3-widget-factory-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/32x32/apps/gtk3-widget-factory-symbolic.symbolic.png new file mode 100644 index 000000000..1f2f6cd8a Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/32x32/apps/gtk3-widget-factory-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/48x48/apps/gtk3-demo-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/48x48/apps/gtk3-demo-symbolic.symbolic.png new file mode 100644 index 000000000..93fa6b74c Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/48x48/apps/gtk3-demo-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/icons/hicolor/48x48/apps/gtk3-widget-factory-symbolic.symbolic.png b/gtk-nsis-pack/share/icons/hicolor/48x48/apps/gtk3-widget-factory-symbolic.symbolic.png new file mode 100644 index 000000000..201eeb776 Binary files /dev/null and b/gtk-nsis-pack/share/icons/hicolor/48x48/apps/gtk3-widget-factory-symbolic.symbolic.png differ diff --git a/gtk-nsis-pack/share/locale/ar/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/ar/LC_MESSAGES/gtk30.mo index 8ee73200b..171bb1b0f 100644 Binary files a/gtk-nsis-pack/share/locale/ar/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/ar/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/ar/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ar/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..23ee37111 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ar/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/as/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/as/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..c50978066 Binary files /dev/null and b/gtk-nsis-pack/share/locale/as/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/as/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/as/LC_MESSAGES/json-glib-1.0.mo index 140295b44..0f5ce4c1b 100644 Binary files a/gtk-nsis-pack/share/locale/as/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/as/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ast/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ast/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..883d97509 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ast/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/az/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/az/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..1ed86bfc3 Binary files /dev/null and b/gtk-nsis-pack/share/locale/az/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/be/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/be/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..0f9876a95 Binary files /dev/null and b/gtk-nsis-pack/share/locale/be/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/be/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/be/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..2cacf1980 Binary files /dev/null and b/gtk-nsis-pack/share/locale/be/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/be/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/be/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..393dbd9cc Binary files /dev/null and b/gtk-nsis-pack/share/locale/be/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gdk-pixbuf.mo index c8a3e3c43..9ffbc62d4 100644 Binary files a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..a75e3f6c8 Binary files /dev/null and b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..4109fa7e5 Binary files /dev/null and b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/glib20.mo index 1fa1902cf..e53d84784 100644 Binary files a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gtk30.mo index 55f5fa13d..a14239083 100644 Binary files a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..90c86c130 Binary files /dev/null and b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/json-glib-1.0.mo index ba02df53e..2cdeec5c7 100644 Binary files a/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/bg/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/bn/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/bn/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..53a124ea0 Binary files /dev/null and b/gtk-nsis-pack/share/locale/bn/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/bn_IN/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/bn_IN/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..7f8629e28 Binary files /dev/null and b/gtk-nsis-pack/share/locale/bn_IN/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/bn_IN/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/bn_IN/LC_MESSAGES/json-glib-1.0.mo index 2a3c4a37f..817de2158 100644 Binary files a/gtk-nsis-pack/share/locale/bn_IN/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/bn_IN/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/bs/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/bs/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..ed8c6cfb0 Binary files /dev/null and b/gtk-nsis-pack/share/locale/bs/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/bs/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/bs/LC_MESSAGES/json-glib-1.0.mo index f718a4713..d9cd61813 100644 Binary files a/gtk-nsis-pack/share/locale/bs/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/bs/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..fdf07e163 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..00105ff2d Binary files /dev/null and b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtk30-properties.mo index 6c67bae60..390f2144b 100644 Binary files a/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtk30.mo index 9e8838d67..460aece7c 100644 Binary files a/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..3fb618207 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/json-glib-1.0.mo index 2a6236c93..98532ef0f 100644 Binary files a/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/ca/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ca@valencia/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ca@valencia/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..76cda911f Binary files /dev/null and b/gtk-nsis-pack/share/locale/ca@valencia/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ca@valencia/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/ca@valencia/LC_MESSAGES/json-glib-1.0.mo index e908c1620..a1d2881a8 100644 Binary files a/gtk-nsis-pack/share/locale/ca@valencia/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/ca@valencia/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gdk-pixbuf.mo index cf2331cf6..ed948ead3 100644 Binary files a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..c80b7a4a6 Binary files /dev/null and b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..b9a0b4f61 Binary files /dev/null and b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/glib20.mo index 42281b082..bb19823e0 100644 Binary files a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtk30-properties.mo index 0150290e5..8d1753ef6 100644 Binary files a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtk30.mo index 50aca7565..248a3e776 100644 Binary files a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..a6be9eda2 Binary files /dev/null and b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/json-glib-1.0.mo index 113e2c5b2..503d75e13 100644 Binary files a/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/cs/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/cy/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/cy/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..b59b23338 Binary files /dev/null and b/gtk-nsis-pack/share/locale/cy/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/atk10.mo b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/atk10.mo index e80d19b94..ccd295308 100644 Binary files a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/atk10.mo and b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/atk10.mo differ diff --git a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gdk-pixbuf.mo index 15342bc9d..7423e1752 100644 Binary files a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..882a55a79 Binary files /dev/null and b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..1a649a480 Binary files /dev/null and b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/glib20.mo index 299a234a7..6c45bef55 100644 Binary files a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtk30-properties.mo index 5cb77535d..7d057d798 100644 Binary files a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtk30.mo index 508aba743..ad51b6de4 100644 Binary files a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..7bf882c7c Binary files /dev/null and b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/json-glib-1.0.mo index d21772290..5e83b29e6 100644 Binary files a/gtk-nsis-pack/share/locale/da/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/da/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gdk-pixbuf.mo index 8325e90f1..32d9600b5 100644 Binary files a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..97b30552d Binary files /dev/null and b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..357b66985 Binary files /dev/null and b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/glib20.mo index 5d939e6d6..b236805c9 100644 Binary files a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtk30-properties.mo index a483940fa..b779a7e70 100644 Binary files a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtk30.mo index 58e421e64..2c18984b1 100644 Binary files a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..f4abd27e2 Binary files /dev/null and b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/json-glib-1.0.mo index 726b52059..499261ef2 100644 Binary files a/gtk-nsis-pack/share/locale/de/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/de/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/dz/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/dz/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..aadbc860c Binary files /dev/null and b/gtk-nsis-pack/share/locale/dz/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gdk-pixbuf.mo index 75cdcca36..3d652ee2a 100644 Binary files a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..92562ac69 Binary files /dev/null and b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..278dab73b Binary files /dev/null and b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/glib20.mo index 17129a9f2..67e17ee66 100644 Binary files a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtk30-properties.mo index 08307160c..3dcc53989 100644 Binary files a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtk30.mo index 3d3dde710..d43d3628c 100644 Binary files a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..de8ab2477 Binary files /dev/null and b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/json-glib-1.0.mo index 834549232..efba6d8cd 100644 Binary files a/gtk-nsis-pack/share/locale/el/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/el/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..c4a7598c9 Binary files /dev/null and b/gtk-nsis-pack/share/locale/en@boldquot/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/en@boldquot/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/en@boldquot/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..d3dbf3b3b Binary files /dev/null and b/gtk-nsis-pack/share/locale/en@boldquot/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..71fabcde4 Binary files /dev/null and b/gtk-nsis-pack/share/locale/en@quot/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/en@quot/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/en@quot/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..7f90f725a Binary files /dev/null and b/gtk-nsis-pack/share/locale/en@quot/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/en@shaw/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/en@shaw/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..ae30c1561 Binary files /dev/null and b/gtk-nsis-pack/share/locale/en@shaw/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/en_CA/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/en_CA/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..9b1a74a9c Binary files /dev/null and b/gtk-nsis-pack/share/locale/en_CA/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/en_GB/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/en_GB/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..525bcf6ed Binary files /dev/null and b/gtk-nsis-pack/share/locale/en_GB/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/en_GB/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/en_GB/LC_MESSAGES/json-glib-1.0.mo index 74ef77958..94fdeb64f 100644 Binary files a/gtk-nsis-pack/share/locale/en_GB/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/en_GB/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/atk10.mo b/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/atk10.mo index 2ebdc791c..80e1e8c32 100644 Binary files a/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/atk10.mo and b/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/atk10.mo differ diff --git a/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..894ed558f Binary files /dev/null and b/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..c9dcd0031 Binary files /dev/null and b/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/json-glib-1.0.mo index 997ee5128..d43d66e47 100644 Binary files a/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/eo/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gdk-pixbuf.mo index 4dcf42681..ec11c973a 100644 Binary files a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..12301bc12 Binary files /dev/null and b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..029dbbd5b Binary files /dev/null and b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/glib20.mo index d9ccbfbdf..e423ed689 100644 Binary files a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtk30-properties.mo index c7a06a0c0..342c0e9cf 100644 Binary files a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtk30.mo index f7fe32401..daa635a6d 100644 Binary files a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..29e304b3c Binary files /dev/null and b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/json-glib-1.0.mo index 83baf9aad..d6e351f34 100644 Binary files a/gtk-nsis-pack/share/locale/es/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/es/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/et/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/et/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..f56b670bc Binary files /dev/null and b/gtk-nsis-pack/share/locale/et/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/et/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/et/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..ab49d070a Binary files /dev/null and b/gtk-nsis-pack/share/locale/et/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/et/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/et/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..a4a91b768 Binary files /dev/null and b/gtk-nsis-pack/share/locale/et/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/et/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/et/LC_MESSAGES/json-glib-1.0.mo index 1d7a33b88..6de3bc5f4 100644 Binary files a/gtk-nsis-pack/share/locale/et/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/et/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gdk-pixbuf.mo index 4f1ad707e..3e79f7f8e 100644 Binary files a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..04b60d3fd Binary files /dev/null and b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/glib20.mo index cb43b6454..18848c2c9 100644 Binary files a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtk30-properties.mo index bb6526ed9..42d2e6708 100644 Binary files a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtk30.mo index 1356ad874..1cdd51322 100644 Binary files a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..9da288c48 Binary files /dev/null and b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/json-glib-1.0.mo index 8a8b112ab..e0f3e99ae 100644 Binary files a/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/eu/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/fa/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/fa/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..cef73b389 Binary files /dev/null and b/gtk-nsis-pack/share/locale/fa/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..7de8a30e9 Binary files /dev/null and b/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..724cbcfe5 Binary files /dev/null and b/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/glib20.mo index 6d7ab8326..cfa01d96e 100644 Binary files a/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gtk30.mo index 5733da1f1..b617c3865 100644 Binary files a/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..9af57451c Binary files /dev/null and b/gtk-nsis-pack/share/locale/fi/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gdk-pixbuf.mo index b94b1e0af..4fb1398cf 100644 Binary files a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..2b4dea707 Binary files /dev/null and b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..1f91b31e0 Binary files /dev/null and b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/glib20.mo index bb6ee0a73..63af1badd 100644 Binary files a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtk30-properties.mo index 2734d0439..69535e15f 100644 Binary files a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtk30.mo index 0eff0b2cd..c622d0823 100644 Binary files a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..8d510c25d Binary files /dev/null and b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/json-glib-1.0.mo index 39240aedf..9d868730c 100644 Binary files a/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/fr/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/fur/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/fur/LC_MESSAGES/json-glib-1.0.mo index 9d68d136a..87699d45e 100644 Binary files a/gtk-nsis-pack/share/locale/fur/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/fur/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ga/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/ga/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..8ec64dc14 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ga/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/ga/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ga/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..a6ad75266 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ga/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/glib20.mo new file mode 100644 index 000000000..1a20ceff2 Binary files /dev/null and b/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/gtk30-properties.mo index 4a5c3803a..13e3977f6 100644 Binary files a/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/gtk30.mo index 9b9d99575..dfa24bffe 100644 Binary files a/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/gd/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gdk-pixbuf.mo index 6a779e571..593ceffe3 100644 Binary files a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..0bf198a7d Binary files /dev/null and b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..b976044c6 Binary files /dev/null and b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/glib20.mo index 397a0b8ba..92b832c81 100644 Binary files a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtk30-properties.mo index 483f5af1b..e3c657034 100644 Binary files a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtk30.mo index e4b7d2ccb..070c511e6 100644 Binary files a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..e44b63c57 Binary files /dev/null and b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/json-glib-1.0.mo index 0d4f162d4..d5a9aef80 100644 Binary files a/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/gl/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/gu/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/gu/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..66416e5a6 Binary files /dev/null and b/gtk-nsis-pack/share/locale/gu/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gdk-pixbuf.mo index f067776f6..9952b4ce3 100644 Binary files a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/glib20.mo index 882207c6f..a6c2a4656 100644 Binary files a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtk30-properties.mo index c26ceefe2..52d1c7caf 100644 Binary files a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtk30.mo index 942bb7580..108d8db14 100644 Binary files a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..9749be17d Binary files /dev/null and b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/json-glib-1.0.mo index fcdbe3d5a..91bf7811f 100644 Binary files a/gtk-nsis-pack/share/locale/he/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/he/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/hi/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/hi/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..b1b1873c5 Binary files /dev/null and b/gtk-nsis-pack/share/locale/hi/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/hi/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/hi/LC_MESSAGES/json-glib-1.0.mo index 182792b95..d32fd6cb6 100644 Binary files a/gtk-nsis-pack/share/locale/hi/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/hi/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/hr/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/hr/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..bee81a524 Binary files /dev/null and b/gtk-nsis-pack/share/locale/hr/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/hr/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/hr/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..cf2af67e5 Binary files /dev/null and b/gtk-nsis-pack/share/locale/hr/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo index 745b83746..0a9c338b2 100644 Binary files a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..ea3293d2e Binary files /dev/null and b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/glib20.mo index 35febe421..94af1a76b 100644 Binary files a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtk30-properties.mo index 8f9b04bac..361757d25 100644 Binary files a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtk30.mo index 8d4b0beac..d32177223 100644 Binary files a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..12c84a735 Binary files /dev/null and b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/json-glib-1.0.mo index c5adf9739..412914e1e 100644 Binary files a/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/hu/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gdk-pixbuf.mo index d04d4f316..eca677015 100644 Binary files a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..f678de43f Binary files /dev/null and b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..d083f5240 Binary files /dev/null and b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtk30-properties.mo index eb87b9d30..6a39bc081 100644 Binary files a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtk30.mo index 12610f406..326c8ce38 100644 Binary files a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..cfb0da064 Binary files /dev/null and b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/json-glib-1.0.mo index a6dd27c1c..21e030b35 100644 Binary files a/gtk-nsis-pack/share/locale/id/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/id/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/is/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/is/LC_MESSAGES/gtk30.mo index d762248ed..902a9530d 100644 Binary files a/gtk-nsis-pack/share/locale/is/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/is/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gdk-pixbuf.mo index 0376f576b..749bcedf7 100644 Binary files a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..eb063059f Binary files /dev/null and b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..eed465802 Binary files /dev/null and b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/glib20.mo index b97f8c29d..ec84c051a 100644 Binary files a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtk30-properties.mo index 608d87324..abc471477 100644 Binary files a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtk30.mo index b32ea9bc3..6d5a38cbe 100644 Binary files a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..5b5ce6266 Binary files /dev/null and b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/json-glib-1.0.mo index 2d23abe44..1500d8f16 100644 Binary files a/gtk-nsis-pack/share/locale/it/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/it/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..61a9ae4bb Binary files /dev/null and b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..c2e9950e0 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtk20.mo b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtk20.mo index 2587001f5..a73cb1623 100644 Binary files a/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtk20.mo and b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtk20.mo differ diff --git a/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtk30.mo index d2997b4ba..ed395c2a6 100644 Binary files a/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..c7aab75e8 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/json-glib-1.0.mo index 81ec92bee..d90f8508d 100644 Binary files a/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/ja/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gdk-pixbuf.mo new file mode 100644 index 000000000..0c80bb01b Binary files /dev/null and b/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/glib20.mo index c7dd6d6a0..fc221b278 100644 Binary files a/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtk30-properties.mo index b9380ef67..0078d37fd 100644 Binary files a/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtk30.mo index ed357ddcc..482ba6e9e 100644 Binary files a/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..fbfe0cf79 Binary files /dev/null and b/gtk-nsis-pack/share/locale/kk/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/kn/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/kn/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..b329ebc93 Binary files /dev/null and b/gtk-nsis-pack/share/locale/kn/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gdk-pixbuf.mo index c1941b9c1..8abc3e397 100644 Binary files a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..4b492b1ca Binary files /dev/null and b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..8e6969a77 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/glib20.mo index e35ed8efc..9f3cd2f6a 100644 Binary files a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtk30-properties.mo index 440491f8d..38362c4ac 100644 Binary files a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtk30.mo index 8b742e2da..eebed1211 100644 Binary files a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..52defb5c2 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/json-glib-1.0.mo index 2b12eebc3..e9f26ad1d 100644 Binary files a/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/ko/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ky/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/ky/LC_MESSAGES/json-glib-1.0.mo index 483030b2c..dea1c40e7 100644 Binary files a/gtk-nsis-pack/share/locale/ky/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/ky/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/atk10.mo b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/atk10.mo index 936962d77..e12605773 100644 Binary files a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/atk10.mo and b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/atk10.mo differ diff --git a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gdk-pixbuf.mo index d7c3ffbf9..9d702019e 100644 Binary files a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/glib20.mo index 23dc7b5a1..12a3c9001 100644 Binary files a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtk30-properties.mo index 65f480016..c76f5f1b9 100644 Binary files a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtk30.mo index 34468e5e2..b69a9a959 100644 Binary files a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..5bdc20a23 Binary files /dev/null and b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/json-glib-1.0.mo index d35c5cf0a..9dfcd49b7 100644 Binary files a/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/lt/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gdk-pixbuf.mo index b4576a675..f3de9c1c0 100644 Binary files a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/glib20.mo index c90ca9f1a..ee708b1cd 100644 Binary files a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtk30-properties.mo index 517921415..2d7204081 100644 Binary files a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtk30.mo index 7aa552936..4eeeefede 100644 Binary files a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..18c2a533d Binary files /dev/null and b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/json-glib-1.0.mo index 34b6145e0..bd58fe4ee 100644 Binary files a/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/lv/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/mai/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/mai/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..465f3e98d Binary files /dev/null and b/gtk-nsis-pack/share/locale/mai/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/mg/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/mg/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..64360e6ba Binary files /dev/null and b/gtk-nsis-pack/share/locale/mg/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/mk/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/mk/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..a4c1a8dd0 Binary files /dev/null and b/gtk-nsis-pack/share/locale/mk/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ml/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ml/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..6807a10af Binary files /dev/null and b/gtk-nsis-pack/share/locale/ml/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ml/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/ml/LC_MESSAGES/json-glib-1.0.mo index 0ac424a1a..55889fc89 100644 Binary files a/gtk-nsis-pack/share/locale/ml/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/ml/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/mn/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/mn/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..146d1beb8 Binary files /dev/null and b/gtk-nsis-pack/share/locale/mn/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/mr/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/mr/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..e91720dce Binary files /dev/null and b/gtk-nsis-pack/share/locale/mr/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ms/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ms/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..98b0e59c8 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ms/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gdk-pixbuf.mo index 120090c60..86d0ea19a 100644 Binary files a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..c72d057c0 Binary files /dev/null and b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..02e81f6ca Binary files /dev/null and b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/glib20.mo index 0517ee717..91866c35c 100644 Binary files a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gtk30.mo index a20ff37e4..6f78f00ec 100644 Binary files a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..ed87c198f Binary files /dev/null and b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/json-glib-1.0.mo index 3b892eb4a..69d2ca851 100644 Binary files a/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/nb/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ne/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ne/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..fc3a4ad45 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ne/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..eebec45b8 Binary files /dev/null and b/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..1bd6028fc Binary files /dev/null and b/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gtk30.mo index 0b9e91c6a..66dd267fd 100644 Binary files a/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..a36c0be51 Binary files /dev/null and b/gtk-nsis-pack/share/locale/nl/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/nn/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/nn/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..3994be352 Binary files /dev/null and b/gtk-nsis-pack/share/locale/nn/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/nn/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/nn/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..3bbd91a7c Binary files /dev/null and b/gtk-nsis-pack/share/locale/nn/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/nn/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/nn/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..403ae5215 Binary files /dev/null and b/gtk-nsis-pack/share/locale/nn/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/atk10.mo b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/atk10.mo index 9f96f9a6b..b3e3742f5 100644 Binary files a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/atk10.mo and b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/atk10.mo differ diff --git a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gdk-pixbuf.mo index 4cfbfa40c..8473a591f 100644 Binary files a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/glib20.mo index ba14d64c4..b587273b4 100644 Binary files a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtk30-properties.mo index a1821d3de..a6920e7d6 100644 Binary files a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtk30.mo index 8034487f3..3f657584b 100644 Binary files a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..39dbd3a00 Binary files /dev/null and b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/json-glib-1.0.mo new file mode 100644 index 000000000..438c0d2ef Binary files /dev/null and b/gtk-nsis-pack/share/locale/oc/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/or/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/or/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..ada74fe77 Binary files /dev/null and b/gtk-nsis-pack/share/locale/or/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/or/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/or/LC_MESSAGES/json-glib-1.0.mo index 8c5a4c922..e2fa687c9 100644 Binary files a/gtk-nsis-pack/share/locale/or/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/or/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..94de39a64 Binary files /dev/null and b/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtk30-properties.mo index 55802a903..3c475bae1 100644 Binary files a/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtk30.mo index 31e84a7c4..b3e10c82c 100644 Binary files a/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..af4c5fb4c Binary files /dev/null and b/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/json-glib-1.0.mo index f36031646..f342e49db 100644 Binary files a/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/pa/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gdk-pixbuf.mo index 244ad3518..e8c6de67d 100644 Binary files a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..d6ba603ee Binary files /dev/null and b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..372a88c3a Binary files /dev/null and b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/glib20.mo index 3823d3de4..afdd4a2e0 100644 Binary files a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtk30-properties.mo index aa9b5d58a..20230ea5f 100644 Binary files a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtk30.mo index 5c4bf3c0d..353aa5b7b 100644 Binary files a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..f2d84bb6a Binary files /dev/null and b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/json-glib-1.0.mo index 86fa3bf26..8544be339 100644 Binary files a/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/pl/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gdk-pixbuf.mo index 539cc1eb5..33d0b278f 100644 Binary files a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..e7d4c7024 Binary files /dev/null and b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..2b45079bd Binary files /dev/null and b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/glib20.mo index 40bcd9b19..60e677df9 100644 Binary files a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtk30-properties.mo index 3f37d7fdb..e6838aa65 100644 Binary files a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtk30.mo index 84aa1d0a2..b55def2fc 100644 Binary files a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..fb0345d72 Binary files /dev/null and b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/json-glib-1.0.mo index 26297fe21..ba2a479b5 100644 Binary files a/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/pt/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gdk-pixbuf.mo index 66cf34838..fa675eeb0 100644 Binary files a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..f45514509 Binary files /dev/null and b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..5116a3600 Binary files /dev/null and b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/glib20.mo index 24c86a2e3..6ee537583 100644 Binary files a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtk30-properties.mo index 01c115f49..f3d387517 100644 Binary files a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtk30.mo index 9553b5fc7..f9489a182 100644 Binary files a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..91870e7cd Binary files /dev/null and b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/json-glib-1.0.mo index fa47b72b9..469841100 100644 Binary files a/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/pt_BR/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..d274aaefd Binary files /dev/null and b/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..49105d90e Binary files /dev/null and b/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..4cc6506ce Binary files /dev/null and b/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/json-glib-1.0.mo new file mode 100644 index 000000000..6d028b457 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ro/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gdk-pixbuf.mo index c9d20d4fd..5e9b5cd81 100644 Binary files a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..7e59fac25 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..131913219 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/glib20.mo index 765ea6eec..a09240612 100644 Binary files a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtk30-properties.mo index 87424164b..e334850eb 100644 Binary files a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtk30.mo index 322137c5e..7124eb487 100644 Binary files a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..c23ca1aa5 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/json-glib-1.0.mo index 0569599fa..aec3d255c 100644 Binary files a/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/ru/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/rw/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/rw/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..9942a17d5 Binary files /dev/null and b/gtk-nsis-pack/share/locale/rw/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/si/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/si/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..591986c5b Binary files /dev/null and b/gtk-nsis-pack/share/locale/si/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gdk-pixbuf.mo index 48f606c97..2ea13a8f0 100644 Binary files a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..ba6382542 Binary files /dev/null and b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..f5c2df43c Binary files /dev/null and b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/glib20.mo index 253e7787c..2d636615f 100644 Binary files a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtk30-properties.mo index e6ccd9313..d0395e1a2 100644 Binary files a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtk30.mo index 4a26ca7fe..8de56c43d 100644 Binary files a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..06e57b702 Binary files /dev/null and b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/json-glib-1.0.mo index 4a9c78bba..fa722d03a 100644 Binary files a/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/sk/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gdk-pixbuf.mo index 4bca30e27..2984e61d7 100644 Binary files a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..09ac418b0 Binary files /dev/null and b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..2256d3db9 Binary files /dev/null and b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/glib20.mo index 30577a05d..f90a48a8a 100644 Binary files a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtk30-properties.mo index bc788d752..102db399f 100644 Binary files a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtk30.mo index a87354fef..d9f0ae997 100644 Binary files a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..6313c0081 Binary files /dev/null and b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/json-glib-1.0.mo index 8d97079f9..7550f8f8d 100644 Binary files a/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/sl/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sq/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/sq/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..7946588c8 Binary files /dev/null and b/gtk-nsis-pack/share/locale/sq/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gdk-pixbuf.mo index eb7c55a79..7a260d9ed 100644 Binary files a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..091f15b5d Binary files /dev/null and b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..6f1868b46 Binary files /dev/null and b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/glib20.mo index dd1f65706..78194d054 100644 Binary files a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtk30-properties.mo index dbe348ec2..a43425aaa 100644 Binary files a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtk30.mo index 09ebdaa95..1dd3627d6 100644 Binary files a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..7a6d4b9be Binary files /dev/null and b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/json-glib-1.0.mo index c7f6c8c1b..c4ebd216a 100644 Binary files a/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/sr/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gdk-pixbuf.mo index 26fd3f1bd..5825bb1f7 100644 Binary files a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/glib20.mo index d8dff53d7..e1ac5aba4 100644 Binary files a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtk30-properties.mo index 0e63fc735..6b4893498 100644 Binary files a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtk30.mo index e36227311..2429e6432 100644 Binary files a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..944e5283e Binary files /dev/null and b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/json-glib-1.0.mo index 11e4babc3..16c99bbda 100644 Binary files a/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/sr@latin/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/atk10.mo b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/atk10.mo index 383bdf8df..88008bc6c 100644 Binary files a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/atk10.mo and b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/atk10.mo differ diff --git a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gdk-pixbuf.mo index 9b9a25163..3f085586d 100644 Binary files a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..1c50df721 Binary files /dev/null and b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..2cb2142de Binary files /dev/null and b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/glib20.mo index 635bd55ef..01c88b183 100644 Binary files a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtk30-properties.mo index 0a931e03a..f2db77141 100644 Binary files a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtk30.mo index 90e32881d..b5be7706a 100644 Binary files a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..13e807a1e Binary files /dev/null and b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/json-glib-1.0.mo index e895c2879..1cd129889 100644 Binary files a/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/sv/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ta/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ta/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..6c68ffb7b Binary files /dev/null and b/gtk-nsis-pack/share/locale/ta/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/te/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/te/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..10d021d84 Binary files /dev/null and b/gtk-nsis-pack/share/locale/te/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/te/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/te/LC_MESSAGES/json-glib-1.0.mo index 416c24ab8..eba679582 100644 Binary files a/gtk-nsis-pack/share/locale/te/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/te/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/tg/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/tg/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..506645902 Binary files /dev/null and b/gtk-nsis-pack/share/locale/tg/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/tg/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/tg/LC_MESSAGES/json-glib-1.0.mo index 3f0098352..e805a27db 100644 Binary files a/gtk-nsis-pack/share/locale/tg/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/tg/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtk20.mo b/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtk20.mo index 96ec63bbb..fe0e57787 100644 Binary files a/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtk20.mo and b/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtk20.mo differ diff --git a/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtk30.mo index b910fdd62..a4c0ff732 100644 Binary files a/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..39401c46a Binary files /dev/null and b/gtk-nsis-pack/share/locale/th/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..75f303704 Binary files /dev/null and b/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..5c24989f5 Binary files /dev/null and b/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..c7381747e Binary files /dev/null and b/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/json-glib-1.0.mo index bb17b8120..baa3be8c8 100644 Binary files a/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/tr/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ug/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/ug/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..d278a32d6 Binary files /dev/null and b/gtk-nsis-pack/share/locale/ug/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/ug/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/ug/LC_MESSAGES/json-glib-1.0.mo index 629c119f9..d66ffbd2c 100644 Binary files a/gtk-nsis-pack/share/locale/ug/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/ug/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..0d500f29a Binary files /dev/null and b/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..2ebddd27f Binary files /dev/null and b/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gtk30.mo index caa447a84..f7a54409e 100644 Binary files a/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..16aece613 Binary files /dev/null and b/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/json-glib-1.0.mo index e1c466a5c..ac58d82e6 100644 Binary files a/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/uk/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/atk10.mo b/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/atk10.mo index 0e9d11ca9..b150706f4 100644 Binary files a/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/atk10.mo and b/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/atk10.mo differ diff --git a/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..e39e3e41b Binary files /dev/null and b/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..3a5fe7e9a Binary files /dev/null and b/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..01f2a963d Binary files /dev/null and b/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/json-glib-1.0.mo index 000db13e0..1aa600cf7 100644 Binary files a/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/vi/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/xh/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/xh/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..9836a0c24 Binary files /dev/null and b/gtk-nsis-pack/share/locale/xh/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..0c51019aa Binary files /dev/null and b/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..5e0d39d0a Binary files /dev/null and b/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/glib20.mo index 5b9b0e3b5..e58b71ca7 100644 Binary files a/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..9d2eea524 Binary files /dev/null and b/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/json-glib-1.0.mo index 4195b7f61..67981353e 100644 Binary files a/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/zh_CN/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..444c5208a Binary files /dev/null and b/gtk-nsis-pack/share/locale/zh_HK/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_HK/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/zh_HK/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..958f546e5 Binary files /dev/null and b/gtk-nsis-pack/share/locale/zh_HK/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_HK/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/zh_HK/LC_MESSAGES/json-glib-1.0.mo index 3479e4787..9bde0ad64 100644 Binary files a/gtk-nsis-pack/share/locale/zh_HK/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/zh_HK/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gdk-pixbuf.mo b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gdk-pixbuf.mo index 3576d0be6..b849d8212 100644 Binary files a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gdk-pixbuf.mo and b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gdk-pixbuf.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo new file mode 100644 index 000000000..5d5c6dd41 Binary files /dev/null and b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gettext-runtime.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gettext-tools.mo b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gettext-tools.mo new file mode 100644 index 000000000..ef98fcffb Binary files /dev/null and b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gettext-tools.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/glib20.mo b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/glib20.mo index 89aff3532..bc9603a71 100644 Binary files a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/glib20.mo and b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/glib20.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtk30-properties.mo b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtk30-properties.mo index 08a140899..9c4d59ecc 100644 Binary files a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtk30-properties.mo and b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtk30-properties.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtk30.mo b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtk30.mo index aafb5fb29..8fb00e9cc 100644 Binary files a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtk30.mo and b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtk30.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtksourceview-3.0.mo b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtksourceview-3.0.mo new file mode 100644 index 000000000..86ea4d55f Binary files /dev/null and b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/gtksourceview-3.0.mo differ diff --git a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/json-glib-1.0.mo b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/json-glib-1.0.mo index ce448891e..029cb1f95 100644 Binary files a/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/json-glib-1.0.mo and b/gtk-nsis-pack/share/locale/zh_TW/LC_MESSAGES/json-glib-1.0.mo differ diff --git a/gtk-nsis-pack/share/themes/Emacs/gtk-3.0/gtk-keys.css b/gtk-nsis-pack/share/themes/Emacs/gtk-3.0/gtk-keys.css index 3c1cd8759..9dd624074 100644 --- a/gtk-nsis-pack/share/themes/Emacs/gtk-3.0/gtk-keys.css +++ b/gtk-nsis-pack/share/themes/Emacs/gtk-3.0/gtk-keys.css @@ -104,18 +104,18 @@ bind "b" { "move-current" (parent) }; } -GtkEntry { - gtk-key-bindings: gtk-emacs-text-entry; +entry { + -gtk-key-bindings: gtk-emacs-text-entry; } -GtkTextView { - gtk-key-bindings: gtk-emacs-text-entry, gtk-emacs-text-view; +textview { + -gtk-key-bindings: gtk-emacs-text-entry, gtk-emacs-text-view; } -GtkTreeView { - gtk-key-bindings: gtk-emacs-tree-view; +treeview { + -gtk-key-bindings: gtk-emacs-tree-view; } GtkMenuShell { - gtk-key-bindings: gtk-emacs-menu; + -gtk-key-bindings: gtk-emacs-menu; }