Merge lp:~nathive-dev/nathive/0.870_experimental into lp:nathive
- 0.870_experimental
- Merge into trunk
Proposed by
Marcos Diaz
Status: | Merged |
---|---|
Approved by: | Marcos Diaz |
Approved revision: | not available |
Merged at revision: | not available |
Proposed branch: | lp:~nathive-dev/nathive/0.870_experimental |
Merge into: | lp:nathive |
Diff against target: |
11123 lines (+5370/-5124) 113 files modified
AUTHORS (+25/-0) COPYING (+0/-674) LICENSE (+674/-0) LICENSE-BRIEF (+5/-0) Makefile (+0/-12) README (+80/-0) TODO (+35/-0) VERSION (+5/-0) cfg/cfg.xml (+0/-21) cfg/default.cfg (+23/-0) gb/brush.c (+0/-33) gb/dialog-new.c (+0/-46) gb/global.c (+0/-64) gui/colorbar.c (+0/-48) gui/gui-main.c (+0/-65) gui/headbar.c (+0/-48) gui/menubar.c (+0/-52) gui/sidebar-brush.c (+0/-102) gui/sidebar-color.c (+0/-47) gui/sidebar-mask.c (+0/-27) gui/sidebar-object.c (+0/-68) gui/sidebar-picker.c (+0/-27) gui/sidebar-select.c (+0/-27) gui/sidebar.c (+0/-50) gui/tabs.c (+0/-22) gui/toolbar.c (+0/-42) lang/chinese.xml (+0/-59) lang/english.xml (+0/-59) lang/german.xml (+0/-59) lang/hungarian.xml (+0/-58) lang/polish.xml (+0/-59) lang/spanish.xml (+0/-59) lib/cfg.c (+0/-40) lib/common.c (+0/-111) lib/dom.c (+0/-159) lib/gui/call.c (+0/-105) lib/gui/clear.c (+0/-46) lib/gui/color.c (+0/-165) lib/gui/cursor.c (+0/-42) lib/gui/dialog.c (+0/-521) lib/gui/entry.c (+0/-281) lib/gui/event.c (+0/-61) lib/gui/menu.c (+0/-29) lib/gui/misc.c (+0/-69) lib/gui/object.c (+0/-210) lib/gui/other.c (+0/-67) lib/gui/scroll.c (+0/-55) lib/gui/statusbar.c (+0/-66) lib/gui/tab.c (+0/-193) lib/itoa.c (+0/-38) lib/language.c (+0/-45) lib/n-tree.c (+0/-165) lib/n-xml.c (+0/-36) lib/over.c (+0/-79) lib/pixel.c (+0/-22) lib/rgbhex.c (+0/-72) lib/rgbhsv.c (+0/-78) lib/unit.c (+0/-47) makefile (+125/-0) nathive.c (+0/-132) nathive.desktop (+12/-0) nathive.py (+86/-0) nathive.sh (+2/-0) nathive/gui/canvas.py (+102/-0) nathive/gui/colorbar.py (+82/-0) nathive/gui/headbar.py (+52/-0) nathive/gui/main.py (+93/-0) nathive/gui/menu.py (+52/-0) nathive/gui/multiwidget.py (+195/-0) nathive/gui/open.py (+83/-0) nathive/gui/sidebar.py (+72/-0) nathive/gui/sidebar_color.py (+114/-0) nathive/gui/statusbar.py (+32/-0) nathive/gui/tabs.py (+120/-0) nathive/gui/toolbar.py (+95/-0) nathive/gui/utils.py (+44/-0) nathive/lib/color.py (+105/-0) nathive/lib/config.py (+65/-0) nathive/lib/convert.py (+75/-0) nathive/lib/document.py (+55/-0) nathive/lib/documents.py (+78/-0) nathive/lib/mygettext.py (+79/-0) nathive/lib/plugs.py (+43/-0) nathive/libc/core.c (+217/-0) nathive/plugins/brush.py (+173/-0) nathive/plugins/libc/brush.c (+182/-0) nathive/plugins/open.py (+31/-0) nathive/plugins/picker.py (+39/-0) nathive/plugins/select.py (+39/-0) palettes/01.xml (+0/-62) palettes/02.xml (+0/-52) palettes/default.pal (+45/-0) po/de.po (+176/-0) po/es.po (+176/-0) po/fr.po (+176/-0) po/hu.po (+176/-0) po/it.po (+176/-0) po/pl.po (+176/-0) po/pt.po (+176/-0) po/se.po (+176/-0) po/zh_CN.po (+176/-0) text/credits (+0/-16) text/license (+0/-5) tool/brush.c (+0/-155) tool/picker.c (+0/-31) tool/select.c (+0/-41) utils/debbuild.py (+77/-0) utils/debdata (+12/-0) utils/extbuild.py (+56/-0) utils/indenter.py (+80/-0) utils/makeplugs.py (+32/-0) utils/rpmbuild.py (+78/-0) utils/rpmdata (+17/-0) |
To merge this branch: | bzr merge lp:~nathive-dev/nathive/0.870_experimental |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Marcos Diaz | Pending | ||
Review via email: mp+16072@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'AUTHORS' |
2 | --- AUTHORS 1970-01-01 00:00:00 +0000 |
3 | +++ AUTHORS 2009-12-12 11:55:22 +0000 |
4 | @@ -0,0 +1,25 @@ |
5 | +CODE: |
6 | +Marcos Díaz Mencía <markos@nathive.org> |
7 | +Christopher Grebs <cg@webshox.org> |
8 | +Sören Wegener <soerenwegener@t-online.de> |
9 | + |
10 | +TRANSLATIONS: |
11 | +Dariusz Jakoniuk <pipaceliny@gmail.com> |
12 | +Marco Neumann <marco_neu_@arcor.de> |
13 | +Zoltan Hoppar <hopparz@gmail.com> |
14 | +Xu Xiaodong <xxdlhy@gmail.com> |
15 | +Nafergo Nafergo <nafergo@gmail.com> |
16 | +David Sagnol <david.sagnol@wanadoo.fr> |
17 | +Cristiano Vitorino <contatocristianovitorino@gmail.com> |
18 | +Daniel Nylander <po@danielnylander.se> |
19 | +Angelo Gemmi <angelo.gemmi@irk.ca> |
20 | + |
21 | +ART: |
22 | +Ana del Cerro <anadebian@gmail.com> |
23 | + |
24 | +THANKS TO: |
25 | +Free Software Foundation <http://www.fsf.org> |
26 | +GTK+ team <http://www.gtk.org> |
27 | +Python Software Foundation <http://www.python.org/> |
28 | +PyGTK team <http://www.pygtk.org> |
29 | +You, for being libre. |
30 | |
31 | === removed file 'COPYING' |
32 | --- COPYING 2008-11-26 01:33:49 +0000 |
33 | +++ COPYING 1970-01-01 00:00:00 +0000 |
34 | @@ -1,674 +0,0 @@ |
35 | - GNU GENERAL PUBLIC LICENSE |
36 | - Version 3, 29 June 2007 |
37 | - |
38 | - Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> |
39 | - Everyone is permitted to copy and distribute verbatim copies |
40 | - of this license document, but changing it is not allowed. |
41 | - |
42 | - Preamble |
43 | - |
44 | - The GNU General Public License is a free, copyleft license for |
45 | -software and other kinds of works. |
46 | - |
47 | - The licenses for most software and other practical works are designed |
48 | -to take away your freedom to share and change the works. By contrast, |
49 | -the GNU General Public License is intended to guarantee your freedom to |
50 | -share and change all versions of a program--to make sure it remains free |
51 | -software for all its users. We, the Free Software Foundation, use the |
52 | -GNU General Public License for most of our software; it applies also to |
53 | -any other work released this way by its authors. You can apply it to |
54 | -your programs, too. |
55 | - |
56 | - When we speak of free software, we are referring to freedom, not |
57 | -price. Our General Public Licenses are designed to make sure that you |
58 | -have the freedom to distribute copies of free software (and charge for |
59 | -them if you wish), that you receive source code or can get it if you |
60 | -want it, that you can change the software or use pieces of it in new |
61 | -free programs, and that you know you can do these things. |
62 | - |
63 | - To protect your rights, we need to prevent others from denying you |
64 | -these rights or asking you to surrender the rights. Therefore, you have |
65 | -certain responsibilities if you distribute copies of the software, or if |
66 | -you modify it: responsibilities to respect the freedom of others. |
67 | - |
68 | - For example, if you distribute copies of such a program, whether |
69 | -gratis or for a fee, you must pass on to the recipients the same |
70 | -freedoms that you received. You must make sure that they, too, receive |
71 | -or can get the source code. And you must show them these terms so they |
72 | -know their rights. |
73 | - |
74 | - Developers that use the GNU GPL protect your rights with two steps: |
75 | -(1) assert copyright on the software, and (2) offer you this License |
76 | -giving you legal permission to copy, distribute and/or modify it. |
77 | - |
78 | - For the developers' and authors' protection, the GPL clearly explains |
79 | -that there is no warranty for this free software. For both users' and |
80 | -authors' sake, the GPL requires that modified versions be marked as |
81 | -changed, so that their problems will not be attributed erroneously to |
82 | -authors of previous versions. |
83 | - |
84 | - Some devices are designed to deny users access to install or run |
85 | -modified versions of the software inside them, although the manufacturer |
86 | -can do so. This is fundamentally incompatible with the aim of |
87 | -protecting users' freedom to change the software. The systematic |
88 | -pattern of such abuse occurs in the area of products for individuals to |
89 | -use, which is precisely where it is most unacceptable. Therefore, we |
90 | -have designed this version of the GPL to prohibit the practice for those |
91 | -products. If such problems arise substantially in other domains, we |
92 | -stand ready to extend this provision to those domains in future versions |
93 | -of the GPL, as needed to protect the freedom of users. |
94 | - |
95 | - Finally, every program is threatened constantly by software patents. |
96 | -States should not allow patents to restrict development and use of |
97 | -software on general-purpose computers, but in those that do, we wish to |
98 | -avoid the special danger that patents applied to a free program could |
99 | -make it effectively proprietary. To prevent this, the GPL assures that |
100 | -patents cannot be used to render the program non-free. |
101 | - |
102 | - The precise terms and conditions for copying, distribution and |
103 | -modification follow. |
104 | - |
105 | - TERMS AND CONDITIONS |
106 | - |
107 | - 0. Definitions. |
108 | - |
109 | - "This License" refers to version 3 of the GNU General Public License. |
110 | - |
111 | - "Copyright" also means copyright-like laws that apply to other kinds of |
112 | -works, such as semiconductor masks. |
113 | - |
114 | - "The Program" refers to any copyrightable work licensed under this |
115 | -License. Each licensee is addressed as "you". "Licensees" and |
116 | -"recipients" may be individuals or organizations. |
117 | - |
118 | - To "modify" a work means to copy from or adapt all or part of the work |
119 | -in a fashion requiring copyright permission, other than the making of an |
120 | -exact copy. The resulting work is called a "modified version" of the |
121 | -earlier work or a work "based on" the earlier work. |
122 | - |
123 | - A "covered work" means either the unmodified Program or a work based |
124 | -on the Program. |
125 | - |
126 | - To "propagate" a work means to do anything with it that, without |
127 | -permission, would make you directly or secondarily liable for |
128 | -infringement under applicable copyright law, except executing it on a |
129 | -computer or modifying a private copy. Propagation includes copying, |
130 | -distribution (with or without modification), making available to the |
131 | -public, and in some countries other activities as well. |
132 | - |
133 | - To "convey" a work means any kind of propagation that enables other |
134 | -parties to make or receive copies. Mere interaction with a user through |
135 | -a computer network, with no transfer of a copy, is not conveying. |
136 | - |
137 | - An interactive user interface displays "Appropriate Legal Notices" |
138 | -to the extent that it includes a convenient and prominently visible |
139 | -feature that (1) displays an appropriate copyright notice, and (2) |
140 | -tells the user that there is no warranty for the work (except to the |
141 | -extent that warranties are provided), that licensees may convey the |
142 | -work under this License, and how to view a copy of this License. If |
143 | -the interface presents a list of user commands or options, such as a |
144 | -menu, a prominent item in the list meets this criterion. |
145 | - |
146 | - 1. Source Code. |
147 | - |
148 | - The "source code" for a work means the preferred form of the work |
149 | -for making modifications to it. "Object code" means any non-source |
150 | -form of a work. |
151 | - |
152 | - A "Standard Interface" means an interface that either is an official |
153 | -standard defined by a recognized standards body, or, in the case of |
154 | -interfaces specified for a particular programming language, one that |
155 | -is widely used among developers working in that language. |
156 | - |
157 | - The "System Libraries" of an executable work include anything, other |
158 | -than the work as a whole, that (a) is included in the normal form of |
159 | -packaging a Major Component, but which is not part of that Major |
160 | -Component, and (b) serves only to enable use of the work with that |
161 | -Major Component, or to implement a Standard Interface for which an |
162 | -implementation is available to the public in source code form. A |
163 | -"Major Component", in this context, means a major essential component |
164 | -(kernel, window system, and so on) of the specific operating system |
165 | -(if any) on which the executable work runs, or a compiler used to |
166 | -produce the work, or an object code interpreter used to run it. |
167 | - |
168 | - The "Corresponding Source" for a work in object code form means all |
169 | -the source code needed to generate, install, and (for an executable |
170 | -work) run the object code and to modify the work, including scripts to |
171 | -control those activities. However, it does not include the work's |
172 | -System Libraries, or general-purpose tools or generally available free |
173 | -programs which are used unmodified in performing those activities but |
174 | -which are not part of the work. For example, Corresponding Source |
175 | -includes interface definition files associated with source files for |
176 | -the work, and the source code for shared libraries and dynamically |
177 | -linked subprograms that the work is specifically designed to require, |
178 | -such as by intimate data communication or control flow between those |
179 | -subprograms and other parts of the work. |
180 | - |
181 | - The Corresponding Source need not include anything that users |
182 | -can regenerate automatically from other parts of the Corresponding |
183 | -Source. |
184 | - |
185 | - The Corresponding Source for a work in source code form is that |
186 | -same work. |
187 | - |
188 | - 2. Basic Permissions. |
189 | - |
190 | - All rights granted under this License are granted for the term of |
191 | -copyright on the Program, and are irrevocable provided the stated |
192 | -conditions are met. This License explicitly affirms your unlimited |
193 | -permission to run the unmodified Program. The output from running a |
194 | -covered work is covered by this License only if the output, given its |
195 | -content, constitutes a covered work. This License acknowledges your |
196 | -rights of fair use or other equivalent, as provided by copyright law. |
197 | - |
198 | - You may make, run and propagate covered works that you do not |
199 | -convey, without conditions so long as your license otherwise remains |
200 | -in force. You may convey covered works to others for the sole purpose |
201 | -of having them make modifications exclusively for you, or provide you |
202 | -with facilities for running those works, provided that you comply with |
203 | -the terms of this License in conveying all material for which you do |
204 | -not control copyright. Those thus making or running the covered works |
205 | -for you must do so exclusively on your behalf, under your direction |
206 | -and control, on terms that prohibit them from making any copies of |
207 | -your copyrighted material outside their relationship with you. |
208 | - |
209 | - Conveying under any other circumstances is permitted solely under |
210 | -the conditions stated below. Sublicensing is not allowed; section 10 |
211 | -makes it unnecessary. |
212 | - |
213 | - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. |
214 | - |
215 | - No covered work shall be deemed part of an effective technological |
216 | -measure under any applicable law fulfilling obligations under article |
217 | -11 of the WIPO copyright treaty adopted on 20 December 1996, or |
218 | -similar laws prohibiting or restricting circumvention of such |
219 | -measures. |
220 | - |
221 | - When you convey a covered work, you waive any legal power to forbid |
222 | -circumvention of technological measures to the extent such circumvention |
223 | -is effected by exercising rights under this License with respect to |
224 | -the covered work, and you disclaim any intention to limit operation or |
225 | -modification of the work as a means of enforcing, against the work's |
226 | -users, your or third parties' legal rights to forbid circumvention of |
227 | -technological measures. |
228 | - |
229 | - 4. Conveying Verbatim Copies. |
230 | - |
231 | - You may convey verbatim copies of the Program's source code as you |
232 | -receive it, in any medium, provided that you conspicuously and |
233 | -appropriately publish on each copy an appropriate copyright notice; |
234 | -keep intact all notices stating that this License and any |
235 | -non-permissive terms added in accord with section 7 apply to the code; |
236 | -keep intact all notices of the absence of any warranty; and give all |
237 | -recipients a copy of this License along with the Program. |
238 | - |
239 | - You may charge any price or no price for each copy that you convey, |
240 | -and you may offer support or warranty protection for a fee. |
241 | - |
242 | - 5. Conveying Modified Source Versions. |
243 | - |
244 | - You may convey a work based on the Program, or the modifications to |
245 | -produce it from the Program, in the form of source code under the |
246 | -terms of section 4, provided that you also meet all of these conditions: |
247 | - |
248 | - a) The work must carry prominent notices stating that you modified |
249 | - it, and giving a relevant date. |
250 | - |
251 | - b) The work must carry prominent notices stating that it is |
252 | - released under this License and any conditions added under section |
253 | - 7. This requirement modifies the requirement in section 4 to |
254 | - "keep intact all notices". |
255 | - |
256 | - c) You must license the entire work, as a whole, under this |
257 | - License to anyone who comes into possession of a copy. This |
258 | - License will therefore apply, along with any applicable section 7 |
259 | - additional terms, to the whole of the work, and all its parts, |
260 | - regardless of how they are packaged. This License gives no |
261 | - permission to license the work in any other way, but it does not |
262 | - invalidate such permission if you have separately received it. |
263 | - |
264 | - d) If the work has interactive user interfaces, each must display |
265 | - Appropriate Legal Notices; however, if the Program has interactive |
266 | - interfaces that do not display Appropriate Legal Notices, your |
267 | - work need not make them do so. |
268 | - |
269 | - A compilation of a covered work with other separate and independent |
270 | -works, which are not by their nature extensions of the covered work, |
271 | -and which are not combined with it such as to form a larger program, |
272 | -in or on a volume of a storage or distribution medium, is called an |
273 | -"aggregate" if the compilation and its resulting copyright are not |
274 | -used to limit the access or legal rights of the compilation's users |
275 | -beyond what the individual works permit. Inclusion of a covered work |
276 | -in an aggregate does not cause this License to apply to the other |
277 | -parts of the aggregate. |
278 | - |
279 | - 6. Conveying Non-Source Forms. |
280 | - |
281 | - You may convey a covered work in object code form under the terms |
282 | -of sections 4 and 5, provided that you also convey the |
283 | -machine-readable Corresponding Source under the terms of this License, |
284 | -in one of these ways: |
285 | - |
286 | - a) Convey the object code in, or embodied in, a physical product |
287 | - (including a physical distribution medium), accompanied by the |
288 | - Corresponding Source fixed on a durable physical medium |
289 | - customarily used for software interchange. |
290 | - |
291 | - b) Convey the object code in, or embodied in, a physical product |
292 | - (including a physical distribution medium), accompanied by a |
293 | - written offer, valid for at least three years and valid for as |
294 | - long as you offer spare parts or customer support for that product |
295 | - model, to give anyone who possesses the object code either (1) a |
296 | - copy of the Corresponding Source for all the software in the |
297 | - product that is covered by this License, on a durable physical |
298 | - medium customarily used for software interchange, for a price no |
299 | - more than your reasonable cost of physically performing this |
300 | - conveying of source, or (2) access to copy the |
301 | - Corresponding Source from a network server at no charge. |
302 | - |
303 | - c) Convey individual copies of the object code with a copy of the |
304 | - written offer to provide the Corresponding Source. This |
305 | - alternative is allowed only occasionally and noncommercially, and |
306 | - only if you received the object code with such an offer, in accord |
307 | - with subsection 6b. |
308 | - |
309 | - d) Convey the object code by offering access from a designated |
310 | - place (gratis or for a charge), and offer equivalent access to the |
311 | - Corresponding Source in the same way through the same place at no |
312 | - further charge. You need not require recipients to copy the |
313 | - Corresponding Source along with the object code. If the place to |
314 | - copy the object code is a network server, the Corresponding Source |
315 | - may be on a different server (operated by you or a third party) |
316 | - that supports equivalent copying facilities, provided you maintain |
317 | - clear directions next to the object code saying where to find the |
318 | - Corresponding Source. Regardless of what server hosts the |
319 | - Corresponding Source, you remain obligated to ensure that it is |
320 | - available for as long as needed to satisfy these requirements. |
321 | - |
322 | - e) Convey the object code using peer-to-peer transmission, provided |
323 | - you inform other peers where the object code and Corresponding |
324 | - Source of the work are being offered to the general public at no |
325 | - charge under subsection 6d. |
326 | - |
327 | - A separable portion of the object code, whose source code is excluded |
328 | -from the Corresponding Source as a System Library, need not be |
329 | -included in conveying the object code work. |
330 | - |
331 | - A "User Product" is either (1) a "consumer product", which means any |
332 | -tangible personal property which is normally used for personal, family, |
333 | -or household purposes, or (2) anything designed or sold for incorporation |
334 | -into a dwelling. In determining whether a product is a consumer product, |
335 | -doubtful cases shall be resolved in favor of coverage. For a particular |
336 | -product received by a particular user, "normally used" refers to a |
337 | -typical or common use of that class of product, regardless of the status |
338 | -of the particular user or of the way in which the particular user |
339 | -actually uses, or expects or is expected to use, the product. A product |
340 | -is a consumer product regardless of whether the product has substantial |
341 | -commercial, industrial or non-consumer uses, unless such uses represent |
342 | -the only significant mode of use of the product. |
343 | - |
344 | - "Installation Information" for a User Product means any methods, |
345 | -procedures, authorization keys, or other information required to install |
346 | -and execute modified versions of a covered work in that User Product from |
347 | -a modified version of its Corresponding Source. The information must |
348 | -suffice to ensure that the continued functioning of the modified object |
349 | -code is in no case prevented or interfered with solely because |
350 | -modification has been made. |
351 | - |
352 | - If you convey an object code work under this section in, or with, or |
353 | -specifically for use in, a User Product, and the conveying occurs as |
354 | -part of a transaction in which the right of possession and use of the |
355 | -User Product is transferred to the recipient in perpetuity or for a |
356 | -fixed term (regardless of how the transaction is characterized), the |
357 | -Corresponding Source conveyed under this section must be accompanied |
358 | -by the Installation Information. But this requirement does not apply |
359 | -if neither you nor any third party retains the ability to install |
360 | -modified object code on the User Product (for example, the work has |
361 | -been installed in ROM). |
362 | - |
363 | - The requirement to provide Installation Information does not include a |
364 | -requirement to continue to provide support service, warranty, or updates |
365 | -for a work that has been modified or installed by the recipient, or for |
366 | -the User Product in which it has been modified or installed. Access to a |
367 | -network may be denied when the modification itself materially and |
368 | -adversely affects the operation of the network or violates the rules and |
369 | -protocols for communication across the network. |
370 | - |
371 | - Corresponding Source conveyed, and Installation Information provided, |
372 | -in accord with this section must be in a format that is publicly |
373 | -documented (and with an implementation available to the public in |
374 | -source code form), and must require no special password or key for |
375 | -unpacking, reading or copying. |
376 | - |
377 | - 7. Additional Terms. |
378 | - |
379 | - "Additional permissions" are terms that supplement the terms of this |
380 | -License by making exceptions from one or more of its conditions. |
381 | -Additional permissions that are applicable to the entire Program shall |
382 | -be treated as though they were included in this License, to the extent |
383 | -that they are valid under applicable law. If additional permissions |
384 | -apply only to part of the Program, that part may be used separately |
385 | -under those permissions, but the entire Program remains governed by |
386 | -this License without regard to the additional permissions. |
387 | - |
388 | - When you convey a copy of a covered work, you may at your option |
389 | -remove any additional permissions from that copy, or from any part of |
390 | -it. (Additional permissions may be written to require their own |
391 | -removal in certain cases when you modify the work.) You may place |
392 | -additional permissions on material, added by you to a covered work, |
393 | -for which you have or can give appropriate copyright permission. |
394 | - |
395 | - Notwithstanding any other provision of this License, for material you |
396 | -add to a covered work, you may (if authorized by the copyright holders of |
397 | -that material) supplement the terms of this License with terms: |
398 | - |
399 | - a) Disclaiming warranty or limiting liability differently from the |
400 | - terms of sections 15 and 16 of this License; or |
401 | - |
402 | - b) Requiring preservation of specified reasonable legal notices or |
403 | - author attributions in that material or in the Appropriate Legal |
404 | - Notices displayed by works containing it; or |
405 | - |
406 | - c) Prohibiting misrepresentation of the origin of that material, or |
407 | - requiring that modified versions of such material be marked in |
408 | - reasonable ways as different from the original version; or |
409 | - |
410 | - d) Limiting the use for publicity purposes of names of licensors or |
411 | - authors of the material; or |
412 | - |
413 | - e) Declining to grant rights under trademark law for use of some |
414 | - trade names, trademarks, or service marks; or |
415 | - |
416 | - f) Requiring indemnification of licensors and authors of that |
417 | - material by anyone who conveys the material (or modified versions of |
418 | - it) with contractual assumptions of liability to the recipient, for |
419 | - any liability that these contractual assumptions directly impose on |
420 | - those licensors and authors. |
421 | - |
422 | - All other non-permissive additional terms are considered "further |
423 | -restrictions" within the meaning of section 10. If the Program as you |
424 | -received it, or any part of it, contains a notice stating that it is |
425 | -governed by this License along with a term that is a further |
426 | -restriction, you may remove that term. If a license document contains |
427 | -a further restriction but permits relicensing or conveying under this |
428 | -License, you may add to a covered work material governed by the terms |
429 | -of that license document, provided that the further restriction does |
430 | -not survive such relicensing or conveying. |
431 | - |
432 | - If you add terms to a covered work in accord with this section, you |
433 | -must place, in the relevant source files, a statement of the |
434 | -additional terms that apply to those files, or a notice indicating |
435 | -where to find the applicable terms. |
436 | - |
437 | - Additional terms, permissive or non-permissive, may be stated in the |
438 | -form of a separately written license, or stated as exceptions; |
439 | -the above requirements apply either way. |
440 | - |
441 | - 8. Termination. |
442 | - |
443 | - You may not propagate or modify a covered work except as expressly |
444 | -provided under this License. Any attempt otherwise to propagate or |
445 | -modify it is void, and will automatically terminate your rights under |
446 | -this License (including any patent licenses granted under the third |
447 | -paragraph of section 11). |
448 | - |
449 | - However, if you cease all violation of this License, then your |
450 | -license from a particular copyright holder is reinstated (a) |
451 | -provisionally, unless and until the copyright holder explicitly and |
452 | -finally terminates your license, and (b) permanently, if the copyright |
453 | -holder fails to notify you of the violation by some reasonable means |
454 | -prior to 60 days after the cessation. |
455 | - |
456 | - Moreover, your license from a particular copyright holder is |
457 | -reinstated permanently if the copyright holder notifies you of the |
458 | -violation by some reasonable means, this is the first time you have |
459 | -received notice of violation of this License (for any work) from that |
460 | -copyright holder, and you cure the violation prior to 30 days after |
461 | -your receipt of the notice. |
462 | - |
463 | - Termination of your rights under this section does not terminate the |
464 | -licenses of parties who have received copies or rights from you under |
465 | -this License. If your rights have been terminated and not permanently |
466 | -reinstated, you do not qualify to receive new licenses for the same |
467 | -material under section 10. |
468 | - |
469 | - 9. Acceptance Not Required for Having Copies. |
470 | - |
471 | - You are not required to accept this License in order to receive or |
472 | -run a copy of the Program. Ancillary propagation of a covered work |
473 | -occurring solely as a consequence of using peer-to-peer transmission |
474 | -to receive a copy likewise does not require acceptance. However, |
475 | -nothing other than this License grants you permission to propagate or |
476 | -modify any covered work. These actions infringe copyright if you do |
477 | -not accept this License. Therefore, by modifying or propagating a |
478 | -covered work, you indicate your acceptance of this License to do so. |
479 | - |
480 | - 10. Automatic Licensing of Downstream Recipients. |
481 | - |
482 | - Each time you convey a covered work, the recipient automatically |
483 | -receives a license from the original licensors, to run, modify and |
484 | -propagate that work, subject to this License. You are not responsible |
485 | -for enforcing compliance by third parties with this License. |
486 | - |
487 | - An "entity transaction" is a transaction transferring control of an |
488 | -organization, or substantially all assets of one, or subdividing an |
489 | -organization, or merging organizations. If propagation of a covered |
490 | -work results from an entity transaction, each party to that |
491 | -transaction who receives a copy of the work also receives whatever |
492 | -licenses to the work the party's predecessor in interest had or could |
493 | -give under the previous paragraph, plus a right to possession of the |
494 | -Corresponding Source of the work from the predecessor in interest, if |
495 | -the predecessor has it or can get it with reasonable efforts. |
496 | - |
497 | - You may not impose any further restrictions on the exercise of the |
498 | -rights granted or affirmed under this License. For example, you may |
499 | -not impose a license fee, royalty, or other charge for exercise of |
500 | -rights granted under this License, and you may not initiate litigation |
501 | -(including a cross-claim or counterclaim in a lawsuit) alleging that |
502 | -any patent claim is infringed by making, using, selling, offering for |
503 | -sale, or importing the Program or any portion of it. |
504 | - |
505 | - 11. Patents. |
506 | - |
507 | - A "contributor" is a copyright holder who authorizes use under this |
508 | -License of the Program or a work on which the Program is based. The |
509 | -work thus licensed is called the contributor's "contributor version". |
510 | - |
511 | - A contributor's "essential patent claims" are all patent claims |
512 | -owned or controlled by the contributor, whether already acquired or |
513 | -hereafter acquired, that would be infringed by some manner, permitted |
514 | -by this License, of making, using, or selling its contributor version, |
515 | -but do not include claims that would be infringed only as a |
516 | -consequence of further modification of the contributor version. For |
517 | -purposes of this definition, "control" includes the right to grant |
518 | -patent sublicenses in a manner consistent with the requirements of |
519 | -this License. |
520 | - |
521 | - Each contributor grants you a non-exclusive, worldwide, royalty-free |
522 | -patent license under the contributor's essential patent claims, to |
523 | -make, use, sell, offer for sale, import and otherwise run, modify and |
524 | -propagate the contents of its contributor version. |
525 | - |
526 | - In the following three paragraphs, a "patent license" is any express |
527 | -agreement or commitment, however denominated, not to enforce a patent |
528 | -(such as an express permission to practice a patent or covenant not to |
529 | -sue for patent infringement). To "grant" such a patent license to a |
530 | -party means to make such an agreement or commitment not to enforce a |
531 | -patent against the party. |
532 | - |
533 | - If you convey a covered work, knowingly relying on a patent license, |
534 | -and the Corresponding Source of the work is not available for anyone |
535 | -to copy, free of charge and under the terms of this License, through a |
536 | -publicly available network server or other readily accessible means, |
537 | -then you must either (1) cause the Corresponding Source to be so |
538 | -available, or (2) arrange to deprive yourself of the benefit of the |
539 | -patent license for this particular work, or (3) arrange, in a manner |
540 | -consistent with the requirements of this License, to extend the patent |
541 | -license to downstream recipients. "Knowingly relying" means you have |
542 | -actual knowledge that, but for the patent license, your conveying the |
543 | -covered work in a country, or your recipient's use of the covered work |
544 | -in a country, would infringe one or more identifiable patents in that |
545 | -country that you have reason to believe are valid. |
546 | - |
547 | - If, pursuant to or in connection with a single transaction or |
548 | -arrangement, you convey, or propagate by procuring conveyance of, a |
549 | -covered work, and grant a patent license to some of the parties |
550 | -receiving the covered work authorizing them to use, propagate, modify |
551 | -or convey a specific copy of the covered work, then the patent license |
552 | -you grant is automatically extended to all recipients of the covered |
553 | -work and works based on it. |
554 | - |
555 | - A patent license is "discriminatory" if it does not include within |
556 | -the scope of its coverage, prohibits the exercise of, or is |
557 | -conditioned on the non-exercise of one or more of the rights that are |
558 | -specifically granted under this License. You may not convey a covered |
559 | -work if you are a party to an arrangement with a third party that is |
560 | -in the business of distributing software, under which you make payment |
561 | -to the third party based on the extent of your activity of conveying |
562 | -the work, and under which the third party grants, to any of the |
563 | -parties who would receive the covered work from you, a discriminatory |
564 | -patent license (a) in connection with copies of the covered work |
565 | -conveyed by you (or copies made from those copies), or (b) primarily |
566 | -for and in connection with specific products or compilations that |
567 | -contain the covered work, unless you entered into that arrangement, |
568 | -or that patent license was granted, prior to 28 March 2007. |
569 | - |
570 | - Nothing in this License shall be construed as excluding or limiting |
571 | -any implied license or other defenses to infringement that may |
572 | -otherwise be available to you under applicable patent law. |
573 | - |
574 | - 12. No Surrender of Others' Freedom. |
575 | - |
576 | - If conditions are imposed on you (whether by court order, agreement or |
577 | -otherwise) that contradict the conditions of this License, they do not |
578 | -excuse you from the conditions of this License. If you cannot convey a |
579 | -covered work so as to satisfy simultaneously your obligations under this |
580 | -License and any other pertinent obligations, then as a consequence you may |
581 | -not convey it at all. For example, if you agree to terms that obligate you |
582 | -to collect a royalty for further conveying from those to whom you convey |
583 | -the Program, the only way you could satisfy both those terms and this |
584 | -License would be to refrain entirely from conveying the Program. |
585 | - |
586 | - 13. Use with the GNU Affero General Public License. |
587 | - |
588 | - Notwithstanding any other provision of this License, you have |
589 | -permission to link or combine any covered work with a work licensed |
590 | -under version 3 of the GNU Affero General Public License into a single |
591 | -combined work, and to convey the resulting work. The terms of this |
592 | -License will continue to apply to the part which is the covered work, |
593 | -but the special requirements of the GNU Affero General Public License, |
594 | -section 13, concerning interaction through a network will apply to the |
595 | -combination as such. |
596 | - |
597 | - 14. Revised Versions of this License. |
598 | - |
599 | - The Free Software Foundation may publish revised and/or new versions of |
600 | -the GNU General Public License from time to time. Such new versions will |
601 | -be similar in spirit to the present version, but may differ in detail to |
602 | -address new problems or concerns. |
603 | - |
604 | - Each version is given a distinguishing version number. If the |
605 | -Program specifies that a certain numbered version of the GNU General |
606 | -Public License "or any later version" applies to it, you have the |
607 | -option of following the terms and conditions either of that numbered |
608 | -version or of any later version published by the Free Software |
609 | -Foundation. If the Program does not specify a version number of the |
610 | -GNU General Public License, you may choose any version ever published |
611 | -by the Free Software Foundation. |
612 | - |
613 | - If the Program specifies that a proxy can decide which future |
614 | -versions of the GNU General Public License can be used, that proxy's |
615 | -public statement of acceptance of a version permanently authorizes you |
616 | -to choose that version for the Program. |
617 | - |
618 | - Later license versions may give you additional or different |
619 | -permissions. However, no additional obligations are imposed on any |
620 | -author or copyright holder as a result of your choosing to follow a |
621 | -later version. |
622 | - |
623 | - 15. Disclaimer of Warranty. |
624 | - |
625 | - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY |
626 | -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT |
627 | -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY |
628 | -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, |
629 | -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
630 | -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM |
631 | -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF |
632 | -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. |
633 | - |
634 | - 16. Limitation of Liability. |
635 | - |
636 | - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
637 | -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS |
638 | -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY |
639 | -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE |
640 | -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF |
641 | -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD |
642 | -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), |
643 | -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF |
644 | -SUCH DAMAGES. |
645 | - |
646 | - 17. Interpretation of Sections 15 and 16. |
647 | - |
648 | - If the disclaimer of warranty and limitation of liability provided |
649 | -above cannot be given local legal effect according to their terms, |
650 | -reviewing courts shall apply local law that most closely approximates |
651 | -an absolute waiver of all civil liability in connection with the |
652 | -Program, unless a warranty or assumption of liability accompanies a |
653 | -copy of the Program in return for a fee. |
654 | - |
655 | - END OF TERMS AND CONDITIONS |
656 | - |
657 | - How to Apply These Terms to Your New Programs |
658 | - |
659 | - If you develop a new program, and you want it to be of the greatest |
660 | -possible use to the public, the best way to achieve this is to make it |
661 | -free software which everyone can redistribute and change under these terms. |
662 | - |
663 | - To do so, attach the following notices to the program. It is safest |
664 | -to attach them to the start of each source file to most effectively |
665 | -state the exclusion of warranty; and each file should have at least |
666 | -the "copyright" line and a pointer to where the full notice is found. |
667 | - |
668 | - <one line to give the program's name and a brief idea of what it does.> |
669 | - Copyright (C) <year> <name of author> |
670 | - |
671 | - This program is free software: you can redistribute it and/or modify |
672 | - it under the terms of the GNU General Public License as published by |
673 | - the Free Software Foundation, either version 3 of the License, or |
674 | - (at your option) any later version. |
675 | - |
676 | - This program is distributed in the hope that it will be useful, |
677 | - but WITHOUT ANY WARRANTY; without even the implied warranty of |
678 | - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
679 | - GNU General Public License for more details. |
680 | - |
681 | - You should have received a copy of the GNU General Public License |
682 | - along with this program. If not, see <http://www.gnu.org/licenses/>. |
683 | - |
684 | -Also add information on how to contact you by electronic and paper mail. |
685 | - |
686 | - If the program does terminal interaction, make it output a short |
687 | -notice like this when it starts in an interactive mode: |
688 | - |
689 | - <program> Copyright (C) <year> <name of author> |
690 | - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
691 | - This is free software, and you are welcome to redistribute it |
692 | - under certain conditions; type `show c' for details. |
693 | - |
694 | -The hypothetical commands `show w' and `show c' should show the appropriate |
695 | -parts of the General Public License. Of course, your program's commands |
696 | -might be different; for a GUI interface, you would use an "about box". |
697 | - |
698 | - You should also get your employer (if you work as a programmer) or school, |
699 | -if any, to sign a "copyright disclaimer" for the program, if necessary. |
700 | -For more information on this, and how to apply and follow the GNU GPL, see |
701 | -<http://www.gnu.org/licenses/>. |
702 | - |
703 | - The GNU General Public License does not permit incorporating your program |
704 | -into proprietary programs. If your program is a subroutine library, you |
705 | -may consider it more useful to permit linking proprietary applications with |
706 | -the library. If this is what you want to do, use the GNU Lesser General |
707 | -Public License instead of this License. But first, please read |
708 | -<http://www.gnu.org/philosophy/why-not-lgpl.html>. |
709 | |
710 | === added file 'LICENSE' |
711 | --- LICENSE 1970-01-01 00:00:00 +0000 |
712 | +++ LICENSE 2009-12-12 11:55:22 +0000 |
713 | @@ -0,0 +1,674 @@ |
714 | + GNU GENERAL PUBLIC LICENSE |
715 | + Version 3, 29 June 2007 |
716 | + |
717 | + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> |
718 | + Everyone is permitted to copy and distribute verbatim copies |
719 | + of this license document, but changing it is not allowed. |
720 | + |
721 | + Preamble |
722 | + |
723 | + The GNU General Public License is a free, copyleft license for |
724 | +software and other kinds of works. |
725 | + |
726 | + The licenses for most software and other practical works are designed |
727 | +to take away your freedom to share and change the works. By contrast, |
728 | +the GNU General Public License is intended to guarantee your freedom to |
729 | +share and change all versions of a program--to make sure it remains free |
730 | +software for all its users. We, the Free Software Foundation, use the |
731 | +GNU General Public License for most of our software; it applies also to |
732 | +any other work released this way by its authors. You can apply it to |
733 | +your programs, too. |
734 | + |
735 | + When we speak of free software, we are referring to freedom, not |
736 | +price. Our General Public Licenses are designed to make sure that you |
737 | +have the freedom to distribute copies of free software (and charge for |
738 | +them if you wish), that you receive source code or can get it if you |
739 | +want it, that you can change the software or use pieces of it in new |
740 | +free programs, and that you know you can do these things. |
741 | + |
742 | + To protect your rights, we need to prevent others from denying you |
743 | +these rights or asking you to surrender the rights. Therefore, you have |
744 | +certain responsibilities if you distribute copies of the software, or if |
745 | +you modify it: responsibilities to respect the freedom of others. |
746 | + |
747 | + For example, if you distribute copies of such a program, whether |
748 | +gratis or for a fee, you must pass on to the recipients the same |
749 | +freedoms that you received. You must make sure that they, too, receive |
750 | +or can get the source code. And you must show them these terms so they |
751 | +know their rights. |
752 | + |
753 | + Developers that use the GNU GPL protect your rights with two steps: |
754 | +(1) assert copyright on the software, and (2) offer you this License |
755 | +giving you legal permission to copy, distribute and/or modify it. |
756 | + |
757 | + For the developers' and authors' protection, the GPL clearly explains |
758 | +that there is no warranty for this free software. For both users' and |
759 | +authors' sake, the GPL requires that modified versions be marked as |
760 | +changed, so that their problems will not be attributed erroneously to |
761 | +authors of previous versions. |
762 | + |
763 | + Some devices are designed to deny users access to install or run |
764 | +modified versions of the software inside them, although the manufacturer |
765 | +can do so. This is fundamentally incompatible with the aim of |
766 | +protecting users' freedom to change the software. The systematic |
767 | +pattern of such abuse occurs in the area of products for individuals to |
768 | +use, which is precisely where it is most unacceptable. Therefore, we |
769 | +have designed this version of the GPL to prohibit the practice for those |
770 | +products. If such problems arise substantially in other domains, we |
771 | +stand ready to extend this provision to those domains in future versions |
772 | +of the GPL, as needed to protect the freedom of users. |
773 | + |
774 | + Finally, every program is threatened constantly by software patents. |
775 | +States should not allow patents to restrict development and use of |
776 | +software on general-purpose computers, but in those that do, we wish to |
777 | +avoid the special danger that patents applied to a free program could |
778 | +make it effectively proprietary. To prevent this, the GPL assures that |
779 | +patents cannot be used to render the program non-free. |
780 | + |
781 | + The precise terms and conditions for copying, distribution and |
782 | +modification follow. |
783 | + |
784 | + TERMS AND CONDITIONS |
785 | + |
786 | + 0. Definitions. |
787 | + |
788 | + "This License" refers to version 3 of the GNU General Public License. |
789 | + |
790 | + "Copyright" also means copyright-like laws that apply to other kinds of |
791 | +works, such as semiconductor masks. |
792 | + |
793 | + "The Program" refers to any copyrightable work licensed under this |
794 | +License. Each licensee is addressed as "you". "Licensees" and |
795 | +"recipients" may be individuals or organizations. |
796 | + |
797 | + To "modify" a work means to copy from or adapt all or part of the work |
798 | +in a fashion requiring copyright permission, other than the making of an |
799 | +exact copy. The resulting work is called a "modified version" of the |
800 | +earlier work or a work "based on" the earlier work. |
801 | + |
802 | + A "covered work" means either the unmodified Program or a work based |
803 | +on the Program. |
804 | + |
805 | + To "propagate" a work means to do anything with it that, without |
806 | +permission, would make you directly or secondarily liable for |
807 | +infringement under applicable copyright law, except executing it on a |
808 | +computer or modifying a private copy. Propagation includes copying, |
809 | +distribution (with or without modification), making available to the |
810 | +public, and in some countries other activities as well. |
811 | + |
812 | + To "convey" a work means any kind of propagation that enables other |
813 | +parties to make or receive copies. Mere interaction with a user through |
814 | +a computer network, with no transfer of a copy, is not conveying. |
815 | + |
816 | + An interactive user interface displays "Appropriate Legal Notices" |
817 | +to the extent that it includes a convenient and prominently visible |
818 | +feature that (1) displays an appropriate copyright notice, and (2) |
819 | +tells the user that there is no warranty for the work (except to the |
820 | +extent that warranties are provided), that licensees may convey the |
821 | +work under this License, and how to view a copy of this License. If |
822 | +the interface presents a list of user commands or options, such as a |
823 | +menu, a prominent item in the list meets this criterion. |
824 | + |
825 | + 1. Source Code. |
826 | + |
827 | + The "source code" for a work means the preferred form of the work |
828 | +for making modifications to it. "Object code" means any non-source |
829 | +form of a work. |
830 | + |
831 | + A "Standard Interface" means an interface that either is an official |
832 | +standard defined by a recognized standards body, or, in the case of |
833 | +interfaces specified for a particular programming language, one that |
834 | +is widely used among developers working in that language. |
835 | + |
836 | + The "System Libraries" of an executable work include anything, other |
837 | +than the work as a whole, that (a) is included in the normal form of |
838 | +packaging a Major Component, but which is not part of that Major |
839 | +Component, and (b) serves only to enable use of the work with that |
840 | +Major Component, or to implement a Standard Interface for which an |
841 | +implementation is available to the public in source code form. A |
842 | +"Major Component", in this context, means a major essential component |
843 | +(kernel, window system, and so on) of the specific operating system |
844 | +(if any) on which the executable work runs, or a compiler used to |
845 | +produce the work, or an object code interpreter used to run it. |
846 | + |
847 | + The "Corresponding Source" for a work in object code form means all |
848 | +the source code needed to generate, install, and (for an executable |
849 | +work) run the object code and to modify the work, including scripts to |
850 | +control those activities. However, it does not include the work's |
851 | +System Libraries, or general-purpose tools or generally available free |
852 | +programs which are used unmodified in performing those activities but |
853 | +which are not part of the work. For example, Corresponding Source |
854 | +includes interface definition files associated with source files for |
855 | +the work, and the source code for shared libraries and dynamically |
856 | +linked subprograms that the work is specifically designed to require, |
857 | +such as by intimate data communication or control flow between those |
858 | +subprograms and other parts of the work. |
859 | + |
860 | + The Corresponding Source need not include anything that users |
861 | +can regenerate automatically from other parts of the Corresponding |
862 | +Source. |
863 | + |
864 | + The Corresponding Source for a work in source code form is that |
865 | +same work. |
866 | + |
867 | + 2. Basic Permissions. |
868 | + |
869 | + All rights granted under this License are granted for the term of |
870 | +copyright on the Program, and are irrevocable provided the stated |
871 | +conditions are met. This License explicitly affirms your unlimited |
872 | +permission to run the unmodified Program. The output from running a |
873 | +covered work is covered by this License only if the output, given its |
874 | +content, constitutes a covered work. This License acknowledges your |
875 | +rights of fair use or other equivalent, as provided by copyright law. |
876 | + |
877 | + You may make, run and propagate covered works that you do not |
878 | +convey, without conditions so long as your license otherwise remains |
879 | +in force. You may convey covered works to others for the sole purpose |
880 | +of having them make modifications exclusively for you, or provide you |
881 | +with facilities for running those works, provided that you comply with |
882 | +the terms of this License in conveying all material for which you do |
883 | +not control copyright. Those thus making or running the covered works |
884 | +for you must do so exclusively on your behalf, under your direction |
885 | +and control, on terms that prohibit them from making any copies of |
886 | +your copyrighted material outside their relationship with you. |
887 | + |
888 | + Conveying under any other circumstances is permitted solely under |
889 | +the conditions stated below. Sublicensing is not allowed; section 10 |
890 | +makes it unnecessary. |
891 | + |
892 | + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. |
893 | + |
894 | + No covered work shall be deemed part of an effective technological |
895 | +measure under any applicable law fulfilling obligations under article |
896 | +11 of the WIPO copyright treaty adopted on 20 December 1996, or |
897 | +similar laws prohibiting or restricting circumvention of such |
898 | +measures. |
899 | + |
900 | + When you convey a covered work, you waive any legal power to forbid |
901 | +circumvention of technological measures to the extent such circumvention |
902 | +is effected by exercising rights under this License with respect to |
903 | +the covered work, and you disclaim any intention to limit operation or |
904 | +modification of the work as a means of enforcing, against the work's |
905 | +users, your or third parties' legal rights to forbid circumvention of |
906 | +technological measures. |
907 | + |
908 | + 4. Conveying Verbatim Copies. |
909 | + |
910 | + You may convey verbatim copies of the Program's source code as you |
911 | +receive it, in any medium, provided that you conspicuously and |
912 | +appropriately publish on each copy an appropriate copyright notice; |
913 | +keep intact all notices stating that this License and any |
914 | +non-permissive terms added in accord with section 7 apply to the code; |
915 | +keep intact all notices of the absence of any warranty; and give all |
916 | +recipients a copy of this License along with the Program. |
917 | + |
918 | + You may charge any price or no price for each copy that you convey, |
919 | +and you may offer support or warranty protection for a fee. |
920 | + |
921 | + 5. Conveying Modified Source Versions. |
922 | + |
923 | + You may convey a work based on the Program, or the modifications to |
924 | +produce it from the Program, in the form of source code under the |
925 | +terms of section 4, provided that you also meet all of these conditions: |
926 | + |
927 | + a) The work must carry prominent notices stating that you modified |
928 | + it, and giving a relevant date. |
929 | + |
930 | + b) The work must carry prominent notices stating that it is |
931 | + released under this License and any conditions added under section |
932 | + 7. This requirement modifies the requirement in section 4 to |
933 | + "keep intact all notices". |
934 | + |
935 | + c) You must license the entire work, as a whole, under this |
936 | + License to anyone who comes into possession of a copy. This |
937 | + License will therefore apply, along with any applicable section 7 |
938 | + additional terms, to the whole of the work, and all its parts, |
939 | + regardless of how they are packaged. This License gives no |
940 | + permission to license the work in any other way, but it does not |
941 | + invalidate such permission if you have separately received it. |
942 | + |
943 | + d) If the work has interactive user interfaces, each must display |
944 | + Appropriate Legal Notices; however, if the Program has interactive |
945 | + interfaces that do not display Appropriate Legal Notices, your |
946 | + work need not make them do so. |
947 | + |
948 | + A compilation of a covered work with other separate and independent |
949 | +works, which are not by their nature extensions of the covered work, |
950 | +and which are not combined with it such as to form a larger program, |
951 | +in or on a volume of a storage or distribution medium, is called an |
952 | +"aggregate" if the compilation and its resulting copyright are not |
953 | +used to limit the access or legal rights of the compilation's users |
954 | +beyond what the individual works permit. Inclusion of a covered work |
955 | +in an aggregate does not cause this License to apply to the other |
956 | +parts of the aggregate. |
957 | + |
958 | + 6. Conveying Non-Source Forms. |
959 | + |
960 | + You may convey a covered work in object code form under the terms |
961 | +of sections 4 and 5, provided that you also convey the |
962 | +machine-readable Corresponding Source under the terms of this License, |
963 | +in one of these ways: |
964 | + |
965 | + a) Convey the object code in, or embodied in, a physical product |
966 | + (including a physical distribution medium), accompanied by the |
967 | + Corresponding Source fixed on a durable physical medium |
968 | + customarily used for software interchange. |
969 | + |
970 | + b) Convey the object code in, or embodied in, a physical product |
971 | + (including a physical distribution medium), accompanied by a |
972 | + written offer, valid for at least three years and valid for as |
973 | + long as you offer spare parts or customer support for that product |
974 | + model, to give anyone who possesses the object code either (1) a |
975 | + copy of the Corresponding Source for all the software in the |
976 | + product that is covered by this License, on a durable physical |
977 | + medium customarily used for software interchange, for a price no |
978 | + more than your reasonable cost of physically performing this |
979 | + conveying of source, or (2) access to copy the |
980 | + Corresponding Source from a network server at no charge. |
981 | + |
982 | + c) Convey individual copies of the object code with a copy of the |
983 | + written offer to provide the Corresponding Source. This |
984 | + alternative is allowed only occasionally and noncommercially, and |
985 | + only if you received the object code with such an offer, in accord |
986 | + with subsection 6b. |
987 | + |
988 | + d) Convey the object code by offering access from a designated |
989 | + place (gratis or for a charge), and offer equivalent access to the |
990 | + Corresponding Source in the same way through the same place at no |
991 | + further charge. You need not require recipients to copy the |
992 | + Corresponding Source along with the object code. If the place to |
993 | + copy the object code is a network server, the Corresponding Source |
994 | + may be on a different server (operated by you or a third party) |
995 | + that supports equivalent copying facilities, provided you maintain |
996 | + clear directions next to the object code saying where to find the |
997 | + Corresponding Source. Regardless of what server hosts the |
998 | + Corresponding Source, you remain obligated to ensure that it is |
999 | + available for as long as needed to satisfy these requirements. |
1000 | + |
1001 | + e) Convey the object code using peer-to-peer transmission, provided |
1002 | + you inform other peers where the object code and Corresponding |
1003 | + Source of the work are being offered to the general public at no |
1004 | + charge under subsection 6d. |
1005 | + |
1006 | + A separable portion of the object code, whose source code is excluded |
1007 | +from the Corresponding Source as a System Library, need not be |
1008 | +included in conveying the object code work. |
1009 | + |
1010 | + A "User Product" is either (1) a "consumer product", which means any |
1011 | +tangible personal property which is normally used for personal, family, |
1012 | +or household purposes, or (2) anything designed or sold for incorporation |
1013 | +into a dwelling. In determining whether a product is a consumer product, |
1014 | +doubtful cases shall be resolved in favor of coverage. For a particular |
1015 | +product received by a particular user, "normally used" refers to a |
1016 | +typical or common use of that class of product, regardless of the status |
1017 | +of the particular user or of the way in which the particular user |
1018 | +actually uses, or expects or is expected to use, the product. A product |
1019 | +is a consumer product regardless of whether the product has substantial |
1020 | +commercial, industrial or non-consumer uses, unless such uses represent |
1021 | +the only significant mode of use of the product. |
1022 | + |
1023 | + "Installation Information" for a User Product means any methods, |
1024 | +procedures, authorization keys, or other information required to install |
1025 | +and execute modified versions of a covered work in that User Product from |
1026 | +a modified version of its Corresponding Source. The information must |
1027 | +suffice to ensure that the continued functioning of the modified object |
1028 | +code is in no case prevented or interfered with solely because |
1029 | +modification has been made. |
1030 | + |
1031 | + If you convey an object code work under this section in, or with, or |
1032 | +specifically for use in, a User Product, and the conveying occurs as |
1033 | +part of a transaction in which the right of possession and use of the |
1034 | +User Product is transferred to the recipient in perpetuity or for a |
1035 | +fixed term (regardless of how the transaction is characterized), the |
1036 | +Corresponding Source conveyed under this section must be accompanied |
1037 | +by the Installation Information. But this requirement does not apply |
1038 | +if neither you nor any third party retains the ability to install |
1039 | +modified object code on the User Product (for example, the work has |
1040 | +been installed in ROM). |
1041 | + |
1042 | + The requirement to provide Installation Information does not include a |
1043 | +requirement to continue to provide support service, warranty, or updates |
1044 | +for a work that has been modified or installed by the recipient, or for |
1045 | +the User Product in which it has been modified or installed. Access to a |
1046 | +network may be denied when the modification itself materially and |
1047 | +adversely affects the operation of the network or violates the rules and |
1048 | +protocols for communication across the network. |
1049 | + |
1050 | + Corresponding Source conveyed, and Installation Information provided, |
1051 | +in accord with this section must be in a format that is publicly |
1052 | +documented (and with an implementation available to the public in |
1053 | +source code form), and must require no special password or key for |
1054 | +unpacking, reading or copying. |
1055 | + |
1056 | + 7. Additional Terms. |
1057 | + |
1058 | + "Additional permissions" are terms that supplement the terms of this |
1059 | +License by making exceptions from one or more of its conditions. |
1060 | +Additional permissions that are applicable to the entire Program shall |
1061 | +be treated as though they were included in this License, to the extent |
1062 | +that they are valid under applicable law. If additional permissions |
1063 | +apply only to part of the Program, that part may be used separately |
1064 | +under those permissions, but the entire Program remains governed by |
1065 | +this License without regard to the additional permissions. |
1066 | + |
1067 | + When you convey a copy of a covered work, you may at your option |
1068 | +remove any additional permissions from that copy, or from any part of |
1069 | +it. (Additional permissions may be written to require their own |
1070 | +removal in certain cases when you modify the work.) You may place |
1071 | +additional permissions on material, added by you to a covered work, |
1072 | +for which you have or can give appropriate copyright permission. |
1073 | + |
1074 | + Notwithstanding any other provision of this License, for material you |
1075 | +add to a covered work, you may (if authorized by the copyright holders of |
1076 | +that material) supplement the terms of this License with terms: |
1077 | + |
1078 | + a) Disclaiming warranty or limiting liability differently from the |
1079 | + terms of sections 15 and 16 of this License; or |
1080 | + |
1081 | + b) Requiring preservation of specified reasonable legal notices or |
1082 | + author attributions in that material or in the Appropriate Legal |
1083 | + Notices displayed by works containing it; or |
1084 | + |
1085 | + c) Prohibiting misrepresentation of the origin of that material, or |
1086 | + requiring that modified versions of such material be marked in |
1087 | + reasonable ways as different from the original version; or |
1088 | + |
1089 | + d) Limiting the use for publicity purposes of names of licensors or |
1090 | + authors of the material; or |
1091 | + |
1092 | + e) Declining to grant rights under trademark law for use of some |
1093 | + trade names, trademarks, or service marks; or |
1094 | + |
1095 | + f) Requiring indemnification of licensors and authors of that |
1096 | + material by anyone who conveys the material (or modified versions of |
1097 | + it) with contractual assumptions of liability to the recipient, for |
1098 | + any liability that these contractual assumptions directly impose on |
1099 | + those licensors and authors. |
1100 | + |
1101 | + All other non-permissive additional terms are considered "further |
1102 | +restrictions" within the meaning of section 10. If the Program as you |
1103 | +received it, or any part of it, contains a notice stating that it is |
1104 | +governed by this License along with a term that is a further |
1105 | +restriction, you may remove that term. If a license document contains |
1106 | +a further restriction but permits relicensing or conveying under this |
1107 | +License, you may add to a covered work material governed by the terms |
1108 | +of that license document, provided that the further restriction does |
1109 | +not survive such relicensing or conveying. |
1110 | + |
1111 | + If you add terms to a covered work in accord with this section, you |
1112 | +must place, in the relevant source files, a statement of the |
1113 | +additional terms that apply to those files, or a notice indicating |
1114 | +where to find the applicable terms. |
1115 | + |
1116 | + Additional terms, permissive or non-permissive, may be stated in the |
1117 | +form of a separately written license, or stated as exceptions; |
1118 | +the above requirements apply either way. |
1119 | + |
1120 | + 8. Termination. |
1121 | + |
1122 | + You may not propagate or modify a covered work except as expressly |
1123 | +provided under this License. Any attempt otherwise to propagate or |
1124 | +modify it is void, and will automatically terminate your rights under |
1125 | +this License (including any patent licenses granted under the third |
1126 | +paragraph of section 11). |
1127 | + |
1128 | + However, if you cease all violation of this License, then your |
1129 | +license from a particular copyright holder is reinstated (a) |
1130 | +provisionally, unless and until the copyright holder explicitly and |
1131 | +finally terminates your license, and (b) permanently, if the copyright |
1132 | +holder fails to notify you of the violation by some reasonable means |
1133 | +prior to 60 days after the cessation. |
1134 | + |
1135 | + Moreover, your license from a particular copyright holder is |
1136 | +reinstated permanently if the copyright holder notifies you of the |
1137 | +violation by some reasonable means, this is the first time you have |
1138 | +received notice of violation of this License (for any work) from that |
1139 | +copyright holder, and you cure the violation prior to 30 days after |
1140 | +your receipt of the notice. |
1141 | + |
1142 | + Termination of your rights under this section does not terminate the |
1143 | +licenses of parties who have received copies or rights from you under |
1144 | +this License. If your rights have been terminated and not permanently |
1145 | +reinstated, you do not qualify to receive new licenses for the same |
1146 | +material under section 10. |
1147 | + |
1148 | + 9. Acceptance Not Required for Having Copies. |
1149 | + |
1150 | + You are not required to accept this License in order to receive or |
1151 | +run a copy of the Program. Ancillary propagation of a covered work |
1152 | +occurring solely as a consequence of using peer-to-peer transmission |
1153 | +to receive a copy likewise does not require acceptance. However, |
1154 | +nothing other than this License grants you permission to propagate or |
1155 | +modify any covered work. These actions infringe copyright if you do |
1156 | +not accept this License. Therefore, by modifying or propagating a |
1157 | +covered work, you indicate your acceptance of this License to do so. |
1158 | + |
1159 | + 10. Automatic Licensing of Downstream Recipients. |
1160 | + |
1161 | + Each time you convey a covered work, the recipient automatically |
1162 | +receives a license from the original licensors, to run, modify and |
1163 | +propagate that work, subject to this License. You are not responsible |
1164 | +for enforcing compliance by third parties with this License. |
1165 | + |
1166 | + An "entity transaction" is a transaction transferring control of an |
1167 | +organization, or substantially all assets of one, or subdividing an |
1168 | +organization, or merging organizations. If propagation of a covered |
1169 | +work results from an entity transaction, each party to that |
1170 | +transaction who receives a copy of the work also receives whatever |
1171 | +licenses to the work the party's predecessor in interest had or could |
1172 | +give under the previous paragraph, plus a right to possession of the |
1173 | +Corresponding Source of the work from the predecessor in interest, if |
1174 | +the predecessor has it or can get it with reasonable efforts. |
1175 | + |
1176 | + You may not impose any further restrictions on the exercise of the |
1177 | +rights granted or affirmed under this License. For example, you may |
1178 | +not impose a license fee, royalty, or other charge for exercise of |
1179 | +rights granted under this License, and you may not initiate litigation |
1180 | +(including a cross-claim or counterclaim in a lawsuit) alleging that |
1181 | +any patent claim is infringed by making, using, selling, offering for |
1182 | +sale, or importing the Program or any portion of it. |
1183 | + |
1184 | + 11. Patents. |
1185 | + |
1186 | + A "contributor" is a copyright holder who authorizes use under this |
1187 | +License of the Program or a work on which the Program is based. The |
1188 | +work thus licensed is called the contributor's "contributor version". |
1189 | + |
1190 | + A contributor's "essential patent claims" are all patent claims |
1191 | +owned or controlled by the contributor, whether already acquired or |
1192 | +hereafter acquired, that would be infringed by some manner, permitted |
1193 | +by this License, of making, using, or selling its contributor version, |
1194 | +but do not include claims that would be infringed only as a |
1195 | +consequence of further modification of the contributor version. For |
1196 | +purposes of this definition, "control" includes the right to grant |
1197 | +patent sublicenses in a manner consistent with the requirements of |
1198 | +this License. |
1199 | + |
1200 | + Each contributor grants you a non-exclusive, worldwide, royalty-free |
1201 | +patent license under the contributor's essential patent claims, to |
1202 | +make, use, sell, offer for sale, import and otherwise run, modify and |
1203 | +propagate the contents of its contributor version. |
1204 | + |
1205 | + In the following three paragraphs, a "patent license" is any express |
1206 | +agreement or commitment, however denominated, not to enforce a patent |
1207 | +(such as an express permission to practice a patent or covenant not to |
1208 | +sue for patent infringement). To "grant" such a patent license to a |
1209 | +party means to make such an agreement or commitment not to enforce a |
1210 | +patent against the party. |
1211 | + |
1212 | + If you convey a covered work, knowingly relying on a patent license, |
1213 | +and the Corresponding Source of the work is not available for anyone |
1214 | +to copy, free of charge and under the terms of this License, through a |
1215 | +publicly available network server or other readily accessible means, |
1216 | +then you must either (1) cause the Corresponding Source to be so |
1217 | +available, or (2) arrange to deprive yourself of the benefit of the |
1218 | +patent license for this particular work, or (3) arrange, in a manner |
1219 | +consistent with the requirements of this License, to extend the patent |
1220 | +license to downstream recipients. "Knowingly relying" means you have |
1221 | +actual knowledge that, but for the patent license, your conveying the |
1222 | +covered work in a country, or your recipient's use of the covered work |
1223 | +in a country, would infringe one or more identifiable patents in that |
1224 | +country that you have reason to believe are valid. |
1225 | + |
1226 | + If, pursuant to or in connection with a single transaction or |
1227 | +arrangement, you convey, or propagate by procuring conveyance of, a |
1228 | +covered work, and grant a patent license to some of the parties |
1229 | +receiving the covered work authorizing them to use, propagate, modify |
1230 | +or convey a specific copy of the covered work, then the patent license |
1231 | +you grant is automatically extended to all recipients of the covered |
1232 | +work and works based on it. |
1233 | + |
1234 | + A patent license is "discriminatory" if it does not include within |
1235 | +the scope of its coverage, prohibits the exercise of, or is |
1236 | +conditioned on the non-exercise of one or more of the rights that are |
1237 | +specifically granted under this License. You may not convey a covered |
1238 | +work if you are a party to an arrangement with a third party that is |
1239 | +in the business of distributing software, under which you make payment |
1240 | +to the third party based on the extent of your activity of conveying |
1241 | +the work, and under which the third party grants, to any of the |
1242 | +parties who would receive the covered work from you, a discriminatory |
1243 | +patent license (a) in connection with copies of the covered work |
1244 | +conveyed by you (or copies made from those copies), or (b) primarily |
1245 | +for and in connection with specific products or compilations that |
1246 | +contain the covered work, unless you entered into that arrangement, |
1247 | +or that patent license was granted, prior to 28 March 2007. |
1248 | + |
1249 | + Nothing in this License shall be construed as excluding or limiting |
1250 | +any implied license or other defenses to infringement that may |
1251 | +otherwise be available to you under applicable patent law. |
1252 | + |
1253 | + 12. No Surrender of Others' Freedom. |
1254 | + |
1255 | + If conditions are imposed on you (whether by court order, agreement or |
1256 | +otherwise) that contradict the conditions of this License, they do not |
1257 | +excuse you from the conditions of this License. If you cannot convey a |
1258 | +covered work so as to satisfy simultaneously your obligations under this |
1259 | +License and any other pertinent obligations, then as a consequence you may |
1260 | +not convey it at all. For example, if you agree to terms that obligate you |
1261 | +to collect a royalty for further conveying from those to whom you convey |
1262 | +the Program, the only way you could satisfy both those terms and this |
1263 | +License would be to refrain entirely from conveying the Program. |
1264 | + |
1265 | + 13. Use with the GNU Affero General Public License. |
1266 | + |
1267 | + Notwithstanding any other provision of this License, you have |
1268 | +permission to link or combine any covered work with a work licensed |
1269 | +under version 3 of the GNU Affero General Public License into a single |
1270 | +combined work, and to convey the resulting work. The terms of this |
1271 | +License will continue to apply to the part which is the covered work, |
1272 | +but the special requirements of the GNU Affero General Public License, |
1273 | +section 13, concerning interaction through a network will apply to the |
1274 | +combination as such. |
1275 | + |
1276 | + 14. Revised Versions of this License. |
1277 | + |
1278 | + The Free Software Foundation may publish revised and/or new versions of |
1279 | +the GNU General Public License from time to time. Such new versions will |
1280 | +be similar in spirit to the present version, but may differ in detail to |
1281 | +address new problems or concerns. |
1282 | + |
1283 | + Each version is given a distinguishing version number. If the |
1284 | +Program specifies that a certain numbered version of the GNU General |
1285 | +Public License "or any later version" applies to it, you have the |
1286 | +option of following the terms and conditions either of that numbered |
1287 | +version or of any later version published by the Free Software |
1288 | +Foundation. If the Program does not specify a version number of the |
1289 | +GNU General Public License, you may choose any version ever published |
1290 | +by the Free Software Foundation. |
1291 | + |
1292 | + If the Program specifies that a proxy can decide which future |
1293 | +versions of the GNU General Public License can be used, that proxy's |
1294 | +public statement of acceptance of a version permanently authorizes you |
1295 | +to choose that version for the Program. |
1296 | + |
1297 | + Later license versions may give you additional or different |
1298 | +permissions. However, no additional obligations are imposed on any |
1299 | +author or copyright holder as a result of your choosing to follow a |
1300 | +later version. |
1301 | + |
1302 | + 15. Disclaimer of Warranty. |
1303 | + |
1304 | + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY |
1305 | +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT |
1306 | +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY |
1307 | +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, |
1308 | +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
1309 | +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM |
1310 | +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF |
1311 | +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. |
1312 | + |
1313 | + 16. Limitation of Liability. |
1314 | + |
1315 | + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
1316 | +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS |
1317 | +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY |
1318 | +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE |
1319 | +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF |
1320 | +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD |
1321 | +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), |
1322 | +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF |
1323 | +SUCH DAMAGES. |
1324 | + |
1325 | + 17. Interpretation of Sections 15 and 16. |
1326 | + |
1327 | + If the disclaimer of warranty and limitation of liability provided |
1328 | +above cannot be given local legal effect according to their terms, |
1329 | +reviewing courts shall apply local law that most closely approximates |
1330 | +an absolute waiver of all civil liability in connection with the |
1331 | +Program, unless a warranty or assumption of liability accompanies a |
1332 | +copy of the Program in return for a fee. |
1333 | + |
1334 | + END OF TERMS AND CONDITIONS |
1335 | + |
1336 | + How to Apply These Terms to Your New Programs |
1337 | + |
1338 | + If you develop a new program, and you want it to be of the greatest |
1339 | +possible use to the public, the best way to achieve this is to make it |
1340 | +free software which everyone can redistribute and change under these terms. |
1341 | + |
1342 | + To do so, attach the following notices to the program. It is safest |
1343 | +to attach them to the start of each source file to most effectively |
1344 | +state the exclusion of warranty; and each file should have at least |
1345 | +the "copyright" line and a pointer to where the full notice is found. |
1346 | + |
1347 | + <one line to give the program's name and a brief idea of what it does.> |
1348 | + Copyright (C) <year> <name of author> |
1349 | + |
1350 | + This program is free software: you can redistribute it and/or modify |
1351 | + it under the terms of the GNU General Public License as published by |
1352 | + the Free Software Foundation, either version 3 of the License, or |
1353 | + (at your option) any later version. |
1354 | + |
1355 | + This program is distributed in the hope that it will be useful, |
1356 | + but WITHOUT ANY WARRANTY; without even the implied warranty of |
1357 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1358 | + GNU General Public License for more details. |
1359 | + |
1360 | + You should have received a copy of the GNU General Public License |
1361 | + along with this program. If not, see <http://www.gnu.org/licenses/>. |
1362 | + |
1363 | +Also add information on how to contact you by electronic and paper mail. |
1364 | + |
1365 | + If the program does terminal interaction, make it output a short |
1366 | +notice like this when it starts in an interactive mode: |
1367 | + |
1368 | + <program> Copyright (C) <year> <name of author> |
1369 | + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. |
1370 | + This is free software, and you are welcome to redistribute it |
1371 | + under certain conditions; type `show c' for details. |
1372 | + |
1373 | +The hypothetical commands `show w' and `show c' should show the appropriate |
1374 | +parts of the General Public License. Of course, your program's commands |
1375 | +might be different; for a GUI interface, you would use an "about box". |
1376 | + |
1377 | + You should also get your employer (if you work as a programmer) or school, |
1378 | +if any, to sign a "copyright disclaimer" for the program, if necessary. |
1379 | +For more information on this, and how to apply and follow the GNU GPL, see |
1380 | +<http://www.gnu.org/licenses/>. |
1381 | + |
1382 | + The GNU General Public License does not permit incorporating your program |
1383 | +into proprietary programs. If your program is a subroutine library, you |
1384 | +may consider it more useful to permit linking proprietary applications with |
1385 | +the library. If this is what you want to do, use the GNU Lesser General |
1386 | +Public License instead of this License. But first, please read |
1387 | +<http://www.gnu.org/philosophy/why-not-lgpl.html>. |
1388 | |
1389 | === added file 'LICENSE-BRIEF' |
1390 | --- LICENSE-BRIEF 1970-01-01 00:00:00 +0000 |
1391 | +++ LICENSE-BRIEF 2009-12-12 11:55:22 +0000 |
1392 | @@ -0,0 +1,5 @@ |
1393 | +Nathive 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 3 of the License, or (at your option) any later version. |
1394 | + |
1395 | +Nathive 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. |
1396 | + |
1397 | +You should have received a copy of the GNU General Public License along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
1398 | |
1399 | === removed file 'Makefile' |
1400 | --- Makefile 2008-12-01 07:53:03 +0000 |
1401 | +++ Makefile 1970-01-01 00:00:00 +0000 |
1402 | @@ -1,12 +0,0 @@ |
1403 | -#!/bin/bash |
1404 | - |
1405 | -compile: |
1406 | - @(gcc nathive.c -o nathive `pkg-config --cflags --libs gtk+-2.0`) |
1407 | - |
1408 | -run: |
1409 | - @(gcc nathive.c -o nathive `pkg-config --cflags --libs gtk+-2.0`) |
1410 | - @(./nathive) |
1411 | - |
1412 | -debug: |
1413 | - @(gcc -g nathive.c -o nathive `pkg-config --cflags --libs gtk+-2.0`) |
1414 | - @(gdb nathive) |
1415 | |
1416 | === added file 'README' |
1417 | --- README 1970-01-01 00:00:00 +0000 |
1418 | +++ README 2009-12-12 11:55:22 +0000 |
1419 | @@ -0,0 +1,80 @@ |
1420 | + |
1421 | +Nathive README |
1422 | +============== |
1423 | + |
1424 | + |
1425 | +Attention |
1426 | +--------- |
1427 | + |
1428 | +This project is in alpha phase, so it is an incomplete work, unfit for the end |
1429 | +user yet. You can submit bugs, ideas, or code through: |
1430 | +<http://dev.nathive.org/> |
1431 | + |
1432 | + |
1433 | +Install from source requires |
1434 | +---------------------------- |
1435 | + |
1436 | +- libgtk2.0-dev |
1437 | +- python |
1438 | +- python-dev |
1439 | +- dpkg (for deb packaging) |
1440 | +- rpmbuild (for rpm packaging) |
1441 | + |
1442 | + |
1443 | +Install |
1444 | +------- |
1445 | + |
1446 | +1) Open terminal in downloaded folder. |
1447 | +2) Type "make" as user to compile the low-level libraries. |
1448 | +3) Type "make deb" or "make rpm" as root to create a binary package. |
1449 | +4) Double-click on the package to install into your distro. |
1450 | + |
1451 | + |
1452 | +Other make options |
1453 | +------------------ |
1454 | + |
1455 | +Type "make install" as root to old-school install way, then the installation |
1456 | +will not be registered in any database and you can not uninstall automatically |
1457 | +or handle versions. |
1458 | + |
1459 | +Type "make unpyc" as user to delete unnecesary .pyc files. don't worry about, |
1460 | +it's automatic when you perform an installation. (Tip: launch Python with -B |
1461 | +option to avoid generating .pyc files when you are hacking) |
1462 | + |
1463 | +Type "make source" as user to delete unneeded files and clean code before commit |
1464 | +in the version control system or redistribute as source. |
1465 | + |
1466 | +Type "make spaces" as user to reformat all .py files with spaced indentation. |
1467 | +This also perform a trailing space/line remove. |
1468 | + |
1469 | +Type "make tabs" as user to reformat all .py files with tabbed indentation, |
1470 | +useful if you think tab is explicit and space groups are implicit, and you like |
1471 | +Python Zen over PEP08. This also perform a trailing space/line remove. |
1472 | + |
1473 | +Type "make pot" to create a Gettext language template. |
1474 | + |
1475 | + |
1476 | +License |
1477 | +------- |
1478 | + |
1479 | +Nathive is free software: you can redistribute it and/or modify |
1480 | +it under the terms of the GNU General Public License as published by |
1481 | +the Free Software Foundation, either version 3 of the License, or |
1482 | +(at your option) any later version. |
1483 | + |
1484 | +Nathive is distributed in the hope that it will be useful, |
1485 | +but WITHOUT ANY WARRANTY; without even the implied warranty of |
1486 | +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1487 | +GNU General Public License for more details. |
1488 | + |
1489 | +You should have received a copy of the GNU General Public License |
1490 | +along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
1491 | + |
1492 | +The supplied GNU GPL copy is the file called LICENSE. |
1493 | + |
1494 | + |
1495 | +We are online! |
1496 | +-------------- |
1497 | + |
1498 | +Visit <http://www.nathive.org/> and get the latest source and info, also you |
1499 | +can find many ways to contact Nathive people. See you! |
1500 | |
1501 | === added file 'TODO' |
1502 | --- TODO 1970-01-01 00:00:00 +0000 |
1503 | +++ TODO 2009-12-12 11:55:22 +0000 |
1504 | @@ -0,0 +1,35 @@ |
1505 | + |
1506 | +Nathive TODO |
1507 | +============ |
1508 | + |
1509 | + |
1510 | +High priority |
1511 | +------------- |
1512 | + |
1513 | +- Integrate open/about dialogs as plugins |
1514 | +- Code the object/layer engine |
1515 | +- Code the new file dialog |
1516 | + |
1517 | + |
1518 | +Medium priority |
1519 | +--------------- |
1520 | + |
1521 | +- Code zoom |
1522 | +- Code user action log (undo/redo) |
1523 | + |
1524 | + |
1525 | +Low priority |
1526 | +------------ |
1527 | + |
1528 | +- Code mask |
1529 | +- Code missed tools and filters |
1530 | +- Code keyboard shorcuts |
1531 | +- Define save format |
1532 | +- Create a web repository that build packages automatically for various archs |
1533 | +- Integrate some unittest suite |
1534 | + |
1535 | + |
1536 | +Roadmap |
1537 | +------- |
1538 | + |
1539 | +For more see <http://docs.nathive.org/Developer/Roadmap> |
1540 | |
1541 | === added file 'VERSION' |
1542 | --- VERSION 1970-01-01 00:00:00 +0000 |
1543 | +++ VERSION 2009-12-12 11:55:22 +0000 |
1544 | @@ -0,0 +1,5 @@ |
1545 | +[meta] |
1546 | +version = 0.870 |
1547 | +release = 1 |
1548 | +phase = experimental |
1549 | +maintainer = Nathive Developers <contact@nathive.org> |
1550 | |
1551 | === added directory 'cfg' |
1552 | === removed directory 'cfg' |
1553 | === removed file 'cfg/cfg.xml' |
1554 | --- cfg/cfg.xml 2008-11-26 01:33:49 +0000 |
1555 | +++ cfg/cfg.xml 1970-01-01 00:00:00 +0000 |
1556 | @@ -1,21 +0,0 @@ |
1557 | -<?xml version="1.0" encoding="UTF-8" ?> |
1558 | -<cfg> |
1559 | - <misc> |
1560 | - <language>auto</language> |
1561 | - <folder-last>~/</folder-last> |
1562 | - <win-w>950</win-w> |
1563 | - <win-h>550</win-h> |
1564 | - </misc> |
1565 | - <color> |
1566 | - <r>87</r> |
1567 | - <g>171</g> |
1568 | - <b>255</b> |
1569 | - </color> |
1570 | - <brush> |
1571 | - <size>30</size> |
1572 | - <mode>1</mode> |
1573 | - <soft>50</soft> |
1574 | - <opacity>25</opacity> |
1575 | - <space>0</space> |
1576 | - </brush> |
1577 | -</cfg> |
1578 | |
1579 | === added file 'cfg/default.cfg' |
1580 | --- cfg/default.cfg 1970-01-01 00:00:00 +0000 |
1581 | +++ cfg/default.cfg 2009-12-12 11:55:22 +0000 |
1582 | @@ -0,0 +1,23 @@ |
1583 | +[color] |
1584 | +r = 87 |
1585 | +b = 255 |
1586 | +g = 171 |
1587 | + |
1588 | +[misc] |
1589 | +folder = ~ |
1590 | +height = 550 |
1591 | +language = auto |
1592 | +maximize = 0 |
1593 | +sidebar = 1 |
1594 | +tabmaxlen = 24 |
1595 | +width = 950 |
1596 | + |
1597 | +[brush] |
1598 | +opacity = 100 |
1599 | +shape = 1 |
1600 | +spacing = 1 |
1601 | +soft = 100 |
1602 | +size = 30 |
1603 | + |
1604 | +[toolbar] |
1605 | +sort = select,picker,brush |
1606 | |
1607 | === removed directory 'gb' |
1608 | === removed file 'gb/brush.c' |
1609 | --- gb/brush.c 2008-11-26 01:33:49 +0000 |
1610 | +++ gb/brush.c 1970-01-01 00:00:00 +0000 |
1611 | @@ -1,33 +0,0 @@ |
1612 | -/* |
1613 | - * This file is part of Nathive. |
1614 | - * |
1615 | - * Nathive is free software: you can redistribute it and/or modify |
1616 | - * it under the terms of the GNU General Public License as published by |
1617 | - * the Free Software Foundation, either version 3 of the License, or |
1618 | - * (at your option) any later version. |
1619 | - * |
1620 | - * Nathive is distributed in the hope that it will be useful, |
1621 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1622 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1623 | - * GNU General Public License for more details. |
1624 | - * |
1625 | - * You should have received a copy of the GNU General Public License |
1626 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
1627 | - */ |
1628 | - |
1629 | - |
1630 | -uchar *brush_raw; |
1631 | -int brush_size = 30; |
1632 | -int brush_size_max = 100; |
1633 | -int brush_mode = 0; |
1634 | -int brush_fade = 0; |
1635 | -int brush_opacity = 100; |
1636 | -int brush_space = 0; |
1637 | - |
1638 | -//gtk |
1639 | -GtkWidget *adj_brush_mode[2]; |
1640 | -GtkObject *adj_brush_size; |
1641 | -GtkObject *adj_brush_fade; |
1642 | -GtkObject *adj_brush_opacity; |
1643 | -GtkWidget *adj_brush_space; |
1644 | - |
1645 | |
1646 | === removed file 'gb/dialog-new.c' |
1647 | --- gb/dialog-new.c 2008-11-26 01:33:49 +0000 |
1648 | +++ gb/dialog-new.c 1970-01-01 00:00:00 +0000 |
1649 | @@ -1,46 +0,0 @@ |
1650 | -/* |
1651 | - * This file is part of Nathive. |
1652 | - * |
1653 | - * Nathive is free software: you can redistribute it and/or modify |
1654 | - * it under the terms of the GNU General Public License as published by |
1655 | - * the Free Software Foundation, either version 3 of the License, or |
1656 | - * (at your option) any later version. |
1657 | - * |
1658 | - * Nathive is distributed in the hope that it will be useful, |
1659 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1660 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1661 | - * GNU General Public License for more details. |
1662 | - * |
1663 | - * You should have received a copy of the GNU General Public License |
1664 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
1665 | - */ |
1666 | - |
1667 | - |
1668 | -int dialog_new_template = 0; |
1669 | -int dialog_new_unit = 0; |
1670 | -int dialog_new_pxw = 400; |
1671 | -int dialog_new_pxh = 300; |
1672 | -int dialog_new_dpi = 150; |
1673 | -double dialog_new_cmw = 0; |
1674 | -double dialog_new_cmh = 0; |
1675 | -double dialog_new_inw = 0; |
1676 | -double dialog_new_inh = 0; |
1677 | -int dialog_new_nobg = 0; |
1678 | -int dialog_new_pxw_ops = -1; |
1679 | -int dialog_new_pxh_ops = -1; |
1680 | -int dialog_new_cmw_ops = -1; |
1681 | -int dialog_new_cmh_ops = -1; |
1682 | -int dialog_new_inw_ops = -1; |
1683 | -int dialog_new_inh_ops = -1; |
1684 | -int dialog_new_dpi_ops = -1; |
1685 | - |
1686 | -//gtk |
1687 | -GtkWidget *dialog_new_template_combo; |
1688 | -GtkWidget *dialog_new_unit_combo; |
1689 | -GtkWidget *dialog_new_box_px; |
1690 | -GtkWidget *dialog_new_box_re; |
1691 | -GtkWidget *dialog_new_box_cm; |
1692 | -GtkWidget *dialog_new_box_in; |
1693 | -GtkObject *dialog_new_adj[7]; |
1694 | -GtkWidget *dialog_new_nobg_check; |
1695 | - |
1696 | |
1697 | === removed file 'gb/global.c' |
1698 | --- gb/global.c 2008-11-26 18:12:53 +0000 |
1699 | +++ gb/global.c 1970-01-01 00:00:00 +0000 |
1700 | @@ -1,64 +0,0 @@ |
1701 | -/* |
1702 | - * This file is part of Nathive. |
1703 | - * |
1704 | - * Nathive is free software: you can redistribute it and/or modify |
1705 | - * it under the terms of the GNU General Public License as published by |
1706 | - * the Free Software Foundation, either version 3 of the License, or |
1707 | - * (at your option) any later version. |
1708 | - * |
1709 | - * Nathive is distributed in the hope that it will be useful, |
1710 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1711 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1712 | - * GNU General Public License for more details. |
1713 | - * |
1714 | - * You should have received a copy of the GNU General Public License |
1715 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
1716 | - */ |
1717 | - |
1718 | - |
1719 | -NTree *dom; |
1720 | -int tool = 0; |
1721 | -int win_w = 950; |
1722 | -int win_h = 550; |
1723 | -int fullscreen = 0; |
1724 | -int main_load = 0; |
1725 | -int feedback_lock = 0; |
1726 | - |
1727 | -char *language_ = "auto"; |
1728 | -char *language[100]; |
1729 | -char *folder_last = "/home"; |
1730 | -int unsaved_count = 1; |
1731 | - |
1732 | -uchar color1[3]; |
1733 | -int color1hsv[3]; |
1734 | -char *color1hex; |
1735 | -void *toolbar_color1[4]; |
1736 | - |
1737 | -int user_button = 0; |
1738 | -int user_x = 0; |
1739 | -int user_y = 0; |
1740 | -int user_x_root = 0; |
1741 | -int user_y_root = 0; |
1742 | -int user_x_press = 0; |
1743 | -int user_y_press = 0; |
1744 | - |
1745 | -int statusbar_w = 0; |
1746 | -int statusbar_h = 0; |
1747 | -int statusbar_x = 0; |
1748 | -int statusbar_y = 0; |
1749 | -int statusbar_z = 1; |
1750 | -int statusbar_msg = 0; |
1751 | - |
1752 | -//gtk |
1753 | -GtkWidget *win; |
1754 | -GtkWidget *tabs; |
1755 | -GtkWidget *sidebar; |
1756 | -GtkWidget *sidebar_tool; |
1757 | -GtkWidget *sidebar_tools[TOOLS]; |
1758 | -GtkWidget *statusbar; |
1759 | -GtkWidget *object_tree_view; |
1760 | - |
1761 | -GtkObject *adj_color1_rgbhsv[6]; |
1762 | -GtkWidget *adj_color1hex; |
1763 | -GtkWidget *palette[100]; |
1764 | - |
1765 | |
1766 | === removed directory 'gui' |
1767 | === removed file 'gui/colorbar.c' |
1768 | --- gui/colorbar.c 2008-11-26 01:33:49 +0000 |
1769 | +++ gui/colorbar.c 1970-01-01 00:00:00 +0000 |
1770 | @@ -1,48 +0,0 @@ |
1771 | -/* |
1772 | - * This file is part of Nathive. |
1773 | - * |
1774 | - * Nathive is free software: you can redistribute it and/or modify |
1775 | - * it under the terms of the GNU General Public License as published by |
1776 | - * the Free Software Foundation, either version 3 of the License, or |
1777 | - * (at your option) any later version. |
1778 | - * |
1779 | - * Nathive is distributed in the hope that it will be useful, |
1780 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1781 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1782 | - * GNU General Public License for more details. |
1783 | - * |
1784 | - * You should have received a copy of the GNU General Public License |
1785 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
1786 | - */ |
1787 | - |
1788 | - |
1789 | -GtkWidget *colorbar = gtk_vbox_new(FALSE,5); |
1790 | -gtk_container_set_border_width(GTK_CONTAINER(colorbar), 5); |
1791 | - |
1792 | - |
1793 | -GtkRcStyle *colorbar_rcstyle; |
1794 | -colorbar_rcstyle = gtk_rc_style_new(); |
1795 | -colorbar_rcstyle->xthickness = colorbar_rcstyle->ythickness = 0; |
1796 | - |
1797 | -GtkWidget *colorbar_prev = gtk_button_new(); |
1798 | -//GtkWidget *colorbar_prev_arrow = gtk_arrow_new(GTK_ARROW_UP, GTK_SHADOW_NONE); |
1799 | -//gtk_button_set_image(GTK_BUTTON(colorbar_prev), colorbar_prev_arrow); |
1800 | -gtk_widget_modify_style(colorbar_prev, colorbar_rcstyle); |
1801 | -gtk_widget_set_size_request(colorbar_prev,0,20); |
1802 | - |
1803 | -palette[0] = gtk_vbox_new(FALSE,0); |
1804 | -char palette_path[100]; |
1805 | -sprintf(palette_path, "%s%s", PATH, "palettes/01.xml"); |
1806 | -load_palette_from_xml(palette[0], palette_path); |
1807 | - |
1808 | -GtkWidget *colorbar_next = gtk_button_new(); |
1809 | -//GtkWidget *colorbar_next_arrow = gtk_arrow_new(GTK_ARROW_DOWN, GTK_SHADOW_NONE); |
1810 | -//gtk_button_set_image(GTK_BUTTON(colorbar_next), colorbar_next_arrow); |
1811 | -gtk_widget_modify_style(colorbar_next, colorbar_rcstyle); |
1812 | -gtk_widget_set_size_request(colorbar_next,0,20); |
1813 | - |
1814 | - |
1815 | -gtk_box_pack_start(GTK_BOX(colorbar),colorbar_prev,FALSE,FALSE,0); |
1816 | -gtk_box_pack_start(GTK_BOX(colorbar),palette[0],TRUE,TRUE,0); |
1817 | -gtk_box_pack_start(GTK_BOX(colorbar),colorbar_next,FALSE,FALSE,0); |
1818 | - |
1819 | |
1820 | === removed file 'gui/gui-main.c' |
1821 | --- gui/gui-main.c 2008-11-26 18:12:53 +0000 |
1822 | +++ gui/gui-main.c 1970-01-01 00:00:00 +0000 |
1823 | @@ -1,65 +0,0 @@ |
1824 | -/* |
1825 | - * This file is part of Nathive. |
1826 | - * |
1827 | - * Nathive is free software: you can redistribute it and/or modify |
1828 | - * it under the terms of the GNU General Public License as published by |
1829 | - * the Free Software Foundation, either version 3 of the License, or |
1830 | - * (at your option) any later version. |
1831 | - * |
1832 | - * Nathive is distributed in the hope that it will be useful, |
1833 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1834 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1835 | - * GNU General Public License for more details. |
1836 | - * |
1837 | - * You should have received a copy of the GNU General Public License |
1838 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
1839 | - */ |
1840 | - |
1841 | - |
1842 | -void gui_main(int argc, char *argv[]) |
1843 | -{ |
1844 | - printf("> loading gtk interface\n"); |
1845 | - gtk_init(&argc, &argv); |
1846 | - |
1847 | - win = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
1848 | - g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(gtk_quit), NULL); |
1849 | - gtk_window_set_position(GTK_WINDOW(win), GTK_WIN_POS_CENTER); |
1850 | - gtk_window_set_default_icon_from_file( strcatnew(PATH,"img/icon.png") , NULL); |
1851 | - |
1852 | - char win_title[100]; |
1853 | - sprintf(win_title, "Nathive %s", VERSION); |
1854 | - gtk_window_set_title(GTK_WINDOW(win), win_title); |
1855 | - |
1856 | - gtk_window_set_default_size(GTK_WINDOW(win), win_w, win_h); |
1857 | - gtk_window_set_focus(GTK_WINDOW(win), NULL); |
1858 | - |
1859 | - GtkWidget *vbox = gtk_vbox_new(FALSE,0); |
1860 | - #include "menubar.c" |
1861 | - #include "headbar.c" |
1862 | - GtkWidget *workarea = gtk_hbox_new(FALSE,2); |
1863 | - #include "toolbar.c" |
1864 | - #include "tabs.c" |
1865 | - #include "sidebar.c" |
1866 | - #include "colorbar.c" |
1867 | - |
1868 | - gtk_box_pack_start(GTK_BOX(workarea),toolbar,FALSE,FALSE,0); |
1869 | - gtk_box_pack_start(GTK_BOX(workarea),tabs,TRUE,TRUE,0); |
1870 | - gtk_box_pack_start(GTK_BOX(workarea),sidebar,FALSE,FALSE,0); |
1871 | - gtk_box_pack_start(GTK_BOX(workarea),colorbar,FALSE,FALSE,0); |
1872 | - |
1873 | - statusbar = gtk_statusbar_new(); |
1874 | - |
1875 | - gtk_box_pack_start(GTK_BOX(vbox),menubar,FALSE,FALSE,0); |
1876 | - gtk_box_pack_start(GTK_BOX(vbox),headbar,FALSE,FALSE,0); |
1877 | - gtk_box_pack_start(GTK_BOX(vbox),workarea,TRUE,TRUE,0); |
1878 | - gtk_box_pack_start(GTK_BOX(vbox),statusbar,FALSE,FALSE,0); |
1879 | - |
1880 | - gtk_container_add(GTK_CONTAINER(win), vbox); |
1881 | - gtk_widget_show_all(win); |
1882 | - |
1883 | - sidebar_tool_change(NULL, NULL); |
1884 | - |
1885 | - main_load = 1; |
1886 | - printf("> waiting for events\n"); |
1887 | - gtk_main(); |
1888 | -} |
1889 | |
1890 | === removed file 'gui/headbar.c' |
1891 | --- gui/headbar.c 2008-11-26 01:33:49 +0000 |
1892 | +++ gui/headbar.c 1970-01-01 00:00:00 +0000 |
1893 | @@ -1,48 +0,0 @@ |
1894 | -/* |
1895 | - * This file is part of Nathive. |
1896 | - * |
1897 | - * Nathive is free software: you can redistribute it and/or modify |
1898 | - * it under the terms of the GNU General Public License as published by |
1899 | - * the Free Software Foundation, either version 3 of the License, or |
1900 | - * (at your option) any later version. |
1901 | - * |
1902 | - * Nathive is distributed in the hope that it will be useful, |
1903 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1904 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1905 | - * GNU General Public License for more details. |
1906 | - * |
1907 | - * You should have received a copy of the GNU General Public License |
1908 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
1909 | - */ |
1910 | - |
1911 | - |
1912 | -GtkWidget* headbar = gtk_toolbar_new(); |
1913 | -gtk_toolbar_set_style(GTK_TOOLBAR(headbar), GTK_TOOLBAR_ICONS); |
1914 | - |
1915 | -GtkToolItem* headbar_new = gtk_tool_button_new_from_stock("gtk-new"); |
1916 | -g_signal_connect(G_OBJECT(headbar_new), "clicked", G_CALLBACK(dialog_new), NULL); |
1917 | - |
1918 | -GtkToolItem* headbar_open = gtk_tool_button_new_from_stock("gtk-open"); |
1919 | -g_signal_connect(G_OBJECT(headbar_open), "clicked", G_CALLBACK(dialog_open), NULL); |
1920 | - |
1921 | -GtkToolItem* headbar_save = gtk_tool_button_new_from_stock("gtk-save"); |
1922 | -g_signal_connect(G_OBJECT(headbar_save), "clicked", G_CALLBACK(save), NULL); |
1923 | - |
1924 | -GtkToolItem* headbar_saveas = gtk_tool_button_new_from_stock("gtk-save-as"); |
1925 | - |
1926 | -GtkToolItem* headbar_fullscreen = gtk_tool_button_new_from_stock("gtk-fullscreen"); |
1927 | -g_signal_connect(G_OBJECT(headbar_fullscreen), "clicked", G_CALLBACK(window_fullscreen), NULL); |
1928 | - |
1929 | -GtkToolItem* headbar_sidebar = gtk_tool_button_new_from_stock("gtk-goto-last"); |
1930 | -g_signal_connect(G_OBJECT(headbar_sidebar), "clicked", G_CALLBACK(sidebar_hide), NULL); |
1931 | - |
1932 | -GtkToolItem* headbar_break = gtk_separator_tool_item_new(); |
1933 | - |
1934 | -gtk_toolbar_insert(GTK_TOOLBAR(headbar),headbar_new,-1); |
1935 | -gtk_toolbar_insert(GTK_TOOLBAR(headbar),headbar_open,-1); |
1936 | -gtk_toolbar_insert(GTK_TOOLBAR(headbar),headbar_save,-1); |
1937 | -gtk_toolbar_insert(GTK_TOOLBAR(headbar),headbar_saveas,-1); |
1938 | -gtk_toolbar_insert(GTK_TOOLBAR(headbar),headbar_break,-1); |
1939 | -gtk_toolbar_insert(GTK_TOOLBAR(headbar),headbar_fullscreen,-1); |
1940 | -gtk_toolbar_insert(GTK_TOOLBAR(headbar),headbar_sidebar,-1); |
1941 | - |
1942 | |
1943 | === removed file 'gui/menubar.c' |
1944 | --- gui/menubar.c 2008-11-26 01:33:49 +0000 |
1945 | +++ gui/menubar.c 1970-01-01 00:00:00 +0000 |
1946 | @@ -1,52 +0,0 @@ |
1947 | -/* |
1948 | - * This file is part of Nathive. |
1949 | - * |
1950 | - * Nathive is free software: you can redistribute it and/or modify |
1951 | - * it under the terms of the GNU General Public License as published by |
1952 | - * the Free Software Foundation, either version 3 of the License, or |
1953 | - * (at your option) any later version. |
1954 | - * |
1955 | - * Nathive is distributed in the hope that it will be useful, |
1956 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1957 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1958 | - * GNU General Public License for more details. |
1959 | - * |
1960 | - * You should have received a copy of the GNU General Public License |
1961 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
1962 | - */ |
1963 | - |
1964 | - |
1965 | -GtkWidget *menubar = gtk_menu_bar_new(); |
1966 | - |
1967 | -GtkWidget *menubar_file = gtk_menu_item_new_with_label(language[1]); |
1968 | - GtkWidget *menubar_file_menu = gtk_menu_new(); |
1969 | - menubar_item_new(menubar_file_menu, language[2], "gtk-new", "dialog_new"); |
1970 | - menubar_item_new(menubar_file_menu, language[3], "gtk-open", "dialog_open"); |
1971 | - menubar_item_new(menubar_file_menu, language[4], "gtk-save", NULL); |
1972 | - |
1973 | - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menubar_file), menubar_file_menu); |
1974 | - gtk_menu_bar_append(GTK_MENU_BAR(menubar), menubar_file); |
1975 | - |
1976 | -GtkWidget *menubar_edit = gtk_menu_item_new_with_label(language[5]); |
1977 | - GtkWidget *menubar_edit_menu = gtk_menu_new(); |
1978 | - menubar_item_new(menubar_edit_menu, language[6], "gtk-preferences", NULL); |
1979 | - |
1980 | - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menubar_edit), menubar_edit_menu); |
1981 | - gtk_menu_bar_append(GTK_MENU_BAR(menubar), menubar_edit); |
1982 | - |
1983 | -GtkWidget *menubar_view = gtk_menu_item_new_with_label(language[24]); |
1984 | - GtkWidget *menubar_view_menu = gtk_menu_new(); |
1985 | - menubar_item_new(menubar_view_menu, language[25], "gtk-fullscreen", "window_fullscreen"); |
1986 | - menubar_item_new(menubar_view_menu, language[26], "gtk-goto-last", "sidebar_hide"); |
1987 | - |
1988 | - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menubar_view), menubar_view_menu); |
1989 | - gtk_menu_bar_append(GTK_MENU_BAR(menubar), menubar_view); |
1990 | - |
1991 | -GtkWidget *menubar_help = gtk_menu_item_new_with_label(language[27]); |
1992 | - GtkWidget *menubar_help_menu = gtk_menu_new(); |
1993 | - menubar_item_new(menubar_help_menu, language[37], "gtk-info", "url_website"); |
1994 | - menubar_item_new(menubar_help_menu, language[28], "gtk-about", "dialog_about"); |
1995 | - |
1996 | - gtk_menu_item_set_submenu(GTK_MENU_ITEM(menubar_help), menubar_help_menu); |
1997 | - gtk_menu_bar_append(GTK_MENU_BAR(menubar), menubar_help); |
1998 | - |
1999 | |
2000 | === removed file 'gui/sidebar-brush.c' |
2001 | --- gui/sidebar-brush.c 2008-11-26 01:33:49 +0000 |
2002 | +++ gui/sidebar-brush.c 1970-01-01 00:00:00 +0000 |
2003 | @@ -1,102 +0,0 @@ |
2004 | -/* |
2005 | - * This file is part of Nathive. |
2006 | - * |
2007 | - * Nathive is free software: you can redistribute it and/or modify |
2008 | - * it under the terms of the GNU General Public License as published by |
2009 | - * the Free Software Foundation, either version 3 of the License, or |
2010 | - * (at your option) any later version. |
2011 | - * |
2012 | - * Nathive is distributed in the hope that it will be useful, |
2013 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2014 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2015 | - * GNU General Public License for more details. |
2016 | - * |
2017 | - * You should have received a copy of the GNU General Public License |
2018 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2019 | - */ |
2020 | - |
2021 | - |
2022 | -GtkWidget *sidebar_brush = gtk_vbox_new(FALSE,0); |
2023 | - |
2024 | -char *brush_mode_ops[] = {strcatnew(PATH,"img/square.png"), strcatnew(PATH,"img/circle.png")}; |
2025 | -entry_toggle( |
2026 | - sidebar_brush, |
2027 | - strcatnew(language[15],":"), |
2028 | - 2, |
2029 | - &brush_mode, |
2030 | - brush_mode_ops, |
2031 | - adj_brush_mode, |
2032 | - "brushNew" |
2033 | -); |
2034 | - |
2035 | -entry_separator(sidebar_brush); |
2036 | - |
2037 | -adj_brush_size = gtk_adjustment_new(0,0,0,1,1,0); |
2038 | -entry_spin( |
2039 | - sidebar_brush, |
2040 | - strcatnew(language[16],":"), |
2041 | - &brush_size, |
2042 | - 1, |
2043 | - 100, |
2044 | - "int", |
2045 | - adj_brush_size, |
2046 | - 1 |
2047 | -); |
2048 | - |
2049 | -adj_brush_fade = gtk_adjustment_new(0,0,0,1,1,0); |
2050 | -entry_spin( |
2051 | - sidebar_brush, |
2052 | - strcatnew(language[17],":"), |
2053 | - &brush_fade, |
2054 | - 0, |
2055 | - 100, |
2056 | - "int", |
2057 | - adj_brush_fade, |
2058 | - 1 |
2059 | -); |
2060 | - |
2061 | -adj_brush_opacity = gtk_adjustment_new(0,0,0,1,1,0); |
2062 | -entry_spin( |
2063 | - sidebar_brush, |
2064 | - strcatnew(language[18],":"), |
2065 | - &brush_opacity, |
2066 | - 1, |
2067 | - 100, |
2068 | - "int", |
2069 | - adj_brush_opacity, |
2070 | - 1 |
2071 | -); |
2072 | - |
2073 | -entry_separator(sidebar_brush); |
2074 | - |
2075 | -adj_brush_space = gtk_combo_box_new_text(); |
2076 | -char *brush_space_ops[] = { language[19], language[20], language[21] }; |
2077 | -entry_combo( |
2078 | - sidebar_brush, |
2079 | - strcatnew(language[22],":"), |
2080 | - 3, |
2081 | - &brush_space, |
2082 | - brush_space_ops, |
2083 | - adj_brush_space |
2084 | -); |
2085 | - |
2086 | -//entry_check(sidebar_brush, "Antialias", &brush_antialias, NULL); |
2087 | - |
2088 | -entry_expand(sidebar_brush); |
2089 | -entry_separator(sidebar_brush); |
2090 | - |
2091 | -GtkWidget *sidebar_brush_footer = gtk_hbox_new(FALSE,0); |
2092 | - entry_clear(sidebar_brush_footer, "clear_brush", 1); |
2093 | - |
2094 | - /*GtkWidget *sidebar_brush_save = gtk_button_new(); |
2095 | - gtk_button_set_image(GTK_BUTTON(sidebar_brush_save), gtk_image_new_from_stock("gtk-save", 1)); |
2096 | - gtk_box_pack_end(GTK_BOX(sidebar_brush_footer),sidebar_brush_save,FALSE,FALSE,0); |
2097 | - |
2098 | - GtkWidget *sidebar_brush_load = gtk_combo_box_new_text(); |
2099 | - gtk_combo_box_append_text(GTK_COMBO_BOX(sidebar_brush_load), " "); |
2100 | - gtk_combo_box_append_text(GTK_COMBO_BOX(sidebar_brush_load), "saved brush list"); |
2101 | - gtk_widget_set_size_request(sidebar_brush_load,0,10); |
2102 | - gtk_box_pack_end(GTK_BOX(sidebar_brush_footer),sidebar_brush_load,TRUE,TRUE,0);*/ |
2103 | - |
2104 | -gtk_box_pack_start(GTK_BOX(sidebar_brush), sidebar_brush_footer, FALSE,FALSE,0); |
2105 | - |
2106 | |
2107 | === removed file 'gui/sidebar-color.c' |
2108 | --- gui/sidebar-color.c 2008-11-26 01:33:49 +0000 |
2109 | +++ gui/sidebar-color.c 1970-01-01 00:00:00 +0000 |
2110 | @@ -1,47 +0,0 @@ |
2111 | -/* |
2112 | - * This file is part of Nathive. |
2113 | - * |
2114 | - * Nathive is free software: you can redistribute it and/or modify |
2115 | - * it under the terms of the GNU General Public License as published by |
2116 | - * the Free Software Foundation, either version 3 of the License, or |
2117 | - * (at your option) any later version. |
2118 | - * |
2119 | - * Nathive is distributed in the hope that it will be useful, |
2120 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2121 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2122 | - * GNU General Public License for more details. |
2123 | - * |
2124 | - * You should have received a copy of the GNU General Public License |
2125 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2126 | - */ |
2127 | - |
2128 | - |
2129 | -GtkWidget *sidebar_color = gtk_vbox_new(FALSE,0); |
2130 | -gtk_container_set_border_width(GTK_CONTAINER(sidebar_color), 10); |
2131 | - |
2132 | -int i_color; |
2133 | -for(i_color=0; i_color<6; i_color++) adj_color1_rgbhsv[i_color] = gtk_adjustment_new(0,0,0,1,1,0); |
2134 | - |
2135 | -entry_spin(sidebar_color, strcatnew(language[9]," (R):"), &color1[0], 0, 255, "uchar", adj_color1_rgbhsv[0], 1); |
2136 | -entry_spin(sidebar_color, strcatnew(language[10]," (G):"), &color1[1], 0, 255, "uchar", adj_color1_rgbhsv[1], 1); |
2137 | -entry_spin(sidebar_color, strcatnew(language[11]," (B):"), &color1[2], 0, 255, "uchar", adj_color1_rgbhsv[2], 1); |
2138 | - |
2139 | -entry_separator(sidebar_color); |
2140 | - |
2141 | -entry_spin(sidebar_color, strcatnew(language[12]," (H):"), &color1hsv[0], 0, 359, "int", adj_color1_rgbhsv[3], 1); |
2142 | -entry_spin(sidebar_color, strcatnew(language[13]," (S):"), &color1hsv[1], 0, 100, "int", adj_color1_rgbhsv[4], 1); |
2143 | -entry_spin(sidebar_color, strcatnew(language[14]," (V):"), &color1hsv[2], 0, 100, "int", adj_color1_rgbhsv[5], 1); |
2144 | - |
2145 | -entry_separator(sidebar_color); |
2146 | - |
2147 | -color1hex = rgb_to_hex(color1[0], color1[1], color1[2]); |
2148 | -adj_color1hex = gtk_entry_new(); |
2149 | -entry_entry(sidebar_color, strcatnew(language[29],":"), color1hex, 6, "hex_entry", adj_color1hex); |
2150 | - |
2151 | -entry_expand(sidebar_color); |
2152 | -entry_separator(sidebar_color); |
2153 | - |
2154 | -GtkWidget *sidebar_color_footer = gtk_hbox_new(FALSE,0); |
2155 | - entry_clear(sidebar_color_footer, "clear_color", 1); |
2156 | -gtk_box_pack_start(GTK_BOX(sidebar_color), sidebar_color_footer, FALSE,FALSE,0); |
2157 | - |
2158 | |
2159 | === removed file 'gui/sidebar-mask.c' |
2160 | --- gui/sidebar-mask.c 2008-11-26 01:33:49 +0000 |
2161 | +++ gui/sidebar-mask.c 1970-01-01 00:00:00 +0000 |
2162 | @@ -1,27 +0,0 @@ |
2163 | -/* |
2164 | - * This file is part of Nathive. |
2165 | - * |
2166 | - * Nathive is free software: you can redistribute it and/or modify |
2167 | - * it under the terms of the GNU General Public License as published by |
2168 | - * the Free Software Foundation, either version 3 of the License, or |
2169 | - * (at your option) any later version. |
2170 | - * |
2171 | - * Nathive is distributed in the hope that it will be useful, |
2172 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2173 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2174 | - * GNU General Public License for more details. |
2175 | - * |
2176 | - * You should have received a copy of the GNU General Public License |
2177 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2178 | - */ |
2179 | - |
2180 | - |
2181 | -GtkWidget *sidebar_mask = gtk_vbox_new(FALSE,0); |
2182 | -gtk_container_set_border_width(GTK_CONTAINER(sidebar_mask), 10); |
2183 | - |
2184 | -GtkWidget* sidebar_mask_some = gtk_label_new("Mask tool parameters,"); |
2185 | -GtkWidget* sidebar_mask_some2 = gtk_label_new("not available yet."); |
2186 | - |
2187 | -gtk_box_pack_start(GTK_BOX(sidebar_mask), sidebar_mask_some, FALSE,FALSE,0); |
2188 | -gtk_box_pack_start(GTK_BOX(sidebar_mask), sidebar_mask_some2, FALSE,FALSE,0); |
2189 | - |
2190 | |
2191 | === removed file 'gui/sidebar-object.c' |
2192 | --- gui/sidebar-object.c 2008-11-26 01:33:49 +0000 |
2193 | +++ gui/sidebar-object.c 1970-01-01 00:00:00 +0000 |
2194 | @@ -1,68 +0,0 @@ |
2195 | -/* |
2196 | - * This file is part of Nathive. |
2197 | - * |
2198 | - * Nathive is free software: you can redistribute it and/or modify |
2199 | - * it under the terms of the GNU General Public License as published by |
2200 | - * the Free Software Foundation, either version 3 of the License, or |
2201 | - * (at your option) any later version. |
2202 | - * |
2203 | - * Nathive is distributed in the hope that it will be useful, |
2204 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2205 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2206 | - * GNU General Public License for more details. |
2207 | - * |
2208 | - * You should have received a copy of the GNU General Public License |
2209 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2210 | - */ |
2211 | - |
2212 | - |
2213 | -GtkWidget *sidebar_object = gtk_vbox_new(FALSE,5); |
2214 | -gtk_container_set_border_width(GTK_CONTAINER(sidebar_object), 10); |
2215 | - |
2216 | -object_tree_view = gtk_tree_view_new(); |
2217 | -gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(object_tree_view), 0); |
2218 | - |
2219 | - GtkCellRenderer *object_tree_render = gtk_cell_renderer_text_new(); |
2220 | - |
2221 | - gtk_tree_view_insert_column_with_attributes( |
2222 | - GTK_TREE_VIEW(object_tree_view), |
2223 | - -1, |
2224 | - "", |
2225 | - object_tree_render, |
2226 | - "text", |
2227 | - 0, |
2228 | - NULL |
2229 | - ); |
2230 | - |
2231 | - GtkTreeSelection *select = gtk_tree_view_get_selection(GTK_TREE_VIEW(object_tree_view)); |
2232 | - g_signal_connect(G_OBJECT(select),"changed",G_CALLBACK(object_gui_select_gtd),NULL); |
2233 | - |
2234 | - |
2235 | -gtk_box_pack_start(GTK_BOX(sidebar_object), object_tree_view, TRUE,TRUE,0); |
2236 | - |
2237 | - |
2238 | -GtkWidget *sidebar_object_btn = gtk_hbox_new(FALSE,0); |
2239 | - |
2240 | - GtkWidget *sidebar_object_btn_new = gtk_button_new(); |
2241 | - gtk_button_set_image(GTK_BUTTON(sidebar_object_btn_new), gtk_image_new_from_stock("gtk-new",1)); |
2242 | - gtk_box_pack_start(GTK_BOX(sidebar_object_btn), sidebar_object_btn_new, TRUE,TRUE,0); |
2243 | - g_signal_connect_swapped(G_OBJECT(sidebar_object_btn_new), "clicked", G_CALLBACK(object_new), NULL); |
2244 | - |
2245 | - GtkWidget *sidebar_object_btn_copy = gtk_button_new(); |
2246 | - gtk_button_set_image(GTK_BUTTON(sidebar_object_btn_copy), gtk_image_new_from_stock("gtk-copy",1)); |
2247 | - gtk_box_pack_start(GTK_BOX(sidebar_object_btn), sidebar_object_btn_copy, TRUE,TRUE,0); |
2248 | - |
2249 | - GtkWidget *sidebar_object_btn_up = gtk_button_new(); |
2250 | - gtk_button_set_image(GTK_BUTTON(sidebar_object_btn_up), gtk_image_new_from_stock("gtk-go-up",1)); |
2251 | - gtk_box_pack_start(GTK_BOX(sidebar_object_btn), sidebar_object_btn_up, TRUE,TRUE,0); |
2252 | - |
2253 | - GtkWidget *sidebar_object_btn_down = gtk_button_new(); |
2254 | - gtk_button_set_image(GTK_BUTTON(sidebar_object_btn_down), gtk_image_new_from_stock("gtk-go-down",1)); |
2255 | - gtk_box_pack_start(GTK_BOX(sidebar_object_btn), sidebar_object_btn_down, TRUE,TRUE,0); |
2256 | - |
2257 | - GtkWidget *sidebar_object_btn_del = gtk_button_new(); |
2258 | - gtk_button_set_image(GTK_BUTTON(sidebar_object_btn_del), gtk_image_new_from_stock("gtk-delete",1)); |
2259 | - gtk_box_pack_start(GTK_BOX(sidebar_object_btn), sidebar_object_btn_del, TRUE,TRUE,0); |
2260 | - |
2261 | -gtk_box_pack_start(GTK_BOX(sidebar_object), sidebar_object_btn, FALSE,FALSE,0); |
2262 | - |
2263 | |
2264 | === removed file 'gui/sidebar-picker.c' |
2265 | --- gui/sidebar-picker.c 2008-11-26 01:33:49 +0000 |
2266 | +++ gui/sidebar-picker.c 1970-01-01 00:00:00 +0000 |
2267 | @@ -1,27 +0,0 @@ |
2268 | -/* |
2269 | - * This file is part of Nathive. |
2270 | - * |
2271 | - * Nathive is free software: you can redistribute it and/or modify |
2272 | - * it under the terms of the GNU General Public License as published by |
2273 | - * the Free Software Foundation, either version 3 of the License, or |
2274 | - * (at your option) any later version. |
2275 | - * |
2276 | - * Nathive is distributed in the hope that it will be useful, |
2277 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2278 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2279 | - * GNU General Public License for more details. |
2280 | - * |
2281 | - * You should have received a copy of the GNU General Public License |
2282 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2283 | - */ |
2284 | - |
2285 | - |
2286 | -GtkWidget *sidebar_picker = gtk_vbox_new(FALSE,0); |
2287 | -gtk_container_set_border_width(GTK_CONTAINER(sidebar_picker), 10); |
2288 | - |
2289 | -GtkWidget* sidebar_picker_some = gtk_label_new("Picker tool parameters,"); |
2290 | -GtkWidget* sidebar_picker_some2 = gtk_label_new("not available yet."); |
2291 | - |
2292 | -gtk_box_pack_start(GTK_BOX(sidebar_picker), sidebar_picker_some, FALSE,FALSE,0); |
2293 | -gtk_box_pack_start(GTK_BOX(sidebar_picker), sidebar_picker_some2, FALSE,FALSE,0); |
2294 | - |
2295 | |
2296 | === removed file 'gui/sidebar-select.c' |
2297 | --- gui/sidebar-select.c 2008-11-26 01:33:49 +0000 |
2298 | +++ gui/sidebar-select.c 1970-01-01 00:00:00 +0000 |
2299 | @@ -1,27 +0,0 @@ |
2300 | -/* |
2301 | - * This file is part of Nathive. |
2302 | - * |
2303 | - * Nathive is free software: you can redistribute it and/or modify |
2304 | - * it under the terms of the GNU General Public License as published by |
2305 | - * the Free Software Foundation, either version 3 of the License, or |
2306 | - * (at your option) any later version. |
2307 | - * |
2308 | - * Nathive is distributed in the hope that it will be useful, |
2309 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2310 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2311 | - * GNU General Public License for more details. |
2312 | - * |
2313 | - * You should have received a copy of the GNU General Public License |
2314 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2315 | - */ |
2316 | - |
2317 | - |
2318 | -GtkWidget *sidebar_select = gtk_vbox_new(FALSE,0); |
2319 | -gtk_container_set_border_width(GTK_CONTAINER(sidebar_select), 10); |
2320 | - |
2321 | -GtkWidget* sidebar_select_some = gtk_label_new("Select tool parameters,"); |
2322 | -GtkWidget* sidebar_select_some2 = gtk_label_new("not available yet."); |
2323 | - |
2324 | -gtk_box_pack_start(GTK_BOX(sidebar_select), sidebar_select_some, FALSE,FALSE,0); |
2325 | -gtk_box_pack_start(GTK_BOX(sidebar_select), sidebar_select_some2, FALSE,FALSE,0); |
2326 | - |
2327 | |
2328 | === removed file 'gui/sidebar.c' |
2329 | --- gui/sidebar.c 2008-11-26 18:12:53 +0000 |
2330 | +++ gui/sidebar.c 1970-01-01 00:00:00 +0000 |
2331 | @@ -1,50 +0,0 @@ |
2332 | -/* |
2333 | - * This file is part of Nathive. |
2334 | - * |
2335 | - * Nathive is free software: you can redistribute it and/or modify |
2336 | - * it under the terms of the GNU General Public License as published by |
2337 | - * the Free Software Foundation, either version 3 of the License, or |
2338 | - * (at your option) any later version. |
2339 | - * |
2340 | - * Nathive is distributed in the hope that it will be useful, |
2341 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2342 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2343 | - * GNU General Public License for more details. |
2344 | - * |
2345 | - * You should have received a copy of the GNU General Public License |
2346 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2347 | - */ |
2348 | - |
2349 | - |
2350 | -sidebar = gtk_notebook_new(); |
2351 | -gtk_widget_set_size_request(sidebar, 220, -1); |
2352 | - |
2353 | -GtkWidget* sidebar_color_label = gtk_label_new(language[7]); |
2354 | -#include "sidebar-color.c" |
2355 | - |
2356 | -GtkWidget* sidebar_object_label = gtk_label_new(language[8]); |
2357 | -#include "sidebar-object.c" |
2358 | - |
2359 | -GtkWidget* sidebar_tool_label = gtk_label_new(" "); |
2360 | - sidebar_tool = gtk_vbox_new(FALSE,0); |
2361 | - gtk_container_set_border_width(GTK_CONTAINER(sidebar_tool), 10); |
2362 | - #include "sidebar-select.c" |
2363 | - #include "sidebar-mask.c" |
2364 | - #include "sidebar-picker.c" |
2365 | - #include "sidebar-brush.c" |
2366 | - |
2367 | - gtk_box_pack_start(GTK_BOX(sidebar_tool), sidebar_select, TRUE,TRUE,0); |
2368 | - gtk_box_pack_start(GTK_BOX(sidebar_tool), sidebar_mask, TRUE,TRUE,0); |
2369 | - gtk_box_pack_start(GTK_BOX(sidebar_tool), sidebar_picker, TRUE,TRUE,0); |
2370 | - gtk_box_pack_start(GTK_BOX(sidebar_tool), sidebar_brush, TRUE,TRUE,0); |
2371 | - |
2372 | - sidebar_tools[0] = sidebar_select; |
2373 | - sidebar_tools[1] = sidebar_mask; |
2374 | - sidebar_tools[2] = sidebar_picker; |
2375 | - sidebar_tools[3] = sidebar_brush; |
2376 | - |
2377 | - |
2378 | -gtk_notebook_append_page(GTK_NOTEBOOK(sidebar), sidebar_color, sidebar_color_label); |
2379 | -gtk_notebook_append_page(GTK_NOTEBOOK(sidebar), sidebar_object, sidebar_object_label); |
2380 | -gtk_notebook_append_page(GTK_NOTEBOOK(sidebar), sidebar_tool, sidebar_tool_label); |
2381 | - |
2382 | |
2383 | === removed file 'gui/tabs.c' |
2384 | --- gui/tabs.c 2008-11-26 01:33:49 +0000 |
2385 | +++ gui/tabs.c 1970-01-01 00:00:00 +0000 |
2386 | @@ -1,22 +0,0 @@ |
2387 | -/* |
2388 | - * This file is part of Nathive. |
2389 | - * |
2390 | - * Nathive is free software: you can redistribute it and/or modify |
2391 | - * it under the terms of the GNU General Public License as published by |
2392 | - * the Free Software Foundation, either version 3 of the License, or |
2393 | - * (at your option) any later version. |
2394 | - * |
2395 | - * Nathive is distributed in the hope that it will be useful, |
2396 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2397 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2398 | - * GNU General Public License for more details. |
2399 | - * |
2400 | - * You should have received a copy of the GNU General Public License |
2401 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2402 | - */ |
2403 | - |
2404 | - |
2405 | -tabs = gtk_notebook_new(); |
2406 | -gtk_notebook_set_scrollable(GTK_NOTEBOOK(tabs), 1); |
2407 | -g_signal_connect(G_OBJECT(tabs),"switch-page",G_CALLBACK(tab_change),NULL); |
2408 | - |
2409 | |
2410 | === removed file 'gui/toolbar.c' |
2411 | --- gui/toolbar.c 2008-11-26 18:12:53 +0000 |
2412 | +++ gui/toolbar.c 1970-01-01 00:00:00 +0000 |
2413 | @@ -1,42 +0,0 @@ |
2414 | -/* |
2415 | - * This file is part of Nathive. |
2416 | - * |
2417 | - * Nathive is free software: you can redistribute it and/or modify |
2418 | - * it under the terms of the GNU General Public License as published by |
2419 | - * the Free Software Foundation, either version 3 of the License, or |
2420 | - * (at your option) any later version. |
2421 | - * |
2422 | - * Nathive is distributed in the hope that it will be useful, |
2423 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2424 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2425 | - * GNU General Public License for more details. |
2426 | - * |
2427 | - * You should have received a copy of the GNU General Public License |
2428 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2429 | - */ |
2430 | - |
2431 | - |
2432 | -GtkWidget *toolbar = gtk_vbox_new(FALSE,0); |
2433 | -gtk_container_set_border_width(GTK_CONTAINER(toolbar), 2); |
2434 | - |
2435 | -char *toolbar_item_ops[] = { |
2436 | - strcatnew(PATH,"img/select.png"), |
2437 | - strcatnew(PATH,"img/mask.png"), |
2438 | - strcatnew(PATH,"img/picker.png"), |
2439 | - strcatnew(PATH,"img/brush.png") |
2440 | -}; |
2441 | -toolbar_item(toolbar, TOOLS, toolbar_item_ops); |
2442 | - |
2443 | -entry_space(toolbar); |
2444 | - |
2445 | -GdkPixbuf *toolbar_color1_pix = pixbuf_new(NULL, 20, 20); |
2446 | -int toolbar_color1_w = gdk_pixbuf_get_width(toolbar_color1_pix); |
2447 | -int toolbar_color1_h = gdk_pixbuf_get_height(toolbar_color1_pix); |
2448 | - |
2449 | -toolbar_color1[0] = gdk_pixbuf_get_pixels(toolbar_color1_pix); |
2450 | -toolbar_color1[1] = gtk_image_new_from_pixbuf(toolbar_color1_pix); |
2451 | -toolbar_color1[2] = &toolbar_color1_w; |
2452 | -toolbar_color1[3] = &toolbar_color1_h; |
2453 | - |
2454 | -gtk_box_pack_start(GTK_BOX(toolbar), toolbar_color1[1], FALSE, FALSE, 0); |
2455 | - |
2456 | |
2457 | === added directory 'img' |
2458 | === removed directory 'img' |
2459 | === added file 'img/about.png' |
2460 | Binary files img/about.png 1970-01-01 00:00:00 +0000 and img/about.png 2009-12-12 11:55:22 +0000 differ |
2461 | === removed file 'img/about.png' |
2462 | Binary files img/about.png 2008-11-26 01:33:49 +0000 and img/about.png 1970-01-01 00:00:00 +0000 differ |
2463 | === added file 'img/brush.png' |
2464 | Binary files img/brush.png 1970-01-01 00:00:00 +0000 and img/brush.png 2009-12-12 11:55:22 +0000 differ |
2465 | === removed file 'img/brush.png' |
2466 | Binary files img/brush.png 2008-11-26 01:33:49 +0000 and img/brush.png 1970-01-01 00:00:00 +0000 differ |
2467 | === added file 'img/circle.png' |
2468 | Binary files img/circle.png 1970-01-01 00:00:00 +0000 and img/circle.png 2009-12-12 11:55:22 +0000 differ |
2469 | === removed file 'img/circle.png' |
2470 | Binary files img/circle.png 2008-11-26 01:33:49 +0000 and img/circle.png 1970-01-01 00:00:00 +0000 differ |
2471 | === added file 'img/icon.png' |
2472 | Binary files img/icon.png 1970-01-01 00:00:00 +0000 and img/icon.png 2009-12-12 11:55:22 +0000 differ |
2473 | === removed file 'img/icon.png' |
2474 | Binary files img/icon.png 2008-11-26 01:33:49 +0000 and img/icon.png 1970-01-01 00:00:00 +0000 differ |
2475 | === added file 'img/mask.png' |
2476 | Binary files img/mask.png 1970-01-01 00:00:00 +0000 and img/mask.png 2009-12-12 11:55:22 +0000 differ |
2477 | === removed file 'img/mask.png' |
2478 | Binary files img/mask.png 2008-11-26 01:33:49 +0000 and img/mask.png 1970-01-01 00:00:00 +0000 differ |
2479 | === added file 'img/picker.png' |
2480 | Binary files img/picker.png 1970-01-01 00:00:00 +0000 and img/picker.png 2009-12-12 11:55:22 +0000 differ |
2481 | === removed file 'img/picker.png' |
2482 | Binary files img/picker.png 2008-11-26 01:33:49 +0000 and img/picker.png 1970-01-01 00:00:00 +0000 differ |
2483 | === added file 'img/select.png' |
2484 | Binary files img/select.png 1970-01-01 00:00:00 +0000 and img/select.png 2009-12-12 11:55:22 +0000 differ |
2485 | === removed file 'img/select.png' |
2486 | Binary files img/select.png 2008-11-26 01:33:49 +0000 and img/select.png 1970-01-01 00:00:00 +0000 differ |
2487 | === added file 'img/square.png' |
2488 | Binary files img/square.png 1970-01-01 00:00:00 +0000 and img/square.png 2009-12-12 11:55:22 +0000 differ |
2489 | === removed file 'img/square.png' |
2490 | Binary files img/square.png 2008-11-26 01:33:49 +0000 and img/square.png 1970-01-01 00:00:00 +0000 differ |
2491 | === added file 'img/visual.png' |
2492 | Binary files img/visual.png 1970-01-01 00:00:00 +0000 and img/visual.png 2009-12-12 11:55:22 +0000 differ |
2493 | === added file 'img/visual_rotate.png' |
2494 | Binary files img/visual_rotate.png 1970-01-01 00:00:00 +0000 and img/visual_rotate.png 2009-12-12 11:55:22 +0000 differ |
2495 | === added file 'img/visual_scale.png' |
2496 | Binary files img/visual_scale.png 1970-01-01 00:00:00 +0000 and img/visual_scale.png 2009-12-12 11:55:22 +0000 differ |
2497 | === removed directory 'lang' |
2498 | === removed file 'lang/chinese.xml' |
2499 | --- lang/chinese.xml 2008-12-01 07:53:03 +0000 |
2500 | +++ lang/chinese.xml 1970-01-01 00:00:00 +0000 |
2501 | @@ -1,59 +0,0 @@ |
2502 | -<?xml version="1.0" encoding="UTF-8" ?> |
2503 | -<language> |
2504 | - <word1>文件</word1> |
2505 | - <word2>新建</word2> |
2506 | - <word3>打开</word3> |
2507 | - <word4>保存</word4> |
2508 | - <word5>编辑</word5> |
2509 | - <word6>首选项</word6> |
2510 | - <word7>颜色</word7> |
2511 | - <word8>对象</word8> |
2512 | - <word9>红</word9> |
2513 | - <word10>绿</word10> |
2514 | - <word11>蓝</word11> |
2515 | - <word12>色调</word12> |
2516 | - <word13>饱和度</word13> |
2517 | - <word14>纯度</word14> |
2518 | - <word15>形状</word15> |
2519 | - <word16>大小</word16> |
2520 | - <word17>平滑</word17> |
2521 | - <word18>不透明</word18> |
2522 | - <word19>常量</word19> |
2523 | - <word20>变量</word20> |
2524 | - <word21>空闲</word21> |
2525 | - <word22>间隔</word22> |
2526 | - <word23>还原默认值</word23> |
2527 | - <word24>视图</word24> |
2528 | - <word25>全屏</word25> |
2529 | - <word26>侧边栏</word26> |
2530 | - <word27>帮助</word27> |
2531 | - <word28>关于</word28> |
2532 | - <word29>十六进制</word29> |
2533 | - <word30>宽度</word30> |
2534 | - <word31>高度</word31> |
2535 | - <word32>点/英寸</word32> |
2536 | - <word33>无背景</word33> |
2537 | - <word34>版本</word34> |
2538 | - <word35>致谢</word35> |
2539 | - <word36>许可</word36> |
2540 | - <word37>Nathive 网站</word37> |
2541 | - <word38>未保存</word38> |
2542 | - <word39>单位</word39> |
2543 | - <word40>像素</word40> |
2544 | - <word41>厘米</word41> |
2545 | - <word42>英寸</word42> |
2546 | - <word43>分辨率</word43> |
2547 | - <word44>模板</word44> |
2548 | - <word45>CD 封面</word45> |
2549 | - <word46>DVD 封面</word46> |
2550 | - <word47>很高</word47> |
2551 | - <word48>高</word48> |
2552 | - <word49>正常</word49> |
2553 | - <word50>低</word50> |
2554 | - <word51>很低</word51> |
2555 | - <word52>笔刷大小</word52> |
2556 | - <word53>旋转 90º</word53> |
2557 | - <word54>缩小 50%</word54> |
2558 | - <word55>放大 200%</word55> |
2559 | - <word56>Preview</word56> <!--need translation--> |
2560 | -</language> |
2561 | |
2562 | === removed file 'lang/english.xml' |
2563 | --- lang/english.xml 2008-12-01 07:53:03 +0000 |
2564 | +++ lang/english.xml 1970-01-01 00:00:00 +0000 |
2565 | @@ -1,59 +0,0 @@ |
2566 | -<?xml version="1.0" encoding="UTF-8" ?> |
2567 | -<language> |
2568 | - <word1>File</word1> |
2569 | - <word2>New</word2> |
2570 | - <word3>Open</word3> |
2571 | - <word4>Save</word4> |
2572 | - <word5>Edit</word5> |
2573 | - <word6>Preferences</word6> |
2574 | - <word7>Color</word7> |
2575 | - <word8>Objects</word8> |
2576 | - <word9>Red</word9> |
2577 | - <word10>Green</word10> |
2578 | - <word11>Blue</word11> |
2579 | - <word12>Hue</word12> |
2580 | - <word13>Saturation</word13> |
2581 | - <word14>Value</word14> |
2582 | - <word15>Shape</word15> |
2583 | - <word16>Size</word16> |
2584 | - <word17>Smoothing</word17> |
2585 | - <word18>Opacity</word18> |
2586 | - <word19>Constant</word19> |
2587 | - <word20>Variable</word20> |
2588 | - <word21>Idle</word21> |
2589 | - <word22>Spacing</word22> |
2590 | - <word23>Restore default values</word23> |
2591 | - <word24>View</word24> |
2592 | - <word25>Fullscreen</word25> |
2593 | - <word26>Sidebar</word26> |
2594 | - <word27>Help</word27> |
2595 | - <word28>About</word28> |
2596 | - <word29>Hexadecimal</word29> |
2597 | - <word30>Width</word30> |
2598 | - <word31>Height</word31> |
2599 | - <word32>Dots/inche</word32> |
2600 | - <word33>No background</word33> |
2601 | - <word34>Version</word34> |
2602 | - <word35>Credits</word35> |
2603 | - <word36>License</word36> |
2604 | - <word37>Nathive website</word37> |
2605 | - <word38>Unsaved</word38> |
2606 | - <word39>Units</word39> |
2607 | - <word40>Pixels</word40> |
2608 | - <word41>Centimeters</word41> |
2609 | - <word42>Inches</word42> |
2610 | - <word43>Resolution</word43> |
2611 | - <word44>Template</word44> |
2612 | - <word45>CD cover</word45> |
2613 | - <word46>DVD cover</word46> |
2614 | - <word47>Very high</word47> |
2615 | - <word48>High</word48> |
2616 | - <word49>Normal</word49> |
2617 | - <word50>Low</word50> |
2618 | - <word51>Very low</word51> |
2619 | - <word52>Brush size</word52> |
2620 | - <word53>Rotate 90º</word53> |
2621 | - <word54>Get 50%</word54> |
2622 | - <word55>Get 200%</word55> |
2623 | - <word56>Preview</word56> |
2624 | -</language> |
2625 | |
2626 | === removed file 'lang/german.xml' |
2627 | --- lang/german.xml 2008-12-01 07:53:03 +0000 |
2628 | +++ lang/german.xml 1970-01-01 00:00:00 +0000 |
2629 | @@ -1,59 +0,0 @@ |
2630 | -<?xml version="1.0" encoding="UTF-8" ?> |
2631 | -<language> |
2632 | - <word1>Datei</word1> |
2633 | - <word2>Neu</word2> |
2634 | - <word3>Öffnen</word3> |
2635 | - <word4>Speichern</word4> |
2636 | - <word5>Bearbeiten</word5> |
2637 | - <word6>Einstellungen</word6> |
2638 | - <word7>Farbe</word7> |
2639 | - <word8>Objekte</word8> |
2640 | - <word9>Rot</word9> |
2641 | - <word10>Grün</word10> |
2642 | - <word11>Blau</word11> |
2643 | - <word12>Farbton</word12> |
2644 | - <word13>Farbsättigung</word13> |
2645 | - <word14>Farbwert</word14> |
2646 | - <word15>Form</word15> |
2647 | - <word16>Größe</word16> |
2648 | - <word17>Weichzeichnung</word17> |
2649 | - <word18>Deckkraft</word18> |
2650 | - <word19>Konstant</word19> |
2651 | - <word20>Variabel</word20> |
2652 | - <word21>Ignorieren</word21> |
2653 | - <word22>Abstand</word22> |
2654 | - <word23>Standardwerte wiederherstellen</word23> |
2655 | - <word24>Ansicht</word24> |
2656 | - <word25>Vollbild</word25> |
2657 | - <word26>Seitenleiste</word26> |
2658 | - <word27>Hilfe</word27> |
2659 | - <word28>Über</word28> |
2660 | - <word29>Hexadezimal</word29> |
2661 | - <word30>Breite</word30> |
2662 | - <word31>Höhe</word31> |
2663 | - <word32>Punkte/Zoll</word32> |
2664 | - <word33>Kein Hintergrund</word33> |
2665 | - <word34>Version</word34> |
2666 | - <word35>Credits</word35> |
2667 | - <word36>Lizenz</word36> |
2668 | - <word37>Nathive Website</word37> |
2669 | - <word38>Ungespeichert</word38> |
2670 | - <word39>Einheiten</word39> |
2671 | - <word40>Pixel</word40> |
2672 | - <word41>Zentimeter</word41> |
2673 | - <word42>Zoll</word42> |
2674 | - <word43>Auflösung</word43> |
2675 | - <word44>Vorlage</word44> |
2676 | - <word45>CD-Hülle</word45> |
2677 | - <word46>DVD-Hülle</word46> |
2678 | - <word47>Sehr hoch</word47> |
2679 | - <word48>Hoch</word48> |
2680 | - <word49>Normal</word49> |
2681 | - <word50>Niedrig</word50> |
2682 | - <word51>Sehr niedrig</word51> |
2683 | - <word52>Pinselgröße</word52> |
2684 | - <word53>Um 90º drehen</word53> |
2685 | - <word54>Get 50%</word54> |
2686 | - <word55>Get 200%</word55> |
2687 | - <word56>Preview</word56> <!--need translation--> |
2688 | -</language> |
2689 | |
2690 | === removed file 'lang/hungarian.xml' |
2691 | --- lang/hungarian.xml 2008-12-01 07:53:03 +0000 |
2692 | +++ lang/hungarian.xml 1970-01-01 00:00:00 +0000 |
2693 | @@ -1,58 +0,0 @@ |
2694 | -<?xml version="1.0" encoding="UTF-8" ?> |
2695 | -<language> |
2696 | - <word1>Fájl</word1> |
2697 | - <word2>Új</word2> |
2698 | - <word3>Megnyitás</word3> |
2699 | - <word4>Mentés</word4> |
2700 | - <word5>Szerkesztés</word5> |
2701 | - <word6>Beállítások</word6> |
2702 | - <word7>Szín</word7> |
2703 | - <word8>Objektumok</word8> |
2704 | - <word9>Piros</word9> |
2705 | - <word10>Zöld</word10> |
2706 | - <word11>Kék</word11> |
2707 | - <word12>Kontraszt</word12> |
2708 | - <word13>Fényerő</word13> |
2709 | - <word14>Érték</word14> |
2710 | - <word15>Alakzat</word15> |
2711 | - <word16>Méret</word16> |
2712 | - <word17>Simítás</word17> |
2713 | - <word18>Áttetszőség</word18> |
2714 | - <word19>Állandó</word19> |
2715 | - <word20>Változó</word20> |
2716 | - <word21>Folyamatban</word21> |
2717 | - <word22>Térköz</word22> |
2718 | - <word23>Alapértelmezett értékek helyreállítása</word23> |
2719 | - <word24>Nézet</word24> |
2720 | - <word25>Teljes képernyő</word25> |
2721 | - <word26>Oldalpanel</word26> |
2722 | - <word27>Súgó</word27> |
2723 | - <word28>Programról</word28> |
2724 | - <word29>Hexadecimális</word29> |
2725 | - <word30>Width</word30> |
2726 | - <word31>Height</word31> |
2727 | - <word32>Dots/inche</word32> |
2728 | - <word33>No background</word33> |
2729 | - <word34>Version</word34> |
2730 | - <word35>Credits</word35> |
2731 | - <word36>License</word36> |
2732 | - <word37>Nathive website</word37> |
2733 | - <word38>Unsaved</word38> |
2734 | - <word39>Mértékegység</word39> |
2735 | - <word40>Pixel</word40> |
2736 | - <word41>Centiméter</word41> |
2737 | - <word42>Coll</word42> |
2738 | - <word43>Felbontás</word43> |
2739 | - <word44>Sablon</word44> |
2740 | - <word45>CD borító</word45> |
2741 | - <word46>DVD borító</word46> |
2742 | - <word47>Nagyon magas</word47> |
2743 | - <word48>Magas</word48> |
2744 | - <word49>Normál</word49> |
2745 | - <word50>Alacsony</word50> |
2746 | - <word51>Nagyon alacsony</word51> |
2747 | - <word52>Ecset méret</word52> |
2748 | - <word53>Rotate 90º</word53> <!--need translation--> |
2749 | - <word54>Get 50%</word54> <!--need translation--> |
2750 | - <word55>Get 200%</word55> <!--need translation--> |
2751 | -</language> |
2752 | |
2753 | === removed file 'lang/polish.xml' |
2754 | --- lang/polish.xml 2008-12-01 07:53:03 +0000 |
2755 | +++ lang/polish.xml 1970-01-01 00:00:00 +0000 |
2756 | @@ -1,59 +0,0 @@ |
2757 | -<?xml version="1.0" encoding="UTF-8" ?> |
2758 | -<language> |
2759 | - <word1>Plik</word1> |
2760 | - <word2>Nowy</word2> |
2761 | - <word3>Otwórz</word3> |
2762 | - <word4>Zapisz</word4> |
2763 | - <word5>Edycja</word5> |
2764 | - <word6>Ustawienia</word6> |
2765 | - <word7>Kolor</word7> |
2766 | - <word8>Obiekty</word8> |
2767 | - <word9>Czerwony</word9> |
2768 | - <word10>Zielony</word10> |
2769 | - <word11>Niebieski</word11> |
2770 | - <word12>Odcień</word12> |
2771 | - <word13>Nasycenie</word13> |
2772 | - <word14>Wartość</word14> |
2773 | - <word15>Kształt</word15> |
2774 | - <word16>Rozmiar</word16> |
2775 | - <word17>Wygładzenie</word17> |
2776 | - <word18>Nieprzezroczystość</word18> |
2777 | - <word19>Stały</word19> |
2778 | - <word20>Zmienny</word20> |
2779 | - <word21>Bezczynny</word21> |
2780 | - <word22>Odstęp</word22> |
2781 | - <word23>Przywróć domyślne wartości</word23> |
2782 | - <word24>Widok</word24> |
2783 | - <word25>Pełny ekran</word25> |
2784 | - <word26>Pasek boczny</word26> |
2785 | - <word27>Pomoc</word27> |
2786 | - <word28>O programie</word28> |
2787 | - <word29>Szestnastkowy</word29> |
2788 | - <word30>Szerokość</word30> |
2789 | - <word31>Wysokość</word31> |
2790 | - <word32>Punkty/cale</word32> |
2791 | - <word33>Bez tła</word33> |
2792 | - <word34>Wersja</word34> |
2793 | - <word35>Zasłlugi</word35> |
2794 | - <word36>Licencja</word36> |
2795 | - <word37>Strona domowa Nathive</word37> |
2796 | - <word38>Niezapisany</word38> |
2797 | - <word39>Jednostki</word39> |
2798 | - <word40>Piksele</word40> |
2799 | - <word41>Centymetry</word41> |
2800 | - <word42>Cale</word42> |
2801 | - <word43>Rozdzielczość</word43> |
2802 | - <word44>Szablon</word44> |
2803 | - <word45>Okładka CD</word45> |
2804 | - <word46>Okładka DVD</word46> |
2805 | - <word47>Bardzo wysoki</word47> |
2806 | - <word48>Wysoki</word48> |
2807 | - <word49>Normalnyl</word49> |
2808 | - <word50>Niski</word50> |
2809 | - <word51>Bardzo niski</word51> |
2810 | - <word52>Rozmiar pędzla</word52> |
2811 | - <word53>Obróć o 90º</word53> |
2812 | - <word54>Zrobić 50%</word54> |
2813 | - <word55>Zrobić 200%</word55> |
2814 | - <word56>Preview</word56> <!--need translation--> |
2815 | -</language> |
2816 | |
2817 | === removed file 'lang/spanish.xml' |
2818 | --- lang/spanish.xml 2008-12-01 07:53:03 +0000 |
2819 | +++ lang/spanish.xml 1970-01-01 00:00:00 +0000 |
2820 | @@ -1,59 +0,0 @@ |
2821 | -<?xml version="1.0" encoding="UTF-8" ?> |
2822 | -<language> |
2823 | - <word1>Archivo</word1> |
2824 | - <word2>Nuevo</word2> |
2825 | - <word3>Abrir</word3> |
2826 | - <word4>Guardar</word4> |
2827 | - <word5>Edición</word5> |
2828 | - <word6>Preferencias</word6> |
2829 | - <word7>Color</word7> |
2830 | - <word8>Objetos</word8> |
2831 | - <word9>Rojo</word9> |
2832 | - <word10>Verde</word10> |
2833 | - <word11>Azul</word11> |
2834 | - <word12>Tono</word12> |
2835 | - <word13>Saturación</word13> |
2836 | - <word14>Brillo</word14> |
2837 | - <word15>Forma</word15> |
2838 | - <word16>Tamaño</word16> |
2839 | - <word17>Fundido</word17> |
2840 | - <word18>Opacidad</word18> |
2841 | - <word19>Constante</word19> |
2842 | - <word20>Variable</word20> |
2843 | - <word21>Inactivo</word21> |
2844 | - <word22>Espaciado</word22> |
2845 | - <word23>Restaurar valores iniciales</word23> |
2846 | - <word24>Ver</word24> |
2847 | - <word25>Pantalla completa</word25> |
2848 | - <word26>Panel lateral</word26> |
2849 | - <word27>Ayuda</word27> |
2850 | - <word28>Acerca de</word28> |
2851 | - <word29>Hexadecimal</word29> |
2852 | - <word30>Ancho</word30> |
2853 | - <word31>Alto</word31> |
2854 | - <word32>Puntos/pulgada</word32> |
2855 | - <word33>Sin fondo</word33> |
2856 | - <word34>Versión</word34> |
2857 | - <word35>Creditos</word35> |
2858 | - <word36>Licencia</word36> |
2859 | - <word37>Sitio web de Nathive</word37> |
2860 | - <word38>No guardado</word38> |
2861 | - <word39>Unidades</word39> |
2862 | - <word40>Pixeles</word40> |
2863 | - <word41>Centímetros</word41> |
2864 | - <word42>Pulgadas</word42> |
2865 | - <word43>Resolución</word43> |
2866 | - <word44>Plantilla</word44> |
2867 | - <word45>Portada de CD</word45> |
2868 | - <word46>Portada de DVD</word46> |
2869 | - <word47>Muy alta</word47> |
2870 | - <word48>Alta</word48> |
2871 | - <word49>Normal</word49> |
2872 | - <word50>Baja</word50> |
2873 | - <word51>Muy baja</word51> |
2874 | - <word52>Tamaño del pincel</word52> |
2875 | - <word53>Rotar 90º</word53> |
2876 | - <word54>Obtener 50%</word54> |
2877 | - <word55>Obtener 200%</word55> |
2878 | - <word56>Vista previa</word56> |
2879 | -</language> |
2880 | |
2881 | === removed directory 'lib' |
2882 | === removed file 'lib/cfg.c' |
2883 | --- lib/cfg.c 2008-11-26 01:33:49 +0000 |
2884 | +++ lib/cfg.c 1970-01-01 00:00:00 +0000 |
2885 | @@ -1,40 +0,0 @@ |
2886 | -/* |
2887 | - * This file is part of Nathive. |
2888 | - * |
2889 | - * Nathive is free software: you can redistribute it and/or modify |
2890 | - * it under the terms of the GNU General Public License as published by |
2891 | - * the Free Software Foundation, either version 3 of the License, or |
2892 | - * (at your option) any later version. |
2893 | - * |
2894 | - * Nathive is distributed in the hope that it will be useful, |
2895 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2896 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2897 | - * GNU General Public License for more details. |
2898 | - * |
2899 | - * You should have received a copy of the GNU General Public License |
2900 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2901 | - */ |
2902 | - |
2903 | - |
2904 | -cfg_load() |
2905 | -{ |
2906 | - printf("> loading user cfg\n", language_); |
2907 | - |
2908 | - char *cfg = file_to_str( strcatnew(PATH,"cfg/cfg.xml") ); |
2909 | - |
2910 | - language_ = n_xml_get(cfg, 3, "cfg", "misc", "language"); |
2911 | - folder_last = n_xml_get(cfg, 3, "cfg", "misc", "folder-last"); |
2912 | - |
2913 | - win_w = atoi( n_xml_get(cfg, 3, "cfg", "misc", "win-w") ); |
2914 | - win_h = atoi( n_xml_get(cfg, 3, "cfg", "misc", "win-h") ); |
2915 | - |
2916 | - color1[0] = atoi( n_xml_get(cfg, 3, "cfg", "color", "r") ); |
2917 | - color1[1] = atoi( n_xml_get(cfg, 3, "cfg", "color", "g") ); |
2918 | - color1[2] = atoi( n_xml_get(cfg, 3, "cfg", "color", "b") ); |
2919 | - |
2920 | - brush_size = atoi(n_xml_get(cfg, 3, "cfg", "brush", "size") ); |
2921 | - brush_mode = atoi(n_xml_get(cfg, 3, "cfg", "brush", "mode") ); |
2922 | - brush_fade = atoi(n_xml_get(cfg, 3, "cfg", "brush", "soft") ); |
2923 | - brush_opacity = atoi(n_xml_get(cfg, 3, "cfg", "brush", "opacity") ); |
2924 | - brush_space = atoi( n_xml_get(cfg, 3, "cfg", "brush", "space") ); |
2925 | -} |
2926 | |
2927 | === removed file 'lib/common.c' |
2928 | --- lib/common.c 2008-11-26 01:33:49 +0000 |
2929 | +++ lib/common.c 1970-01-01 00:00:00 +0000 |
2930 | @@ -1,111 +0,0 @@ |
2931 | -/* |
2932 | - * This file is part of Nathive. |
2933 | - * |
2934 | - * Nathive is free software: you can redistribute it and/or modify |
2935 | - * it under the terms of the GNU General Public License as published by |
2936 | - * the Free Software Foundation, either version 3 of the License, or |
2937 | - * (at your option) any later version. |
2938 | - * |
2939 | - * Nathive is distributed in the hope that it will be useful, |
2940 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
2941 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
2942 | - * GNU General Public License for more details. |
2943 | - * |
2944 | - * You should have received a copy of the GNU General Public License |
2945 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
2946 | - */ |
2947 | - |
2948 | - |
2949 | -double round(double x) |
2950 | -{ |
2951 | - return floor(x+0.5); |
2952 | -} |
2953 | - |
2954 | - |
2955 | -double log_base(double base, double x) |
2956 | -{ |
2957 | - return log(x) / log(base); |
2958 | -} |
2959 | - |
2960 | - |
2961 | -int max(int a, int b) |
2962 | -{ |
2963 | - if(a>b) return a; |
2964 | - else return b; |
2965 | -} |
2966 | - |
2967 | - |
2968 | -int min(int a, int b) |
2969 | -{ |
2970 | - if(a>b) return b; |
2971 | - else return a; |
2972 | -} |
2973 | - |
2974 | - |
2975 | -void mark(int num) |
2976 | -{ |
2977 | - printf("%i\n", num); |
2978 | -} |
2979 | - |
2980 | - |
2981 | -char *file_to_str(char *path) |
2982 | -{ |
2983 | - FILE *file = fopen(path,"r"); |
2984 | - if(!file) |
2985 | - { |
2986 | - printf("ERROR: file_to_str: %s can not be opened\n", path); |
2987 | - return path; |
2988 | - } |
2989 | - |
2990 | - int n = 0; |
2991 | - while(getc(file)!=EOF) n++; |
2992 | - rewind(file); |
2993 | - |
2994 | - char *str = (char*)calloc(n+1, sizeof(char)); |
2995 | - int i; |
2996 | - for(i=0; i<n; i++) str[i] = getc(file); |
2997 | - str[n+1] = '\0'; |
2998 | - return str; |
2999 | -} |
3000 | - |
3001 | - |
3002 | -char *parse(char *str, char *in, char *out) |
3003 | -{ |
3004 | - char *inp = strstr(str, in); |
3005 | - char *outp = strstr(str, out); |
3006 | - inp+= strlen(in); |
3007 | - |
3008 | - int n = outp-inp; |
3009 | - if(n<1) return "PARSE ERROR"; |
3010 | - char *get = (char*)malloc((n+1)*sizeof(char)); |
3011 | - int i; |
3012 | - for(i=0; i<=n; i++) |
3013 | - { |
3014 | - if(i<n) get[i] = *(inp+i); |
3015 | - else get[i] = '\0'; |
3016 | - } |
3017 | - return get; |
3018 | -} |
3019 | - |
3020 | - |
3021 | -char *strcatnew(char *s1, char *s2) |
3022 | -{ |
3023 | - char *s3 = (char*)malloc(( strlen(s1) + strlen(s2) + 1 )*sizeof(char)); |
3024 | - sprintf(s3, "%s%s", s1, s2); |
3025 | - return s3; |
3026 | -} |
3027 | - |
3028 | - |
3029 | -int hash_basic(char *str) |
3030 | -{ |
3031 | - int hash = 0; |
3032 | - int i = 0; |
3033 | - while(str[i] != '\0') |
3034 | - { |
3035 | - hash = (hash + str[i]) * str[i]; |
3036 | - hash = abs(hash); |
3037 | - i++; |
3038 | - } |
3039 | - hash *= i; |
3040 | - return abs(hash); |
3041 | -} |
3042 | |
3043 | === removed file 'lib/dom.c' |
3044 | --- lib/dom.c 2008-11-26 01:33:49 +0000 |
3045 | +++ lib/dom.c 1970-01-01 00:00:00 +0000 |
3046 | @@ -1,159 +0,0 @@ |
3047 | -/* |
3048 | - * This file is part of Nathive. |
3049 | - * |
3050 | - * Nathive is free software: you can redistribute it and/or modify |
3051 | - * it under the terms of the GNU General Public License as published by |
3052 | - * the Free Software Foundation, either version 3 of the License, or |
3053 | - * (at your option) any later version. |
3054 | - * |
3055 | - * Nathive is distributed in the hope that it will be useful, |
3056 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3057 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3058 | - * GNU General Public License for more details. |
3059 | - * |
3060 | - * You should have received a copy of the GNU General Public License |
3061 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
3062 | - */ |
3063 | - |
3064 | - |
3065 | -int dom_tab() |
3066 | -{ |
3067 | - return gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3068 | -} |
3069 | - |
3070 | - |
3071 | -char *dom_file_path() |
3072 | -{ |
3073 | - return n_tree_get(dom, n_tree_stalk(2, dom_tab(), DOM_PATH) ); |
3074 | -} |
3075 | - |
3076 | - |
3077 | -int *dom_w() |
3078 | -{ |
3079 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3080 | - return n_tree_get(dom, n_tree_stalk(2,tab,DOM_W)); |
3081 | -} |
3082 | - |
3083 | - |
3084 | -int *dom_h() |
3085 | -{ |
3086 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3087 | - return n_tree_get(dom, n_tree_stalk(2,tab,DOM_H)); |
3088 | -} |
3089 | - |
3090 | - |
3091 | -GtkWidget *dom_scroll() |
3092 | -{ |
3093 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3094 | - return n_tree_get(dom, n_tree_stalk(2,tab,DOM_SCROLL)); |
3095 | -} |
3096 | - |
3097 | - |
3098 | -GdkPixbuf *dom_pix() |
3099 | -{ |
3100 | - return n_tree_get(dom, n_tree_stalk(2, dom_tab() ,DOM_PIX)); |
3101 | -} |
3102 | - |
3103 | - |
3104 | -GtkWidget *dom_img() |
3105 | -{ |
3106 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3107 | - return n_tree_get(dom, n_tree_stalk(2,tab,DOM_IMG)); |
3108 | -} |
3109 | - |
3110 | - |
3111 | -uchar *dom_raw() |
3112 | -{ |
3113 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3114 | - return n_tree_get(dom, n_tree_stalk(2,tab,DOM_RAW)); |
3115 | -} |
3116 | - |
3117 | - |
3118 | -int *dom_obj_sel(int tab) |
3119 | -{ |
3120 | - if(tab==-1) tab = dom_tab(); |
3121 | - return n_tree_get(dom, n_tree_stalk(3,tab,DOM_OBJ,0)); |
3122 | -} |
3123 | - |
3124 | -int dom_obj_count(int tab) |
3125 | -{ |
3126 | - if(tab==-1) tab = dom_tab(); |
3127 | - return n_tree_count(dom, n_tree_stalk(2,tab,DOM_OBJ)) - 1; |
3128 | -} |
3129 | - |
3130 | - |
3131 | -uchar *dom_obj_raw(int n) |
3132 | -{ |
3133 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3134 | - if(!n) n = *dom_obj_sel(-1); |
3135 | - return n_tree_get(dom, n_tree_stalk(4,tab,DOM_OBJ,n,OBJ_RAW)); |
3136 | -} |
3137 | - |
3138 | - |
3139 | -int *dom_obj_w(int n) |
3140 | -{ |
3141 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3142 | - if(!n) n = *dom_obj_sel(-1); |
3143 | - return n_tree_get(dom, n_tree_stalk(4,tab,DOM_OBJ,n,OBJ_W)); |
3144 | -} |
3145 | - |
3146 | - |
3147 | -int *dom_obj_h(int n) |
3148 | -{ |
3149 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3150 | - if(!n) n = *dom_obj_sel(-1); |
3151 | - return n_tree_get(dom, n_tree_stalk(4,tab,DOM_OBJ,n,OBJ_H)); |
3152 | -} |
3153 | - |
3154 | - |
3155 | -int *dom_obj_x(int n) |
3156 | -{ |
3157 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3158 | - if(!n) n = *dom_obj_sel(-1); |
3159 | - return n_tree_get(dom, n_tree_stalk(4,tab,DOM_OBJ,n,OBJ_X)); |
3160 | -} |
3161 | - |
3162 | - |
3163 | -int *dom_obj_y(int n) |
3164 | -{ |
3165 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3166 | - if(!n) n = *dom_obj_sel(-1); |
3167 | - return n_tree_get(dom, n_tree_stalk(4,tab,DOM_OBJ,n,OBJ_Y)); |
3168 | -} |
3169 | - |
3170 | - |
3171 | -GtkTreeModel *dom_objgui_model(int n) |
3172 | -{ |
3173 | - return n_tree_get(dom, n_tree_stalk(3,n,DOM_OBJGUI,0)); |
3174 | -} |
3175 | - |
3176 | - |
3177 | -GtkListStore *dom_objgui_store(int n) |
3178 | -{ |
3179 | - return n_tree_get(dom, n_tree_stalk(3,n,DOM_OBJGUI,1)); |
3180 | -} |
3181 | - |
3182 | - |
3183 | -uchar *dom_mosaic() |
3184 | -{ |
3185 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
3186 | - return n_tree_get(dom, n_tree_stalk(3,tab,DOM_PRE,0)); |
3187 | -} |
3188 | - |
3189 | - |
3190 | -int offset_x(int x) //must be out of there |
3191 | -{ |
3192 | - GtkWidget *img = dom_img(); |
3193 | - GtkAllocation imgAlloc = img->allocation; |
3194 | - int ox = (imgAlloc.width - *dom_w() )/2; |
3195 | - return x-ox; |
3196 | -} |
3197 | - |
3198 | - |
3199 | -int offset_y(int y) //must be out of there |
3200 | -{ |
3201 | - GtkWidget *img = dom_img(); |
3202 | - GtkAllocation imgAlloc = img->allocation; |
3203 | - int oy = (imgAlloc.height - *dom_h() )/2; |
3204 | - return y-oy; |
3205 | -} |
3206 | |
3207 | === removed directory 'lib/gui' |
3208 | === removed file 'lib/gui/call.c' |
3209 | --- lib/gui/call.c 2008-11-26 01:33:49 +0000 |
3210 | +++ lib/gui/call.c 1970-01-01 00:00:00 +0000 |
3211 | @@ -1,105 +0,0 @@ |
3212 | -/* |
3213 | - * This file is part of Nathive. |
3214 | - * |
3215 | - * Nathive is free software: you can redistribute it and/or modify |
3216 | - * it under the terms of the GNU General Public License as published by |
3217 | - * the Free Software Foundation, either version 3 of the License, or |
3218 | - * (at your option) any later version. |
3219 | - * |
3220 | - * Nathive is distributed in the hope that it will be useful, |
3221 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3222 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3223 | - * GNU General Public License for more details. |
3224 | - * |
3225 | - * You should have received a copy of the GNU General Public License |
3226 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
3227 | - */ |
3228 | - |
3229 | - |
3230 | -call_adj_uchar(GtkAdjustment *adj, uchar *value) |
3231 | -{ |
3232 | - *value = (uchar)gtk_adjustment_get_value(adj); |
3233 | - if(value==&color1[0] || value==&color1[1] || value==&color1[2]) color_update("rgb"); |
3234 | - if(!feedback_lock) brush_new(); |
3235 | -} |
3236 | - |
3237 | -call_adj_int(GtkAdjustment *adj, int *value) |
3238 | -{ |
3239 | - *value = (int)gtk_adjustment_get_value(adj); |
3240 | - if(value==&color1hsv[0] || value==&color1hsv[1] || value==&color1hsv[2]) color_update("hsv"); |
3241 | - if(!feedback_lock) brush_new(); |
3242 | - if(value==&dialog_new_pxw || value==&dialog_new_pxh) dialog_new_update("px"); |
3243 | - if(value==&dialog_new_dpi) dialog_new_update("dpi"); |
3244 | -} |
3245 | - |
3246 | - |
3247 | -call_adj_double(GtkAdjustment *adj, double *value) |
3248 | -{ |
3249 | - *value = (double)gtk_adjustment_get_value(adj); |
3250 | - if(value==&dialog_new_cmw || value==&dialog_new_cmh) dialog_new_update("cm"); |
3251 | - if(value==&dialog_new_inw || value==&dialog_new_inh) dialog_new_update("in"); |
3252 | -} |
3253 | - |
3254 | - |
3255 | -call_combo(GtkComboBox *combo, int *value) |
3256 | -{ |
3257 | - *value = gtk_combo_box_get_active(combo); |
3258 | - if(value==&dialog_new_template) dialog_new_template_load(); |
3259 | - if(value==&dialog_new_unit) dialog_new_smartshow(); |
3260 | -} |
3261 | - |
3262 | - |
3263 | -call_check(GtkToggleButton *check, int *value) |
3264 | -{ |
3265 | - *value = gtk_toggle_button_get_active(check); |
3266 | -} |
3267 | - |
3268 | - |
3269 | -call_radio(GtkComboBox *combo, int *data[]) |
3270 | -{ |
3271 | - *data[0] = *data[1]; |
3272 | -} |
3273 | - |
3274 | - |
3275 | -call_menu(GtkWidget *widget, GtkMenu *menu, GdkEvent *event) |
3276 | -{ |
3277 | - GdkEventButton *event_button = (GdkEventButton*) event; |
3278 | - gtk_menu_popup(menu, NULL, NULL, NULL, NULL, event_button->button, event_button->time); |
3279 | -} |
3280 | - |
3281 | - |
3282 | -call_spinmenu(int *data[]) |
3283 | -{ |
3284 | - *data[0] = *data[1]; |
3285 | - |
3286 | - if( |
3287 | - data[0]==&dialog_new_pxw_ops || data[0]==&dialog_new_pxh_ops || |
3288 | - data[0]==&dialog_new_cmw_ops || data[0]==&dialog_new_cmh_ops || |
3289 | - data[0]==&dialog_new_inw_ops || data[0]==&dialog_new_inh_ops |
3290 | - ) |
3291 | - { |
3292 | - if(*data[1]==0) dialog_new_rotate(); |
3293 | - if(*data[1]==1) dialog_new_porcent(0.50); |
3294 | - if(*data[1]==2) dialog_new_porcent(2.00); |
3295 | - } |
3296 | - |
3297 | - if(data[0] == &dialog_new_dpi_ops) dialog_new_dpi_load(); |
3298 | -} |
3299 | - |
3300 | - |
3301 | -call_function(GtkWidget *wid, char *call) |
3302 | -{ |
3303 | - if(call=="brushNew") brush_new(); |
3304 | - else if(call=="dialog_new") dialog_new(); |
3305 | - else if(call=="dialog_open") dialog_open(); |
3306 | - else if(call=="dialog_about") dialog_about(); |
3307 | - else if(call=="clear_color") clear_color(); |
3308 | - else if(call=="clear_brush") clear_brush(); |
3309 | - else if(call=="clear_new") clear_new(); |
3310 | - else if(call=="window_fullscreen") window_fullscreen(); |
3311 | - else if(call=="sidebar_hide") sidebar_hide(); |
3312 | - else if(call=="hex_entry") color_update("hex"); |
3313 | - else if(call=="url_website") system("x-www-browser http://www.nathive.org"); |
3314 | - |
3315 | - else printf("ERROR: call_function: Not match found\n"); |
3316 | -} |
3317 | |
3318 | === removed file 'lib/gui/clear.c' |
3319 | --- lib/gui/clear.c 2008-11-26 01:33:49 +0000 |
3320 | +++ lib/gui/clear.c 1970-01-01 00:00:00 +0000 |
3321 | @@ -1,46 +0,0 @@ |
3322 | -/* |
3323 | - * This file is part of Nathive. |
3324 | - * |
3325 | - * Nathive is free software: you can redistribute it and/or modify |
3326 | - * it under the terms of the GNU General Public License as published by |
3327 | - * the Free Software Foundation, either version 3 of the License, or |
3328 | - * (at your option) any later version. |
3329 | - * |
3330 | - * Nathive is distributed in the hope that it will be useful, |
3331 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3332 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3333 | - * GNU General Public License for more details. |
3334 | - * |
3335 | - * You should have received a copy of the GNU General Public License |
3336 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
3337 | - */ |
3338 | - |
3339 | - |
3340 | -clear_brush() |
3341 | -{ |
3342 | - brush_mode = 1; |
3343 | - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(adj_brush_mode[brush_mode]), 1); |
3344 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_brush_size), 25); |
3345 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_brush_fade), 50); |
3346 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_brush_opacity), 100); |
3347 | - gtk_combo_box_set_active(GTK_COMBO_BOX(adj_brush_space), 0); |
3348 | - brush_new(); |
3349 | -} |
3350 | - |
3351 | - |
3352 | -clear_color() |
3353 | -{ |
3354 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[0]), 0); |
3355 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[1]), 0); |
3356 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[2]), 0); |
3357 | -} |
3358 | - |
3359 | -clear_new() |
3360 | -{ |
3361 | - gtk_combo_box_set_active(GTK_COMBO_BOX(dialog_new_unit_combo), 0); |
3362 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[2]), 150); |
3363 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[1]), 300); |
3364 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[0]), 400); |
3365 | - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dialog_new_nobg_check), 0); |
3366 | - dialog_new_update("px"); |
3367 | -} |
3368 | |
3369 | === removed file 'lib/gui/color.c' |
3370 | --- lib/gui/color.c 2008-11-26 01:33:49 +0000 |
3371 | +++ lib/gui/color.c 1970-01-01 00:00:00 +0000 |
3372 | @@ -1,165 +0,0 @@ |
3373 | -/* |
3374 | - * This file is part of Nathive. |
3375 | - * |
3376 | - * Nathive is free software: you can redistribute it and/or modify |
3377 | - * it under the terms of the GNU General Public License as published by |
3378 | - * the Free Software Foundation, either version 3 of the License, or |
3379 | - * (at your option) any later version. |
3380 | - * |
3381 | - * Nathive is distributed in the hope that it will be useful, |
3382 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3383 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3384 | - * GNU General Public License for more details. |
3385 | - * |
3386 | - * You should have received a copy of the GNU General Public License |
3387 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
3388 | - */ |
3389 | - |
3390 | - |
3391 | -color_update(char *seed) |
3392 | -{ |
3393 | - if(seed=="rgb" && !feedback_lock) |
3394 | - { |
3395 | - feedback_lock = 1; |
3396 | - int *return_hsv = rgb_to_hsv(color1[0], color1[1], color1[2]); |
3397 | - color1hsv[0] = return_hsv[0]; |
3398 | - color1hsv[1] = return_hsv[1]; |
3399 | - color1hsv[2] = return_hsv[2]; |
3400 | - free(return_hsv); |
3401 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[3]), color1hsv[0]); |
3402 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[4]), color1hsv[1]); |
3403 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[5]), color1hsv[2]); |
3404 | - if(GTK_IS_ENTRY(adj_color1hex)) |
3405 | - { |
3406 | - color1hex = rgb_to_hex(color1[0], color1[1], color1[2]); |
3407 | - gtk_entry_set_text(GTK_ENTRY(adj_color1hex), color1hex); |
3408 | - free(color1hex); |
3409 | - } |
3410 | - feedback_lock = 0; |
3411 | - } |
3412 | - if(seed=="hsv" && !feedback_lock) |
3413 | - { |
3414 | - feedback_lock = 1; |
3415 | - uchar *return_rgb = hsv_to_rgb(color1hsv[0], color1hsv[1], color1hsv[2]); |
3416 | - color1[0] = return_rgb[0]; |
3417 | - color1[1] = return_rgb[1]; |
3418 | - color1[2] = return_rgb[2]; |
3419 | - free(return_rgb); |
3420 | - if(main_load) |
3421 | - { |
3422 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[0]), color1[0]); |
3423 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[1]), color1[1]); |
3424 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[2]), color1[2]); |
3425 | - } |
3426 | - if(GTK_IS_ENTRY(adj_color1hex)) |
3427 | - { |
3428 | - color1hex = rgb_to_hex(color1[0], color1[1], color1[2]); |
3429 | - gtk_entry_set_text(GTK_ENTRY(adj_color1hex), color1hex); |
3430 | - free(color1hex); |
3431 | - } |
3432 | - feedback_lock = 0; |
3433 | - } |
3434 | - if(seed=="hex" && !feedback_lock) |
3435 | - { |
3436 | - feedback_lock = 1; |
3437 | - color1hex = (char*)gtk_entry_get_text(GTK_ENTRY(adj_color1hex)); |
3438 | - uchar *rgb = hex_to_rgb(color1hex); |
3439 | - color1[0] = rgb[0]; |
3440 | - color1[1] = rgb[1]; |
3441 | - color1[2] = rgb[2]; |
3442 | - |
3443 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[0]), color1[0]); |
3444 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[1]), color1[1]); |
3445 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[2]), color1[2]); |
3446 | - |
3447 | - int *return_hsv = rgb_to_hsv(color1[0], color1[1], color1[2]); |
3448 | - color1hsv[0] = return_hsv[0]; |
3449 | - color1hsv[1] = return_hsv[1]; |
3450 | - color1hsv[2] = return_hsv[2]; |
3451 | - free(return_hsv); |
3452 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[3]), color1hsv[0]); |
3453 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[4]), color1hsv[1]); |
3454 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[5]), color1hsv[2]); |
3455 | - brush_new(); |
3456 | - feedback_lock = 0; |
3457 | - } |
3458 | - |
3459 | - uchar *raw = toolbar_color1[0]; |
3460 | - GtkWidget *img = toolbar_color1[1]; |
3461 | - int w = *(int*)toolbar_color1[2]; |
3462 | - int h = *(int*)toolbar_color1[3]; |
3463 | - int x, y; |
3464 | - for(y=0; y<h; y++) |
3465 | - { |
3466 | - for(x=0; x<w; x++) |
3467 | - { |
3468 | - int pos = pixel_pos(x, y, w); |
3469 | - if(x!=0 && y!=0 && x!=w-1 && y!=h-1) |
3470 | - { |
3471 | - *(raw+pos+0) = color1[0]; |
3472 | - *(raw+pos+1) = color1[1]; |
3473 | - *(raw+pos+2) = color1[2]; |
3474 | - *(raw+pos+3) = 255; |
3475 | - } |
3476 | - else |
3477 | - { |
3478 | - *(raw+pos+0) = 0; |
3479 | - *(raw+pos+1) = 0; |
3480 | - *(raw+pos+2) = 0; |
3481 | - *(raw+pos+3) = 255; |
3482 | - } |
3483 | - } |
3484 | - } |
3485 | - gtk_widget_queue_draw(img); |
3486 | -} |
3487 | - |
3488 | - |
3489 | -colorbar_select(GtkWidget *wid, GdkEventButton *event, uchar data[3]) |
3490 | -{ |
3491 | - color1[0] = data[0]; |
3492 | - color1[1] = data[1]; |
3493 | - color1[2] = data[2]; |
3494 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[0]), color1[0]); |
3495 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[1]), color1[1]); |
3496 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(adj_color1_rgbhsv[2]), color1[2]); |
3497 | -} |
3498 | - |
3499 | - |
3500 | -colorbar_item(GtkWidget *colorbar, uchar r, uchar g, uchar b) |
3501 | -{ |
3502 | - GtkWidget *ebox = gtk_event_box_new(); |
3503 | - gtk_widget_set_size_request(ebox,20,-1); |
3504 | - |
3505 | - GdkColor *color = (GdkColor*)malloc(sizeof(GdkColor)); |
3506 | - color->red = (guint16)r*257; |
3507 | - color->green = (guint16)g*257; |
3508 | - color->blue = (guint16)b*257; |
3509 | - |
3510 | - gtk_widget_modify_bg(ebox, GTK_STATE_NORMAL, color); |
3511 | - |
3512 | - uchar *data = (uchar*)malloc(3*sizeof(uchar)); |
3513 | - data[0] = r; |
3514 | - data[1] = g; |
3515 | - data[2] = b; |
3516 | - g_signal_connect(G_OBJECT(ebox), "button-press-event", G_CALLBACK(colorbar_select), data); |
3517 | - gtk_box_pack_start(GTK_BOX(colorbar),ebox,TRUE,TRUE,0); |
3518 | -} |
3519 | - |
3520 | - |
3521 | -void load_palette_from_xml(GtkWidget *palette_, char *path) |
3522 | -{ |
3523 | - char *xml = file_to_str(path); |
3524 | - |
3525 | - int colors = atoi( n_xml_get(xml, 2, "palette", "colors") ); |
3526 | - |
3527 | - char colornn[7]; |
3528 | - int i; |
3529 | - for(i=1; i<=colors; i++) |
3530 | - { |
3531 | - sprintf(colornn, "color%i", i); |
3532 | - char *hex = n_xml_get(xml, 2, "palette", colornn); |
3533 | - uchar *rgb = hex_to_rgb(hex); |
3534 | - colorbar_item(palette_, rgb[0], rgb[1], rgb[2]); |
3535 | - free(rgb); |
3536 | - } |
3537 | -} |
3538 | |
3539 | === removed file 'lib/gui/cursor.c' |
3540 | --- lib/gui/cursor.c 2008-11-26 01:33:49 +0000 |
3541 | +++ lib/gui/cursor.c 1970-01-01 00:00:00 +0000 |
3542 | @@ -1,42 +0,0 @@ |
3543 | -/* |
3544 | - * This file is part of Nathive. |
3545 | - * |
3546 | - * Nathive is free software: you can redistribute it and/or modify |
3547 | - * it under the terms of the GNU General Public License as published by |
3548 | - * the Free Software Foundation, either version 3 of the License, or |
3549 | - * (at your option) any later version. |
3550 | - * |
3551 | - * Nathive is distributed in the hope that it will be useful, |
3552 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3553 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3554 | - * GNU General Public License for more details. |
3555 | - * |
3556 | - * You should have received a copy of the GNU General Public License |
3557 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
3558 | - */ |
3559 | - |
3560 | - |
3561 | -cursor_stock(GdkCursorType stock) |
3562 | -{ |
3563 | - GdkWindow *winGdk = win->window; |
3564 | - GdkDisplay *display = gdk_display_get_default(); |
3565 | - GdkCursor *cursor = gdk_cursor_new(stock); |
3566 | - gdk_window_set_cursor(winGdk, cursor); |
3567 | -} |
3568 | - |
3569 | - |
3570 | -cursor_pixbuf(char *path) |
3571 | -{ |
3572 | - GdkWindow *winGdk = win->window; |
3573 | - GdkDisplay *display = gdk_display_get_default(); |
3574 | - GdkPixbuf *pix = gdk_pixbuf_new_from_file(path, NULL); |
3575 | - GdkCursor *cursor = gdk_cursor_new_from_pixbuf(display, pix, 0, 0); |
3576 | - gdk_window_set_cursor(winGdk, cursor); |
3577 | -} |
3578 | - |
3579 | - |
3580 | -cursor_default() |
3581 | -{ |
3582 | - GdkWindow *winGdk = win->window; |
3583 | - gdk_window_set_cursor(winGdk, NULL); |
3584 | -} |
3585 | |
3586 | === removed file 'lib/gui/dialog.c' |
3587 | --- lib/gui/dialog.c 2008-12-01 07:53:03 +0000 |
3588 | +++ lib/gui/dialog.c 1970-01-01 00:00:00 +0000 |
3589 | @@ -1,521 +0,0 @@ |
3590 | -/* |
3591 | - * This file is part of Nathive. |
3592 | - * |
3593 | - * Nathive is free software: you can redistribute it and/or modify |
3594 | - * it under the terms of the GNU General Public License as published by |
3595 | - * the Free Software Foundation, either version 3 of the License, or |
3596 | - * (at your option) any later version. |
3597 | - * |
3598 | - * Nathive is distributed in the hope that it will be useful, |
3599 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
3600 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3601 | - * GNU General Public License for more details. |
3602 | - * |
3603 | - * You should have received a copy of the GNU General Public License |
3604 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
3605 | - */ |
3606 | - |
3607 | - |
3608 | -dialog_new_template_load() |
3609 | -{ |
3610 | - feedback_lock = 1; |
3611 | - if(dialog_new_template == 1) // A3 |
3612 | - { |
3613 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), 29.7); |
3614 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), 42.0); |
3615 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[2]), 150); |
3616 | - feedback_lock = 0; |
3617 | - dialog_new_update("cm-refresh"); |
3618 | - } |
3619 | - if(dialog_new_template == 2) // a4 |
3620 | - { |
3621 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), 21.0); |
3622 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), 29.7); |
3623 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[2]), 150); |
3624 | - feedback_lock = 0; |
3625 | - dialog_new_update("cm-refresh"); |
3626 | - } |
3627 | - if(dialog_new_template == 3) // a5 |
3628 | - { |
3629 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), 14.8); |
3630 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), 21.0); |
3631 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[2]), 150); |
3632 | - feedback_lock = 0; |
3633 | - dialog_new_update("cm-refresh"); |
3634 | - } |
3635 | - if(dialog_new_template == 4) // cd cover |
3636 | - { |
3637 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), 12.1); |
3638 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), 12.0); |
3639 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[2]), 150); |
3640 | - feedback_lock = 0; |
3641 | - dialog_new_update("cm-refresh"); |
3642 | - } |
3643 | - if(dialog_new_template == 5) // dvd cover |
3644 | - { |
3645 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), 27.2); |
3646 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), 18.4); |
3647 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[2]), 150); |
3648 | - feedback_lock = 0; |
3649 | - dialog_new_update("cm-refresh"); |
3650 | - } |
3651 | - if(dialog_new_template == 6) // dvd cover slim |
3652 | - { |
3653 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), 26.7); |
3654 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), 18.4); |
3655 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[2]), 150); |
3656 | - feedback_lock = 0; |
3657 | - dialog_new_update("cm-refresh"); |
3658 | - } |
3659 | -} |
3660 | - |
3661 | - |
3662 | -dialog_new_rotate() |
3663 | -{ |
3664 | - if(dialog_new_pxw_ops != -1 || dialog_new_pxh_ops != -1) |
3665 | - { |
3666 | - int temp = dialog_new_pxw; |
3667 | - dialog_new_pxw = dialog_new_pxh; |
3668 | - dialog_new_pxh = temp; |
3669 | - dialog_new_pxw_ops = dialog_new_pxh_ops = -1; |
3670 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[0]), dialog_new_pxw); |
3671 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[1]), dialog_new_pxh); |
3672 | - dialog_new_update("px"); |
3673 | - } |
3674 | - if(dialog_new_cmw_ops != -1 || dialog_new_cmh_ops != -1) |
3675 | - { |
3676 | - double temp = dialog_new_cmw; |
3677 | - dialog_new_cmw = dialog_new_cmh; |
3678 | - dialog_new_cmh = temp; |
3679 | - dialog_new_cmw_ops = dialog_new_cmh_ops = -1; |
3680 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), dialog_new_cmw); |
3681 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), dialog_new_cmh); |
3682 | - dialog_new_update("cm"); |
3683 | - } |
3684 | - if(dialog_new_inw_ops != -1 || dialog_new_inh_ops != -1) |
3685 | - { |
3686 | - double temp = dialog_new_inw; |
3687 | - dialog_new_inw = dialog_new_inh; |
3688 | - dialog_new_inh = temp; |
3689 | - dialog_new_inw_ops = dialog_new_inh_ops = -1; |
3690 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[5]), dialog_new_inw); |
3691 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[6]), dialog_new_inh); |
3692 | - dialog_new_update("in"); |
3693 | - } |
3694 | -} |
3695 | - |
3696 | - |
3697 | -dialog_new_porcent(double mod) |
3698 | -{ |
3699 | - if(dialog_new_pxw_ops != -1 || dialog_new_pxh_ops != -1) |
3700 | - { |
3701 | - if(dialog_new_pxw_ops != -1) dialog_new_pxw *= mod; |
3702 | - if(dialog_new_pxh_ops != -1) dialog_new_pxh *= mod; |
3703 | - dialog_new_pxw_ops = dialog_new_pxh_ops = -1; |
3704 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[0]), dialog_new_pxw); |
3705 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[1]), dialog_new_pxh); |
3706 | - dialog_new_update("px"); |
3707 | - } |
3708 | - if(dialog_new_cmw_ops != -1 || dialog_new_cmh_ops != -1) |
3709 | - { |
3710 | - if(dialog_new_cmw_ops != -1) dialog_new_cmw *= mod; |
3711 | - if(dialog_new_cmh_ops != -1) dialog_new_cmh *= mod; |
3712 | - dialog_new_cmw_ops = dialog_new_cmh_ops = -1; |
3713 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), dialog_new_cmw); |
3714 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), dialog_new_cmh); |
3715 | - dialog_new_update("cm"); |
3716 | - } |
3717 | - if(dialog_new_inw_ops != -1 || dialog_new_inh_ops != -1) |
3718 | - { |
3719 | - if(dialog_new_inw_ops != -1) dialog_new_inw *= mod; |
3720 | - if(dialog_new_inh_ops != -1) dialog_new_inh *= mod; |
3721 | - dialog_new_inw_ops = dialog_new_inh_ops = -1; |
3722 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[5]), dialog_new_inw); |
3723 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[6]), dialog_new_inh); |
3724 | - dialog_new_update("in"); |
3725 | - } |
3726 | -} |
3727 | - |
3728 | - |
3729 | -dialog_new_dpi_load() |
3730 | -{ |
3731 | - if(dialog_new_dpi_ops==0) dialog_new_dpi = 600; |
3732 | - if(dialog_new_dpi_ops==1) dialog_new_dpi = 300; |
3733 | - if(dialog_new_dpi_ops==2) dialog_new_dpi = 150; |
3734 | - if(dialog_new_dpi_ops==3) dialog_new_dpi = 92; |
3735 | - if(dialog_new_dpi_ops==4) dialog_new_dpi = 72; |
3736 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[2]), dialog_new_dpi); |
3737 | - dialog_new_dpi_ops = -1; |
3738 | -} |
3739 | - |
3740 | - |
3741 | -dialog_new_smartshow() |
3742 | -{ |
3743 | - gtk_widget_hide(dialog_new_box_px); |
3744 | - gtk_widget_hide(dialog_new_box_cm); |
3745 | - gtk_widget_hide(dialog_new_box_in); |
3746 | - if(dialog_new_unit == 0) gtk_widget_show(dialog_new_box_px); |
3747 | - if(dialog_new_unit == 1) gtk_widget_show(dialog_new_box_cm); |
3748 | - if(dialog_new_unit == 2) gtk_widget_show(dialog_new_box_in); |
3749 | - |
3750 | - /*if(dialog_new_unit == 0) gtk_widget_set_sensitive(dialog_new_box_re, 0); |
3751 | - else gtk_widget_set_sensitive(dialog_new_box_re, 1);*/ |
3752 | -} |
3753 | - |
3754 | - |
3755 | -dialog_new_update(char *seed) |
3756 | -{ |
3757 | - if(!feedback_lock) |
3758 | - { |
3759 | - feedback_lock = 1; |
3760 | - |
3761 | - if(seed!="unit" && !strstr(seed,"refresh")) |
3762 | - { |
3763 | - gtk_combo_box_set_active(GTK_COMBO_BOX(dialog_new_template_combo), 0); |
3764 | - } |
3765 | - if(seed=="px-refresh") seed="px"; |
3766 | - if(seed=="cm-refresh") seed="cm"; |
3767 | - if(seed=="in-refresh") seed="in"; |
3768 | - |
3769 | - if(seed=="px") |
3770 | - { |
3771 | - dialog_new_cmw = px_to_cm(dialog_new_pxw, dialog_new_dpi); |
3772 | - dialog_new_cmh = px_to_cm(dialog_new_pxh, dialog_new_dpi); |
3773 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), dialog_new_cmw); |
3774 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), dialog_new_cmh); |
3775 | - dialog_new_inw = px_to_in(dialog_new_pxw, dialog_new_dpi); |
3776 | - dialog_new_inh = px_to_in(dialog_new_pxh, dialog_new_dpi); |
3777 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[5]), dialog_new_inw); |
3778 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[6]), dialog_new_inh); |
3779 | - } |
3780 | - if(seed=="cm") |
3781 | - { |
3782 | - dialog_new_pxw = cm_to_px(dialog_new_cmw, dialog_new_dpi); |
3783 | - dialog_new_pxh = cm_to_px(dialog_new_cmh, dialog_new_dpi); |
3784 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[0]), dialog_new_pxw); |
3785 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[1]), dialog_new_pxh); |
3786 | - dialog_new_inw = cm_to_in(dialog_new_cmw); |
3787 | - dialog_new_inh = cm_to_in(dialog_new_cmh); |
3788 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[5]), dialog_new_inw); |
3789 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[6]), dialog_new_inh); |
3790 | - } |
3791 | - if(seed=="in") |
3792 | - { |
3793 | - dialog_new_pxw = in_to_px(dialog_new_inw, dialog_new_dpi); |
3794 | - dialog_new_pxh = in_to_px(dialog_new_inh, dialog_new_dpi); |
3795 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[0]), dialog_new_pxw); |
3796 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[1]), dialog_new_pxh); |
3797 | - dialog_new_cmw = in_to_cm(dialog_new_inw); |
3798 | - dialog_new_cmh = in_to_cm(dialog_new_inh); |
3799 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), dialog_new_cmw); |
3800 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), dialog_new_cmh); |
3801 | - } |
3802 | - if(seed=="dpi") |
3803 | - { |
3804 | - if(dialog_new_unit == 0) |
3805 | - { |
3806 | - dialog_new_cmw = px_to_cm(dialog_new_pxw, dialog_new_dpi); |
3807 | - dialog_new_cmh = px_to_cm(dialog_new_pxh, dialog_new_dpi); |
3808 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[3]), dialog_new_cmw); |
3809 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[4]), dialog_new_cmh); |
3810 | - dialog_new_inw = px_to_in(dialog_new_pxw, dialog_new_dpi); |
3811 | - dialog_new_inh = px_to_in(dialog_new_pxh, dialog_new_dpi); |
3812 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[5]), dialog_new_inw); |
3813 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[6]), dialog_new_inh); |
3814 | - } |
3815 | - if(dialog_new_unit == 1) |
3816 | - { |
3817 | - dialog_new_pxw = cm_to_px(dialog_new_cmw, dialog_new_dpi); |
3818 | - dialog_new_pxh = cm_to_px(dialog_new_cmh, dialog_new_dpi); |
3819 | - } |
3820 | - if(dialog_new_unit == 2) |
3821 | - { |
3822 | - dialog_new_pxw = in_to_px(dialog_new_inw, dialog_new_dpi); |
3823 | - dialog_new_pxh = in_to_px(dialog_new_inh, dialog_new_dpi); |
3824 | - } |
3825 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[0]), dialog_new_pxw); |
3826 | - gtk_adjustment_set_value(GTK_ADJUSTMENT(dialog_new_adj[1]), dialog_new_pxh); |
3827 | - } |
3828 | - feedback_lock = 0; |
3829 | - } |
3830 | -} |
3831 | - |
3832 | - |
3833 | -dialog_new_call(GtkWidget *btn, GtkWidget *dialog) |
3834 | -{ |
3835 | - destroy(NULL, dialog); |
3836 | - tab_open(NULL, dialog_new_pxw, dialog_new_pxh, dialog_new_nobg); |
3837 | -} |
3838 | - |
3839 | - |
3840 | -dialog_new() |
3841 | -{ |
3842 | - GtkWidget *dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
3843 | - gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); |
3844 | - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER_ALWAYS); |
3845 | - gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |
3846 | - gtk_window_set_title(GTK_WINDOW(dialog), language[2]); |
3847 | - gtk_container_set_border_width(GTK_CONTAINER(dialog), 10); |
3848 | - GtkWidget *vbox = gtk_vbox_new(FALSE,5); |
3849 | - |
3850 | - dialog_new_template_combo = gtk_combo_box_new_text(); |
3851 | - char *dialog_new_template_ops[] = { |
3852 | - "", |
3853 | - "DIN A3", |
3854 | - "DIN A4", |
3855 | - "DIN A5", |
3856 | - language[45], |
3857 | - language[46], |
3858 | - strcatnew(language[46]," (slim)") |
3859 | - }; |
3860 | - entry_combo( |
3861 | - vbox, |
3862 | - strcatnew(language[44],":"), |
3863 | - 7, |
3864 | - &dialog_new_template, |
3865 | - dialog_new_template_ops, |
3866 | - dialog_new_template_combo |
3867 | - ); |
3868 | - |
3869 | - entry_separator(vbox); |
3870 | - |
3871 | - dialog_new_unit_combo = gtk_combo_box_new_text(); |
3872 | - char *dialog_new_unit_ops[] = { language[40], language[41], language[42] }; |
3873 | - entry_combo(vbox, strcatnew(language[39],":"), 3, &dialog_new_unit, dialog_new_unit_ops, dialog_new_unit_combo); |
3874 | - |
3875 | - |
3876 | - int i; |
3877 | - for(i=0; i<7; i++) dialog_new_adj[i] = gtk_adjustment_new(0,0,0,1,1,0); |
3878 | - |
3879 | - char *px_ops[] = {language[53], language[54], language[55]}; |
3880 | - GtkWidget *pxw_menu = gtk_menu_new(); |
3881 | - GtkWidget *pxh_menu = gtk_menu_new(); |
3882 | - GtkWidget *cmw_menu = gtk_menu_new(); |
3883 | - GtkWidget *cmh_menu = gtk_menu_new(); |
3884 | - GtkWidget *inw_menu = gtk_menu_new(); |
3885 | - GtkWidget *inh_menu = gtk_menu_new(); |
3886 | - |
3887 | - dialog_new_box_px = gtk_vbox_new(FALSE,5); |
3888 | - entry_spinmenu(dialog_new_box_px, strcatnew(language[30]," (px):"), &dialog_new_pxw, 1, 10000, "int", dialog_new_adj[0], 3, &dialog_new_pxw_ops, px_ops, pxw_menu); |
3889 | - entry_spinmenu(dialog_new_box_px, strcatnew(language[31]," (px):"), &dialog_new_pxh, 1, 10000, "int", dialog_new_adj[1], 3, &dialog_new_pxh_ops, px_ops, pxh_menu); |
3890 | - gtk_box_pack_start(GTK_BOX(vbox), dialog_new_box_px, FALSE, FALSE, 0); |
3891 | - |
3892 | - feedback_lock = 1; |
3893 | - dialog_new_box_cm = gtk_vbox_new(FALSE,5); |
3894 | - entry_spinmenu(dialog_new_box_cm, strcatnew(language[30]," (cm):"), &dialog_new_cmw, 1, 1000, "double", dialog_new_adj[3], 3, &dialog_new_cmw_ops, px_ops, cmw_menu); |
3895 | - entry_spinmenu(dialog_new_box_cm, strcatnew(language[31]," (cm):"), &dialog_new_cmh, 1, 1000, "double", dialog_new_adj[4], 3, &dialog_new_cmh_ops, px_ops, cmh_menu); |
3896 | - gtk_box_pack_start(GTK_BOX(vbox), dialog_new_box_cm, FALSE, FALSE, 0); |
3897 | - |
3898 | - dialog_new_box_in = gtk_vbox_new(FALSE,5); |
3899 | - entry_spinmenu(dialog_new_box_in, strcatnew(language[30]," (in):"), &dialog_new_inw, 1, 1000, "double", dialog_new_adj[5], 3, &dialog_new_inw_ops, px_ops, inw_menu); |
3900 | - entry_spinmenu(dialog_new_box_in, strcatnew(language[31]," (in):"), &dialog_new_inh, 1, 1000, "double", dialog_new_adj[6], 3, &dialog_new_inh_ops, px_ops, inh_menu); |
3901 | - gtk_box_pack_start(GTK_BOX(vbox), dialog_new_box_in, FALSE, FALSE, 0); |
3902 | - |
3903 | - dialog_new_box_re = gtk_vbox_new(FALSE,5); |
3904 | - char *re_ops[] = { |
3905 | - strcatnew(language[47], " (600)"), |
3906 | - strcatnew(language[48], " (300)"), |
3907 | - strcatnew(language[49], " (150)"), |
3908 | - strcatnew(language[50], " (92)"), |
3909 | - strcatnew(language[51], " (72)"), |
3910 | - }; |
3911 | - GtkWidget *re_menu = gtk_menu_new(); |
3912 | - entry_spinmenu(dialog_new_box_re, strcatnew(language[43]," (dpi):"), &dialog_new_dpi, 1, 10000, "int", dialog_new_adj[2], 5, &dialog_new_dpi_ops, re_ops, re_menu); |
3913 | - gtk_box_pack_start(GTK_BOX(vbox), dialog_new_box_re, FALSE, FALSE, 0); |
3914 | - feedback_lock = 0; |
3915 | - |
3916 | - |
3917 | - entry_separator(vbox); |
3918 | - |
3919 | - dialog_new_nobg_check = gtk_check_button_new(); |
3920 | - entry_check(vbox, strcatnew(language[33],":"), &dialog_new_nobg, dialog_new_nobg_check, NULL); |
3921 | - |
3922 | - entry_space(vbox); |
3923 | - |
3924 | - GtkWidget *buttons = gtk_hbox_new(FALSE,5); |
3925 | - |
3926 | - GtkWidget *ok = gtk_button_new_from_stock("gtk-ok"); |
3927 | - g_signal_connect(G_OBJECT(ok), "clicked", G_CALLBACK(dialog_new_call), dialog); |
3928 | - |
3929 | - GtkWidget *cancel = gtk_button_new_from_stock("gtk-cancel"); |
3930 | - g_signal_connect(G_OBJECT(cancel), "clicked", G_CALLBACK(destroy), dialog); |
3931 | - |
3932 | - gtk_box_pack_end(GTK_BOX(buttons),ok,TRUE,TRUE,0); |
3933 | - gtk_box_pack_end(GTK_BOX(buttons),cancel,TRUE,TRUE,0); |
3934 | - entry_clear(buttons, "clear_new", 2); |
3935 | - |
3936 | - gtk_box_pack_start(GTK_BOX(vbox),buttons,FALSE,FALSE,0); |
3937 | - |
3938 | - gtk_container_add(GTK_CONTAINER(dialog), vbox); |
3939 | - gtk_widget_show_all(dialog); |
3940 | - dialog_new_smartshow(); |
3941 | -} |
3942 | - |
3943 | - |
3944 | -dialog_open_path(GtkWidget *widget, GtkWidget *dialog) |
3945 | -{ |
3946 | - gchar *path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); |
3947 | - folder_last = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(dialog)); |
3948 | - tab_open(path, 0, 0, 0); |
3949 | - destroy(NULL, dialog); |
3950 | -} |
3951 | - |
3952 | - |
3953 | -dialog_open_preview(GtkWidget *dialog, GtkWidget *preview_data[]) |
3954 | -{ |
3955 | - GtkWidget *img = preview_data[0]; |
3956 | - GtkWidget *label = preview_data[1]; |
3957 | - //free(preview_data); |
3958 | - |
3959 | - GtkWidget *parent = gtk_widget_get_parent(img); |
3960 | - parent = gtk_widget_get_parent(parent); |
3961 | - gtk_frame_set_label(GTK_FRAME(parent), language[56]); |
3962 | - |
3963 | - char *path = gtk_file_chooser_get_preview_filename(GTK_FILE_CHOOSER(dialog)); |
3964 | - if(path==NULL) return; |
3965 | - |
3966 | - GdkPixbuf *pix = gdk_pixbuf_new_from_file_at_size(path, 128, 128, NULL); |
3967 | - gtk_widget_set_size_request(img, 128, -1); |
3968 | - |
3969 | - if(pix!=NULL && gdk_pixbuf_get_has_alpha(pix)) |
3970 | - { |
3971 | - int w = gdk_pixbuf_get_width(pix); |
3972 | - int h = gdk_pixbuf_get_height(pix); |
3973 | - uchar *raw = gdk_pixbuf_get_pixels(pix); |
3974 | - uchar *mosaic = object_mosaic_new(w, h, 8); |
3975 | - over_object(mosaic, raw, w, h, 0, 0, w, h, 0, 0, w, h, OVER_ADD); |
3976 | - over_object(raw, mosaic, w, h, 0, 0, w, h, 0, 0, w, h, OVER_REPLACE); |
3977 | - } |
3978 | - gtk_image_set_from_pixbuf(GTK_IMAGE(img), pix); |
3979 | - if(pix!=NULL) g_object_unref(G_OBJECT(pix)); |
3980 | - else gtk_image_set_from_stock(GTK_IMAGE(img), "gtk-find", 6); |
3981 | - |
3982 | - if(pix!=NULL) |
3983 | - { |
3984 | - int width; |
3985 | - int height; |
3986 | - gdk_pixbuf_get_file_info(path, &width, &height); |
3987 | - char size[15]; |
3988 | - sprintf(size, "%i x %i", width, height); |
3989 | - gtk_label_set_text(GTK_LABEL(label), size); |
3990 | - } |
3991 | - else gtk_label_set_text(GTK_LABEL(label), ""); |
3992 | -} |
3993 | - |
3994 | - |
3995 | -dialog_open() |
3996 | -{ |
3997 | - GtkWidget *dialog = gtk_file_chooser_dialog_new(NULL,NULL,GTK_FILE_CHOOSER_ACTION_OPEN,NULL); |
3998 | - gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); |
3999 | - |
4000 | - if(!strcmp(folder_last,"~/")) folder_last = getenv("HOME"); |
4001 | - gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), folder_last); |
4002 | - |
4003 | - GtkWidget *preview = gtk_frame_new(""); |
4004 | - GtkWidget *preview_box = gtk_vbox_new(FALSE, 5); |
4005 | - gtk_container_set_border_width(GTK_CONTAINER(preview_box), 15); |
4006 | - GtkWidget *preview_img = gtk_image_new(); |
4007 | - GtkWidget *preview_label = gtk_label_new(""); |
4008 | - gtk_box_pack_start(GTK_BOX(preview_box),preview_img,FALSE,FALSE,0); |
4009 | - gtk_box_pack_start(GTK_BOX(preview_box),preview_label,FALSE,FALSE,0); |
4010 | - |
4011 | - GtkWidget **preview_data = (GtkWidget**)malloc(2*sizeof(GtkWidget*)); |
4012 | - preview_data[0] = preview_img; |
4013 | - preview_data[1] = preview_label; |
4014 | - |
4015 | - gtk_container_add(GTK_CONTAINER(preview), preview_box); |
4016 | - gtk_widget_show_all(preview); |
4017 | - gtk_widget_hide(preview); |
4018 | - |
4019 | - gtk_file_chooser_set_preview_widget(GTK_FILE_CHOOSER(dialog), preview); |
4020 | - gtk_file_chooser_set_use_preview_label(GTK_FILE_CHOOSER(dialog), FALSE); |
4021 | - g_signal_connect(G_OBJECT(dialog), "update-preview", G_CALLBACK(dialog_open_preview), preview_data); |
4022 | - |
4023 | - GtkWidget *extra = gtk_hbox_new(FALSE, 5); |
4024 | - GtkWidget *open = gtk_button_new_from_stock("gtk-open"); |
4025 | - gtk_widget_set_size_request(open, DIALOG_BTN_WIDTH, -1); |
4026 | - g_signal_connect(G_OBJECT(open), "clicked", G_CALLBACK(dialog_open_path), dialog); |
4027 | - g_signal_connect(G_OBJECT(dialog), "file-activated", G_CALLBACK(dialog_open_path), dialog); |
4028 | - |
4029 | - GtkWidget *cancel = gtk_button_new_from_stock("gtk-cancel"); |
4030 | - gtk_widget_set_size_request(cancel, DIALOG_BTN_WIDTH, -1); |
4031 | - g_signal_connect(G_OBJECT(cancel), "clicked", G_CALLBACK(destroy), dialog); |
4032 | - |
4033 | - gtk_box_pack_end(GTK_BOX(extra),open,FALSE,FALSE,0); |
4034 | - gtk_box_pack_end(GTK_BOX(extra),cancel,FALSE,FALSE,0); |
4035 | - |
4036 | - gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(dialog), extra); |
4037 | - gtk_widget_show_all(dialog); |
4038 | -} |
4039 | - |
4040 | - |
4041 | -dialog_about() |
4042 | -{ |
4043 | - GtkWidget *dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
4044 | - gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); |
4045 | - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); |
4046 | - gtk_window_set_resizable(GTK_WINDOW(dialog), FALSE); |
4047 | - gtk_window_set_title(GTK_WINDOW(dialog), language[28]); |
4048 | - gtk_container_set_border_width(GTK_CONTAINER(dialog), 10); |
4049 | - |
4050 | - GtkWidget *box = gtk_vbox_new(FALSE,5); |
4051 | - |
4052 | - GtkWidget *notebook = gtk_notebook_new(); |
4053 | - |
4054 | - GtkWidget *splash_box = gtk_vbox_new(FALSE,5); |
4055 | - |
4056 | - GtkWidget *splash = gtk_image_new_from_file( strcatnew(PATH,"img/about.png") ); |
4057 | - GtkWidget *copyleft = gtk_label_new("Copyright © 2008 Marcos Diaz Mencia"); |
4058 | - char version[100]; |
4059 | - sprintf(version, "%s (%s)", VERSION, SUBVERSION); |
4060 | - GtkWidget *version_ = gtk_label_new(version); |
4061 | - |
4062 | - gtk_box_pack_start(GTK_BOX(splash_box),splash,FALSE,FALSE,0); |
4063 | - gtk_box_pack_start(GTK_BOX(splash_box),copyleft,FALSE,FALSE,0); |
4064 | - gtk_box_pack_start(GTK_BOX(splash_box),version_,FALSE,FALSE,0); |
4065 | - entry_space(splash_box); |
4066 | - |
4067 | - GtkWidget *credits = gtk_scrolled_window_new(NULL, NULL); |
4068 | - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(credits), 1, 1); |
4069 | - GtkWidget *credits_text = gtk_text_view_new(); |
4070 | - gtk_text_view_set_left_margin(GTK_TEXT_VIEW(credits_text), 8); |
4071 | - gtk_text_view_set_editable(GTK_TEXT_VIEW(credits_text), 0); |
4072 | - gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(credits_text), 2); |
4073 | - GtkTextBuffer *credits_buffer = gtk_text_buffer_new(NULL); |
4074 | - char *credits_file = file_to_str( strcatnew(PATH,"text/credits") ); |
4075 | - //printf("%i\n", hash_basic(credits_file)); |
4076 | - if(hash_basic(credits_file) != 1493126064) credits_file = "ERROR"; |
4077 | - gtk_text_buffer_set_text(credits_buffer, credits_file, -1); |
4078 | - gtk_text_view_set_buffer(GTK_TEXT_VIEW(credits_text), credits_buffer); |
4079 | - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(credits), credits_text); |
4080 | - |
4081 | - GtkWidget *license = gtk_scrolled_window_new(NULL, NULL); |
4082 | - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(license), 1, 1); |
4083 | - GtkWidget *license_text = gtk_text_view_new(); |
4084 | - gtk_text_view_set_left_margin(GTK_TEXT_VIEW(license_text), 8); |
4085 | - gtk_text_view_set_editable(GTK_TEXT_VIEW(license_text), 0); |
4086 | - gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(license_text), 2); |
4087 | - GtkTextBuffer *license_buffer = gtk_text_buffer_new(NULL); |
4088 | - char *license_file = file_to_str( strcatnew(PATH,"text/license") ); |
4089 | - //printf("%i\n", hash_basic(license_file)); |
4090 | - if(hash_basic(license_file) != 1035571580) license_file = "ERROR"; |
4091 | - gtk_text_buffer_set_text(license_buffer, license_file, -1); |
4092 | - gtk_text_view_set_buffer(GTK_TEXT_VIEW(license_text), license_buffer); |
4093 | - gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(license), license_text); |
4094 | - |
4095 | - GtkWidget *buttons = gtk_hbox_new(FALSE,5); |
4096 | - GtkWidget *close = gtk_button_new_from_stock("gtk-close"); |
4097 | - gtk_widget_set_size_request(close, DIALOG_BTN_WIDTH, -1); |
4098 | - g_signal_connect(G_OBJECT(close), "clicked", G_CALLBACK(destroy), dialog); |
4099 | - gtk_box_pack_end(GTK_BOX(buttons),close,FALSE,FALSE,0); |
4100 | - |
4101 | - gtk_box_pack_start(GTK_BOX(box),notebook,FALSE,FALSE,0); |
4102 | - gtk_box_pack_start(GTK_BOX(box),buttons,FALSE,FALSE,0); |
4103 | - |
4104 | - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), splash_box, gtk_label_new(language[28])); |
4105 | - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), credits, gtk_label_new(language[35])); |
4106 | - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), license, gtk_label_new(language[36])); |
4107 | - |
4108 | - gtk_container_add(GTK_CONTAINER(dialog), box); |
4109 | - gtk_widget_show_all(dialog); |
4110 | -} |
4111 | |
4112 | === removed file 'lib/gui/entry.c' |
4113 | --- lib/gui/entry.c 2008-11-26 01:33:49 +0000 |
4114 | +++ lib/gui/entry.c 1970-01-01 00:00:00 +0000 |
4115 | @@ -1,281 +0,0 @@ |
4116 | -/* |
4117 | - * This file is part of Nathive. |
4118 | - * |
4119 | - * Nathive is free software: you can redistribute it and/or modify |
4120 | - * it under the terms of the GNU General Public License as published by |
4121 | - * the Free Software Foundation, either version 3 of the License, or |
4122 | - * (at your option) any later version. |
4123 | - * |
4124 | - * Nathive is distributed in the hope that it will be useful, |
4125 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4126 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4127 | - * GNU General Public License for more details. |
4128 | - * |
4129 | - * You should have received a copy of the GNU General Public License |
4130 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
4131 | - */ |
4132 | - |
4133 | - |
4134 | -entry_spin(GtkWidget *parent, char *label, void *value, int min, int max, char *type, |
4135 | - GtkObject *adj, int show_scale) |
4136 | -{ |
4137 | - double value_format; |
4138 | - if(type=="uchar") value_format = *(uchar*)value; |
4139 | - if(type=="int") value_format = *(int*)value; |
4140 | - if(type=="double") value_format = *(double*)value; |
4141 | - |
4142 | - if(adj==NULL) adj = gtk_adjustment_new(0,0,0,1,1,0); |
4143 | - if(type=="uchar") g_signal_connect(G_OBJECT(adj),"value-changed",G_CALLBACK(call_adj_uchar),value); |
4144 | - if(type=="int") g_signal_connect(G_OBJECT(adj),"value-changed",G_CALLBACK(call_adj_int),value); |
4145 | - if(type=="double") g_signal_connect(G_OBJECT(adj),"value-changed",G_CALLBACK(call_adj_double),value); |
4146 | - |
4147 | - int separation = 0; |
4148 | - if(!show_scale) separation = 10; |
4149 | - GtkWidget *box = gtk_hbox_new(FALSE, separation); |
4150 | - |
4151 | - GtkWidget *label_ = gtk_label_new(label); |
4152 | - gtk_misc_set_alignment(GTK_MISC(label_), 0, 0.5); |
4153 | - gtk_box_pack_start(GTK_BOX(box),label_,TRUE,TRUE,0); |
4154 | - |
4155 | - if(show_scale) |
4156 | - { |
4157 | - GtkWidget *scale = gtk_scale_button_new(1,1,1,4,NULL); |
4158 | - gtk_scale_button_set_adjustment(GTK_SCALE_BUTTON(scale), GTK_ADJUSTMENT(adj)); |
4159 | - const gchar *scaleIcons[] = {"gtk-index", NULL}; |
4160 | - gtk_scale_button_set_icons(GTK_SCALE_BUTTON(scale), scaleIcons); |
4161 | - gtk_box_pack_start(GTK_BOX(box),scale,FALSE,FALSE,0); |
4162 | - } |
4163 | - |
4164 | - GtkWidget *spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); |
4165 | - gtk_spin_button_set_range(GTK_SPIN_BUTTON(spin), min, max); |
4166 | - if(type=="double") |
4167 | - { |
4168 | - gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 2); |
4169 | - gtk_spin_button_set_increments(GTK_SPIN_BUTTON(spin), 0.01, 0.01); |
4170 | - gtk_spin_button_set_range(GTK_SPIN_BUTTON(spin), 0.01, max); |
4171 | - } |
4172 | - gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), value_format); |
4173 | - gtk_box_pack_start(GTK_BOX(box),spin,FALSE,FALSE,0); |
4174 | - |
4175 | - gtk_box_pack_start(GTK_BOX(parent), box, FALSE,FALSE,0); |
4176 | -} |
4177 | - |
4178 | - |
4179 | -entry_spinmenu(GtkWidget *parent, char *label, void *value, int min, int max, char *type, |
4180 | - GtkObject *adj, int menun, int *menuvalue, char *ops[], GtkWidget *menu) |
4181 | -{ |
4182 | - double value_format; |
4183 | - if(type=="int") value_format = *(int*)value; |
4184 | - if(type=="double") value_format = *(double*)value; |
4185 | - |
4186 | - if(adj==NULL) adj = gtk_adjustment_new(0,0,0,1,1,0); |
4187 | - if(type=="int") g_signal_connect(G_OBJECT(adj),"value-changed",G_CALLBACK(call_adj_int),value); |
4188 | - if(type=="double") g_signal_connect(G_OBJECT(adj),"value-changed",G_CALLBACK(call_adj_double),value); |
4189 | - |
4190 | - GtkWidget *box = gtk_hbox_new(FALSE, 0); |
4191 | - |
4192 | - GtkWidget *label_ = gtk_label_new(label); |
4193 | - gtk_misc_set_alignment(GTK_MISC(label_), 0, 0.5); |
4194 | - |
4195 | - |
4196 | - GtkWidget *spin = gtk_spin_button_new(GTK_ADJUSTMENT(adj), 1, 0); |
4197 | - gtk_spin_button_set_range(GTK_SPIN_BUTTON(spin), min, max); |
4198 | - if(type=="double") |
4199 | - { |
4200 | - gtk_spin_button_set_digits(GTK_SPIN_BUTTON(spin), 2); |
4201 | - gtk_spin_button_set_increments(GTK_SPIN_BUTTON(spin), 0.01, 0.01); |
4202 | - gtk_spin_button_set_range(GTK_SPIN_BUTTON(spin), 0.01, max); |
4203 | - } |
4204 | - gtk_spin_button_set_value(GTK_SPIN_BUTTON(spin), value_format); |
4205 | - |
4206 | - |
4207 | - GtkWidget *btn = gtk_button_new(); |
4208 | - gtk_button_set_image(GTK_BUTTON(btn), gtk_image_new_from_stock("gtk-sort-descending", 1)); |
4209 | - gtk_button_set_relief(GTK_BUTTON(btn), GTK_RELIEF_NONE); |
4210 | - |
4211 | - int i; |
4212 | - int *ids = (int*)malloc(menun*sizeof(int)); |
4213 | - for(i=0; i<menun; i++) ids[i] = i; |
4214 | - |
4215 | - if(menu==NULL) menu = gtk_menu_new(); |
4216 | - if(ops) |
4217 | - { |
4218 | - GtkWidget *item[menun]; |
4219 | - for(i=0; i<menun; i++) |
4220 | - { |
4221 | - int **data = (int**)malloc(2*sizeof(int*)); |
4222 | - data[0] = menuvalue; |
4223 | - data[1] = &ids[i]; |
4224 | - |
4225 | - item[i] = gtk_menu_item_new_with_label(ops[i]); |
4226 | - gtk_menu_shell_append(GTK_MENU_SHELL(menu), item[i]); |
4227 | - g_signal_connect_swapped(G_OBJECT(item[i]),"activate",G_CALLBACK(call_spinmenu), data); |
4228 | - } |
4229 | - } |
4230 | - gtk_widget_show_all(menu); |
4231 | - g_signal_connect(G_OBJECT(btn),"clicked",G_CALLBACK(call_menu), menu); |
4232 | - |
4233 | - |
4234 | - gtk_box_pack_start(GTK_BOX(box),label_,TRUE,TRUE,0); |
4235 | - gtk_box_pack_start(GTK_BOX(box),btn,FALSE,FALSE,0); |
4236 | - gtk_box_pack_start(GTK_BOX(box),spin,FALSE,FALSE,0); |
4237 | - |
4238 | - gtk_box_pack_start(GTK_BOX(parent), box, FALSE,FALSE,0); |
4239 | -} |
4240 | - |
4241 | - |
4242 | -entry_combo(GtkWidget *parent, char *label, int n, int *value, char *ops[], GtkWidget *combo) |
4243 | -{ |
4244 | - GtkWidget *box = gtk_hbox_new(FALSE,5); |
4245 | - |
4246 | - GtkWidget *label_ = gtk_label_new(label); |
4247 | - gtk_misc_set_alignment(GTK_MISC(label_), 0, 0.5); |
4248 | - |
4249 | - if(combo==NULL) combo = gtk_combo_box_new_text(); |
4250 | - |
4251 | - int i; |
4252 | - for(i=0; i<n; i++) gtk_combo_box_append_text(GTK_COMBO_BOX(combo), ops[i]); |
4253 | - |
4254 | - gtk_combo_box_set_active(GTK_COMBO_BOX(combo), *value); |
4255 | - g_signal_connect(G_OBJECT(combo),"changed",G_CALLBACK(call_combo),value); |
4256 | - |
4257 | - if(label!="") gtk_box_pack_start(GTK_BOX(box), label_, TRUE, TRUE, 0); |
4258 | - |
4259 | - if(label!="") gtk_box_pack_start(GTK_BOX(box), combo, FALSE, FALSE, 0); |
4260 | - else gtk_box_pack_end(GTK_BOX(box), combo, FALSE, FALSE, 0); |
4261 | - |
4262 | - gtk_box_pack_start(GTK_BOX(parent), box, FALSE,FALSE,0); |
4263 | -} |
4264 | - |
4265 | - |
4266 | -entry_toggle(GtkWidget *parent, char *label, int n, int *value, char *ops[], |
4267 | - GtkWidget *but[], char *call) |
4268 | -{ |
4269 | - GtkWidget *box = gtk_hbox_new(FALSE,0); |
4270 | - |
4271 | - GtkWidget *label_ = gtk_label_new(label); |
4272 | - gtk_misc_set_alignment(GTK_MISC(label_), 0, 0.5); |
4273 | - gtk_box_pack_start(GTK_BOX(box),label_,TRUE,TRUE,0); |
4274 | - |
4275 | - int i; |
4276 | - GtkWidget *btn_pre = NULL; |
4277 | - for(i=0; i<n; i++) |
4278 | - { |
4279 | - if(!btn_pre) but[i] = gtk_radio_button_new(NULL); |
4280 | - else but[i] = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(btn_pre)); |
4281 | - btn_pre = but[i]; |
4282 | - } |
4283 | - |
4284 | - int *ids = (int*)malloc(n*sizeof(int));; |
4285 | - for(i=0; i<n; i++) |
4286 | - { |
4287 | - ids[i] = i; |
4288 | - } |
4289 | - |
4290 | - for(i=0; i<n; i++) |
4291 | - { |
4292 | - gtk_button_set_relief(GTK_BUTTON(but[i]), GTK_RELIEF_NONE); |
4293 | - gtk_button_set_image(GTK_BUTTON(but[i]), gtk_image_new_from_file(ops[i])); |
4294 | - gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(but[i]), 0); |
4295 | - if(*value==i) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(but[i]), 1); |
4296 | - |
4297 | - int **data = (int**)malloc(2*sizeof(int*)); |
4298 | - data[0] = value; |
4299 | - data[1] = &ids[i]; |
4300 | - |
4301 | - g_signal_connect(G_OBJECT(but[i]),"pressed",G_CALLBACK(call_radio), data); |
4302 | - g_signal_connect(G_OBJECT(but[i]),"pressed",G_CALLBACK(call_function), call); |
4303 | - |
4304 | - gtk_box_pack_start(GTK_BOX(box),but[i],FALSE,FALSE,0); |
4305 | - } |
4306 | - |
4307 | - gtk_box_pack_start(GTK_BOX(parent), box, FALSE,FALSE,0); |
4308 | -} |
4309 | - |
4310 | - |
4311 | -entry_check(GtkWidget *parent, char *label, int *value, GtkWidget *check, char *call) |
4312 | -{ |
4313 | - GtkWidget *box = gtk_hbox_new(FALSE,0); |
4314 | - |
4315 | - GtkWidget *label_ = gtk_label_new(label); |
4316 | - gtk_misc_set_alignment(GTK_MISC(label_), 0, 0.5); |
4317 | - |
4318 | - if(check==NULL) check = gtk_check_button_new(); |
4319 | - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check), *value); |
4320 | - |
4321 | - gtk_box_pack_start(GTK_BOX(box),label_,TRUE,TRUE,0); |
4322 | - gtk_box_pack_start(GTK_BOX(box),check,FALSE,FALSE,0); |
4323 | - |
4324 | - g_signal_connect(G_OBJECT(check),"toggled",G_CALLBACK(call_check), value); |
4325 | - |
4326 | - gtk_box_pack_start(GTK_BOX(parent), box, FALSE,FALSE,0); |
4327 | -} |
4328 | - |
4329 | - |
4330 | -entry_entry(GtkWidget *parent, char *label, char *value, int len, char *call, GtkWidget *entry) |
4331 | -{ |
4332 | - GtkWidget *box = gtk_hbox_new(FALSE,0); |
4333 | - |
4334 | - GtkWidget *label_ = gtk_label_new(label); |
4335 | - gtk_misc_set_alignment(GTK_MISC(label_), 0, 0.5); |
4336 | - |
4337 | - if(entry==NULL) entry = gtk_entry_new(); |
4338 | - gtk_entry_set_max_length(GTK_ENTRY(entry), len); |
4339 | - gtk_entry_set_width_chars(GTK_ENTRY(entry), len+1); |
4340 | - gtk_entry_set_text(GTK_ENTRY(entry), value); |
4341 | - |
4342 | - gtk_box_pack_start(GTK_BOX(box),label_,TRUE,TRUE,0); |
4343 | - gtk_box_pack_start(GTK_BOX(box),entry,FALSE,FALSE,0); |
4344 | - |
4345 | - g_signal_connect(G_OBJECT(entry),"changed",G_CALLBACK(call_function), call); |
4346 | - |
4347 | - gtk_box_pack_start(GTK_BOX(parent), box, FALSE,FALSE,0); |
4348 | -} |
4349 | - |
4350 | - |
4351 | -entry_color(GtkWidget *parent, char *label) |
4352 | -{ |
4353 | - GtkWidget *box = gtk_hbox_new(FALSE,0); |
4354 | - |
4355 | - GtkWidget *label_ = gtk_label_new(label); |
4356 | - gtk_misc_set_alignment(GTK_MISC(label_), 0, 0.5); |
4357 | - |
4358 | - GtkWidget *color = gtk_color_button_new(); |
4359 | - |
4360 | - gtk_box_pack_start(GTK_BOX(box),label_,TRUE,TRUE,0); |
4361 | - gtk_box_pack_start(GTK_BOX(box),color,FALSE,FALSE,0); |
4362 | - |
4363 | - gtk_box_pack_start(GTK_BOX(parent), box, FALSE,FALSE,0); |
4364 | -} |
4365 | - |
4366 | - |
4367 | -entry_clear(GtkWidget *parent, char *call, int size) |
4368 | -{ |
4369 | - GtkWidget *button = gtk_button_new(); |
4370 | - gtk_button_set_image(GTK_BUTTON(button), gtk_image_new_from_stock("gtk-clear", size)); |
4371 | - gtk_widget_set_tooltip_text(button, language[23]); |
4372 | - g_signal_connect(G_OBJECT(button),"clicked",G_CALLBACK(call_function), call); |
4373 | - gtk_box_pack_end(GTK_BOX(parent),button,FALSE,FALSE,0); |
4374 | -} |
4375 | - |
4376 | - |
4377 | -entry_separator(GtkWidget *parent) |
4378 | -{ |
4379 | - GtkWidget *separator = gtk_hseparator_new(); |
4380 | - gtk_box_pack_start(GTK_BOX(parent), separator, FALSE, FALSE, 4); |
4381 | -} |
4382 | - |
4383 | - |
4384 | -entry_space(GtkWidget *parent) |
4385 | -{ |
4386 | - GtkWidget *box = gtk_vbox_new(FALSE, 0); |
4387 | - gtk_widget_set_size_request(box, -1, 8); |
4388 | - gtk_box_pack_start(GTK_BOX(parent), box, FALSE, FALSE, 0); |
4389 | -} |
4390 | - |
4391 | - |
4392 | -entry_expand(GtkWidget *parent) |
4393 | -{ |
4394 | - GtkWidget *box = gtk_hbox_new(FALSE,0); |
4395 | - gtk_box_pack_start(GTK_BOX(parent), box, TRUE,TRUE,0); |
4396 | -} |
4397 | |
4398 | === removed file 'lib/gui/event.c' |
4399 | --- lib/gui/event.c 2008-11-26 01:33:49 +0000 |
4400 | +++ lib/gui/event.c 1970-01-01 00:00:00 +0000 |
4401 | @@ -1,61 +0,0 @@ |
4402 | -/* |
4403 | - * This file is part of Nathive. |
4404 | - * |
4405 | - * Nathive is free software: you can redistribute it and/or modify |
4406 | - * it under the terms of the GNU General Public License as published by |
4407 | - * the Free Software Foundation, either version 3 of the License, or |
4408 | - * (at your option) any later version. |
4409 | - * |
4410 | - * Nathive is distributed in the hope that it will be useful, |
4411 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4412 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4413 | - * GNU General Public License for more details. |
4414 | - * |
4415 | - * You should have received a copy of the GNU General Public License |
4416 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
4417 | - */ |
4418 | - |
4419 | - |
4420 | -event_press(GtkWidget *wid, GdkEventButton *event) |
4421 | -{ |
4422 | - int x = (int)event->x; |
4423 | - int y = (int)event->y; |
4424 | - user_button = event->button; |
4425 | - user_x = x; |
4426 | - user_y = y; |
4427 | - user_x_root = (int)event->x_root; |
4428 | - user_y_root = (int)event->y_root; |
4429 | - user_x_press = offset_x(x); |
4430 | - user_y_press = offset_y(y); |
4431 | - if(user_button==2) cursor_stock(GDK_FLEUR); |
4432 | - if(tool==2) if(user_button==1) picker_get(x,y); |
4433 | - if(tool==3) if(user_button==1) brush_spacer(x,y,1); |
4434 | -} |
4435 | - |
4436 | -event_release(GtkWidget *wid) |
4437 | -{ |
4438 | - if(tool==0) if(user_button==1) object_merge(); |
4439 | - cursor_default(); |
4440 | - user_button = 0; |
4441 | -} |
4442 | - |
4443 | -event_motion(GtkWidget *wid, GdkEventMotion *event) |
4444 | -{ |
4445 | - int x = (int)event->x; |
4446 | - int y = (int)event->y; |
4447 | - int x_root = (int)event->x_root; |
4448 | - int y_root = (int)event->y_root; |
4449 | - |
4450 | - if(user_button==2) scroll(x_root, y_root); |
4451 | - |
4452 | - if(tool==0) if(user_button==1) select_move(x,y); |
4453 | - if(tool==2) if(user_button==1) picker_get(x,y); |
4454 | - if(tool==3) |
4455 | - { |
4456 | - if(user_button==1) brush_spacer(x,y,0); |
4457 | - if(user_button==3) brush_size_motion(x,y); |
4458 | - } |
4459 | - statusbar_x = offset_x(x); |
4460 | - statusbar_y = offset_y(y); |
4461 | - statusbar_refresh(); |
4462 | -} |
4463 | |
4464 | === removed file 'lib/gui/menu.c' |
4465 | --- lib/gui/menu.c 2008-11-26 01:33:49 +0000 |
4466 | +++ lib/gui/menu.c 1970-01-01 00:00:00 +0000 |
4467 | @@ -1,29 +0,0 @@ |
4468 | -/* |
4469 | - * This file is part of Nathive. |
4470 | - * |
4471 | - * Nathive is free software: you can redistribute it and/or modify |
4472 | - * it under the terms of the GNU General Public License as published by |
4473 | - * the Free Software Foundation, either version 3 of the License, or |
4474 | - * (at your option) any later version. |
4475 | - * |
4476 | - * Nathive is distributed in the hope that it will be useful, |
4477 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4478 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4479 | - * GNU General Public License for more details. |
4480 | - * |
4481 | - * You should have received a copy of the GNU General Public License |
4482 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
4483 | - */ |
4484 | - |
4485 | - |
4486 | -menubar_item_new(GtkWidget *parent, char *label, char *stock, char *call) |
4487 | -{ |
4488 | - GtkWidget *item = gtk_image_menu_item_new_with_label(label); |
4489 | - gtk_menu_shell_append(GTK_MENU_SHELL(parent), item); |
4490 | - if(call) g_signal_connect(G_OBJECT(item), "activate", G_CALLBACK(call_function), call); |
4491 | - if(stock) |
4492 | - { |
4493 | - GtkWidget *image = gtk_image_new_from_stock(stock, 1); |
4494 | - gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image); |
4495 | - } |
4496 | -} |
4497 | |
4498 | === removed file 'lib/gui/misc.c' |
4499 | --- lib/gui/misc.c 2008-11-26 18:12:53 +0000 |
4500 | +++ lib/gui/misc.c 1970-01-01 00:00:00 +0000 |
4501 | @@ -1,69 +0,0 @@ |
4502 | -/* |
4503 | - * This file is part of Nathive. |
4504 | - * |
4505 | - * Nathive is free software: you can redistribute it and/or modify |
4506 | - * it under the terms of the GNU General Public License as published by |
4507 | - * the Free Software Foundation, either version 3 of the License, or |
4508 | - * (at your option) any later version. |
4509 | - * |
4510 | - * Nathive is distributed in the hope that it will be useful, |
4511 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4512 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4513 | - * GNU General Public License for more details. |
4514 | - * |
4515 | - * You should have received a copy of the GNU General Public License |
4516 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
4517 | - */ |
4518 | - |
4519 | - |
4520 | -gtk_quit() |
4521 | -{ |
4522 | - printf(">> thanks for being libre, see you soon\n\n"); |
4523 | - gtk_main_quit(); |
4524 | -} |
4525 | - |
4526 | - |
4527 | -destroy(GtkWidget *widget, GtkWidget *destroy_me) |
4528 | -{ |
4529 | - gtk_widget_destroy(destroy_me); |
4530 | -} |
4531 | - |
4532 | - |
4533 | -window_fullscreen() |
4534 | -{ |
4535 | - if(!fullscreen) |
4536 | - { |
4537 | - gtk_window_fullscreen(GTK_WINDOW(win)); |
4538 | - fullscreen = 1; |
4539 | - } |
4540 | - else |
4541 | - { |
4542 | - gtk_window_unfullscreen(GTK_WINDOW(win)); |
4543 | - fullscreen = 0; |
4544 | - } |
4545 | -} |
4546 | - |
4547 | - |
4548 | -sidebar_hide() |
4549 | -{ |
4550 | - int sidebar_display; |
4551 | - gtk_object_get(GTK_OBJECT(sidebar), "visible", &sidebar_display, NULL); |
4552 | - if(sidebar_display) gtk_widget_hide(sidebar); |
4553 | - else gtk_widget_show(sidebar); |
4554 | -} |
4555 | - |
4556 | - |
4557 | -sidebar_tool_change(GtkWidget *wid, void *data) |
4558 | -{ |
4559 | - int i; |
4560 | - for(i=0; i<TOOLS; i++) gtk_widget_hide(sidebar_tools[i]); |
4561 | - gtk_widget_show(sidebar_tools[tool]); |
4562 | - |
4563 | - GtkWidget *new_label; |
4564 | - if(tool==0) new_label = gtk_image_new_from_file( strcatnew(PATH,"img/select.png") ); |
4565 | - if(tool==1) new_label = gtk_image_new_from_file( strcatnew(PATH,"img/mask.png") ); |
4566 | - if(tool==2) new_label = gtk_image_new_from_file( strcatnew(PATH,"img/picker.png") ); |
4567 | - if(tool==3) new_label = gtk_image_new_from_file( strcatnew(PATH,"img/brush.png") ); |
4568 | - gtk_notebook_set_tab_label(GTK_NOTEBOOK(sidebar), sidebar_tool, new_label); |
4569 | - |
4570 | -} |
4571 | |
4572 | === removed file 'lib/gui/object.c' |
4573 | --- lib/gui/object.c 2008-12-01 07:53:03 +0000 |
4574 | +++ lib/gui/object.c 1970-01-01 00:00:00 +0000 |
4575 | @@ -1,210 +0,0 @@ |
4576 | -/* |
4577 | - * This file is part of Nathive. |
4578 | - * |
4579 | - * Nathive is free software: you can redistribute it and/or modify |
4580 | - * it under the terms of the GNU General Public License as published by |
4581 | - * the Free Software Foundation, either version 3 of the License, or |
4582 | - * (at your option) any later version. |
4583 | - * |
4584 | - * Nathive is distributed in the hope that it will be useful, |
4585 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4586 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4587 | - * GNU General Public License for more details. |
4588 | - * |
4589 | - * You should have received a copy of the GNU General Public License |
4590 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
4591 | - */ |
4592 | - |
4593 | - |
4594 | -object_gui_new(char *label, GtkListStore *store) |
4595 | -{ |
4596 | - if(store==NULL) store = dom_objgui_store(dom_tab()); |
4597 | - GtkTreeIter iter; |
4598 | - gtk_list_store_append(store, &iter); |
4599 | - gtk_list_store_set(store, &iter, 0, label, -1); |
4600 | - gtk_list_store_move_after(store, &iter, NULL); |
4601 | - |
4602 | - GtkTreeSelection *select = gtk_tree_view_get_selection(GTK_TREE_VIEW(object_tree_view)); |
4603 | - int dom_obj_sel_temp = *dom_obj_sel(-1); |
4604 | - gtk_tree_selection_select_iter(select, &iter); |
4605 | - *dom_obj_sel(-1) = dom_obj_sel_temp; |
4606 | -} |
4607 | - |
4608 | - |
4609 | -object_gui_select_gtd(GtkTreeSelection *selection, void *data) |
4610 | -{ |
4611 | - GList *list = gtk_tree_selection_get_selected_rows(selection, NULL); |
4612 | - GtkTreePath *path = g_list_nth_data(list, 0); |
4613 | - if(path==NULL) return; |
4614 | - int *index = gtk_tree_path_get_indices(path); |
4615 | - *dom_obj_sel(-1) = dom_obj_count(-1) - index[0]; |
4616 | -} |
4617 | - |
4618 | - |
4619 | -object_gui_select_dtg(int tab) |
4620 | -{ |
4621 | - GtkTreeSelection *select = gtk_tree_view_get_selection(GTK_TREE_VIEW(object_tree_view)); |
4622 | - GtkTreeIter iter; |
4623 | - GtkTreeModel *model = dom_objgui_model(tab); |
4624 | - gtk_tree_model_get_iter_first(model, &iter); |
4625 | - int objs = dom_obj_count(tab); |
4626 | - int sel = *dom_obj_sel(tab); |
4627 | - int i; |
4628 | - for(i=0; i<objs-sel; i++) gtk_tree_model_iter_next(model, &iter); |
4629 | - int dom_obj_sel_temp = *dom_obj_sel(-1); |
4630 | - gtk_tree_selection_select_iter(select, &iter); |
4631 | - *dom_obj_sel(-1) = dom_obj_sel_temp; |
4632 | -} |
4633 | - |
4634 | - |
4635 | -object_new() |
4636 | -{ |
4637 | - if(n_tree_count( dom, n_tree_stalk(0) ) == 0) return; |
4638 | - |
4639 | - printf(">> creating object in '%s'\n", (char*)dom_file_path()); |
4640 | - if(dom_tab()==-1) return; |
4641 | - lint obj_size = (*dom_w()) * (*dom_h()) * 4; |
4642 | - uchar *obj_raw = (uchar*)malloc(obj_size*sizeof(uchar)); |
4643 | - |
4644 | - lint i; |
4645 | - for(i=0; i<obj_size; i++) obj_raw[i] = 0; |
4646 | - |
4647 | - NTree *obj = n_tree_new(); |
4648 | - n_tree_add(dom, n_tree_stalk(2,dom_tab(),DOM_OBJ), obj, TRUE); |
4649 | - |
4650 | - int *w = (int*)malloc(sizeof(int)); |
4651 | - int *h = (int*)malloc(sizeof(int)); |
4652 | - *w = *dom_w(); |
4653 | - *h = *dom_h(); |
4654 | - int *x = (int*)malloc(sizeof(int)); |
4655 | - int *y = (int*)malloc(sizeof(int)); |
4656 | - *x = 0; |
4657 | - *y = 0; |
4658 | - |
4659 | - n_tree_add(obj, n_tree_stalk(0), obj_raw, FALSE); |
4660 | - n_tree_add(obj, n_tree_stalk(0), w, FALSE); |
4661 | - n_tree_add(obj, n_tree_stalk(0), h, FALSE); |
4662 | - n_tree_add(obj, n_tree_stalk(0), x, FALSE); |
4663 | - n_tree_add(obj, n_tree_stalk(0), y, FALSE); |
4664 | - |
4665 | - object_gui_new(language[2], NULL); |
4666 | - *dom_obj_sel(-1) = dom_obj_count(-1); |
4667 | -} |
4668 | - |
4669 | - |
4670 | -object_merge_area(int x, int y, int w, int h) |
4671 | -{ |
4672 | - int xo = offset_x(x); |
4673 | - int yo = offset_y(y); |
4674 | - |
4675 | - over_object( |
4676 | - dom_raw(), |
4677 | - dom_mosaic(), |
4678 | - *dom_w(), |
4679 | - *dom_h(), |
4680 | - 0, |
4681 | - 0, |
4682 | - *dom_w(), |
4683 | - *dom_h(), |
4684 | - xo, |
4685 | - yo, |
4686 | - w, |
4687 | - h, |
4688 | - OVER_REPLACE |
4689 | - ); |
4690 | - |
4691 | - int objs = dom_obj_count(-1); |
4692 | - int i; |
4693 | - for(i=1; i<objs+1; i++) |
4694 | - { |
4695 | - over_object( |
4696 | - dom_raw(), |
4697 | - dom_obj_raw(i), |
4698 | - *dom_w(), |
4699 | - *dom_h(), |
4700 | - *dom_obj_x(i), |
4701 | - *dom_obj_y(i), |
4702 | - *dom_obj_w(i), |
4703 | - *dom_obj_h(i), |
4704 | - xo, |
4705 | - yo, |
4706 | - w, |
4707 | - h, |
4708 | - OVER_ADD |
4709 | - ); |
4710 | - } |
4711 | - |
4712 | - gtk_widget_queue_draw_area(dom_img(), x, y, w, h); |
4713 | -} |
4714 | - |
4715 | - |
4716 | -object_merge_area_step(int x, int y, int w, int h) |
4717 | -{ |
4718 | - int step = 100; |
4719 | - |
4720 | - int user_area[4]; |
4721 | - scroll_area(user_area); |
4722 | - |
4723 | - int xx, yy; |
4724 | - for(yy=y; yy<y+h; yy+=step) |
4725 | - { |
4726 | - for(xx=x; xx<x+w; xx+=step) |
4727 | - { |
4728 | - if(xx < user_area[0] - step || xx > user_area[0] + user_area[2]) continue; |
4729 | - if(yy < user_area[1] - step || yy > user_area[1] + user_area[3]) continue; |
4730 | - |
4731 | - if(gdk_events_pending()) return; |
4732 | - object_merge_area(xx, yy, step, step); |
4733 | - gtk_main_iteration_do(0); |
4734 | - } |
4735 | - } |
4736 | -} |
4737 | - |
4738 | - |
4739 | -object_merge() |
4740 | -{ |
4741 | - object_merge_area(-offset_x(0), -offset_y(0), *dom_w(), *dom_h()); |
4742 | -} |
4743 | - |
4744 | -object_merge_step() |
4745 | -{ |
4746 | - object_merge_area_step(-offset_x(0), -offset_y(0), *dom_w(), *dom_h()); |
4747 | -} |
4748 | - |
4749 | - |
4750 | -uchar *object_mosaic_new(int w, int h, int size) |
4751 | -{ |
4752 | - uchar grayA = 203; |
4753 | - uchar grayB = 127; |
4754 | - |
4755 | - uchar *mosaic = (uchar*)malloc(w*h*4*sizeof(uchar)); |
4756 | - int x,y,xx,yy; |
4757 | - xx = yy = 0; |
4758 | - for(y=0; y<h; y++) |
4759 | - { |
4760 | - xx = 0; |
4761 | - for(x=0; x<w; x++) |
4762 | - { |
4763 | - int pos = pixel_pos(x,y,w); |
4764 | - if( (xx<size/2 && yy<size/2) || (xx>=size/2 && yy>=size/2)) |
4765 | - { |
4766 | - mosaic[pos+0] = grayA; |
4767 | - mosaic[pos+1] = grayA; |
4768 | - mosaic[pos+2] = grayA; |
4769 | - } |
4770 | - else |
4771 | - { |
4772 | - mosaic[pos+0] = grayB; |
4773 | - mosaic[pos+1] = grayB; |
4774 | - mosaic[pos+2] = grayB; |
4775 | - } |
4776 | - mosaic[pos+3] = 255; |
4777 | - |
4778 | - xx++; |
4779 | - if(xx>=size) xx = 0; |
4780 | - } |
4781 | - yy++; |
4782 | - if(yy>=size) yy = 0; |
4783 | - } |
4784 | - return mosaic; |
4785 | -} |
4786 | |
4787 | === removed file 'lib/gui/other.c' |
4788 | --- lib/gui/other.c 2008-11-28 22:03:52 +0000 |
4789 | +++ lib/gui/other.c 1970-01-01 00:00:00 +0000 |
4790 | @@ -1,67 +0,0 @@ |
4791 | -/* |
4792 | - * This file is part of Nathive. |
4793 | - * |
4794 | - * Nathive is free software: you can redistribute it and/or modify |
4795 | - * it under the terms of the GNU General Public License as published by |
4796 | - * the Free Software Foundation, either version 3 of the License, or |
4797 | - * (at your option) any later version. |
4798 | - * |
4799 | - * Nathive is distributed in the hope that it will be useful, |
4800 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4801 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4802 | - * GNU General Public License for more details. |
4803 | - * |
4804 | - * You should have received a copy of the GNU General Public License |
4805 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
4806 | - */ |
4807 | - |
4808 | - |
4809 | -toolbar_item(GtkWidget *toolbar, int n, char *ops[]) |
4810 | -{ |
4811 | - int nz; |
4812 | - GtkWidget *but[n]; |
4813 | - GtkWidget *butPre = NULL; |
4814 | - for(nz=0; nz<n; nz++) |
4815 | - { |
4816 | - if(!butPre) but[nz] = gtk_radio_button_new(NULL); |
4817 | - else but[nz] = gtk_radio_button_new_from_widget(GTK_RADIO_BUTTON(butPre)); |
4818 | - butPre = but[nz]; |
4819 | - } |
4820 | - |
4821 | - int *ids = (int*)malloc(n*sizeof(int));; |
4822 | - for(nz=0; nz<n; nz++) |
4823 | - { |
4824 | - ids[nz] = nz; |
4825 | - } |
4826 | - |
4827 | - for(nz=0; nz<n; nz++) |
4828 | - { |
4829 | - gtk_button_set_relief(GTK_BUTTON(but[nz]), GTK_RELIEF_NONE); |
4830 | - gtk_button_set_image(GTK_BUTTON(but[nz]), gtk_image_new_from_file(ops[nz])); |
4831 | - gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(but[nz]), 0); |
4832 | - if(tool==nz) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(but[nz]), 1); |
4833 | - |
4834 | - int **data = (int**)malloc(2*sizeof(int*)); |
4835 | - data[0] = &tool; |
4836 | - data[1] = &ids[nz]; |
4837 | - |
4838 | - g_signal_connect(G_OBJECT(but[nz]),"pressed",G_CALLBACK(call_radio), data); |
4839 | - g_signal_connect(G_OBJECT(but[nz]),"pressed",G_CALLBACK(sidebar_tool_change), NULL); |
4840 | - |
4841 | - gtk_box_pack_start(GTK_BOX(toolbar),but[nz],FALSE,FALSE,0); |
4842 | - } |
4843 | -} |
4844 | - |
4845 | - |
4846 | -save() |
4847 | -{ |
4848 | - if(gtk_notebook_get_n_pages(GTK_NOTEBOOK(tabs))) |
4849 | - { |
4850 | - int tab = gtk_notebook_get_current_page(GTK_NOTEBOOK(tabs)); |
4851 | - char *path = n_tree_get(dom, n_tree_stalk(2,tab,0)); |
4852 | - printf(">> saving %s\n",path); |
4853 | - |
4854 | - GdkPixbuf *pix = n_tree_get(dom, n_tree_stalk(2,tab,4)); |
4855 | - gdk_pixbuf_save (pix, strcatnew(PATH,"output.png"), "png", NULL, NULL); |
4856 | - } |
4857 | -} |
4858 | |
4859 | === removed file 'lib/gui/scroll.c' |
4860 | --- lib/gui/scroll.c 2008-11-26 01:33:49 +0000 |
4861 | +++ lib/gui/scroll.c 1970-01-01 00:00:00 +0000 |
4862 | @@ -1,55 +0,0 @@ |
4863 | -/* |
4864 | - * This file is part of Nathive. |
4865 | - * |
4866 | - * Nathive is free software: you can redistribute it and/or modify |
4867 | - * it under the terms of the GNU General Public License as published by |
4868 | - * the Free Software Foundation, either version 3 of the License, or |
4869 | - * (at your option) any later version. |
4870 | - * |
4871 | - * Nathive is distributed in the hope that it will be useful, |
4872 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4873 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4874 | - * GNU General Public License for more details. |
4875 | - * |
4876 | - * You should have received a copy of the GNU General Public License |
4877 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
4878 | - */ |
4879 | - |
4880 | - |
4881 | -scroll(int x, int y) |
4882 | -{ |
4883 | - int x_rel = user_x_root - x; |
4884 | - int y_rel = user_y_root - y; |
4885 | - GtkScrolledWindow *scroll = GTK_SCROLLED_WINDOW(dom_scroll()); |
4886 | - |
4887 | - int h = gtk_adjustment_get_value(gtk_scrolled_window_get_hadjustment(scroll)) + x_rel; |
4888 | - int v = gtk_adjustment_get_value(gtk_scrolled_window_get_vadjustment(scroll)) + y_rel; |
4889 | - int alloc_x = gtk_scrolled_window_get_hscrollbar(scroll)->allocation.width; |
4890 | - int alloc_y = gtk_scrolled_window_get_vscrollbar(scroll)->allocation.height; |
4891 | - h = max(h, 0); |
4892 | - v = max(v, 0); |
4893 | - h = min(h, *dom_w() - alloc_x + 4); |
4894 | - v = min(v, *dom_h() - alloc_y + 4); |
4895 | - |
4896 | - if(GTK_WIDGET(scroll)->allocation.width - alloc_x < 100) |
4897 | - { |
4898 | - gtk_adjustment_set_value(gtk_scrolled_window_get_hadjustment(scroll), h); |
4899 | - } |
4900 | - |
4901 | - if(GTK_WIDGET(scroll)->allocation.height - alloc_y < 100) |
4902 | - { |
4903 | - gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(scroll), v); |
4904 | - } |
4905 | - |
4906 | - user_x_root -= x_rel; |
4907 | - user_y_root -= y_rel; |
4908 | -} |
4909 | - |
4910 | -scroll_area(int arr[4]) |
4911 | -{ |
4912 | - GtkScrolledWindow *scroll = GTK_SCROLLED_WINDOW(dom_scroll()); |
4913 | - arr[0] = gtk_adjustment_get_value(gtk_scrolled_window_get_hadjustment(scroll)); |
4914 | - arr[1] = gtk_adjustment_get_value(gtk_scrolled_window_get_vadjustment(scroll)); |
4915 | - arr[2] = GTK_WIDGET(scroll)->allocation.width; |
4916 | - arr[3] = GTK_WIDGET(scroll)->allocation.height; |
4917 | -} |
4918 | |
4919 | === removed file 'lib/gui/statusbar.c' |
4920 | --- lib/gui/statusbar.c 2008-11-28 22:03:52 +0000 |
4921 | +++ lib/gui/statusbar.c 1970-01-01 00:00:00 +0000 |
4922 | @@ -1,66 +0,0 @@ |
4923 | -/* |
4924 | - * This file is part of Nathive. |
4925 | - * |
4926 | - * Nathive is free software: you can redistribute it and/or modify |
4927 | - * it under the terms of the GNU General Public License as published by |
4928 | - * the Free Software Foundation, either version 3 of the License, or |
4929 | - * (at your option) any later version. |
4930 | - * |
4931 | - * Nathive is distributed in the hope that it will be useful, |
4932 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4933 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4934 | - * GNU General Public License for more details. |
4935 | - * |
4936 | - * You should have received a copy of the GNU General Public License |
4937 | - * along with Nathive. If not, see <http://www.gnu.org/licenses/>. |
4938 | - */ |
4939 | - |
4940 | - |
4941 | -statusbar_refresh() |
4942 | -{ |
4943 | - statusbar_w = *dom_w(); |
4944 | - statusbar_h = *dom_h(); |
4945 | - |
4946 | - char statusbar_text[100]; |
4947 | - sprintf( |
4948 | - statusbar_text, |
4949 | - " %i x %i %s · %i%c", |
4950 | - statusbar_w, statusbar_h, language[40], |
4951 | - statusbar_z*100, 37 |
4952 | - ); |
4953 | - |
4954 | - if(statusbar_msg==0) // default |
4955 | - { |
4956 | - sprintf( |
4957 | - statusbar_text, |
4958 | - "%s · x%i y%i", |
4959 | - statusbar_text, |
4960 | - statusbar_x, statusbar_y |
4961 | - ); |
4962 | - } |
4963 | - |
4964 | - if(statusbar_msg==1) // brush size 3rd button |
4965 | - { |
4966 | - sprintf( |
4967 | - statusbar_text, |
4968 | - "%s · x%i y%i · %s: %i", |
4969 | - statusbar_text, |
4970 | - statusbar_x, statusbar_y, |
4971 | - language[52], brush_size |
4972 | - ); |
4973 | - } |
4974 | - |
4975 | - if(statusbar_msg==2) // select move |
4976 | - { |
4977 | - sprintf( |
4978 | - statusbar_text, |
4979 | - "%s · x%i:%i (%i) y%i:%i (%i)", |
4980 | - statusbar_text, |
4981 | - user_x_press, statusbar_x, statusbar_x-user_x_press, |
4982 | - user_y_press, statusbar_y, statusbar_y-user_y_press |
4983 | - ); |
4984 | - } |
4985 | - |
4986 | - statusbar_msg = 0; |
4987 | - gtk_statusbar_push(GTK_STATUSBAR(statusbar), 0, statusbar_text); |
4988 | -} |
4989 | |
4990 | === removed file 'lib/gui/tab.c' |
4991 | --- lib/gui/tab.c 2008-12-01 07:53:03 +0000 |
4992 | +++ lib/gui/tab.c 1970-01-01 00:00:00 +0000 |
4993 | @@ -1,193 +0,0 @@ |
4994 | -/* |
4995 | - * This file is part of Nathive. |
4996 | - * |
4997 | - * Nathive is free software: you can redistribute it and/or modify |
4998 | - * it under the terms of the GNU General Public License as published by |
4999 | - * the Free Software Foundation, either version 3 of the License, or |
5000 | - * (at your option) any later version. |
The diff has been truncated for viewing.