Compare commits

...

793 Commits

Author SHA1 Message Date
Sabri Ünal
1b15f9401e Update Turkish translation 2024-07-29 20:40:28 +00:00
Daniel
0f2d0b107c Updated Spanish translation 2024-06-26 14:13:41 +02:00
Sabri Ünal
eb150285d5 Update Turkish translation 2024-03-28 14:36:36 +00:00
Baurzhan Muftakhidinov
0c953a4a78 Update Kazakh translation 2024-03-08 05:55:41 +00:00
Andre Klapper
eca9ec777c DOAP: Replace defunct mailing list with GNOME Discourse URL
Also comment tvb as maintainer because pre-commit check says:
Invalid gnome:userid property (tvb is not a member of the gnomecvs group)
2024-01-12 09:06:27 +01:00
Sabri Ünal
7f3c0ce1af Update Turkish translation 2023-10-29 11:23:33 +00:00
Florentina Mușat
9d40daf16a Update Romanian translation 2023-10-21 13:29:31 +00:00
Sabri Ünal
f665d1e2d1 Update Turkish translation 2023-10-16 13:21:02 +00:00
Daniel Mustieles
508379bd4a Updated Spanish translation 2023-09-21 11:30:44 +02:00
Daniel Rusek
c91a7d323c Update Czech translation 2023-09-07 23:12:30 +00:00
Sabri Ünal
15fb026463 Update Turkish translation 2023-08-11 11:27:22 +00:00
Luming Zh
501aae6800 Update Chinese (China) translation 2023-08-11 01:03:22 +00:00
Daniel Mustieles
f0b23aecaf Updated Spanish translation 2023-07-19 16:09:40 +02:00
Asier Sarasua Garmendia
62122a144f Update Basque translation 2023-04-09 05:51:12 +00:00
Andre Klapper
fb66dc9129 desktop: Remove obsolete Bugzilla entries 2023-03-04 17:12:35 +01:00
Aurimas Černius
dbb6d7daa2 Update Lithuanian translation 2023-02-26 20:55:21 +00:00
Jürgen Benvenuti
c1952e05df Update German translation 2023-02-01 09:32:36 +00:00
Zurab Kargareteli
1fbca367cf Update Georgian translation 2022-10-01 10:10:41 +00:00
Matt Turner
fa7224e48e build: Use GNOME module post_install() 2022-09-26 20:20:53 +00:00
Мирослав Николић
a873cf985a Update Serbian translation 2022-09-25 07:46:25 +00:00
Matej Urbančič
83227a7826 Update Slovenian translation 2022-09-22 20:52:04 +00:00
Enrico Nicoletto
bc0a099360 Update Brazilian Portuguese translation 2022-09-10 12:42:56 +00:00
Sabri Ünal
8fda8dfc2c Update Turkish translation 2022-09-03 06:04:30 +00:00
Balázs Úr
43a3ebbc77 Update Hungarian translation 2022-09-01 23:23:40 +00:00
Luna Jernberg
34e82ccc35 Update Swedish translation 2022-09-01 17:00:23 +00:00
Piotr Drąg
1f8ff4d35e Update Polish translation 2022-08-14 15:54:25 +02:00
Aleksandr Melman
21e7cd6cf0 Update Russian translation 2022-08-13 11:29:47 +00:00
Hugo Carvalho
a5a27dc96f Update Portuguese translation 2022-08-12 11:21:53 +00:00
Yuri Chornoivan
e2d223ba98 Update Ukrainian translation 2022-08-11 05:54:30 +00:00
Kukuh Syafaat
e0f81371fd Update Indonesian translation 2022-08-11 04:19:53 +00:00
Piotr Drąg
e8df54bcdc Update POTFILES.in 2022-08-10 23:32:52 +02:00
Juan Pablo Ugarte
b3823efd0a Rolling last release! 2022-08-10 16:24:25 -04:00
Juan Pablo Ugarte
3970e9706c GladeWindow: Remove survey
We do not need to run the survey anymore since there is not plan for further development.
2022-08-10 16:24:25 -04:00
Juan Pablo Ugarte
2a6f53bdc5 Remove Guido memorial 2022-08-10 16:24:25 -04:00
Juan Pablo Ugarte
3f3b6bb456 Tests: fix regression in toplevel-order 2022-08-10 16:24:25 -04:00
Марко Костић
690e264da4 Update Serbian translation 2022-08-06 14:30:09 +00:00
Asier Sarasua Garmendia
5bead2812d Update Basque translation 2022-07-31 16:51:29 +00:00
Nart Tlisha
705d06cbf8 Update Abkhazian translation 2022-07-28 19:03:46 +00:00
Zurab Kargareteli
0f4a490653 Update Georgian translation 2022-07-26 06:43:04 +00:00
Zurab Kargareteli
bf4e8ff8aa Update Georgian translation 2022-07-26 06:42:08 +00:00
Nart Tlisha
60e1440215 Add Abkhazian translation 2022-07-25 13:53:26 +00:00
Emin Tufan Çetin
69f8a2c744 Update Turkish translation 2022-07-22 14:40:18 +00:00
Zurab Kargareteli
5c96e5a504 Add Georgian translation 2022-07-17 17:46:30 +00:00
Kukuh Syafaat
38e162b957 Update Indonesian translation 2022-07-10 09:38:08 +00:00
Piotr Drąg
8518979622 Update Polish translation 2022-06-12 14:58:21 +02:00
Yuri Chornoivan
4a8822c3bc Update Ukrainian translation 2022-06-03 06:25:58 +00:00
Irénée THIRION
21e0820f14 Update French translation 2022-05-24 09:34:33 +00:00
Daniel Mustieles
6fca410949 Updated Spanish translation 2022-05-19 10:24:28 +02:00
Charles Monzat
4154a7cb70 Update French translation 2022-05-02 11:19:17 +00:00
Luming Zh
89ef7392de Update Chinese (China) translation 2022-04-25 16:46:02 +00:00
Aleksandr Melman
1773b184fc Update Russian translation 2022-04-24 16:42:24 +00:00
Hugo Carvalho
b13ee97b63 Update Portuguese translation 2022-04-22 18:13:37 +00:00
Rafael Fontenelle
fca50e9c4f Update Brazilian Portuguese translation 2022-04-21 22:18:42 +00:00
Yuri Chornoivan
99adde9366 Update Ukrainian translation 2022-04-21 14:32:35 +00:00
crvi
07bc78354b GladeAttributes: 'Clear' action now clears only selected attributes
'Clear' action in "Setup Text Attributes" dialog now clears only
selected attributes, rather than the previous behaviour of clearing all
attributes.
2022-04-21 13:43:08 +00:00
Sabri Ünal
31909a3c8c Add new menu entry: User Manuel 2022-04-21 10:41:16 -03:00
Caolán McNamara
fbebfdbf0d sync draw-indicator on setting xalign
so for GtkCheckButtons/GtkRadioButtons the label is shown in glade's
inline preview with the same alignment that GTK will use when really
renderering it

https://gitlab.gnome.org/GNOME/glade/-/issues/502
2022-04-21 10:31:12 -03:00
Osamu Aoki
49c570076f Drop unused definition
Signed-off-by: Osamu Aoki <osamu@debian.org>
2022-04-21 12:53:35 +00:00
Osamu Aoki
308c5bf0a3 Drop overzealous check using only the first child
This fixes issue #499 and #509

* Can't add GtkHeaderBar to window with existing widgets / containers
* Cannot add GtkBox or other widgets inside a GtkPopoverMenu

Please note:

bin_child = gtk_bin_get_child (GTK_BIN (container))) was getting the
first child only.  Checking if the first child is placeholder causes
false positives.

glade_util_count_placeholders (gwidget) recursively checks placeholder.

Signed-off-by: Osamu Aoki <osamu@debian.org>
2022-04-21 12:53:35 +00:00
Mike Gilbert
efdd5338b0 Remove duplicate entry for 'da' from help/LINGUAS 2022-04-21 12:44:27 +00:00
Mike Gilbert
6da47128e8 meson: i18n.merge_file() does not take a positional argument 2022-04-21 12:44:27 +00:00
Marek Černocký
8d52d1ec3c Updated Czech translation 2022-03-21 14:55:20 +01:00
Sergej A
ce2b1d4d49 Update Russian translation 2022-03-18 21:32:04 +00:00
Anders Jonsson
9015b90ca7 Update Swedish translation 2022-03-12 11:41:15 +00:00
Boyuan Yang
662de4d5f4 Update Chinese (China) translation 2022-01-31 03:35:59 +00:00
Alan Mortensen
1c710c6ab3 Updated Danish translation 2022-01-26 18:13:53 +01:00
Kukuh Syafaat
09c6d3a0fb Update Indonesian translation 2021-12-22 09:10:24 +00:00
Quentin PAGÈS
f717236c2a Update Occitan translation 2021-12-02 20:35:32 +00:00
Hugo Carvalho
f7349aeb9b Update Portuguese translation 2021-11-19 17:54:55 +00:00
Quentin PAGÈS
2e85a7157c Update Occitan translation 2021-11-10 18:43:34 +00:00
Andre Klapper
6a9a8a94ce Fix broken markup in Basque help translation 2021-10-10 19:30:53 +02:00
Asier Sarasua Garmendia
4d0f844298 Update Basque translation 2021-10-10 08:02:37 +00:00
Ask Hjorth Larsen
9381e38e1a Updated Danish translation 2021-09-17 15:28:22 +02:00
Daniel Mustieles
ad1ec23572 Updated Spanish translation 2021-09-15 08:28:20 +02:00
Andika Triwidada
74b7bfe4f1 Update Indonesian translation 2021-09-07 05:27:04 +00:00
Asier Sarasua Garmendia
5e46bd65ab Update Basque translation 2021-08-21 08:43:13 +00:00
Anders Jonsson
9c625a3a18 Update Swedish translation 2021-08-11 23:20:39 +00:00
Jordi Mas
ac548b066a Update Catalan translation 2021-08-11 15:23:22 +02:00
Peter Maatman
9db1fba1fa GladeProject: Segfault in gnome-builder when widget doesn't have a name 2021-07-13 12:17:51 +00:00
Jonathan Paugh
46b000c70f Allow xsltproc to download files
These files are required to build the man pages; unfortunately, xsltproc
does not appear to cache these files, so this may not be the best
solution.
2021-07-12 12:53:08 +00:00
Jonathan Paugh
01aaf9fe92 Add required dependencies to the README
Both the gettext package and the itstools package are required to run
ninja install without errors
2021-07-12 12:53:08 +00:00
Jonathan Paugh
4560bd511a Update Markdown formatting in CONTRIBUTING.md 2021-07-09 22:02:06 +00:00
jmoorecec
c120bb6000 Output .glade files saved in Windows containing Pixbuf widgets with relative paths to image files e.g. ui_graphics/background.png were changed from forward-slash (/) to backslash (\) due to use of GTK macro. E.g. ui_graphics\background.png Then, when the Glade file was loaded in Linux, the Pixbuf widget relative path did not work anymore b/c backslash (\) was not understood. Forward slashes (/) are always understood, so changed always use forward slashes. 2021-07-09 21:13:01 +00:00
Marco Trevisan (Treviño)
eb0429d318 tests: Do not create a file icon when no filename is provided
This would fail otherwise as GFileIcon requires a GFile parameter on
construction.
2021-07-09 21:08:35 +00:00
Marco Trevisan (Treviño)
6cf1d3e11d plugins: Define an invalid but non-null file path as script path
This is following the gjs applications behaviors, setting a valid string
as the script path that will be shown in JS stack traces, even though
won't load a real file through g_file_new_for_commandline_arg()
2021-07-09 21:08:35 +00:00
Boyuan Yang
d145028626 Update Chinese (China) translation 2021-07-09 20:49:48 +00:00
Alexey Rubtsov
ae48095061 Update Russian translation 2021-06-28 10:54:34 +00:00
Jordi Mas
231ca8068f Update Catalan translation 2021-05-28 22:27:27 +02:00
Daniel Mustieles
40b4351a4d Updated Spanish translation 2021-05-10 13:32:59 +02:00
Jordi Mas
a0509db844 Update Catalan translation 2021-05-02 08:10:25 +02:00
Pawan Chitrakar
86b45d9adb Update Nepali translation 2021-04-21 02:27:06 +00:00
Anders Jonsson
3eb08a3904 Update Swedish translation 2021-03-27 20:31:37 +00:00
Hugo Carvalho
3edeee7d5e Update Portuguese translation 2021-03-26 12:55:52 +00:00
Milo Casagrande
d318114420 Update Italian translation 2021-03-15 16:36:31 +00:00
Мирослав Николић
6020649cdc Update Serbian translation 2021-03-06 19:25:42 +00:00
Changwoo Ryu
872dedcbf5 Update Korean translation 2021-03-06 18:13:14 +00:00
Mario Blättermann
3844d403bb Update German translation 2021-03-06 17:32:59 +00:00
Piotr Drąg
04f6d7fe99 Update Polish translation 2021-02-28 14:15:39 +01:00
Charles Monzat
a3b13f5458 Update French translation 2021-02-28 09:49:34 +00:00
Fran Dieguez
4359963d46 Update Galician translation 2021-02-23 23:51:28 +00:00
Emin Tufan Çetin
6c789cd57b Update Turkish translation 2021-02-22 08:16:18 +00:00
Aurimas Černius
6a5faf57df Updated Lithuanian translation 2021-02-21 22:01:46 +02:00
Asier Sarasua Garmendia
847209db15 Update Basque translation 2021-02-20 12:14:36 +00:00
Balázs Úr
0b87230d32 Update Hungarian translation
(cherry picked from commit 94ae2ecab7980a7c499a5e38508036c4f35a74c7)
2021-02-19 23:50:31 +00:00
Zander Brown
23ac766e49 Update British English translation 2021-02-19 14:21:46 +00:00
Rafael Fontenelle
e028153105 Update Brazilian Portuguese translation 2021-02-15 10:16:02 +00:00
Luna Jernberg
f986003817 Update Swedish translation 2021-02-05 23:27:11 +00:00
Kukuh Syafaat
f9cd16ffed Update Indonesian translation 2021-02-02 12:13:51 +00:00
Rafael Fontenelle
c5b99615a9 Update Brazilian Portuguese translation 2021-01-30 23:36:35 +00:00
Matej Urbančič
5bd0787d07 Update Slovenian translation 2021-01-27 20:26:54 +00:00
Matej Urbančič
9709f5f320 Update Slovenian translation 2021-01-27 20:25:14 +00:00
Мирослав Николић
770579f507 Update Serbian translation
(cherry picked from commit 8eb3dec340331b1adf43257ca8146cf8175f6637)
2021-01-23 13:13:21 +00:00
Marek Černocký
a6d131796c Updated Czech translation 2021-01-15 23:09:49 +01:00
Jordi Mas
26bf4c847b Update Catalan translation 2021-01-08 14:49:28 +01:00
Jordi Mas
cdd5538efb Update Catalan translation 2021-01-06 15:58:06 +01:00
Jordi Mas
28ad16ae1c Update Catalan translation 2021-01-03 22:39:57 +01:00
Jordi Mas
effb44c75f Update Catalan translation 2020-12-29 22:05:22 +01:00
Philipp Kiemle
6939ddc7fc Update German translation 2020-12-28 11:32:43 +00:00
Jordi Mas i Hernandez
678e596cb8 Update Catalan translation 2020-12-22 13:00:25 +00:00
Daniel Mustieles
36604cfab8 Updated Spanish translation 2020-12-15 10:27:40 +01:00
Florentina Mușat
6758eaeae2 Update Romanian translation 2020-12-12 18:19:30 +00:00
Daniel Mustieles
8247c1dfa4 Updated Spanish translation 2020-12-02 14:15:50 +01:00
Marek Černocký
e51be8b658 Updated Czech translation 2020-11-28 16:56:27 +01:00
Jordi Mas
89b7a97ecc Update Catalan translation 2020-11-24 13:12:33 +01:00
Juan Pablo Ugarte
4e5cb4c390 GladeWindow: move main menu separator before preferences item
Closes issue #373 "Move separator in hamburger menu one up, to be consistent with other GNOME applications"
2020-11-20 19:31:00 -03:00
Jan Alexander Steffens (heftig)
ba3bc86d54 Python plugin: Fix build against Python 3.9
This basically reverts 6f4fb5672f41201a20e0f879a7d7d7b96f045425,
returning to Meson's `python` module, since the `python-3.8-embed`
dependency obviously only works with Python 3.8.

We're using the `embed` kwarg which was added in Meson 0.53.0, so we
need to bump the minimum `meson_version`.
2020-11-09 17:38:55 +00:00
Pablo Barciela
7ff26ad6bf glade-button-editor: make translatable by default when label is toggled
Fixes https://gitlab.gnome.org/GNOME/glade/-/issues/491
2020-10-27 01:34:37 +01:00
Juan Pablo Ugarte
9411afdbdd Revert "GladeWidget: unset parent and object on rebuild"
This reverts commit 9e66cdfb97a89952e2a58fa702f1841dc302479a.
2020-10-23 18:18:24 -03:00
Juan Pablo Ugarte
cfef90c25b Revert "GladeWidget: fix rebuild() function"
This reverts commit 9827ed69e62475e1fd540ae2a450d6e87d94aab4.
2020-10-23 17:41:45 -03:00
Juan Pablo Ugarte
9827ed69e6 GladeWidget: fix rebuild() function
Remove object from project before extracting children since we clear up
GladeWidget back references for internal children.

Fix issue #484 "Crash with GtkRecentChooserDialog"
2020-10-23 17:02:23 -03:00
Juan Pablo Ugarte
af5e94df9f GladeWindow: disable survey if there is no TLS support
Closses issue #371 "Glade user survey not working (TLS error)"
2020-10-21 21:43:44 -03:00
Juan Pablo Ugarte
81f96c2fb1 Fix maybe uninitialized warnings 2020-10-16 18:22:10 -03:00
Juan Pablo Ugarte
9c09fec141 GladeModelData: remove use of idle functions
Idle functions where causing a crash and do not seem to be needed
anymore since calling them directly seems to work just fine.

Fix issue #194 "Using List Store can result in program crash."
2020-10-14 21:08:18 -03:00
Juan Pablo Ugarte
70a9d4c29f GladeEditorProperty: properly show parentless objects in chooser
Closes issue #53 "Can't choose a FileChooserDialog for a FileChooserButton"
2020-10-14 18:56:41 -03:00
Juan Pablo Ugarte
b4f12e7361 GladeUtil: add guard to glade_util_get_file_mtime()
Closes issue #98
2020-10-09 17:42:30 -03:00
Juan Pablo Ugarte
825d7fb741 GladeUtils: make message dialog text selectable
Closes issue #355 "Make notification text selectable"
2020-10-09 17:11:21 -03:00
Juan Pablo Ugarte
20142e2ad1 Fix windows build on msys
Use -Wl,--export-all-symbols and -Wl,--no-undefined to export
symbols on mingw

GladeApp: use PACKAGE_NAME instead of PACKAGE

Remove copyright symbol from resource files to avoid weird UTF error
building with mingw on msys
2020-10-09 17:11:16 -03:00
Juan Pablo Ugarte
9f4097cd74 GladePropertyDef: do not use setlocale in glade_dtostr()
Windows does not have setlocale() function
2020-10-09 17:09:38 -03:00
Jordi Mas
24aef4fcd7 Update Catalan translation 2020-10-08 16:53:33 +02:00
Juan Pablo Ugarte
7ecce9ea23 Docs: add doc about registering custom types at runtime.
Closes issue #360 "No examples in documentation on using custom catalogues with gtkBuilder"
2020-10-05 21:10:22 -03:00
Juan Pablo Ugarte
a5ac6a9a2a GladeProperty: make i18n_translatable false by default
Only string properties should be translatable by default.

Fix issue #406 "AtkObject::accessible-role should not be translatable"
2020-10-05 20:34:21 -03:00
Juan Pablo Ugarte
767f953294 Fix tests. 2020-10-02 16:47:56 -03:00
Juan Pablo Ugarte
29f75feef7 GladeGtk*: always use connect_object() for parse-finished signal
This ensures the signal will get disconnected if object is finalized.
2020-10-02 16:19:25 -03:00
Juan Pablo Ugarte
7acdd3c6f6 GladeGtkBox: fix glade_gtk_box_post_create
Some widgets with contruct properties like GtkMessageDialog get
rebuilt right after they are created on project loading so we need
to check glade_project_is_loading() intead of GLADE_CREATE_LOAD
and use the object ad the connect data to make sure it gets disconected
if it was the object being rebuilt

Fix issue #479 "Glade 3.36.0 segfaults when opening a file"
2020-10-02 16:18:25 -03:00
Juan Pablo Ugarte
9e66cdfb97 GladeWidget: unset parent and object on rebuild
We need to make sure internal widgets parent and object are unset
while rebuilding to avoid having a GladeWidget with a dead object.
2020-10-02 16:04:51 -03:00
Juan Pablo Ugarte
32e123859d GladeGtkScrolledWindow: fix add_verify()
Respect user_feedback parameter in glade_gtk_scrolled_window_add_child_verify()
2020-09-30 20:06:13 -03:00
Juan Pablo Ugarte
e5b891d5cf GladeGtkWidget: special case GtkScrolledWindow remove parent action
Make sure you can not remove parent if the grand parent is a scrolled window
and the child is not scrollable.

Fix issue #471 "XML not updated after adding element"
2020-09-30 20:06:01 -03:00
Milo Casagrande
3f8275ad80 Update Italian translation
(cherry picked from commit 08ca3fcb736826ccc2a3299a180236c936794d2e)
2020-09-28 10:03:46 +00:00
Juan Pablo Ugarte
f553b839bd GladeGtkLabel: fix color attributes handling
Properly load/save pango color attributes

Fix issue #474 "GtkLabel: setup text attribute issues"
2020-09-25 19:20:46 -03:00
Juan Pablo Ugarte
df807dd151 GladePropertyDef: cleanup color type handling
Cleanup PangoColor and GdkColor handling in make_string_from_gvalue and
make_gvalue_from_string functions.
2020-09-25 19:20:46 -03:00
Juan Pablo Ugarte
8e38e9a5c8 CONTRIBUTING.md: update coding style link 2020-09-25 19:20:46 -03:00
Juan Pablo Ugarte
eec1ef3e71 GladeProjectProperties: fix target version loading
Make sure target version combo gets updated on project load.

Fix issue #480 "version field not always updated in XML"
2020-09-25 16:41:01 -03:00
Juan Pablo Ugarte
c84932343f GladeUtils: fix glade_utils_get_pointer()
Use default pointer device instead of device from current event
since a paste can be triggered by the keyboard.

This fix issue pasing widget with ctrl+v in GtkGrid
2020-09-25 16:31:27 -03:00
Juan Pablo Ugarte
29d16f4b29 GladeProject: cleanup glade_project_command_paste() 2020-09-25 16:31:27 -03:00
Juan Pablo Ugarte
ccd09e9d86 GladeCommand: adjust Box and Grid size automatically
Adjust container size in create and paste command.

Properly fix issue #470 "Widgets of type need placeholders to add children"
2020-09-25 16:31:27 -03:00
Balázs Úr
fe428062ac Update Hungarian translation 2020-09-23 15:48:37 +00:00
Juan Pablo Ugarte
48d6b070d7 Headers cleanup
Add missing copyright notes
2020-09-21 10:00:24 -03:00
Juan Pablo Ugarte
89bf07f696 GladeGtkGrid: fix tests
Fix glade_gtk_grid_add_child() return after adding child to avoid
adding it more than once.
2020-09-19 14:30:27 -03:00
Piotr Drąg
cadacf6b8e Update Polish translation 2020-09-19 12:55:34 +02:00
Yuri Chornoivan
2ca05370ed Update Ukrainian translation 2020-09-19 09:21:28 +00:00
Asier Sarasua Garmendia
679e2fc140 Update Basque translation
(cherry picked from commit c2758d916def9ddef4bc6258aaba6d57331cfb52)
2020-09-19 07:33:06 +00:00
Juan Pablo Ugarte
9b2dcabc01 GladeGtkWidget: Fix add scrolled window issue
Apply packing properties to scrolled window instead of viewport
2020-09-18 22:27:37 -03:00
Juan Pablo Ugarte
f46fa6d9b3 GladeGtkGrid: improve _add() method
Add child to the first placeholder
2020-09-18 21:38:15 -03:00
Juan Pablo Ugarte
060ed58729 GladePopup: improve paste and add here actions
Support adding widgets to GtkBox and GtkGrid even if there are no placeholders

Fix issue #470 "Widgets of type need placeholders to add children"
2020-09-18 21:38:15 -03:00
Juan Pablo Ugarte
a72c4fca91 GladePopup: special case add to box/grid
Increase size of grid/box if there is no space to add a widget in the container

Fix issue #470 "Widgets of type need placeholders to add children"
2020-09-18 21:38:15 -03:00
Juan Pablo Ugarte
5781798ea5 GladeCommand: use glade_widget_get_display_name()
Use display name for messages
2020-09-18 21:38:15 -03:00
Juan Pablo Ugarte
3efb36627f Revert "GtkBox, GtkGrid: support adding widgets even if there is no placeholder"
This reverts commit 3b94aec9d8733ab991d22cf447850c2cf6339fdd.
2020-09-18 21:38:15 -03:00
Fran Dieguez
66950d47f0 Update Galician translation
(cherry picked from commit 5a6ea0dc7c8425345d9cfc30cf8072eedbf3390d)
2020-09-18 23:20:03 +00:00
Juan Pablo Ugarte
d09d5690a1 GladeWindow: use VCS version in development series
Closes issue #472 "gnome-nightly: About dialog should display git commit rev"
2020-09-17 19:35:38 -03:00
Juan Pablo Ugarte
0066ee41bd GladeGtkWidget: add viewport on add scrolled window action
Add a viewport for non scrollable widget when adding a
scrolled window parent.

Fix issue #471 "XML not updated after adding element"
2020-09-16 20:11:10 -03:00
Juan Pablo Ugarte
068528e6ba gtk catalog: add GtkTable to deprecated group 2020-09-16 19:48:20 -03:00
Juan Pablo Ugarte
74760ea31e GladeGtkContainer: improve add-verify
Inform the user it has to increase the size of the container if there is
no more placeholders in it.

Special case GtkBin since Windows can hace a placeholder in the titlebar.
2020-09-16 19:40:30 -03:00
Juan Pablo Ugarte
3b94aec9d8 GtkBox, GtkGrid: support adding widgets even if there is no placeholder
To make things easier you can always add a widget to a box or grid even if
there is no more placeholders.
Adding a widget will automatically increase the box size number or
the grid column count.

Fix issue #470 "Widgets of type need placeholders to add children"
2020-09-16 18:54:08 -03:00
Stephan Woidowski
558a92d60c Update German translation
(cherry picked from commit 30a63acd2254c6ad3d6b0f70a4a5aa4dbf5551f0)
2020-09-15 07:18:20 +00:00
Marek Černocký
9e814e2227 Updated Czech translation 2020-09-15 07:43:30 +02:00
Anders Jonsson
6feebc4654 Update Swedish translation
(cherry picked from commit 920297f03af23cc123b8f772914b5b8e56a81570)
2020-09-14 12:29:26 +00:00
Rafael Fontenelle
e6da9a7ede Update Brazilian Portuguese translation
(cherry picked from commit 4142b6c78e61c9d283ca1db8d2dfc9618876fc3c)
2020-09-14 10:55:17 +00:00
Aurimas Černius
0f1c2db23e Updated Lithuanian translation 2020-09-13 20:09:03 +03:00
Emin Tufan Çetin
49e91c0a4b Update Turkish translation 2020-09-13 11:21:43 +00:00
Kukuh Syafaat
37a2b62f5b Update Indonesian translation
(cherry picked from commit c68d6c88a1fb736309afc9a9b88db007cc3821ea)
2020-09-13 08:10:18 +00:00
Yuri Chornoivan
bcd0d1cd1c Update Ukrainian translation
(cherry picked from commit b3bf5b39b7c920a6abc843085710dafada5ff20e)
2020-09-13 05:51:10 +00:00
Juan Pablo Ugarte
4449499b98 Bump version to devel 2020-09-12 20:15:23 -03:00
Juan Pablo Ugarte
b19d006fff Rolling 3.38 2020-09-12 20:13:58 -03:00
Juan Pablo Ugarte
8258b4fb8f GladeWindow: Add Guido Macchi memorial
Guido was a beloved professor at Rosario National university
who passed away last december.

This is a small recognition in his memory.
2020-09-12 19:28:44 -03:00
Rafael Fontenelle
b11c24a671 Update Brazilian Portuguese translation
(cherry picked from commit aa70e86a18885df251552d84f5b3ed545341ce16)
2020-09-12 21:09:55 +00:00
Baurzhan Muftakhidinov
9a4293194e Update Kazakh translation
(cherry picked from commit 95f29fd6fda9580099884fb979f9dea9d049e7c1)
2020-09-12 13:57:01 +00:00
Ask Hjorth Larsen
75a7631c66 Updated Danish translation 2020-09-12 01:11:22 +02:00
Juan Pablo Ugarte
e490acdc50 Bump glib version dependency 2020-09-09 18:35:56 -03:00
Marek Černocký
9b3a74c3dc Updated Czech help translation 2020-09-09 21:52:15 +02:00
Marek Černocký
f49ebb12fc Updated Czech translation 2020-09-09 09:30:22 +02:00
Tim Sabsch
f13ff85c5c Update German translation
(cherry picked from commit 3a4a0c2488f21979a5e32becfe87b580e543b35d)
2020-09-08 18:21:58 +00:00
Mario Blättermann
489e0e0306 Update German translation
(cherry picked from commit dce9287ebe9530aba386ae9854304f61f4f94656)
2020-09-07 18:08:35 +00:00
Jordi Mas
5f1705b9d5 Update Catalan translation 2020-09-07 16:13:32 +02:00
Gil Forcada
2d29cacb08 Update Catalan translation
(cherry picked from commit e2865e629a95d1722007cfc4385f3a644a687af5)
2020-09-07 10:28:28 +00:00
Balázs Úr
0b9b0f0f40 Update Hungarian translation 2020-09-06 23:06:31 +00:00
Piotr Drąg
04c2340aad Update Polish translation 2020-09-06 16:13:57 +02:00
Ask Hjorth Larsen
8069cc6988 Updated Danish translation 2020-09-06 14:05:40 +02:00
Claude Paroz
34aaeabb0f Update French translation 2020-09-06 11:39:49 +02:00
Anders Jonsson
6454c8f969 Update Swedish translation
(cherry picked from commit df88ff54a2ceb40572adef928baa302b44f01a90)
2020-09-05 10:14:46 +00:00
Juan Pablo Ugarte
1bd2d54942 plugins/gtk+/gtk+.xml: update version metadata
Update Class, properties and signal since and deprecated-since metadata from Gir
2020-09-03 21:26:49 -03:00
Juan Pablo Ugarte
b7a884f5a6 GladeProject: support property and signal deprecated-since
Check deprecated-since version for properties and signals
2020-09-03 20:50:03 -03:00
Juan Pablo Ugarte
c0fd18643a GladePropertyDef, GladeSignalDef: support deprecated since
Add support for deprecated since version
2020-09-03 20:47:17 -03:00
Juan Pablo Ugarte
d662716d37 Gtk plugin: indent catalog
Properly indent catalog.
Add a new line before glade-widget-class and glade-widget-group
2020-09-02 19:59:43 -03:00
Juan Pablo Ugarte
679253ba5b GladeProject: ignore insentitive properties
Ignore insensitive properties for project verification.

Fix issue #385 "GtkCellRendererText causes deprecated warnings for ghost properties"
2020-09-02 19:51:35 -03:00
Zander Brown
a040214023 Update British English translation 2020-09-01 18:53:01 +00:00
Matej Urbančič
4f84db233c Updated Slovenian translation 2020-08-31 21:46:56 +02:00
Juan Pablo Ugarte
9a51e6381f GtkEntry: mark show-emoji-icon since 3.24
show-emoji-icon was introduced in a micro version 3.22.19 which is
uncommon and is why we simply mark it as since 3.24.

Fix issue #444 "show-emoji-icon is missing "minimum version"/since constraint"
2020-08-31 16:22:29 -03:00
Juan Pablo Ugarte
c8f91e52cc GladeProject: ignore resource:// uri on file properties
Add resources URL in file properties support to be on par with GtkBuilder

Fix issue #367 "Glade removes double/triple slashes from URLs"
2020-08-31 16:22:29 -03:00
Asier Sarasua Garmendia
310ba91cc6 Update Basque translation 2020-08-30 10:20:08 +00:00
Changwoo Ryu
1775705c95 Update Korean translation 2020-08-30 07:47:01 +00:00
Boyuan Yang
e7dfc7ce73 Update Chinese (China) translation 2020-08-29 13:56:44 +00:00
Kukuh Syafaat
4af38ecd08 Update Indonesian translation 2020-08-27 02:57:32 +00:00
Juan Pablo Ugarte
8b39ec6ac7 TODO: deleted implemented features 2020-08-26 19:56:29 -03:00
Juan Pablo Ugarte
c94cdbe19c Readme.md: cleanup
Add manual installation, Linux, Windows and OSX instructions
2020-08-26 19:56:29 -03:00
Aurimas Černius
3982c72529 Updated Lithuanian translation 2020-08-26 22:44:45 +03:00
Juan Pablo Ugarte
c4ab0b3dfe GladePreferences: reload all catalogs when adding a new extra path.
Reload all catalogs to make sure templates in the newlly added path
are loaded without having to restart the app.
2020-08-24 17:50:24 -03:00
Juan Pablo Ugarte
c3c577f0c9 GladeWidgetAdaptorChooser: update automatically
Update choosers when a new adaptor is registered
2020-08-24 17:50:24 -03:00
Juan Pablo Ugarte
fb27376d89 GladeCatolog: monitor extra path for new templates
Monitor all extra paths to load templates automatically without having
to restart Glade.
2020-08-24 17:50:24 -03:00
Juan Pablo Ugarte
207dd760b4 gladeui/glade-template.c: add class_init function
Use class init function to set template and only reset it
if _gtk_widget_class_template_unset_only_for_glade() is present
2020-08-24 17:50:24 -03:00
Daniel Mustieles
98af1a743c Updated Spanish translation 2020-08-24 12:05:33 +02:00
Rafael Fontenelle
3ea6d95cee Update Brazilian Portuguese translation 2020-08-23 19:45:44 +00:00
Ask Hjorth Larsen
e705ab5735 add da to linguas 2020-08-23 18:07:58 +02:00
Ask Hjorth Larsen
7b41367b31 Updated Danish translation 2020-08-23 18:07:21 +02:00
Emin Tufan Çetin
f9076b7a63 Update Turkish translation 2020-08-22 10:55:04 +00:00
Yuri Chornoivan
20fd757697 Update Ukrainian translation 2020-08-22 06:19:12 +00:00
Juan Pablo Ugarte
01956c4de7 GladePreferences: mark string as translatable
Mark file chooser dialog title as translatable
2020-08-21 18:38:08 -03:00
Matej Urbančič
3cfdf0bd16 Updated Slovenian translation 2020-08-21 18:39:48 +02:00
Piotr Drąg
bc717637f8 Update POTFILES.in 2020-08-20 16:34:34 +02:00
Baurzhan Muftakhidinov
f09f0e03da Update Kazakh translation 2020-08-18 07:23:53 +00:00
Yuri Chornoivan
12beae1180 Update Ukrainian translation 2020-08-18 06:25:21 +00:00
Fran Dieguez
63f1642733 Update Galician translation 2020-08-17 23:51:45 +00:00
Juan Pablo Ugarte
16679f7dd9 AddData: update 3.37 description and issues.
Removed description for old releases.
2020-08-17 19:40:34 -03:00
Juan Pablo Ugarte
0d37352f28 Gtk plugin: add 3 missing displayable value for GtkCellRendererText::underline 2020-08-17 19:26:16 -03:00
Juan Pablo Ugarte
02dd5e08ac GladePreferences: mention templates in extra catalog paths label.
Mention the fact that templates will be loaded from extra catalogs paths.
2020-08-17 19:19:48 -03:00
Juan Pablo Ugarte
286555acc6 GladeCatalog: Load templates from extra catalog paths.
Load template files as new GObject types and add them to
"User templates" widget group.
2020-08-17 19:19:48 -03:00
Juan Pablo Ugarte
80de73f0b4 Use g_list_free_full() instead of g_list_foreach() + g_list_free()
Also fix -Wcast-function-type warnings
2020-08-17 19:19:48 -03:00
Juan Pablo Ugarte
a987d81b4e Utils: Add glade_util_list_objects_ref()
Use new function to fix -Wcast-function-type warnings
2020-08-17 19:19:48 -03:00
Juan Pablo Ugarte
4858565c95 Fix warning: ISO C does not allow extra ‘;’ outside of a function [-Wpedantic] 2020-08-17 19:19:48 -03:00
Juan Pablo Ugarte
90b73edebb GladeIntro, GladePreferences: Replace some \t with spaces 2020-08-17 19:19:48 -03:00
Thibault Martin
f1a5e99726 Add translators comments to remove ambiguity about tab string 2020-08-17 17:40:27 +00:00
Ryan Schmidt
10d2a2c255 Fix fuzzy Hindi translation: don't translate tag 2020-08-17 17:35:35 +00:00
Kukuh Syafaat
65569d7937 Update Indonesian translation 2020-08-15 03:54:59 +00:00
Florentina Mușat
034f56c00e Update Romanian translation 2020-08-14 12:14:28 +00:00
Fran Dieguez
cf76e8e738 Update Galician translation 2020-08-13 21:24:54 +00:00
Thibault Martin
20718e12c0 Update French translation 2020-08-13 09:21:30 +00:00
Daniel Mustieles
33d9f35fa0 Updated Spanish translation 2020-08-11 12:19:16 +02:00
Asier Sarasua Garmendia
41039635f4 Update Basque translation 2020-08-10 07:23:15 +00:00
Yuri Chornoivan
94c43b4758 Update Ukrainian translation 2020-08-08 15:05:28 +00:00
Jordi Mas
ab2104a8e5 Update Catalan translation 2020-08-08 08:47:59 +02:00
Juan Pablo Ugarte
3a5d198b97 GladeProjectProperties: various UI improvements.
Port to use headerbar, stack and stach switcher.
Add warnings textview for deprecations warnigns.
2020-08-07 20:06:22 -03:00
Juan Pablo Ugarte
e4b1d68311 GladeWidget: improve glade_widget_get_name() and glade_widget_generate_path_name()
Make sure object type is used intead of __glade_unnamed_ prefix.
2020-08-07 19:56:46 -03:00
Juan Pablo Ugarte
e48e603b66 GladePreferences: use headerbar
Move extra catalogs buttons to the side of the treeview.
2020-08-07 19:55:48 -03:00
Juan Pablo Ugarte
03a51866c3 GladeProject: plug various glade widgets leaks.
Make sure objects retrieved with gtk_tree_model_get() are unref using g_autoptr
This fixes all missing GladeWidget leaks so now we can remove toplevel
destroy workaround and toplevels should not be leaked anymore after closing a
project.
2020-08-07 13:07:38 -03:00
Juan Pablo Ugarte
b8af75b035 GladeInspector: plug object leak
Fix leak in button_press_cb().
Use g_autoptr when getting an object from a model.
2020-08-07 13:07:38 -03:00
Juan Pablo Ugarte
aec114b6c1 GladeSignalEditor: plug glade widget leak
Unref widget property on finalize.
2020-08-07 13:07:38 -03:00
Juan Pablo Ugarte
032124d214 GladeWidget: add support for g_autoptr 2020-08-07 13:07:38 -03:00
Juan Pablo Ugarte
eca097140d GladeCommandAddRemove: fix CommandData leak
Fix leak in finalize()
2020-08-07 13:07:38 -03:00
Zander Brown
b649589d8a registration: fix a typo 2020-08-06 20:12:39 +00:00
Zander Brown
4e3f2738a6 Update British English translation 2020-08-06 19:18:02 +00:00
Juan Pablo Ugarte
7aa3440072 GladeProject: cleanup dispose
GladeAdaptorChooserWidget: use g_object_add_weak_pointer() instead of
g_object_weak_ref() and unset project on dispose.

GladeDesignLayout, GladeDesignView: use g_object_add_weak_pointer()

GladeEditable: fix project signal disconnect issue
2020-08-05 19:37:19 -03:00
Juan Pablo Ugarte
3236ee4ce1 Tests: add more add-child tests
Add test case for the following classes
	GTK_TYPE_FILE_CHOOSER_BUTTON
	GTK_TYPE_OFFSCREEN_WINDOW
	GTK_TYPE_APPLICATION_WINDOW
	GTK_TYPE_ASPECT_FRAME
	GTK_TYPE_STACK
	GTK_TYPE_REVEALER
	GTK_TYPE_POPOVER
	GTK_TYPE_HEADER_BAR
	GTK_TYPE_ACTION_BAR
	GTK_TYPE_SEARCH_BAR
	GTK_TYPE_SCROLLED_WINDOW
	GTK_TYPE_LIST_BOX
	GTK_TYPE_FLOW_BOX
2020-08-05 19:37:19 -03:00
Juan Pablo Ugarte
a6f88f7441 Tests: re enable commented test in Add Child
Enable GTK_TYPE_FILE_CHOOSER_BUTTON, GTK_TYPE_RECENT_CHOOSER,
GTK_TYPE_DIALOG and GTK_TYPE_ASSISTANT tests.
2020-08-05 19:37:19 -03:00
Juan Pablo Ugarte
8ea0085747 GladeGtkFileChooserButton: cleanup support
Disable save and create folder actions and select multiple property
2020-08-05 19:37:19 -03:00
Jordan Petridis
3887720892 ci: cleanup the flatpak template setup
remove the explicit stages as they are not needed.

move the bundle env var inline with the job.

remove the meson_args evn var as its no longer needed
to keep it in sync manually.
2020-08-03 21:34:38 +00:00
Jordan Petridis
e19d377502 ci: add explicit deps in the nightly job 2020-08-02 14:36:52 +00:00
Jordan Petridis
d23af92a4b ci: remove deprecated jobs
The functionality of these jobs exists in the normal build job now
and they are no longer needed.

citemplates@544836ee
2020-08-02 14:32:33 +00:00
Anders Jonsson
d166671063 Update Swedish translation 2020-07-30 22:56:04 +00:00
Jordi Mas
413137f273 Update Catalan translation 2020-07-30 11:56:56 +02:00
Juan Pablo Ugarte
b0dcd15387 Use symbolic icon names. 2020-07-29 20:09:53 -03:00
Juan Pablo Ugarte
33fa9a707a GladeWindow: move actions to top
Give catalog actions a more prominent place than the bottom toolbar

Fix issue #452 "GtkComboBox cell renderers editor is too hard to discover"
2020-07-29 20:09:53 -03:00
Jordi Mas
835b3227b2 Update Catalan translation 2020-07-29 23:50:45 +02:00
Daniel Mustieles
b7ca927e74 Updated Spanish translation 2020-07-29 11:46:50 +02:00
Jordi Mas
d1a05cc5cb Update Catalan translation 2020-07-28 23:01:19 +02:00
Juan Pablo Ugarte
cce40a8243 GladeProject: cleanup project finalization
Call gtk_widget_destroy() on GtkWindow derived objects to
avoid gtk keeping an internal reference

Fix issue #363 "Toplevel windows are leaked when closing a project"
2020-07-27 20:57:40 -03:00
Juan Pablo Ugarte
61ab43edae Tests: fix toplevel test
Do not free glade_project_toplevels() list
2020-07-27 20:50:03 -03:00
Juan Pablo Ugarte
115753c7d9 GladeProjectProperties: break project circular dependency
Do not use a GtkTreeModelFilter for the template combobox to avoid
adding a circular dependency to the project.

Implement it with a proxy model updated using project add/remove
widget signals.
2020-07-27 20:50:03 -03:00
Juan Pablo Ugarte
7a77ded99c Tests: add refcount test
Add basic test to make sure project refcount cycle is working properly.
2020-07-27 20:50:03 -03:00
Juan Pablo Ugarte
df2c7429c7 GladeWidget: allow setting a NULL object
We need to be able to unset object property on finalize method.
2020-07-26 18:00:20 -03:00
Juan Pablo Ugarte
8918dfb79b GladeAdaptorChooser[Widget]: use GladeProject weak reference.
Use a weak reference for project to prevent holding a reference
after the project is closed.
2020-07-26 18:00:20 -03:00
Juan Pablo Ugarte
1e85f469b9 Tests: replace \t with spaces 2020-07-26 18:00:20 -03:00
Juan Pablo Ugarte
59e985a27e GladeCatalog: load catalog right after calling init function.
Its better to load catalogs right after calling the init function
this way python and gjs catalogs would have all the adaptors available
once introspection is enabled.
2020-07-26 18:00:20 -03:00
Juan Pablo Ugarte
2a3cc9e4cd GladeGtkWindow: add extra safeguards in use-csd support code.
Some GtkWindow derived classes do not support titlebar widget
because they use it internally.
2020-07-22 19:23:09 -03:00
Juan Pablo Ugarte
e742d393b5 GladeGtkDialog, GladeGtkAssistant: ignore use-header-bar property
Remove construct only use-header-bar property from constructor
This way we never show a headerbar in the runtime.

Fix issue #462 "Crash when creating a new GtkAssistant and pressing it"
2020-07-22 19:22:34 -03:00
Juan Pablo Ugarte
392a3d6199 Gtk plugin: add glade_gtk_get_params_without_use_header_bar()
Add common function to generate a param list without use-header-bar property
2020-07-22 19:10:38 -03:00
Juan Pablo Ugarte
17bde66d00 GladeWindowEditor: hide use csd checkbutton if disabled 2020-07-22 19:04:05 -03:00
Juan Pablo Ugarte
214d9f38c7 Improve GtkApplication startup
Make sure opening files from the command line in an existing
instance works.

Fix issue #463 "Specify file on command line"
2020-07-22 18:18:10 -03:00
Juan Pablo Ugarte
04ded6d71a GladeGtkGrid: save and read n-columns and n-rows properties.
Save grid size properties as a comment to keep editing size
constant after reloading a glade file.

n-collumns and n-rows properties are introduced by Glade as a way
to easily edit a table or a grid.

Fix issue #461 "Glade resets number of rows and columns in GtkGrid"
2020-07-18 13:45:52 -03:00
Juan Pablo Ugarte
34fd642a05 Utils: ignore text nodes in prev/next functions with comments
Ignore text nodes (whitespaces) in glade_xml_node_prev_with_comments() and
glade_xml_node_next_with_comments() functions to make it easier to get
comments nodes.
2020-07-18 13:41:16 -03:00
Juan Pablo Ugarte
238ec80d11 Tests: use g_assert_true() instead of g_assert()
g_assert() should not be used in unit tests because it can be turned off
in final releases of code by defining G_DISABLE_ASSERT.

Fix issue #460 "3.37.0: test suite fails because glade uses incorrectly asserts in test units"
2020-07-18 11:58:17 -03:00
Juan Pablo Ugarte
f34c537742 Rolling 3.37.0 2020-07-13 20:45:36 -03:00
Aurimas Černius
d88c37e430 Updated Lithuanian translation 2020-07-13 16:13:06 +03:00
Florentina Mușat
62366a99f0 Update Romanian translation 2020-07-11 09:31:46 +00:00
Yuri Chornoivan
267882b9f8 Update Ukrainian translation 2020-07-11 06:31:39 +00:00
Juan Pablo Ugarte
cac74d620b GladeRegistration: rework survey
- Implement survey using new backend at surveys.gnome.org
- Save state in config file and do not alow to send a
  new survey if it was already completed.
- Move buttons to headerbar.

- Update mailing list link and fix automatic subscription.

Fix issue #433 "Survey and registration"
2020-07-10 19:35:10 -03:00
Juan Pablo Ugarte
50d465281f GladeHttp: add cookies support
Add cookies support.
Implement chunked transfer encoding.
Add response paremeter to request-done signal.
2020-07-10 19:26:46 -03:00
Juan Pablo Ugarte
87fbeba96a Survey: Add new linux distributions, Windows and MacOS versions
Use underline in cancel and submit buttons.
2020-07-10 17:51:25 -03:00
Juan Pablo Ugarte
f92ad4aecc Cleanup .gitignore files 2020-07-10 15:31:25 -03:00
Juan Pablo Ugarte
2075297693 Gtk catalog: add GtkRecentChooserMenu to Display group
Fix issue #459 "[Flatpak] GtkRecentChooserMenu is absent from widget selector"
2020-07-10 11:57:16 -03:00
Florentina Mușat
66755b1a36 Update Romanian translation 2020-07-10 09:47:32 +00:00
Yuri Chornoivan
716b64a7ea Update Ukrainian translation 2020-07-10 05:41:37 +00:00
Juan Pablo Ugarte
16a373db2f glade.glade: update about dialog.
Set about dialog lisence proerty to GPL2.
Do not use deprecated properties.
2020-07-09 19:32:37 -03:00
Juan Pablo Ugarte
5d44d98ec8 Gtk plugin / GladeDataModel: Improve treemodel char data type handling
Properly handle char input for gchar/guchar columns.
Only allow printable characters in gchar/guchar treemodel columns.
2020-07-09 17:53:04 -03:00
Juan Pablo Ugarte
ae04b49cf7 Utils: use g_param_spec_uchar() for uchar types
Fix issue #456 "Crash when editing GtkTreeView liststore entires"
2020-07-09 17:52:48 -03:00
Baurzhan Muftakhidinov
e84bf61493 Update Kazakh translation 2020-07-09 05:12:02 +00:00
Juan Pablo Ugarte
5b07458e98 GladeRegistration: use new glade_window_get_gdk_backend() function 2020-07-08 19:39:54 -03:00
Juan Pablo Ugarte
7c17877ed3 GladeWindow: add CSS optimization for Quartz backend
Disable shadows and animations on OSX to improve performance.
Add glade_window_get_gdk_backend()
2020-07-08 19:38:51 -03:00
Charles Monzat
18d6b7c49b Update French translation
(cherry picked from commit 0a1fb82ed6b011c6548d04269fb2e04718fe0952)
2020-07-01 22:40:09 +00:00
Daniel Mustieles
a4ca6096d7 Updated Spanish translation 2020-06-29 15:55:59 +02:00
Aurimas Černius
dd050d4201 Updated Lithuanian translation 2020-06-28 22:52:29 +03:00
Alberto Fanjul
8865eb6800 help: mark image as translated 2020-06-26 11:10:45 +02:00
scootergrisen
b72596f750 help: Add image: main-window.png 2020-06-26 09:51:30 +02:00
Baurzhan Muftakhidinov
131f267d01 Update Kazakh translation
(cherry picked from commit 26703cdf89e976f18a7af1804b3b56e702f61794)
2020-06-25 12:29:15 +00:00
Juan Pablo Ugarte
8311d5eb59 GladeGtkWindow: Fix CSD support
GladeWidget: make sure hidden placeholder are never serialized

https://gitlab.gnome.org/GNOME/glade/-/issues/447
2020-06-22 20:06:14 -03:00
Yuri Chornoivan
249dfb709e Update Ukrainian translation 2020-06-22 15:55:33 +00:00
scootergrisen
958f4298fe Change "Glade Interface Designer" to "Glade" 2020-06-22 15:33:15 +00:00
Adrien Plazas
337a760144 dtd: Make init-function an element, not an attribute
This makes the implementation of init-function in the DTD match both the
code (it is read as an element) and the documentation (it is documented
as an element).
2020-06-20 10:18:35 +02:00
Juan Pablo Ugarte
bbd1c3e412 GladeSignalDef: fix last gir scanner warning
Rename GSC_VERSION_CHECK to GLADE_SIGNALS_DEF_VERSION_CHECK
2020-06-19 19:39:52 -03:00
Juan Pablo Ugarte
bb626dd41d GladeWidgetAdaptor: fix gir scanner warnings
Rename all macros starting with GWA to GLADE_WIDGET_ADAPTOR
2020-06-19 19:36:52 -03:00
Juan Pablo Ugarte
265367dd7e GladeWidget: fix gir scanner warnings
Rename IS_GLADE_WIDGET_EVENT to GLADE_WIDGET_IS_EVENT
2020-06-19 19:20:05 -03:00
Juan Pablo Ugarte
0153f61097 GladeProperty: fix gir scanner warning
Rename DEPRECATED_IS_PARAM_SPEC_VALUE_ARRAY as GLADE_PROPERTY_IS_PARAM_SPEC_VALUE_ARRAY
2020-06-19 19:20:05 -03:00
Juan Pablo Ugarte
49ed23c381 Fix misc gir scanner warnings 2020-06-19 19:03:48 -03:00
Juan Pablo Ugarte
dbad3f508d GladeStandarStock, GladeStandarStockImage: fix get_type() functions for introspection
Avoid trying to register stock icons when there is no default display like when
running introspection scanner.

This prevents some really annoying warnings and should help with
https://gitlab.gnome.org/GNOME/glade/-/issues/432
2020-06-19 18:13:54 -03:00
Florentina Mușat
3361ba9788 Update Romanian translation 2020-06-19 06:19:27 +00:00
Juan Pablo Ugarte
b06e1daa43 GladeGtkListBox: fix size request issue
Remove glade_gtk_create_fixed_widget from GtkListBox support
This is proably a left over from GtkBox support code copy/paste
which was making the row have a default size.

https://gitlab.gnome.org/GNOME/glade/-/issues/446
2020-06-18 20:42:14 -03:00
Juan Pablo Ugarte
cabb5bebe3 GladeProject: show message on invalid GtkBuilder file
Show user an error dialog if he tries to open an old
libglade file.

https://gitlab.gnome.org/GNOME/glade/-/issues/389
2020-06-18 19:08:34 -03:00
Juan Pablo Ugarte
381b6683c2 GladeProperty: Do not replace - with _
Remove old libglade underscore properties naming scheme.

https://gitlab.gnome.org/GNOME/glade/-/issues/281
2020-06-18 18:43:14 -03:00
Iñigo Martínez
02da8e1c7a build: Fix va_copy check
There is a misplaced closing parenthesis in `va_copy`
check that triggers a warning in meson.

It has been fixed by placing it properly.
2020-06-18 11:06:17 -03:00
Emin Tufan Çetin
47c248efb3 Update Turkish translation 2020-06-18 11:22:45 +00:00
Yuri Chornoivan
4f24d16c6b Update Ukrainian translation 2020-06-18 05:52:51 +00:00
Yuri Chornoivan
59f70a9b65 Update Ukrainian translation 2020-06-18 05:39:34 +00:00
Juan Pablo Ugarte
f86d308586 Fix inconsistent "top-level", "top level", "toplevel" spelling in translatable strings
https://gitlab.gnome.org/GNOME/glade/-/issues/412
2020-06-17 19:59:04 -03:00
Juan Pablo Ugarte
e1be03cb11 Webkit2gtk: Fix compiler warning 2020-06-17 18:56:54 -03:00
Florentina Mușat
bc75b6762f Update Romanian translation 2020-06-17 16:26:07 +00:00
Daniel Mustieles
bf68ab06ea Updated Spanish translation 2020-06-17 13:52:44 +02:00
Yuri Chornoivan
6c3f3981a5 Update Ukrainian translation 2020-06-17 08:28:23 +00:00
Juan Pablo Ugarte
d981b9883a Webkit2gtk plugin: sandbox web view
Fix misc runtime warnings
2020-06-16 19:40:42 -03:00
Juan Pablo Ugarte
0a948e4fd3 Webkit plugin: add missing displayable values 2020-06-16 19:26:10 -03:00
Juan Pablo Ugarte
7d648e74d5 Gtk plugin: add missing displayable values 2020-06-16 19:25:50 -03:00
Juan Pablo Ugarte
b4d6b0b9bf Add workaroud to prevents Glade from crashing when loading GJS plugin on X11 backend 2020-06-16 19:03:36 -03:00
Juan Pablo Ugarte
8d4a9a3214 GladeWindow: startup cleanup
Clean up initialization of glade
Deleted unused macros
2020-06-16 19:03:36 -03:00
Yuri Chornoivan
2efa1db235 Update Ukrainian translation 2020-06-16 09:28:48 +00:00
Daniel Mustieles
72544e03a7 Updated Spanish translation 2020-06-16 09:44:39 +02:00
Juan Pablo Ugarte
b577494385 GladeScrolledWindowEditor: improve layout
Squeeze width/height properties in two columns
2020-06-15 20:00:43 -03:00
Corentin Noël
4e073c34b5 gtk: Add GtkScrolledWindow propagate-natural-width property 2020-06-15 23:13:08 +02:00
Kukuh Syafaat
78dc7434d4 Update Indonesian translation 2020-06-12 08:38:04 +00:00
Christian Kirbach
c795f5c95b Update German translation
(cherry picked from commit 3785afb1021b2f7dd3b428d27b2332be7af5f741)
2020-06-11 21:30:39 +00:00
Rafael Fontenelle
d329bccfe8 Update Brazilian Portuguese translation
(cherry picked from commit 866ea9f523973bc940d93fda4b69be094e7f355b)
2020-06-11 14:50:42 +00:00
Rafael Fontenelle
8df864f9e1 Update Brazilian Portuguese translation
(cherry picked from commit 234292fe8144eea2a2b2ff673640d37616c3834d)
2020-06-11 13:41:08 +00:00
Juan Pablo Ugarte
dfefb0d3ae Fix GValueArray deprecation warnings 2020-06-10 17:27:23 -03:00
Juan Pablo Ugarte
f5e800eca8 GladeProperty: replace deprecated macro 2020-06-10 17:27:14 -03:00
Juan Pablo Ugarte
82213adda1 Ignore deprecated function call. 2020-06-10 17:25:29 -03:00
Juan Pablo Ugarte
779d9d8c85 Tests: add python and javascript test case
Add test case to make sure both python and js plugins work
2020-06-08 21:09:14 -03:00
Juan Pablo Ugarte
c687c0c05a Python plugin: support multiple paths in env variable 2020-06-08 20:53:48 -03:00
Juan Pablo Ugarte
763aa56b2c GJS plugin: support multiple paths in env variable 2020-06-08 20:53:48 -03:00
Juan Pablo Ugarte
4647b2de0c Plugins: add documentation for GJS plugin
Add an example on how to use JavaScript objects with Glade
Improve python example
2020-06-08 20:53:41 -03:00
Juan Pablo Ugarte
a3b4c45dc3 Plugins: Added GJS plugin for JavaScript objects support 2020-06-08 17:39:38 -03:00
Juan Pablo Ugarte
dcbf051b57 Bump to development version 3.37.0
Since glade master is available as a nightly flatpak its better
to bump to development version after making a stable release.
2020-06-08 17:33:18 -03:00
Juan Pablo Ugarte
7562ed196f Fix project licence to GPL
While some parts of Glade are LGPL others are GPL making it GPL in practice.
2020-06-08 17:31:09 -03:00
Juan Pablo Ugarte
b973d72ed9 Docs: update python catalog example
Update examples to show how to set properties defined in python
at runtime.
2020-06-05 20:17:14 -03:00
Juan Pablo Ugarte
6f4fb5672f Python plugin: fix linking error
Since pygobject 3.8 we need to link with python-3.8-embed to avoid
missing symbols when loading the plugin.

Fix compiler warning
2020-06-05 20:16:05 -03:00
Juan Pablo Ugarte
ba841dbcf4 Build: Add comments about library versioning 2020-06-05 16:57:16 -03:00
Juan Pablo Ugarte
114124702e GladeProjectProperties: improve toolkit target version selection
Use a combobox instead of radio buttons to select libraries
target version because it was making the dialog too big.
2020-06-05 16:40:16 -03:00
Juan Pablo Ugarte
ae53150aa3 Webkit plugin: bump dependency to 2.28
Added webkit2gtk-4.0 targeteable library versions
2020-06-05 16:32:39 -03:00
Juan Pablo Ugarte
f774526429 GladeProjectProperties: cleanup GType declaration
Use G_DECLARE_FINAL_TYPE
2020-06-04 16:35:19 -03:00
Juan Pablo Ugarte
13ca4e0e52 Bump GTK dependency and toolkit target to 3.24 2020-06-04 16:35:17 -03:00
Juan Pablo Ugarte
9c4f774086 Misc files cleanup 2020-06-04 16:32:29 -03:00
Juan Pablo Ugarte
e8d8ae8d87 Flatpak: Add network access for survey to work
https://gitlab.gnome.org/GNOME/glade/-/issues/394
2020-06-03 19:05:01 -03:00
Iñigo Martínez
b9288f2562 build: Remove autotools
Relay on meson for build
2020-05-27 22:15:56 +02:00
Caolán McNamara
85108840f8 associate application/x-gtk-builder with glade's .desktop file
so GtkBuilder UI file open in glade on double click in nautilus

ref: https://bugs.freedesktop.org/show_bug.cgi?id=28020
2020-05-27 15:36:17 +01:00
Alberto Fanjul
9ecf25fa9b Ignore locale when saving numeric values 2020-05-27 12:06:03 +02:00
Alberto Fanjul
c1b2ecc3e6 Add a new maintainer 2020-05-27 11:57:26 +02:00
Alberto Fanjul
f669297b2a Remove cross compilation config files 2020-05-27 11:44:11 +02:00
Alberto Fanjul
6ac76ca24b Remove config for external builds 2020-05-26 17:45:44 +02:00
Florentina Mușat
c3b72f53e2 Update Romanian translation 2020-05-26 12:55:42 +00:00
Andre Klapper
6d4e2cd7b7 CONTRIBUTING.md: Replace broken git clone URL with GNOME Gitlab URL 2020-05-24 19:49:30 +02:00
Florentina Mușat
35781f7a8f Update Romanian translation 2020-05-24 10:42:06 +00:00
Alberto Fanjul
fa0489061e Add latest release info to appdata 2020-05-22 12:06:40 +02:00
Alberto Fanjul
fd9059a5f7 Ignore locale when saving numeric values 2020-05-20 14:49:40 +00:00
Daniel Mustieles
b14382e5e2 Updated Spanish translation 2020-05-20 12:07:27 +02:00
Yuri Chornoivan
13bfab8c89 Update Ukrainian translation 2020-05-20 05:32:36 +00:00
Sabri Ünal
15a67168e1 Make four buttons accessible via alt key 2020-05-19 20:36:14 +00:00
Sabri Ünal
6f71b51ea7 Remove deprecated gtk-close, gtk-open, gtk-cancel icons 2020-05-19 20:36:14 +00:00
Sabri Ünal
b93e500f35 Make Verify button translatable 2020-05-19 20:36:14 +00:00
Sabri Ünal
50545a104f Change issue reporting URL 2020-05-19 16:46:19 -03:00
Sabri Ünal
e88edcc534 Fix a typo 2020-05-19 19:30:14 +00:00
Piotr Drąg
aa9ccdf969 Update Polish translation 2020-05-17 10:51:12 +02:00
Emin Tufan Çetin
d9a52a93e9 Update Turkish translation 2020-05-16 11:26:39 +00:00
Rafael Fontenelle
3b37846eee Update Brazilian Portuguese translation
(cherry picked from commit 38a07b89846f149b70ed2d2389d1df10f8afbecb)
2020-05-14 10:40:22 +00:00
Kukuh Syafaat
0f6f27ffe9 Update Indonesian translation
(cherry picked from commit 4f0bddefe10747f85e5920947ba4aae0eee8119a)
2020-05-14 09:46:26 +00:00
Ken VanDine
b311c554d0 snap: Don't symlink media 2020-05-11 10:02:52 -04:00
Eduardo Diez Viñuela
10282ba1cc SNAP: Bump to version 3.36 2020-05-11 08:06:42 +00:00
Aurimas Černius
33cba9c858 Updated Lithuanian translation 2020-05-10 22:38:56 +03:00
Daniel Șerbănescu
2ea62b5ee2 Update Romanian translation 2020-05-09 17:37:34 +00:00
Tom Schoonjans
ce473462ed Build: use gtk-mac-integration only when creating bundle
Gtk-mac-integration was used only when creating the bundle,
So there's no need to drag it as a dependency just because the build
occurs on a macOS with a Gtk installation with Quartz backend.
2020-05-07 09:07:48 +01:00
Alberto Fanjul
ac5b9d45fa meson: library bump 2020-05-07 00:21:06 +02:00
Alberto Fanjul
1d14a4b94f autotools: Fix out of tree build 2020-05-06 22:19:13 +02:00
Alberto Fanjul
9f828d0c96 Rolling 3.36.0 2020-05-06 21:53:41 +02:00
Alberto Fanjul
fca9eb9110 Fix compilation refactor 2020-05-06 21:53:11 +02:00
Alberto Fanjul
0cbcd7a1e1 desktop: Fix rename 2020-05-06 21:53:11 +02:00
Alberto Fanjul
c74a685c65 gettext: Support 0.20 2020-05-06 21:53:11 +02:00
Daniel Mustieles
d44e266414 Updated Spanish translation 2020-04-30 12:50:20 +02:00
Anders Jonsson
2e5ce5b630 Update Swedish translation 2020-04-28 16:04:01 +00:00
Daniel Mustieles
f9a85517d1 Updated Spanish translation 2020-04-28 17:42:52 +02:00
Yuri Chornoivan
9ee5cbf525 Update Ukrainian translation 2020-04-25 06:29:55 +00:00
Yuri Chornoivan
cfae199114 Update Ukrainian translation 2020-03-31 06:56:29 +00:00
Yuri Chornoivan
51a5ec5b72 Update Ukrainian translation
(cherry picked from commit fbf07bad3ba7d2e49abbe797c04b28fc7df8b2af)
2020-03-30 17:51:31 +00:00
Yuri Chornoivan
90e942ce80 Update Ukrainian translation 2020-03-25 06:33:34 +00:00
Yuri Chornoivan
b8b1b0fa7b Fix minor typos 2020-03-22 08:56:29 +02:00
Yuri Chornoivan
c3daab8066 Update Ukrainian translation
(cherry picked from commit de4136beaf407e5909c38c28bd21e3ab1598f5df)
2020-03-21 18:55:55 +00:00
Yuri Chornoivan
33287bbf32 Update Ukrainian translation
(cherry picked from commit cbc0773296f8d8fd6db46fe089164ada5aecbe04)
2020-03-18 11:30:10 +00:00
scootergrisen
292349fc3e Add missing space in "the<application>" 2020-03-16 15:55:50 +00:00
Andre Klapper
0572a96264 Fix broken markup in Occitan UI translation 2020-03-10 15:05:24 +01:00
Nathan Follens
c5ef0b27cc Update Dutch translation
(cherry picked from commit 423bb42b9bd33c10d5966bd00b39e8cee3abc5b1)
2020-03-07 21:44:20 +00:00
Claude Paroz
f52115eb21 Update French translation 2020-03-04 19:13:32 +00:00
Andre Klapper
d836b918ee Fix broken markup in Hungarian UI translation 2020-03-01 18:17:13 +01:00
Changwoo Ryu
11884ca0c9 Update Korean translation 2020-03-01 09:19:05 +00:00
Piotr Drąg
63403edfe7 Update Polish translation 2020-02-20 14:34:40 +01:00
Piotr Drąg
622c958aeb help: Update HELP_LINGUAS 2020-02-20 14:24:03 +01:00
Bruce Cowan
eb1f817056 Update British English translation 2020-02-19 18:50:18 +00:00
Balázs Meskó
1866928c31 Update Hungarian translation 2020-02-17 21:18:05 +00:00
Asier Sarasua Garmendia
47156544dc Update Basque translation 2020-02-15 12:28:12 +00:00
Fran Dieguez
0cfa263062 Update Galician translation 2020-02-14 21:35:07 +00:00
Ask Hjorth Larsen
42f8784ae0 Updated Danish translation 2020-02-13 19:26:55 +01:00
Sabri Ünal
35e61ae1dd Update Turkish translation 2020-02-12 18:04:39 +00:00
Anders Jonsson
ba4a4b78d8 Update Swedish translation 2020-02-08 10:59:44 +00:00
Aurimas Černius
c548e57328 Updated Lithuanian translation 2020-02-05 22:58:10 +02:00
Umarzuki Bin Mochlis Moktar
1b5c7bdbc9 Update Malay translation 2020-01-27 12:30:57 +00:00
Anders Jonsson
126b2455ee Update Swedish translation 2020-01-21 21:09:16 +00:00
Yi-Jyun Pan
06bd1f1210 Update Chinese (Taiwan) translation 2020-01-21 14:57:03 +00:00
Ricardo Silva Veloso
ea17b1aebb Update Brazilian Portuguese translation 2020-01-14 20:29:51 +00:00
Sucipto
b83f7c648c Update Indonesian translation 2020-01-14 06:30:47 +00:00
Christian Hergert
a5c583ec48 widget: canonicalize support-warning property name
This has been causing issues in Builder recently, preventing users from
opening some projects. It appears related to GLib tightening restrictions
on property names in GNOME/glib@30e630c9df.

Fixes #403
2020-01-13 20:11:18 -08:00
Daniel Mustieles
8689fbaf68 Updated Spanish translation 2020-01-07 13:20:00 +01:00
Andre Klapper
3fbdf59395 help: Fix broken Feedback link in 'About' section 2020-01-02 23:40:42 +01:00
Jordi Mas
5c493ef9be Update Catalan translation 2019-12-27 18:02:09 +01:00
Fran Dieguez
5fc661e585 Update Galician translation 2019-12-27 16:54:59 +00:00
Fran Dieguez
008b7a90d5 Update Galician translation 2019-12-27 15:25:39 +00:00
Fran Dieguez
c1f6b23f7f Update Galician translation 2019-12-25 03:50:03 +00:00
Rafael Fontenelle
213447c582 Update Brazilian Portuguese translation 2019-12-14 19:05:40 +00:00
Yi-Jyun Pan
82e02ac048 Update Chinese (Taiwan) translation 2019-11-27 15:24:46 +00:00
Kukuh Syafaat
aaea36892e Add Indonesian translation 2019-11-11 15:27:29 +00:00
Bilal Elmoussaoui
ded01dd7e6 CI: publish nightlies
This uses the shared ci template
see https://gitlab.gnome.org/GNOME/Initiatives/wikis/DevOps-with-Flatpak
2019-11-06 12:37:00 +00:00
Victor Toso
44b197fd44 tests: Include back GtkTreeViewColumn
This was removed in ccb3a8c7dcbd7bd for a release due some criticals
which are not happening anymore.

Also fixes:
 > ../tests/add-child.c:156:1: warning: ‘assert_column_parented’ defined
 > but not used [-Wunused-function]
 >   156 | assert_column_parented (GObject *parent,
 >       | ^~~~~~~~~~~~~~~~~~~~~~
2019-11-06 11:32:44 +01:00
Victor Toso
5f0624c8dc gtk+: properly cast to avoid warnings
In order to avoid:
 > ../plugins/gtk+/glade-gtk-list-box.c:235:29: warning: passing
 > argument 2 of ‘glade_project_is_selected’ from incompatible
 > pointer type [-Wincompatible-pointer-types]
 >
 >   235 |                   (project, child) == FALSE)
 >       |                             ^~~~~
 >       |                             |
 >       |                             GtkWidget * {aka struct _GtkWidget *}
 >
 > ../plugins/gtk+/glade-gtk-list-box.c:236:55: warning: passing
 > argument 2 of ‘glade_project_selection_set’ from incompatible
 > pointer type [-Wincompatible-pointer-types]
 >
 >   236 |                 glade_project_selection_set (project, child, FALSE);
 >       |                                                       ^~~~~
 >       |                                                       |
 >       |                                                       GtkWidget * {aka struct _GtkWidget *}
2019-11-06 11:24:19 +01:00
Victor Toso
21551ac316 gtk+: workaround truncation warning by being safer
Truncation was somewhat intended as column_name can fit 255 bytes plus
the null termination. Still, there is an easy workaround which is to
ensure that buffer is null terminated and then use strcpy. Should be a
bit safer and faster than strncpy().

 > ../plugins/gtk+/glade-gtk-list-store.c:492:13: warning: ‘strncpy’
 > output may be truncated copying 255 bytes from a string of length
 > 255 [-Wstringop-truncation]
 >
 >  492 |             strncpy (column_name, buffer, 255);
 >      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2019-11-06 11:10:40 +01:00
Victor Toso
a554b9602d gladeui: remove unused type_func variable
Added in a4cd9074b6e59
2019-11-06 09:57:52 +01:00
Daniel Mustieles
e319514cdf Updated Spanish translation 2019-10-10 13:55:29 +02:00
Corentin Noël
4f3262627d Add missing file to POTFILES 2019-10-04 17:19:22 +02:00
Corentin Noël
a4cd9074b6 gladeui: Ensure that we write the "type-func" property when a get-type-function is defined in the catalog 2019-10-04 14:07:31 +00:00
Corentin Noël
242364f80d Allow to specify placeholder to GtkListBox 2019-10-04 14:02:26 +00:00
Corentin Noël
3512d2eb85 gtk+: Allow to use GtkResponseType with GtkDialog and GtkInfobar buttons 2019-10-04 13:59:39 +00:00
Corentin Noël
ddcb64d2e5 gladeui: Change the boolean parsing logic to be the same as Gtk
Avoids false positive
2019-10-04 13:52:58 +00:00
Bilal Elmoussaoui
7e20264864 Appdata: update app-id 2019-10-01 07:49:18 +00:00
Corentin Noël
5834546249 Update FSF address
Fixes #145
2019-10-01 07:47:06 +00:00
Heather Ellsworth
8ef04e32db snap: Update yaml to use GNOME extension 2019-09-18 14:59:45 +00:00
Corentin Noël
bf550e237c gladeui: Modernize GladeSignalEditor codebase
Use G_DECLARE_DERIVABLE_TYPE and friends
2019-09-16 16:05:26 +02:00
Bilal Elmoussaoui
a45ec94349 RDNN appdata & desktop file
Rename the appdata file & desktop file to follow the new freedesktop standards
2019-09-13 13:33:03 +00:00
Corentin Noël
89acf1b6ca gtk+: Add homogeneous property to GtkStackSwitcher 2019-09-13 13:32:10 +00:00
Bilal Elmoussaoui
3b00bc8768 Flatpak: remove uneeded options 2019-09-13 13:20:09 +00:00
Corentin Noël
58c737af2a gladeui: Fix wrong pointer convertion in GladeDesignView
Also use g_assert in static functions to always ensure that we're getting the right type.

GNOME Builder is using it like this itself and it allows to find mistakes faster.

It can also be disabled for release builds by defining G_DISABLE_ASSERT
2019-09-13 13:06:54 +00:00
Corentin Noël
6054540957 gtk+: Provide Gtk 3.22 properties for GtkScrolledWindow 2019-09-13 13:06:30 +00:00
Corentin Noël
c5d4c4eb22 gtk+: Add missing 3.22 enum/flag values 2019-09-11 19:36:13 +00:00
Corentin Noël
f0a539093a gladeui: Modernize GladeWidgetAdaptor definition 2019-09-11 19:20:06 +00:00
Corentin Noël
61516306c7 gtk+: Keep internationalization context in Atk properties
Fixes https://gitlab.gnome.org/GNOME/glade/issues/356
2019-09-11 19:16:41 +00:00
Corentin Noël
4219ca120d gladeui: Plug tiny leak on Drag & Drop 2019-09-10 16:21:26 +02:00
Balázs Úr
1ac86acf57 Update Hungarian translation 2019-09-09 05:26:03 +00:00
Rafael Fontenelle
8b610fc28c Update Brazilian Portuguese translation
(cherry picked from commit 4146f4565cde66ab0c289af1e4d14668a021a83c)
2019-09-09 00:14:42 +00:00
Alexandre Franke
283f286299 Update French translation 2019-09-08 11:17:08 +00:00
Corentin Noël
903bab00bc gladeui: Fix crash on drag-n-drop
The arguments of on_source_drag_end were mismatched
2019-09-04 10:01:22 +00:00
Corentin Noël
2d276eaed5 gladeui: fix several tiny memory leaks found with valgrind 2019-09-03 18:13:02 +00:00
Alberto Fanjul
216506aded Update mail lists 2019-09-01 05:09:51 +02:00
Alberto Fanjul
4730383d97 Add new maintainer 2019-09-01 05:02:19 +02:00
Roger
ff86575faf Convert the README to markdown 2019-09-01 01:27:15 +00:00
Corentin Noël
08fe3669ab Make it easier to track GladeXML elements and be GObject Introspection friendly by registering boxed types 2019-08-29 15:56:16 +00:00
Corentin Noël
12c3fc1986 gladeui: Replace the last occurences of GladeWidgetClass with GladeWidgetAdaptor in the comments 2019-08-20 18:58:15 +00:00
Corentin Noël
e5f96709f9 gladeui: Use G_DECLARE_FINAL_TYPE for GladeObjectStub 2019-08-20 18:58:15 +00:00
Corentin Noël
c2d07355a6 gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeNamedIconChooserDialog 2019-08-20 18:58:15 +00:00
Corentin Noël
b3af287176 gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeInspector 2019-08-20 18:58:15 +00:00
Corentin Noël
d7a2af140c gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeEditorProperty
Also adapt the subclassing macro and the subclasses and make it easier to read
2019-08-20 18:58:15 +00:00
Corentin Noël
2694a8fd9a gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeEditor 2019-08-20 18:58:15 +00:00
Corentin Noël
2b84518c84 gladeui: Use G_DECLARE_INTERFACE for GladeEditable 2019-08-20 18:58:15 +00:00
Corentin Noël
80283c9851 gladeui: Use G_DECLARE_INTERFACE for GladeDrag 2019-08-20 18:58:15 +00:00
Corentin Noël
f5f5001329 gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeDesignView 2019-08-20 18:58:15 +00:00
Corentin Noël
847c50d3e7 gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeDesignLayout 2019-08-20 18:58:15 +00:00
Corentin Noël
dd8bbc15f1 gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeCommand
Also adapt the internal subclasses and make it easier to read
2019-08-20 18:58:15 +00:00
Corentin Noël
e80c486f68 gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeClipboard 2019-08-20 18:58:15 +00:00
Corentin Noël
138dcbccd1 gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeCellRendererIcon 2019-08-20 18:58:15 +00:00
Corentin Noël
567f8858ad gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeBaseEditor 2019-08-20 18:58:15 +00:00
Corentin Noël
df6d47f52b gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeApp 2019-08-20 18:58:15 +00:00
Corentin Noël
1b1ffac4ec gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeAdaptorChooserWidget 2019-08-20 18:58:15 +00:00
Piotr Drąg
1fa027ed94 Update Polish translation 2019-08-20 19:39:34 +02:00
Aurimas Černius
7ccfe7fe25 Updated Lithuanian translation 2019-08-19 22:31:34 +03:00
Florentina Mușat
d98f4880de Update Romanian translation 2019-08-18 12:22:13 +00:00
Marek Černocký
736039f426 Updated Czech translation 2019-08-16 18:57:44 +02:00
Marek Černocký
dfe28ac746 Updated Czech translation 2019-08-16 18:55:44 +02:00
Corentin Noël
5b8a5a4824 gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeEditorSkeleton 2019-08-15 21:32:50 +00:00
Corentin Noël
a82d4c0451 gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeEditorTable 2019-08-15 21:32:50 +00:00
Daniel Șerbănescu
e826a25d66 Update Romanian translation
(cherry picked from commit 324f738505ecdca896c6986760ba1a115df2da32)
2019-08-15 18:32:09 +00:00
Daniel Șerbănescu
a77a6e9932 Update Romanian translation
(cherry picked from commit 14aba678126f122097f63964edee4e90ee3773af)
2019-08-15 13:12:07 +00:00
Daniel Șerbănescu
c59d40a142 Update Romanian translation 2019-08-15 08:26:13 +00:00
Asier Sarasua Garmendia
4348034b2e Update Basque translation 2019-08-15 07:43:34 +00:00
Bruce Cowan
0f6cca5008 Update British English translation 2019-08-13 21:13:39 +00:00
Alberto Fanjul
23b9b9fc4a dnd: Enable Drag&Drop on wayland 2019-08-06 05:22:12 +02:00
Christian Hergert
143ab6603e gladeui: remove implicit cast in assignment
It's considered an anti-pattern in the GNOME code-base's now to use
implicity asignment through the void* cast in g_object_ref, as it now
propagates the type of param0 to the return type.

This fixes that with an explicit cast before we try to ref the object.
2019-08-05 15:01:55 -07:00
Christian Hergert
aa2ee2e665 build: remove G_CONST_RETURN usage 2019-08-05 15:01:55 -07:00
Christian Hergert
1f70884b35 gladeui: ignore various GParameter deprecations
These are used in various public API but we don't need to warn about them
because GLib warnings will be in effect by the consumers.
2019-08-05 15:01:50 -07:00
Noel Grandin
7a630148a2 Fix on debug traces after rename GladePropertyClass to GladePropertyDef 2019-08-04 21:11:46 +00:00
Alberto Fanjul
8170777f26 meson: Activate enable-debug variables 2019-08-04 21:11:46 +00:00
Corentin Noël
69f1d458ab Prevent dragging an ancestor inside a child 2019-08-04 21:10:57 +00:00
Asier Sarasua Garmendia
b585bac049 Update Basque translation 2019-07-30 15:14:43 +00:00
Rafael Fontenelle
e74e881717 Update Brazilian Portuguese translation 2019-07-22 04:25:06 +00:00
James Westman
db35c6f1b6 GladePopup: Clear add item when adding as toplevel 2019-07-16 03:41:09 +02:00
James Westman
58285e64e3 GtkImage: Fix icon size being reset
When you reloaded a file or changed the image type, the icon size was
reset (not in the sidebar, but in the editor).
2019-07-15 14:34:45 -05:00
Kukuh Syafaat
9f4e57a0df Update Indonesian translation 2019-07-08 08:00:24 +00:00
Iñigo Martínez
4924be88dc build: Fix OSX support in meson
This modifies meson to fix dylibs loading in OSX support following
dde46cbd commit.
2019-07-02 10:04:51 +00:00
Iñigo Martínez
85c40c1510 build: Do not use a system variable only for Windows
Glade is built in multiple systems and `Windows` is not the only
system that needs specific commands.

Change the `glade_windows` variable to hold the system value.
2019-07-02 10:04:51 +00:00
TingPing
27c2286bd9 Fix loading dylibs on OSX 2019-07-02 10:04:51 +00:00
Daniel Mustieles
258a7dde2f Updated Spanish translation 2019-07-02 11:56:42 +02:00
Veerasamy Sevagen
8a18085273 Set the "About Dialogue" as modal 2019-07-01 11:51:03 +00:00
Corentin Noël
453fc9dd34 Fix split sentense in GladeProject 2019-06-27 10:26:52 +00:00
Daniel Mustieles
b5e5da2d5b Updated Spanish translation 2019-06-26 11:00:47 +02:00
Veerasamy Sevagen
487c29824a Adding "Glade" to "About" section.
The reason for this change is to make it consistent with the other applications.
2019-06-25 16:10:32 +00:00
Corentin Noël
023c2e6829 Respect the Glade namespace for macros and defines 2019-06-21 10:21:32 +00:00
Daniel Mustieles
3628e8f10f Updated Spanish translation 2019-06-21 10:03:51 +02:00
Daniel Mustieles
a904a9df25 Updated Spanish translation 2019-06-19 09:57:10 +02:00
Piotr Drąg
f439f15787 Update POTFILES.in 2019-06-18 19:10:20 +02:00
Corentin Noël
cb31354029 Rename *Klass to *Class as there are no name collision anymore 2019-06-18 11:19:07 +00:00
Corentin Noël
c5f7174454 Fix two memory leaks discovered with valgrind 2019-06-18 11:51:11 +02:00
Corentin Noël
11367214b3 GladeSignalDef: fix documentation for glade_signal_def_set_deprecated 2019-06-18 10:22:02 +02:00
Corentin Noël
3fabe72401 Rename GWActionClass to GladeWidgetActionDef to use the right namespace 2019-06-18 07:35:25 +00:00
Corentin Noël
a543e99069 Rename GladePropertyClass to GladePropertyDef and declare it as boxed 2019-06-18 07:31:45 +00:00
Corentin Noël
91a8b096a7 Rename GladeSignalClass to GladeSignalDef and declare it as boxed 2019-06-14 16:36:43 +00:00
Corentin Noël
00b3b7fa29 Create GladeSettings to hold the settings instead of using a Gtk widget for holding it
Avoids having a GladePreferences around when it's not always necessary.
2019-06-09 20:28:56 +02:00
Corentin Noël
fcdfc12290 Add GDK_VERSION_MIN_REQUIRED
It silences many warnings with GTK when we are supposed to use some deprecated methods by design
2019-06-09 20:16:27 +02:00
Corentin Noël
1980767aae Utils: get the absolute path but avoid accessing it
It's not working on Flatpak
2019-06-09 20:16:27 +02:00
Corentin Noël
b108afa29b Fix several compiler warnings 2019-06-09 20:16:27 +02:00
Corentin Noël
4c280cce03 Replace some functions by Gtk 3.22 ones
And reduce the amount of deprecation warnings
2019-06-09 18:09:49 +00:00
Corentin Noël
3235d479f4 GladeSignalClass: rename glade_signal_class_get_type 2019-06-09 19:23:57 +02:00
Corentin Noël
b115fcb95d Allow to use GtkFileChooserNative 2019-06-07 01:06:00 +02:00
Balázs Meskó
b024d4fdf5 Update Hungarian translation 2019-06-01 10:46:17 +00:00
Corentin Noël
0c9fd3721c GladeProperty: Keep the bind-source, bind-property and bind-flags elements
It is not exposed in the UI for now.
2019-05-31 07:55:34 +00:00
Ask Hjorth Larsen
b7f9c17e46 Updated Danish translation 2019-05-27 18:41:52 +02:00
Corentin Noël
f46af86c6e Couple of fixes for memory leaks found with valgrind
Most of them are unfreed string and missed GList elements.
2019-05-21 08:26:39 +00:00
Asier Sarasua Garmendia
55f03589e9 Update Basque translation 2019-05-11 08:37:59 +00:00
Corentin Noël
e635c29d92 GtkLinkButton: allow to edit the label 2019-05-02 21:56:46 +02:00
Daniel Mustieles
cd662a422c Updated Spanish translation 2019-04-23 10:22:53 +02:00
Anders Jonsson
103192e038 Update Swedish translation 2019-04-10 16:02:39 +00:00
Marek Černocký
767719243a Updated Czech translation 2019-04-10 16:10:09 +02:00
Ask Hjorth Larsen
04e469ec93 Updated Danish translation 2019-04-08 20:57:15 +02:00
Balázs Úr
58b8e5fefd Update Hungarian translation 2019-04-07 20:06:15 +00:00
Mario Blättermann
ee109a4c22 Update German translation
(cherry picked from commit afa84db7cd6ce4ed0c87b2c19fdaead7141fa209)
2019-04-07 15:23:14 +00:00
Ask Hjorth Larsen
d4cc46a0d5 Updated Danish translation 2019-04-07 03:43:43 +02:00
Piotr Drąg
b85c202d70 Update Polish translation 2019-04-06 16:19:05 +02:00
Andre Klapper
994f4ca638 help: Update localized screenshots for 3.22 2019-04-06 11:53:51 +02:00
Andre Klapper
db0a1f205c help: Update screenshot for 3.22 2019-04-06 11:51:27 +02:00
Andre Klapper
ef77eb8320 help: Remove outdated localized screenshots far away from the current UI 2019-04-06 11:46:46 +02:00
Asier Sarasua Garmendia
cdc66846b0 Update Basque translation
(cherry picked from commit 8e27765cbae65b9fa31fc594f10c0aa65a58e9e5)
2019-04-05 16:53:17 +00:00
Corentin Noël
8ecbd08380 gladeui: Fix several memory leaks with GladeWidgetAdaptor 2019-04-02 07:15:50 +02:00
Corentin Noël
812cb3cd35 gladeui: Fix leak of create_type in GladePropertyClass 2019-04-01 23:38:41 +02:00
Corentin Noël
e7f0a4d17a gladeui: fix memory leak in GWActionClass 2019-04-01 23:17:23 +02:00
Corentin Noël
e1af8a18b2 introspection: Add many annotations to sources 2019-04-01 23:11:24 +02:00
tallero
fdce8f8d70 No wide handles in center_paned and left_paned 2019-03-31 08:16:34 +00:00
Iñigo Martínez
6a2f50c3c9 flatpak: Set meson as buildsystem
Following glade's port to meson the build system in the flatpak
manifest has been also been moved to meson.

The CI-built has also been changed to use it.
2019-03-30 21:15:44 +01:00
Iñigo Martínez
79bd7e5a84 build: Port to meson build system
meson is a build system focused on speed an ease of use, which
helps speeding up the software development.

meson build system has been added along with autotools.
2019-03-30 21:15:41 +01:00
Corentin Noël
9b22a02510 gtk+: Add deprecated flag to GtkButton and GtkImage stock properties 2019-03-30 10:53:21 +00:00
Corentin Noël
c19d9b7f8d doc: remove missing xml files 2019-03-30 11:49:17 +01:00
Corentin Noël
e472c542e6 doc: Modernize the documentation 2019-03-30 10:20:13 +01:00
Corentin Noël
e7043dbffa docs: Make some changes to fix warnings with the documentation 2019-03-30 10:20:13 +01:00
Alberto Fanjul
e4ce50229e Add metadata information about releases 2019-03-30 10:18:23 +01:00
Iñigo Martínez
71a9ecfc15 i18n: Do not use input file for not translated files
Both `gtk+` and `webkit2gtk` plugins use input files that are not
actually translated. These input files has been renamed to their
final names.
2019-03-30 10:18:01 +01:00
Martin Blanchard
0d2f18b912 Fix xgettext string extraction for catalogs 2019-03-14 21:43:02 +00:00
Jeremy Bicha
7726c09089 snap: update for icon filename changes 2019-03-14 06:43:20 -04:00
Piotr Drąg
15d9d752d4 Add translator comments to the .desktop file
Also remove an obsolete entry that gettext can’t deal with.
2019-03-14 07:54:08 +00:00
Piotr Drąg
d34083f3ff Update POTFILES.skip 2019-03-14 07:50:45 +00:00
Piotr Drąg
39120cba3b Update POTFILES.skip 2019-03-14 07:44:35 +00:00
Martin Blanchard
ecf4deab44 gladeui-2.0.pc: Data paths relative to datadir
Having data directory paths, like catalogdir, being relative to datadir
allows to resolve them with an arbitrary prefix. Packages installing
Glade catalogs may use this to resolve catalogdir using their prefix.

https://gitlab.gnome.org/GNOME/glade/issues/353
2019-03-14 03:00:55 +01:00
Jakub Steiner
7d62cef1b5 icon: update app icon
- GNOME 3.32 redesign of app icons.
  See https://gitlab.gnome.org/GNOME/Initiatives/issues/2
  for more info.

/label ~"9. Initiative: AppIconRedesign"
2019-03-14 02:37:46 +01:00
Will Thompson
2dbaeef0e8 GladeProject: escape markup in parser errors
If you try to load a non-XML file, such as Glade's own README, the
parser error contains something like this:

    Start tag expected, '<' not found

glade_util_ui_message() treats the supplied message as markup; so the
literal < in the error message trips it up:

    Gtk-WARNING **: Failed to set text 'Error parsing file '/home/wjt/src/gnome/glade/README' on line 1
    Start tag expected, '<' not found
    ' from markup due to error parsing markup: Error on line 2 char 30: Odd character 'f', expected a '=' after attribute name 'not' of element '''

To fix this, escape the message before passing it to
glade_util_ui_message().
2019-03-13 23:54:16 +00:00
Javier Jardón
8341cf78bc Use autoreconf instead deprecated gnome-common
See https://wiki.gnome.org/Projects/GnomeCommon/Migration
2019-03-14 00:21:35 +01:00
Martin Blanchard
d857fc2fd0 Stop defaulting missing images to deprecated stock icons
GTK_STOCK_MISSING_IMAGE/"gtk-missing-image" has been deprecated for a
while now and Adwaita does not ship it anymore under that name. Better
prefer the new "image-missing" replacement.
2019-03-12 00:05:49 +00:00
Alberto Fanjul
93d8894844 ci: Enable test suite 2019-03-10 18:55:28 +00:00
Niels De Graef
2c460bd113 Migrate from intltool to gettext
Recent gettext version can extract and merge back strings from and to
various file formats, no need for  intltool anymore.

https://wiki.gnome.org/Initiatives/GnomeGoals/GettextMigration

https://gitlab.gnome.org/GNOME/glade/issues/279
2019-03-10 18:55:28 +00:00
Nathan Follens
39676dda2d Update Dutch translation
(cherry picked from commit 31bce15d01c3625626434c53b27992b46a72dc8a)
2019-03-10 13:01:19 +00:00
Changwoo Ryu
862963347b Update Korean translation 2019-02-26 07:17:53 +00:00
Ask Hjorth Larsen
1e7e376d67 Updated Danish translation 2019-02-24 14:27:51 +01:00
Ken VanDine
2b2386c659 snap: Use a version-script to generate a friendlier version string and
specify dbus slot for gtkapplication registration
2019-02-11 12:57:20 -05:00
Jordi Mas
55778a4a7d Update Catalan translation 2019-02-10 15:28:25 +01:00
Marek Cernocky
f6bd47b093 Updated Czech translation 2019-02-07 10:19:12 +01:00
Jeremy Bicha
18214372fa snap: switch to core18 2019-02-05 18:48:59 -05:00
Ken VanDine
9bb50acb43 packaging: Add snap packaging
Adds snap packaging

https://bugzilla.gnome.org/show_bug.cgi?id=790394
2019-02-05 14:36:12 -08:00
Sabri Ünal
f54b07fa97 Update Turkish translation 2019-02-05 14:50:53 +00:00
Kukuh Syafaat
2aa752d7ab Update Indonesian translation 2019-02-02 15:48:42 +00:00
Fran Dieguez
1d58112ba8 Update Galician translation 2019-01-28 23:18:42 +00:00
Balázs Úr
9b1f9c0a8a Update Hungarian translation 2019-01-27 17:19:41 +00:00
Balázs Úr
0905229713 Update Hungarian translation 2019-01-26 21:57:51 +00:00
Alexandre Franke
5a2d74f8c8 Update French translation 2019-01-24 11:49:46 +00:00
Alexandre Franke
00645a5698 Update French translation 2019-01-24 11:48:51 +00:00
Daniel Mustieles
1a07a1ba52 Updated Spanish translation 2019-01-22 15:44:02 +01:00
Piotr Drąg
12e0cc93ee Update Polish translation 2019-01-17 12:11:15 +01:00
Piotr Drąg
09d1426155 Update Polish translation 2019-01-17 12:00:29 +01:00
Rico Tzschichholz
a5ff472fde gladeui: Fix GIR package reference and add c-include 2019-01-13 15:00:19 +01:00
Guido Günther
7d85967339 dtd: Add several new elements
This allows us to validate the libhandy dtd again:

    https://source.puri.sm/Librem5/libhandy/merge_requests/135/diffs
2019-01-07 21:24:43 +00:00
Anders Jonsson
29e23e5214 Update Swedish translation 2018-12-28 10:28:31 +00:00
Anders Jonsson
f6a2606996 Update Swedish translation 2018-12-23 20:22:13 +00:00
Daniel Mustieles
daeb85c9bd Updated Spanish translation 2018-12-04 16:15:47 +01:00
Juan Pablo Ugarte
363fd7839a Add initial implementation of Automatic Templates 2018-10-30 11:10:06 -07:00
Matej Urbančič
2ddc72f728 Updated Slovenian translation 2018-10-25 21:35:14 +02:00
Juan Pablo Ugarte
08bf49a491 GladeIntro: fix regresion in find_widget_forall() 2018-10-16 16:09:43 -07:00
Juan Pablo Ugarte
949ee16435 GladeProject: add handler signals
Add add, remove, change and activate handler signals.

These signals can be used to easily track signal changes in a project
instead of connecting callbacks to every widget.
2018-10-16 11:30:17 -07:00
Juan Pablo Ugarte
8553bf0346 GladeEditor: expose signal editor widget as a property 2018-10-16 11:30:14 -07:00
Ask Hjorth Larsen
b8db53c94e Updated Danish translation 2018-09-24 13:10:46 +02:00
Matej Urbančič
db79d55c02 Updated Slovenian translation 2018-09-17 18:29:53 +02:00
Andre Klapper
bfd3020f66 GNOME Bugzilla has been replaced by GNOME Gitlab 2018-09-15 12:34:22 +02:00
Daniel Mustieles
3e43e42f7e Updated Spanish translation 2018-09-05 11:21:45 +02:00
Anders Jonsson
91b6501b7b Update Swedish translation 2018-09-02 18:31:58 +00:00
Ask Hjorth Larsen
e6ab26a126 Updated Danish translation 2018-09-01 18:46:08 +02:00
Rūdolfs Mazurs
d4c5ce91cb Update Latvian translation 2018-08-31 16:44:08 +00:00
Balázs Meskó
3254723703 Update Hungarian translation 2018-08-31 13:01:34 +00:00
Fran Dieguez
1e44a1053c Update Galician translation 2018-08-29 23:41:43 +00:00
Marek Cernocky
5dfcc73b5d Updated Czech translation 2018-08-29 07:43:52 +02:00
Changwoo Ryu
15404992f7 Update Korean translation 2018-08-28 15:55:12 +00:00
Milo Casagrande
8f188f807c Update Italian translation 2018-08-28 08:14:08 +00:00
Kukuh Syafaat
db243b58ef Update Indonesian translation 2018-08-26 13:52:21 +00:00
Baurzhan Muftakhidinov
5ef2da7cb9 Update Kazakh translation 2018-08-25 17:30:25 +00:00
Claude Paroz
8da9d7a429 Updated French translation 2018-08-22 12:23:32 +02:00
Daniel Șerbănescu
2f946d6ff3 Update Romanian translation 2018-08-20 18:25:37 +00:00
Ricardo Silva Veloso
43734fae45 Update Brazilian Portuguese translation 2018-08-16 20:19:27 +00:00
Aurimas Černius
d92387fe87 Updated Lithuanian translation 2018-08-16 23:15:26 +03:00
Tim Sabsch
ce3780e609 Update German translation 2018-08-16 13:05:56 +00:00
Emin Tufan Çetin
71c587982d Update Turkish translation 2018-08-14 08:47:39 +00:00
Piotr Drąg
85e80366d6 Update Polish translation 2018-08-12 19:35:29 +02:00
Emin Tufan Çetin
59a6a4659c Update Turkish translation 2018-08-12 10:18:32 +00:00
Juan Pablo Ugarte
b237bae2e8 GladeIntro: use name and buildable name to find widgets 2018-08-11 18:51:24 -03:00
Juan Pablo Ugarte
159a2bab02 GladeWindow: simplify pointer mode actions
Replace all pointer mode actions (select, drag, margin and align)
with a new action "pointer-mode" with a mode parameter
2018-08-11 18:51:24 -03:00
Juan Pablo Ugarte
a0d1b58eee GladeWindow: move actions to GtkApplication 2018-08-11 18:51:24 -03:00
Aurimas Černius
f787130c5f Updated Lithuanian translation 2018-08-11 21:55:49 +03:00
Piotr Drąg
cfa6d6c9bf Update Polish translation 2018-08-11 20:11:48 +02:00
Matej Urbančič
fc71f326f9 Updated Slovenian translation 2018-08-09 20:12:51 +02:00
Juan Pablo Ugarte
5f08b3a8ed GladeEPropAttrs: use sane adjustment values for size and scale attrs
Closes issue #324 "Spin Button Increment of Text Scale Attribute So Over"
2018-08-08 19:51:41 -03:00
Juan Pablo Ugarte
493e0c231d GtkActionable: add action-target property 2018-08-08 19:51:41 -03:00
Mario Blättermann
9ead37a927 Update German translation 2018-08-05 10:10:45 +00:00
Piotr Drąg
edf808ab94 Update Polish translation 2018-08-04 20:34:25 +02:00
Matej Urbančič
50b9898be2 Updated Slovenian translation 2018-08-03 17:21:28 +02:00
Juan Pablo Ugarte
0b1d4e99e1 Fix tab/space identation 2018-08-02 19:27:10 -03:00
Juan Pablo Ugarte
583e024ef8 GladeWidgetAdaptor: add glade_widget_adaptor_get_display_name() 2018-08-02 14:11:08 -03:00
Juan Pablo Ugarte
4b3c2080f0 GladeWindow: port to GtkApplication
This will let us export actions on DBus as an entry point for
integration with other IDE like Builder.
2018-08-02 13:31:48 -03:00
Juan Pablo Ugarte
d666d334bd Remove GladeInstantiable prefix from UI 2018-08-02 13:27:13 -03:00
Juan Pablo Ugarte
c2971c6713 GladeGtkBin: add initial support for GtkBin abstract class 2018-08-02 13:27:09 -03:00
Juan Pablo Ugarte
f6bee53a3d GladeWidget: add support for abstract classes
In order to support templates with abstract parents glade_widget_read()
will use a class with the GladeInstantiable prefix. So for a GtkBin
template it  will use GladeInstantiableGtkBin which of course has to
derive from GtkBin.

In turn glade_widget_write() will ommit GladeInstantiable prefix.
2018-08-02 13:26:59 -03:00
Carlos Soriano
44577c829a widget-editor: Replace margin right/left for end/start
They have been deprecated for some time now and break RTL languages.

This works implements margin-end and margin-start and deprecates
margin-left and margin-start.

All four properties are shown to be able to upgrade from previous gtk3
versions, ideally this will be gone when Glade moves to gtk4.

Closes https://gitlab.gnome.org/GNOME/glade/issues/319
2018-08-01 13:43:27 +00:00
Daniel Mustieles
4e9893dfcd Updated Spanish translation 2018-07-31 12:40:07 +02:00
Juan Pablo Ugarte
d866a0870e GladeModelButton: improve editor 2018-07-30 21:04:51 -03:00
Juan Pablo Ugarte
2c55455387 GladeEditorProperty, GladePropertyClass, GladeWidgetAdaptor:
Add GVariant property type support

Closes issue #303
2018-07-30 20:56:18 -03:00
Juan Pablo Ugarte
4c3cbe3591 GladeModelButton: enable icon/iconic properties 2018-07-30 20:53:19 -03:00
Juan Pablo Ugarte
815cc6a050 Gtk plugin: add support for GFileIcon 2018-07-30 17:18:15 -03:00
Juan Pablo Ugarte
bc0e26c1d0 Add initial support for GFile type properties 2018-07-26 20:16:28 -03:00
Juan Pablo Ugarte
ad26702a7c Bump Gtk required version to 3.22 2018-07-26 17:24:55 -03:00
Juan Pablo Ugarte
225f6f3969 GladeGtkBox: improve children sort function
If the are two children with the same position, sort alphabetically by name.
2018-07-26 17:00:27 -03:00
Juan Pablo Ugarte
02e660484d GladeGtkHeaderBar: Improve position packing property handling
Return children sorted by position and update the other child position
when changing it just like we do for GtkBox

Fixes issue #301
2018-07-26 17:00:27 -03:00
Alberto Fanjul
e59e5b2b31 Turn error into warning 2018-07-26 13:51:39 +00:00
nick richards
701da5b8ef Add OARS tags 2018-07-25 08:49:00 +02:00
Alberto Fanjul
fb2c1d4604 gitlabci: Add CI setup 2018-07-25 08:01:24 +02:00
albfan
113bfa9811 flatpak: Add manifest 2018-07-25 00:16:58 +02:00
Daniel Mustieles
e6129c0cbc Updated Spanish translation 2018-07-24 09:54:31 +02:00
Matej Urbančič
125b5ddd33 Updated Slovenian translation 2018-07-11 21:11:21 +02:00
Bruno Lopes da Silva
6671f7c999 Update Brazilian Portuguese translation 2018-07-09 20:27:52 +00:00
Juan Pablo Ugarte
62f9dace52 Gtk catalog: mark GtkImageMenuItem as deprecated since 3.10
Closes issue #304 "glade doesn't show warnings with deprecated GtkImageMenuItem"
2018-06-01 18:04:02 -03:00
Juan Pablo Ugarte
6a10020e76 GladeWidgetAdaptor: added deprecated-since metadata
Added metadata needed to know in which Gtk version a class is deprecated
2018-06-01 18:04:02 -03:00
Daniel Mustieles
5887067a98 Updated Spanish translation 2018-05-28 17:54:39 +02:00
Anders Jonsson
6981d60910 Update Swedish translation 2018-05-27 20:28:59 +00:00
Juan Pablo Ugarte
83bd4a2848 GladeImageItemEditor: use display name for commands names 2018-05-23 21:54:11 -03:00
Juan Pablo Ugarte
1a198f86ac GladeCommand: ensure widget name on object properties
Closes issue #307 "Error in Glade 3.22.1 in menu item XML produced"
2018-05-23 21:52:13 -03:00
Juan Pablo Ugarte
540f025c2f GladeGtkAdjustment: add digits virtual property
Let the user choose the values precision to use.

Closes issue #18 "Scale Properties Adjustment precision doesn't match Scale Properties Digits"
2018-05-23 20:33:06 -03:00
Juan Pablo Ugarte
6a26af5767 GladeEPropNumeric: bind precision property to spin button 2018-05-23 20:33:06 -03:00
Juan Pablo Ugarte
76b4cefd94 GladeProperty: add precision property 2018-05-23 20:33:06 -03:00
Juan Pablo Ugarte
1141bbd2c4 GladePropertyClass: round floating point values to epsilon 2018-05-23 20:33:06 -03:00
Daniel Mustieles
4e65572673 Updated Spanish translation 2018-05-22 13:42:06 +02:00
Anders Jonsson
94abd680a0 Update Swedish translation 2018-05-20 17:56:54 +00:00
Matej Urbančič
f06d97dece Updated Slovenian translation 2018-05-15 21:47:07 +02:00
Matej Urbančič
98267e1d8c Added Slovenian translation 2018-05-15 21:44:53 +02:00
Marek Černocký
d4733db797 Updated Czech translation 2018-05-14 21:59:17 +02:00
Daniel Boles
1149c7ceba ui/widget: Make template ver# warning more useful
Composite widget templates are only supported by GTK+ 3.10 and up, but
if a user targeted a lower version, we only told them that said version
did not support templates, but provided no help on how to resolve that.

A user in #gtk+ mistook that vague warning as meaning widget templates
had been deprecated in their (then) target version, GTK+ 3.0. Whoops!

It makes more sense to tell users what version they need, which is new
info, instead of what they are currently targeting, which they know.
2018-05-12 14:41:28 +00:00
Juan Pablo Ugarte
54869190d0 Update CONTRIBUTING.md to gitlab 2018-05-12 10:15:12 -03:00
Juan Pablo Ugarte
35923d0108 GladeCommand: ignore special child types placeholders in add command.
GladeGtkWindow: mark titlebar placeholder as special child type.

Fix bug "Glade deletes all widgets when adding a Scrolled Window parent, but doesn't show it."

https://gitlab.gnome.org/GNOME/glade/issues/196
2018-05-12 10:05:54 -03:00
Emin Tufan Çetin
bc5f9d0fcb Update Turkish translation
(cherry picked from commit 21b435fce5d9465943db8562b37568048ad0e308)
2018-05-03 06:59:19 +00:00
Daniel Mustieles
6dad3497fb Updated Spanish translation 2018-04-25 13:09:40 +02:00
Rūdolfs Mazurs
d0940e82ae Update Latvian translation
(cherry picked from commit e7fc7fad3c89f5768c93613caf6771487e37131b)
2018-04-07 16:42:58 +00:00
Tristan Van Berkom
f41e1cd4f2 Merge branch 'recover-statusbar' into 'master'
Gtk Catalog: add back GtkStatusbar

See merge request GNOME/glade!1
2018-04-01 13:54:47 +00:00
albfan
671ecee7fd Gtk Catalog: add back GtkStatusbar 2018-04-01 15:47:44 +02:00
Марко Костић
7105287fc5 Update Serbian translation
(cherry picked from commit f65173e5070c4710b16553b6dabfc4e6b4a47594)
2018-03-28 20:40:54 +00:00
Piotr Drąg
e3985e0929 Update Polish translation 2018-03-27 23:15:21 +02:00
Guillaume Bernard
5afdf3db27 Update French translation
(cherry picked from commit 7a4b06d5616aab366b75d30334045f249127270a)
2018-03-26 19:59:28 +00:00
Cheng-Chia Tseng
10efdce6e7 Update Chinese (Taiwan) translation
(cherry picked from commit d14c0d4fe27374cd36622443622ca66e5164aeed)
2018-03-26 10:16:15 +00:00
Kukuh Syafaat
af7404eb11 Update Indonesian translation 2018-03-25 18:35:01 +00:00
Marek Černocký
2ff3983a60 Updated Czech translation 2018-03-25 09:16:45 +02:00
Juan Pablo Ugarte
371b733989 GladeGtkHeaderBar: mark title and subtitle as translatable
Fix bug #782753 "Glade does not allow ApplicationWindow's title to be marked as translatable"
2018-03-24 14:40:46 -03:00
Juan Pablo Ugarte
bd4e79d400 GladeGtkDialog: chain up post_create() method
GtkWindow adaptor handles use-csd property
2018-03-24 14:40:46 -03:00
Juan Pablo Ugarte
5028c39705 GladeGtkWindow: remove get_children() method 2018-03-24 14:40:23 -03:00
Piotr Drąg
eee138d1d4 GladeAdaptorChooser: add missing translation domain 2018-03-23 23:49:37 +01:00
Piotr Drąg
17a56aa4c4 Update Polish translation 2018-03-23 23:49:33 +01:00
Juan Pablo Ugarte
0ec41f3874 Fix build 2018-03-22 18:34:24 -03:00
Juan Pablo Ugarte
49103b5833 GladeGtkWidget: save accessible-role atk property
Fix memory leaks in glade_gtk_widget_write_atk_property() and glade_gtk_widget_write_atk_action()
Do not serialize atk object id if parent does not have one

Fix bug #794518 "Does not write the accessible-role accessibility property"
2018-03-22 18:14:38 -03:00
Fran Dieguez
b85d9c6388 Update Galician translation 2018-03-21 08:48:39 +00:00
Juan Pablo Ugarte
728ebab0e1 GladeGtkWindow: fix regression in csd handling
Fixes bug #794492 "Glade always re-enables the client-side-decoration option"
2018-03-19 20:46:59 -03:00
Aurimas Černius
2d38f33654 Updated Lithuanian translation 2018-03-19 22:57:37 +02:00
Mario Blättermann
f84a52f983 Update German translation 2018-03-19 03:12:14 +00:00
Rafael Fontenelle
bb211dfdeb Update Brazilian Portuguese translation 2018-03-18 22:29:20 +00:00
Sebastian Rasmussen
ebce3d60b4 Update Swedish translation 2018-03-18 20:24:32 +00:00
Anders Jonsson
b9174cc94c Update Swedish help image 2018-03-18 21:20:27 +01:00
Balázs Meskó
aeea294210 Update Hungarian translation 2018-03-18 18:39:34 +00:00
Sebastian Rasmussen
31040be36b Update Swedish translation 2018-03-18 17:20:05 +00:00
Milo Casagrande
5a671860cb Update Italian translation 2018-03-18 14:34:35 +00:00
Piotr Drąg
aa2e87822a Update Polish translation 2018-03-18 01:34:34 +01:00
Piotr Drąg
1881a65bde Update POTFILES.in 2018-03-18 01:09:55 +01:00
Milo Casagrande
73e486ecc2 Update Italian translation 2018-03-17 14:52:08 +00:00
Kukuh Syafaat
d55c1e6608 Update Indonesian translation 2018-03-15 14:12:23 +00:00
Balázs Meskó
a2f04a8719 Update Hungarian translation 2018-03-15 09:04:24 +00:00
Rafael Fontenelle
5ec4d70853 Update Brazilian Portuguese translation 2018-03-14 12:49:27 +00:00
Florian Heiser
4657ca6941 Update German translation 2018-03-14 06:47:12 +00:00
Muhammet Kara
10b9747405 Update Turkish translation 2018-03-13 18:10:01 +00:00
Guillaume Bernard
4df71d9fe2 Update French translation 2018-03-13 09:32:11 +00:00
Balázs Meskó
a916ba9e72 Update Hungarian translation 2018-03-13 05:32:41 +00:00
Fran Dieguez
687bb0738a Update Galician translation 2018-03-12 23:10:10 +00:00
Anders Jonsson
6af5829893 Update Swedish translation 2018-03-12 22:57:27 +00:00
Aurimas Černius
f381f144d3 Updated Lithuanian translation 2018-03-12 23:04:41 +02:00
Marek Černocký
f700c1f4c7 Updated Czech translation 2018-03-12 20:12:59 +01:00
Juan Pablo Ugarte
208e466220 Rolling 3.22 2018-03-12 16:01:07 -03:00
Piotr Drąg
968fc43dcd Update Polish translation 2018-03-12 19:52:16 +01:00
Juan Pablo Ugarte
773e841985 GladeWindow: hide intro button after its finished. 2018-03-12 15:27:08 -03:00
Anders Jonsson
40b8df765e Update Swedish translation 2018-03-11 20:11:43 +00:00
Alexandre Franke
7ef2bf8835 Update French translation 2018-03-11 13:20:04 +00:00
Rūdolfs Mazurs
d3f53d3485 Update Latvian translation 2018-03-10 11:05:20 +02:00
albfan
7f8140652b Gtk+ plugin: get back GtkIconView widget
Recover widget lost in split for control and display menus

Fix bug #794141 - Gtk.IconView disappeared from glade
2018-03-08 19:04:07 -03:00
Çağatay Yiğit Şahin
0298a2009e Update Turkish translation 2018-03-08 12:42:50 +00:00
Milo Casagrande
19a31df0d2 Update Italian translation 2018-03-08 08:45:54 +00:00
Juan Pablo Ugarte
6d39793948 GladeActionBarEditor: remove bogus warning 2018-03-06 19:56:25 -03:00
Juan Pablo Ugarte
85a47fc088 Fix glade_util_container_get_all_children()
gtk_container_forall() no longer returns all children for all classes

For example in GtkActionBar forall() only returns the internal revealer child
and foreach() returns all the widgets added by the user which are inside a
box which parent its the internal revealer

So in order to get all the children we need to call forall() and foreach() and remove duplicates

This fixes bug #778537 "ActionBar need placeholder"
2018-03-06 19:56:25 -03:00
Rafael Fontenelle
9888e98ae7 Update Brazilian Portuguese translation 2018-03-05 14:28:30 +00:00
Marek Černocký
68a009b2ea Removed useless tag "translatable" 2018-03-04 08:30:03 +01:00
Marek Černocký
8be0fe47b2 Updated Czech translation 2018-03-04 08:27:29 +01:00
Marek Černocký
8040387efb Updated Czech translation 2018-03-04 08:26:45 +01:00
Juan Pablo Ugarte
fa16f1bf41 GladeWindow: replace tabs with spaces 2018-03-03 22:10:45 -03:00
Juan Pablo Ugarte
da10140dd7 GladeWindow: set label on toolbar actions 2018-03-03 22:04:30 -03:00
Ask Hjorth Larsen
24b0229363 Updated Danish translation 2018-03-03 19:05:10 +01:00
Baurzhan Muftakhidinov
cb3f68dc3a Update Kazakh translation 2018-03-03 15:41:21 +00:00
Aurimas Černius
6762477540 Updated Lithuanian translation 2018-03-03 13:44:01 +02:00
Sebastian Stang
7b91d0f444 Add GDK_SUPER_MASK accelerator handling 2018-03-01 20:04:38 -03:00
Kukuh Syafaat
5c2d492529 Update Indonesian translation 2018-03-01 09:45:56 +00:00
Juan Pablo Ugarte
f373288352 Gtk+ plugin: fix GtkPopover support
Improve support without creating a subclass, still need to
find a way to override map/unmap warnings

Fix bug #793757 "Gtk-CRITICAL **: _gtk_window_add_popover: assertion '_gtk_widget_get_parent (popover) == NULL' failed"
2018-02-28 21:42:10 -03:00
Juan Pablo Ugarte
667f255a53 Revert "GladeWidgetAdaptor: fix glade_widget_adaptor_get_parent_adaptor()"
This reverts commit b9763bfada7c9ecc2532563a97c387f8c20962b5.

Revert "GtkPopover: rework support code to fix bugs and warnings"

This reverts commit d2bedbab24c64198b373345e973d00e1f9fdc33c.
2018-02-28 21:23:16 -03:00
Juan Pablo Ugarte
ebd3634c85 Gtk+ plugin: fix GtkStack replace child function
Fi bug 793652 "Crash when deleting a list"
2018-02-28 21:18:05 -03:00
Juan Pablo Ugarte
b9763bfada GladeWidgetAdaptor: fix glade_widget_adaptor_get_parent_adaptor()
Use adaptor real_type instead of runtime type which could be a derived type

glade_widget_adaptor_from_catalog() Add check for get-type-function return value
2018-02-26 17:44:56 -03:00
Changwoo Ryu
bc218dce4c Update Korean translation 2018-02-25 14:50:11 +00:00
Juan Pablo Ugarte
d2bedbab24 GtkPopover: rework support code to fix bugs and warnings
Use a derived class with overrided methods for the runtime

Fix bug #793757 "Gtk-CRITICAL **: _gtk_window_add_popover: assertion '_gtk_widget_get_parent (popover) == NULL' failed"
2018-02-24 21:54:06 -03:00
Juan Pablo Ugarte
7eb1012bb2 GladeEditorPropertyTextClass: use relative paths for resources
From now one Glade will use relative paths for filename properties
like image resources.
2018-02-24 12:11:24 -03:00
Juan Pablo Ugarte
e221282d53 GladeProject: always treat resource properties as relative 2018-02-24 12:11:24 -03:00
Juan Pablo Ugarte
188bc4f84f Add _glade_util_file_get_relative_path() to the private zoo. 2018-02-24 12:11:23 -03:00
Juan Pablo Ugarte
195fe47255 GladePropertyClass: fix missing images data loss
Make make_object_from_string() always return a different pixbuf for
image properties to avoid loosing data by returning a copy
of gtk_icon_theme_load_icon()

Dix bug #772485 "File Name property of GtkImage is copied to all other GtkImage"
2018-02-24 12:11:23 -03:00
Balázs Úr
c1496e8d61 Update Hungarian translation 2018-02-23 22:56:18 +00:00
Piotr Drąg
005514f3d1 Fix Spanish translation header 2018-02-23 23:22:05 +01:00
Mario Blättermann
40a7ffd1ad Update German translation 2018-02-23 21:13:13 +00:00
Милош Поповић
c56b5ee60d Update Serbian Latin translation 2018-02-23 14:44:25 +00:00
Марко Костић
b71206ab5e Update Serbian translation 2018-02-23 14:43:43 +00:00
Fran Dieguez
03131b5d6b Update Galician translation 2018-02-23 00:18:07 +00:00
Daniel Mustieles
41bd7b0dca Updated Spanish translation 2018-02-21 17:53:25 +01:00
Tim Sabsch
f70d4f9dce Update German translation 2018-02-19 15:50:04 +00:00
Juan Pablo Ugarte
088d8af6dd plugins/gtk+/glade-gtk-action-widgets.c glade-gtk-cell-layout.c: fix identation. 2018-02-17 14:00:56 -03:00
Juan Pablo Ugarte
f440cdde2d Fix bug in action widgets response-id parsing on 32bits system 2018-02-17 14:00:56 -03:00
Juan Pablo Ugarte
ade6076ff6 Fix bug in GtkCellRenderer attributes parsing on 32bits systems
Fixes bug 793036 "GtkCellRenderer Properties not loaded from glade file"
Thanks to Peter Onion for finding and fixing it.
2018-02-17 14:00:06 -03:00
Rafael Fontenelle
2888b1e523 Update Brazilian Portuguese translation 2018-02-16 17:44:20 +00:00
Piotr Drąg
96fb1249d4 Update Polish translation 2018-02-16 18:39:53 +01:00
Rafael Fontenelle
c427b20c74 glade-window.c: Fix typo 2018-02-16 15:31:19 -02:00
Fran Dieguez
80caca13e0 Update Galician translation 2018-02-16 15:46:18 +00:00
Fabio Tomat
1494675e60 Update Friulian translation 2018-02-16 12:00:32 +00:00
Piotr Drąg
859e8b494c Update Polish translation 2018-02-10 21:01:15 +01:00
Daniel Mustieles
33a57a4082 Update Spanish translation 2018-02-06 12:08:20 +00:00
Aurimas Černius
3e2ee0f5ae Updated Lithuanian translation 2018-02-04 15:43:08 +02:00
Kukuh Syafaat
b003f4445e Update Indonesian translation 2018-02-01 17:57:32 +00:00
Juan Pablo Ugarte
316a00e184 Gtk Catalog: add back GtkStackSidebar 2018-01-30 15:19:35 -03:00
Juan Pablo Ugarte
0fd439fb6a GladeDesignView: set selected layout state
Update layout state in order to change border color with css
2018-01-30 15:19:35 -03:00
Balázs Úr
04f919c341 Update Hungarian translation 2018-01-27 08:50:02 +00:00
Balázs Úr
0258bb3df9 Update Hungarian translation 2018-01-26 20:10:32 +00:00
Tim Sabsch
ac7c277fb5 Update German translation 2018-01-22 08:27:58 +00:00
Juan Pablo Ugarte
22749bc1ff GladeAdaptorChooserWidget: enable Drag & Drop
NOTE: Gtk bug #771986 needs to be fixed for this to work
2018-01-20 18:59:01 -03:00
Piotr Drąg
87bd20b97e Fix some typos in new strings 2018-01-08 16:09:47 +01:00
Daniel Mustieles
54aadd7d1b Update Spanish translation 2018-01-08 14:31:24 +00:00
Juan Pablo Ugarte
608619e2c8 GladeAdaptorChooserWidget: activate treeview with single click 2018-01-06 19:28:53 -03:00
Daniel P. Berrange
d33a056bfa Add highlighting of deprecated property & class names
Use bold text to highlight the deprecated property & class names
to make the deprecation messages easier to scan over.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2018-01-04 20:56:10 -03:00
Daniel P. Berrange
dd0360822e Fix formatting / layout of project verification details
Two of the common deprecation messages are missing a newline,
causing the message display to be 1000's of pixels wide
The scrolled window displaying the messages is also not set
to expand as the window grows, leaving only three lines of
text visible by default. These bugs make the verification
message display almost unusable.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2018-01-04 20:56:06 -03:00
Tim Sabsch
f341a1f579 Update German translation 2018-01-01 15:47:55 +00:00
Juan Pablo Ugarte
1cfda057e1 Gtk plugin: glade_base_editor_new() do not use main_editable param 2017-12-31 14:51:21 -03:00
Juan Pablo Ugarte
76385f1799 GladebaseEditor: Implement it as a template class
Simplify UI by removing general tab and only keeping the hierarchy editor
2017-12-31 14:41:32 -03:00
Juan Pablo Ugarte
4c0e415eea GladeBaseEditor: use GSIZE_TO_POINTER to store a GType on a pointer
Fix bug 774994 "in treeview columns editor contextual menu does nothing"
2017-12-31 11:19:15 -03:00
553 changed files with 188039 additions and 163353 deletions

54
.gitignore vendored
View File

@ -1,53 +1 @@
*.o _build
*.a
*.lo
*.la
*.stamp
*.bak
*.tmp
.tm*
~*
*~
*.gir
*.typelib
*.pc
.libs
.deps
ABOUT-NLS
Makefile
Makefile.in
/configure.lineno
/aclocal.m4
/autom4te.cache
/config.*
/configure
/depcomp
/stamp*
/compile
/*.tar.gz
/junk
/install-sh
/intltool-*
/libtool
/ltmain.sh
/missing
/mkinstalldirs
/gtk-doc.make
/gnome-doc-utils.make
/doc/gladeui-overrides.txt
/gladeui/gladeui-enum-types.c
/gladeui/gladeui-enum-types.h
/gladeui/gladeui-resources.c
/gladeui/gladeui-resources.h
/plugins/gtk+/glade-gtk-resources.c
/plugins/gtk+/glade-gtk-resources.h
/tests/add-child
/tests/create-widgets

15
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,15 @@
include: 'https://gitlab.gnome.org/GNOME/citemplates/raw/master/flatpak/flatpak_ci_initiative.yml'
flatpak:
extends: '.flatpak'
variables:
MANIFEST_PATH: "org.gnome.Glade.json"
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
FLATPAK_MODULE: "glade"
APP_ID: "org.gnome.Glade"
BUNDLE: "glade-git.flatpak"
nightly:
extends: '.publish_nightly'
dependencies: ['flatpak']
needs: ['flatpak']

14
AUTHORS
View File

@ -1,7 +1,9 @@
Chema Celorio <chema@ximian.com> Chema Celorio <chema@ximian.com>
Joaquin Cuenca Abela <e98cuenc@yahoo.com>
Thanks to : Paolo Borelli <pborelli@katamail.com>
Michal Palczewski <mpalczew@u.washington.edu> - Widget tree window Archit Baweja <bighead@users.sourceforge.net>
Archit Baweja <bighead@users.sourceforge.net> - New widgets, _get_type Shane Butler <shane_b@operamail.com>
Shane Butler <shane_b@operamail.com> - Glade Widget signals editor Tristan Van Berkom <tvb@gnome.org>
Tristan Van Berkom <tvb@gnome.org> - Non widget support. Ivan Wong <email@ivanwong.info>
Juan Pablo Ugarte <juanpablougarte@gmail.com>
Vincent Geddes <vincent.geddes@gmail.com>

0
BUGS
View File

View File

@ -1,61 +1,61 @@
Glade official git repository is hosted by the GNOME foundation at Glade official git repository is hosted by the GNOME foundation at
git.gnome.org gitlab.gnome.org
The GNOME contributing guidelines recomend patches to be forwarded Maintainer
to GNOME's Bugzilla instance hosted at https://bugzilla.gnome.org, ============
as such please do not open Pull Requests (PRs) in others git mirrors Glade is looking for a new maintainer, if you are interested please contact us
since there is a good chance they will not get noticed. on gitlab.
Mailing List GitLab
~~~~~~~~~~~~ ========
Glade discussion takes place on glade-devel@lists.ximian.com
To subscribe or to consult archives visit
http://lists.ximian.com/mailman/listinfo/glade-devel
Bugzilla
~~~~~~~~
Glade bugs are tracked at Glade bugs are tracked at
http://bugzilla.gnome.org/enter_bug.cgi?product=glade https://gitlab.gnome.org/GNOME/glade
GIT GIT
~~~ ===
You can browse the source code at https://git.gnome.org/browse/glade You can browse the source code at https://gitlab.gnome.org/GNOME/glade
To check out a copy of Glade you can use the following command: To check out a copy of Glade you can use the following command:
git clone git://git.gnome.org/glade git clone https://gitlab.gnome.org/GNOME/glade.git
Patches Patches
~~~~~~~ =======
Patches must be in the unified format (diff -u) and must include a Patches must be in the unified format (diff -u) and must include a
ChangeLog entry. Please send all patches to bugzilla. ChangeLog entry. Please send all patches to bugzilla.
It is better to use git format-patch command It is better to use git format-patch command
```
git format-patch HEAD^ git format-patch HEAD^
```
Coding Style Coding Style
~~~~~~~~~~~~ ============
Code in Glade should follow the GNOME Programming Guidelines Code in Glade should follow the GNU style of GNOME Programming Guidelines
(http://developer.gnome.org/doc/guides/programming-guidelines/), (https://developer.gnome.org/programming-guidelines/stable/c-coding-style.html.en),
basically this means being consistent with the sorrounding code. basically this means being consistent with the surrounding code.
The only exception is that we prefer having braces always on a new line The only exception is that we prefer having braces always on a new line
e.g.: e.g.:
```
if (...) if (...)
{ {
... ...
} }
```
Note however that a lot of the current codebase still uses the following Note however that a lot of the current codebase still uses the following
style: style:
```
if (...) { if (...) {
... ...
} }
```
Over time we'll migrate to the preferred form. Over time we'll migrate to the preferred form.
@ -63,11 +63,11 @@ Naming conventions:
- function names should be lowercase and prefixed with the - function names should be lowercase and prefixed with the
file name (or, if the function is static and the name too long, file name (or, if the function is static and the name too long,
with an abbreviation), e.g: with an abbreviation), e.g:
glade_project_window_my_function () `glade_project_window_my_function ()`
gpw_my_loooooooooong_named_fuction () `gpw_my_loooooooooong_named_fuction ()`
- variable names should be lowercase and be short but self explanatory; - variable names should be lowercase and be short but self explanatory;
if you need more than one word use an underscore, e.g: if you need more than one word use an underscore, e.g:
my_variable `my_variable`
Also try to order your functions so that prototypes are not needed. Also try to order your functions so that prototypes are not needed.

View File

@ -1,12 +1,12 @@
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
Version 2, June 1991 Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
Preamble Preamble
The licenses for most software are designed to take away your The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public freedom to share and change it. By contrast, the GNU General Public
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to the GNU Lesser General Public License instead.) You can apply it to
your programs, too. your programs, too.
When we speak of free software, we are referring to freedom, not When we speak of free software, we are referring to freedom, not
@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and The precise terms and conditions for copying, distribution and
modification follow. modification follow.
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains 0. This License applies to any program or other work which contains
@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
License. (Exception: if the Program itself is interactive but License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on does not normally print such an announcement, your work based on
the Program is not required to print an announcement.) the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program, identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in and can be reasonably considered independent and separate works in
@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not distribution of the source code, even though third parties are not
compelled to copy the source along with the object code. compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program 4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is otherwise to copy, modify, sublicense or distribute the Program is
@ -225,7 +225,7 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License. be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in 8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License original copyright holder who places the Program under this License
@ -255,7 +255,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally. of promoting the sharing and reuse of software generally.
NO WARRANTY NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
@ -277,4 +277,4 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES. POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS

View File

@ -1,15 +1,15 @@
GNU LIBRARY GENERAL PUBLIC LICENSE GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991 Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc. Copyright (C) 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is [This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.] numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble Preamble
The licenses for most software are designed to take away your The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public freedom to share and change it. By contrast, the GNU General Public
@ -99,7 +99,7 @@ works together with the library.
Note that it is possible for a library to be covered by the ordinary Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one. General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which 0. This License Agreement applies to any software library which
@ -411,7 +411,7 @@ decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing of all derivatives of our free software and of promoting the sharing
and reuse of software generally. and reuse of software generally.
NO WARRANTY NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
@ -434,4 +434,4 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES. DAMAGES.
END OF TERMS AND CONDITIONS END OF TERMS AND CONDITIONS

View File

@ -1 +0,0 @@
CONTRIBUTING.md

236
INSTALL
View File

@ -1,236 +0,0 @@
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
Software Foundation, Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. (Caching is
disabled by default to prevent problems with accidental use of stale
cache files.)
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You only need
`configure.ac' if you want to change it or regenerate `configure' using
a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes awhile. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that the
`configure' script does not know about. Run `./configure --help' for
details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not support the `VPATH'
variable, you have to compile the package for one architecture at a
time in the source code directory. After you have installed the
package for one architecture, use `make distclean' before reconfiguring
for another architecture.
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' cannot figure out automatically,
but needs to determine by the type of machine the package will run on.
Usually, assuming the package is built to be run on the _same_
architectures, `configure' can figure that out, but if it prints a
message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share, you
can create a site shell script called `config.site' that gives default
values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script). Here is a another example:
/bin/bash ./configure CONFIG_SHELL=/bin/bash
Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
configuration-related scripts to be executed by `/bin/bash'.
`configure' Invocation
======================
`configure' recognizes the following options to control how it operates.
`--help'
`-h'
Print a summary of the options to `configure', and exit.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.

View File

@ -1,22 +1,22 @@
Glade3 internals Glade internals
~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
about this document about this document
=================== ===================
This is a short description of the designs goals and of the This is a short description of the designs goals and of the
implementation choices of Glade3. It isn't complete, but implementation choices of Glade. It isn't complete, but
I hope that it may be useful. I hope that it may be useful.
* Note: not only I'm not the original author/designer of * Note: not only I'm not the original author/designer of
glade3, but also I have not touched glade3 for many months. glade, but also I have not touched glade for many months.
The only reason why I'm writing this doc is that glade3 development The only reason why I'm writing this doc is that glade development
has been stagnating for a long time... now it seems that there are some has been stagnating for a long time... now it seems that there are some
developers interested in resuming work on it, so I thought that it was developers interested in resuming work on it, so I thought that it was
right to put down some notes on what I remember to ease their way right to put down some notes on what I remember to ease their way
through the glade3 codebase. through the glade codebase.
Everyone who spots errors and inaccuracies in this doc, or who wants to Everyone who spots errors and inaccuracies in this doc, or who wants to
add informations to it, should feel free to improve it! add informations to it, should feel free to improve it!
@ -35,8 +35,8 @@ the description of a Gtk+ GUI to an xml file.
* glade is a tool to create and edit the desired interface in an easy * glade is a tool to create and edit the desired interface in an easy
way and then automatically serialize it to the xml file. way and then automatically serialize it to the xml file.
Glade3 is a complete rewrite of the original glade and takes advantage Glade is a complete rewrite of the original glade and takes advantage
of the introspection properties of the GTK+2 toolkit. of the introspection properties of the GTK toolkit.

View File

@ -5,3 +5,7 @@ Userid: tvb
Juan Pablo Ugarte Juan Pablo Ugarte
E-mail: juanpablougarte@gmail.com E-mail: juanpablougarte@gmail.com
Userid: jpu Userid: jpu
Alberto Fanjul
E-mail: albfan@gnome.org
Userid: albfan

View File

@ -1,35 +0,0 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = po data gladeui src plugins tests doc help
if BUILD_MAN_PAGES
SUBDIRS += man
endif
DIST_SUBDIRS = po data gladeui src plugins tests doc help man
EXTRA_DIST = \
autogen.sh \
COPYING.GPL \
COPYING.LGPL \
intltool-extract.in \
intltool-merge.in \
intltool-update.in
DISTCLEANFILES = intltool-extract \
intltool-merge \
intltool-update
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-introspection --enable-man-pages
dist-hook:
@if test -d "$(srcdir)/.git"; \
then \
echo Creating ChangeLog && \
( cd "$(top_srcdir)" && \
echo '# Generated by Makefile. Do not edit.'; echo; \
$(top_srcdir)/missing --run git log --stat ) > ChangeLog.tmp \
&& mv -f ChangeLog.tmp $(distdir)/ChangeLog \
|| ( rm -f ChangeLog.tmp ; \
echo Failed to generate ChangeLog >&2 ); \
else \
echo A git clone is required to generate a ChangeLog >&2; \
fi

267
NEWS
View File

@ -1,3 +1,269 @@
============
Glade 3.40.0
============
- Remove survey
- Add user manual menu item (Sabri Ünal)
- 'Clear' action in "Setup Text Attributes" dialog now clears only selected attributes (crvi)
- Fix issue #502 sync draw-indicator on setting xalign (Caolán McNamara)
- Fix issue #499 and #509 "Drop overzealous check using only the first child"
- Fix Segfault in gnome-builder when widget doesn't have a name (Peter Maatman)
- Fix issue #373 "Move separator in hamburger menu one up, to be consistent with other GNOME applications"
- Fix build against Python 3.9
- Fix issue #484 "Crash with GtkRecentChooserDialog"
- Fix issue #194 "Using List Store can result in program crash."
- Fix issue #53 "Can't choose a FileChooserDialog for a FileChooserButton"
- Fix issue #98 #491
- Fix issue #355 "Make notification text selectable"
- Fix windows build on msys
- Fix issue #360 "No examples in documentation on using custom catalogues with gtkBuilder"
- Fix issue #406 "AtkObject::accessible-role should not be translatable"
- Fix issue #479 "Glade 3.36.0 segfaults when opening a file"
- Fix issue #471 "XML not updated after adding element"
- Fix issue #474 "GtkLabel: setup text attribute issues"
- Fix issue #480 "version field not always updated in XML"
- Fix issue pasing widget with ctrl+v in GtkGrid
- Fix issue #470 "Widgets of type need placeholders to add children"
- Fix issue #472 "gnome-nightly: About dialog should display git commit rev"
============
Glade 3.38.0
============
- Load template files as new GTypes and add them to "User templates" widget group automatically without the need of a catalog
- Added JavaScript widget support
- Use version data from gir to improve deprecation/target tests
- Implement survey using new backend at surveys.gnome.org
- Keep survey state in config file
- Associate with application/x-gtk-builder (Caolán McNamara)
- Project properties dialog improvements. (Use headerbar, stack and stach switcher, add warnings textview)
- Improve toolkit target version selection in project properties dialog
- Improve treemodel char data type handling
- Remove autotools (Iñigo Martínez)
- New gjs-1.0 1.64 dependency
- Bump Gtk dependency to 3.24
- Bump webkit2gtk dependency to 2.28
- Fixed all compiler/gir warnings
- Issue #385: GtkCellRendererText causes deprecated warnings for ghost properties
- Issue #444: show-emoji-icon is missing "minimum version"/since constraint
- Issue #367: Glade removes double/triple slashes from URLs
- Issue #452: GtkComboBox cell renderers editor is too hard to discover
- Issue #363: Toplevel windows are leaked when closing a project
- Issue #462: Crash when creating a new GtkAssistant and pressing it
- Issue #463: Specify file on command line
- Issue #461: Glade resets number of rows and columns in GtkGrid
- Issue #460: 3.37.0: test suite fails because glade uses incorrectly asserts in test units
- Issue #412: Fix inconsistent "top-level", "top level", "toplevel" spelling in translatable strings
- Issue #281: GladeProperty: Do not replace - with _
- Issue #389: GladeProject: show message on invalid GtkBuilder file
- Issue #446: GladeGtkListBox: fix size request issue
- Issue #432: GladeStandarStock, GladeStandarStockImage: fix get_type() functions for introspection
- Issue #447: GladeGtkWindow: Fix CSD support
- Issue #456: Utils: use g_param_spec_uchar() for uchar types
- Issue #459: Gtk catalog: add GtkRecentChooserMenu to Display group
- Issue #433: Implement survey using new backend at surveys.gnome.org
- Build: use gtk-mac-integration only when creating bundle (Tom Schoonjans)
- Ignore locale when saving numeric values (Alberto Fanjul)
- Remove config for external builds (Alberto Fanjul)
- Python plugin: fix linking error
- Tests: add python and javascript test case
- gtk: Add GtkScrolledWindow propagate-natural-width property (Corentin Noël)
- GladeScrolledWindowEditor: Squeeze width/height properties in two columns
- Gtk plugin: add missing displayable values
- Webkit2gtk plugin: add missing displayable values and sandbox web view
- dtd: Make init-function an element, not an attribute (Adrien Plazas)
Added/updated translations
- ca, courtesy of Gil Forcada
- ca, courtesy of Miquel-Àngel Burgos i Fradeja
- cs, courtesy of Marek Černocký
- da, courtesy of Ask Hjorth Larsen
- da, courtesy of Last-Translator: scootergrisen
- de, courtesy of Tim Sabsch
- en_GB, courtesy of Bruce Cowan
- es, courtesy of Daniel Mustieles
- eu, courtesy of Asier Sarasua Garmendia
- fr, courtesy of Thibault Martin
- gl, courtesy of Fran Dieguez
- hi, courtesy of Last-Translator:Sunny Sharma
- hu, courtesy of Balázs Úr
- id, courtesy of Kukuh Syafaat
- kk, courtesy of Baurzhan Muftakhidinov
- ko, courtesy of Changwoo Ryu
- lt, courtesy of Aurimas Černius
- pl, courtesy of Piotr Drąg
- pt_BR, courtesy of Rafael Fontenelle
- ro, courtesy of Florentina Mușat
- sl, courtesy of Matej Urbančič
- sv, courtesy of Anders Jonsson
- tr, courtesy of Emin Tufan Çetin
- uk, courtesy of Yuri Chornoivan
- zh_CN, courtesy of Mandy Wang
============
Glade 3.36.0
============
- widget: canonicalize support-warning property name
- tests: Include back GtkTreeViewColumn
- gtk+: properly cast to avoid warnings
- gtk+: workaround truncation warning by being safer
- gladeui: remove unused type_func variable
- gladeui: Ensure that we write the "type-func" property when a get-type-function is defined in the catalog
- Allow to specify placeholder to GtkListBox
- gtk+: Allow to use GtkResponseType with GtkDialog and GtkInfobar buttons
- gladeui: Change the boolean parsing logic to be the same as Gtk
- Appdata: update app-id
- Update FSF address
- gladeui: Modernize GladeSignalEditor codebase
- RDNN appdata & desktop file
- gtk+: Add homogeneous property to GtkStackSwitcher
- gladeui: Fix wrong pointer convertion in GladeDesignView
- gtk+: Provide Gtk 3.22 properties for GtkScrolledWindow
- gtk+: Add missing 3.22 enum/flag values
- gladeui: Modernize GladeWidgetAdaptor definition
- gtk+: Keep internationalization context in Atk properties
- gladeui: Plug tiny leak on Drag & Drop
- gladeui: Fix crash on drag-n-drop
- gladeui: fix several tiny memory leaks found with valgrind
- Make it easier to track GladeXML elements and be GObject Introspection friendly by registering boxed types
- gladeui: Replace the last occurences of GladeWidgetClass with GladeWidgetAdaptor in the comments
- gladeui: Use G_DECLARE_FINAL_TYPE for GladeObjectStub
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeNamedIconChooserDialog
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeInspector
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeEditorProperty
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeEditor
- gladeui: Use G_DECLARE_INTERFACE for GladeEditable
- gladeui: Use G_DECLARE_INTERFACE for GladeDrag
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeDesignView
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeDesignLayout
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeCommand
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeClipboard
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeCellRendererIcon
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeBaseEditor
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeApp
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeAdaptorChooserWidget
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeEditorSkeleton
- gladeui: Use G_DECLARE_DERIVABLE_TYPE for GladeEditorTable
- dnd: Enable Drag&Drop on wayland
- gladeui: remove implicit cast in assignment
- build: remove G_CONST_RETURN usage
- gladeui: ignore various GParameter deprecations
- Fix on debug traces after rename GladePropertyClass to GladePropertyDef
- meson: Activate enable-debug variables
- Prevent dragging an ancestor inside a child
- GladePopup: Clear add item when adding as toplevel
- GtkImage: Fix icon size being reset
- build: Fix OSX support in meson
- build: Do not use a system variable only for Windows
- Fix loading dylibs on OSX
- Set the "About Dialogue" as modal
- Fix split sentense in GladeProject
- Adding "Glade" to "About" section.
- Respect the Glade namespace for macros and defines
- Rename *Klass to *Class as there are no name collision anymore
- Fix two memory leaks discovered with valgrind
- GladeSignalDef: fix documentation for glade_signal_def_set_deprecated
- Rename GWActionClass to GladeWidgetActionDef to use the right namespace
- Rename GladePropertyClass to GladePropertyDef and declare it as boxed
- Rename GladeSignalClass to GladeSignalDef and declare it as boxed
- Create GladeSettings to hold the settings instead of using a Gtk widget for holding it
- Add GDK_VERSION_MIN_REQUIRED
- Utils: get the absolute path but avoid accessing it
- Fix several compiler warnings
- Replace some functions by Gtk 3.22 ones
- GladeSignalClass: rename glade_signal_class_get_type
- Allow to use GtkFileChooserNative
- GladeProperty: Keep the bind-source, bind-property and bind-flags elements
- Couple of fixes for memory leaks found with valgrind
- GtkLinkButton: allow to edit the label
- gladeui: Fix several memory leaks with GladeWidgetAdaptor
- gladeui: Fix leak of create_type in GladePropertyClass
- gladeui: fix memory leak in GWActionClass
- introspection: Add many annotations to sources
- No wide handles in `center_paned` and `left_paned`
- flatpak: Set meson as buildsystem
- build: Port to meson build system
- gtk+: Add deprecated flag to GtkButton and GtkImage stock properties
- doc: remove missing xml files
- doc: Modernize the documentation
- docs: Make some changes to fix warnings with the documentation
- Add metadata information about releases
- i18n: Do not use input file for not translated files
- Fix xgettext string extraction for catalogs
- snap: update for icon filename changes
- Add translator comments to the .desktop file
- gladeui-2.0.pc: Data paths relative to datadir
- icon: update app icon
- GladeProject: escape markup in parser errors
- Use autoreconf instead deprecated gnome-common
- Stop defaulting missing images to deprecated stock icons
- Migrate from intltool to gettext
- gladeui: Fix GIR package reference and add c-include
- dtd: Add several new elements
- Add initial implementation of Automatic Templates
- GladeIntro: fix regresion in find_widget_forall()
- GladeProject: add handler signals
- GladeEditor: expose signal editor widget as a property
- GladeIntro: use name and buildable name to find widgets
- GladeWindow: simplify pointer mode actions
- GladeWindow: move actions to GtkApplication
- GladeEPropAttrs: use sane adjustment values for size and scale attrs
- GtkActionable: add action-target property
- Fix tab/space identation
- GladeWidgetAdaptor: add glade_widget_adaptor_get_display_name()
- GladeWindow: port to GtkApplication
- Remove GladeInstantiable prefix from UI
- GladeGtkBin: add initial support for GtkBin abstract class
- GladeWidget: add support for abstract classes
- widget-editor: Replace margin right/left for end/start
- GladeModelButton: improve editor
- GladeEditorProperty, GladePropertyClass, GladeWidgetAdaptor:
- GladeModelButton: enable icon/iconic properties
- Gtk plugin: add support for GFileIcon
- Add initial support for GFile type properties
- Bump Gtk required version to 3.22
- GladeGtkBox: improve children sort function
- GladeGtkHeaderBar: Improve position packing property handling
- Add OARS tags
- Gtk catalog: mark GtkImageMenuItem as deprecated since 3.10
- GladeWidgetAdaptor: added deprecated-since metadata
- GladeImageItemEditor: use display name for commands names
- GladeCommand: ensure widget name on object properties
- GladeGtkAdjustment: add digits virtual property
- GladeEPropNumeric: bind precision property to spin button
- GladeProperty: add precision property
- GladePropertyClass: round floating point values to epsilon
- ui/widget: Make template ver# warning more useful
- GladeCommand: ignore special child types placeholders in add command. GladeGtkWindow: mark titlebar placeholder as special child type.
- Gtk Catalog: add back GtkStatusbar
- GladeGtkHeaderBar: mark title and subtitle as translatable
- GladeGtkDialog: chain up post_create() method
- GladeGtkWindow: remove get_children() method
- GladeAdaptorChooser: add missing translation domain
- GladeGtkWidget: save accessible-role atk property
- GladeGtkWindow: fix regression in csd handling
============
Glade 3.22.0
============
- Fix bug 774994 "in treeview columns editor contextual menu does nothing"
- Simplified GladeBaseEditor
- Fix formatting / layout of project verification details (Daniel P. Berrange)
- Widget chooser: activate treeview with single click and enable Drag & Drop
- Fix Design view selected state
- Fixes bug 793036 "GtkCellRenderer Properties not loaded from glade file" (peter Onion)
- Fix bug in action widgets response-id parsing on 32bits system
- Fix bug 772485 "File Name property of GtkImage is copied to all other GtkImage"
- GladeProject: always treat resource properties as relative
- Fix bug 793652 "Crash when deleting a list"
- Fix bug 793757 "Gtk-CRITICAL **: _gtk_window_add_popover: assertion '_gtk_widget_get_parent (popover) == NULL' failed"
- Add GDK_SUPER_MASK accelerator handling (Sebastian Stang)
- Fix bug #778537 "ActionBar need placeholder"
- Fix bug #794141 - Gtk.IconView disappeared from glade (Albfan)
============ ============
Glade 3.21.0 Glade 3.21.0
============ ============
@ -1617,3 +1883,4 @@ Translators:
o Zbigniew Chyla o Zbigniew Chyla
o Hasbullah Bin Pit o Hasbullah Bin Pit
o Takeshi AIHANA o Takeshi AIHANA

60
README
View File

@ -1,60 +0,0 @@
Glade
=====
A user interface designer for Gtk+ and GNOME
Web: http://glade.gnome.org
Mailing Lists: glade-users@ximian.com - For discussions about using
Glade to build applications.
glade-devel@ximian.com - For discussions about the
development of Glade itself.
General Information
~~~~~~~~~~~~~~~~~~~
Glade is a RAD tool to enable quick &amp; easy development of user interfaces
for the GTK+ 3 toolkit and the GNOME desktop environment.
The user interfaces designed in Glade are saved as XML and these can be loaded
by applications dynamically as needed by using GtkBuilder or used directly to
define a new GtkWidget derived object class using Gtk+ new template feature.
By using GtkBuilder, Glade XML files can be used in numerous programming
languages including C, C++, C#, Vala, Java, Perl, Python,and others.
About Glade
~~~~~~~~~~~
This version of Glade (Glade >= 3.10) targets GTK+ >= 3.0 and is parallel
installable with Glade 3.8.
If you need to work with Glade projects that target GTK+2, you need an
installation of Glade 3.8 (more information on http://blogs.gnome.org/tvb/2011/01/15/the-glade-dl/)
License
~~~~~~~
Glade is distributed under the GNU General Public License (GPL), as described
in the COPYING file.
Requirements
~~~~~~~~~~~~
o GTK+ 3.10.0 or above - http://www.gtk.org
You also need the glib, pango and atk libraries.
Make sure you have the devel packages as well, as these will contain the
header files which you will need to compile C applications.
o libxml 2.4.1 - used to parse the XML files. If you have GNOME 2 you
should already have this.
Installation
~~~~~~~~~~~~
See the file 'INSTALL'

122
README.md Normal file
View File

@ -0,0 +1,122 @@
# Glade
User interface designer for Gtk+ and GNOME
* Web - <https://glade.gnome.org>
* Git - <https://gitlab.gnome.org/GNOME/glade>
Mailing Lists:
Both users and devel mailing list have been archived, you can find the archives at
* https://mail.gnome.org/archives/glade-users-list/
* https://mail.gnome.org/archives/glade-devel-list/
## Development status
Glade is not being actively developed or maintained anymore.
If you are interested in becoming a maintainer please contact us on gitlab.
## General Information
Glade is a RAD tool to enable quick and easy development of user interfaces
for the GTK+ 3 toolkit and the GNOME desktop environment.
The user interfaces designed in Glade are saved as XML and these can be loaded
by applications dynamically as needed by using GtkBuilder or used directly to
define a new GtkWidget derived object class using Gtk+ new template feature.
By using GtkBuilder, Glade XML files can be used in numerous programming
languages including C, C++, C#, Vala, Java, Perl, Python, and others.
This version of Glade targets GTK 3
If you need to work with GTK 2, you can still use Glade 3.8
([more information](http://blogs.gnome.org/tvb/2011/01/15/the-glade-dl/))
## License
Glade is distributed under the
[GNU General Public License](https://www.gnu.org/licenses/gpl-2.0.en.html),
version 2 (GPL) and
[GNU Library General Public License](https://www.gnu.org/licenses/old-licenses/lgpl-2.0.en.html),
version 2 (LGPL) as described in the COPYING file.
## Manual instalation
Requirements
* C compiler like [gcc](https://gcc.gnu.org/)
* [Meson](http://mesonbuild.org) build system
* [GTK](http://www.gtk.org) 3.24.0 or above
* [libxml](http://xmlsoft.org/) 2.4.1 - used to parse XML files
* libgirepository1.0 - Build-time dependency
* xsltproc - for man pages generation
Optional dependencies:
* glib-networking plugins for TLS support (Needed for survey)
* libwebkit2gtk-4.0 - For Webkit plugin
* python-gi - For Python plugin
* libgjs - For JavaScript plugin
* gettext, itstool - For translation support
Download sources from git and build using meson/ninja
# Install dependencies, for example in debian
sudo apt install gcc meson libgtk-3-dev libxml2-dev libgirepository1.0-dev xsltproc gettext itstool
# Optional dependencies
sudo apt install libgjs-dev libwebkit2gtk-4.0-dev python-gi-dev glib-networking
# Clone the source repository or download tarball
git clone https://gitlab.gnome.org/GNOME/glade.git
# Create build directory and configure project
mkdir glade/build && cd glade/build
meson --prefix=~/.local
# Build and install
ninja
ninja install
To run it you might need to set up LD_LIBRARY_PATH depending on your
distribution defaults
LD_LIBRARY_PATH=~/.local/lib/x86_64-linux-gnu/ glade
## Linux
Debian
apt install glade
Fedora
yum install glade
Any distribution with Flatpak
flatpak install flathub org.gnome.Glade
[<img width='240' alt='Download on Flathub' src='https://flathub.org/assets/badges/flathub-badge-i-en.png'/>](https://flathub.org/apps/details/org.gnome.Glade)
## Windows
Available as a
[package](https://packages.msys2.org/package/mingw-w64-x86_64-glade) in
[MSYS2](https://www.msys2.org/)
pacman -S mingw-w64-x86_64-glade
## OSX
Available as a [package](https://formulae.brew.sh/formula/glade) in
[Brew](https://brew.sh/)
brew install glade

View File

@ -1,7 +0,0 @@
If you are a long time gnome committer and you have a minor patch
that you are sure is correct, then go ahead and commit.
For the other great majority of the time; please ask before commiting
at glade-devel@lists.ximian.com.
All commits must have a ChangeLog entry.

6
TODO
View File

@ -13,7 +13,6 @@ API/ABI break
GtkBuilder unsuported features: GtkBuilder unsuported features:
============================== ==============================
* No ID objects: GtkBuilder now support objects without an id.
* Property bindings * Property bindings
Unsupported object classes: Unsupported object classes:
@ -41,11 +40,6 @@ GTK+ 3.14
* type="action" children in GtkDialog * type="action" children in GtkDialog
GTK+ 3.16
* GtkGLArea
GTK+ 3.20 GTK+ 3.20
* GtkShortcutsWindow * GtkShortcutsWindow
* GtkFileChooserNative

View File

@ -1,22 +0,0 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
PKG_NAME="glade"
(test -f $srcdir/configure.ac \
&& test -f $srcdir/autogen.sh) || {
echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
echo " top-level $PKG_NAME directory"
exit 1
}
which gnome-autogen.sh || {
echo "You need to install gnome-common module and make"
echo "sure the gnome-autogen.sh script is in your \$PATH."
exit 1
}
. gnome-autogen.sh

View File

@ -1,66 +0,0 @@
#!/bin/sh
#
# Copyright (C) Tristan Van Berkom <tristan@upstairslabs.com>
#
# 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.1 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 program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# Authors:
# Tristan Van Berkom <tristan@upstairslabs.com>
#
# This is setup by PrepareAppDir.sh
INSTALL_PREFIX=@APP_DIR_ROOT@
# Base environment variables
LD_LIBRARY_PATH=${APPDIR}${INSTALL_PREFIX}/lib:${LD_LIBRARY_PATH}
PATH=${APPDIR}${INSTALL_PREFIX}/bin:${PATH}
XDG_DATA_DIRS=${APPDIR}${INSTALL_PREFIX}/share:${XDG_DATA_DIRS}
export LD_LIBRARY_PATH PATH XDG_DATA_DIRS
# D-Bus, silence fatal warnings, libdbus is in the mix but we don't need a D-Bus environment for Glade
DBUS_FATAL_WARNINGS=0
export DBUS_FATAL_WARNINGS
# Pango environment variables
PANGO_RC_FILE=${APPDIR}/pangorc
export PANGO_RC_FILE
# GTK+/GIO/GdkPixbuf environment variables
# http://askubuntu.com/questions/251712/how-can-i-install-a-gsettings-schema-without-root-privileges
GSETTINGS_SCHEMA_DIR=${APPDIR}${INSTALL_PREFIX}/share/glib-2.0/schemas/:${GSETTINGS_SCHEMA_DIR}
GDK_PIXBUF_MODULE_FILE=${APPDIR}${INSTALL_PREFIX}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache
GTK_PATH=${APPDIR}${INSTALL_PREFIX}/lib/gtk-3.0
GTK_DATA_PREFIX=${APPDIR}${INSTALL_PREFIX}
GTK_THEME=Adwaita
export GSETTINGS_SCHEMA_DIR GDK_PIXBUF_MODULE_FILE GTK_PATH GTK_DATA_PREFIX GTK_THEME
# Glade environment variables
GLADE_CATALOG_SEARCH_PATH=${APPDIR}${INSTALL_PREFIX}/share/glade/catalogs
GLADE_MODULE_SEARCH_PATH=${APPDIR}${INSTALL_PREFIX}/lib/glade/modules
GLADE_PIXMAP_DIR=${APPDIR}${INSTALL_PREFIX}/share/glade/pixmaps
GLADE_BUNDLED=1
export GLADE_CATALOG_SEARCH_PATH GLADE_MODULE_SEARCH_PATH GLADE_PIXMAP_DIR GLADE_BUNDLED
# Currently we change into the APPDIR directory, this only because of gdk-pixbuf
# and pango cache files which need to specify relative paths.
cd ${APPDIR}
if test -z ${APP_IMAGE_TEST}; then
# Invoke Glade with the arguments passed
${APPDIR}${INSTALL_PREFIX}/bin/glade $*
else
# Run a shell in test mode
bash;
fi

View File

@ -1,397 +0,0 @@
/*
* Copyright (C) 2011 Jan Niklas Hasse <jhasse@gmail.com>
* Copyright (C) 2013 Upstairs Laboratories 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.1 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 program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* Authors:
* Jan Niklas Hasse <jhasse@gmail.com>
* Tristan Van Berkom <tristan@upstairslabs.com>
*/
using GLib;
static const string DEFAULT_TARGET = "2.7";
static const string DEFAULT_TARGET_HELP = "Target glibc ABI (Default 2.7)";
/***************************************************************
* Debugging Facilities *
***************************************************************/
[Flags]
public enum DF {
COLLECT,
FILTER,
VERSION_PARSE,
VERSION_COMPARE,
DUMP_FILES
}
static const GLib.DebugKey[] libcwrap_debug_keys = {
{ "collect", DF.COLLECT },
{ "filter", DF.FILTER },
{ "version-parse", DF.VERSION_PARSE },
{ "version-compare", DF.VERSION_COMPARE },
{ "dump-files", DF.DUMP_FILES }
};
private uint libcwrap_debug_mask = 0;
public delegate void DebugFunc ();
public void libcwrap_note (int domain, DebugFunc debug_func)
{
if ((libcwrap_debug_mask & domain) != 0)
debug_func ();
}
/***************************************************************
* VersionNumber class *
***************************************************************/
class VersionNumber : Object
{
private int major { get; set; } // x.0.0
private int minor { get; set; } // 0.x.0
private int revision { get; set; } // 0.0.x
private string originalString;
public VersionNumber (string version) {
originalString = version;
try {
var regex = new Regex("([[:digit:]]*)\\.([[:digit:]]*)\\.*([[:digit:]]*)");
var split = regex.split(version);
assert (split.length > 1); // TODO: Don't use assert, print a nice error message instead
major = int.parse (split[1]);
if (split.length > 2)
minor = int.parse (split[2]);
else
minor = 0;
if (split.length > 3)
revision = int.parse (split[3]);
else
revision = 0;
} catch (GLib.RegexError e) {
stdout.printf ("Error compiling regular expression: %s", e.message);
Posix.exit (-1);
}
libcwrap_note (DF.VERSION_PARSE, () =>
stdout.printf ("Version string '%s' parsed as major: %d minor: %d rev: %d\n",
originalString, major, minor, revision));
}
public bool newerThan(VersionNumber other) {
bool newerThanOther = false;
if (major > other.major) {
newerThanOther = true;
} else if (major == other.major) {
if (minor > other.minor) {
newerThanOther = true;
} else if (minor == other.minor) {
if(revision > other.revision) {
newerThanOther = true;
}
}
}
libcwrap_note (DF.VERSION_COMPARE, () =>
stdout.printf ("Version '%s' is %s than version '%s'\n",
originalString,
newerThanOther ? "newer" : "older",
other.getString()));
return newerThanOther;
}
public string getString() {
return originalString;
}
}
/***************************************************************
* Main *
***************************************************************/
public class Main : Object {
/* Command line options */
private static string? libdir = null;
private static string? output = null;
private static string? target = null;
private const GLib.OptionEntry[] options = {
{ "libdir", 'l', 0, OptionArg.FILENAME, ref libdir, "Library directory", "<DIRECTORY>" },
{ "output", 'o', 0, OptionArg.STRING, ref output, "Header to create", "<FILENAME>" },
{ "target", 't', 0, OptionArg.STRING, ref target, DEFAULT_TARGET_HELP, "<MAJOR.MINOR[.MICRO]>" },
{ null }
};
/* Local variables */
private static VersionNumber minimumVersion;
private static Gee.HashMap<string, VersionNumber>symbolMap;
private static Gee.HashSet<string>filterMap;
public static int main (string[] args) {
/* Initialize debugging */
string libcwrap_debug_env = GLib.Environment.get_variable ("LIBCWRAP_DEBUG");
libcwrap_debug_mask = GLib.parse_debug_string (libcwrap_debug_env, libcwrap_debug_keys);
/* Initialize the default here */
target = DEFAULT_TARGET;
try {
var opt_context = new OptionContext ("- Libc compatibility header generator");
opt_context.set_help_enabled (true);
opt_context.add_main_entries (options, null);
opt_context.parse (ref args);
} catch (OptionError e) {
stdout.printf ("error: %s\n", e.message);
stdout.printf ("Run '%s --help' for a list of available command line options.\n", args[0]);
return 0;
}
if (libdir == null) {
stdout.printf ("Must specify --libdir\n");
stdout.printf ("Run '%s --help' for a list of available command line options.\n", args[0]);
return 0;
}
if (output == null) {
stdout.printf ("Must specify --output\n");
stdout.printf ("Run '%s --help' for a list of available command line options.\n", args[0]);
return 0;
}
/* Initialize local resources */
minimumVersion = new VersionNumber (target);
/* All symbols, containing the newest possible version before 'minimumVersion' if possible */
symbolMap = new Gee.HashMap<string, VersionNumber>((Gee.HashDataFunc<string>)GLib.str_hash,
(Gee.EqualDataFunc<string>)GLib.str_equal);
/* All symbols which did not have any version > minimumVersion */
filterMap = new Gee.HashSet<string>((Gee.HashDataFunc<string>)GLib.str_hash,
(Gee.EqualDataFunc<string>)GLib.str_equal);
try {
stdout.printf ("Generating %s (glibc %s) from libs at '%s' .", output, minimumVersion.getString(), libdir);
parseLibraries ();
generateHeader ();
} catch (Error e) {
warning("%s", e.message);
return 1;
}
stdout.printf(" OK\n");
return 0;
}
private static void parseLibrary (Regex regex, FileInfo fileinfo) throws Error {
string commandToUse = "objdump -T";
string output, errorOutput;
int returnCode;
/* For testing on objdump files which might be collected on other systems,
* run the generator with --libdir /path/to/objdump/files/
*/
if ((libcwrap_debug_mask & DF.DUMP_FILES) != 0)
commandToUse = "cat";
Process.spawn_command_line_sync (commandToUse + " " + libdir + "/" + fileinfo.get_name(),
out output, out errorOutput, out returnCode);
if (returnCode != 0)
return;
foreach (var line in output.split ("\n")) {
if (regex.match (line) && !("PRIVATE" in line)) {
var version = new VersionNumber (regex.split (line)[3]);
var symbolName = regex.split (line)[7];
var versionInMap = symbolMap.get (symbolName);
/* Some versioning symbols exist in the objdump output, let's skip those */
if (symbolName.has_prefix ("GLIBC"))
continue;
libcwrap_note (DF.COLLECT, () =>
stdout.printf ("Selected symbol '%s' version '%s' from objdump line %s\n",
symbolName, version.getString(), line));
if (versionInMap == null) {
symbolMap.set (symbolName, version);
/* First occurance of the symbol, if it's older
* than the minimum required, put it in that table also
*/
if (minimumVersion.newerThan (version)) {
filterMap.add (symbolName);
libcwrap_note (DF.FILTER, () =>
stdout.printf ("Adding symbol '%s %s' to the filter\n",
symbolName, version.getString()));
}
} else {
/* We want the newest possible version of a symbol which is older than the
* minimum glibc version specified (or the only version of the symbol if
* it's newer than the minimum version)
*/
/* This symbol is <= minimumVersion
*/
if (!version.newerThan (minimumVersion)) {
/* What we have in the map is > minimumVersion, so we need this version */
if (versionInMap.newerThan (minimumVersion))
symbolMap.set (symbolName, version);
/* What we have in the map is already <= minimumVersion, but we want
* the most recent acceptable symbol
*/
else if (version.newerThan (versionInMap))
symbolMap.set (symbolName, version);
} else { /* This symbol is > minimumVersion */
/* If there are only versions > minimumVersion, then we want
* the lowest possible version, this is because we try to provide
* information in the linker warning about what version the symbol
* was initially introduced in.
*/
if (versionInMap.newerThan (minimumVersion) &&
versionInMap.newerThan (version))
symbolMap.set (symbolName, version);
}
/* While trucking along through the huge symbol list, remove symbols from
* the 'safe to exclude' if there is a version found which is newer
* than the minimum requirement
*/
if (version.newerThan (minimumVersion)) {
filterMap.remove(symbolName);
libcwrap_note (DF.FILTER, () =>
stdout.printf ("Removing symbol '%s' from the filter, found version '%s'\n",
symbolName, version.getString()));
}
}
} else {
libcwrap_note (DF.COLLECT, () => stdout.printf ("Rejected objdump line %s\n", line));
}
}
}
private static void parseLibraries () throws Error {
var libPath = File.new_for_path (libdir);
var enumerator = libPath.enumerate_children (FileAttribute.STANDARD_NAME, 0, null);
var regex = new Regex ("(.*)(GLIBC_)([0-9]+\\.([0-9]+\\.)*[0-9]+)(\\)?)([ ]*)(.+)");
var counter = 0;
FileInfo fileinfo;
while ((fileinfo = enumerator.next_file(null)) != null) {
if (++counter % 50 == 0) {
stdout.printf(".");
stdout.flush();
}
parseLibrary (regex, fileinfo);
}
}
private static void appendSymbols (StringBuilder headerFile, bool unavailableSymbols) {
if (unavailableSymbols)
headerFile.append("\n/* Symbols introduced in newer glibc versions, which must not be used */\n");
else
headerFile.append("\n/* Symbols redirected to earlier glibc versions */\n");
foreach (var it in symbolMap.keys) {
var version = symbolMap.get (it);
string versionToUse;
/* If the symbol only has occurrences older than the minimum required glibc version,
* then there is no need to output anything for this symbol
*/
if (filterMap.contains (it))
continue;
/* If the only available symbol is > minimumVersion, then redirect it
* to a comprehensible linker error, otherwise redirect the symbol
* to it's existing version <= minimumVersion.
*/
if (version.newerThan (minimumVersion)) {
versionToUse = "DONT_USE_THIS_VERSION_%s".printf (version.getString());
if (!unavailableSymbols)
continue;
} else {
versionToUse = version.getString ();
if (unavailableSymbols)
continue;
}
headerFile.append("__asm__(\".symver %s, %s@GLIBC_%s\");\n".printf(it, it, versionToUse));
}
}
private static void generateHeader () throws Error {
var headerFile = new StringBuilder ();
/* FIXME: Currently we do:
*
* if !defined (__OBJC__) && !defined (__ASSEMBLER__)
*
* But what we want is a clause which accepts any form of C including C++ and probably
* also including ObjC. That said, the generated header works fine for C and C++ sources.
*/
headerFile.append ("/* glibc bindings for target ABI version glibc " + minimumVersion.getString() + " */\n");
headerFile.append ("#if !defined (__LIBC_CUSTOM_BINDINGS_H__)\n");
headerFile.append ("\n");
headerFile.append ("# if !defined (__OBJC__) && !defined (__ASSEMBLER__)\n");
headerFile.append ("# if defined (__cplusplus)\n");
headerFile.append ("extern \"C\" {\n");
headerFile.append ("# endif\n");
/* First generate the available redirected symbols, then the unavailable symbols */
appendSymbols (headerFile, false);
appendSymbols (headerFile, true);
headerFile.append ("\n");
headerFile.append ("# if defined (__cplusplus)\n");
headerFile.append ("}\n");
headerFile.append ("# endif\n");
headerFile.append ("# endif /* !defined (__OBJC__) && !defined (__ASSEMBLER__) */\n");
headerFile.append ("#endif\n");
FileUtils.set_contents (output, headerFile.str);
}
}

View File

@ -1,106 +0,0 @@
#!/bin/sh
#
# Used to prepare the AppDir bundle directory. -*- mode: sh -*-
#
# Written by Tristan Van Berkom <tristan@upstairslabs.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
APP_DIR_ROOT=$1
BUNDLE_DIR=$2
if test -z ${APP_DIR_ROOT} || test -z ${BUNDLE_DIR}; then
echo "Usage ./PrepareAppDir.sh /path/to/AppImage/Install /path/to/glade/build/linux"
exit 0;
fi
echo -n "Removing various unwanted files from the image... "
# Remove static libraries and libtool archives
rm -f `find ${APP_DIR_ROOT} -name "*.a"`
rm -f `find ${APP_DIR_ROOT} -name "*.la"`
# Remove include directory
rm -rf ${APP_DIR_ROOT}/include
# Remove various stuff in /share
rm -rf ${APP_DIR_ROOT}/share/man
rm -rf ${APP_DIR_ROOT}/share/info
rm -rf ${APP_DIR_ROOT}/share/help
rm -rf ${APP_DIR_ROOT}/share/doc
rm -rf ${APP_DIR_ROOT}/share/gtk-doc
rm -rf ${APP_DIR_ROOT}/share/gdb
rm -rf ${APP_DIR_ROOT}/share/gdm
rm -rf ${APP_DIR_ROOT}/share/vala
rm -rf ${APP_DIR_ROOT}/share/pkgconfig
rm -rf ${APP_DIR_ROOT}/share/gnome
rm -rf ${APP_DIR_ROOT}/share/xml
rm -rf ${APP_DIR_ROOT}/share/bash-completion
rm -rf ${APP_DIR_ROOT}/share/appdata
rm -rf ${APP_DIR_ROOT}/share/dbus-1
rm -rf ${APP_DIR_ROOT}/share/glib-2.0/codegen
rm -rf ${APP_DIR_ROOT}/share/glib-2.0/gdb
rm -rf ${APP_DIR_ROOT}/share/glib-2.0/gettext
# Remove the binaries we dont need
mv ${APP_DIR_ROOT}/bin/glade ${APP_DIR_ROOT}/glade
mv ${APP_DIR_ROOT}/bin/glade-previewer ${APP_DIR_ROOT}/glade-previewer
rm -f ${APP_DIR_ROOT}/bin/*
mv ${APP_DIR_ROOT}/glade ${APP_DIR_ROOT}/bin
mv ${APP_DIR_ROOT}/glade-previewer ${APP_DIR_ROOT}/bin
rm -f ${APP_DIR_ROOT}/libexec/*
# jhbuild meta directory
rm -rf ${APP_DIR_ROOT}/_jhbuild
echo "Done."
echo -n "Removing encoded rpath from all binaries... "
chrpath -d ${APP_DIR_ROOT}/bin/glade
chrpath -d ${APP_DIR_ROOT}/bin/glade-previewer
chrpath -d `find ${APP_DIR_ROOT} -name "*.so"`
echo "Done."
echo -n "Setting up symlinks for new environment... "
WORK_DIR=`pwd`
# Create a /usr link in the install prefix, this is for AppImageKit to find the desktop icon properly
cd ${APP_DIR_ROOT}
ln -s . usr
# Create a symlink at ${APP_DIR_ROOT}${APP_DIR_ROOT} which
# links back to the root of the bundle.
#
# All our paths are relative to the jhbuild prefix, so we need
# this symlink to pretend that the build prefix is the root.
mkdir -p ${APP_DIR_ROOT}/${APP_DIR_ROOT%Install}
cd ${APP_DIR_ROOT}/${APP_DIR_ROOT%Install}
ln -s ../../.. Install
# Restore working directory
cd $WORK_DIR
echo "Done."
echo -n "Installing desktop file and runner script... "
cp ${APP_DIR_ROOT}/share/applications/glade.desktop ${APP_DIR_ROOT}
cat ${BUNDLE_DIR}/AppRun | sed -e "s|@APP_DIR_ROOT@|${APP_DIR_ROOT}|g" > ${APP_DIR_ROOT}/AppRun
chmod +x ${APP_DIR_ROOT}/AppRun
echo "Done."
echo -n "Fixing pixbuf loaders to have bundle relative paths... "
# Post process the loaders.cache file to use relative paths, we use a for loop here
# just because we're not sure the exact location, it could be in lib or lib64
for cache in `find ${APP_DIR_ROOT} -path "*gdk-pixbuf-2.0/2.10.0/loaders.cache"`; do
cat $cache | sed -e "s|${APP_DIR_ROOT}|\.${APP_DIR_ROOT}|g" > $cache.1 && mv $cache.1 $cache;
done
echo "Done."

View File

@ -1,158 +0,0 @@
Instructions on how to build a bundle for 64bit linux systems.
System requirements
~~~~~~~~~~~~~~~~~~~
o A 64bit linux system
o AppImageKit (https://github.com/probonopd/AppImageKit)
To build AppImageKit, you will require:
- A functional cross compiler to generate 32bit binaries as well as 64bit binaries
- libfuse (if AppImageKit doesnt find it, make sure there is a symbolic link to libfuse.so
from it's actual library, this is because AppImageKit uses CMake, and CMake itself
is just not smart).
- An old glib version installed on your system, the older the glib version the better
(this system glib version will be required on target hosts which want to run the bundle).
- Some other things like python, which you will just have to deal with the CMakeLists.txt
to figure out.
o jhbuild
The bundler mechanism for Glade comes in the form of a jhbuild scripted environment, you will
need a relatively new checkout of jhbuild.
o chrpath
This will be required after your build root is complete, we use it to strip out the -rpaths which
libtool loves to embed into binaries.
o Vala compiler, we'll be using valac --pkg gee-0.8 --pkg posix --pkg glib-2.0 --pkg gio-2.0
Build Instructions
~~~~~~~~~~~~~~~~~~
Make sure you have Glade sources *first*.
We will refer to your Glade checkout or tarball directory as ${GLADE_CHECKOUT}, we expect
this to be a "/full/path/to/the/checkout/of/glade"
Build the LibcWrapGenerator
~~~~~~~~~~~~~~~~~~~~~~~~~~~
To update the libcwrap.h for your system's version of glibc, first you must build
the LibcWrapGenerator like so:
cd ${GLADE_CHECKOUT}/build/linux
valac --pkg gee-0.8 --pkg posix --pkg glib-2.0 --pkg gio-2.0 LibcWrapGenerator.vala
Note that the environment in which you choose to build and run the generator is of
absolutely no consequence, I had to build & run this from an existing jhbuild environment
because I lacked the gee-0.8, this is absolutely not a problem.
Updating libcwrap.h
~~~~~~~~~~~~~~~~~~~
The libcwrap.h header file is the magick which ensures that you target a specific
version of the glibc ABI.
To generate the libcwrap.h file, run the generator like so:
cd ${GLADE_CHECKOUT}/build/linux
./LibcWrapGenerator libcwrap.h 2.7 /path/to/libc/runtime/libraries
We recommend using 2.7 as a stable base glibc requirement, the patches
for this bundle (which are only a few) allow usage of glibc 2.7 and later.
The path to your libc runtime should be a directory containing libc.so.6
and other libc runtime libraries, some systems keep this in different
directories (i.e. /lib/x86_64-linux-gnu, /lib, /lib64 are good bets).
For a more detailed explanation of what libcwrap.h does, look into the
file header of LibcWrapGenerator.vala.
Building AppImageKit
~~~~~~~~~~~~~~~~~~~~
Fetch AppImageKit form https://github.com/probonopd/AppImageKit/
To build follow these steps:
cd AppImageKit
export CC='gcc -U_FORTIFY_SOURCE -include ${GLADE_CHECKOUT}/build/linux/libcwrap.h'
cmake .
make
unset CC
Building the stack
~~~~~~~~~~~~~~~~~~
To build the whole stack up to Glade, including Glade, issue this command:
BUNDLE_ROOT=~/GladeBundle BUNDLE_DIR=${GLADE_CHECKOUT}/build/linux jhbuild -f ${GLADE_CHECKOUT}/build/linux/jhbuildrc build
This will build everything into the ${BUNDLE_ROOT} you specified, the actual installation
will be found in ${BUNDLE_ROOT}/Install
This will not interfere with any existing jhbuild environment you may already have setup,
everything is self contained and happens inside the ${BUNDLE_ROOT} you specify.
Post processing the image directory
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Some post processing is needed on the AppDir, we intentionally keep this separate from
the jhbuild setup. To perform the needed post processing, issue this command:
${GLADE_CHECKOUT}/build/linux/PrepareAppDir.sh ${BUNDLE_ROOT}/Install ${GLADE_CHECKOUT}/build/linux
WARNING: The above script will modify the ${BUNDLE_ROOT}/Install directory in such
a way that it cannot be rebuilt (development headers and unneeded cruft is removed
from the installation directory). This is why we use a script as a separate stage from
building.
At this point, you should have a fully functional image in ${BUNDLE_ROOT}/Install
Bundling
~~~~~~~~
Build the bundle with one simple command:
/path/to/AppImageKit/AppImageAssistant ${BUNDLE_ROOT}/Install ~/glade
This will create a huge binary named 'glade' at the location of your choosing.
Running and Debugging the bundle
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can run the created bundle by simply executing it, hopefully
this will work on a large variety of 64-bit linux systems.
If things turn out badly, you can debug it by typing:
APP_IMAGE_TEST=1 ./glade
Instead of running glade, this will give you a shell inside
the mounted bundle environment.
Some checks you may want to perform include:
ldd bin/glade
This should show you which libraries are linked to the system
and which are properly pulled from the bundle. We've intentionally
left out X11 libraries, fontconfig and freetype, so these should
be pulled from somewhere in your system directories.
LD_DEBUG=all ./bin/glade > ${HOME}/bindings.log 2>&1
This will create a log of all the symbol bindings, you may want
to check here if any symbol originating in the bundle is bound
to GLIBC > 2.7, the intention with this configuration is to aim
for a low glibc dependency, if libraries inside your bundle require
a higher libc version than 2.7 then the libcwrap.h file probably
needs to be regenerated (the committed version should work for
glibc ABI versions up to 2.15).
Note that as we rely on the system's Xlib libraries, fontconfig
and freetype libraries, there will be references to GLIBC > 2.7
from those system libraries, this is not a problem at all as they
will be resolved differently on hosts with older glibc.

View File

@ -1,69 +0,0 @@
# -*- mode: python -*-
# -*- coding: utf-8 -*-
#
# Copyright (C) Tristan Van Berkom <tristan@upstairslabs.com>
#
# 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.1 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 program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# Authors:
# Tristan Van Berkom <tristan@upstairslabs.com>
#
use_local_modulesets = True
modulesets_dir = os.getenv('BUNDLE_DIR') + '/modulesets'
moduleset = 'bundle.modules'
# Unset autogenargs (screws with some modules like freetype)
autogenargs = ''
# This causes jhbuild to fire some sort of warning, but no problem...
build_cflags = ''
# _FORTIFY_SOURCE can be defined by default in some compilers
# we want to unset this because glibc's runtime checkers are only
# available in recent versions of glibc
build_cflags += ' -U_FORTIFY_SOURCE'
# Include the libcwrap.h before anything else for every source, this
# ensures we are targetting the right version of glibc
build_cflags += ' -include ' + os.getenv('BUNDLE_DIR') + '/libcwrap.h'
# Set the compiler flags for both C and C++ sources, overriding CC and CXX
# ensures that they come before any flags that any buildscripts might add
os.environ['CC'] = 'gcc ' + build_cflags
os.environ['CXX'] = 'g++ ' + build_cflags
# Enable our custom triggers
os.environ['JHBUILD_TRIGGERS'] = os.getenv('BUNDLE_DIR') + '/triggers'
# A list of the modules to build.
modules = [ 'glade' ]
# Where to put the tarballs, sources and install prefix
if os.environ.get('BUNDLE_ROOT') is not None:
tarballdir = os.environ.get('BUNDLE_ROOT') + '/Tarballs'
checkoutroot = os.environ.get('BUNDLE_ROOT') + '/Sources'
prefix = os.environ.get('BUNDLE_ROOT') + '/Install'
else:
tarballdir = '~/AppImages/Tarballs'
checkoutroot = '~/AppImages/Sources'
prefix = '~/AppImages/Install'
# Dont put anything into a lib64 directory, whether we build for
# 32bit linux or 64bit linux, we want a constant path for the libraries
use_lib64 = False
# Uncomment this for verbose builds
# makeargs = "V=1"

View File

@ -1,229 +0,0 @@
/* glibc bindings for target ABI version glibc 2.7 */
#if !defined (__LIBC_CUSTOM_BINDINGS_H__)
# if !defined (__OBJC__) && !defined (__ASSEMBLER__)
# if defined (__cplusplus)
extern "C" {
# endif
/* Symbols redirected to earlier glibc versions */
__asm__(".symver __sched_cpualloc, __sched_cpualloc@GLIBC_2.7");
__asm__(".symver mkostemp, mkostemp@GLIBC_2.7");
__asm__(".symver eventfd, eventfd@GLIBC_2.7");
__asm__(".symver eventfd_read, eventfd_read@GLIBC_2.7");
__asm__(".symver eventfd_write, eventfd_write@GLIBC_2.7");
__asm__(".symver sys_nerr, sys_nerr@GLIBC_2.4");
__asm__(".symver __isoc99_vfwscanf, __isoc99_vfwscanf@GLIBC_2.7");
__asm__(".symver __isoc99_fwscanf, __isoc99_fwscanf@GLIBC_2.7");
__asm__(".symver mkostemp64, mkostemp64@GLIBC_2.7");
__asm__(".symver __openat_2, __openat_2@GLIBC_2.7");
__asm__(".symver memcpy, memcpy@GLIBC_2.2.5");
__asm__(".symver sys_errlist, sys_errlist@GLIBC_2.4");
__asm__(".symver __isoc99_vswscanf, __isoc99_vswscanf@GLIBC_2.7");
__asm__(".symver __fread_chk, __fread_chk@GLIBC_2.7");
__asm__(".symver __isoc99_swscanf, __isoc99_swscanf@GLIBC_2.7");
__asm__(".symver __isoc99_vscanf, __isoc99_vscanf@GLIBC_2.7");
__asm__(".symver __open64_2, __open64_2@GLIBC_2.7");
__asm__(".symver __sched_cpufree, __sched_cpufree@GLIBC_2.7");
__asm__(".symver __isoc99_vwscanf, __isoc99_vwscanf@GLIBC_2.7");
__asm__(".symver _sys_errlist, _sys_errlist@GLIBC_2.4");
__asm__(".symver __isoc99_wscanf, __isoc99_wscanf@GLIBC_2.7");
__asm__(".symver __isoc99_vsscanf, __isoc99_vsscanf@GLIBC_2.7");
__asm__(".symver posix_spawn, posix_spawn@GLIBC_2.2.5");
__asm__(".symver __fread_unlocked_chk, __fread_unlocked_chk@GLIBC_2.7");
__asm__(".symver __isoc99_vfscanf, __isoc99_vfscanf@GLIBC_2.7");
__asm__(".symver posix_spawnp, posix_spawnp@GLIBC_2.2.5");
__asm__(".symver __isoc99_sscanf, __isoc99_sscanf@GLIBC_2.7");
__asm__(".symver __isoc99_fscanf, __isoc99_fscanf@GLIBC_2.7");
__asm__(".symver signalfd, signalfd@GLIBC_2.7");
__asm__(".symver _sys_nerr, _sys_nerr@GLIBC_2.4");
__asm__(".symver __isoc99_scanf, __isoc99_scanf@GLIBC_2.7");
__asm__(".symver __mq_open_2, __mq_open_2@GLIBC_2.7");
__asm__(".symver __open_2, __open_2@GLIBC_2.7");
__asm__(".symver __openat64_2, __openat64_2@GLIBC_2.7");
/* Symbols introduced in newer glibc versions, which must not be used */
__asm__(".symver ns_name_pton, ns_name_pton@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver pthread_mutex_consistent, pthread_mutex_consistent@GLIBC_DONT_USE_THIS_VERSION_2.12");
__asm__(".symver __yn_finite, __yn_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __atan2_finite, __atan2_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __dprintf_chk, __dprintf_chk@GLIBC_DONT_USE_THIS_VERSION_2.8");
__asm__(".symver setns, setns@GLIBC_DONT_USE_THIS_VERSION_2.14");
__asm__(".symver __atanhf_finite, __atanhf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_put16, ns_put16@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __gamma_r_finite, __gamma_r_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver recvmmsg, recvmmsg@GLIBC_DONT_USE_THIS_VERSION_2.12");
__asm__(".symver __y1_finite, __y1_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __ynf_finite, __ynf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __fentry__, __fentry__@GLIBC_DONT_USE_THIS_VERSION_2.13");
__asm__(".symver ns_msg_getflag, ns_msg_getflag@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __j0l_finite, __j0l_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_put32, ns_put32@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __coshl_finite, __coshl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver register_printf_modifier, register_printf_modifier@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __asinl_finite, __asinl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __posix_getopt, __posix_getopt@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __fmodl_finite, __fmodl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __atan2l_finite, __atan2l_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __exp2f_finite, __exp2f_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __obstack_vprintf_chk, __obstack_vprintf_chk@GLIBC_DONT_USE_THIS_VERSION_2.8");
__asm__(".symver __fdelt_warn, __fdelt_warn@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver prlimit64, prlimit64@GLIBC_DONT_USE_THIS_VERSION_2.13");
__asm__(".symver timerfd_gettime, timerfd_gettime@GLIBC_DONT_USE_THIS_VERSION_2.8");
__asm__(".symver timerfd_settime, timerfd_settime@GLIBC_DONT_USE_THIS_VERSION_2.8");
__asm__(".symver __sinhl_finite, __sinhl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __acos_finite, __acos_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __logf_finite, __logf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver sgetsgent_r, sgetsgent_r@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver ns_makecanon, ns_makecanon@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __y1l_finite, __y1l_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __lgammal_r_finite, __lgammal_r_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __log_finite, __log_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver fallocate64, fallocate64@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver setsgent, setsgent@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __acosf_finite, __acosf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __longjmp_chk, __longjmp_chk@GLIBC_DONT_USE_THIS_VERSION_2.11");
__asm__(".symver __remainderf_finite, __remainderf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver scandirat64, scandirat64@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver endsgent, endsgent@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver preadv64, preadv64@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __exp10l_finite, __exp10l_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver mkstemps64, mkstemps64@GLIBC_DONT_USE_THIS_VERSION_2.11");
__asm__(".symver __log10f_finite, __log10f_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __hypot_finite, __hypot_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __sqrtf_finite, __sqrtf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_datetosecs, ns_datetosecs@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver mkstemps, mkstemps@GLIBC_DONT_USE_THIS_VERSION_2.11");
__asm__(".symver __gammaf_r_finite, __gammaf_r_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver inotify_init1, inotify_init1@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver putsgent, putsgent@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver timerfd_create, timerfd_create@GLIBC_DONT_USE_THIS_VERSION_2.8");
__asm__(".symver __jnl_finite, __jnl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __acosh_finite, __acosh_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __powl_finite, __powl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver process_vm_writev, process_vm_writev@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_parse_ttl, ns_parse_ttl@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __vdprintf_chk, __vdprintf_chk@GLIBC_DONT_USE_THIS_VERSION_2.8");
__asm__(".symver __j0f_finite, __j0f_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __coshf_finite, __coshf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_format_ttl, ns_format_ttl@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver preadv, preadv@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver ns_subdomain, ns_subdomain@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __asinf_finite, __asinf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver open_by_handle_at, open_by_handle_at@GLIBC_DONT_USE_THIS_VERSION_2.14");
__asm__(".symver __j1f_finite, __j1f_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __atanhl_finite, __atanhl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __remainder_finite, __remainder_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __sqrt_finite, __sqrt_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __atan2f_finite, __atan2f_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_name_ntol, ns_name_ntol@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __asprintf_chk, __asprintf_chk@GLIBC_DONT_USE_THIS_VERSION_2.8");
__asm__(".symver ns_name_rollback, ns_name_rollback@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver ns_name_ntop, ns_name_ntop@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __vasprintf_chk, __vasprintf_chk@GLIBC_DONT_USE_THIS_VERSION_2.8");
__asm__(".symver __ynl_finite, __ynl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_samename, ns_samename@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver ns_initparse, ns_initparse@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver getsgent_r, getsgent_r@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __exp2l_finite, __exp2l_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver execvpe, execvpe@GLIBC_DONT_USE_THIS_VERSION_2.11");
__asm__(".symver __j0_finite, __j0_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver pwritev, pwritev@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __jn_finite, __jn_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __logl_finite, __logl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver fallocate, fallocate@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver process_vm_readv, process_vm_readv@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __exp10f_finite, __exp10f_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __j1_finite, __j1_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_sprintrrf, ns_sprintrrf@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver fgetsgent_r, fgetsgent_r@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __exp10_finite, __exp10_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_sprintrr, ns_sprintrr@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __exp2_finite, __exp2_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __acoshf_finite, __acoshf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __pow_finite, __pow_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver quick_exit, quick_exit@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __scalb_finite, __scalb_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver getsgent, getsgent@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __log2l_finite, __log2l_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __lgamma_r_finite, __lgamma_r_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver getsgnam_r, getsgnam_r@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __y0l_finite, __y0l_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_name_skip, ns_name_skip@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver getsgnam, getsgnam@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __jnf_finite, __jnf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver fanotify_mark, fanotify_mark@GLIBC_DONT_USE_THIS_VERSION_2.13");
__asm__(".symver __lgammaf_r_finite, __lgammaf_r_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __scalbl_finite, __scalbl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver qsort_r, qsort_r@GLIBC_DONT_USE_THIS_VERSION_2.8");
__asm__(".symver pthread_getname_np, pthread_getname_np@GLIBC_DONT_USE_THIS_VERSION_2.12");
__asm__(".symver __log10l_finite, __log10l_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __atanh_finite, __atanh_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver sgetsgent, sgetsgent@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver ns_parserr, ns_parserr@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __sqrtl_finite, __sqrtl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver scandirat, scandirat@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __log10_finite, __log10_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_samedomain, ns_samedomain@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver clock_adjtime, clock_adjtime@GLIBC_DONT_USE_THIS_VERSION_2.14");
__asm__(".symver accept4, accept4@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __obstack_printf_chk, __obstack_printf_chk@GLIBC_DONT_USE_THIS_VERSION_2.8");
__asm__(".symver __fdelt_chk, __fdelt_chk@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver epoll_create1, epoll_create1@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver ns_name_pack, ns_name_pack@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver register_printf_specifier, register_printf_specifier@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __log2_finite, __log2_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver malloc_info, malloc_info@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __j1l_finite, __j1l_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __fmod_finite, __fmod_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver fgetsgent, fgetsgent@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __hypotl_finite, __hypotl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver sendmmsg, sendmmsg@GLIBC_DONT_USE_THIS_VERSION_2.14");
__asm__(".symver ns_name_uncompress, ns_name_uncompress@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver register_printf_type, register_printf_type@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __expl_finite, __expl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_name_unpack, ns_name_unpack@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver mkostemps64, mkostemps64@GLIBC_DONT_USE_THIS_VERSION_2.11");
__asm__(".symver __cosh_finite, __cosh_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __fmodf_finite, __fmodf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver dup3, dup3@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver syncfs, syncfs@GLIBC_DONT_USE_THIS_VERSION_2.14");
__asm__(".symver __asin_finite, __asin_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver pwritev64, pwritev64@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver pthread_setname_np, pthread_setname_np@GLIBC_DONT_USE_THIS_VERSION_2.12");
__asm__(".symver __cxa_at_quick_exit, __cxa_at_quick_exit@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver prlimit, prlimit@GLIBC_DONT_USE_THIS_VERSION_2.13");
__asm__(".symver fanotify_init, fanotify_init@GLIBC_DONT_USE_THIS_VERSION_2.13");
__asm__(".symver __log2f_finite, __log2f_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __sinhf_finite, __sinhf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver name_to_handle_at, name_to_handle_at@GLIBC_DONT_USE_THIS_VERSION_2.14");
__asm__(".symver __y0f_finite, __y0f_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_get16, ns_get16@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __y1f_finite, __y1f_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __acoshl_finite, __acoshl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_get32, ns_get32@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __scalbf_finite, __scalbf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver pthread_mutexattr_setrobust, pthread_mutexattr_setrobust@GLIBC_DONT_USE_THIS_VERSION_2.12");
__asm__(".symver __gammal_r_finite, __gammal_r_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __sinh_finite, __sinh_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver psiginfo, psiginfo@GLIBC_DONT_USE_THIS_VERSION_2.10");
__asm__(".symver __exp_finite, __exp_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __acosl_finite, __acosl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ntp_gettimex, ntp_gettimex@GLIBC_DONT_USE_THIS_VERSION_2.12");
__asm__(".symver __remainderl_finite, __remainderl_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_skiprr, ns_skiprr@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver mkostemps, mkostemps@GLIBC_DONT_USE_THIS_VERSION_2.11");
__asm__(".symver pthread_sigqueue, pthread_sigqueue@GLIBC_DONT_USE_THIS_VERSION_2.11");
__asm__(".symver __hypotf_finite, __hypotf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver ns_name_compress, ns_name_compress@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver __powf_finite, __powf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver __expf_finite, __expf_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
__asm__(".symver pipe2, pipe2@GLIBC_DONT_USE_THIS_VERSION_2.9");
__asm__(".symver pthread_mutexattr_getrobust, pthread_mutexattr_getrobust@GLIBC_DONT_USE_THIS_VERSION_2.12");
__asm__(".symver __y0_finite, __y0_finite@GLIBC_DONT_USE_THIS_VERSION_2.15");
# if defined (__cplusplus)
}
# endif
# endif /* !defined (__OBJC__) && !defined (__ASSEMBLER__) */
#endif

View File

@ -1,239 +0,0 @@
<?xml version="1.0"?><!--*- mode: nxml; indent-tabs-mode: nil -*-->
<!DOCTYPE moduleset SYSTEM "moduleset.dtd">
<?xml-stylesheet type="text/xsl" href="moduleset.xsl"?>
<moduleset>
<!-- No funny business, just tarballs -->
<repository type="tarball" name="ftp.gnome.org" default="yes" href="http://ftp.gnome.org/pub/GNOME/sources/"/>
<repository type="tarball" name="sourceforge" href="http://downloads.sourceforge.net/sourceforge/"/>
<repository type="tarball" name="sourceforge-libpng" href="http://sourceforge.net/projects/libpng/files/"/>
<repository type="tarball" name="cairographics" href="http://cairographics.org/releases/"/>
<repository type="tarball" name="ftp.gnu.org" href="http://ftp.gnu.org/gnu/"/>
<repository type="tarball" name="sourceware.org" href="ftp://sourceware.org/pub/"/>
<repository type="tarball" name="jpeg" href="http://www.ijg.org/files/"/>
<repository type="tarball" name="libtiff" href="http://download.osgeo.org/"/>
<repository type="tarball" name="freedesktop" href="http://www.freedesktop.org/software/"/>
<repository type="tarball" name="icon-theme" href="http://icon-theme.freedesktop.org/releases/"/>
<repository type="tarball" name="xmlsoft.org" href="ftp://xmlsoft.org/libxml2/"/>
<repository type="tarball" name="hadess" href="http://freedesktop.org/~hadess/"/>
<repository type="tarball" name="lennart" href="http://0pointer.de/lennart/projects/"/>
<repository type="tarball" name="dbus.freedesktop.org" href="http://dbus.freedesktop.org/releases/"/>
<repository type="tarball" name="zlib" href="http://zlib.net/"/>
<!-- Just for glib/GTK+ -->
<repository type="git" name="git.gnome.org" href="git://git.gnome.org/"/>
<autotools id="libpng" autogenargs="--enable-shared" autogen-sh="configure">
<branch version="1.2.51" module="libpng12/1.2.51beta02/libpng-1.2.51beta02.tar.xz"
repo="sourceforge-libpng"/>
<dependencies>
<dep package="zlib"/>
</dependencies>
</autotools>
<autotools id="libjpeg" autogen-sh="configure">
<branch module="jpegsrc.v8d.tar.gz" version="8c" repo="jpeg" checkoutdir="jpeg-8d">
</branch>
</autotools>
<autotools id="zlib" autogen-sh="configure">
<branch repo="zlib" module="zlib-1.2.8.tar.gz" version="1.2.8"/>
</autotools>
<autotools id="libtiff" autogen-sh="configure">
<branch version="3.9.5" module="libtiff/tiff-3.9.5.tar.gz" repo="libtiff"/>
<dependencies>
<dep package="libjpeg"/>
</dependencies>
</autotools>
<autotools id="libxml2" autogen-sh="configure">
<branch version="2.9.0" module="libxml2-2.9.0.tar.gz" repo="xmlsoft.org"/>
</autotools>
<autotools id="expat" autogen-sh="configure">
<branch version="2.1.0" module="expat/expat-2.1.0.tar.gz" repo="sourceforge"/>
</autotools>
<autotools id="harfbuzz" autogen-sh="configure">
<branch repo="freedesktop" module="harfbuzz/release/harfbuzz-0.9.10.tar.bz2" version="0.9.10"/>
<dependencies>
<dep package="glib"/>
</dependencies>
</autotools>
<autotools id="freetype" autogen-sh="configure" skip-autogen="never" autogenargs="--without-bzip2">
<branch module="freetype/freetype-2.4.12.tar.gz" version="2.4.12" repo="sourceforge">
</branch>
<dependencies>
<dep package="zlib"/>
</dependencies>
</autotools>
<autotools id="fontconfig" autogen-sh="configure" autogenargs="--disable-docs">
<branch repo="freedesktop" version="2.10.95" module="fontconfig/release/fontconfig-2.10.95.tar.bz2"/>
<dependencies>
<dep package="expat"/>
<dep package="freetype"/>
</dependencies>
</autotools>
<!-- Another one that won't build in a separate directory -->
<autotools id="hicolor-icon-theme" autogen-sh="configure" supports-non-srcdir-builds="no">
<branch module="hicolor-icon-theme-0.11.tar.gz" repo="icon-theme"
version="0.11" />
</autotools>
<autotools id="shared-mime-info" autogen-sh="configure"
supports-non-srcdir-builds="no" >
<branch module="shared-mime-info-1.0.tar.xz" version="1.2"
repo="hadess">
</branch>
<dependencies>
<dep package="glib"/>
</dependencies>
</autotools>
<autotools id="gettext-runtime" autogen-sh="configure"
autogenargs="--without-emacs --disable-java --disable-native-java --disable-libasprintf --disable-csharp">
<branch repo="ftp.gnu.org" source-subdir="gettext-runtime"
module="gettext/gettext-0.18.1.1.tar.gz" version="0.18.1.1"
size="15139737" md5sum="3dd55b952826d2b32f51308f2f91aa89">
</branch>
</autotools>
<autotools id="dbus" autogen-sh='configure' autogenargs="--disable-selinux">
<branch module="dbus/dbus-1.6.18.tar.gz" version="1.6.18"
repo="dbus.freedesktop.org">
</branch>
</autotools>
<autotools id="libffi" autogen-sh="configure">
<branch module="libffi/libffi-3.0.13.tar.gz" repo="sourceware.org" version="3.0.13"/>
</autotools>
<autotools id="canberra" autogen-sh="configure">
<branch version="0.30" module="libcanberra/libcanberra-0.30.tar.xz" repo="lennart"/>
</autotools>
<autotools id="atk" autogen-sh="configure">
<branch module="atk/2.10/atk-2.10.0.tar.xz" version="2.10.0"
hash="sha256:636917a5036bc851d8491194645d284798ec118919a828be5e713b6ecc5b50b0"/>
<after>
<dep package="glib"/>
</after>
</autotools>
<autotools id="at-spi2-core" autogen-sh="configure">
<branch module="at-spi2-core/2.10/at-spi2-core-2.10.2.tar.xz" version="2.10.2"/>
</autotools>
<autotools id="at-spi2-atk" autogen-sh="configure">
<branch module="at-spi2-atk/2.10/at-spi2-atk-2.10.2.tar.xz" version="2.10.2"/>
<dependencies>
<dep package="atk"/>
<dep package="at-spi2-core"/>
<dep package="dbus"/>
</dependencies>
</autotools>
<autotools id="pixman" autogenargs="--disable-gtk" autogen-sh="configure">
<branch version="0.30.2" module="pixman-0.30.2.tar.gz"
repo="cairographics"
hash="sha1:59cc9cd91a2394b7c0aa90ffc7c141f06d75f066"/>
</autotools>
<autotools id="cairo" autogen-sh="autogen.sh">
<branch module="cairo-1.12.16.tar.xz" version="1.12.16"
repo="cairographics"
hash="sha1:4f6e337d5d3edd7ea79d1426f575331552b003ec">
<patch file="cairo-avoid-fortify-source.patch" strip="1" />
</branch>
<dependencies>
<dep package="pixman"/>
<dep package="libpng"/>
</dependencies>
</autotools>
<!--
*************************************************************
* GTK+ and high level deps *
*************************************************************
-->
<autotools id="glib" autogen-sh="autogen.sh" autogenargs="--disable-selinux">
<branch module="glib" repo="git.gnome.org"/>
<dependencies>
<dep package="libffi"/>
<dep package="gettext-runtime"/>
</dependencies>
</autotools>
<autotools id="pango" autogen-sh="autogen.sh">
<branch module="pango/1.36/pango-1.36.1.tar.xz" version="1.36">
<patch file="pango-relative-paths.patch" strip="1" />
<patch file="pango-old-fontconfig.patch" strip="1" />
</branch>
<dependencies>
<dep package="glib"/>
<dep package="cairo"/>
<dep package="harfbuzz"/>
</dependencies>
</autotools>
<autotools id="gdk-pixbuf" autogen-sh="autogen.sh">
<branch module="gdk-pixbuf" repo="git.gnome.org"/>
<dependencies>
<dep package="libpng"/>
<dep package="libjpeg"/>
<dep package="libtiff"/>
</dependencies>
</autotools>
<autotools id="rsvg" autogen-sh="autogen.sh" autogenargs="--disable-introspection">
<branch module="librsvg" repo="git.gnome.org"/>
<dependencies>
<dep package="gdk-pixbuf"/>
</dependencies>
</autotools>
<autotools id="gtk+-3.0" autogen-sh="autogen.sh">
<branch module="gtk+" repo="git.gnome.org"/>
<dependencies>
<dep package="glib"/>
<dep package="pango"/>
<dep package="atk"/>
<dep package="at-spi2-core"/>
<dep package="at-spi2-atk"/>
<dep package="gdk-pixbuf"/>
<dep package="rsvg"/>
</dependencies>
</autotools>
<autotools id="gnome-themes-standard" autogen-sh="autogen.sh" autogenargs="--disable-gtk2-engine">
<branch module="gnome-themes-standard" repo="git.gnome.org"/>
</autotools>
<metamodule id="meta-platform">
<dependencies>
<dep package="gtk+-3.0"/>
<dep package="hicolor-icon-theme"/>
<dep package="gnome-themes-standard"/>
<dep package="shared-mime-info"/>
<dep package="canberra"/>
</dependencies>
</metamodule>
<!--
*************************************************************
* Glade and it's deps *
*************************************************************
-->
<autotools id="glade" autogen-sh="autogen.sh">
<branch module="glade" repo="git.gnome.org"/>
<dependencies>
<dep package="meta-platform"/>
<dep package="libxml2"/>
</dependencies>
</autotools>
</moduleset>

View File

@ -1,15 +0,0 @@
diff -up cairo-1.12.16-orig/build/configure.ac.warnings cairo-1.12.16/build/configure.ac.warnings
--- cairo-1.12.16-orig/build/configure.ac.warnings 2013-08-27 00:07:21.000000000 +0900
+++ cairo-1.12.16/build/configure.ac.warnings 2013-12-17 17:30:15.422665322 +0900
@@ -49,7 +49,10 @@ AC_TRY_LINK([],[
MAYBE_WARN="$MAYBE_WARN -fno-strict-aliasing -fno-common"
dnl Also to turn various gcc/glibc-specific preprocessor checks
-MAYBE_WARN="$MAYBE_WARN -Wp,-D_FORTIFY_SOURCE=2"
+dnl
+dnl XXX Disable this FORTIFY enableing for the purpose of targetting
+dnl old versions of glibc
+dnl MAYBE_WARN="$MAYBE_WARN -Wp,-D_FORTIFY_SOURCE=2"
# invalidate cached value if MAYBE_WARN has changed
if test "x$cairo_cv_warn_maybe" != "x$MAYBE_WARN"; then

View File

@ -1,13 +0,0 @@
diff --git a/configure.ac b/configure.ac
index 8e85a0f..1b4a574 100644
--- a/configure.ac
+++ b/configure.ac
@@ -233,7 +233,7 @@ AM_CONDITIONAL(HAVE_HARFBUZZ, $have_harfbuzz)
#
have_fontconfig=false
if $have_harfbuzz ; then
- PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.10.91, have_fontconfig=true, AC_MSG_RESULT([no]))
+ PKG_CHECK_MODULES(FONTCONFIG, fontconfig >= 2.5.0, have_fontconfig=true, AC_MSG_RESULT([no]))
fi
#

View File

@ -1,22 +0,0 @@
diff --git a/pango/modules.c b/pango/modules.c
index ca8d488..cd00eba 100644
--- a/pango/modules.c
+++ b/pango/modules.c
@@ -450,6 +450,7 @@ process_module_file (FILE *module_file, const gchar *module_file_dir)
switch (i)
{
case 0:
+#if 0
if (!g_path_is_absolute (tmp_buf->str)
#ifdef __APPLE__
&& strncmp (tmp_buf->str, "@executable_path/", 17)
@@ -467,7 +468,9 @@ process_module_file (FILE *module_file, const gchar *module_file_dir)
g_string_assign (tmp_buf, abs_file_name);
g_free ((gpointer) abs_file_name);
}
+#endif
pair->module = find_or_create_module (tmp_buf->str);
+
break;
case 1:
pair->info.id = g_strdup (tmp_buf->str);

View File

@ -1,3 +0,0 @@
[Pango]
ModuleFiles = ./usr/etc/pango/pango.modules
ModulesPath = ./usr/lib/pango/1.8.0/modules

View File

@ -1,30 +0,0 @@
# Post-installation hook for gdk-pixbuf. -*- mode: sh -*-
# Corresponds to gdk-pixbuf/gdk-pixbuf/Makefile.am:install-data-hook
#
# Written by Colin Walters <walters@verbum.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# IfExecutable: gdk-pixbuf-query-loaders
# LiteralMatch: /gdk-pixbuf-2.0/2.10.0/loaders/
# Make sure the cache is removed before creating it, otherwise we keep prepending a '.'
# each time the trigger is run
for cache in `find ${JHBUILD_PREFIX} -path "*gdk-pixbuf-2.0/2.10.0/loaders.cache"`; do
rm -f $cache;
done
gdk-pixbuf-query-loaders --update-cache

View File

@ -1,22 +0,0 @@
# Post-installation hook for glib/gschema. -*- mode: sh -*-
#
# Written by Colin Walters <walters@verbum.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# IfExecutable: glib-compile-schemas
# LiteralMatch: /share/glib-2.0/schemas/
glib-compile-schemas $JHBUILD_PREFIX/share/glib-2.0/schemas

View File

@ -1,26 +0,0 @@
# Post-installation hook for gtk icon cache. -*- mode: sh -*-
#
# Written by Colin Walters <walters@verbum.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# IfExecutable: gtk-update-icon-cache
# LiteralMatch: /share/icons/
for dir in $JHBUILD_PREFIX/share/icons/*; do
if test -f $dir/index.theme; then
gtk-update-icon-cache --quiet $dir
fi
done

View File

@ -1,22 +0,0 @@
# Post-installation hook for shared-mime-info. -*- mode: sh -*-
#
# Written by Matthias Clasen <mclasen@redhat.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# IfExecutable: update-mime-database
# REMatch: /mime/packages/.*\.xml
update-mime-database $JHBUILD_PREFIX/share/mime

View File

@ -1,36 +0,0 @@
# Post-installation hook for pango. -*- mode: sh -*-
# Corresponds to gdk-pixbuf/gdk-pixbuf/Makefile.am:install-data-hook
#
# Written by Colin Walters <walters@verbum.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# IfExecutable: pango-querymodules
# REMatch: .*/lib.*/pango/.*/modules/.*\.so
pango-querymodules --update-cache
modules_cache=
# Post process the pango.modules file to use relative paths, we use a for loop here
# just because we're not sure the exact location, it used to be in ${prefix}/etc,
# now it goes in a versioned lib directory
for cache in `find ${JHBUILD_PREFIX} -path "*/pango/*/modules.cache"`; do
cat $cache | sed -e "s|${JHBUILD_PREFIX}|\.${JHBUILD_PREFIX}|g" > $cache.1 && mv $cache.1 $cache;
modules_cache=$cache;
done
# Setup our main pangorc in the root directory
echo "[Pango]" > ${JHBUILD_PREFIX}/pangorc
echo "ModuleFiles = .${modules_cache}" >> ${JHBUILD_PREFIX}/pangorc

View File

@ -1 +0,0 @@
/glade.nsi

View File

@ -1,19 +0,0 @@
This script files is intended to cross compile glade for windows under linux
using the mingw-w64 toolchain download-mingw-rpm [1] script to get precompiled depencies
I develop it under Debian sid so it should also work on Ubuntu and others Debian
based distributions.
It does not really has any dependency on Debian other than it uses apt-get to
install mingw-w64, nsis and p7zip-full packages. So if you have those packages
installed on your system it should work out of the box on others linuxs and perhaps unices?
BTW it needs python3 and wget, but those are probably already installed in your
system.
If you really want to compile on windows I guess a good aproach would be
to install cygwin [2] to get a unix like env to run configure and shell scripts,
install mingw gcc package using download-mingw-rpm [1] and update the script
system env variables accordingly.
[1] https://github.com/mkbosmans/download-mingw-rpm
[2] http://www.cygwin.com/

View File

@ -1,126 +0,0 @@
;Include Modern UI
!include "MUI2.nsh"
!include "FileFunc.nsh"
;General
!define APPNAME "Glade Interface Designer"
!define COMPANYNAME "GNOME Foundation"
!define VERSIONMAJOR @GLADE_MAJOR_VERSION@
!define VERSIONMINOR @GLADE_MINOR_VERSION@
!define VERSIONBUILD @GLADE_MICRO_VERSION@
!define HELPURL "http://bugzilla.gnome.org/browse.cgi?product=glade"
!define UPDATEURL "http://glade.gnome.org"
!define ABOUTURL "http://gnome.org"
;Name and file
Name "${APPNAME}"
BrandingText "${COMPANYNAME}"
outFile "glade-@GLADE_MAJOR_VERSION@-@GLADE_MINOR_VERSION@-@GLADE_MICRO_VERSION@-installer.exe"
;Default installation folder
InstallDir "$LOCALAPPDATA\${COMPANYNAME}\${APPNAME}"
;Request application privileges for Windows Vista
RequestExecutionLevel user
;Interface Settings
!define MUI_ICON "glade.ico"
!define MUI_ABORTWARNING
;Pages
!insertmacro MUI_PAGE_LICENSE "COPYING"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
;Languages
!insertmacro MUI_LANGUAGE "English"
Function .onInit
MessageBox MB_OK "This Glade build and installer are BETA SOFTWARE!$\nIt was cross compiled on Linux and tested with wine! (a Windows emulator)$\nand it is distributed with the hope it will be usefull as a starting point for a new Windows comunity$\nthat can support it and contribute back to make it better."
ReadRegStr $R0 HKLM \
"Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "UninstallString"
StrCmp $R0 "" done
MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION \
"${APPNAME} is already installed. $\n$\nClick `OK` to remove the \
previous version or `Cancel` to cancel this upgrade." \
IDOK uninst
Abort
;Run the uninstaller
uninst:
ClearErrors
SetOverwrite on
; Get old instalation directory
${GetFileName} $R0 $1
${GetParent} $R0 $2
; Move old uninstaller
CopyFiles $R0 $TEMP
SetOverwrite off
; execute old uninstaller
ExecWait '$TEMP\$1 _?=$2' $3
; remove moved uninstaller
Delete $TEMP\$1
done:
FunctionEnd
Section "Install"
SetOutPath "$INSTDIR"
file /r bin
file /r etc
!include install_files.nsh
file glade.ico
;Create uninstaller
WriteUninstaller "$INSTDIR\Uninstall.exe"
;Create shortcuts
createDirectory "$SMPROGRAMS\${COMPANYNAME}"
createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" "$INSTDIR\bin\glade.exe" "" "$INSTDIR\glade.ico"
; Registry information for add/remove programs
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayName" "${COMPANYNAME} - ${APPNAME}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "QuietUninstallString" "$INSTDIR\uninstall.exe /S"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "InstallLocation" "$INSTDIR"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayIcon" "$\"$INSTDIR\glade.ico$\""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "Publisher" "$\"${COMPANYNAME}$\""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "HelpLink" "$\"${HELPURL}$\""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "URLUpdateInfo" "$\"${UPDATEURL}$\""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "URLInfoAbout" "$\"${ABOUTURL}$\""
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayVersion" "$\"${VERSIONMAJOR}.${VERSIONMINOR}.${VERSIONBUILD}$\""
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "VersionMajor" ${VERSIONMAJOR}
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "VersionMinor" ${VERSIONMINOR}
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "VersionMicro" ${VERSIONBUILD}
; There is no option for modifying or repairing the install
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoModify" 1
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoRepair" 1
SectionEnd
Section "Uninstall"
; Remove Start Menu launcher
delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk"
; Try to remove the Start Menu folder - this will only happen if it is empty
rmDir "$SMPROGRAMS\${COMPANYNAME}"
; Remove files
delete "$INSTDIR\glade.ico"
!include uninstall_files.nsh
; Always delete uninstaller as the last action
delete "$INSTDIR\uninstall.exe"
; Try to remove the install directory - this will only happen if it is empty
rmDir "$INSTDIR"
rmDir "$LOCALAPPDATA\${COMPANYNAME}"
; Remove uninstaller information from the registry
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}"
SectionEnd

View File

@ -1,182 +0,0 @@
#!/bin/sh
#
# nsis_make_installer.sh
#
# Copyright (C) 2012 - Juan pablo Ugarte
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
CWD=`pwd` # save CWD
ARG0=`readlink -f $0` # get absolute path of this script whihc is localted under build/mingw-w64
WORK=`dirname $ARG0` # work directory
ROOTB=`dirname $WORK` # get Glade source root directory
ROOT=`dirname $ROOTB` # get Glade source root directory
if test -n "$2" -a -d "$2"; then
WORK=`readlink -f $2`
fi
MINGW_ROOT=$WORK/local # directory where all the win32 precompiled dependencies for building will be downloaded
MINGW_ROOT_BIN=$WORK/usr/i686-w64-mingw32/sys-root/mingw #binaries deps
# SYSTEM ENV
export CC=i686-w64-mingw32-gcc
export CXX=i686-w64-mingw32-g++
export RANLIB=i686-w64-mingw32-ranlib
export PKG_CONFIG_LIBDIR=$MINGW_ROOT/lib/pkgconfig
export PKG_CONFIG_PATH=$MINGW_ROOT/share/pkgconfig
export PKG_CONFIG="pkg-config --define-variable=prefix=$MINGW_ROOT"
export CONFIGURE_ARGS="--host i686-w64-mingw32 --target i686-w64-mingw32 --enable-shared=yes --enable-static=no"
case $1 in
shell)
echo "Use \$PKG_CONFIG instead pkg-config and \$CONFIGURE_ARGS as parameters for configure scripts"
bash
exit
;;
makedev)
DEVELOPER="true"
MINGW_ROOT_BIN=$MINGW_ROOT
INCLUDE_DIR=include
EXCLUDE_FILES=
;;
make)
DEVELOPER="false"
EXCLUDE_FILES="( -path lib/pkgconfig -o -name *.dll.a -o -name *.la ) -prune -o"
INCLUDE_DIR=
;;
*)
echo "Usage nsis_make_installer.sh command build_path -- Creates a Glade installer using nsis under build_path (defaults to script location)"
echo " shell Runs a shell with CC and PKG_CONFIG variables set for cross compiling"
echo " make Get deps and create windows installer"
echo " makedev Get deps and create windows installer with dev files"
exit
;;
esac
# Install mingw-w64 if nescesary
if test ! -e /usr/bin/i686-w64-mingw32-gcc; then
sudo apt-get install mingw-w64
fi
# Install nsis if nescesary
if test ! -e /usr/bin/makensis; then
sudo apt-get install nsis
fi
# Install 7z if nescesary
if test ! -e /usr/bin/7z; then
sudo apt-get install p7zip-full
fi
echo cd $WORK
cd $WORK
#this python script is a helper to download binaries from OBS (OpenSuse build service)
if test ! -e download-mingw-rpm.py; then
wget https://github.com/mkbosmans/download-mingw-rpm/raw/master/download-mingw-rpm.py
fi
if test ! -d $MINGW_ROOT; then
python3 download-mingw-rpm.py --deps gtk3-devel libxml2-devel
mv $MINGW_ROOT_BIN $MINGW_ROOT
fi
if test "$DEVELOPER" = "false" -a ! -d $MINGW_ROOT_BIN; then
python3 download-mingw-rpm.py --deps gtk3 hicolor-icon-theme
fi
if test ! -e $MINGW_ROOT_BIN/bin/glade.exe; then
cd $ROOT && ./autogen.sh --prefix=$MINGW_ROOT_BIN $CONFIGURE_ARGS && make && make install
# rename executables names
if test -e $MINGW_ROOT_BIN/bin/i686-w64-mingw32-glade.exe; then
mv $MINGW_ROOT_BIN/bin/i686-w64-mingw32-glade.exe $MINGW_ROOT_BIN/bin/glade.exe
mv $MINGW_ROOT_BIN/bin/i686-w64-mingw32-glade-previewer.exe $MINGW_ROOT_BIN/bin/glade-previewer.exe
fi
fi
if test ! -e $MINGW_ROOT_BIN/bin/glade.exe; then
echo Executable not found! Aborting...
exit 1
fi
#copy files to installer directory
cp $ROOT/build/mingw-w64/glade.nsi $ROOT/data/icons/glade.ico $MINGW_ROOT_BIN
#change to installer directory
cd $MINGW_ROOT_BIN
if test ! -d COPYING; then
cat > COPYING << EOF
Glade - A user interface designer for GTK+ and GNOME.
Copyright © 2001-2006 Ximian, Inc.
Copyright © 2001-2006 Joaquin Cuenca Abela, Paolo Borelli, et al.
Copyright © 2001-2012 Tristan Van Berkom, Juan Pablo Ugarte, et al.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
EOF
cat $ROOT/COPYING.GPL >> COPYING
fi
# Update schemas just in case
glib-compile-schemas $MINGW_ROOT_BIN/share/glib-2.0/schemas
if test $DEVELOPER = "true"; then
cat > install_files.nsh << EOF
file /r lib
file /r share
file /r include
EOF
else
cat > install_files.nsh << EOF
file /r /x pkgconfig /x *.dll.a /x *.la lib
file /r share
EOF
fi
# Create a list of files to delete in the uninstaller
# Note that we have to reverse the list to remove the directories once they are empty
find bin etc lib share $INCLUDE_DIR $EXCLUDE_FILES \
! -type d -printf "delete \"\$INSTDIR\\\%p\"\n" -or -type d -printf "rmDir \"\$INSTDIR\\\%p\"\n" \
| sed 'y/\//\\/' | tac > uninstall_files.nsh
# create installer
makensis glade.nsi
rm install_files.nsh uninstall_files.nsh
#copy installer in build directory
cp glade-*-installer.exe $CWD
#go back to start
cd $CWD

View File

@ -1,39 +0,0 @@
What is this?
=============
build_glade.sh is a script that builds glade mswindows binaries. It
is only expected to function when run from a released source tarball.
A binary zip archive is generated:
- without Python support
- for each Python version listed in the INTERPRETERS variable
How does it work?
=================
Install the deps (gtk+-bundle, ...) and MinGW/MSYS with GCC 4.5.0
$ mingw-get.exe install gcc
$ mingw-get.exe install msys-base
Configure the REV, GTKBUNDLE and INTERPRETERS variables in the
build_glade.sh script and run the following from MSYS bash:
$ cd path/to/glade3/sources/
$ build/mswindows/build_glade.sh
Built binaries are intalled into:
$ ls build/mswindows/tmp/
and redistributable archives are installed into:
$ ls build/mswindows/dist
Credits
=======
build_glade.sh has been heavily inspired by Tor Lillqvist's <tml@iki.fi>
windows build scripts (http://www.gtk.org/download-windows.html). Many
thanks for his years of windows related GTK+ work!

View File

@ -1,187 +0,0 @@
#!/bin/bash
# Build revision, always starts from 1 for each version
REV=1
# Location of the GTK+ runtime
GTKBUNDLE="/d/bin/Python27/Lib/site-packages/gtk-2.0/runtime/"
# Or instead of using the gtk+-bundle included in the pygtk all-in-one
# installer you could use a gtk+-bundle from ftp.gnome.org.
# Both are identical.
# GTKBUNDLE="/d/dev/gnome.org/gtk+-bundle_2.22.0-20101016_win32"
# List Python interperer installation directories for wich
# you'll build glade with Python support
INTERPRETERS="/d/bin/Python26 /d/bin/Python27"
OLD_CWD=`pwd`
OLD_PATH=${PATH}
OLD_PKG_CONFIG_PATH=${PKG_CONFIG_PATH}
SCRIPT=`dirname "$0"`
SRCDIR=`readlink -f "$SCRIPT/../../"`
BUILDDIR="${SRCDIR}/build/mswindows/build"
DISTDIR="${SRCDIR}/build/mswindows/dist"
MOD=glade3
MAJOR=`grep m4_define\\(glade_major_version ${SRCDIR}/configure.ac | gawk '{print gensub(/^.*?glade_major_version,[[:space:]]([[:digit:]]).*?$/,"\\\\1","g")}'`
MINOR=`grep m4_define\\(glade_minor_version ${SRCDIR}/configure.ac | gawk '{print gensub(/^.*?glade_minor_version,[[:space:]]([[:digit:]]).*?$/,"\\\\1","g")}'`
MICRO=`grep m4_define\\(glade_micro_version ${SRCDIR}/configure.ac | gawk '{print gensub(/^.*?glade_micro_version,[[:space:]]([[:digit:]]).*?$/,"\\\\1","g")}'`
VER="${MAJOR}.${MINOR}.${MICRO}"
ARCH=win32
#################################################################
# Build Glade without Python support #
#################################################################
export PATH=${GTKBUNDLE}/bin:${OLD_PATH}
export PKG_CONFIG_PATH=${GTKBUNDLE}/lib/pkgconfig/:${OLD_PKG_CONFIG_PATH}
THIS=${MOD}_${VER}-${REV}_${ARCH}
MFT=${THIS}.mft
BUILD=${THIS}.sh
RUNZIP=${THIS}.zip
DEVZIP=${MOD}-dev_${VER}-${REV}_${ARCH}.zip
PREFIX=${BUILDDIR}/${THIS}
LOG=${PREFIX}/src/glade3/${THIS}.log
if test -d "${PREFIX}"; then
rm -rf "${PREFIX}"
fi
mkdir -p "${PREFIX}/manifest"
mkdir -p "${PREFIX}/src/glade3/"
mkdir -p "${DISTDIR}"
(
set -x
cd "${SRCDIR}"
# Copied from tml@iki.fi's build scripts:
# Don't do any relinking and don't use any wrappers in libtool. It
# just causes trouble, IMHO.
sed -e "s/need_relink=yes/need_relink=no # no way --tml/" \
-e "s/wrappers_required=yes/wrappers_required=no # no thanks --tml/" \
<ltmain.sh >ltmain.temp && mv ltmain.temp ltmain.sh
lt_cv_deplibs_check_method="pass_all" \
CC="gcc -mthreads" \
CFLAGS=-O2 \
./configure \
--enable-debug=yes \
--disable-static \
--disable-gnome \
--disable-gtk-doc \
--disable-python \
--disable-static \
--prefix="${PREFIX}" &&
make -j3 install &&
# No thanks
rm -rf ${PREFIX}/lib/*.dll.a &&
rm -rf ${PREFIX}/lib/*.la &&
rm -rf ${PREFIX}/lib/glade3/modules/*.dll.a &&
rm -rf ${PREFIX}/lib/glade3/modules/*.la &&
touch "${PREFIX}/manifest/${MFT}" &&
cp "${SRCDIR}/build/mswindows/build_glade.sh" "${PREFIX}/src/glade3/${BUILD}"
) 2>&1 | tee "${LOG}"
# Write manifest and create zip archives...
cd "${PREFIX}" &&
find -type f -print | sed "s/\.\///g" > "${PREFIX}/manifest/${MFT}" &&
zip -r "${DISTDIR}/${RUNZIP}" "bin" "lib/glade3" "lib/locale" "share/applications" "share/glade3" "share/icons" &&
zip -r "${DISTDIR}/${DEVZIP}" "include" "lib/pkgconfig" "manifest" "share/gtk-doc" "src"
#################################################################
# Build Glade with Python support #
#################################################################
for INTERPRETER in ${INTERPRETERS}; do
export PATH=${INTERPRETER}:${INTERPRETER}/Scripts:${GTKBUNDLE}/bin:${OLD_PATH}
export PKG_CONFIG_PATH=${INTERPRETER}/Lib/pkgconfig/:${GTKBUNDLE}/lib/pkgconfig/:${OLD_PKG_CONFIG_PATH}
len=${#INTERPRETER}
INTERPRETER_VERSION=$(echo "$INTERPRETER"|cut -c"$((len-1))"-"$len")
THIS=${MOD}_${VER}-${REV}_${ARCH}-py${INTERPRETER_VERSION}
MFT=${THIS}.mft
BUILD=${THIS}.sh
RUNZIP=${THIS}.zip
DEVZIP=${MOD}-dev_${VER}-${REV}_${ARCH}-py${INTERPRETER_VERSION}.zip
PREFIX=${BUILDDIR}/${THIS}
LOG=${PREFIX}/src/glade3/${THIS}.log
if test -d "${PREFIX}"; then
rm -rf "${PREFIX}"
fi
mkdir -p "${DISTDIR}"
mkdir -p "${PREFIX}/src/glade3/"
mkdir -p "${PREFIX}/manifest"
(
set -x
cd "${SRCDIR}"
# Copied from tml@iki.fi's build scripts:
# Don't do any relinking and don't use any wrappers in libtool. It
# just causes trouble, IMHO.
sed -e "s/need_relink=yes/need_relink=no # no way --tml/" \
-e "s/wrappers_required=yes/wrappers_required=no # no thanks --tml/" \
<ltmain.sh >ltmain.temp && mv ltmain.temp ltmain.sh
lt_cv_deplibs_check_method="pass_all" \
CC="gcc -mthreads" \
CFLAGS=-O2 \
PYTHON_INCLUDES="-I${INTERPRETER}/include/" \
PYTHON_LIBS="-L${INTERPRETER}/libs/ -lpython${INTERPRETER_VERSION}" \
PYTHON_LIB_LOC="${INTERPRETER}/libs/" \
./configure \
--enable-debug=yes \
--disable-static \
--disable-gnome \
--disable-gtk-doc \
--enable-python \
--disable-static \
--prefix="${PREFIX}" &&
make -j3 install &&
# No thanks
rm -rf ${PREFIX}/lib/*.dll.a &&
rm -rf ${PREFIX}/lib/*.la &&
rm -rf ${PREFIX}/lib/glade3/modules/*.dll.a &&
rm -rf ${PREFIX}/lib/glade3/modules/*.la &&
touch "${PREFIX}/manifest/${MFT}" &&
cp "${SRCDIR}/build/mswindows/build_glade.sh" "${PREFIX}/src/glade3/${BUILD}" &&
# Write a .exe.manifest file...
echo "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>
<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\">
<assemblyIdentity version=\"1.0.0.0\"
name=\"glade-3.exe\"
type=\"win32\" />
<dependency>
<dependentAssembly>
<assemblyIdentity
type=\"win32\"
name=\"Microsoft.VC90.CRT\"
version=\"9.0.21022.8\"
processorArchitecture=\"*\"
publicKeyToken=\"1fc8b3b9a1e18e3b\" />
</dependentAssembly>
</dependency>
</assembly>
" > "${PREFIX}/bin/glade-3.exe.manifest"
) 2>&1 | tee "${LOG}"
# Write manifest and create zip archives...
cd "${PREFIX}" &&
find -type f -print | sed "s/\.\///g" > "${PREFIX}/manifest/${MFT}" &&
zip -r "${DISTDIR}/${RUNZIP}" "bin" "lib/glade3" "lib/locale" "share/applications" "share/glade3" "share/icons" &&
zip -r "${DISTDIR}/${DEVZIP}" "include" "lib/pkgconfig" "manifest" "share/gtk-doc" "src"
done

View File

@ -1,386 +0,0 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.52)
m4_define(glade_major_version, 3)
m4_define(glade_minor_version, 21)
m4_define(glade_micro_version, 0)
m4_define(glade_version, glade_major_version.glade_minor_version.glade_micro_version)
AC_INIT([glade], [glade_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=glade],
[glade],
[http://glade.gnome.org/])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_SRCDIR([gladeui/glade.h])
AC_CONFIG_MACRO_DIR([m4])
AC_DEFINE(GLADE_MAJOR_VERSION, glade_major_version, [Glade major version])
AC_SUBST(GLADE_MAJOR_VERSION, glade_major_version)
AC_DEFINE(GLADE_MINOR_VERSION, glade_minor_version, [Glade minor version])
AC_SUBST(GLADE_MINOR_VERSION, glade_minor_version)
AC_DEFINE(GLADE_MICRO_VERSION, glade_micro_version, [Glade micro version])
AC_SUBST(GLADE_MICRO_VERSION, glade_micro_version)
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-bzip2])
AM_MAINTAINER_MODE([enable])
# Support silent build rules, requires at least automake-1.11. Disable
# by either passing --disable-silent-rules to configure or passing V=1
# to make
AM_SILENT_RULES([yes])
# Checks for programs
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_MAKE_SET
# Initialize libtool
LT_PREREQ([2.2.6])
LT_INIT([dlopen win32-dll disable-static])
AC_PATH_PROG(GLIB_COMPILE_RESOURCES, glib-compile-resources)
AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
AC_PATH_PROG(GLIB_MKENUMS, glib-mkenums)
AC_PATH_PROG(DLLTOOL, dlltool)
# If the source code has changed at all, increment GLADE_REVISION
# If any interfaces have been added, removed, or changed, increment GLADE_CURRENT, and set GLADE_REVISION to 0.
# If any interfaces have been added since the last public release, then increment GLADE_AGE.
# If any interfaces have been removed since the last public release, then set GLADE_AGE to 0.
# Reference: http://www.gnu.org/software/libtool/manual/libtool.html#Versioning
GLADE_REVISION=0
GLADE_CURRENT=10
GLADE_AGE=4
GLADE_CURRENT_MINUS_AGE=`expr $GLADE_CURRENT - $GLADE_AGE`
AC_SUBST(GLADE_REVISION)
AC_SUBST(GLADE_CURRENT)
AC_SUBST(GLADE_AGE)
AC_SUBST(GLADE_CURRENT_MINUS_AGE)
dnl are we unstable or stable?
m4_define([glade_unstable],
m4_if(m4_eval(glade_minor_version % 2), [1], [yes], [no]))
GLADE_UNSTABLE=glade_unstable
AC_SUBST(GLADE_UNSTABLE)
dnl The symbol GLADE_UNSTABLE is defined above for substitution in
dnl Makefiles and conditionally defined here as a preprocessor symbol
dnl and automake conditional.
if test "x$GLADE_UNSTABLE" = "xyes"; then
AC_DEFINE(GLADE_UNSTABLE, 1,
[Define to 1 if this is an unstable version of Glade])
fi
AM_CONDITIONAL(GLADE_UNSTABLE, test "x$GLADE_UNSTABLE" = "xyes")
# ================================================================
GNOME_DEBUG_CHECK
GNOME_COMPILE_WARNINGS([maximum])
GNOME_MAINTAINER_MODE_DEFINES
# For the plugins, we don't use the warning flags defined by GNOME_COMPILE_WARNINGS.
# These flags include -Wmissing-prototypes, which we prefer not to use.
if test "x$GCC" = "xyes"; then
PLUGINS_WARN_CFLAGS="-Wall -Wnested-externs -Wpointer-arith"
fi
AC_SUBST(PLUGINS_WARN_CFLAGS)
dnl ================================================================
dnl Collect some arguments.
dnl ================================================================
AC_ARG_ENABLE(debug,
[AC_HELP_STRING([--enable-debug],
[enable debug build [default=no]])],,
[enable_debug="no"])
AM_CONDITIONAL([GLADE_DEBUG],[test "x$enable_debug" = "xyes"])
if test "x$enable_debug" = "xyes"; then
GLADE_DEBUG_FLAGS=-DGLADE_ENABLE_DEBUG
else
GLADE_DEBUG_FLAGS=
fi
AC_SUBST(GLADE_DEBUG_FLAGS)
dnl ================================================================
dnl Gettext stuff.
dnl ================================================================
IT_PROG_INTLTOOL([0.41.0])
GETTEXT_PACKAGE=AC_PACKAGE_NAME
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", [Name of the gettext package.])
dnl ================================================================
dnl va_copy.
dnl ================================================================
AC_MSG_CHECKING([how to copy va_list])
AC_TRY_LINK([#include <stdarg.h>], [va_list ap1, ap2; va_copy(ap1, ap2);],
AC_MSG_RESULT([va_copy]),
[ AH_TEMPLATE([va_copy], [define if va_copy is not available])
AC_TRY_LINK([#include <stdarg.h>], [va_list ap1, ap2; __va_copy(ap1, ap2);],
[ AC_DEFINE([va_copy], [__va_copy])
AC_MSG_RESULT([__va_copy])],
[ AC_DEFINE([va_copy(dest,src)], [memcpy(&dest,&src,sizeof(va_list))])
AC_MSG_RESULT([memcpy])]
)
])
dnl ================================================================
dnl Check for gtk-doc
dnl ================================================================
GTK_DOC_CHECK([1.13],[--flavour no-tmpl])
dnl ================================================================
dnl Check for introspection
dnl ================================================================
GOBJECT_INTROSPECTION_CHECK([1.32.0])
dnl ================================================================
dnl Check for gtk+
dnl ================================================================
GTK_REQUIRED=3.20.0
GLIB_REQUIRED=2.53.2
PKG_CHECK_MODULES([GTK],[
gtk+-3.0 >= $GTK_REQUIRED
glib-2.0 >= $GLIB_REQUIRED
gmodule-2.0
libxml-2.0 >= 2.4.0
])
PKG_CHECK_MODULES([GMODULE_EXPORT],[
gmodule-export-2.0
])
LT_LIB_M
dnl ================================================================
dnl Check for the unix print widgets in gtk+
dnl ================================================================
LIBS=$GTK_LIBS
AC_CHECK_FUNCS(gtk_print_unix_dialog_new,[have_unix_print=yes]; break,[have_unix_print=no])
AM_CONDITIONAL(HAVE_GTK_UNIX_PRINT, test x"$have_unix_print" = "xyes")
dnl ================================================================
dnl Python for optional python dev libs
dnl ================================================================
PYGOBJECT_REQUIRED_MAJOR=3
PYGOBJECT_REQUIRED_MINOR=8
PYGOBJECT_REQUIRED_MICRO=0
PYGOBJECT_REQS=$PYGOBJECT_REQUIRED_MAJOR.$PYGOBJECT_REQUIRED_MINOR.$PYGOBJECT_REQUIRED_MICRO
AC_ARG_ENABLE(python,
AS_HELP_STRING([--disable-python], [disable python catalog]),
check_python=$enableval, check_python=yes)
if test x"$check_python" = x"yes"; then
have_python=yes
PKG_CHECK_MODULES([PYGOBJECT],[pygobject-3.0 >= $PYGOBJECT_REQS],[have_pygobject=yes],[have_pygobject=no])
AM_CHECK_PYTHON_HEADERS(, [have_python_headers=no])
AM_CHECK_PYTHON_LIBS(, [have_python_lib=no])
if test x"$have_pygobject" = x"no"; then
have_python=no
fi
if test x"$have_python_headers" = x"no"; then
have_python=no
fi
if test x"$have_python_lib" = x"no"; then
have_python=no
fi
AC_DEFINE_UNQUOTED(PYGOBJECT_REQUIRED_MAJOR, $PYGOBJECT_REQUIRED_MAJOR, pygobject major version required)
AC_DEFINE_UNQUOTED(PYGOBJECT_REQUIRED_MINOR, $PYGOBJECT_REQUIRED_MINOR, pygobject minor version required)
AC_DEFINE_UNQUOTED(PYGOBJECT_REQUIRED_MICRO, $PYGOBJECT_REQUIRED_MICRO, pygobject micro version required)
else
have_python=no
fi
AM_CONDITIONAL(BUILD_PYTHON, test x"$have_python" = "xyes")
dnl ================================================================
dnl WebKit2GTK support
dnl ================================================================
WEBKIT2GTK_REQUIRED=2.12.0
AC_ARG_ENABLE(webkit2gtk,
AS_HELP_STRING([--disable-webkit2gtk], [disable webkit2gtk catalog]),
check_webkit2gtk=$enableval, check_webkit2gtk=yes)
if test x"$check_webkit2gtk" = x"yes"; then
PKG_CHECK_MODULES([WEBKIT2GTK],[webkit2gtk-4.0 >= $WEBKIT2GTK_REQUIRED],[have_webkit2gtk=yes],[have_webkit2gtk=no])
else
have_webkit2gtk=no
fi
AM_CONDITIONAL(BUILD_WEBKIT2GTK, test x"$have_webkit2gtk" = "xyes")
# ==================================================================
# Glade User Manual (requires yelp-tools)
# ==================================================================
YELP_HELP_INIT
# ==================================================================
# Man pages (requires xsltproc)
# ==================================================================
AC_ARG_ENABLE(man-pages,
AC_HELP_STRING([--enable-man-pages],
[build manual pages]),,
enable_man_pages=yes)
if test x$enable_man_pages = xyes; then
AC_PATH_PROG([XSLTPROC], [xsltproc])
if test x$XSLTPROC = x; then
AC_MSG_ERROR([xsltproc is required to build manual pages])
fi
fi
AM_CONDITIONAL(BUILD_MAN_PAGES, test x$enable_man_pages = xyes)
dnl ================================================================
dnl Check for windows
dnl ================================================================
case $host_os in
*mingw* | pw32* | cygwin*)
platform_win32=yes
;;
*)
platform_win32=no
;;
esac
AM_CONDITIONAL(PLATFORM_WIN32, test x"$platform_win32" = "xyes")
case $host_os in
*mingw*)
native_win32=yes
;;
*)
native_win32=no
;;
esac
AM_CONDITIONAL(NATIVE_WIN32, test x"$native_win32" = "xyes")
if test "$native_win32" = "yes"; then
AC_CHECK_TOOL(WINDRES, windres, no)
if test "$WINDRES" = no; then
AC_MSG_ERROR([*** Could not find an implementation of windres in your PATH.])
fi
fi
dnl ================================================================
dnl Check for GDK Quartz and MacOSX integration package
dnl ================================================================
_gdk_tgt=`$PKG_CONFIG --variable=targets gdk-3.0`
AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test x$_gdk_tgt = xquartz])
if test "x$_gdk_tgt" = xquartz; then
PKG_CHECK_MODULES(GTK_MAC, gtk-mac-integration-gtk3)
GTK_MAC_BUNDLE_FLAG=
AC_ARG_ENABLE(mac-bundle,
AS_HELP_STRING([--enable-mac-bundle], [enable mac bundling]),
build_bundle=yes, build_bundle=no)
if test "x$build_bundle" = xyes; then
AC_MSG_NOTICE([enableing mac bundle..])
GTK_MAC_BUNDLE_FLAG=-DMAC_BUNDLE
fi
AC_SUBST(GTK_MAC_BUNDLE_FLAG)
AC_SUBST(GTK_MAC_LIBS)
AC_SUBST(GTK_MAC_CFLAGS)
fi
dnl ================================================================
dnl Enable installation of Gladeui catalog
dnl ================================================================
AC_ARG_ENABLE([gladeui],
AS_HELP_STRING([--enable-gladeui],
[Enable installation of the Gladeui catalog]),
[enable_gladeui="$enableval"],[enable_gladeui="no"])
AM_CONDITIONAL(BUILD_GLADEUI, test x"$enable_gladeui" = "xyes")
dnl ================================================================
dnl Testing environment
dnl ================================================================
GLADE_TEST_ENVIRONMENT='GLADE_TESTING=1 GLADE_CATALOG_SEARCH_PATH=$(top_srcdir)/plugins/gtk+ GLADE_MODULE_SEARCH_PATH=$(top_builddir)/plugins/gtk+/.libs GLADE_PIXMAP_DIR=$(top_srcdir)/data/icons GLADE_ICON_THEME_PATH=$(top_srcdir)/plugins/gtk+/icons/22x22'
AC_SUBST(GLADE_TEST_ENVIRONMENT)
AC_SUBST([AM_CPPFLAGS])
AC_SUBST([AM_CFLAGS])
AC_SUBST([AM_CXXFLAGS])
AC_SUBST([AM_LDFLAGS])
AC_CONFIG_FILES([
Makefile
data/gladeui-2.0.pc
data/glade.desktop.in
data/Makefile
data/icons/Makefile
data/icons/hicolor/Makefile
data/icons/hicolor/16x16/Makefile
data/icons/hicolor/16x16/apps/Makefile
data/icons/hicolor/22x22/Makefile
data/icons/hicolor/22x22/apps/Makefile
data/icons/hicolor/24x24/Makefile
data/icons/hicolor/24x24/apps/Makefile
data/icons/hicolor/32x32/Makefile
data/icons/hicolor/32x32/apps/Makefile
data/icons/hicolor/48x48/Makefile
data/icons/hicolor/48x48/apps/Makefile
data/icons/hicolor/256x256/Makefile
data/icons/hicolor/256x256/apps/Makefile
data/icons/hicolor/scalable/Makefile
data/icons/hicolor/scalable/apps/Makefile
gladeui/Makefile
gladeui/gladeui.rc
gladeui/glade-previewer.rc
src/Makefile
src/glade.rc
plugins/Makefile
plugins/gtk+/Makefile
plugins/gtk+/icons/Makefile
plugins/gtk+/icons/16x16/Makefile
plugins/gtk+/icons/22x22/Makefile
plugins/python/Makefile
plugins/gladeui/Makefile
plugins/webkit2gtk/Makefile
po/Makefile.in
doc/Makefile
doc/version.xml
help/Makefile
man/Makefile
tests/Makefile
build/mingw-w64/glade.nsi
])
AC_OUTPUT
echo "
Configuration:
Source code location: ${srcdir}
Compiler: ${CC}
Debug Enabled: ${enable_debug}
GTK+ UNIX Print Widgets: ${have_unix_print}
PYTHON Widgets support: ${have_python}
Gladeui Catalog: ${enable_gladeui}
WebKit2GTK+ Catalog: ${have_webkit2gtk}
Introspection Data: ${found_introspection}
Build Reference Manual: ${enable_gtk_doc}
Build Manual Pages: ${enable_man_pages}
"

6
data/.gitignore vendored
View File

@ -1,4 +1,4 @@
/glade.desktop /org.gnome.Glade.desktop
/glade.desktop.in /org.gnome.Glade.desktop.in
/gladeui-1.0.pc /gladeui-1.0.pc
/glade.appdata.xml /org.gnome.Glade.appdata.xml

View File

@ -1,26 +0,0 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = icons
desktopdir = $(datadir)/applications
desktop_in_files = glade.desktop.in.in
desktop_DATA = $(desktop_in_files:.desktop.in.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gladeui-2.0.pc
@INTLTOOL_XML_RULE@
appdatadir = $(datadir)/metainfo
appdata_DATA = $(appdata_in_files:.xml.in=.xml)
appdata_in_files = glade.appdata.xml.in
EXTRA_DIST = \
$(appdata_in_files) \
$(desktop_in_files) \
gladeui-2.0.pc.in
CLEANFILES = \
$(desktop_DATA) \
$(pkgconfig_DATA) \
$(appdata_DATA)

View File

@ -0,0 +1,18 @@
<?xml version="1.0"?>
<its:rules xmlns:its="http://www.w3.org/2005/11/its"
xmlns:gt="https://www.gnu.org/s/gettext/ns/its/extensions/1.0"
version="2.0">
<its:translateRule selector="/glade-catalog" translate="no"/>
<its:translateRule selector="/glade-catalog//glade-widget-class/@title" translate="yes"/>
<its:translateRule selector="/glade-catalog//glade-widget-class//action/@name" translate="yes"/>
<its:translateRule selector="/glade-catalog//glade-widget-class//property/@name" translate="yes"/>
<its:translateRule selector="/glade-catalog//glade-widget-class//property//value/@name" translate="yes"/>
<its:translateRule selector="/glade-catalog//glade-widget-class//property/tooltip" translate="yes"/>
<its:translateRule selector="/glade-catalog//glade-widget-group/@title" translate="yes"/>
<!-- Extracted strings are consumed by the library and are never
merged back; we don't want to escape special characters. -->
<gt:escapeRule selector="/glade-catalog" escape="no"/>
</its:rules>

View File

@ -0,0 +1,6 @@
<?xml version="1.0"?>
<locatingRules>
<locatingRule name="GladeCatalog" pattern="*.xml">
<documentRule localName="glade-catalog" target="glade-catalog.its"/>
</locatingRule>
</locatingRules>

View File

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>glade.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+ and LGPL-2.0+</project_license>
<_name>Glade</_name>
<_summary>Create or open user interface designs for GTK+ applications</_summary>
<description>
<!-- To translators: AppData description first paragraph -->
<_p>
Glade is a RAD tool to enable quick &amp; easy development of user interfaces
for the GTK+ 3 toolkit and the GNOME desktop environment.
</_p>
<!-- To translators: AppData description second paragraph -->
<_p>
The user interfaces designed in Glade are saved as XML and these can be
loaded by applications dynamically as needed by using GtkBuilder or used
directly to define a new GtkWidget derived object class using
GTK+ new template feature.
</_p>
<!-- To translators: AppData description third paragraph -->
<_p>
By using GtkBuilder, Glade XML files can be used in numerous programming
languages including C, C++, C#, Vala, Java, Perl, Python, and others.
</_p>
</description>
<screenshots>
<screenshot type="default">
<image>https://glade.gnome.org/images/glade-main-page.png</image>
</screenshot>
</screenshots>
<url type="homepage">http://glade.gnome.org/</url>
<url type="bugtracker">https://bugzilla.gnome.org/enter_bug.cgi?product=glade</url>
<url type="donation">http://www.gnome.org/friends/</url>
<url type="help">https://help.gnome.org/users/glade/stable/</url>
<update_contact>juanpablougarte_at_gmail.com</update_contact>
<kudos>
<kudo>HiDpiIcon</kudo>
<kudo>ModernToolkit</kudo>
<kudo>UserDocs</kudo>
</kudos>
<project_group>GNOME</project_group>
<translation type="gettext">glade</translation>
</component>

View File

@ -1,18 +0,0 @@
[Desktop Entry]
_Name=Glade
_GenericName=Interface Designer
_X-GNOME-FullName=Glade Interface Designer
_Comment=Create or open user interface designs for GTK+ applications
_Keywords=GUI designer;user interface;ui builder;
Exec=glade %F
Terminal=false
StartupNotify=true
Type=Application
Icon=glade
Categories=GNOME;GTK;Development;GUIDesigner;
MimeType=application/x-glade;
X-GNOME-DocPath=glade/glade.xml
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=glade
X-GNOME-Bugzilla-Version=@VERSION@
X-GNOME-Bugzilla-Component=general

View File

@ -1,19 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
datarootdir=@datarootdir@
datadir=@datadir@
includedir=@includedir@/libgladeui-2.0
catalogdir=@datadir@/@PACKAGE@/catalogs
pixmapdir=@datadir@/@PACKAGE@/pixmaps
moduledir=@libdir@/@PACKAGE@/modules
Name: Glade
Description: Glade interface designer library
URL: http://glade.gnome.org
Version: @PACKAGE_VERSION@
Requires: gtk+-3.0 >= 2.91.2 libxml-2.0 >= 2.4.0
Libs: -L${libdir} -lgladeui-2
Libs.private: -lm
Cflags: -I${includedir}

View File

@ -1,27 +0,0 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = hicolor
gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
install-data-hook: update-icon-cache
uninstall-hook: update-icon-cache
update-icon-cache:
@-if test -z "$(DESTDIR)"; then \
echo "Updating Gtk icon cache."; \
$(gtk_update_icon_cache); \
else \
echo "*** Icon cache not updated. After (un)install, run this:"; \
echo "*** $(gtk_update_icon_cache)"; \
fi
pixmapsdir = $(pkgdatadir)/pixmaps
pixmaps_DATA = devhelp.png \
plus.png \
fixed-bg.png placeholder.png \
deprecated-16x16.png \
deprecated-22x22.png
EXTRA_DIST = $(pixmaps_DATA) glade.ico

View File

@ -1 +0,0 @@
SUBDIRS = apps

View File

@ -1,6 +0,0 @@
## Process this file with automake to produce Makefile.in
appicondir = $(datadir)/icons/hicolor/16x16/apps
appicon_DATA = glade.png
EXTRA_DIST = $(appicon_DATA) glade.xcf

Binary file not shown.

Before

Width:  |  Height:  |  Size: 852 B

View File

@ -1 +0,0 @@
SUBDIRS = apps

View File

@ -1,6 +0,0 @@
## Process this file with automake to produce Makefile.in
appicondir = $(datadir)/icons/hicolor/22x22/apps
appicon_DATA = glade.png
EXTRA_DIST = $(appicon_DATA) glade.xcf

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1 +0,0 @@
SUBDIRS = apps

View File

@ -1,6 +0,0 @@
## Process this file with automake to produce Makefile.in
appicondir = $(datadir)/icons/hicolor/24x24/apps
appicon_DATA = glade.png
EXTRA_DIST = $(appicon_DATA)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1 +0,0 @@
SUBDIRS = apps

View File

@ -1,6 +0,0 @@
## Process this file with automake to produce Makefile.in
appicondir = $(datadir)/icons/hicolor/256x256/apps
appicon_DATA = glade.png
EXTRA_DIST = $(appicon_DATA)

View File

@ -1,6 +0,0 @@
## Process this file with automake to produce Makefile.in
appicondir = $(datadir)/icons/hicolor/24x24/apps
appicon_DATA = glade.png
EXTRA_DIST = $(appicon_DATA)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

View File

@ -1 +0,0 @@
SUBDIRS = apps

View File

@ -1,6 +0,0 @@
## Process this file with automake to produce Makefile.in
appicondir = $(datadir)/icons/hicolor/32x32/apps
appicon_DATA = glade.png
EXTRA_DIST = $(appicon_DATA) glade.svg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -1,771 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://web.resource.org/cc/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
id="svg4908"
sodipodi:version="0.32"
inkscape:version="0.44+devel"
sodipodi:docname="glade.svg"
sodipodi:docbase="/home/andreas/project/application icons/32x32"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:export-filename="/home/andreas/project/application icons/32x32/glade.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90"
version="1.0"
sodipodi:modified="true">
<defs
id="defs4910">
<linearGradient
id="linearGradient22140">
<stop
style="stop-color:black;stop-opacity:0;"
offset="0"
id="stop22142" />
<stop
id="stop22148"
offset="0.5"
style="stop-color:black;stop-opacity:1;" />
<stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop22144" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient22140"
id="linearGradient23044"
gradientUnits="userSpaceOnUse"
x1="18.142136"
y1="35"
x2="18.142136"
y2="42.040661" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient22122"
id="radialGradient23042"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,-1.000001,1.142856,0,-89.10259,-31.49999)"
cx="7"
cy="39.464806"
fx="7"
fy="39.464806"
r="3.5" />
<linearGradient
inkscape:collect="always"
id="linearGradient22122">
<stop
style="stop-color:black;stop-opacity:1;"
offset="0"
id="stop22124" />
<stop
style="stop-color:black;stop-opacity:0;"
offset="1"
id="stop22126" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient22122"
id="radialGradient23040"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,-1.000001,1.142856,0,-41.10259,45.50001)"
cx="7"
cy="39.464806"
fx="7"
fy="39.464806"
r="3.5" />
<linearGradient
inkscape:collect="always"
id="linearGradient7025">
<stop
style="stop-color:#e6ce46;stop-opacity:1"
offset="0"
id="stop7027" />
<stop
style="stop-color:#d6ba1c;stop-opacity:1"
offset="1"
id="stop7029" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient7025"
id="linearGradient10840"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(53,1.428571)"
x1="13.630114"
y1="28.5"
x2="25.208096"
y2="41.180992" />
<linearGradient
inkscape:collect="always"
id="linearGradient7780">
<stop
style="stop-color:#888a85;stop-opacity:1;"
offset="0"
id="stop7782" />
<stop
style="stop-color:#888a85;stop-opacity:0;"
offset="1"
id="stop7784" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient7752">
<stop
style="stop-color:#888a85;stop-opacity:1"
offset="0"
id="stop7754" />
<stop
style="stop-color:#888a85;stop-opacity:0"
offset="1"
id="stop7756" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient7744">
<stop
style="stop-color:#888a85;stop-opacity:1"
offset="0"
id="stop7746" />
<stop
style="stop-color:#888a85;stop-opacity:0"
offset="1"
id="stop7748" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient7736">
<stop
style="stop-color:#c1c7bc;stop-opacity:1;"
offset="0"
id="stop7738" />
<stop
style="stop-color:#e8eae6;stop-opacity:1"
offset="1"
id="stop7740" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient7728">
<stop
style="stop-color:#d3d7cf;stop-opacity:1"
offset="0"
id="stop7730" />
<stop
style="stop-color:#eeeeec;stop-opacity:1"
offset="1"
id="stop7732" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient7720">
<stop
style="stop-color:#555753;stop-opacity:1;"
offset="0"
id="stop7722" />
<stop
style="stop-color:#555753;stop-opacity:0;"
offset="1"
id="stop7724" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient7686">
<stop
style="stop-color:#555753;stop-opacity:1;"
offset="0"
id="stop7688" />
<stop
style="stop-color:#555753;stop-opacity:0;"
offset="1"
id="stop7690" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient6997">
<stop
style="stop-color:#babdb6;stop-opacity:1;"
offset="0"
id="stop6999" />
<stop
style="stop-color:#d7d9d5;stop-opacity:1"
offset="1"
id="stop7001" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient6905">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6907" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop6909" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient4790">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop4792" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop4794" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient4790"
id="radialGradient4796"
cx="37.030354"
cy="12.98915"
fx="37.030354"
fy="12.98915"
r="4.2929163"
gradientTransform="matrix(-1.5795056,0,0,0.9498629,62.524548,-3.1435399)"
gradientUnits="userSpaceOnUse" />
<linearGradient
id="linearGradient269">
<stop
id="stop270"
offset="0.0000000"
style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
<stop
id="stop271"
offset="1"
style="stop-color:#8a8a8a;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient259">
<stop
id="stop260"
offset="0.0000000"
style="stop-color:#729fcf;stop-opacity:1" />
<stop
id="stop261"
offset="1.0000000"
style="stop-color:#204a87;stop-opacity:1.0000000" />
</linearGradient>
<linearGradient
inkscape:collect="always"
id="linearGradient2251">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop2253" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop2255" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2251"
id="linearGradient8166"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.2961811e-2,-0.6857104,-0.7001194,-2.2489236e-2,30.580101,31.011455)"
x1="32.862488"
y1="36.028366"
x2="34.170048"
y2="38.070381" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6905"
id="linearGradient6959"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(11.30501,19.746952)"
x1="-15.909902"
y1="16.003418"
x2="-23"
y2="16.091806" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6905"
id="linearGradient6962"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-35,-4.5078057)"
x1="-15.909902"
y1="16.003418"
x2="-23"
y2="16.091806" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6997"
id="linearGradient7003"
x1="-17.235727"
y1="17.947962"
x2="-17.324116"
y2="32.53204"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient7686"
id="linearGradient7692"
x1="35.47406"
y1="36.912945"
x2="35.47406"
y2="39.351414"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7494886,0,0,0.7313296,-0.130915,-3.1911008)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient7720"
id="linearGradient7726"
x1="-8.28125"
y1="12.475584"
x2="-8.28125"
y2="6.2509766"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.2909093,0,0,0.1748634,-24.09091,4.1256829)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient7728"
id="radialGradient7734"
cx="8.3376141"
cy="40.582108"
fx="8.3376141"
fy="40.582108"
r="20.500002"
gradientTransform="matrix(-0.7220896,5.1346809e-8,8.5653087e-7,0.6522647,32.925823,-0.8066207)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient7736"
id="linearGradient7742"
x1="38.944931"
y1="12.11484"
x2="37.306168"
y2="13.392819"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(-0.6904882,0,0,0.7398648,31.536239,-3.0489861)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient7744"
id="linearGradient7750"
x1="18.384777"
y1="22"
x2="23.292892"
y2="22"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.8000001,0,0,0.5,-0.2000016,2.4999997)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient7752"
id="linearGradient7758"
x1="15.114408"
y1="27"
x2="20.019962"
y2="27"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.857143,0,0,0.5,-1.0000023,3.9999994)" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient7780"
id="linearGradient7786"
x1="20.875"
y1="14.249998"
x2="20.875"
y2="18.437498"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.7410819,0,0,0.6666666,6.21347e-2,-2.0000004)" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient22122"
id="radialGradient5157"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,-1.000001,1.142856,0,-41.10259,45.50001)"
cx="7"
cy="39.464806"
fx="7"
fy="39.464806"
r="3.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient22122"
id="radialGradient5159"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,-1.000001,1.142856,0,-89.10259,-31.49999)"
cx="7"
cy="39.464806"
fx="7"
fy="39.464806"
r="3.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient22140"
id="linearGradient5161"
gradientUnits="userSpaceOnUse"
x1="18.142136"
y1="35"
x2="18.142136"
y2="42.040661" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient22122"
id="radialGradient6150"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,-1.000001,1.142856,0,-41.10259,45.50001)"
cx="7"
cy="39.464806"
fx="7"
fy="39.464806"
r="3.5" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient22122"
id="radialGradient6152"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0,-1.000001,1.142856,0,-89.10259,-31.49999)"
cx="7"
cy="39.464806"
fx="7"
fy="39.464806"
r="3.5" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient22140"
id="linearGradient6154"
gradientUnits="userSpaceOnUse"
x1="18.142136"
y1="35"
x2="18.142136"
y2="42.040661" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient7025"
id="linearGradient6156"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(53,1.428571)"
x1="13.630114"
y1="28.5"
x2="25.208096"
y2="41.180992" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="15.999999"
inkscape:cx="33.76609"
inkscape:cy="20.586245"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="1674"
inkscape:window-height="968"
inkscape:window-x="0"
inkscape:window-y="26"
showguides="true"
inkscape:guide-bbox="true"
width="32px"
height="32px" />
<metadata
id="metadata4913">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1"
inkscape:label="Layer 1"
inkscape:groupmode="layer">
<g
id="g5149"
style="opacity:0.3"
transform="matrix(-0.6666667,0,0,0.5714286,32,6)">
<rect
y="35"
x="0"
height="7"
width="4"
id="rect5151"
style="opacity:1;fill:url(#radialGradient5157);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1" />
<rect
transform="scale(-1,-1)"
y="-42"
x="-48"
height="7"
width="4"
id="rect5153"
style="opacity:1;fill:url(#radialGradient5159);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1" />
<rect
y="35"
x="4"
height="7"
width="40"
id="rect5155"
style="opacity:1;fill:url(#linearGradient5161);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1" />
</g>
<path
style="fill:url(#radialGradient7734);fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
d="M 29.294093,2.4999998 L 8.7293434,2.4999998 C 8.6152711,2.4999998 1.5,9.7905242 1.5,9.9074054 L 1.5,28.289021 C 1.5,28.405903 1.5918342,28.499999 1.7059065,28.499999 L 29.294093,28.499999 C 29.408166,28.499999 29.5,28.405903 29.5,28.289021 L 29.5,2.7109774 C 29.5,2.5940958 29.565495,2.4084486 29.294093,2.4999998 z "
id="rect4916"
sodipodi:nodetypes="ccccccccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:url(#linearGradient7692);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 26.500001,26.500001 L 26.500001,7.5000002 L 5.5000002,7.5000002 L 5.5000002,23.548695 L 18.151658,23.548695"
id="path4974"
sodipodi:nodetypes="ccccc" />
<path
style="opacity:0.64130435;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
d="M 2.4999999,9.5909104 L 8.5838808,3.5000002 L 28.437499,3.5000002 L 28.437499,27.500002 L 2.4999999,27.500002 L 2.4999999,9.5909104 z "
id="rect5887"
sodipodi:nodetypes="cccccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#555753;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 4.5377704,10.5 L 27.978076,10.5"
id="path4976" />
<path
inkscape:r_cy="true"
inkscape:r_cx="true"
style="opacity:0.35714285;color:#000000;fill:url(#radialGradient4796);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
d="M 1.3527051,9.6855718 C 2.0121209,8.6892491 6.877972,6.9254979 9.4107408,6.3339567 C 9.2572783,7.4977242 9.5218979,11.008446 9.5218979,11.008446 C 7.6546325,9.9911316 2.0595082,9.5656294 1.3527051,9.6855718 z "
id="path5348"
sodipodi:nodetypes="cccc" />
<rect
style="opacity:0.64130435;fill:url(#linearGradient7786);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect7778"
width="20.009211"
height="2"
x="5.9907894"
y="8" />
<path
style="opacity:1;color:#000000;fill:url(#linearGradient7742);fill-opacity:1;fill-rule:nonzero;stroke:#888a85;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
d="M 1.5000141,9.9760969 C 1.4909238,8.9290832 5.8863647,2.4241096 8.5672434,2.5006702 C 7.8953721,2.673055 7.3586439,7.0641785 8.3182291,9.1450482 C 6.4193865,9.1450482 2.1655515,8.6012994 1.5000141,9.9760969 z "
id="path2210"
sodipodi:nodetypes="cccc"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
sodipodi:nodetypes="cccc"
id="path2247"
d="M 2.6785155,8.0439173 C 3.1887299,7.1200246 5.5915523,4.5658067 6.9383154,3.7171098 C 6.7709389,4.6953545 6.5621107,6.2435454 6.9933638,8.0015394 C 6.9933638,8.0015394 3.2253952,7.9326947 2.6785155,8.0439173 z "
style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient8166);stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
inkscape:r_cx="true"
inkscape:r_cy="true" />
<path
sodipodi:type="arc"
style="opacity:0.78260869;fill:none;fill-opacity:1;stroke:#555753;stroke-width:2.43027735;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path4978"
sodipodi:cx="11.136932"
sodipodi:cy="23.604815"
sodipodi:rx="2.3864856"
sodipodi:ry="2.4748738"
d="M 13.523418 23.604815 A 2.3864856 2.4748738 0 1 1 8.7504468,23.604815 A 2.3864856 2.4748738 0 1 1 13.523418 23.604815 z"
transform="matrix(0.4190262,0,0,0.4040609,3.833333,3.9622167)" />
<path
sodipodi:type="arc"
style="opacity:0.78260869;fill:none;fill-opacity:1;stroke:#555753;stroke-width:2.43027806;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path5951"
sodipodi:cx="11.136932"
sodipodi:cy="23.604815"
sodipodi:rx="2.3864856"
sodipodi:ry="2.4748738"
d="M 13.523418 23.604815 A 2.3864856 2.4748738 0 1 1 8.7504468,23.604815 A 2.3864856 2.4748738 0 1 1 13.523418 23.604815 z"
transform="matrix(0.4190262,0,0,0.404061,3.8333336,7.9622149)" />
<rect
style="opacity:1;fill:url(#linearGradient7750);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect5955"
width="8.000001"
height="1"
x="11"
y="13"
rx="0"
ry="0" />
<rect
style="opacity:1;fill:url(#linearGradient7758);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect5957"
width="6"
height="1"
x="11"
y="17"
rx="0"
ry="0" />
<rect
style="opacity:1;fill:#555753;fill-opacity:1;stroke:none;stroke-width:1.00000036;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect5963"
width="1"
height="1"
x="-8"
y="-28"
transform="matrix(0,-1,-1,0,0,0)" />
<path
style="fill:none;fill-rule:evenodd;stroke:#555753;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
d="M 19.36965,19.5 L 13.5,19.5 L 13.5,21.5 L 20.5,21.5 L 20.5,20.680407"
id="path5965"
sodipodi:nodetypes="ccccc" />
<rect
style="opacity:1;fill:url(#linearGradient7726);fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="rect7718"
width="1.0000006"
height="2"
x="-27"
y="5"
transform="scale(-1,1)" />
<g
id="g22150"
style="opacity:0.3"
transform="matrix(-0.916667,0,0,0.714282,48,18.00012)">
<rect
y="35"
x="0"
height="7"
width="4"
id="rect22120"
style="opacity:1;fill:url(#radialGradient23040);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1" />
<rect
transform="scale(-1,-1)"
y="-42"
x="-48"
height="7"
width="4"
id="rect22134"
style="opacity:1;fill:url(#radialGradient23042);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1" />
<rect
y="35"
x="4"
height="7"
width="40"
id="rect22138"
style="opacity:1;fill:url(#linearGradient23044);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1" />
</g>
<g
id="g10824"
transform="matrix(-1,0,0,1,152,-1.9285711)">
<path
id="path4319"
d="M 57.5,14.928571 L 57.5,44.928571 L 96.5,44.928571 L 57.5,14.928571 z M 63.5,27.928571 L 78.5,38.928571 L 63.5,38.928571 L 63.5,27.928571 z "
style="fill:url(#linearGradient10840);fill-opacity:1;fill-rule:evenodd;stroke:#a38503;stroke-width:1.00000024px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path4326"
d="M 61.5,44.928571 L 61.5,41.928571"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path4328"
d="M 67.5,44.928571 L 67.5,41.928571"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path4330"
d="M 73.5,44.928571 L 73.5,41.964285"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path4332"
d="M 79.5,44.928571 L 79.5,41.928571"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path4334"
d="M 85.5,44.928571 L 85.5,41.928571"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path6126"
d="M 58.500002,16.928575 L 58.500002,43.928586 L 93.500014,43.928586 L 58.500002,16.928575 z "
style="opacity:0.4;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<path
style="opacity:0.4;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 89.455805,39.509552 L 89.5,25.5 L 70.415961,39.530368 L 89.455805,39.509552 z "
id="path12221"
sodipodi:nodetypes="cccc" />
<g
id="g6123"
style="opacity:0.3"
transform="matrix(-0.642788,0,0,0.499897,32,10.004326)">
<rect
y="35"
x="0"
height="7"
width="4"
id="rect6125"
style="opacity:1;fill:url(#radialGradient6150);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1" />
<rect
transform="scale(-1,-1)"
y="-42"
x="-48"
height="7"
width="4"
id="rect6127"
style="opacity:1;fill:url(#radialGradient6152);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1" />
<rect
y="35"
x="4"
height="7"
width="40"
id="rect6129"
style="opacity:1;fill:url(#linearGradient6154);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:1.20000057;stroke-opacity:1" />
</g>
<g
id="g6131"
transform="matrix(-0.712014,0,0,0.705285,72.47014,-2.2704347)">
<path
id="path6133"
d="M 57.5,14.928571 L 57.5,44.928571 L 96.5,44.928571 L 57.5,14.928571 z M 63.236662,27.131021 L 77.534429,37.865171 L 63.148883,37.953788 L 63.236662,27.131021 z "
style="fill:url(#linearGradient6156);fill-opacity:1;fill-rule:evenodd;stroke:#a38503;stroke-width:1.4111501px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:nodetypes="cccccccc" />
<path
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1.41114986px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
d="M 88.396719,44.928571 L 88.396719,41.928571"
id="path1912"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path6136"
d="M 61.675558,44.928571 L 61.675558,41.928571"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1.41114986px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path6138"
d="M 67.324442,44.928571 L 67.324442,41.928571"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1.41114986px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path6140"
d="M 72.973326,44.928571 L 72.973326,41.964285"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1.41114986px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path6142"
d="M 78.534431,44.928571 L 78.534431,41.928571"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1.41114986px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path6144"
d="M 82.778851,44.928571 L 82.778851,41.928571"
style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#a38503;stroke-width:1.41114986px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
<path
id="path6146"
d="M 58.893688,17.726124 L 58.893688,43.628368 L 92.40573,43.628368 L 58.893688,17.726124 z "
style="opacity:0.4;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.41115046px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
sodipodi:nodetypes="cccc" />
</g>
<path
style="opacity:0.4;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.9999997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 28.530931,25.46829 L 28.499421,14.788571 L 14.24226,25.482858 L 28.530931,25.46829 z "
id="path6148"
sodipodi:nodetypes="cccc" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 30 KiB

View File

@ -1 +0,0 @@
SUBDIRS = apps

View File

@ -1,6 +0,0 @@
## Process this file with automake to produce Makefile.in
appicondir = $(datadir)/icons/hicolor/48x48/apps
appicon_DATA = glade.png
EXTRA_DIST = $(appicon_DATA)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -1,3 +0,0 @@
SUBDIRS = 16x16 22x22 24x24 32x32 48x48 256x256 scalable
EXTRA_DIST = source.svg

View File

@ -1 +0,0 @@
SUBDIRS = apps

View File

@ -1,9 +0,0 @@
## Process this file with automake to produce Makefile.in
appicondir = $(datadir)/icons/hicolor/scalable/apps
appicon_DATA = \
glade-symbolic.svg \
glade-brand-symbolic.svg \
$(NULL)
EXTRA_DIST = $(appicon_DATA)

View File

@ -1,24 +0,0 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg xmlns:cc='http://creativecommons.org/ns#' xmlns:dc='http://purl.org/dc/elements/1.1/' sodipodi:docname='glade-symbolic.svg' height='16' id='svg7384' xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape' xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#' xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd' xmlns:svg='http://www.w3.org/2000/svg' inkscape:version='0.48.2 r9819' version='1.1' width='16' xmlns='http://www.w3.org/2000/svg'>
<metadata id='metadata90'>
<rdf:RDF>
<cc:Work rdf:about=''>
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource='http://purl.org/dc/dcmitype/StillImage'/>
<dc:title>Gnome Symbolic Icon Theme</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview inkscape:bbox-paths='true' bordercolor='#666666' borderopacity='1' inkscape:current-layer='layer9' inkscape:cx='-90.232938' inkscape:cy='4.5711963' gridtolerance='10' inkscape:guide-bbox='true' guidetolerance='10' id='namedview88' inkscape:object-nodes='false' inkscape:object-paths='false' objecttolerance='10' pagecolor='#555753' inkscape:pageopacity='1' inkscape:pageshadow='2' showborder='false' showgrid='true' showguides='true' inkscape:snap-bbox='false' inkscape:snap-bbox-midpoints='false' inkscape:snap-global='true' inkscape:snap-grids='true' inkscape:snap-nodes='true' inkscape:snap-others='false' inkscape:snap-to-guides='true' inkscape:window-height='1381' inkscape:window-maximized='1' inkscape:window-width='2560' inkscape:window-x='1600' inkscape:window-y='27' inkscape:zoom='16'>
<inkscape:grid empspacing='2' enabled='true' id='grid4866' snapvisiblegridlinesonly='true' spacingx='1px' spacingy='1px' type='xygrid' visible='true'/>
</sodipodi:namedview>
<title id='title9167'>Gnome Symbolic Icon Theme</title>
<defs id='defs7386'/>
<g inkscape:groupmode='layer' id='layer9' inkscape:label='apps' style='display:inline' transform='translate(-223.0002,-215)'>
<path inkscape:connector-curvature='0' d='m 238.0002,220.68977 0,8.31023 -14,0 z m -2,3.95138 -4,2.35885 4,0 z' id='path4349' sodipodi:nodetypes='cccccccc' style='fill:#bebebe;fill-opacity:1;stroke:none;display:inline'/>
<path inkscape:connector-curvature='0' d='m 229.5627,216 c -0.26406,-0.006 -0.52897,0.0965 -0.71875,0.28125 l -3.5625,3.59375 c -0.1837,0.19087 -0.28735,0.45317 -0.28125,0.71875 l 0,6.21875 2,-1.21875 0,-4.5625 3,0 0,-3.03125 5,0 0,2.8125 2,-1.21875 0,-2.59375 c 0.008,-0.46929 -0.3541,-0.912 -0.8125,-1 -0.0312,-0.001 -0.0625,-0.001 -0.0937,0 -0.0312,-0.001 -0.0625,-0.001 -0.0937,0 z m -4.5625,14 0,0.0937 c 5e-5,0.52661 0.47642,0.9062 1,0.90625 l 10,0 c 0.52358,-5e-5 0.99995,-0.37964 1,-0.90625 l 0,-0.0937 z' id='path1234-4' sodipodi:nodetypes='cccccccccccccccccccccccc' style='font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:1.99999988;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans'/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 97 KiB

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 176 KiB

View File

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -0,0 +1,125 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="glade-symbolic.svg"
height="16"
id="svg7384"
inkscape:version="0.92.2 2405546, 2018-03-11"
version="1.1"
width="16">
<metadata
id="metadata90">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>Gnome Symbolic Icon Theme</dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
inkscape:bbox-paths="true"
bordercolor="#666666"
borderopacity="1"
inkscape:current-layer="layer9"
inkscape:cx="20.812152"
inkscape:cy="4.0924638"
gridtolerance="10"
inkscape:guide-bbox="true"
guidetolerance="10"
id="namedview88"
inkscape:object-nodes="false"
inkscape:object-paths="false"
objecttolerance="10"
pagecolor="#555753"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
showborder="true"
showgrid="false"
showguides="true"
inkscape:snap-bbox="true"
inkscape:snap-bbox-midpoints="false"
inkscape:snap-global="true"
inkscape:snap-grids="true"
inkscape:snap-nodes="true"
inkscape:snap-others="false"
inkscape:snap-to-guides="true"
inkscape:window-height="1381"
inkscape:window-maximized="1"
inkscape:window-width="2560"
inkscape:window-x="1600"
inkscape:window-y="27"
inkscape:zoom="1"
borderlayer="true"
inkscape:showpageshadow="false">
<inkscape:grid
empspacing="2"
enabled="true"
id="grid4866"
snapvisiblegridlinesonly="true"
spacingx="1"
spacingy="1"
type="xygrid"
visible="true"
originx="0"
originy="0" />
</sodipodi:namedview>
<title
id="title9167">Gnome Symbolic Icon Theme</title>
<defs
id="defs7386" />
<g
inkscape:groupmode="layer"
id="layer9"
inkscape:label="apps"
style="display:inline"
transform="translate(-223.0002,-215)">
<path
inkscape:connector-curvature="0"
d="m 239.00778,222.70429 v 8.31023 h -14 z m -2,3.95138 -4,2.35885 h 4 z"
id="path4349"
sodipodi:nodetypes="cccccccc"
style="display:inline;fill:#3d3846;fill-opacity:1;stroke:none;enable-background:new" />
<circle
r="1.5"
cy="219.51451"
cx="227.50777"
id="circle1750"
style="display:inline;opacity:1;vector-effect:none;fill:#3d3846;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" />
<path
style="display:inline;opacity:1;vector-effect:none;fill:none;fill-opacity:0.99607843;stroke:#3d3846;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
d="m 224.00778,229.01452 v -13 h 14 v 4"
id="path1752"
inkscape:connector-curvature="0" />
<rect
style="display:inline;opacity:1;vector-effect:none;fill:#3d3846;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
id="rect1754"
width="5"
height="1"
x="230.00777"
y="219.01451" />
<circle
style="display:inline;opacity:1;vector-effect:none;fill:#3d3846;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new"
id="circle1761"
cx="227.50777"
cy="223.51451"
r="1.5" />
<rect
y="223.01451"
x="230.00777"
height="1"
width="5"
id="rect1763"
style="display:inline;opacity:1;vector-effect:none;fill:#3d3846;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;enable-background:new" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.0 KiB

65
data/meson.build Normal file
View File

@ -0,0 +1,65 @@
desktop_conf = configuration_data()
desktop_conf.set('VERSION', glade_version)
i18n.merge_file(
type: 'desktop',
input: configure_file(
input: 'org.gnome.Glade.desktop.in.in',
output: '@BASENAME@',
configuration: desktop_conf,
),
output: '@BASENAME@',
po_dir: po_dir,
install: true,
install_dir: glade_datadir / 'applications',
)
appdata = glade_name + '.appdata.xml'
i18n.merge_file(
input: 'org.gnome.Glade.appdata.xml.in',
output: '@BASENAME@',
po_dir: po_dir,
install: true,
install_dir: glade_datadir / 'metainfo',
)
# FIXME: replace these by install_subdir once autotools is removed
install_data(
'icons/hicolor/scalable/apps/org.gnome.Glade.svg',
install_dir: glade_datadir / 'icons/hicolor/scalable/apps',
)
icon_symbolic_data = files(
'icons/hicolor/symbolic/apps/glade-brand-symbolic.svg',
'icons/hicolor/symbolic/apps/org.gnome.Glade-symbolic.svg',
)
install_data(
icon_symbolic_data,
install_dir: glade_datadir / 'icons/hicolor/symbolic/apps',
)
pixmaps_data = files(
'icons/deprecated-16x16.png',
'icons/deprecated-22x22.png',
'icons/devhelp.png',
'icons/fixed-bg.png',
'icons/placeholder.png',
'icons/plus.png',
)
install_data(
pixmaps_data,
install_dir: glade_datadir / glade_pixmapdir,
)
its_data = files(
'gettext/its/glade-catalog.its',
'gettext/its/glade-catalog.loc',
)
install_data(
its_data,
install_dir: glade_datadir / 'gettext/its',
)

View File

@ -0,0 +1,171 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>org.gnome.Glade</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+ and LGPL-2.0+</project_license>
<name>Glade</name>
<summary>Create or open user interface designs for GTK+ applications</summary>
<description>
<!-- To translators: AppData description first paragraph -->
<p>
Glade is a RAD tool to enable quick &amp; easy development of user interfaces
for the GTK+ 3 toolkit and the GNOME desktop environment.
</p>
<!-- To translators: AppData description second paragraph -->
<p>
The user interfaces designed in Glade are saved as XML and these can be
loaded by applications dynamically as needed by using GtkBuilder or used
directly to define a new GtkWidget derived object class using
GTK+ new template feature.
</p>
<!-- To translators: AppData description third paragraph -->
<p>
By using GtkBuilder, Glade XML files can be used in numerous programming
languages including C, C++, C#, Vala, Java, Perl, Python, and others.
</p>
</description>
<screenshots>
<screenshot type="default">
<image>https://glade.gnome.org/images/glade-main-page.png</image>
</screenshot>
</screenshots>
<provides>
<id>glade.desktop</id>
</provides>
<launchable type="desktop-id">org.gnome.Glade.desktop</launchable>
<url type="homepage">https://glade.gnome.org/</url>
<url type="bugtracker">https://gitlab.gnome.org/GNOME/glade/issues</url>
<url type="donation">https://www.gnome.org/friends/</url>
<url type="help">https://help.gnome.org/users/glade/stable/</url>
<update_contact>juanpablougarte_at_gmail.com</update_contact>
<kudos>
<kudo>HiDpiIcon</kudo>
<kudo>ModernToolkit</kudo>
<kudo>UserDocs</kudo>
</kudos>
<project_group>GNOME</project_group>
<translation type="gettext">glade</translation>
<releases>
<release version="3.40.0" date="2022-08-10">
<description>
<p>Last Release!
Glade is not being actively developed or maintained anymore.
If you are interested in becoming a maintainer please contact us on gitlab.
</p>
<ul>
<li>Remove survey</li>
<li>Add user manual menu item (Sabri Ünal)</li>
<li>'Clear' action in "Setup Text Attributes" dialog now clears only selected attributes (crvi)</li>
<li>Fix windows build on msys</li>
<li>Fix build against Python 3.9</li>
<li>Fix issue pasing widget with ctrl+v in GtkGrid</li>
<li>Several bug fixes</li>
</ul>
</description>
<issues>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/502">Fix issue #502 sync draw-indicator on setting xalign (Caolán McNamara)</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/499">Fix issue #499 and #509 "Drop overzealous check using only the first child"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/385">Fix Segfault in gnome-builder when widget doesn't have a name (Peter Maatman)</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/373">Fix issue #373 "Move separator in hamburger menu one up, to be consistent with other GNOME applications"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/484">Fix issue #484 "Crash with GtkRecentChooserDialog"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/194">Fix issue #194 "Using List Store can result in program crash."</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/53">Fix issue #53 "Can't choose a FileChooserDialog for a FileChooserButton"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/98">Fix issue #98 #491</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/355">Fix issue #355 "Make notification text selectable"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/360">Fix issue #360 "No examples in documentation on using custom catalogues with gtkBuilder"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/406">Fix issue #406 "AtkObject::accessible-role should not be translatable"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/479">Fix issue #479 "Glade 3.36.0 segfaults when opening a file"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/471">Fix issue #471 "XML not updated after adding element"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/474">Fix issue #474 "GtkLabel: setup text attribute issues"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/480">Fix issue #480 "version field not always updated in XML"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/470">Fix issue #470 "Widgets of type need placeholders to add children"</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/472">Fix issue #472 "gnome-nightly: About dialog should display git commit rev"</issue>
</issues>
</release>
<release version="3.38.0" date="2020-09-12">
<description>
<p>Glade 3.38.0 release!</p>
<ul>
<li>Load template files as new GTypes and add them to "User templates" widget group automatically without the need of a catalog</li>
<li>Added JavaScript widget support</li>
<li>Use version data from gir to improve deprecation/target tests</li>
<li>Implement survey using new backend at surveys.gnome.org</li>
<li>Keep survey state in config file</li>
<li>Associate with application/x-gtk-builder (Caolán McNamara)</li>
<li>Project properties dialog improvements. (Use headerbar, stack and stach switcher, add warnings textview)</li>
<li>Improve toolkit target version selection in project properties dialog</li>
<li>Improve treemodel char data type handling</li>
<li>Remove autotools (Iñigo Martínez)</li>
<li>New gjs-1.0 1.64 dependency</li>
<li>Bump Gtk dependency to 3.24</li>
<li>Bump webkit2gtk dependency to 2.28</li>
<li>Fixed all compiler/gir warnings</li>
</ul>
</description>
<issues>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/385">Issue #385: GtkCellRendererText causes deprecated warnings for ghost properties</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/444">Issue #444: show-emoji-icon is missing "minimum version"/since constraint</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/367">Issue #367: Glade removes double/triple slashes from URLs</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/452">Issue #452: GtkComboBox cell renderers editor is too hard to discover</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/363">Issue #363: Toplevel windows are leaked when closing a project</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/462">Issue #462: Crash when creating a new GtkAssistant and pressing it</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/463">Issue #463: Specify file on command line</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/461">Issue #461: Glade resets number of rows and columns in GtkGrid</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/460">Issue #460: 3.37.0: test suite fails because glade uses incorrectly asserts in test units</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/412">Issue #412: Fix inconsistent "top-level", "top level", "toplevel" spelling in translatable strings</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/281">Issue #281: GladeProperty: Do not replace - with _</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/389">Issue #389: GladeProject: show message on invalid GtkBuilder file</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/446">Issue #446: GladeGtkListBox: fix size request issue</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/432">Issue #432: GladeStandarStock, GladeStandarStockImage: fix get_type() functions for introspection</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/447">Issue #447: GladeGtkWindow: Fix CSD support</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/456">Issue #456: Utils: use g_param_spec_uchar() for uchar types</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/459">Issue #459: Gtk catalog: add GtkRecentChooserMenu to Display group</issue>
<issue url="https://gitlab.gnome.org/GNOME/glade/-/issues/433">Issue #433: Implement survey using new backend at surveys.gnome.org</issue>
<issue>Build: use gtk-mac-integration only when creating bundle (Tom Schoonjans)</issue>
<issue>Ignore locale when saving numeric values (Alberto Fanjul)</issue>
<issue>Remove config for external builds (Alberto Fanjul)</issue>
<issue>Python plugin: fix linking error</issue>
<issue>Tests: add python and javascript test case</issue>
<issue>gtk: Add GtkScrolledWindow propagate-natural-width property (Corentin Noël)</issue>
<issue>GladeScrolledWindowEditor: Squeeze width/height properties in two columns</issue>
<issue>Gtk plugin: add missing displayable values</issue>
<issue>Webkit2gtk plugin: add missing displayable values and sandbox web view</issue>
<issue>dtd: Make init-function an element, not an attribute (Adrien Plazas)</issue>
</issues>
</release>
<release version="3.36.0" date="2020-05-06"/>
<release version="3.22.0" date="2018-03-12"/>
</releases>
<content_rating type="oars-1.1">
<content_attribute id="violence-cartoon">none</content_attribute>
<content_attribute id="violence-fantasy">none</content_attribute>
<content_attribute id="violence-realistic">none</content_attribute>
<content_attribute id="violence-bloodshed">none</content_attribute>
<content_attribute id="violence-sexual">none</content_attribute>
<content_attribute id="violence-desecration">none</content_attribute>
<content_attribute id="violence-slavery">none</content_attribute>
<content_attribute id="violence-worship">none</content_attribute>
<content_attribute id="drugs-alcohol">none</content_attribute>
<content_attribute id="drugs-narcotics">none</content_attribute>
<content_attribute id="drugs-tobacco">none</content_attribute>
<content_attribute id="sex-nudity">none</content_attribute>
<content_attribute id="sex-themes">none</content_attribute>
<content_attribute id="sex-homosexuality">none</content_attribute>
<content_attribute id="sex-prostitution">none</content_attribute>
<content_attribute id="sex-adultery">none</content_attribute>
<content_attribute id="sex-appearance">none</content_attribute>
<content_attribute id="language-profanity">none</content_attribute>
<content_attribute id="language-humor">none</content_attribute>
<content_attribute id="language-discrimination">none</content_attribute>
<content_attribute id="social-chat">none</content_attribute>
<content_attribute id="social-info">none</content_attribute>
<content_attribute id="social-audio">none</content_attribute>
<content_attribute id="social-location">none</content_attribute>
<content_attribute id="social-contacts">none</content_attribute>
<content_attribute id="money-purchasing">none</content_attribute>
<content_attribute id="money-gambling">none</content_attribute>
</content_rating>
</component>

View File

@ -0,0 +1,15 @@
[Desktop Entry]
Name=Glade
GenericName=Interface Designer
Comment=Create or open user interface designs for GTK+ applications
# Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon!
Keywords=GUI designer;user interface;ui builder;
Exec=glade %F
Terminal=false
StartupNotify=true
Type=Application
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
Icon=org.gnome.Glade
Categories=GNOME;GTK;Development;GUIDesigner;
MimeType=application/x-gtk-builder;application/x-glade;
X-GNOME-DocPath=glade/glade.xml

View File

@ -1,145 +0,0 @@
## Process this file with automake to produce Makefile.in
# We require automake 1.6 at least.
AUTOMAKE_OPTIONS = 1.6
# This is a blank Makefile.am for using gtk-doc.
# Copy this to your project's API docs directory and modify the variables to
# suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples
# of using the various options.
# The name of the module, e.g. 'glib'.
DOC_MODULE=gladeui
DOC_MODULE_VERSION=2
# The top-level SGML file. You can change this if you want to.
DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml
# The directory containing the source code. Relative to $(srcdir).
# gtk-doc will search all .c & .h files beneath here for inline comments
# documenting the functions and macros.
DOC_SOURCE_DIR=../gladeui
# Extra options to pass to gtkdoc-scangobj. Not normally needed.
SCANGOBJ_OPTIONS=
# Extra options to supply to gtkdoc-scan.
# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED"
SCAN_OPTIONS=
# Extra options to supply to gtkdoc-mkdb.
# e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml
MKDB_OPTIONS=--sgml-mode --output-format=xml
# Extra options to supply to gtkdoc-mktmpl
# e.g. MKTMPL_OPTIONS=--only-section-tmpl
MKTMPL_OPTIONS=
# Extra options to supply to gtkdoc-fixref. Not normally needed.
# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html
# XXX We'll maybe want to use this to cross-ref into GTK+ docs...
FIXXREF_OPTIONS=
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
HFILE_GLOB=$(top_srcdir)/gladeui/*.h
CFILE_GLOB=$(top_srcdir)/gladeui/*.c
# Header files to ignore when scanning.
# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h
IGNORE_HFILES=\
glade-builtins.h \
glade-debug.h \
glade-accumulators.h \
glade-marshallers.h \
glade-paths.h \
glade-custom.h \
glade-cursor.h \
glade-id-allocator.h \
glade-catalog.h \
glade.h \
glade-design-layout.h \
glade-popup.h \
glade-gtk.h \
glade-palette-expander.h \
glade-palette-item.h \
glade-named-icon-chooser-dialog.h \
glade-palette-box.h
# Images to copy into HTML directory.
# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png
HTML_IMAGES=
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
# e.g. content_files=running.sgml building.sgml changes-2.0.sgml
content_files=\
version.xml \
catalogintro.sgml \
widgetclasses.sgml \
properties.sgml \
gladepython.sgml
# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded
# These files must be listed here *and* in content_files
# e.g. expand_content_files=running.sgml
expand_content_files=\
catalogintro.sgml \
widgetclasses.sgml \
properties.sgml \
gladepython.sgml
# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library.
# Only needed if you are using gtkdoc-scangobj to dynamically query widget
# signals and properties.
# e.g. INCLUDES=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS)
# e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib)
GTKDOC_CFLAGS= \
-I$(top_srcdir)/gladeui \
-I$(top_builddir)/gladeui \
-I$(top_srcdir) \
-I$(top_builddir) \
`pkg-config --cflags gtk+-3.0`
GTKDOC_LIBS= `pkg-config --libs gtk+-3.0` ${top_builddir}/gladeui/libgladeui-2.la
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make
# Other files to distribute
# e.g. EXTRA_DIST += version.xml.in
EXTRA_DIST += version.xml.in
# XXX Seems this is no longer working with gtkdoc 1.9 :(
GTK_HOME = http://library.gnome.org/devel/gtk/stable
GDK_HOME = http://library.gnome.org/devel/gdk/stable
GOBJECT_HOME = http://library.gnome.org/devel/gobject/stable
GLIB_HOME = http://library.gnome.org/devel/glib/stable
webdocs: all
rm -rf html-web
mkdir -p html-web
for file in `find html`; do \
ROOT_PATH=`echo $${file} | sed 's/^html//'`; \
if test "" != "$${ROOT_PATH}"; then \
if test -d $$file; then \
echo "Creating directory html-web$${ROOT_PATH}..."; \
mkdir -p html-web$${ROOT_PATH}; \
else \
if echo $$file | grep -q '\.html$$'; then \
echo "Creating file html-web$${ROOT_PATH}..."; \
cat $$file | sed \
-e 's!href="../gtk!href="$(GTK_HOME)!g' \
-e 's!href="../gdk!href="$(GDK_HOME)!g' \
-e 's!href="../gobject!href="$(GOBJECT_HOME)!g' \
-e 's!href="../glib!href="$(GLIB_HOME)!g' \
> html-web$${ROOT_PATH}; \
else \
echo "Copying file html-web$${ROOT_PATH}..."; \
cp $$file html-web$${ROOT_PATH}; \
fi \
fi; \
fi; \
done

View File

@ -35,6 +35,20 @@ some basic examples and describe a wealth of options that can be used to
enhance UI editing and workaround exceptions. enhance UI editing and workaround exceptions.
</para> </para>
<para>
Keep in mind you need to take extra steps to ensure GtkBuilder can pick up your
new object types at runtime. Ussualy all you need is to link your executable
with your widget library assuming it has properly named get_type() functions.
<![CDATA[GtkWindow -> gtk_window_get_type
GtkHBox -> gtk_hbox_get_type
GtkUIManager -> gtk_ui_manager_get_type
GWeatherLocation -> gweather_location_get_type]]>
If not you can always register your widgets with the type system with g_type_ensure ()
</para>
<para> <para>
The catalog file starts by specifying the name of the catalog and the plugin The catalog file starts by specifying the name of the catalog and the plugin
library to use, the following examples assume you have a namespace "Foo" and library to use, the following examples assume you have a namespace "Foo" and
@ -64,7 +78,7 @@ are integrating an object "Frobnicator":
<title>Toplevel catalog properties and tags</title> <title>Toplevel catalog properties and tags</title>
<para> <para>
When defining the catalog, the 'name' and 'library' When defining the catalog, the 'name' and 'library'
are both manditory attributes of the 'glade-catalog' tag; optionally are both mandatory attributes of the 'glade-catalog' tag; optionally
you can also use 'icon-prefix', 'depends' and 'domain'. you can also use 'icon-prefix', 'depends' and 'domain'.
</para> </para>
@ -95,7 +109,7 @@ Please note that all versioning related support is completely optional.
<term>targetable</term> <term>targetable</term>
<listitem> <listitem>
<para> <para>
A comma separated list of 'major.minor' formed versions describing sensable previous A comma separated list of 'major.minor' formed versions describing sensible previous
targetable versions of the underlying toolkit not including the current version; targetable versions of the underlying toolkit not including the current version;
example: <literal>targetable="0.6,0.8"</literal>. example: <literal>targetable="0.6,0.8"</literal>.
</para> </para>
@ -144,7 +158,7 @@ for your plugin.
<listitem> <listitem>
<para> <para>
The domain in which to search for translatable strings from the The domain in which to search for translatable strings from the
catalog file; please note that all strings from the catalog that will apear in the UI are catalog file; please note that all strings from the catalog that will appear in the UI are
translated using this domain. If the 'domain' is not specified, the library property will translated using this domain. If the 'domain' is not specified, the library property will
be used in it's stead. be used in it's stead.
</para> </para>
@ -156,7 +170,7 @@ be used in it's stead.
<listitem> <listitem>
<para> <para>
Used to specify a namespace to search devhelp docs library with Used to specify a namespace to search devhelp docs library with
(specificly, it is the $(DOC_MODULE) that you specified in your gtk-doc Makefile.am). (specifically, it is the $(DOC_MODULE) that you specified in your gtk-doc Makefile.am).
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>

99
doc/gladegjs.sgml Normal file
View File

@ -0,0 +1,99 @@
<refentry id="gjssupport" revision="5 Jun 2020">
<refmeta>
<refentrytitle>JavaScript Gtk widgets support</refentrytitle>
<refmiscinfo>Glade UI</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Add GJS/JavaScript support to your catalog</refname>
<refpurpose>
How to write and install a catalog for a JavaScript widget library
</refpurpose>
</refnamediv>
<refsect1>
<title>Introduction</title>
<para>
Glade supports loading widgets programed in JavaScript by linking and running GJS from the gladegjs catalog plugin.
</para>
<para>
So in order for glade to support your JavaScript widgets you will have to:
<varlistentry><listitem>
a) specify gladegjs support code as your plugin library.
</listitem></varlistentry>
<varlistentry><listitem>
b) set glade_gjs_init as you init function.
</listitem></varlistentry>
<varlistentry><listitem>
c) make sure your catalog name is the same as your JavaScript import library since
glade_gjs_init() will use this name to import your widgets into the
interpreter.
</listitem></varlistentry>
<programlisting>
<![CDATA[
<glade-catalog name="gjsplugin" library="gladegjs" domain="glade-3" depends="gtk+">
<init-function>glade_gjs_init</init-function>
<glade-widget-classes>
<glade-widget-class title="MyJSGrid" name="MyJSGrid" generic-name="mygrid"/>
</glade-widget-classes>
<glade-widget-group name="gjs" title="Gjs">
<glade-widget-class-ref name="MyJSGrid"/>
</glade-widget-group>
</glade-catalog>]]>
</programlisting>
</para>
<para>
GJS will look up for your widgets in the same places it looks
for regular catalogs plugins, that is $GLADE_ENV_MODULE_PATH
environment variable and `pkg-config --variable=moduledir gladeui-2.0`
So the easiest thing would be to make a symlink in one of those directory, just
do not forget that the name should be the one specified in your catalog name.
</para>
<para>
gjsplugin.js
<programlisting>
<![CDATA[
#!/usr/bin/gjs
const GObject = imports.gi.GObject;
const Gtk = imports.gi.Gtk;
var MyJSGrid = GObject.registerClass({
GTypeName: 'MyJSGrid',
Properties: {
'string-property': GObject.ParamSpec.string('string-property', 'String Prop',
'Longer description', GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT,
'Foobar'),
'int-property': GObject.ParamSpec.int('int-property', 'Integer Prop',
'Longer description',
GObject.ParamFlags.READWRITE | GObject.ParamFlags.CONSTRUCT,
0, 10, 5)
},
Signals: {'mysignal': {param_types: [GObject.TYPE_INT]}},
}, class MyJSGrid extends Gtk.Grid {
_init(props) {
super._init(props);
this.label = new Gtk.Label ({ visible: true });
this.add (this.label);
this.connect('notify::string-property', this._update.bind(this));
this.connect('notify::int-property', this._update.bind(this));
this._update();
}
_update (obj, pspec) {
this.label.set_text ('JS Properties\nInteger = ' + this.int_property + '\nString = \'' + this.string_property + '\'');
}
});
]]>
</programlisting>
</para>
</refsect1>
</refentry>

View File

@ -34,6 +34,7 @@ glade_python_init() will use this name to import your widgets into the
interpreter. interpreter.
</listitem></varlistentry> </listitem></varlistentry>
pythonplugin.xml
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
<glade-catalog name="pythonplugin" library="gladepython" <glade-catalog name="pythonplugin" library="gladepython"
@ -41,11 +42,11 @@ domain="glade-3" depends="gtk+">
<init-function>glade_python_init</init-function> <init-function>glade_python_init</init-function>
<glade-widget-classes> <glade-widget-classes>
<glade-widget-class title="MyBox" name="MyBox" generic-name="mybox"/> <glade-widget-class title="MyPythonBox" name="MyPythonBox" generic-name="mypythonbox"/>
</glade-widget-classes> </glade-widget-classes>
<glade-widget-group name="python" title="Python"> <glade-widget-group name="python" title="Python">
<glade-widget-class-ref name="MyBox"/> <glade-widget-class-ref name="MyPythonBox"/>
</glade-widget-group> </glade-widget-group>
</glade-catalog>]]> </glade-catalog>]]>
</programlisting> </programlisting>
@ -55,7 +56,7 @@ domain="glade-3" depends="gtk+">
Glade's python interpreter will look up for your widgets in the same Glade's python interpreter will look up for your widgets in the same
places it looks places it looks
for regular catalogs plugins, that is $GLADE_ENV_MODULE_PATH for regular catalogs plugins, that is $GLADE_ENV_MODULE_PATH
enviroment variable environment variable
and `pkg-config --variable=moduledir gladeui-2.0` and `pkg-config --variable=moduledir gladeui-2.0`
So the easiest thing would be to make a symlink in one of those directory, just So the easiest thing would be to make a symlink in one of those directory, just
@ -66,13 +67,24 @@ do not forget that the name should be the one specified in your catalog name.
pythonplugin.py pythonplugin.py
<programlisting> <programlisting>
<![CDATA[ <![CDATA[
from gi.repository import Gtk from gi.repository import GLib, Gtk, GObject
class MyBox(Gtk.HBox): class MyPythonBox(Gtk.Box):
__gtype_name__ = 'MyBox' __gtype_name__ = 'MyPythonBox'
def __init__(self): foo = GObject.Property(type=int, nick='An integer')
Gtk.HBox.__init__(self) bar = GObject.Property(type=str, nick='A String')
def _update(self, obj, pspec):
self.label.set_text ('Python Properties\nInteger = ' + str(self.foo) + '\nString = \'' + self.bar + '\'')
def __init__ (self):
Gtk.Box.__init__ (self)
self.label = Gtk.Label (visible = True)
self.add (self.label)
self.connect('notify::foo', self._update)
self.connect('notify::bar', self._update)
self._update(None, None)
]]> ]]>
</programlisting> </programlisting>
</para> </para>

View File

@ -1,104 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY CatalogIntro SYSTEM "xml/catalogintro.sgml">
<!ENTITY WidgetClasses SYSTEM "xml/widgetclasses.sgml">
<!ENTITY Properties SYSTEM "xml/properties.sgml">
<!ENTITY PythonSupport SYSTEM "xml/gladepython.sgml">
<!ENTITY GladeCommand SYSTEM "xml/glade-command.xml">
<!ENTITY GladeApp SYSTEM "xml/glade-app.xml">
<!ENTITY GladeClipboardView SYSTEM "xml/glade-clipboard-view.xml">
<!ENTITY GladeClipboard SYSTEM "xml/glade-clipboard.xml">
<!ENTITY GladeEditorProperty SYSTEM "xml/glade-editor-property.xml">
<!ENTITY GladeEditor SYSTEM "xml/glade-editor.xml">
<!ENTITY GladePalette SYSTEM "xml/glade-palette.xml">
<!ENTITY GladeParameter SYSTEM "xml/glade-parameter.xml">
<!ENTITY GladePlaceholder SYSTEM "xml/glade-placeholder.xml">
<!ENTITY GladeInspector SYSTEM "xml/glade-inspector.xml">
<!ENTITY GladeProject SYSTEM "xml/glade-project.xml">
<!ENTITY GladePropertyClass SYSTEM "xml/glade-property-class.xml">
<!ENTITY GladeProperty SYSTEM "xml/glade-property.xml">
<!ENTITY GladeSignalEditor SYSTEM "xml/glade-signal-editor.xml">
<!ENTITY GladeUtils SYSTEM "xml/glade-utils.xml">
<!ENTITY GladeWidgetAdaptor SYSTEM "xml/glade-widget-adaptor.xml">
<!ENTITY GladeWidget SYSTEM "xml/glade-widget.xml">
<!ENTITY GladeFixed SYSTEM "xml/glade-fixed.xml">
<!ENTITY GladeBaseEditor SYSTEM "xml/glade-base-editor.xml">
<!ENTITY GladeDesignView SYSTEM "xml/glade-design-view.xml">
<!ENTITY GladeXmlUtils SYSTEM "xml/glade-xml-utils.xml">
<!ENTITY GladeWidgetAction SYSTEM "xml/glade-widget-action.xml">
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index">
<bookinfo>
<title>Glade User Interface Designer Reference Manual</title>
<abstract>
<para>
This document attempts to describe how to use the Glade UI Designer core
library to integrate Glade into your application and how to integrate your
custom GTK+ derived widgets into the Glade UI Designer.
</para>
<para>
You can always get the latest version of this document
<ulink url="http://library.gnome.org/devel/gladeui/unstable/">here</ulink>
and you should have received a copy with the glade-3 tarball.
</para>
</abstract>
<releaseinfo>for &version;</releaseinfo>
<authorgroup>
<author>
<firstname>Tristan</firstname>
<surname>Van Berkom</surname>
</author>
</authorgroup>
</bookinfo>
<part id="catalog">
<title>Adding your custom widgets</title>
&CatalogIntro;
&WidgetClasses;
&Properties;
&PythonSupport;
</part>
<part id="core">
<title>Glade Core</title>
&GladeApp;
&GladeProject;
&GladeWidget;
&GladeFixed;
&GladeProperty;
&GladeWidgetAdaptor;
&GladePropertyClass;
&GladeWidgetAction;
&GladeCommand;
&GladeClipboard;
&GladeBaseEditor;
&GladePlaceholder;
&GladeXmlUtils;
</part>
<part id="dockables">
<title>Dockable Glade UI Widgets</title>
&GladeEditor;
&GladeEditorProperty;
&GladePalette;
&GladeClipboardView;
&GladeInspector;
&GladeSignalEditor;
&GladeDesignView;
</part>
<part id="misc">
<title>Miscellaneous utilities</title>
&GladeParameter;
&GladeUtils;
</part>
<index>
<title>Index</title>
</index>
</book>

90
doc/gladeui-docs.xml Normal file
View File

@ -0,0 +1,90 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd' [
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<book id="index" xmlns:xi="http://www.w3.org/2003/XInclude">
<bookinfo>
<title>Glade User Interface Designer Reference Manual</title>
<releaseinfo>
for gladeui &version;.
This document attempts to describe how to use the Glade UI Designer core
library to integrate Glade into your application and how to integrate your
custom GTK+ derived widgets into the Glade UI Designer.
The latest version of this documentation can be found on-line at
<ulink role="online-location" url="https://developer.gnome.org/gladeui/stable/">
https://developer.gnome.org/gladeui/stable
</ulink>.
</releaseinfo>
</bookinfo>
<part id="catalog">
<title>Adding your custom widgets</title>
<xi:include href="catalogintro.sgml"/>
<xi:include href="widgetclasses.sgml"/>
<xi:include href="properties.sgml"/>
<xi:include href="gladepython.sgml"/>
<xi:include href="gladegjs.sgml"/>
</part>
<part id="core">
<title>Glade Core</title>
<xi:include href="xml/glade-init.xml"/>
<xi:include href="xml/glade-catalog.xml"/>
<xi:include href="xml/glade-app.xml"/>
<xi:include href="xml/glade-project.xml"/>
<xi:include href="xml/glade-widget.xml"/>
<xi:include href="xml/glade-widget-adaptor.xml"/>
<xi:include href="xml/glade-widget-action.xml"/>
<xi:include href="xml/glade-widget-action-def.xml"/>
<xi:include href="xml/glade-fixed.xml"/>
<xi:include href="xml/glade-property.xml"/>
<xi:include href="xml/glade-property-def.xml"/>
<xi:include href="xml/glade-command.xml"/>
<xi:include href="xml/glade-clipboard.xml"/>
<xi:include href="xml/glade-base-editor.xml"/>
<xi:include href="xml/glade-placeholder.xml"/>
<xi:include href="xml/glade-signal.xml"/>
<xi:include href="xml/glade-signal-def.xml"/>
<xi:include href="xml/glade-name-context.xml"/>
<xi:include href="xml/glade-xml-utils.xml"/>
</part>
<part id="dockables">
<title>Dockable Glade UI Widgets</title>
<xi:include href="xml/glade-editable.xml"/>
<xi:include href="xml/glade-editor.xml"/>
<xi:include href="xml/glade-editor-property.xml"/>
<xi:include href="xml/glade-palette.xml"/>
<xi:include href="xml/glade-inspector.xml"/>
<xi:include href="xml/glade-signal-editor.xml"/>
<xi:include href="xml/glade-previewer.xml"/>
<xi:include href="xml/glade-design-view.xml"/>
<xi:include href="xml/glade-preview.xml"/>
<xi:include href="xml/glade-adaptor-chooser.xml"/>
<xi:include href="xml/glade-property-label.xml"/>
<xi:include href="xml/glade-property-shell.xml"/>
</part>
<part id="misc">
<title>Miscellaneous utilities</title>
<xi:include href="xml/glade-cell-renderer-icon.xml"/>
<xi:include href="xml/glade-object-stub.xml"/>
<xi:include href="xml/glade-signal-model.xml"/>
<xi:include href="xml/glade-utils.xml"/>
</part>
<index id="api-index-full">
<title>Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<index id="api-index-deprecated" role="deprecated">
<title>Index of deprecated symbols</title>
<xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>

File diff suppressed because it is too large Load Diff

49
doc/meson.build Normal file
View File

@ -0,0 +1,49 @@
private_doc_headers = [
'glade-builtins.h',
'glade-debug.h',
'glade-design-private.h',
'glade-drag.h',
'glade-accumulators.h',
'glade-marshallers.h',
'glade-paths.h',
'glade-custom.h',
'glade-cursor.h',
'glade-id-allocator.h',
'glade.h',
'glade-design-layout.h',
'glade-popup.h',
'glade-gtk.h',
'glade-palette-expander.h',
'glade-palette-item.h',
'glade-named-icon-chooser-dialog.h',
'glade-palette-box.h',
'glade-private.h',
]
content_files = files(
'catalogintro.sgml',
'gladepython.sgml',
'properties.sgml',
'widgetclasses.sgml',
)
version_conf = configuration_data()
version_conf.set('PACKAGE_STRING', '@0@ @1@'.format(glade_name, glade_version))
content_files += configure_file(
input: 'version.xml.in',
output: '@BASENAME@',
configuration: version_conf,
)
gnome.gtkdoc(
gladeui_name,
main_xml: gladeui_name + '-docs.xml',
module_version: gladeui_major_version.to_string(),
src_dir: gladeui_inc,
ignore_headers: private_doc_headers,
include_directories: top_inc,
dependencies: libgladeui_dep,
content_files: content_files,
install: true,
)

View File

@ -1,19 +1,19 @@
<refentry id="properties" revision="8 Feb 2006"> <refentry id="properties" revision="8 Feb 2006">
<refmeta> <refmeta>
<refentrytitle>Property Class Definitions</refentrytitle> <refentrytitle>Property Definitions</refentrytitle>
<refmiscinfo>Glade UI</refmiscinfo> <refmiscinfo>Glade UI</refmiscinfo>
</refmeta> </refmeta>
<refnamediv> <refnamediv>
<refname>Property Classes</refname> <refname>Property Definitions</refname>
<refpurpose> <refpurpose>
How to augment or define a #GladePropertyClass How to augment or define a #GladePropertyDef
</refpurpose> </refpurpose>
</refnamediv> </refnamediv>
<refsect1> <refsect1>
<title>Property Class Configuration</title> <title>Property Definition Configuration</title>
<para> <para>
Properties are introspected at load time and loaded into #GladePropertyClass structures. Properties are introspected at load time and loaded into #GladePropertyDef structures.
The behaviour of properties can be modified by the catalog and fake properties can be added The behaviour of properties can be modified by the catalog and fake properties can be added
for editing purposes. Here is an example of the xml form: for editing purposes. Here is an example of the xml form:
<programlisting><![CDATA[... <programlisting><![CDATA[...
@ -43,7 +43,7 @@ Properties of the 'property' tag:
<term>id</term> <term>id</term>
<listitem> <listitem>
<para> <para>
This is manditory and specifies the property that we are modifying (or adding) This is mandatory and specifies the property that we are modifying (or adding)
</para> </para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -210,7 +210,7 @@ the widget when pasted to a new container that supports the same properties.
<term>save-always</term> <term>save-always</term>
<listitem> <listitem>
<para> <para>
Specifies that the property should be saved regardless of its value (properties at thier Specifies that the property should be saved regardless of its value (properties at their
default values are normally not saved). default values are normally not saved).
</para> </para>
</listitem> </listitem>

View File

@ -16,7 +16,7 @@ Adding support for custom widgets
<para> <para>
Widget support in Glade is provided by the #GladeWidgetAdaptor object, each Widget support in Glade is provided by the #GladeWidgetAdaptor object, each
`glade-widget-class' definition in the catalog will result in the creation `glade-widget-class' definition in the catalog will result in the creation
of an adaptor, which inherits the funcionality of the adaptor created for its of an adaptor, which inherits the functionality of the adaptor created for its
parent, or the closest adaptor available in the ancestry. Adaptor methods can parent, or the closest adaptor available in the ancestry. Adaptor methods can
be overridden by functions in the plugin by specifying them in the catalog. be overridden by functions in the plugin by specifying them in the catalog.
There is also a wealth of options you can use in the `glade-widget-class' without There is also a wealth of options you can use in the `glade-widget-class' without
@ -76,7 +76,7 @@ Here is the complete example of the form of the `glade-widget-class' definition:
<refsect1> <refsect1>
<title>Widget Class Properties</title> <title>Widget Class Properties</title>
<para> <para>
The following are all properies of the `glade-widget-class' tag The following are all properties of the `glade-widget-class' tag
</para> </para>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
@ -168,7 +168,7 @@ tree and will be translated before use in the interface.
<para> <para>
Use this to specify the name of the parent your widget derives from, you Use this to specify the name of the parent your widget derives from, you
can use this option instead of loading a real widget type (this allows you can use this option instead of loading a real widget type (this allows you
to fake derive and still add properties and run your catalog independantly to fake derive and still add properties and run your catalog independently
of any plugins or libraries). of any plugins or libraries).
</para> </para>
</listitem> </listitem>
@ -188,7 +188,7 @@ in Glade context. This property will be inherited from the adaptors parent.
<term>fixed</term> <term>fixed</term>
<listitem> <listitem>
<para> <para>
Used to mark a #GladeWidgetClass for free form placement capacities Used to mark a #GladeWidgetAdaptor for free form placement capacities
to be handled with a #GladeFixed. This property will be inherited from the adaptors parent. to be handled with a #GladeFixed. This property will be inherited from the adaptors parent.
</para> </para>
</listitem> </listitem>
@ -506,7 +506,7 @@ are added to the toolbar.
<para> <para>
Default values can be specified for packing properties on your widget when added Default values can be specified for packing properties on your widget when added
to a said type of parent, as the example shows above; use the `parent-class' to to a said type of parent, as the example shows above; use the `parent-class' to
specify what parent (or derivative of that parent) you are targetting and fill specify what parent (or derivative of that parent) you are targeting and fill
in any `child-property' tags you need for that parent using `id' property to in any `child-property' tags you need for that parent using `id' property to
specify the property name and the `default' property for the value. specify the property name and the `default' property for the value.
</para> </para>
@ -542,7 +542,7 @@ and GENERIC_NAME is the value of an widget class's generic name attribute.
</para> </para>
<para> <para>
To explicity set an icon name for a widget class, the "icon-name" attribute of the To explicitly set an icon name for a widget class, the "icon-name" attribute of the
"glade-widget-class" element can be specified. This will override the default icon "glade-widget-class" element can be specified. This will override the default icon
name assigned to the widget class. name assigned to the widget class.
</para> </para>

View File

@ -1,17 +0,0 @@
# In this file you will find generic and usefull rules to
# GResource rules:
# These rules will create source and header files for any file ending with .gresource.xml
# You will have to manually load the resourse unless the file name ends with
# .static.gresource.xml in which case it will be loaded automatically
%.h: %.gresource.xml
$(GLIB_COMPILE_RESOURCES) --manual-register --generate $< --target=$@
%.c: %.gresource.xml
$(GLIB_COMPILE_RESOURCES) --manual-register --generate $< --target=$@
# rule for static resources
%.h: %.static.gresource.xml
$(GLIB_COMPILE_RESOURCES) --generate $< --target=$@
%.c: %.static.gresource.xml
$(GLIB_COMPILE_RESOURCES) --generate $< --target=$@

View File

@ -6,22 +6,23 @@
xmlns="http://usefulinc.com/ns/doap#"> xmlns="http://usefulinc.com/ns/doap#">
<name xml:lang="en">Glade Interface Designer</name> <name xml:lang="en">Glade Interface Designer</name>
<description>Glade is a RAD tool to enable quick and easy development of user interfaces for the GTK+ 3 toolkit and the GNOME desktop environment.</description>
<shortdesc xml:lang="en">User Interface Builder for GTK+ applications</shortdesc> <shortdesc xml:lang="en">User Interface Builder for GTK+ applications</shortdesc>
<homepage rdf:resource="http://glade.gnome.org/" /> <homepage rdf:resource="http://glade.gnome.org/" />
<mailing-list rdf:resource="http://lists.ximian.com/mailman/listinfo/glade-devel" /> <developer-forum rdf:resource="https://discourse.gnome.org/tag/glade" />
<download-page rdf:resource="http://download.gnome.org/sources/glade/" /> <download-page rdf:resource="https://download.gnome.org/sources/glade/" />
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=glade" /> <bug-database rdf:resource="https://gitlab.gnome.org/GNOME/glade/issues" />
<category rdf:resource="http://api.gnome.org/doap-extensions#apps" /> <category rdf:resource="http://api.gnome.org/doap-extensions#apps" />
<programming-language>C</programming-language> <programming-language>C</programming-language>
<maintainer> <!-- <maintainer>
<foaf:Person> <foaf:Person>
<foaf:name>Tristan Van Berkom</foaf:name> <foaf:name>Tristan Van Berkom</foaf:name>
<foaf:mbox rdf:resource="mailto:tristan.van.berkom@gmail.com" /> <foaf:mbox rdf:resource="mailto:tristan.van.berkom@gmail.com" />
<gnome:userid>tvb</gnome:userid> <gnome:userid>tvb</gnome:userid>
</foaf:Person> </foaf:Person>
</maintainer> </maintainer> -->
<maintainer> <maintainer>
<foaf:Person> <foaf:Person>
<foaf:name>Juan Pablo Ugarte</foaf:name> <foaf:name>Juan Pablo Ugarte</foaf:name>
@ -29,4 +30,11 @@
<gnome:userid>jpu</gnome:userid> <gnome:userid>jpu</gnome:userid>
</foaf:Person> </foaf:Person>
</maintainer> </maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Alberto Fanjul Alonso</foaf:name>
<foaf:mbox rdf:resource="mailto:albfan@gnome.org" />
<gnome:userid>albfan</gnome:userid>
</foaf:Person>
</maintainer>
</Project> </Project>

View File

@ -1,291 +0,0 @@
## Previewer
include $(top_srcdir)/glade-rules.mk
bin_PROGRAMS = glade-previewer
lib_LTLIBRARIES = libgladeui-2.la
glade_previewer_CPPFLAGS = \
-I$(top_srcdir) \
-I$(top_builddir) \
-DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" \
$(GTK_CFLAGS) \
$(GTK_MAC_CFLAGS) \
$(WARN_CFLAGS) \
$(GLADE_DEBUG_FLAGS) \
$(AM_CPPFLAGS)
glade_previewer_CFLAGS = \
$(AM_CFLAGS)
glade_previewer_LDFLAGS = $(AM_LDFLAGS)
glade_previewer_LDADD = libgladeui-2.la $(GTK_MAC_LIBS)
glade_previewer_SOURCES = \
glade-previewer-main.c \
glade-previewer.c \
glade-preview-template.c
if NATIVE_WIN32
glade_previewer_LDADD += glade-win32-res.o
if !GLADE_UNSTABLE
glade_previewer_LDFLAGS += -mwindows
endif
endif
glade-win32-res.o: glade-previewer.rc
$(WINDRES) $< $@
## Rest of the UI ;)
common_defines = \
-DG_LOG_DOMAIN=\"GladeUI\" \
-DGLADE_CATALOGSDIR="\"$(pkgdatadir)/catalogs\""\
-DGLADE_MODULESDIR="\"$(pkglibdir)/modules\"" \
-DGLADE_PIXMAPSDIR="\"$(pkgdatadir)/pixmaps\"" \
-DGLADE_LOCALEDIR="\"$(datadir)/locale\""\
-DGLADE_BINDIR="\"$(bindir)\""\
-DGLADE_LIBDIR="\"$(libdir)\""
BUILT_SOURCES = \
glade-marshallers.c \
glade-marshallers.h \
gladeui-resources.c \
gladeui-resources.h \
gladeui-enum-types.c \
gladeui-enum-types.h
UI_FILES = \
glade-design-layout.css \
glade-editor.ui \
glade-project-properties.ui \
glade-adaptor-chooser-widget.ui \
glade-adaptor-chooser.ui \
glade-property-label.ui
GRAPHICS_FILES = \
atk.png
EXTRA_DIST = \
$(UI_FILES) \
$(GRAPHICS_FILES) \
glade-marshallers.list \
gladeui.rc.in \
icon-naming-spec.c \
glade-previewer.rc.in \
gladeui-resources.gresource.xml \
gladeui-enum-types.c.template \
gladeui-enum-types.h.template
# The glade core library
libgladeui_2_la_SOURCES = \
$(BUILT_SOURCES) \
glade-accumulators.c \
glade-app.c \
glade-base-editor.c \
glade-adaptor-chooser-widget.c \
glade-adaptor-chooser.c \
glade-builtins.c \
glade-catalog.c \
glade-cell-renderer-icon.c \
glade-clipboard.c \
glade-command.c \
glade-cursor.c \
glade-debug.c \
glade-design-layout.c \
glade-design-view.c \
glade-displayable-values.c \
glade-editable.c \
glade-editor.c \
glade-editor-property.c \
glade-editor-skeleton.c \
glade-editor-table.c \
glade-id-allocator.c \
glade-id-allocator.h \
glade-object-stub.c \
glade-inspector.c \
glade-name-context.c \
glade-named-icon-chooser-dialog.c \
glade-named-icon-chooser-dialog.h \
glade-palette.c \
glade-placeholder.c \
glade-popup.c \
glade-preview.c \
glade-project.c \
glade-project-properties.c \
glade-property.c \
glade-property-class.c \
glade-property-label.c \
glade-property-shell.c \
glade-signal.c \
glade-signal-class.c \
glade-signal-editor.c \
glade-signal-model.c \
glade-tsort.c \
glade-utils.c \
glade-widget.c \
glade-widget-action.c \
glade-widget-adaptor.c \
glade-xml-utils.c \
glade-drag.c \
glade-dnd.c
libgladeui_2_la_CPPFLAGS = \
$(common_defines) \
-I$(top_srcdir) \
-I$(top_builddir) \
$(GTK_CFLAGS) \
$(GTK_MAC_BUNDLE_FLAG) \
$(GTK_MAC_CFLAGS) \
$(WARN_CFLAGS) \
$(GLADE_DEBUG_FLAGS) \
$(AM_CPPFLAGS)
libgladeui_2_la_CFLAGS = \
$(AM_CFLAGS)
libgladeui_2_la_LDFLAGS = -version-info $(GLADE_CURRENT):$(GLADE_REVISION):$(GLADE_AGE) $(AM_LDFLAGS)
libgladeui_2_la_LIBADD = $(GTK_LIBS) $(GTK_MAC_LIBS) $(LIBM)
libgladeuiincludedir=$(includedir)/libgladeui-2.0/gladeui
libgladeuiinclude_HEADERS = \
glade.h \
glade-app.h \
glade-adaptor-chooser.h \
glade-base-editor.h \
glade-builtins.h \
glade-catalog.h \
glade-cell-renderer-icon.h \
glade-clipboard.h \
glade-command.h \
glade-cursor.h \
glade-debug.h \
glade-design-view.h \
glade-displayable-values.h \
glade-editable.h \
glade-editor.h \
glade-editor-property.h \
glade-editor-skeleton.h \
glade-editor-table.h \
glade-inspector.h \
glade-name-context.h \
glade-palette.h \
glade-placeholder.h \
glade-project.h \
glade-property.h \
glade-property-class.h \
glade-property-label.h \
glade-property-shell.h \
glade-signal.h \
glade-signal-class.h \
glade-signal-editor.h \
glade-signal-model.h \
glade-utils.h \
glade-widget.h \
glade-widget-action.h \
glade-widget-adaptor.h \
glade-xml-utils.h
noinst_HEADERS = \
glade-accumulators.h \
glade-adaptor-chooser-widget.h \
glade-design-layout.h \
glade-design-private.h \
glade-marshallers.h \
glade-object-stub.h \
glade-path.h \
glade-popup.h \
glade-preview.h \
glade-preview-tokens.h \
glade-previewer.h \
glade-preview-template.h \
glade-private.h \
glade-project-properties.h \
glade-tsort.h \
gladeui-resources.h \
glade-drag.h \
glade-dnd.h
if PLATFORM_WIN32
libgladeui_2_la_LDFLAGS += -no-undefined
endif
if NATIVE_WIN32
# gmodule-export-2.0 on windows does not include -export-dynamic flag
libgladeui_2_la_LDFLAGS += \
-Wl,gladeui-win32-res.o \
-export-dynamic
libgladeui_2_la_DEPENDENCIES = gladeui-win32-res.o
endif
gladeui-win32-res.o: gladeui.rc
$(WINDRES) $< $@
#
# Marshaller generation
#
glade-marshallers.h: glade-marshallers.list $(GLIB_GENMARSHAL)
$(GLIB_GENMARSHAL) --prefix=_glade_marshal $(srcdir)/glade-marshallers.list --header > glade-marshallers-h.tmp \
&& mv glade-marshallers-h.tmp glade-marshallers.h \
|| ( rm -f glade-marshallers-h.tmp && exit 1)
glade-marshallers.c: glade-marshallers.list $(GLIB_GENMARSHAL)
$(GLIB_GENMARSHAL) --prefix=_glade_marshal $(srcdir)/glade-marshallers.list --body --header > glade-marshallers-c.tmp \
&& mv glade-marshallers-c.tmp glade-marshallers.c \
|| ( rm -f glade-marshallers-c.tmp && exit 1 )
#
# Enum type generation
#
gladeui-enum-types.h: gladeui-enum-types.h.template $(libgladeuiinclude_HEADERS) $(GLIB_MKENUMS)
$(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template $@.template \
$(libgladeuiinclude_HEADERS)) > $@
gladeui-enum-types.c: gladeui-enum-types.c.template $(libgladeuiinclude_HEADERS) $(GLIB_MKENUMS)
$(AM_V_GEN) (cd $(srcdir) && $(GLIB_MKENUMS) --template $@.template \
$(libgladeuiinclude_HEADERS)) > $@
CLEANFILES = $(BUILT_SOURCES)
#
# Introspection generation
#
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
INTROSPECTION_SCANNER_ARGS = \
--add-include-path=$(srcdir) \
--identifier-prefix=Glade \
--symbol-prefix=glade \
--pkg=gtk+-3.0 -I../ -I$(srcdir)/..
INTROSPECTION_COMPILER_ARGS = --includedir=$(srcdir)
if HAVE_INTROSPECTION
introspection_sources = $(libgladeui_2_la_SOURCES) $(libgladeuiinclude_HEADERS)
Gladeui-2.0.gir: libgladeui-2.la
Gladeui_2_0_gir_INCLUDES = Gtk-3.0
Gladeui_2_0_gir_CFLAGS = $(INCLUDES)
Gladeui_2_0_gir_LIBS = libgladeui-2.la
Gladeui_2_0_gir_FILES = $(introspection_sources)
INTROSPECTION_GIRS += Gladeui-2.0.gir
girdir = $(datadir)/gir-1.0
gir_DATA = $(INTROSPECTION_GIRS)
typelibdir = $(libdir)/girepository-1.0
typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
CLEANFILES += $(gir_DATA) $(typelib_DATA)
endif
# Generate resources
gladeui-resources.h: gladeui-resources.gresource.xml $(UI_FILES) $(GRAPHICS_FILES)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/gladeui-resources.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --c-name _gladeui --generate-header
gladeui-resources.c: gladeui-resources.gresource.xml $(UI_FILES) $(GRAPHICS_FILES)
$(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $(srcdir)/gladeui-resources.gresource.xml \
--target=$@ --sourcedir=$(srcdir) --c-name _gladeui --generate-source

View File

@ -18,7 +18,7 @@
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software * along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA. * USA.
*/ */
@ -31,8 +31,9 @@
gboolean gboolean
_glade_single_object_accumulator (GSignalInvocationHint *ihint, _glade_single_object_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, gpointer dummy) const GValue *handler_return,
gpointer dummy)
{ {
GObject *object = g_value_get_object (handler_return); GObject *object = g_value_get_object (handler_return);
g_value_set_object (return_accu, object); g_value_set_object (return_accu, object);
@ -42,9 +43,9 @@ _glade_single_object_accumulator (GSignalInvocationHint *ihint,
gboolean gboolean
_glade_integer_handled_accumulator (GSignalInvocationHint *ihint, _glade_integer_handled_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, const GValue *handler_return,
gpointer dummy) gpointer dummy)
{ {
gboolean continue_emission; gboolean continue_emission;
gint retval; gint retval;
@ -59,9 +60,9 @@ _glade_integer_handled_accumulator (GSignalInvocationHint *ihint,
/* From gtkmain.c */ /* From gtkmain.c */
gboolean gboolean
_glade_boolean_handled_accumulator (GSignalInvocationHint *ihint, _glade_boolean_handled_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, const GValue *handler_return,
gpointer dummy) gpointer dummy)
{ {
gboolean continue_emission; gboolean continue_emission;
gboolean signal_handled; gboolean signal_handled;
@ -75,8 +76,9 @@ _glade_boolean_handled_accumulator (GSignalInvocationHint *ihint,
gboolean gboolean
_glade_string_accumulator (GSignalInvocationHint *ihint, _glade_string_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, gpointer dummy) const GValue *handler_return,
gpointer dummy)
{ {
const gchar *handler_str; const gchar *handler_str;
@ -103,8 +105,9 @@ _glade_strv_handled_accumulator (GSignalInvocationHint *ihint,
gboolean gboolean
_glade_stop_emission_accumulator (GSignalInvocationHint *ihint, _glade_stop_emission_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, gpointer dummy) const GValue *handler_return,
gpointer dummy)
{ {
g_value_copy (handler_return, return_accu); g_value_copy (handler_return, return_accu);

View File

@ -1,3 +1,27 @@
/*
* glade-clipboard.h
*
* Copyright (C) 2005 The GNOME Foundation.
*
* Author(s):
* Tristan Van Berkom <tvb@gnome.org>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*/
#ifndef __GLADE_ACCUMULATORS_H__ #ifndef __GLADE_ACCUMULATORS_H__
#define __GLADE_ACCUMULATORS_H__ #define __GLADE_ACCUMULATORS_H__
@ -6,34 +30,34 @@
G_BEGIN_DECLS G_BEGIN_DECLS
gboolean _glade_single_object_accumulator (GSignalInvocationHint *ihint, gboolean _glade_single_object_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, const GValue *handler_return,
gpointer dummy); gpointer dummy);
gboolean _glade_integer_handled_accumulator (GSignalInvocationHint *ihint, gboolean _glade_integer_handled_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, const GValue *handler_return,
gpointer dummy); gpointer dummy);
gboolean _glade_boolean_handled_accumulator (GSignalInvocationHint *ihint, gboolean _glade_boolean_handled_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, const GValue *handler_return,
gpointer dummy); gpointer dummy);
gboolean _glade_string_accumulator (GSignalInvocationHint *ihint, gboolean _glade_string_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, const GValue *handler_return,
gpointer dummy); gpointer dummy);
gboolean _glade_strv_handled_accumulator (GSignalInvocationHint *ihint, gboolean _glade_strv_handled_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, const GValue *handler_return,
gpointer dummy); gpointer dummy);
gboolean _glade_stop_emission_accumulator (GSignalInvocationHint *ihint, gboolean _glade_stop_emission_accumulator (GSignalInvocationHint *ihint,
GValue *return_accu, GValue *return_accu,
const GValue *handler_return, const GValue *handler_return,
gpointer dummy); gpointer dummy);
G_END_DECLS G_END_DECLS
#endif /* __GLADE_ACCUMULATORS_H__ */ #endif /* __GLADE_ACCUMULATORS_H__ */

View File

@ -22,8 +22,10 @@
*/ */
#include "glade-app.h" #include "glade-app.h"
#include "glade-private.h"
#include "gladeui-enum-types.h" #include "gladeui-enum-types.h"
#include "glade-adaptor-chooser-widget.h" #include "glade-adaptor-chooser-widget.h"
#include "glade-dnd.h"
#include <string.h> #include <string.h>
@ -36,7 +38,8 @@ enum
N_COLUMN N_COLUMN
}; };
struct _GladeAdaptorChooserWidgetPrivate typedef struct __GladeAdaptorChooserWidgetPrivate _GladeAdaptorChooserWidgetPrivate;
struct __GladeAdaptorChooserWidgetPrivate
{ {
GtkTreeView *treeview; GtkTreeView *treeview;
GtkListStore *store; GtkListStore *store;
@ -76,7 +79,7 @@ enum
static guint adaptor_chooser_signals[LAST_SIGNAL] = { 0 }; static guint adaptor_chooser_signals[LAST_SIGNAL] = { 0 };
G_DEFINE_TYPE_WITH_PRIVATE (_GladeAdaptorChooserWidget, _glade_adaptor_chooser_widget, GTK_TYPE_BOX); G_DEFINE_TYPE_WITH_PRIVATE (_GladeAdaptorChooserWidget, _glade_adaptor_chooser_widget, GTK_TYPE_BOX)
#define GET_PRIVATE(d) ((_GladeAdaptorChooserWidgetPrivate *) _glade_adaptor_chooser_widget_get_instance_private((_GladeAdaptorChooserWidget*)d)) #define GET_PRIVATE(d) ((_GladeAdaptorChooserWidgetPrivate *) _glade_adaptor_chooser_widget_get_instance_private((_GladeAdaptorChooserWidget*)d))
@ -86,13 +89,20 @@ _glade_adaptor_chooser_widget_init (_GladeAdaptorChooserWidget *chooser)
gtk_widget_init_template (GTK_WIDGET (chooser)); gtk_widget_init_template (GTK_WIDGET (chooser));
} }
static void
_glade_adaptor_chooser_widget_dispose (GObject *object)
{
_glade_adaptor_chooser_widget_set_project (GLADE_ADAPTOR_CHOOSER_WIDGET (object), NULL);
G_OBJECT_CLASS (_glade_adaptor_chooser_widget_parent_class)->dispose (object);
}
static void static void
_glade_adaptor_chooser_widget_finalize (GObject *object) _glade_adaptor_chooser_widget_finalize (GObject *object)
{ {
_GladeAdaptorChooserWidgetPrivate *priv = GET_PRIVATE (object); _GladeAdaptorChooserWidgetPrivate *priv = GET_PRIVATE (object);
g_clear_pointer (&priv->search_text, g_free); g_clear_pointer (&priv->search_text, g_free);
g_clear_object (&priv->project);
G_OBJECT_CLASS (_glade_adaptor_chooser_widget_parent_class)->finalize (object); G_OBJECT_CLASS (_glade_adaptor_chooser_widget_parent_class)->finalize (object);
} }
@ -168,7 +178,7 @@ normalize_name (const gchar *name)
static inline void static inline void
store_append_adaptor (GtkListStore *store, GladeWidgetAdaptor *adaptor) store_append_adaptor (GtkListStore *store, GladeWidgetAdaptor *adaptor)
{ {
gchar *normalized_name = normalize_name (glade_widget_adaptor_get_name (adaptor)); gchar *normalized_name = normalize_name (glade_widget_adaptor_get_display_name (adaptor));
gtk_list_store_insert_with_values (store, NULL, -1, gtk_list_store_insert_with_values (store, NULL, -1,
COLUMN_ADAPTOR, adaptor, COLUMN_ADAPTOR, adaptor,
@ -313,7 +323,7 @@ treemodelfilter_visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer d
catalog = glade_widget_adaptor_get_catalog (adaptor); catalog = glade_widget_adaptor_get_catalog (adaptor);
glade_project_get_target_version (priv->project, catalog, &major, &minor); glade_project_get_target_version (priv->project, catalog, &major, &minor);
visible = GWA_VERSION_CHECK (adaptor, major, minor); visible = GLADE_WIDGET_ADAPTOR_VERSION_CHECK (adaptor, major, minor);
} }
if (visible && priv->flags) if (visible && priv->flags)
@ -322,13 +332,13 @@ treemodelfilter_visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer d
_GladeAdaptorChooserWidgetFlags flags = priv->flags; _GladeAdaptorChooserWidgetFlags flags = priv->flags;
/* Skip adaptors according to flags */ /* Skip adaptors according to flags */
if (flags & GLADE_ADAPTOR_CHOOSER_WIDGET_SKIP_DEPRECATED && GWA_DEPRECATED (adaptor)) if (flags & GLADE_ADAPTOR_CHOOSER_WIDGET_SKIP_DEPRECATED && GLADE_WIDGET_ADAPTOR_DEPRECATED (adaptor))
visible = FALSE; visible = FALSE;
else if (flags & GLADE_ADAPTOR_CHOOSER_WIDGET_SKIP_TOPLEVEL && GWA_IS_TOPLEVEL (adaptor)) else if (flags & GLADE_ADAPTOR_CHOOSER_WIDGET_SKIP_TOPLEVEL && GLADE_WIDGET_ADAPTOR_IS_TOPLEVEL (adaptor))
visible = FALSE; visible = FALSE;
else if (flags & GLADE_ADAPTOR_CHOOSER_WIDGET_WIDGET && !g_type_is_a (type, GTK_TYPE_WIDGET)) else if (flags & GLADE_ADAPTOR_CHOOSER_WIDGET_WIDGET && !g_type_is_a (type, GTK_TYPE_WIDGET))
visible = FALSE; visible = FALSE;
else if (flags & GLADE_ADAPTOR_CHOOSER_WIDGET_TOPLEVEL && !GWA_IS_TOPLEVEL (adaptor)) else if (flags & GLADE_ADAPTOR_CHOOSER_WIDGET_TOPLEVEL && !GLADE_WIDGET_ADAPTOR_IS_TOPLEVEL (adaptor))
visible = FALSE; visible = FALSE;
} }
@ -381,7 +391,7 @@ adaptor_text_cell_data_func (GtkTreeViewColumn *tree_column,
if (adaptor) if (adaptor)
g_object_set (cell, g_object_set (cell,
"sensitive", TRUE, "sensitive", TRUE,
"text", glade_widget_adaptor_get_name (adaptor), "text", glade_widget_adaptor_get_display_name (adaptor),
"style", PANGO_STYLE_NORMAL, "style", PANGO_STYLE_NORMAL,
NULL); NULL);
else else
@ -395,6 +405,45 @@ adaptor_text_cell_data_func (GtkTreeViewColumn *tree_column,
g_free (group); g_free (group);
} }
static void
glade_adaptor_chooser_widget_drag_begin (GtkWidget *widget,
GdkDragContext *context,
gpointer data)
{
GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
GtkTreeModel *model;
GtkTreeIter iter;
if (gtk_tree_selection_get_selected (selection, &model, &iter))
{
GladeWidgetAdaptor *adaptor;
gtk_tree_model_get (model, &iter, COLUMN_ADAPTOR, &adaptor, -1);
_glade_dnd_set_icon_widget (context,
glade_widget_adaptor_get_icon_name (adaptor),
glade_widget_adaptor_get_display_name (adaptor));
}
}
static void
glade_adaptor_chooser_widget_drag_data_get (GtkWidget *widget,
GdkDragContext *context,
GtkSelectionData *data,
guint info,
guint time,
gpointer userdata)
{
GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (widget));
GtkTreeModel *model;
GtkTreeIter iter;
if (gtk_tree_selection_get_selected (selection, &model, &iter))
{
GladeWidgetAdaptor *adaptor;
gtk_tree_model_get (model, &iter, COLUMN_ADAPTOR, &adaptor, -1);
_glade_dnd_set_data (data, G_OBJECT (adaptor));
}
}
static void static void
_glade_adaptor_chooser_widget_constructed (GObject *object) _glade_adaptor_chooser_widget_constructed (GObject *object)
{ {
@ -418,6 +467,15 @@ _glade_adaptor_chooser_widget_constructed (GObject *object)
gtk_entry_completion_set_match_func (priv->entrycompletion, gtk_entry_completion_set_match_func (priv->entrycompletion,
entrycompletion_match_func, entrycompletion_match_func,
chooser, NULL); chooser, NULL);
/* Enable Drag & Drop */
gtk_tree_view_enable_model_drag_source (priv->treeview, GDK_BUTTON1_MASK,
_glade_dnd_get_target (), 1, GDK_ACTION_MOVE | GDK_ACTION_COPY);
g_signal_connect_after (priv->treeview, "drag-begin",
G_CALLBACK (glade_adaptor_chooser_widget_drag_begin),
NULL);
g_signal_connect (priv->treeview, "drag-data-get",
G_CALLBACK (glade_adaptor_chooser_widget_drag_data_get),
NULL);
} }
static void static void
@ -462,6 +520,7 @@ _glade_adaptor_chooser_widget_class_init (_GladeAdaptorChooserWidgetClass *klass
GObjectClass *object_class = G_OBJECT_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
object_class->dispose = _glade_adaptor_chooser_widget_dispose;
object_class->finalize = _glade_adaptor_chooser_widget_finalize; object_class->finalize = _glade_adaptor_chooser_widget_finalize;
object_class->set_property = _glade_adaptor_chooser_widget_set_property; object_class->set_property = _glade_adaptor_chooser_widget_set_property;
object_class->get_property = _glade_adaptor_chooser_widget_get_property; object_class->get_property = _glade_adaptor_chooser_widget_get_property;
@ -532,12 +591,19 @@ _glade_adaptor_chooser_widget_set_project (_GladeAdaptorChooserWidget *chooser,
g_return_if_fail (GLADE_IS_ADAPTOR_CHOOSER_WIDGET (chooser)); g_return_if_fail (GLADE_IS_ADAPTOR_CHOOSER_WIDGET (chooser));
priv = GET_PRIVATE (chooser); priv = GET_PRIVATE (chooser);
g_clear_object (&priv->project); if (priv->project)
{
g_object_remove_weak_pointer (G_OBJECT (priv->project), (gpointer *) &priv->project);
priv->project = NULL;
}
if (project) if (project)
priv->project = g_object_ref (project); {
priv->project = project;
g_object_add_weak_pointer (G_OBJECT (project), (gpointer *) &priv->project);
gtk_tree_model_filter_refilter (priv->treemodelfilter); gtk_tree_model_filter_refilter (priv->treemodelfilter);
}
} }
void void

View File

@ -28,16 +28,8 @@
G_BEGIN_DECLS G_BEGIN_DECLS
#define GLADE_TYPE_ADAPTOR_CHOOSER_WIDGET (_glade_adaptor_chooser_widget_get_type ()) #define GLADE_TYPE_ADAPTOR_CHOOSER_WIDGET _glade_adaptor_chooser_widget_get_type ()
#define GLADE_ADAPTOR_CHOOSER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_ADAPTOR_CHOOSER_WIDGET, _GladeAdaptorChooserWidget)) G_DECLARE_DERIVABLE_TYPE (_GladeAdaptorChooserWidget, _glade_adaptor_chooser_widget, GLADE, ADAPTOR_CHOOSER_WIDGET, GtkBox)
#define GLADE_ADAPTOR_CHOOSER_WIDGET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_ADAPTOR_CHOOSER_WIDGET, _GladeAdaptorChooserWidgetClass))
#define GLADE_IS_ADAPTOR_CHOOSER_WIDGET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_ADAPTOR_CHOOSER_WIDGET))
#define GLADE_IS_ADAPTOR_CHOOSER_WIDGET_CLASS(klass)(G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_ADAPTOR_CHOOSER_WIDGET))
#define GLADE_ADAPTOR_CHOOSER_WIDGET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLADE_TYPE_ADAPTOR_CHOOSER_WIDGET, _GladeAdaptorChooserWidgetClass))
typedef struct _GladeAdaptorChooserWidgetClass _GladeAdaptorChooserWidgetClass;
typedef struct _GladeAdaptorChooserWidget _GladeAdaptorChooserWidget;
typedef struct _GladeAdaptorChooserWidgetPrivate _GladeAdaptorChooserWidgetPrivate;
typedef enum typedef enum
{ {
@ -47,18 +39,11 @@ typedef enum
GLADE_ADAPTOR_CHOOSER_WIDGET_SKIP_DEPRECATED = 1 << 3 GLADE_ADAPTOR_CHOOSER_WIDGET_SKIP_DEPRECATED = 1 << 3
} _GladeAdaptorChooserWidgetFlags; } _GladeAdaptorChooserWidgetFlags;
struct _GladeAdaptorChooserWidgetClass struct __GladeAdaptorChooserWidgetClass
{ {
GtkBoxClass parent_class; GtkBoxClass parent_class;
}; };
struct _GladeAdaptorChooserWidget
{
GtkBox parent_instance;
};
GType _glade_adaptor_chooser_widget_get_type (void) G_GNUC_CONST;
GtkWidget *_glade_adaptor_chooser_widget_new (_GladeAdaptorChooserWidgetFlags flags, GtkWidget *_glade_adaptor_chooser_widget_new (_GladeAdaptorChooserWidgetFlags flags,
GladeProject *project); GladeProject *project);

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 --> <!-- Generated with glade 3.21.0 -->
<interface> <interface>
<requires lib="gtk+" version="3.20"/> <requires lib="gtk+" version="3.20"/>
<object class="GtkListStore" id="store"> <object class="GtkListStore" id="store">
@ -64,6 +64,7 @@
<property name="model">treemodelfilter</property> <property name="model">treemodelfilter</property>
<property name="headers_visible">False</property> <property name="headers_visible">False</property>
<property name="enable_search">False</property> <property name="enable_search">False</property>
<property name="activate_on_single_click">True</property>
<signal name="row-activated" handler="on_treeview_row_activated" swapped="no"/> <signal name="row-activated" handler="on_treeview_row_activated" swapped="no"/>
<child internal-child="selection"> <child internal-child="selection">
<object class="GtkTreeSelection" id="treeview-selection"/> <object class="GtkTreeSelection" id="treeview-selection"/>

Some files were not shown because too many files have changed in this diff Show More