Compare commits
701 Commits
GLADE_3_22
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
1b15f9401e | ||
|
0f2d0b107c | ||
|
eb150285d5 | ||
|
0c953a4a78 | ||
|
eca9ec777c | ||
|
7f3c0ce1af | ||
|
9d40daf16a | ||
|
f665d1e2d1 | ||
|
508379bd4a | ||
|
c91a7d323c | ||
|
15fb026463 | ||
|
501aae6800 | ||
|
f0b23aecaf | ||
|
62122a144f | ||
|
fb66dc9129 | ||
|
dbb6d7daa2 | ||
|
c1952e05df | ||
|
1fbca367cf | ||
|
fa7224e48e | ||
|
a873cf985a | ||
|
83227a7826 | ||
|
bc0a099360 | ||
|
8fda8dfc2c | ||
|
43a3ebbc77 | ||
|
34e82ccc35 | ||
|
1f8ff4d35e | ||
|
21e7cd6cf0 | ||
|
a5a27dc96f | ||
|
e2d223ba98 | ||
|
e0f81371fd | ||
|
e8df54bcdc | ||
|
b3823efd0a | ||
|
3970e9706c | ||
|
2a6f53bdc5 | ||
|
3f3b6bb456 | ||
|
690e264da4 | ||
|
5bead2812d | ||
|
705d06cbf8 | ||
|
0f4a490653 | ||
|
bf4e8ff8aa | ||
|
60e1440215 | ||
|
69f8a2c744 | ||
|
5c96e5a504 | ||
|
38e162b957 | ||
|
8518979622 | ||
|
4a8822c3bc | ||
|
21e0820f14 | ||
|
6fca410949 | ||
|
4154a7cb70 | ||
|
89ef7392de | ||
|
1773b184fc | ||
|
b13ee97b63 | ||
|
fca50e9c4f | ||
|
99adde9366 | ||
|
07bc78354b | ||
|
31909a3c8c | ||
|
fbebfdbf0d | ||
|
49c570076f | ||
|
308c5bf0a3 | ||
|
efdd5338b0 | ||
|
6da47128e8 | ||
|
8d52d1ec3c | ||
|
ce2b1d4d49 | ||
|
9015b90ca7 | ||
|
662de4d5f4 | ||
|
1c710c6ab3 | ||
|
09c6d3a0fb | ||
|
f717236c2a | ||
|
f7349aeb9b | ||
|
2e85a7157c | ||
|
6a9a8a94ce | ||
|
4d0f844298 | ||
|
9381e38e1a | ||
|
ad1ec23572 | ||
|
74b7bfe4f1 | ||
|
5e46bd65ab | ||
|
9c625a3a18 | ||
|
ac548b066a | ||
|
9db1fba1fa | ||
|
46b000c70f | ||
|
01aaf9fe92 | ||
|
4560bd511a | ||
|
c120bb6000 | ||
|
eb0429d318 | ||
|
6cf1d3e11d | ||
|
d145028626 | ||
|
ae48095061 | ||
|
231ca8068f | ||
|
40b4351a4d | ||
|
a0509db844 | ||
|
86b45d9adb | ||
|
3eb08a3904 | ||
|
3edeee7d5e | ||
|
d318114420 | ||
|
6020649cdc | ||
|
872dedcbf5 | ||
|
3844d403bb | ||
|
04f6d7fe99 | ||
|
a3b13f5458 | ||
|
4359963d46 | ||
|
6c789cd57b | ||
|
6a5faf57df | ||
|
847209db15 | ||
|
0b87230d32 | ||
|
23ac766e49 | ||
|
e028153105 | ||
|
f986003817 | ||
|
f9cd16ffed | ||
|
c5b99615a9 | ||
|
5bd0787d07 | ||
|
9709f5f320 | ||
|
770579f507 | ||
|
a6d131796c | ||
|
26bf4c847b | ||
|
cdd5538efb | ||
|
28ad16ae1c | ||
|
effb44c75f | ||
|
6939ddc7fc | ||
|
678e596cb8 | ||
|
36604cfab8 | ||
|
6758eaeae2 | ||
|
8247c1dfa4 | ||
|
e51be8b658 | ||
|
89b7a97ecc | ||
|
4e5cb4c390 | ||
|
ba3bc86d54 | ||
|
7ff26ad6bf | ||
|
9411afdbdd | ||
|
cfef90c25b | ||
|
9827ed69e6 | ||
|
af5e94df9f | ||
|
81f96c2fb1 | ||
|
9c09fec141 | ||
|
70a9d4c29f | ||
|
b4f12e7361 | ||
|
825d7fb741 | ||
|
20142e2ad1 | ||
|
9f4097cd74 | ||
|
24aef4fcd7 | ||
|
7ecce9ea23 | ||
|
a5ac6a9a2a | ||
|
767f953294 | ||
|
29f75feef7 | ||
|
7acdd3c6f6 | ||
|
9e66cdfb97 | ||
|
32e123859d | ||
|
e5b891d5cf | ||
|
3f8275ad80 | ||
|
f553b839bd | ||
|
df807dd151 | ||
|
8e38e9a5c8 | ||
|
eec1ef3e71 | ||
|
c84932343f | ||
|
29d16f4b29 | ||
|
ccd09e9d86 | ||
|
fe428062ac | ||
|
48d6b070d7 | ||
|
89bf07f696 | ||
|
cadacf6b8e | ||
|
2ca05370ed | ||
|
679e2fc140 | ||
|
9b2dcabc01 | ||
|
f46fa6d9b3 | ||
|
060ed58729 | ||
|
a72c4fca91 | ||
|
5781798ea5 | ||
|
3efb36627f | ||
|
66950d47f0 | ||
|
d09d5690a1 | ||
|
0066ee41bd | ||
|
068528e6ba | ||
|
74760ea31e | ||
|
3b94aec9d8 | ||
|
558a92d60c | ||
|
9e814e2227 | ||
|
6feebc4654 | ||
|
e6da9a7ede | ||
|
0f1c2db23e | ||
|
49e91c0a4b | ||
|
37a2b62f5b | ||
|
bcd0d1cd1c | ||
|
4449499b98 | ||
|
b19d006fff | ||
|
8258b4fb8f | ||
|
b11c24a671 | ||
|
9a4293194e | ||
|
75a7631c66 | ||
|
e490acdc50 | ||
|
9b3a74c3dc | ||
|
f49ebb12fc | ||
|
f13ff85c5c | ||
|
489e0e0306 | ||
|
5f1705b9d5 | ||
|
2d29cacb08 | ||
|
0b9b0f0f40 | ||
|
04c2340aad | ||
|
8069cc6988 | ||
|
34aaeabb0f | ||
|
6454c8f969 | ||
|
1bd2d54942 | ||
|
b7a884f5a6 | ||
|
c0fd18643a | ||
|
d662716d37 | ||
|
679253ba5b | ||
|
a040214023 | ||
|
4f84db233c | ||
|
9a51e6381f | ||
|
c8f91e52cc | ||
|
310ba91cc6 | ||
|
1775705c95 | ||
|
e7dfc7ce73 | ||
|
4af38ecd08 | ||
|
8b39ec6ac7 | ||
|
c94cdbe19c | ||
|
3982c72529 | ||
|
c4ab0b3dfe | ||
|
c3c577f0c9 | ||
|
fb27376d89 | ||
|
207dd760b4 | ||
|
98af1a743c | ||
|
3ea6d95cee | ||
|
e705ab5735 | ||
|
7b41367b31 | ||
|
f9076b7a63 | ||
|
20fd757697 | ||
|
01956c4de7 | ||
|
3cfdf0bd16 | ||
|
bc717637f8 | ||
|
f09f0e03da | ||
|
12beae1180 | ||
|
63f1642733 | ||
|
16679f7dd9 | ||
|
0d37352f28 | ||
|
02dd5e08ac | ||
|
286555acc6 | ||
|
80de73f0b4 | ||
|
a987d81b4e | ||
|
4858565c95 | ||
|
90b73edebb | ||
|
f1a5e99726 | ||
|
10d2a2c255 | ||
|
65569d7937 | ||
|
034f56c00e | ||
|
cf76e8e738 | ||
|
20718e12c0 | ||
|
33d9f35fa0 | ||
|
41039635f4 | ||
|
94c43b4758 | ||
|
ab2104a8e5 | ||
|
3a5d198b97 | ||
|
e4b1d68311 | ||
|
e48e603b66 | ||
|
03a51866c3 | ||
|
b8af75b035 | ||
|
aec114b6c1 | ||
|
032124d214 | ||
|
eca097140d | ||
|
b649589d8a | ||
|
4e3f2738a6 | ||
|
7aa3440072 | ||
|
3236ee4ce1 | ||
|
a6f88f7441 | ||
|
8ea0085747 | ||
|
3887720892 | ||
|
e19d377502 | ||
|
d23af92a4b | ||
|
d166671063 | ||
|
413137f273 | ||
|
b0dcd15387 | ||
|
33fa9a707a | ||
|
835b3227b2 | ||
|
b7ca927e74 | ||
|
d1a05cc5cb | ||
|
cce40a8243 | ||
|
61ab43edae | ||
|
115753c7d9 | ||
|
7a77ded99c | ||
|
df2c7429c7 | ||
|
8918dfb79b | ||
|
1e85f469b9 | ||
|
59e985a27e | ||
|
2a3cc9e4cd | ||
|
e742d393b5 | ||
|
392a3d6199 | ||
|
17bde66d00 | ||
|
214d9f38c7 | ||
|
04ded6d71a | ||
|
34fd642a05 | ||
|
238ec80d11 | ||
|
f34c537742 | ||
|
d88c37e430 | ||
|
62366a99f0 | ||
|
267882b9f8 | ||
|
cac74d620b | ||
|
50d465281f | ||
|
87fbeba96a | ||
|
f92ad4aecc | ||
|
2075297693 | ||
|
66755b1a36 | ||
|
716b64a7ea | ||
|
16a373db2f | ||
|
5d44d98ec8 | ||
|
ae04b49cf7 | ||
|
e84bf61493 | ||
|
5b07458e98 | ||
|
7c17877ed3 | ||
|
18d6b7c49b | ||
|
a4ca6096d7 | ||
|
dd050d4201 | ||
|
8865eb6800 | ||
|
b72596f750 | ||
|
131f267d01 | ||
|
8311d5eb59 | ||
|
249dfb709e | ||
|
958f4298fe | ||
|
337a760144 | ||
|
bbd1c3e412 | ||
|
bb626dd41d | ||
|
265367dd7e | ||
|
0153f61097 | ||
|
49ed23c381 | ||
|
dbad3f508d | ||
|
3361ba9788 | ||
|
b06e1daa43 | ||
|
cabb5bebe3 | ||
|
381b6683c2 | ||
|
02da8e1c7a | ||
|
47c248efb3 | ||
|
4f24d16c6b | ||
|
59f70a9b65 | ||
|
f86d308586 | ||
|
e1be03cb11 | ||
|
bc75b6762f | ||
|
bf68ab06ea | ||
|
6c3f3981a5 | ||
|
d981b9883a | ||
|
0a948e4fd3 | ||
|
7d648e74d5 | ||
|
b4d6b0b9bf | ||
|
8d4a9a3214 | ||
|
2efa1db235 | ||
|
72544e03a7 | ||
|
b577494385 | ||
|
4e073c34b5 | ||
|
78dc7434d4 | ||
|
c795f5c95b | ||
|
d329bccfe8 | ||
|
8df864f9e1 | ||
|
dfefb0d3ae | ||
|
f5e800eca8 | ||
|
82213adda1 | ||
|
779d9d8c85 | ||
|
c687c0c05a | ||
|
763aa56b2c | ||
|
4647b2de0c | ||
|
a3b4c45dc3 | ||
|
dcbf051b57 | ||
|
7562ed196f | ||
|
b973d72ed9 | ||
|
6f4fb5672f | ||
|
ba841dbcf4 | ||
|
114124702e | ||
|
ae53150aa3 | ||
|
f774526429 | ||
|
13ca4e0e52 | ||
|
9c4f774086 | ||
|
e8d8ae8d87 | ||
|
b9288f2562 | ||
|
85108840f8 | ||
|
9ecf25fa9b | ||
|
c1b2ecc3e6 | ||
|
f669297b2a | ||
|
6ac76ca24b | ||
|
c3b72f53e2 | ||
|
6d4e2cd7b7 | ||
|
35781f7a8f | ||
|
fa0489061e | ||
|
fd9059a5f7 | ||
|
b14382e5e2 | ||
|
13bfab8c89 | ||
|
15a67168e1 | ||
|
6f71b51ea7 | ||
|
b93e500f35 | ||
|
50545a104f | ||
|
e88edcc534 | ||
|
aa9ccdf969 | ||
|
d9a52a93e9 | ||
|
3b37846eee | ||
|
0f6f27ffe9 | ||
|
b311c554d0 | ||
|
10282ba1cc | ||
|
33cba9c858 | ||
|
2ea62b5ee2 | ||
|
ce473462ed | ||
|
ac5b9d45fa | ||
|
1d14a4b94f | ||
|
9f828d0c96 | ||
|
fca9eb9110 | ||
|
0cbcd7a1e1 | ||
|
c74a685c65 | ||
|
d44e266414 | ||
|
2e5ce5b630 | ||
|
f9a85517d1 | ||
|
9ee5cbf525 | ||
|
cfae199114 | ||
|
51a5ec5b72 | ||
|
90e942ce80 | ||
|
b8b1b0fa7b | ||
|
c3daab8066 | ||
|
33287bbf32 | ||
|
292349fc3e | ||
|
0572a96264 | ||
|
c5ef0b27cc | ||
|
f52115eb21 | ||
|
d836b918ee | ||
|
11884ca0c9 | ||
|
63403edfe7 | ||
|
622c958aeb | ||
|
eb1f817056 | ||
|
1866928c31 | ||
|
47156544dc | ||
|
0cfa263062 | ||
|
42f8784ae0 | ||
|
35e61ae1dd | ||
|
ba4a4b78d8 | ||
|
c548e57328 | ||
|
1b5c7bdbc9 | ||
|
126b2455ee | ||
|
06bd1f1210 | ||
|
ea17b1aebb | ||
|
b83f7c648c | ||
|
a5c583ec48 | ||
|
8689fbaf68 | ||
|
3fbdf59395 | ||
|
5c493ef9be | ||
|
5fc661e585 | ||
|
008b7a90d5 | ||
|
c1f6b23f7f | ||
|
213447c582 | ||
|
82e02ac048 | ||
|
aaea36892e | ||
|
ded01dd7e6 | ||
|
44b197fd44 | ||
|
5f0624c8dc | ||
|
21551ac316 | ||
|
a554b9602d | ||
|
e319514cdf | ||
|
4f3262627d | ||
|
a4cd9074b6 | ||
|
242364f80d | ||
|
3512d2eb85 | ||
|
ddcb64d2e5 | ||
|
7e20264864 | ||
|
5834546249 | ||
|
8ef04e32db | ||
|
bf550e237c | ||
|
a45ec94349 | ||
|
89acf1b6ca | ||
|
3b00bc8768 | ||
|
58c737af2a | ||
|
6054540957 | ||
|
c5d4c4eb22 | ||
|
f0a539093a | ||
|
61516306c7 | ||
|
4219ca120d | ||
|
1ac86acf57 | ||
|
8b610fc28c | ||
|
283f286299 | ||
|
903bab00bc | ||
|
2d276eaed5 | ||
|
216506aded | ||
|
4730383d97 | ||
|
ff86575faf | ||
|
08fe3669ab | ||
|
12c3fc1986 | ||
|
e5f96709f9 | ||
|
c2d07355a6 | ||
|
b3af287176 | ||
|
d7a2af140c | ||
|
2694a8fd9a | ||
|
2b84518c84 | ||
|
80283c9851 | ||
|
f5f5001329 | ||
|
847c50d3e7 | ||
|
dd8bbc15f1 | ||
|
e80c486f68 | ||
|
138dcbccd1 | ||
|
567f8858ad | ||
|
df6d47f52b | ||
|
1b1ffac4ec | ||
|
1fa027ed94 | ||
|
7ccfe7fe25 | ||
|
d98f4880de | ||
|
736039f426 | ||
|
dfe28ac746 | ||
|
5b8a5a4824 | ||
|
a82d4c0451 | ||
|
e826a25d66 | ||
|
a77a6e9932 | ||
|
c59d40a142 | ||
|
4348034b2e | ||
|
0f6cca5008 | ||
|
23b9b9fc4a | ||
|
143ab6603e | ||
|
aa2ee2e665 | ||
|
1f70884b35 | ||
|
7a630148a2 | ||
|
8170777f26 | ||
|
69f1d458ab | ||
|
b585bac049 | ||
|
e74e881717 | ||
|
db35c6f1b6 | ||
|
58285e64e3 | ||
|
9f4e57a0df | ||
|
4924be88dc | ||
|
85c40c1510 | ||
|
27c2286bd9 | ||
|
258a7dde2f | ||
|
8a18085273 | ||
|
453fc9dd34 | ||
|
b5e5da2d5b | ||
|
487c29824a | ||
|
023c2e6829 | ||
|
3628e8f10f | ||
|
a904a9df25 | ||
|
f439f15787 | ||
|
cb31354029 | ||
|
c5f7174454 | ||
|
11367214b3 | ||
|
3fabe72401 | ||
|
a543e99069 | ||
|
91a8b096a7 | ||
|
00b3b7fa29 | ||
|
fcdfc12290 | ||
|
1980767aae | ||
|
b108afa29b | ||
|
4c280cce03 | ||
|
3235d479f4 | ||
|
b115fcb95d | ||
|
b024d4fdf5 | ||
|
0c9fd3721c | ||
|
b7f9c17e46 | ||
|
f46af86c6e | ||
|
55f03589e9 | ||
|
e635c29d92 | ||
|
cd662a422c | ||
|
103192e038 | ||
|
767719243a | ||
|
04e469ec93 | ||
|
58b8e5fefd | ||
|
ee109a4c22 | ||
|
d4cc46a0d5 | ||
|
b85c202d70 | ||
|
994f4ca638 | ||
|
db0a1f205c | ||
|
ef77eb8320 | ||
|
cdc66846b0 | ||
|
8ecbd08380 | ||
|
812cb3cd35 | ||
|
e7f0a4d17a | ||
|
e1af8a18b2 | ||
|
fdce8f8d70 | ||
|
6a2f50c3c9 | ||
|
79bd7e5a84 | ||
|
9b22a02510 | ||
|
c19d9b7f8d | ||
|
e472c542e6 | ||
|
e7043dbffa | ||
|
e4ce50229e | ||
|
71a9ecfc15 | ||
|
0d2f18b912 | ||
|
7726c09089 | ||
|
15d9d752d4 | ||
|
d34083f3ff | ||
|
39120cba3b | ||
|
ecf4deab44 | ||
|
7d62cef1b5 | ||
|
2dbaeef0e8 | ||
|
8341cf78bc | ||
|
d857fc2fd0 | ||
|
93d8894844 | ||
|
2c460bd113 | ||
|
39676dda2d | ||
|
862963347b | ||
|
1e7e376d67 | ||
|
2b2386c659 | ||
|
55778a4a7d | ||
|
f6bd47b093 | ||
|
18214372fa | ||
|
9bb50acb43 | ||
|
f54b07fa97 | ||
|
2aa752d7ab | ||
|
1d58112ba8 | ||
|
9b1f9c0a8a | ||
|
0905229713 | ||
|
5a2d74f8c8 | ||
|
00645a5698 | ||
|
1a07a1ba52 | ||
|
12e0cc93ee | ||
|
09d1426155 | ||
|
a5ff472fde | ||
|
7d85967339 | ||
|
29e23e5214 | ||
|
f6a2606996 | ||
|
daeb85c9bd | ||
|
363fd7839a | ||
|
2ddc72f728 | ||
|
08bf49a491 | ||
|
949ee16435 | ||
|
8553bf0346 | ||
|
b8db53c94e | ||
|
db79d55c02 | ||
|
bfd3020f66 | ||
|
3e43e42f7e | ||
|
91b6501b7b | ||
|
e6ab26a126 | ||
|
d4c5ce91cb | ||
|
3254723703 | ||
|
1e44a1053c | ||
|
5dfcc73b5d | ||
|
15404992f7 | ||
|
8f188f807c | ||
|
db243b58ef | ||
|
5ef2da7cb9 | ||
|
8da9d7a429 | ||
|
2f946d6ff3 | ||
|
43734fae45 | ||
|
d92387fe87 | ||
|
ce3780e609 | ||
|
71c587982d | ||
|
85e80366d6 | ||
|
59a6a4659c | ||
|
b237bae2e8 | ||
|
159a2bab02 | ||
|
a0d1b58eee | ||
|
f787130c5f | ||
|
cfa6d6c9bf | ||
|
fc71f326f9 | ||
|
5f08b3a8ed | ||
|
493e0c231d | ||
|
9ead37a927 | ||
|
edf808ab94 | ||
|
50b9898be2 | ||
|
0b1d4e99e1 | ||
|
583e024ef8 | ||
|
4b3c2080f0 | ||
|
d666d334bd | ||
|
c2971c6713 | ||
|
f6bee53a3d | ||
|
44577c829a | ||
|
4e9893dfcd | ||
|
d866a0870e | ||
|
2c55455387 | ||
|
4c3cbe3591 | ||
|
815cc6a050 | ||
|
bc0e26c1d0 | ||
|
ad26702a7c | ||
|
225f6f3969 | ||
|
02e660484d | ||
|
e59e5b2b31 | ||
|
701da5b8ef | ||
|
fb2c1d4604 | ||
|
113bfa9811 | ||
|
e6129c0cbc | ||
|
125b5ddd33 | ||
|
6671f7c999 | ||
|
62f9dace52 | ||
|
6a10020e76 | ||
|
5887067a98 | ||
|
6981d60910 | ||
|
83bd4a2848 | ||
|
1a198f86ac | ||
|
540f025c2f | ||
|
6a26af5767 | ||
|
76b4cefd94 | ||
|
1141bbd2c4 | ||
|
4e65572673 | ||
|
94abd680a0 | ||
|
f06d97dece | ||
|
98267e1d8c | ||
|
d4733db797 | ||
|
1149c7ceba | ||
|
54869190d0 | ||
|
35923d0108 | ||
|
bc5f9d0fcb | ||
|
6dad3497fb | ||
|
d0940e82ae | ||
|
f41e1cd4f2 | ||
|
671ecee7fd | ||
|
7105287fc5 | ||
|
e3985e0929 | ||
|
5afdf3db27 | ||
|
10efdce6e7 | ||
|
af7404eb11 | ||
|
2ff3983a60 | ||
|
371b733989 | ||
|
bd4e79d400 | ||
|
5028c39705 | ||
|
eee138d1d4 | ||
|
17a56aa4c4 | ||
|
0ec41f3874 |
54
.gitignore
vendored
@ -1,53 +1 @@
|
||||
*.o
|
||||
*.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
|
||||
|
||||
_build
|
||||
|
15
.gitlab-ci.yml
Normal 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
@ -1,7 +1,9 @@
|
||||
Chema Celorio <chema@ximian.com>
|
||||
|
||||
Thanks to :
|
||||
Michal Palczewski <mpalczew@u.washington.edu> - Widget tree window
|
||||
Archit Baweja <bighead@users.sourceforge.net> - New widgets, _get_type
|
||||
Shane Butler <shane_b@operamail.com> - Glade Widget signals editor
|
||||
Tristan Van Berkom <tvb@gnome.org> - Non widget support.
|
||||
Joaquin Cuenca Abela <e98cuenc@yahoo.com>
|
||||
Paolo Borelli <pborelli@katamail.com>
|
||||
Archit Baweja <bighead@users.sourceforge.net>
|
||||
Shane Butler <shane_b@operamail.com>
|
||||
Tristan Van Berkom <tvb@gnome.org>
|
||||
Ivan Wong <email@ivanwong.info>
|
||||
Juan Pablo Ugarte <juanpablougarte@gmail.com>
|
||||
Vincent Geddes <vincent.geddes@gmail.com>
|
||||
|
@ -1,61 +1,61 @@
|
||||
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
|
||||
to GNOME's Bugzilla instance hosted at https://bugzilla.gnome.org,
|
||||
as such please do not open Pull Requests (PRs) in others git mirrors
|
||||
since there is a good chance they will not get noticed.
|
||||
Maintainer
|
||||
============
|
||||
Glade is looking for a new maintainer, if you are interested please contact us
|
||||
on gitlab.
|
||||
|
||||
Mailing List
|
||||
~~~~~~~~~~~~
|
||||
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
|
||||
~~~~~~~~
|
||||
GitLab
|
||||
========
|
||||
Glade bugs are tracked at
|
||||
|
||||
http://bugzilla.gnome.org/enter_bug.cgi?product=glade
|
||||
https://gitlab.gnome.org/GNOME/glade
|
||||
|
||||
|
||||
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:
|
||||
|
||||
git clone git://git.gnome.org/glade
|
||||
git clone https://gitlab.gnome.org/GNOME/glade.git
|
||||
|
||||
Patches
|
||||
~~~~~~~
|
||||
=======
|
||||
Patches must be in the unified format (diff -u) and must include a
|
||||
ChangeLog entry. Please send all patches to bugzilla.
|
||||
|
||||
It is better to use git format-patch command
|
||||
|
||||
```
|
||||
git format-patch HEAD^
|
||||
```
|
||||
|
||||
Coding Style
|
||||
~~~~~~~~~~~~
|
||||
Code in Glade should follow the GNOME Programming Guidelines
|
||||
(http://developer.gnome.org/doc/guides/programming-guidelines/),
|
||||
basically this means being consistent with the sorrounding code.
|
||||
============
|
||||
Code in Glade should follow the GNU style of GNOME Programming Guidelines
|
||||
(https://developer.gnome.org/programming-guidelines/stable/c-coding-style.html.en),
|
||||
basically this means being consistent with the surrounding code.
|
||||
The only exception is that we prefer having braces always on a new line
|
||||
e.g.:
|
||||
|
||||
```
|
||||
if (...)
|
||||
{
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Note however that a lot of the current codebase still uses the following
|
||||
style:
|
||||
|
||||
```
|
||||
if (...) {
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
Over time we'll migrate to the preferred form.
|
||||
|
||||
@ -63,11 +63,11 @@ Naming conventions:
|
||||
- function names should be lowercase and prefixed with the
|
||||
file name (or, if the function is static and the name too long,
|
||||
with an abbreviation), e.g:
|
||||
glade_project_window_my_function ()
|
||||
gpw_my_loooooooooong_named_fuction ()
|
||||
`glade_project_window_my_function ()`
|
||||
`gpw_my_loooooooooong_named_fuction ()`
|
||||
- variable names should be lowercase and be short but self explanatory;
|
||||
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.
|
||||
|
||||
|
26
COPYING.GPL
@ -1,12 +1,12 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
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
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
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.
|
||||
|
||||
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
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
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
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
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
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
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
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
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 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
|
||||
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
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
14
COPYING.LGPL
@ -1,15 +1,15 @@
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
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
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
[This is the first released version of the library GPL. It is
|
||||
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
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
NO WARRANTY
|
||||
|
||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
||||
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
|
||||
DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
236
INSTALL
@ -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.
|
||||
|
16
INTERNALS
@ -1,22 +1,22 @@
|
||||
Glade3 internals
|
||||
~~~~~~~~~~~~~~~~
|
||||
Glade internals
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
|
||||
about this document
|
||||
===================
|
||||
|
||||
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.
|
||||
|
||||
* 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
|
||||
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
|
||||
through the glade3 codebase.
|
||||
through the glade codebase.
|
||||
|
||||
Everyone who spots errors and inaccuracies in this doc, or who wants to
|
||||
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
|
||||
way and then automatically serialize it to the xml file.
|
||||
|
||||
Glade3 is a complete rewrite of the original glade and takes advantage
|
||||
of the introspection properties of the GTK+2 toolkit.
|
||||
Glade is a complete rewrite of the original glade and takes advantage
|
||||
of the introspection properties of the GTK toolkit.
|
||||
|
||||
|
||||
|
||||
|
@ -5,3 +5,7 @@ Userid: tvb
|
||||
Juan Pablo Ugarte
|
||||
E-mail: juanpablougarte@gmail.com
|
||||
Userid: jpu
|
||||
|
||||
Alberto Fanjul
|
||||
E-mail: albfan@gnome.org
|
||||
Userid: albfan
|
||||
|
35
Makefile.am
@ -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
|
250
NEWS
@ -1,3 +1,250 @@
|
||||
============
|
||||
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
|
||||
============
|
||||
@ -5,7 +252,7 @@ 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)
|
||||
- Widge chooser: activate treeview with single click and enable Drag & Drop
|
||||
- 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
|
||||
@ -1636,3 +1883,4 @@ Translators:
|
||||
o Zbigniew Chyla
|
||||
o Hasbullah Bin Pit
|
||||
o Takeshi AIHANA
|
||||
|
||||
|
60
README
@ -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 & 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
@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -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
@ -13,7 +13,6 @@ API/ABI break
|
||||
GtkBuilder unsuported features:
|
||||
==============================
|
||||
|
||||
* No ID objects: GtkBuilder now support objects without an id.
|
||||
* Property bindings
|
||||
|
||||
Unsupported object classes:
|
||||
@ -41,11 +40,6 @@ GTK+ 3.14
|
||||
|
||||
* type="action" children in GtkDialog
|
||||
|
||||
GTK+ 3.16
|
||||
|
||||
* GtkGLArea
|
||||
|
||||
GTK+ 3.20
|
||||
|
||||
* GtkShortcutsWindow
|
||||
* GtkFileChooserNative
|
||||
|
22
autogen.sh
@ -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
|
@ -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
|
@ -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);
|
||||
}
|
||||
}
|
@ -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."
|
@ -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.
|
@ -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"
|
||||
|
@ -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
|
@ -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>
|
@ -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
|
@ -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
|
||||
|
||||
#
|
@ -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);
|
@ -1,3 +0,0 @@
|
||||
[Pango]
|
||||
ModuleFiles = ./usr/etc/pango/pango.modules
|
||||
ModulesPath = ./usr/lib/pango/1.8.0/modules
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
@ -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
|
1
build/mingw-w64/.gitignore
vendored
@ -1 +0,0 @@
|
||||
/glade.nsi
|
@ -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/
|
@ -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
|
@ -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
|
@ -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!
|
@ -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
|
386
configure.ac
@ -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, 22)
|
||||
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=11
|
||||
GLADE_AGE=5
|
||||
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
@ -1,4 +1,4 @@
|
||||
/glade.desktop
|
||||
/glade.desktop.in
|
||||
/org.gnome.Glade.desktop
|
||||
/org.gnome.Glade.desktop.in
|
||||
/gladeui-1.0.pc
|
||||
/glade.appdata.xml
|
||||
/org.gnome.Glade.appdata.xml
|
||||
|
@ -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)
|
18
data/gettext/its/glade-catalog.its
Normal 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>
|
6
data/gettext/its/glade-catalog.loc
Normal 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>
|
@ -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 & 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>
|
@ -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
|
@ -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}
|
@ -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
|
@ -1 +0,0 @@
|
||||
SUBDIRS = apps
|
@ -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
|
Before Width: | Height: | Size: 852 B |
@ -1 +0,0 @@
|
||||
SUBDIRS = apps
|
@ -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
|
Before Width: | Height: | Size: 1.2 KiB |
@ -1 +0,0 @@
|
||||
SUBDIRS = apps
|
@ -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)
|
Before Width: | Height: | Size: 1.2 KiB |
@ -1 +0,0 @@
|
||||
SUBDIRS = apps
|
@ -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)
|
@ -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)
|
Before Width: | Height: | Size: 35 KiB |
@ -1 +0,0 @@
|
||||
SUBDIRS = apps
|
@ -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
|
Before Width: | Height: | Size: 1.8 KiB |
@ -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 |
@ -1 +0,0 @@
|
||||
SUBDIRS = apps
|
@ -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)
|
Before Width: | Height: | Size: 3.1 KiB |
@ -1,3 +0,0 @@
|
||||
SUBDIRS = 16x16 22x22 24x24 32x32 48x48 256x256 scalable
|
||||
|
||||
EXTRA_DIST = source.svg
|
@ -1 +0,0 @@
|
||||
SUBDIRS = apps
|
@ -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)
|
@ -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 |
1845
data/icons/hicolor/scalable/apps/org.gnome.Glade.svg
Normal file
After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 176 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
125
data/icons/hicolor/symbolic/apps/org.gnome.Glade-symbolic.svg
Normal 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
@ -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',
|
||||
)
|
171
data/org.gnome.Glade.appdata.xml.in
Normal 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 & 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>
|
15
data/org.gnome.Glade.desktop.in.in
Normal 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
|
145
doc/Makefile.am
@ -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
|
@ -35,6 +35,20 @@ some basic examples and describe a wealth of options that can be used to
|
||||
enhance UI editing and workaround exceptions.
|
||||
</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>
|
||||
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
|
||||
@ -64,7 +78,7 @@ are integrating an object "Frobnicator":
|
||||
<title>Toplevel catalog properties and tags</title>
|
||||
<para>
|
||||
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'.
|
||||
</para>
|
||||
|
||||
@ -95,7 +109,7 @@ Please note that all versioning related support is completely optional.
|
||||
<term>targetable</term>
|
||||
<listitem>
|
||||
<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;
|
||||
example: <literal>targetable="0.6,0.8"</literal>.
|
||||
</para>
|
||||
@ -144,7 +158,7 @@ for your plugin.
|
||||
<listitem>
|
||||
<para>
|
||||
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
|
||||
be used in it's stead.
|
||||
</para>
|
||||
@ -156,7 +170,7 @@ be used in it's stead.
|
||||
<listitem>
|
||||
<para>
|
||||
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>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
99
doc/gladegjs.sgml
Normal 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>
|
@ -34,6 +34,7 @@ glade_python_init() will use this name to import your widgets into the
|
||||
interpreter.
|
||||
</listitem></varlistentry>
|
||||
|
||||
pythonplugin.xml
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
<glade-catalog name="pythonplugin" library="gladepython"
|
||||
@ -41,11 +42,11 @@ domain="glade-3" depends="gtk+">
|
||||
<init-function>glade_python_init</init-function>
|
||||
|
||||
<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-group name="python" title="Python">
|
||||
<glade-widget-class-ref name="MyBox"/>
|
||||
<glade-widget-class-ref name="MyPythonBox"/>
|
||||
</glade-widget-group>
|
||||
</glade-catalog>]]>
|
||||
</programlisting>
|
||||
@ -55,7 +56,7 @@ domain="glade-3" depends="gtk+">
|
||||
Glade's python interpreter will look up for your widgets in the same
|
||||
places it looks
|
||||
for regular catalogs plugins, that is $GLADE_ENV_MODULE_PATH
|
||||
enviroment variable
|
||||
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
|
||||
@ -66,13 +67,24 @@ do not forget that the name should be the one specified in your catalog name.
|
||||
pythonplugin.py
|
||||
<programlisting>
|
||||
<![CDATA[
|
||||
from gi.repository import Gtk
|
||||
from gi.repository import GLib, Gtk, GObject
|
||||
|
||||
class MyBox(Gtk.HBox):
|
||||
__gtype_name__ = 'MyBox'
|
||||
class MyPythonBox(Gtk.Box):
|
||||
__gtype_name__ = 'MyPythonBox'
|
||||
|
||||
def __init__(self):
|
||||
Gtk.HBox.__init__(self)
|
||||
foo = GObject.Property(type=int, nick='An integer')
|
||||
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>
|
||||
</para>
|
||||
|
@ -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
@ -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>
|
49
doc/meson.build
Normal 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,
|
||||
)
|
@ -1,19 +1,19 @@
|
||||
<refentry id="properties" revision="8 Feb 2006">
|
||||
<refmeta>
|
||||
<refentrytitle>Property Class Definitions</refentrytitle>
|
||||
<refentrytitle>Property Definitions</refentrytitle>
|
||||
<refmiscinfo>Glade UI</refmiscinfo>
|
||||
</refmeta>
|
||||
<refnamediv>
|
||||
<refname>Property Classes</refname>
|
||||
<refname>Property Definitions</refname>
|
||||
<refpurpose>
|
||||
How to augment or define a #GladePropertyClass
|
||||
How to augment or define a #GladePropertyDef
|
||||
</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
<refsect1>
|
||||
<title>Property Class Configuration</title>
|
||||
<title>Property Definition Configuration</title>
|
||||
<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
|
||||
for editing purposes. Here is an example of the xml form:
|
||||
<programlisting><![CDATA[...
|
||||
@ -43,7 +43,7 @@ Properties of the 'property' tag:
|
||||
<term>id</term>
|
||||
<listitem>
|
||||
<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>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
@ -210,7 +210,7 @@ the widget when pasted to a new container that supports the same properties.
|
||||
<term>save-always</term>
|
||||
<listitem>
|
||||
<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).
|
||||
</para>
|
||||
</listitem>
|
||||
|
@ -16,7 +16,7 @@ Adding support for custom widgets
|
||||
<para>
|
||||
Widget support in Glade is provided by the #GladeWidgetAdaptor object, each
|
||||
`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
|
||||
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
|
||||
@ -76,7 +76,7 @@ Here is the complete example of the form of the `glade-widget-class' definition:
|
||||
<refsect1>
|
||||
<title>Widget Class Properties</title>
|
||||
<para>
|
||||
The following are all properies of the `glade-widget-class' tag
|
||||
The following are all properties of the `glade-widget-class' tag
|
||||
</para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
@ -168,7 +168,7 @@ tree and will be translated before use in the interface.
|
||||
<para>
|
||||
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
|
||||
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).
|
||||
</para>
|
||||
</listitem>
|
||||
@ -188,7 +188,7 @@ in Glade context. This property will be inherited from the adaptors parent.
|
||||
<term>fixed</term>
|
||||
<listitem>
|
||||
<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.
|
||||
</para>
|
||||
</listitem>
|
||||
@ -506,7 +506,7 @@ are added to the toolbar.
|
||||
<para>
|
||||
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
|
||||
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
|
||||
specify the property name and the `default' property for the value.
|
||||
</para>
|
||||
@ -542,7 +542,7 @@ and GENERIC_NAME is the value of an widget class's generic name attribute.
|
||||
</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
|
||||
name assigned to the widget class.
|
||||
</para>
|
||||
|
@ -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=$@
|
18
glade.doap
@ -6,22 +6,23 @@
|
||||
xmlns="http://usefulinc.com/ns/doap#">
|
||||
|
||||
<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>
|
||||
<homepage rdf:resource="http://glade.gnome.org/" />
|
||||
<mailing-list rdf:resource="http://lists.ximian.com/mailman/listinfo/glade-devel" />
|
||||
<download-page rdf:resource="http://download.gnome.org/sources/glade/" />
|
||||
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=glade" />
|
||||
<developer-forum rdf:resource="https://discourse.gnome.org/tag/glade" />
|
||||
<download-page rdf:resource="https://download.gnome.org/sources/glade/" />
|
||||
<bug-database rdf:resource="https://gitlab.gnome.org/GNOME/glade/issues" />
|
||||
|
||||
<category rdf:resource="http://api.gnome.org/doap-extensions#apps" />
|
||||
<programming-language>C</programming-language>
|
||||
|
||||
<maintainer>
|
||||
<!-- <maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Tristan Van Berkom</foaf:name>
|
||||
<foaf:mbox rdf:resource="mailto:tristan.van.berkom@gmail.com" />
|
||||
<gnome:userid>tvb</gnome:userid>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
</maintainer> -->
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Juan Pablo Ugarte</foaf:name>
|
||||
@ -29,4 +30,11 @@
|
||||
<gnome:userid>jpu</gnome:userid>
|
||||
</foaf:Person>
|
||||
</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>
|
||||
|
@ -1,292 +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-base-editor.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
|
@ -18,7 +18,7 @@
|
||||
*
|
||||
* 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,
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||
* USA.
|
||||
*/
|
||||
|
||||
@ -31,8 +31,9 @@
|
||||
|
||||
gboolean
|
||||
_glade_single_object_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return, gpointer dummy)
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy)
|
||||
{
|
||||
GObject *object = g_value_get_object (handler_return);
|
||||
g_value_set_object (return_accu, object);
|
||||
@ -42,9 +43,9 @@ _glade_single_object_accumulator (GSignalInvocationHint *ihint,
|
||||
|
||||
gboolean
|
||||
_glade_integer_handled_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy)
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy)
|
||||
{
|
||||
gboolean continue_emission;
|
||||
gint retval;
|
||||
@ -59,9 +60,9 @@ _glade_integer_handled_accumulator (GSignalInvocationHint *ihint,
|
||||
/* From gtkmain.c */
|
||||
gboolean
|
||||
_glade_boolean_handled_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy)
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy)
|
||||
{
|
||||
gboolean continue_emission;
|
||||
gboolean signal_handled;
|
||||
@ -75,8 +76,9 @@ _glade_boolean_handled_accumulator (GSignalInvocationHint *ihint,
|
||||
|
||||
gboolean
|
||||
_glade_string_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return, gpointer dummy)
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy)
|
||||
{
|
||||
const gchar *handler_str;
|
||||
|
||||
@ -103,8 +105,9 @@ _glade_strv_handled_accumulator (GSignalInvocationHint *ihint,
|
||||
|
||||
gboolean
|
||||
_glade_stop_emission_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return, gpointer dummy)
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy)
|
||||
{
|
||||
g_value_copy (handler_return, return_accu);
|
||||
|
||||
|
@ -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__
|
||||
#define __GLADE_ACCUMULATORS_H__
|
||||
|
||||
@ -6,34 +30,34 @@
|
||||
G_BEGIN_DECLS
|
||||
|
||||
gboolean _glade_single_object_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
|
||||
gboolean _glade_integer_handled_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
|
||||
gboolean _glade_boolean_handled_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
|
||||
gboolean _glade_string_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
|
||||
gboolean _glade_strv_handled_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
|
||||
gboolean _glade_stop_emission_accumulator (GSignalInvocationHint *ihint,
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
GValue *return_accu,
|
||||
const GValue *handler_return,
|
||||
gpointer dummy);
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GLADE_ACCUMULATORS_H__ */
|
||||
|
@ -22,6 +22,7 @@
|
||||
*/
|
||||
|
||||
#include "glade-app.h"
|
||||
#include "glade-private.h"
|
||||
#include "gladeui-enum-types.h"
|
||||
#include "glade-adaptor-chooser-widget.h"
|
||||
#include "glade-dnd.h"
|
||||
@ -37,7 +38,8 @@ enum
|
||||
N_COLUMN
|
||||
};
|
||||
|
||||
struct _GladeAdaptorChooserWidgetPrivate
|
||||
typedef struct __GladeAdaptorChooserWidgetPrivate _GladeAdaptorChooserWidgetPrivate;
|
||||
struct __GladeAdaptorChooserWidgetPrivate
|
||||
{
|
||||
GtkTreeView *treeview;
|
||||
GtkListStore *store;
|
||||
@ -77,7 +79,7 @@ enum
|
||||
|
||||
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))
|
||||
|
||||
@ -87,13 +89,20 @@ _glade_adaptor_chooser_widget_init (_GladeAdaptorChooserWidget *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
|
||||
_glade_adaptor_chooser_widget_finalize (GObject *object)
|
||||
{
|
||||
_GladeAdaptorChooserWidgetPrivate *priv = GET_PRIVATE (object);
|
||||
|
||||
g_clear_pointer (&priv->search_text, g_free);
|
||||
g_clear_object (&priv->project);
|
||||
|
||||
G_OBJECT_CLASS (_glade_adaptor_chooser_widget_parent_class)->finalize (object);
|
||||
}
|
||||
@ -169,7 +178,7 @@ normalize_name (const gchar *name)
|
||||
static inline void
|
||||
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,
|
||||
COLUMN_ADAPTOR, adaptor,
|
||||
@ -314,7 +323,7 @@ treemodelfilter_visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer d
|
||||
catalog = glade_widget_adaptor_get_catalog (adaptor);
|
||||
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)
|
||||
@ -323,13 +332,13 @@ treemodelfilter_visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer d
|
||||
_GladeAdaptorChooserWidgetFlags flags = priv->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;
|
||||
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;
|
||||
else if (flags & GLADE_ADAPTOR_CHOOSER_WIDGET_WIDGET && !g_type_is_a (type, GTK_TYPE_WIDGET))
|
||||
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;
|
||||
}
|
||||
|
||||
@ -382,7 +391,7 @@ adaptor_text_cell_data_func (GtkTreeViewColumn *tree_column,
|
||||
if (adaptor)
|
||||
g_object_set (cell,
|
||||
"sensitive", TRUE,
|
||||
"text", glade_widget_adaptor_get_name (adaptor),
|
||||
"text", glade_widget_adaptor_get_display_name (adaptor),
|
||||
"style", PANGO_STYLE_NORMAL,
|
||||
NULL);
|
||||
else
|
||||
@ -411,7 +420,7 @@ glade_adaptor_chooser_widget_drag_begin (GtkWidget *widget,
|
||||
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_name (adaptor));
|
||||
glade_widget_adaptor_get_display_name (adaptor));
|
||||
}
|
||||
}
|
||||
|
||||
@ -460,7 +469,7 @@ _glade_adaptor_chooser_widget_constructed (GObject *object)
|
||||
chooser, NULL);
|
||||
/* Enable Drag & Drop */
|
||||
gtk_tree_view_enable_model_drag_source (priv->treeview, GDK_BUTTON1_MASK,
|
||||
_glade_dnd_get_target (), 1, 0);
|
||||
_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);
|
||||
@ -511,6 +520,7 @@ _glade_adaptor_chooser_widget_class_init (_GladeAdaptorChooserWidgetClass *klass
|
||||
GObjectClass *object_class = G_OBJECT_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->set_property = _glade_adaptor_chooser_widget_set_property;
|
||||
object_class->get_property = _glade_adaptor_chooser_widget_get_property;
|
||||
@ -581,12 +591,19 @@ _glade_adaptor_chooser_widget_set_project (_GladeAdaptorChooserWidget *chooser,
|
||||
g_return_if_fail (GLADE_IS_ADAPTOR_CHOOSER_WIDGET (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)
|
||||
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
|
||||
|
@ -28,16 +28,8 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#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))
|
||||
#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;
|
||||
#define GLADE_TYPE_ADAPTOR_CHOOSER_WIDGET _glade_adaptor_chooser_widget_get_type ()
|
||||
G_DECLARE_DERIVABLE_TYPE (_GladeAdaptorChooserWidget, _glade_adaptor_chooser_widget, GLADE, ADAPTOR_CHOOSER_WIDGET, GtkBox)
|
||||
|
||||
typedef enum
|
||||
{
|
||||
@ -47,18 +39,11 @@ typedef enum
|
||||
GLADE_ADAPTOR_CHOOSER_WIDGET_SKIP_DEPRECATED = 1 << 3
|
||||
} _GladeAdaptorChooserWidgetFlags;
|
||||
|
||||
struct _GladeAdaptorChooserWidgetClass
|
||||
struct __GladeAdaptorChooserWidgetClass
|
||||
{
|
||||
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,
|
||||
GladeProject *project);
|
||||
|
||||
|
@ -36,7 +36,11 @@ typedef struct
|
||||
GtkLabel *class_label;
|
||||
GtkWidget *all_button;
|
||||
|
||||
GtkWidget *others_chooser;
|
||||
GtkWidget *all_chooser;
|
||||
GList *choosers;
|
||||
|
||||
gboolean needs_update;
|
||||
} GladeAdaptorChooserPrivate;
|
||||
|
||||
struct _GladeAdaptorChooser
|
||||
@ -126,7 +130,7 @@ on_adaptor_selected (GtkWidget *widget,
|
||||
GladeAdaptorChooserPrivate *priv = GET_PRIVATE (chooser);
|
||||
|
||||
/* Auto-create toplevel types */
|
||||
if (GWA_IS_TOPLEVEL (adaptor))
|
||||
if (GLADE_WIDGET_ADAPTOR_IS_TOPLEVEL (adaptor))
|
||||
{
|
||||
glade_command_create (adaptor, NULL, NULL, priv->project);
|
||||
}
|
||||
@ -142,13 +146,17 @@ on_adaptor_selected (GtkWidget *widget,
|
||||
static void
|
||||
glade_adaptor_chooser_button_add_chooser (GtkWidget *button, GtkWidget *chooser)
|
||||
{
|
||||
GtkWidget *popover;
|
||||
GtkPopover *popover = gtk_menu_button_get_popover (GTK_MENU_BUTTON (button));
|
||||
|
||||
if (!popover)
|
||||
{
|
||||
popover = GTK_POPOVER (gtk_popover_new (button));
|
||||
gtk_menu_button_set_popover (GTK_MENU_BUTTON (button),
|
||||
GTK_WIDGET (popover));
|
||||
}
|
||||
|
||||
popover = gtk_popover_new (button);
|
||||
gtk_container_add (GTK_CONTAINER (popover), chooser);
|
||||
gtk_widget_show (chooser);
|
||||
|
||||
gtk_menu_button_set_popover (GTK_MENU_BUTTON (button), popover);
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
@ -213,33 +221,92 @@ button_box_populate_from_catalog (GladeAdaptorChooser *chooser,
|
||||
}
|
||||
|
||||
static void
|
||||
glade_adaptor_chooser_constructed (GObject *object)
|
||||
remove_chooser_widget (GladeAdaptorChooser *chooser, GtkWidget *widget)
|
||||
{
|
||||
GladeAdaptorChooser *chooser = GLADE_ADAPTOR_CHOOSER (object);
|
||||
GladeAdaptorChooserPrivate *priv = GET_PRIVATE (object);
|
||||
GtkWidget *others_chooser, *all_chooser;
|
||||
if (widget)
|
||||
{
|
||||
GladeAdaptorChooserPrivate *priv = GET_PRIVATE (chooser);
|
||||
priv->choosers = g_list_remove (priv->choosers, widget);
|
||||
gtk_widget_destroy (widget);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
update_all_others_chooser (GladeAdaptorChooser *chooser)
|
||||
{
|
||||
GladeAdaptorChooserPrivate *priv = GET_PRIVATE (chooser);
|
||||
GladeCatalog *gtk_catalog;
|
||||
GList *l;
|
||||
|
||||
/* GTK+ catalog goes first subdivided by group */
|
||||
gtk_catalog = glade_app_get_catalog ("gtk+");
|
||||
button_box_populate_from_catalog (chooser, gtk_catalog);
|
||||
priv->needs_update = FALSE;
|
||||
|
||||
others_chooser = glade_adaptor_chooser_add_chooser (chooser, TRUE);
|
||||
all_chooser = glade_adaptor_chooser_add_chooser (chooser, TRUE);
|
||||
glade_adaptor_chooser_button_add_chooser (priv->others_button, others_chooser);
|
||||
glade_adaptor_chooser_button_add_chooser (priv->all_button, all_chooser);
|
||||
gtk_catalog = glade_app_get_catalog ("gtk+");
|
||||
|
||||
remove_chooser_widget (chooser, priv->others_chooser);
|
||||
remove_chooser_widget (chooser, priv->all_chooser);
|
||||
|
||||
priv->others_chooser = glade_adaptor_chooser_add_chooser (chooser, TRUE);
|
||||
priv->all_chooser = glade_adaptor_chooser_add_chooser (chooser, TRUE);
|
||||
|
||||
glade_adaptor_chooser_button_add_chooser (priv->others_button, priv->others_chooser);
|
||||
glade_adaptor_chooser_button_add_chooser (priv->all_button, priv->all_chooser);
|
||||
|
||||
/* then the rest */
|
||||
for (l = glade_app_get_catalogs (); l; l = g_list_next (l))
|
||||
{
|
||||
GladeCatalog *catalog = l->data;
|
||||
|
||||
_glade_adaptor_chooser_widget_add_catalog (GLADE_ADAPTOR_CHOOSER_WIDGET (all_chooser), catalog);
|
||||
_glade_adaptor_chooser_widget_add_catalog (GLADE_ADAPTOR_CHOOSER_WIDGET (priv->all_chooser), catalog);
|
||||
|
||||
if (catalog != gtk_catalog)
|
||||
_glade_adaptor_chooser_widget_add_catalog (GLADE_ADAPTOR_CHOOSER_WIDGET (others_chooser), catalog);
|
||||
_glade_adaptor_chooser_widget_add_catalog (GLADE_ADAPTOR_CHOOSER_WIDGET (priv->others_chooser), catalog);
|
||||
}
|
||||
|
||||
_glade_adaptor_chooser_widget_set_project (GLADE_ADAPTOR_CHOOSER_WIDGET (priv->others_chooser), priv->project);
|
||||
_glade_adaptor_chooser_widget_set_project (GLADE_ADAPTOR_CHOOSER_WIDGET (priv->all_chooser), priv->project);
|
||||
}
|
||||
|
||||
static void
|
||||
on_widget_adaptor_registered (GladeApp *app,
|
||||
GladeWidgetAdaptor *adaptor,
|
||||
GladeAdaptorChooser *chooser)
|
||||
{
|
||||
GladeAdaptorChooserPrivate *priv = GET_PRIVATE (chooser);
|
||||
priv->needs_update = TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
on_button_clicked (GtkButton *button, GladeAdaptorChooser *chooser)
|
||||
{
|
||||
GladeAdaptorChooserPrivate *priv = GET_PRIVATE (chooser);
|
||||
|
||||
if (priv->needs_update)
|
||||
update_all_others_chooser (chooser);
|
||||
}
|
||||
|
||||
static void
|
||||
glade_adaptor_chooser_constructed (GObject *object)
|
||||
{
|
||||
GladeAdaptorChooser *chooser = GLADE_ADAPTOR_CHOOSER (object);
|
||||
GladeAdaptorChooserPrivate *priv = GET_PRIVATE (chooser);
|
||||
GladeCatalog *gtk_catalog;
|
||||
|
||||
/* GTK+ catalog goes first subdivided by group */
|
||||
gtk_catalog = glade_app_get_catalog ("gtk+");
|
||||
button_box_populate_from_catalog (chooser, gtk_catalog);
|
||||
|
||||
update_all_others_chooser (chooser);
|
||||
|
||||
g_signal_connect (glade_app_get(), "widget-adaptor-registered",
|
||||
G_CALLBACK (on_widget_adaptor_registered),
|
||||
chooser);
|
||||
|
||||
g_signal_connect (priv->others_button, "clicked",
|
||||
G_CALLBACK (on_button_clicked),
|
||||
chooser);
|
||||
g_signal_connect (priv->all_button, "clicked",
|
||||
G_CALLBACK (on_button_clicked),
|
||||
chooser);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -273,6 +340,11 @@ glade_adaptor_chooser_class_init (GladeAdaptorChooserClass *klass)
|
||||
|
||||
/* Public API */
|
||||
|
||||
/**
|
||||
* glade_adaptor_chooser_new:
|
||||
*
|
||||
* Returns: (transfer full): A new #GladeAdaptorChooser
|
||||
*/
|
||||
GtkWidget *
|
||||
glade_adaptor_chooser_new ()
|
||||
{
|
||||
@ -291,7 +363,7 @@ glade_adaptor_chooser_update_adaptor (GladeAdaptorChooser *chooser)
|
||||
glade_widget_adaptor_get_icon_name (adaptor),
|
||||
GTK_ICON_SIZE_BUTTON);
|
||||
gtk_label_set_label (priv->class_label,
|
||||
glade_widget_adaptor_get_name (adaptor));
|
||||
glade_widget_adaptor_get_display_name (adaptor));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -300,6 +372,15 @@ glade_adaptor_chooser_update_adaptor (GladeAdaptorChooser *chooser)
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
on_project_weak_notify (gpointer data, GObject *project)
|
||||
{
|
||||
GladeAdaptorChooser *chooser = data;
|
||||
GladeAdaptorChooserPrivate *priv = GET_PRIVATE (chooser);
|
||||
|
||||
priv->project = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
glade_adaptor_chooser_set_project (GladeAdaptorChooser *chooser,
|
||||
GladeProject *project)
|
||||
@ -315,12 +396,15 @@ glade_adaptor_chooser_set_project (GladeAdaptorChooser *chooser,
|
||||
g_signal_handlers_disconnect_by_func (G_OBJECT (priv->project),
|
||||
G_CALLBACK (glade_adaptor_chooser_update_adaptor),
|
||||
chooser);
|
||||
g_clear_object (&priv->project);
|
||||
g_object_weak_unref (G_OBJECT (priv->project), on_project_weak_notify, chooser);
|
||||
priv->project = NULL;
|
||||
}
|
||||
|
||||
if (project)
|
||||
{
|
||||
priv->project = g_object_ref (project);
|
||||
priv->project = project;
|
||||
g_object_weak_ref (G_OBJECT (project), on_project_weak_notify, chooser);
|
||||
|
||||
g_signal_connect_swapped (G_OBJECT (project), "notify::add-item",
|
||||
G_CALLBACK (glade_adaptor_chooser_update_adaptor),
|
||||
chooser);
|
||||
@ -337,6 +421,12 @@ glade_adaptor_chooser_set_project (GladeAdaptorChooser *chooser,
|
||||
glade_adaptor_chooser_update_adaptor (chooser);
|
||||
}
|
||||
|
||||
/**
|
||||
* glade_adaptor_chooser_get_project:
|
||||
* @chooser: a #GladeAdaptorChooser
|
||||
*
|
||||
* Returns: (transfer full): A #GladeProject
|
||||
*/
|
||||
GladeProject *
|
||||
glade_adaptor_chooser_get_project (GladeAdaptorChooser *chooser)
|
||||
{
|
||||
|