Browse Source

Added KDE3 moodin engine


git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/ksplash-engine-moodin@1094437 283d02a7-25f6-0310-bc7c-ecb5cbfe19
tpearson 9 years ago
commit
7d8a8bdafc

+ 1
- 0
AUTHORS View File

@@ -0,0 +1 @@
1
+Christian Leh <moodwrod@web.de>

+ 340
- 0
COPYING View File

@@ -0,0 +1,340 @@
1
+		    GNU GENERAL PUBLIC LICENSE
2
+		       Version 2, June 1991
3
+
4
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
5
+                       51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
6
+ Everyone is permitted to copy and distribute verbatim copies
7
+ of this license document, but changing it is not allowed.
8
+
9
+			    Preamble
10
+
11
+  The licenses for most software are designed to take away your
12
+freedom to share and change it.  By contrast, the GNU General Public
13
+License is intended to guarantee your freedom to share and change free
14
+software--to make sure the software is free for all its users.  This
15
+General Public License applies to most of the Free Software
16
+Foundation's software and to any other program whose authors commit to
17
+using it.  (Some other Free Software Foundation software is covered by
18
+the GNU Library General Public License instead.)  You can apply it to
19
+your programs, too.
20
+
21
+  When we speak of free software, we are referring to freedom, not
22
+price.  Our General Public Licenses are designed to make sure that you
23
+have the freedom to distribute copies of free software (and charge for
24
+this service if you wish), that you receive source code or can get it
25
+if you want it, that you can change the software or use pieces of it
26
+in new free programs; and that you know you can do these things.
27
+
28
+  To protect your rights, we need to make restrictions that forbid
29
+anyone to deny you these rights or to ask you to surrender the rights.
30
+These restrictions translate to certain responsibilities for you if you
31
+distribute copies of the software, or if you modify it.
32
+
33
+  For example, if you distribute copies of such a program, whether
34
+gratis or for a fee, you must give the recipients all the rights that
35
+you have.  You must make sure that they, too, receive or can get the
36
+source code.  And you must show them these terms so they know their
37
+rights.
38
+
39
+  We protect your rights with two steps: (1) copyright the software, and
40
+(2) offer you this license which gives you legal permission to copy,
41
+distribute and/or modify the software.
42
+
43
+  Also, for each author's protection and ours, we want to make certain
44
+that everyone understands that there is no warranty for this free
45
+software.  If the software is modified by someone else and passed on, we
46
+want its recipients to know that what they have is not the original, so
47
+that any problems introduced by others will not reflect on the original
48
+authors' reputations.
49
+
50
+  Finally, any free program is threatened constantly by software
51
+patents.  We wish to avoid the danger that redistributors of a free
52
+program will individually obtain patent licenses, in effect making the
53
+program proprietary.  To prevent this, we have made it clear that any
54
+patent must be licensed for everyone's free use or not licensed at all.
55
+
56
+  The precise terms and conditions for copying, distribution and
57
+modification follow.
58
+
59
+		    GNU GENERAL PUBLIC LICENSE
60
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
61
+
62
+  0. This License applies to any program or other work which contains
63
+a notice placed by the copyright holder saying it may be distributed
64
+under the terms of this General Public License.  The "Program", below,
65
+refers to any such program or work, and a "work based on the Program"
66
+means either the Program or any derivative work under copyright law:
67
+that is to say, a work containing the Program or a portion of it,
68
+either verbatim or with modifications and/or translated into another
69
+language.  (Hereinafter, translation is included without limitation in
70
+the term "modification".)  Each licensee is addressed as "you".
71
+
72
+Activities other than copying, distribution and modification are not
73
+covered by this License; they are outside its scope.  The act of
74
+running the Program is not restricted, and the output from the Program
75
+is covered only if its contents constitute a work based on the
76
+Program (independent of having been made by running the Program).
77
+Whether that is true depends on what the Program does.
78
+
79
+  1. You may copy and distribute verbatim copies of the Program's
80
+source code as you receive it, in any medium, provided that you
81
+conspicuously and appropriately publish on each copy an appropriate
82
+copyright notice and disclaimer of warranty; keep intact all the
83
+notices that refer to this License and to the absence of any warranty;
84
+and give any other recipients of the Program a copy of this License
85
+along with the Program.
86
+
87
+You may charge a fee for the physical act of transferring a copy, and
88
+you may at your option offer warranty protection in exchange for a fee.
89
+
90
+  2. You may modify your copy or copies of the Program or any portion
91
+of it, thus forming a work based on the Program, and copy and
92
+distribute such modifications or work under the terms of Section 1
93
+above, provided that you also meet all of these conditions:
94
+
95
+    a) You must cause the modified files to carry prominent notices
96
+    stating that you changed the files and the date of any change.
97
+
98
+    b) You must cause any work that you distribute or publish, that in
99
+    whole or in part contains or is derived from the Program or any
100
+    part thereof, to be licensed as a whole at no charge to all third
101
+    parties under the terms of this License.
102
+
103
+    c) If the modified program normally reads commands interactively
104
+    when run, you must cause it, when started running for such
105
+    interactive use in the most ordinary way, to print or display an
106
+    announcement including an appropriate copyright notice and a
107
+    notice that there is no warranty (or else, saying that you provide
108
+    a warranty) and that users may redistribute the program under
109
+    these conditions, and telling the user how to view a copy of this
110
+    License.  (Exception: if the Program itself is interactive but
111
+    does not normally print such an announcement, your work based on
112
+    the Program is not required to print an announcement.)
113
+
114
+These requirements apply to the modified work as a whole.  If
115
+identifiable sections of that work are not derived from the Program,
116
+and can be reasonably considered independent and separate works in
117
+themselves, then this License, and its terms, do not apply to those
118
+sections when you distribute them as separate works.  But when you
119
+distribute the same sections as part of a whole which is a work based
120
+on the Program, the distribution of the whole must be on the terms of
121
+this License, whose permissions for other licensees extend to the
122
+entire whole, and thus to each and every part regardless of who wrote it.
123
+
124
+Thus, it is not the intent of this section to claim rights or contest
125
+your rights to work written entirely by you; rather, the intent is to
126
+exercise the right to control the distribution of derivative or
127
+collective works based on the Program.
128
+
129
+In addition, mere aggregation of another work not based on the Program
130
+with the Program (or with a work based on the Program) on a volume of
131
+a storage or distribution medium does not bring the other work under
132
+the scope of this License.
133
+
134
+  3. You may copy and distribute the Program (or a work based on it,
135
+under Section 2) in object code or executable form under the terms of
136
+Sections 1 and 2 above provided that you also do one of the following:
137
+
138
+    a) Accompany it with the complete corresponding machine-readable
139
+    source code, which must be distributed under the terms of Sections
140
+    1 and 2 above on a medium customarily used for software interchange; or,
141
+
142
+    b) Accompany it with a written offer, valid for at least three
143
+    years, to give any third party, for a charge no more than your
144
+    cost of physically performing source distribution, a complete
145
+    machine-readable copy of the corresponding source code, to be
146
+    distributed under the terms of Sections 1 and 2 above on a medium
147
+    customarily used for software interchange; or,
148
+
149
+    c) Accompany it with the information you received as to the offer
150
+    to distribute corresponding source code.  (This alternative is
151
+    allowed only for noncommercial distribution and only if you
152
+    received the program in object code or executable form with such
153
+    an offer, in accord with Subsection b above.)
154
+
155
+The source code for a work means the preferred form of the work for
156
+making modifications to it.  For an executable work, complete source
157
+code means all the source code for all modules it contains, plus any
158
+associated interface definition files, plus the scripts used to
159
+control compilation and installation of the executable.  However, as a
160
+special exception, the source code distributed need not include
161
+anything that is normally distributed (in either source or binary
162
+form) with the major components (compiler, kernel, and so on) of the
163
+operating system on which the executable runs, unless that component
164
+itself accompanies the executable.
165
+
166
+If distribution of executable or object code is made by offering
167
+access to copy from a designated place, then offering equivalent
168
+access to copy the source code from the same place counts as
169
+distribution of the source code, even though third parties are not
170
+compelled to copy the source along with the object code.
171
+
172
+  4. You may not copy, modify, sublicense, or distribute the Program
173
+except as expressly provided under this License.  Any attempt
174
+otherwise to copy, modify, sublicense or distribute the Program is
175
+void, and will automatically terminate your rights under this License.
176
+However, parties who have received copies, or rights, from you under
177
+this License will not have their licenses terminated so long as such
178
+parties remain in full compliance.
179
+
180
+  5. You are not required to accept this License, since you have not
181
+signed it.  However, nothing else grants you permission to modify or
182
+distribute the Program or its derivative works.  These actions are
183
+prohibited by law if you do not accept this License.  Therefore, by
184
+modifying or distributing the Program (or any work based on the
185
+Program), you indicate your acceptance of this License to do so, and
186
+all its terms and conditions for copying, distributing or modifying
187
+the Program or works based on it.
188
+
189
+  6. Each time you redistribute the Program (or any work based on the
190
+Program), the recipient automatically receives a license from the
191
+original licensor to copy, distribute or modify the Program subject to
192
+these terms and conditions.  You may not impose any further
193
+restrictions on the recipients' exercise of the rights granted herein.
194
+You are not responsible for enforcing compliance by third parties to
195
+this License.
196
+
197
+  7. If, as a consequence of a court judgment or allegation of patent
198
+infringement or for any other reason (not limited to patent issues),
199
+conditions are imposed on you (whether by court order, agreement or
200
+otherwise) that contradict the conditions of this License, they do not
201
+excuse you from the conditions of this License.  If you cannot
202
+distribute so as to satisfy simultaneously your obligations under this
203
+License and any other pertinent obligations, then as a consequence you
204
+may not distribute the Program at all.  For example, if a patent
205
+license would not permit royalty-free redistribution of the Program by
206
+all those who receive copies directly or indirectly through you, then
207
+the only way you could satisfy both it and this License would be to
208
+refrain entirely from distribution of the Program.
209
+
210
+If any portion of this section is held invalid or unenforceable under
211
+any particular circumstance, the balance of the section is intended to
212
+apply and the section as a whole is intended to apply in other
213
+circumstances.
214
+
215
+It is not the purpose of this section to induce you to infringe any
216
+patents or other property right claims or to contest validity of any
217
+such claims; this section has the sole purpose of protecting the
218
+integrity of the free software distribution system, which is
219
+implemented by public license practices.  Many people have made
220
+generous contributions to the wide range of software distributed
221
+through that system in reliance on consistent application of that
222
+system; it is up to the author/donor to decide if he or she is willing
223
+to distribute software through any other system and a licensee cannot
224
+impose that choice.
225
+
226
+This section is intended to make thoroughly clear what is believed to
227
+be a consequence of the rest of this License.
228
+
229
+  8. If the distribution and/or use of the Program is restricted in
230
+certain countries either by patents or by copyrighted interfaces, the
231
+original copyright holder who places the Program under this License
232
+may add an explicit geographical distribution limitation excluding
233
+those countries, so that distribution is permitted only in or among
234
+countries not thus excluded.  In such case, this License incorporates
235
+the limitation as if written in the body of this License.
236
+
237
+  9. The Free Software Foundation may publish revised and/or new versions
238
+of the General Public License from time to time.  Such new versions will
239
+be similar in spirit to the present version, but may differ in detail to
240
+address new problems or concerns.
241
+
242
+Each version is given a distinguishing version number.  If the Program
243
+specifies a version number of this License which applies to it and "any
244
+later version", you have the option of following the terms and conditions
245
+either of that version or of any later version published by the Free
246
+Software Foundation.  If the Program does not specify a version number of
247
+this License, you may choose any version ever published by the Free Software
248
+Foundation.
249
+
250
+  10. If you wish to incorporate parts of the Program into other free
251
+programs whose distribution conditions are different, write to the author
252
+to ask for permission.  For software which is copyrighted by the Free
253
+Software Foundation, write to the Free Software Foundation; we sometimes
254
+make exceptions for this.  Our decision will be guided by the two goals
255
+of preserving the free status of all derivatives of our free software and
256
+of promoting the sharing and reuse of software generally.
257
+
258
+			    NO WARRANTY
259
+
260
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
261
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
262
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
263
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
264
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
265
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
266
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
267
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
268
+REPAIR OR CORRECTION.
269
+
270
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
271
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
272
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
273
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
274
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
275
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
276
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
277
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
278
+POSSIBILITY OF SUCH DAMAGES.
279
+
280
+		     END OF TERMS AND CONDITIONS
281
+
282
+	    How to Apply These Terms to Your New Programs
283
+
284
+  If you develop a new program, and you want it to be of the greatest
285
+possible use to the public, the best way to achieve this is to make it
286
+free software which everyone can redistribute and change under these terms.
287
+
288
+  To do so, attach the following notices to the program.  It is safest
289
+to attach them to the start of each source file to most effectively
290
+convey the exclusion of warranty; and each file should have at least
291
+the "copyright" line and a pointer to where the full notice is found.
292
+
293
+    <one line to give the program's name and a brief idea of what it does.>
294
+    Copyright (C) <year>  <name of author>
295
+
296
+    This program is free software; you can redistribute it and/or modify
297
+    it under the terms of the GNU General Public License as published by
298
+    the Free Software Foundation; either version 2 of the License, or
299
+    (at your option) any later version.
300
+
301
+    This program is distributed in the hope that it will be useful,
302
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
303
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
304
+    GNU General Public License for more details.
305
+
306
+    You should have received a copy of the GNU General Public License
307
+    along with this program; if not, write to the Free Software
308
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
309
+
310
+
311
+Also add information on how to contact you by electronic and paper mail.
312
+
313
+If the program is interactive, make it output a short notice like this
314
+when it starts in an interactive mode:
315
+
316
+    Gnomovision version 69, Copyright (C) year name of author
317
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
318
+    This is free software, and you are welcome to redistribute it
319
+    under certain conditions; type `show c' for details.
320
+
321
+The hypothetical commands `show w' and `show c' should show the appropriate
322
+parts of the General Public License.  Of course, the commands you use may
323
+be called something other than `show w' and `show c'; they could even be
324
+mouse-clicks or menu items--whatever suits your program.
325
+
326
+You should also get your employer (if you work as a programmer) or your
327
+school, if any, to sign a "copyright disclaimer" for the program, if
328
+necessary.  Here is a sample; alter the names:
329
+
330
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
331
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
332
+
333
+  <signature of Ty Coon>, 1 April 1989
334
+  Ty Coon, President of Vice
335
+
336
+This General Public License does not permit incorporating your program into
337
+proprietary programs.  If your program is a subroutine library, you may
338
+consider it more useful to permit linking proprietary applications with the
339
+library.  If this is what you want to do, use the GNU Library General
340
+Public License instead of this License.

+ 1
- 0
ChangeLog View File

@@ -0,0 +1 @@
1
+ 

+ 167
- 0
INSTALL View File

@@ -0,0 +1,167 @@
1
+Basic Installation
2
+==================
3
+
4
+   These are generic installation instructions.
5
+
6
+   The `configure' shell script attempts to guess correct values for
7
+various system-dependent variables used during compilation.  It uses
8
+those values to create a `Makefile' in each directory of the package.
9
+It may also create one or more `.h' files containing system-dependent
10
+definitions.  Finally, it creates a shell script `config.status' that
11
+you can run in the future to recreate the current configuration, a file
12
+`config.cache' that saves the results of its tests to speed up
13
+reconfiguring, and a file `config.log' containing compiler output
14
+(useful mainly for debugging `configure').
15
+
16
+   If you need to do unusual things to compile the package, please try
17
+to figure out how `configure' could check whether to do them, and mail
18
+diffs or instructions to the address given in the `README' so they can
19
+be considered for the next release.  If at some point `config.cache'
20
+contains results you don't want to keep, you may remove or edit it.
21
+
22
+   The file `configure.in' is used to create `configure' by a program
23
+called `autoconf'.  You only need `configure.in' if you want to change
24
+it or regenerate `configure' using a newer version of `autoconf'.
25
+
26
+The simplest way to compile this package is:
27
+
28
+  1. `cd' to the directory containing the package's source code and type
29
+     `./configure' to configure the package for your system.  If you're
30
+     using `csh' on an old version of System V, you might need to type
31
+     `sh ./configure' instead to prevent `csh' from trying to execute
32
+     `configure' itself.
33
+
34
+     Running `configure' takes a while.  While running, it prints some
35
+     messages telling which features it is checking for.
36
+
37
+  2. Type `make' to compile the package.
38
+
39
+  3. Type `make install' to install the programs and any data files and
40
+     documentation.
41
+
42
+  4. You can remove the program binaries and object files from the
43
+     source code directory by typing `make clean'.  
44
+
45
+Compilers and Options
46
+=====================
47
+
48
+   Some systems require unusual options for compilation or linking that
49
+the `configure' script does not know about.  You can give `configure'
50
+initial values for variables by setting them in the environment.  Using
51
+a Bourne-compatible shell, you can do that on the command line like
52
+this:
53
+     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
54
+
55
+Or on systems that have the `env' program, you can do it like this:
56
+     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
57
+
58
+Compiling For Multiple Architectures
59
+====================================
60
+
61
+   You can compile the package for more than one kind of computer at the
62
+same time, by placing the object files for each architecture in their
63
+own directory.  To do this, you must use a version of `make' that
64
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
65
+directory where you want the object files and executables to go and run
66
+the `configure' script.  `configure' automatically checks for the
67
+source code in the directory that `configure' is in and in `..'.
68
+
69
+   If you have to use a `make' that does not supports the `VPATH'
70
+variable, you have to compile the package for one architecture at a time
71
+in the source code directory.  After you have installed the package for
72
+one architecture, use `make distclean' before reconfiguring for another
73
+architecture.
74
+
75
+Installation Names
76
+==================
77
+
78
+   By default, `make install' will install the package's files in
79
+`/usr/local/bin', `/usr/local/man', etc.  You can specify an
80
+installation prefix other than `/usr/local' by giving `configure' the
81
+option `--prefix=PATH'.
82
+
83
+   You can specify separate installation prefixes for
84
+architecture-specific files and architecture-independent files.  If you
85
+give `configure' the option `--exec-prefix=PATH', the package will use
86
+PATH as the prefix for installing programs and libraries.
87
+Documentation and other data files will still use the regular prefix.
88
+
89
+   If the package supports it, you can cause programs to be installed
90
+with an extra prefix or suffix on their names by giving `configure' the
91
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
92
+
93
+Optional Features
94
+=================
95
+
96
+   Some packages pay attention to `--enable-FEATURE' options to
97
+`configure', where FEATURE indicates an optional part of the package.
98
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
99
+is something like `gnu-as' or `x' (for the X Window System).  The
100
+`README' should mention any `--enable-' and `--with-' options that the
101
+package recognizes.
102
+
103
+   For packages that use the X Window System, `configure' can usually
104
+find the X include and library files automatically, but if it doesn't,
105
+you can use the `configure' options `--x-includes=DIR' and
106
+`--x-libraries=DIR' to specify their locations.
107
+
108
+Specifying the System Type
109
+==========================
110
+
111
+   There may be some features `configure' can not figure out
112
+automatically, but needs to determine by the type of host the package
113
+will run on.  Usually `configure' can figure that out, but if it prints
114
+a message saying it can not guess the host type, give it the
115
+`--host=TYPE' option.  TYPE can either be a short name for the system
116
+type, such as `sun4', or a canonical name with three fields:
117
+     CPU-COMPANY-SYSTEM
118
+
119
+See the file `config.sub' for the possible values of each field.  If
120
+`config.sub' isn't included in this package, then this package doesn't
121
+need to know the host type.
122
+
123
+   If you are building compiler tools for cross-compiling, you can also
124
+use the `--target=TYPE' option to select the type of system they will
125
+produce code for and the `--build=TYPE' option to select the type of
126
+system on which you are compiling the package.
127
+
128
+Sharing Defaults
129
+================
130
+
131
+   If you want to set default values for `configure' scripts to share,
132
+you can create a site shell script called `config.site' that gives
133
+default values for variables like `CC', `cache_file', and `prefix'.
134
+`configure' looks for `PREFIX/share/config.site' if it exists, then
135
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
136
+`CONFIG_SITE' environment variable to the location of the site script.
137
+A warning: not all `configure' scripts look for a site script.
138
+
139
+Operation Controls
140
+==================
141
+
142
+   `configure' recognizes the following options to control how it
143
+operates.
144
+
145
+`--cache-file=FILE'
146
+     Use and save the results of the tests in FILE instead of
147
+     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
148
+     debugging `configure'.
149
+
150
+`--help'
151
+     Print a summary of the options to `configure', and exit.
152
+
153
+`--quiet'
154
+`--silent'
155
+`-q'
156
+     Do not print messages saying which checks are being made.
157
+
158
+`--srcdir=DIR'
159
+     Look for the package's source code in directory DIR.  Usually
160
+     `configure' can determine that directory automatically.
161
+
162
+`--version'
163
+     Print the version of Autoconf used to generate the `configure'
164
+     script, and exit.
165
+
166
+`configure' also accepts some other, not widely useful, options.
167
+

+ 22
- 0
Makefile.am View File

@@ -0,0 +1,22 @@
1
+SUBDIRS = $(TOPSUBDIRS)
2
+
3
+$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs
4
+	cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ;
5
+
6
+$(top_srcdir)/subdirs:
7
+	cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs
8
+
9
+$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in
10
+	@cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4
11
+
12
+MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files 
13
+
14
+package-messages:
15
+	cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common package-messages
16
+	$(MAKE) -C po merge
17
+
18
+EXTRA_DIST = admin COPYING configure.in.in
19
+
20
+dist-hook:
21
+	cd $(top_distdir) && perl admin/am_edit -padmin
22
+	cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs

+ 10
- 0
Makefile.cvs View File

@@ -0,0 +1,10 @@
1
+all: 
2
+	@echo "This Makefile is only for the CVS repository"
3
+	@echo "This will be deleted before making the distribution"
4
+	@echo ""
5
+	$(MAKE) -f admin/Makefile.common cvs
6
+
7
+dist:
8
+	$(MAKE) -f admin/Makefile.common dist
9
+
10
+.SILENT:

+ 0
- 0
NEWS View File


+ 1
- 0
README View File

@@ -0,0 +1 @@
1
+

+ 0
- 0
TODO View File


+ 11645
- 0
acinclude.m4
File diff suppressed because it is too large
View File


+ 12634
- 0
aclocal.m4
File diff suppressed because it is too large
View File


+ 1561
- 0
config.guess
File diff suppressed because it is too large
View File


+ 244
- 0
config.h.in View File

@@ -0,0 +1,244 @@
1
+/* config.h.in.  Generated from configure.in by autoheader.  */
2
+
3
+/* Define to 1 if you have the <Carbon/Carbon.h> header file. */
4
+#undef HAVE_CARBON_CARBON_H
5
+
6
+/* Define if you have the CoreAudio API */
7
+#undef HAVE_COREAUDIO
8
+
9
+/* Define to 1 if you have the <crt_externs.h> header file. */
10
+#undef HAVE_CRT_EXTERNS_H
11
+
12
+/* Defines if your system has the crypt function */
13
+#undef HAVE_CRYPT
14
+
15
+/* Define to 1 if you have the <dlfcn.h> header file. */
16
+#undef HAVE_DLFCN_H
17
+
18
+/* Define to 1 if you have the <inttypes.h> header file. */
19
+#undef HAVE_INTTYPES_H
20
+
21
+/* Define if you have libjpeg */
22
+#undef HAVE_LIBJPEG
23
+
24
+/* Define if you have libpng */
25
+#undef HAVE_LIBPNG
26
+
27
+/* Define if you have a working libpthread (will enable threaded code) */
28
+#undef HAVE_LIBPTHREAD
29
+
30
+/* Define if you have libz */
31
+#undef HAVE_LIBZ
32
+
33
+/* Define to 1 if you have the <memory.h> header file. */
34
+#undef HAVE_MEMORY_H
35
+
36
+/* Define if your system needs _NSGetEnviron to set up the environment */
37
+#undef HAVE_NSGETENVIRON
38
+
39
+/* Define if you have res_init */
40
+#undef HAVE_RES_INIT
41
+
42
+/* Define if you have the res_init prototype */
43
+#undef HAVE_RES_INIT_PROTO
44
+
45
+/* Define if you have a STL implementation by SGI */
46
+#undef HAVE_SGI_STL
47
+
48
+/* Define to 1 if you have the `snprintf' function. */
49
+#undef HAVE_SNPRINTF
50
+
51
+/* Define to 1 if you have the <stdint.h> header file. */
52
+#undef HAVE_STDINT_H
53
+
54
+/* Define to 1 if you have the <stdlib.h> header file. */
55
+#undef HAVE_STDLIB_H
56
+
57
+/* Define to 1 if you have the <strings.h> header file. */
58
+#undef HAVE_STRINGS_H
59
+
60
+/* Define to 1 if you have the <string.h> header file. */
61
+#undef HAVE_STRING_H
62
+
63
+/* Define if you have strlcat */
64
+#undef HAVE_STRLCAT
65
+
66
+/* Define if you have the strlcat prototype */
67
+#undef HAVE_STRLCAT_PROTO
68
+
69
+/* Define if you have strlcpy */
70
+#undef HAVE_STRLCPY
71
+
72
+/* Define if you have the strlcpy prototype */
73
+#undef HAVE_STRLCPY_PROTO
74
+
75
+/* Define to 1 if you have the <sys/bitypes.h> header file. */
76
+#undef HAVE_SYS_BITYPES_H
77
+
78
+/* Define to 1 if you have the <sys/stat.h> header file. */
79
+#undef HAVE_SYS_STAT_H
80
+
81
+/* Define to 1 if you have the <sys/types.h> header file. */
82
+#undef HAVE_SYS_TYPES_H
83
+
84
+/* Define to 1 if you have the <unistd.h> header file. */
85
+#undef HAVE_UNISTD_H
86
+
87
+/* Define to 1 if you have the `vsnprintf' function. */
88
+#undef HAVE_VSNPRINTF
89
+
90
+/* Suffix for lib directories */
91
+#undef KDELIBSUFF
92
+
93
+/* Define a safe value for MAXPATHLEN */
94
+#undef KDEMAXPATHLEN
95
+
96
+/* Name of package */
97
+#undef PACKAGE
98
+
99
+/* Define to the address where bug reports for this package should be sent. */
100
+#undef PACKAGE_BUGREPORT
101
+
102
+/* Define to the full name of this package. */
103
+#undef PACKAGE_NAME
104
+
105
+/* Define to the full name and version of this package. */
106
+#undef PACKAGE_STRING
107
+
108
+/* Define to the one symbol short name of this package. */
109
+#undef PACKAGE_TARNAME
110
+
111
+/* Define to the version of this package. */
112
+#undef PACKAGE_VERSION
113
+
114
+/* The size of a `char *', as computed by sizeof. */
115
+#undef SIZEOF_CHAR_P
116
+
117
+/* The size of a `int', as computed by sizeof. */
118
+#undef SIZEOF_INT
119
+
120
+/* The size of a `long', as computed by sizeof. */
121
+#undef SIZEOF_LONG
122
+
123
+/* The size of a `short', as computed by sizeof. */
124
+#undef SIZEOF_SHORT
125
+
126
+/* The size of a `size_t', as computed by sizeof. */
127
+#undef SIZEOF_SIZE_T
128
+
129
+/* The size of a `unsigned long', as computed by sizeof. */
130
+#undef SIZEOF_UNSIGNED_LONG
131
+
132
+/* Define to 1 if you have the ANSI C header files. */
133
+#undef STDC_HEADERS
134
+
135
+/* Version number of package */
136
+#undef VERSION
137
+
138
+/* Defined if compiling without arts */
139
+#undef WITHOUT_ARTS
140
+
141
+/* Define to 1 if your processor stores words with the most significant byte
142
+   first (like Motorola and SPARC, unlike Intel and VAX). */
143
+#undef WORDS_BIGENDIAN
144
+
145
+/*
146
+ * jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
147
+ * headers and I'm too lazy to write a configure test as long as only
148
+ * unixware is related
149
+ */
150
+#ifdef _UNIXWARE
151
+#define HAVE_BOOLEAN
152
+#endif
153
+
154
+
155
+
156
+/*
157
+ * AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
158
+ * that defines bzero.
159
+ */
160
+
161
+#if defined(_AIX)
162
+#include <strings.h>
163
+#endif
164
+
165
+
166
+
167
+#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
168
+# include <sys/time.h>
169
+# include <crt_externs.h>
170
+# define environ (*_NSGetEnviron())
171
+#endif
172
+
173
+
174
+
175
+#if !defined(HAVE_RES_INIT_PROTO)
176
+#ifdef __cplusplus
177
+extern "C" {
178
+#endif
179
+int res_init(void);
180
+#ifdef __cplusplus
181
+}
182
+#endif
183
+#endif
184
+
185
+
186
+
187
+#if !defined(HAVE_STRLCAT_PROTO)
188
+#ifdef __cplusplus
189
+extern "C" {
190
+#endif
191
+unsigned long strlcat(char*, const char*, unsigned long);
192
+#ifdef __cplusplus
193
+}
194
+#endif
195
+#endif
196
+
197
+
198
+
199
+#if !defined(HAVE_STRLCPY_PROTO)
200
+#ifdef __cplusplus
201
+extern "C" {
202
+#endif
203
+unsigned long strlcpy(char*, const char*, unsigned long);
204
+#ifdef __cplusplus
205
+}
206
+#endif
207
+#endif
208
+
209
+
210
+
211
+/*
212
+ * On HP-UX, the declaration of vsnprintf() is needed every time !
213
+ */
214
+
215
+#if !defined(HAVE_VSNPRINTF) || defined(hpux)
216
+#if __STDC__
217
+#include <stdarg.h>
218
+#include <stdlib.h>
219
+#else
220
+#include <varargs.h>
221
+#endif
222
+#ifdef __cplusplus
223
+extern "C"
224
+#endif
225
+int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
226
+#ifdef __cplusplus
227
+extern "C"
228
+#endif
229
+int snprintf(char *str, size_t n, char const *fmt, ...);
230
+#endif
231
+
232
+
233
+
234
+#if defined(__SVR4) && !defined(__svr4__)
235
+#define __svr4__ 1
236
+#endif
237
+
238
+
239
+/* type to use in place of socklen_t if not defined */
240
+#undef kde_socklen_t
241
+
242
+/* type to use in place of socklen_t if not defined (deprecated, use
243
+   kde_socklen_t) */
244
+#undef ksize_t

+ 347
- 0
config.log View File

@@ -0,0 +1,347 @@
1
+This file contains any messages produced by compilers while
2
+running configure, to aid debugging if configure makes a mistake.
3
+
4
+It was created by configure, which was
5
+generated by GNU Autoconf 2.59.  Invocation command line was
6
+
7
+  $ ./configure --host=x86_64-linux-gnu --build=x86_64-linux-gnu --with-extra-libs=/opt/kde3/lib --disable-debug --disable-rpath --prefix=/opt/kde3 --sysconfdir=/etc --includedir=/opt/kde3/include/kde --infodir=/opt/kde3/share/info --mandir=/opt/kde3/share/man --with-qt-dir=/opt/kde3/share/qt3 --prefix=/opt/kde3 --with-extra-libs=/opt/kde3/lib --with-extra-includes=/opt/kde3/include/kde
8
+
9
+## --------- ##
10
+## Platform. ##
11
+## --------- ##
12
+
13
+hostname = argus4
14
+uname -m = x86_64
15
+uname -r = 2.6.31-16-generic
16
+uname -s = Linux
17
+uname -v = #53-Ubuntu SMP Tue Dec 8 04:02:15 UTC 2009
18
+
19
+/usr/bin/uname -p = unknown
20
+/bin/uname -X     = unknown
21
+
22
+/bin/arch              = unknown
23
+/usr/bin/arch -k       = unknown
24
+/usr/convex/getsysinfo = unknown
25
+hostinfo               = unknown
26
+/bin/machine           = unknown
27
+/usr/bin/oslevel       = unknown
28
+/bin/universe          = unknown
29
+
30
+PATH: /opt/kde3/bin
31
+PATH: /opt/kde3/games
32
+PATH: /opt/kde3/bin
33
+PATH: /home/eldarion/bin
34
+PATH: /usr/local/sbin
35
+PATH: /usr/local/bin
36
+PATH: /usr/sbin
37
+PATH: /usr/bin
38
+PATH: /sbin
39
+PATH: /bin
40
+PATH: /usr/games
41
+
42
+
43
+## ----------- ##
44
+## Core tests. ##
45
+## ----------- ##
46
+
47
+configure:1563: checking build system type
48
+configure:1581: result: x86_64-pc-linux-gnu
49
+configure:1589: checking host system type
50
+configure:1603: result: x86_64-pc-linux-gnu
51
+configure:1611: checking target system type
52
+configure:1625: result: x86_64-pc-linux-gnu
53
+configure:1672: checking for a BSD-compatible install
54
+configure:1727: result: /usr/bin/install -c
55
+configure:1742: checking for -p flag to install
56
+configure:1755: result: yes
57
+configure:1766: checking whether build environment is sane
58
+
59
+## ---------------- ##
60
+## Cache variables. ##
61
+## ---------------- ##
62
+
63
+ac_cv_build=x86_64-pc-linux-gnu
64
+ac_cv_build_alias=x86_64-linux-gnu
65
+ac_cv_env_CC_set=
66
+ac_cv_env_CC_value=
67
+ac_cv_env_CFLAGS_set=set
68
+ac_cv_env_CFLAGS_value='-Wall -g -O2 -Wl,-z,defs'
69
+ac_cv_env_CPPFLAGS_set=set
70
+ac_cv_env_CPPFLAGS_value=
71
+ac_cv_env_CPP_set=
72
+ac_cv_env_CPP_value=
73
+ac_cv_env_CXXCPP_set=
74
+ac_cv_env_CXXCPP_value=
75
+ac_cv_env_CXXFLAGS_set=set
76
+ac_cv_env_CXXFLAGS_value='-g -O2'
77
+ac_cv_env_CXX_set=
78
+ac_cv_env_CXX_value=
79
+ac_cv_env_F77_set=
80
+ac_cv_env_F77_value=
81
+ac_cv_env_FFLAGS_set=set
82
+ac_cv_env_FFLAGS_value='-g -O2'
83
+ac_cv_env_LDFLAGS_set=set
84
+ac_cv_env_LDFLAGS_value=-Wl,-Bsymbolic-functions
85
+ac_cv_env_build_alias_set=set
86
+ac_cv_env_build_alias_value=x86_64-linux-gnu
87
+ac_cv_env_host_alias_set=set
88
+ac_cv_env_host_alias_value=x86_64-linux-gnu
89
+ac_cv_env_target_alias_set=
90
+ac_cv_env_target_alias_value=
91
+ac_cv_host=x86_64-pc-linux-gnu
92
+ac_cv_host_alias=x86_64-linux-gnu
93
+ac_cv_path_install='/usr/bin/install -c'
94
+ac_cv_target=x86_64-pc-linux-gnu
95
+ac_cv_target_alias=x86_64-linux-gnu
96
+
97
+## ----------------- ##
98
+## Output variables. ##
99
+## ----------------- ##
100
+
101
+ACLOCAL=''
102
+AMDEPBACKSLASH=''
103
+AMDEP_FALSE=''
104
+AMDEP_TRUE=''
105
+AMTAR=''
106
+AR=''
107
+ARTSCCONFIG=''
108
+AUTOCONF=''
109
+AUTODIRS=''
110
+AUTOHEADER=''
111
+AUTOMAKE=''
112
+AWK=''
113
+CC=''
114
+CCDEPMODE=''
115
+CFLAGS='-Wall -g -O2 -Wl,-z,defs'
116
+CONF_FILES=''
117
+CPP=''
118
+CPPFLAGS=''
119
+CXX=''
120
+CXXCPP=''
121
+CXXDEPMODE=''
122
+CXXFLAGS='-g -O2'
123
+CYGPATH_W=''
124
+DCOPIDL2CPP=''
125
+DCOPIDL=''
126
+DCOPIDLNG=''
127
+DCOP_DEPENDENCIES=''
128
+DEFS=''
129
+DEPDIR=''
130
+ECHO='echo'
131
+ECHO_C=''
132
+ECHO_N='-n'
133
+ECHO_T=''
134
+EGREP=''
135
+ENABLE_PERMISSIVE_FLAG=''
136
+EXEEXT=''
137
+F77=''
138
+FFLAGS='-g -O2'
139
+FRAMEWORK_COREAUDIO=''
140
+GMSGFMT=''
141
+HAVE_GCC_VISIBILITY=''
142
+INSTALL_DATA='${INSTALL} -m 644'
143
+INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
144
+INSTALL_SCRIPT='${INSTALL}'
145
+INSTALL_STRIP_PROGRAM=''
146
+KCFG_DEPENDENCIES=''
147
+KCONFIG_COMPILER=''
148
+KDECONFIG=''
149
+KDE_CHECK_PLUGIN=''
150
+KDE_EXTRA_RPATH=''
151
+KDE_INCLUDES=''
152
+KDE_LDFLAGS=''
153
+KDE_MT_LDFLAGS=''
154
+KDE_MT_LIBS=''
155
+KDE_NO_UNDEFINED=''
156
+KDE_PLUGIN=''
157
+KDE_RPATH=''
158
+KDE_USE_CLOSURE_FALSE=''
159
+KDE_USE_CLOSURE_TRUE=''
160
+KDE_USE_FINAL_FALSE=''
161
+KDE_USE_FINAL_TRUE=''
162
+KDE_USE_NMCHECK_FALSE=''
163
+KDE_USE_NMCHECK_TRUE=''
164
+KDE_XSL_STYLESHEET=''
165
+LDFLAGS='-Wl,-Bsymbolic-functions'
166
+LDFLAGS_AS_NEEDED=''
167
+LDFLAGS_NEW_DTAGS=''
168
+LIBCOMPAT=''
169
+LIBCRYPT=''
170
+LIBDL=''
171
+LIBJPEG=''
172
+LIBOBJS=''
173
+LIBPNG=''
174
+LIBPTHREAD=''
175
+LIBRESOLV=''
176
+LIBS=''
177
+LIBSM=''
178
+LIBSOCKET=''
179
+LIBTOOL=''
180
+LIBUCB=''
181
+LIBUTIL=''
182
+LIBZ=''
183
+LIB_KAB=''
184
+LIB_KABC=''
185
+LIB_KDECORE=''
186
+LIB_KDED=''
187
+LIB_KDEPIM=''
188
+LIB_KDEPRINT=''
189
+LIB_KDEUI=''
190
+LIB_KDNSSD=''
191
+LIB_KFILE=''
192
+LIB_KFM=''
193
+LIB_KHTML=''
194
+LIB_KIMPROXY=''
195
+LIB_KIO=''
196
+LIB_KJS=''
197
+LIB_KNEWSTUFF=''
198
+LIB_KPARTS=''
199
+LIB_KSPELL=''
200
+LIB_KSYCOCA=''
201
+LIB_KUNITTEST=''
202
+LIB_KUTILS=''
203
+LIB_POLL=''
204
+LIB_QPE=''
205
+LIB_QT=''
206
+LIB_SMB=''
207
+LIB_X11=''
208
+LIB_XEXT=''
209
+LIB_XRENDER=''
210
+LN_S=''
211
+LTLIBOBJS=''
212
+MAKEINFO=''
213
+MAKEKDEWIDGETS=''
214
+MCOPIDL=''
215
+MEINPROC=''
216
+MOC=''
217
+MSGFMT=''
218
+NOOPT_CFLAGS=''
219
+NOOPT_CXXFLAGS=''
220
+OBJEXT=''
221
+PACKAGE=''
222
+PACKAGE_BUGREPORT=''
223
+PACKAGE_NAME=''
224
+PACKAGE_STRING=''
225
+PACKAGE_TARNAME=''
226
+PACKAGE_VERSION=''
227
+PATH_SEPARATOR=':'
228
+PERL=''
229
+QTE_NORTTI=''
230
+QT_INCLUDES=''
231
+QT_LDFLAGS=''
232
+RANLIB=''
233
+SET_MAKE=''
234
+SHELL='/bin/bash'
235
+STRIP=''
236
+TOPSUBDIRS=''
237
+UIC=''
238
+UIC_TR=''
239
+USER_INCLUDES=''
240
+USER_LDFLAGS=''
241
+USE_EXCEPTIONS=''
242
+USE_RTTI=''
243
+USE_THREADS=''
244
+VERSION=''
245
+WOVERLOADED_VIRTUAL=''
246
+XGETTEXT=''
247
+XMLLINT=''
248
+X_EXTRA_LIBS=''
249
+X_INCLUDES=''
250
+X_LDFLAGS=''
251
+X_PRE_LIBS=''
252
+X_RPATH=''
253
+ac_ct_AR=''
254
+ac_ct_CC=''
255
+ac_ct_CXX=''
256
+ac_ct_F77=''
257
+ac_ct_RANLIB=''
258
+ac_ct_STRIP=''
259
+all_includes=''
260
+all_libraries=''
261
+am__fastdepCC_FALSE=''
262
+am__fastdepCC_TRUE=''
263
+am__fastdepCXX_FALSE=''
264
+am__fastdepCXX_TRUE=''
265
+am__include=''
266
+am__leading_dot=''
267
+am__quote=''
268
+bindir='${exec_prefix}/bin'
269
+build='x86_64-pc-linux-gnu'
270
+build_alias='x86_64-linux-gnu'
271
+build_cpu='x86_64'
272
+build_os='linux-gnu'
273
+build_vendor='pc'
274
+datadir='${prefix}/share'
275
+exec_prefix='NONE'
276
+host='x86_64-pc-linux-gnu'
277
+host_alias='x86_64-linux-gnu'
278
+host_cpu='x86_64'
279
+host_os='linux-gnu'
280
+host_vendor='pc'
281
+include_ARTS_FALSE=''
282
+include_ARTS_TRUE=''
283
+include_x11_FALSE=''
284
+include_x11_TRUE=''
285
+includedir='/opt/kde3/include/kde'
286
+infodir='/opt/kde3/share/info'
287
+install_sh=''
288
+kde_appsdir=''
289
+kde_bindir=''
290
+kde_confdir='/etc/kde3'
291
+kde_datadir=''
292
+kde_htmldir='/opt/kde3/share/doc/kde/HTML'
293
+kde_icondir=''
294
+kde_includes=''
295
+kde_kcfgdir=''
296
+kde_libraries=''
297
+kde_libs_htmldir=''
298
+kde_libs_prefix=''
299
+kde_locale=''
300
+kde_mimedir=''
301
+kde_moduledir=''
302
+kde_qtver=''
303
+kde_servicesdir=''
304
+kde_servicetypesdir=''
305
+kde_sounddir=''
306
+kde_styledir=''
307
+kde_templatesdir=''
308
+kde_wallpaperdir=''
309
+kde_widgetdir=''
310
+kdeinitdir=''
311
+libdir='${exec_prefix}/lib'
312
+libexecdir='${exec_prefix}/libexec'
313
+localstatedir='${prefix}/var'
314
+mandir='/opt/kde3/share/man'
315
+oldincludedir='/usr/include'
316
+prefix='/opt/kde3'
317
+program_transform_name='s,x,x,'
318
+qt_includes=''
319
+qt_libraries=''
320
+sbindir='${exec_prefix}/sbin'
321
+sharedstatedir='${prefix}/com'
322
+sysconfdir='/etc'
323
+target='x86_64-pc-linux-gnu'
324
+target_alias=''
325
+target_cpu='x86_64'
326
+target_os='linux-gnu'
327
+target_vendor='pc'
328
+unsermake_enable_pch_FALSE=''
329
+unsermake_enable_pch_TRUE=''
330
+x_includes='NONE'
331
+x_libraries='NONE'
332
+xdg_appsdir=''
333
+xdg_directorydir=''
334
+xdg_menudir=''
335
+
336
+## ----------- ##
337
+## confdefs.h. ##
338
+## ----------- ##
339
+
340
+#define PACKAGE_BUGREPORT ""
341
+#define PACKAGE_NAME ""
342
+#define PACKAGE_STRING ""
343
+#define PACKAGE_TARNAME ""
344
+#define PACKAGE_VERSION ""
345
+
346
+configure: caught signal 2
347
+configure: exit 1

+ 1686
- 0
config.sub
File diff suppressed because it is too large
View File


+ 2
- 0
configure.files View File

@@ -0,0 +1,2 @@
1
+./admin/configure.in.min
2
+configure.in.in

+ 105
- 0
configure.in View File

@@ -0,0 +1,105 @@
1
+dnl =======================================================
2
+dnl FILE: ./admin/configure.in.min
3
+dnl =======================================================
4
+
5
+dnl    This file is part of the KDE libraries/packages
6
+dnl    Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
7
+ 
8
+dnl    This file is free software; you can redistribute it and/or
9
+dnl    modify it under the terms of the GNU Library General Public
10
+dnl    License as published by the Free Software Foundation; either
11
+dnl    version 2 of the License, or (at your option) any later version.
12
+ 
13
+dnl    This library is distributed in the hope that it will be useful,
14
+dnl    but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+dnl    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16
+dnl    Library General Public License for more details.
17
+ 
18
+dnl    You should have received a copy of the GNU Library General Public License
19
+dnl    along with this library; see the file COPYING.LIB.  If not, write to
20
+dnl    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21
+dnl    Boston, MA 02110-1301, USA.
22
+
23
+# Original Author was Kalle@kde.org
24
+# I lifted it in some mater. (Stephan Kulow)
25
+# I used much code from Janos Farkas
26
+
27
+dnl Process this file with autoconf to produce a configure script.
28
+
29
+AC_INIT(acinclude.m4) dnl a source file from your sub dir
30
+
31
+dnl This is so we can use kde-common
32
+AC_CONFIG_AUX_DIR(admin)
33
+
34
+dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
35
+unset CDPATH
36
+
37
+dnl Checking host/target/build systems, for make, install etc.
38
+AC_CANONICAL_SYSTEM 
39
+dnl Perform program name transformation
40
+AC_ARG_PROGRAM
41
+
42
+dnl Automake doc recommends to do this only here. (Janos)
43
+AM_INIT_AUTOMAKE(ksplash, 0.1) dnl searches for some needed programs
44
+
45
+KDE_SET_PREFIX
46
+
47
+dnl generate the config header
48
+AM_CONFIG_HEADER(config.h) dnl at the distribution this done
49
+
50
+dnl Checks for programs.
51
+AC_CHECK_COMPILERS
52
+AC_ENABLE_SHARED(yes)
53
+AC_ENABLE_STATIC(no)
54
+KDE_PROG_LIBTOOL
55
+
56
+dnl for NLS support. Call them in this order!
57
+dnl WITH_NLS is for the po files
58
+AM_KDE_WITH_NLS
59
+
60
+KDE_USE_QT(3.0.0)
61
+AC_PATH_KDE
62
+dnl =======================================================
63
+dnl FILE: configure.in.in
64
+dnl =======================================================
65
+
66
+#MIN_CONFIG(3.0.0)
67
+
68
+dnl PACKAGE set before
69
+AC_C_BIGENDIAN
70
+AC_CHECK_KDEMAXPATHLEN
71
+
72
+KDE_CREATE_SUBDIRSLIST
73
+AC_CONFIG_FILES([ Makefile ])
74
+AC_CONFIG_FILES([ src/Makefile ])
75
+AC_OUTPUT
76
+# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
77
+if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
78
+  # And if so, warn when they don't match
79
+  if test "$kde_libs_prefix" != "$given_prefix"; then
80
+    # And if kde doesn't know about the prefix yet
81
+    echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
82
+    if test $? -ne 0; then
83
+      echo ""
84
+      echo "Warning: you chose to install this package in $given_prefix,"
85
+      echo "but KDE was found in $kde_libs_prefix."
86
+      echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
87
+      echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
88
+      echo "Then restart KDE."
89
+      echo ""
90
+    fi
91
+  fi
92
+fi
93
+
94
+if test "$all_tests" = "bad"; then
95
+  if test ! "$cache_file" = "/dev/null"; then
96
+    echo ""
97
+    echo "Please remove the file $cache_file after changing your setup"
98
+    echo "so that configure will find the changes next time."
99
+    echo ""
100
+  fi
101
+else
102
+  echo ""
103
+  echo "Good - your configure finished. Start make now"
104
+  echo ""
105
+fi

+ 6
- 0
configure.in.in View File

@@ -0,0 +1,6 @@
1
+#MIN_CONFIG(3.0.0)
2
+
3
+AM_INIT_AUTOMAKE(ksplash, 0.1)
4
+AC_C_BIGENDIAN
5
+AC_CHECK_KDEMAXPATHLEN
6
+

+ 19
- 0
src/Makefile.am View File

@@ -0,0 +1,19 @@
1
+INCLUDES = $(all_includes) -I$(kde_includes)/ksplash
2
+
3
+kde_module_LTLIBRARIES = ksplashmoodin.la
4
+
5
+ksplashmoodin_la_SOURCES = thememoodin.cpp effectwidget.cpp cache.cpp magiclabel.cpp scaler.cpp
6
+ksplashmoodin_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) -module $(KDE_PLUGIN)
7
+ksplashmoodin_la_LIBADD  = $(LIB_KDEUI) -lksplashthemes
8
+
9
+METASOURCES = AUTO
10
+
11
+noinst_HEADERS 	= thememoodin.h effectwidget.h cache.h magiclabel.h scaler.h
12
+
13
+servicesdir = $(kde_servicesdir)
14
+services_DATA = ksplashmoodin.desktop
15
+
16
+themeMoodinKDEdir = $(kde_datadir)/ksplash/Themes/MoodinKDE
17
+themeMoodinKDE_DATA = themes/MoodinKDE/*
18
+themeFingerPrintdir = $(kde_datadir)/ksplash/Themes/FingerPrint
19
+themeFingerPrint_DATA = themes/FingerPrint/*

+ 54
- 0
src/cache.cpp View File

@@ -0,0 +1,54 @@
1
+/***************************************************************************
2
+ *   Copyright (C) by                                                      *
3
+ *     - 2005: Christian Leh <moodwrod@web.de>                             *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ ***************************************************************************/
11
+
12
+#include <kuser.h>
13
+#include <kstandarddirs.h>
14
+#include <kconfig.h>
15
+
16
+#include <qfileinfo.h>
17
+#include <qdatetime.h>
18
+#include <qimage.h>
19
+
20
+#include "cache.h"
21
+
22
+/* Disabled Cache (Michael Ummels) */
23
+
24
+Cache::Cache(Scaler* scaler, const QString& themeEngine, const QString& theme)
25
+{
26
+}
27
+
28
+
29
+QImage* Cache::cacheFile(const QString& file)
30
+{
31
+  return new QImage(file);
32
+}
33
+
34
+
35
+void Cache::createCacheDir()
36
+{
37
+}
38
+
39
+
40
+void Cache::writeInfoFile(QString& file)
41
+{
42
+}
43
+
44
+
45
+bool Cache::isInSync(QString& file)
46
+{
47
+  return true;
48
+}
49
+
50
+
51
+QString Cache::getFile(QString file)
52
+{
53
+  return file;
54
+}

+ 41
- 0
src/cache.h View File

@@ -0,0 +1,41 @@
1
+/***************************************************************************
2
+ *   Copyright (C) by                                                      *
3
+ *     - 2005: Christian Leh <moodwrod@web.de>                             *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ ***************************************************************************/
11
+
12
+#ifndef CACHE_H
13
+#define CACHE_H
14
+
15
+#include <qstring.h>
16
+#include <qsize.h>
17
+#include <qdir.h>
18
+
19
+#include "scaler.h"
20
+
21
+class Cache
22
+{
23
+  private:
24
+    QString mTheme;
25
+    QString mThemeEngine;
26
+    QDir mCacheDir;
27
+  
28
+    Scaler* mScaler;
29
+
30
+    void createCacheDir();
31
+    void writeInfoFile(QString& file);
32
+    bool isInSync(QString& file);
33
+
34
+    QString getFile(QString file);
35
+
36
+  public:
37
+    Cache(Scaler* scaler, const QString& mThemeEngine, const QString& theme);
38
+    QImage* cacheFile(const QString& file);
39
+};
40
+
41
+#endif

+ 46
- 0
src/doc/THEMEOPTIONS View File

@@ -0,0 +1,46 @@
1
+
2
+Theme.rc Options        Type            Default
3
+===============================================
4
+
5
+X ^= Number from 1 to 8 (Labels are limited by "Labels" option)
6
+
7
+
8
+- General
9
+Background              <filename>      Search order: <given>.png, Background-<width>x<height>.png, Background.png
10
+UsersBackground         <boolean>       false (use the wallpaper of the current desktop)
11
+BaseResolution          <width,height>  1280x1024 (the resolution was designed in -> NECCESSARY for auto scaling)
12
+SplashRect              <x,y,w,h>       screen size (sullscreen)
13
+
14
+- Labels
15
+Labels                  <num>           0
16
+LabelX                  <text>          X = No. (Use ML: as prefix for magiclabels, i.e.: ML:loginname (case insensetive))
17
+LabelColorX             <color>         ffffff
18
+LabelFontX              <font>          Trebuchet MS  (i.e.: Arial,14,-1,0,5,50,0)
19
+LabelCoordsX            <x,y>           centered
20
+StatusMessageX          <text>          passed by ksplash
21
+StatusColor         <color>         ffffff (White)
22
+StatusFont              <font>          Trebuchet MS
23
+StatusPosition          <x,y>           50,50
24
+LabelShadow              <boolean>      true
25
+LabelShadowColor         <color>        6d6d6d (dark gray)
26
+LabelShadowOffset            <x,y>      2,2
27
+ShowStatusText          <boolean>       true
28
+Translate               <boolean>       true (i18n i.e.: Welcome (en) -> Willkommen (de))
29
+
30
+- Images
31
+AnimationLength         <number>        30 (fading steps)
32
+AnimationDelay          <number>        30 (delay between steps in milliseconds)
33
+BeginOpacity            <number>        0.2 (value between 0 an 1)
34
+UseIconSet              <boolean>       true (use current icon set instead of 1.png, 2.png, ... (see below))
35
+IconSetSize             <number>        48 (size of icons)
36
+ImageX                  <filename>      if UseIconSet is true, you can override single icons (or all) by just giving
37
+                                        their name. they need not to be in the theme directory!
38
+                                        if UseIconSet is false, the engine searches for 1.png to 8.png by default
39
+                                        but you can also override the image names
40
+
41
+- Image Arrangement (currently a little hard to explain, just play :))
42
+AppendX                 <boolean>       true => horizontal (follow direction type) X is not a number here!
43
+ImageSpacer             <number>        if UseIconSet its IconSetSize otherwise 0 (used for auto arrangement with AppendX and -1 values)
44
+ImageCoordsX            <x,y>           -1,-1 (center vert. and horiz.)
45
+ImageOffset             <x,y>           0,0 (move images i.e. if they have unknown positions (have a look at MoodinKDE)
46
+LineUpImages            <boolean>       false (if true, icons are aligned center (See MoodinKDE))

+ 165
- 0
src/effectwidget.cpp View File

@@ -0,0 +1,165 @@
1
+/***************************************************************************
2
+ *   Copyright Sean Meiners 2004 <Sean.Meiners@LinspireInc.com>            *
3
+ *   Copyright (C) by                                                      *
4
+ *     - 2005: Christian Leh <moodwrod@web.de>                             *
5
+ *                                                                         * 
6
+ *   This program is free software; you can redistribute it and/or modify  *
7
+ *   it under the terms of the GNU General Public License (version 2) as   *
8
+ *   published by the Free Software Foundation. (The original KSplash/ML   *
9
+ *   codebase (upto version 0.95.3) is BSD-licensed.)                      *
10
+ *                                                                         *
11
+ ***************************************************************************/
12
+
13
+#include <qwidget.h>
14
+#include <qstyle.h>
15
+#include <qtimer.h>
16
+#include <qpainter.h>
17
+#include <qimage.h>
18
+
19
+#include "effectwidget.h"
20
+
21
+QImage* EffectWidget::bgImage = 0;
22
+
23
+EffectWidget::EffectWidget(QWidget* parent, const char* name)
24
+           :QWidget(parent, name)
25
+{
26
+  timer = 0;
27
+  delayMS = 20;
28
+  currentStep = 0;
29
+  totalSteps = 0;
30
+  playing = false;
31
+  loop = false;
32
+  beginOpacity = 20.0;
33
+  endOpacity = 80.0;
34
+  setBackgroundMode(NoBackground);
35
+  setBackgroundOrigin(QWidget::ParentOrigin);
36
+  updateCache();
37
+}
38
+
39
+
40
+void EffectWidget::setImage(QImage *i)
41
+{
42
+  image = i;
43
+}
44
+
45
+
46
+void EffectWidget::setDelay(int delayInMS)
47
+{
48
+  delayMS = delayInMS;
49
+
50
+  if (timer)
51
+    timer->changeInterval(delayMS);
52
+}
53
+
54
+
55
+void EffectWidget::setLoop(bool loop)
56
+{
57
+  this->loop = loop;
58
+}
59
+
60
+
61
+void EffectWidget::setSteps(int steps)
62
+{
63
+  totalSteps = steps;
64
+}
65
+
66
+
67
+void EffectWidget::start()
68
+{
69
+  if ((playing) || (!image) || (totalSteps < 1) || (image->isNull()))
70
+    return;
71
+
72
+  if (!timer)
73
+  {
74
+    timer = new QTimer(this);
75
+    connect(timer,SIGNAL(timeout()),this,SLOT(timerTick()));
76
+  }
77
+  
78
+  playing = true;
79
+  update();
80
+  timer->start(delayMS);
81
+}
82
+
83
+
84
+void EffectWidget::stop()
85
+{
86
+  if ((!playing) || (!timer))
87
+    return;
88
+
89
+  timer->stop();
90
+  playing = false;
91
+}
92
+
93
+
94
+void EffectWidget::setStart(float begin, float end, bool reverse)
95
+{
96
+  beginOpacity = begin;
97
+  endOpacity = end - beginOpacity;
98
+
99
+  if (reverse)
100
+  {
101
+    float h = beginOpacity;
102
+    beginOpacity = endOpacity;
103
+    endOpacity = h;
104
+  }
105
+}
106
+
107
+
108
+void EffectWidget::rewind()
109
+{
110
+  stop();
111
+  currentStep = 0;
112
+}
113
+
114
+
115
+void EffectWidget::timerTick()
116
+{
117
+  if (loop)
118
+  {
119
+    currentStep ++;
120
+    currentStep %= totalSteps;
121
+  }
122
+  else if (currentStep + 1 < totalSteps)
123
+    currentStep ++;
124
+  else
125
+    timer->stop();
126
+
127
+  update();
128
+}
129
+
130
+
131
+void EffectWidget::moveEvent(QMoveEvent *)
132
+{
133
+  updateCache();
134
+}
135
+
136
+
137
+void EffectWidget::resizeEvent(QResizeEvent *)
138
+{
139
+  updateCache();
140
+}
141
+
142
+
143
+void EffectWidget::updateCache()
144
+{
145
+  if (!bgImage)
146
+    return;
147
+
148
+  QPoint pos(mapToParent(QPoint(0, 0)));
149
+  background = bgImage->copy(pos.x(), pos.y(), width(), height());
150
+  bitBlt(this, 0, 0, &background);
151
+}
152
+
153
+void EffectWidget::paintEvent(QPaintEvent *)
154
+{
155
+  if (background.isNull())
156
+    return;
157
+
158
+  QImage upper = image->copy();
159
+  QImage lower = background.copy();
160
+  KImageEffect::blendOnLower(upper, lower, KImageEffect::Centered, (currentStep + 1 == totalSteps) ? 1.0 : endOpacity / float(totalSteps) * float(currentStep) + beginOpacity);
161
+
162
+  bitBlt(this, 0, 0, &lower);
163
+}
164
+
165
+#include "effectwidget.moc"

+ 69
- 0
src/effectwidget.h View File

@@ -0,0 +1,69 @@
1
+/***************************************************************************
2
+ *   Copyright Sean Meiners 2004 <Sean.Meiners@LinspireInc.com>            *
3
+ *   Copyright (C) by                                                      *
4
+ *     - 2005: Christian Leh <moodwrod@web.de>                             *
5
+ *                                                                         *
6
+ *   This program is free software; you can redistribute it and/or modify  *
7
+ *   it under the terms of the GNU General Public License (version 2) as   *
8
+ *   published by the Free Software Foundation. (The original KSplash/ML   *
9
+ *   codebase (upto version 0.95.3) is BSD-licensed.)                      *
10
+ *                                                                         *
11
+ ***************************************************************************/
12
+
13
+#ifndef FADEWIDGET_H
14
+#define FADEWIDGET_H
15
+
16
+#include <qwidget.h>
17
+#include <qptrlist.h>
18
+#include <qpixmap.h>
19
+#include <qimage.h>
20
+
21
+#include <kimageeffect.h>
22
+
23
+class QTimer;
24
+
25
+class EffectWidget : public QWidget
26
+{
27
+  Q_OBJECT
28
+
29
+ public:
30
+  EffectWidget(QWidget *parent = 0,const char *name = 0);
31
+
32
+  static void setBackgroundImage(QImage *image) { bgImage = image; }
33
+
34
+  void setImage(QImage *i);
35
+  void setDelay(int delayInMS);
36
+  void setLoop(bool loop);
37
+  void setSteps(int steps);
38
+  void setStart(float begin, float end = 1.0, bool reverse = false);
39
+
40
+  void start();
41
+  void stop();
42
+  void rewind();
43
+
44
+  void paintEvent(QPaintEvent *);
45
+  void resizeEvent(QResizeEvent *);
46
+  void moveEvent(QMoveEvent *);
47
+
48
+  void updateCache();
49
+
50
+ public slots:
51
+  void timerTick();
52
+
53
+ private:
54
+  static QImage *bgImage;
55
+
56
+  QTimer *timer;
57
+  QImage *image;
58
+  QImage background;
59
+  unsigned int delayMS;
60
+  unsigned int currentStep;
61
+  unsigned int totalSteps;
62
+  bool playing;
63
+  bool loop;
64
+  float
65
+    beginOpacity,
66
+    endOpacity;
67
+};
68
+
69
+#endif

+ 11
- 0
src/ksplashmoodin.desktop View File

@@ -0,0 +1,11 @@
1
+[Desktop Entry]
2
+Comment=KSplash Plugin
3
+Encoding=UTF-8
4
+Icon=
5
+Name=KSplashMoodin
6
+ServiceTypes=KSplash/Plugin
7
+Type=Service
8
+X-KDE-Library=ksplashmoodin
9
+X-KSplash-Default=true
10
+X-KSplash-ObjectName=ThemeMoodin
11
+X-KSplash-PluginName=Moodin

+ 92
- 0
src/magiclabel.cpp View File

@@ -0,0 +1,92 @@
1
+/***************************************************************************
2
+ *   Copyright (C) by                                                      *
3
+ *     - 2005: Christian Leh <moodwrod@web.de>                             *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ ***************************************************************************/
11
+
12
+#include <qstringlist.h>
13
+#include <qregexp.h>
14
+
15
+#include <klocale.h>
16
+#include <kuser.h>
17
+#include <kmessagebox.h>
18
+
19
+#include "magiclabel.h"
20
+
21
+// This class is still very simple (as most of the classes)
22
+// They get all improved later when "OpenGL Effect Widget" structure is completed
23
+
24
+MagicLabel::MagicLabel(QString s, bool translate)
25
+{
26
+  prefix = "ML:";
27
+  preUSER = "USER:";
28
+  preCMD = "CMD:";
29
+  mValue = s;
30
+
31
+  transform();
32
+
33
+  if (translate)
34
+    mValue = i18n(mValue);
35
+}
36
+
37
+
38
+void MagicLabel::transform()
39
+{
40
+  if (mValue.contains(prefix + preUSER))
41
+    getUserInfo();
42
+  else if (mValue.startsWith(prefix + preCMD))
43
+    getCommandOutput();
44
+}
45
+
46
+
47
+void MagicLabel::getUserInfo()
48
+{
49
+  static KUser user;
50
+
51
+  if (mValue.contains(prefix + preUSER + "loginname"))
52
+    mValue = mValue.replace(prefix + preUSER + "loginname", user.loginName());
53
+  else if (mValue.contains(prefix + preUSER + "fullname"))
54
+    mValue = mValue.replace(prefix + preUSER + "fullname", user.fullName());
55
+  else if (mValue.contains(prefix + preUSER + "homedir"))
56
+    mValue = mValue.replace(prefix + preUSER + "homedir", user.homeDir());
57
+}
58
+
59
+
60
+void MagicLabel::getCommandOutput()
61
+{
62
+  QString cmd = QStringList::split(prefix + preCMD, mValue)[0];
63
+  QStringList parts = QStringList::split(" ", cmd);
64
+
65
+  KShellProcess *proc = new KShellProcess;
66
+
67
+  for (int i = 0; i < parts.count(); i++)
68
+    *proc << parts[i];
69
+
70
+  connect(proc, SIGNAL(processExited(KProcess*)), this, SLOT(processExited(KProcess*)));
71
+  connect(proc, SIGNAL(receivedStdout(KProcess*, char*, int)), this, SLOT(receivedStdout(KProcess*, char*, int)));
72
+
73
+  mValue = "";
74
+
75
+  if (!proc->start(KProcess::Block, KProcess::Stdout))
76
+    KMessageBox::information(0, QString("Could not start process: %1").arg(cmd));
77
+}
78
+
79
+
80
+void MagicLabel::receivedStdout(KProcess *proc, char *buffer, int buflen)
81
+{
82
+  QString buf = QString::fromLatin1(buffer, buflen);
83
+  mValue += buf.replace("\n", "");
84
+}
85
+
86
+
87
+void MagicLabel::processExited(KProcess* proc)
88
+{
89
+  delete proc;
90
+}
91
+
92
+#include "magiclabel.moc"

+ 44
- 0
src/magiclabel.h View File

@@ -0,0 +1,44 @@
1
+/***************************************************************************
2
+ *   Copyright (C) by                                                      *
3
+ *     - 2005: Christian Leh <moodwrod@web.de>                             *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ ***************************************************************************/
11
+
12
+#ifndef MAGICLABEL_H
13
+#define MAGICLABEL_H
14
+
15
+#include <qstring.h>
16
+
17
+#include <kprocess.h>
18
+
19
+class MagicLabel : QObject
20
+{
21
+  Q_OBJECT
22
+
23
+  private:
24
+    QString prefix;
25
+    QString preUSER;
26
+    QString preCMD;
27
+
28
+    QString mValue;
29
+
30
+    void transform();
31
+    void getUserInfo();
32
+    void getCommandOutput();
33
+
34
+  private slots:
35
+    void processExited(KProcess* proc);
36
+    void receivedStdout(KProcess *proc, char *buffer, int buflen);
37
+
38
+  public:
39
+    MagicLabel(QString s, bool translate);
40
+
41
+    inline QString& value() { return mValue; };
42
+};
43
+
44
+#endif

+ 114
- 0
src/scaler.cpp View File

@@ -0,0 +1,114 @@
1
+/***************************************************************************
2
+ *   Copyright (C) by                                                      *
3
+ *     - 2005: Christian Leh <moodwrod@web.de>                             *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ ***************************************************************************/
11
+
12
+#include <qfontmetrics.h>
13
+
14
+#include "scaler.h"
15
+
16
+Scaler::Scaler(QSize baseResolution, QSize targetResolution)
17
+{
18
+  mBaseResolution = baseResolution;
19
+  mTargetResolution = targetResolution;
20
+}
21
+
22
+
23
+void Scaler::autoCoords(QPoint* pt, const QFont& f, const QString& s)
24
+{
25
+  QFontMetrics fm(f);
26
+  QSize fmSize(fm.size(0L, s));
27
+
28
+  autoCoords(pt, fmSize);
29
+}
30
+
31
+
32
+void Scaler::autoCoords(QPoint* pt, const QSize s)
33
+{
34
+  scaleCoords(pt);
35
+
36
+  if ((pt->x() == -1) && (pt->y() != -1))
37
+    pt->setX(center(mTargetResolution.width(), s.width()));
38
+  else if ((pt->y() == -1) && (pt->x() != -1))
39
+    pt->setY(center(mTargetResolution.height(), s.height()));
40
+  else if (*pt == QPoint(-1, -1))
41
+    *pt = QPoint(center(mTargetResolution.width(), s.width()), center(mTargetResolution.height(), s.height()));
42
+}
43
+
44
+
45
+void Scaler::scaleCoords(QPoint* pt)
46
+{
47
+  if (mBaseResolution == mTargetResolution)
48
+    return;
49
+
50
+  int ox = pt->x();
51
+  int oy = pt->y();
52
+
53
+  float tx = float(mBaseResolution.width()) / float(ox);
54
+  float ty = float(mBaseResolution.height()) / float(oy);
55
+
56
+  int nx = intIt(float(mTargetResolution.width()) / tx);
57
+  int ny = intIt(float(mTargetResolution.height()) / ty);
58
+
59
+  pt->setX((ox == -1) ? -1 : nx);
60
+  pt->setY((oy == -1) ? -1 : ny);
61
+}
62
+
63
+
64
+bool Scaler::scaleSize(QImage* i)
65
+{
66
+  if ((!i) || !resolutionDiff())
67
+    return false;
68
+
69
+  float tx = float(mTargetResolution.width()) / float(mBaseResolution.width());
70
+  float ty = float(mTargetResolution.height()) / float(mBaseResolution.height());
71
+  int nx = intIt(float(i->width()) * tx);
72
+  int ny = intIt(float(i->height()) * ty);
73
+
74
+  *i = i->smoothScale(nx, ny);
75
+
76
+  return true;
77
+}
78
+
79
+
80
+bool Scaler::scaleSize(QFont* f)
81
+{
82
+  if ((!f) || !resolutionDiff())
83
+    return false;
84
+
85
+  const float d = 96 / 72;
86
+  const float tx = float(mTargetResolution.height()) / float(mBaseResolution.height());
87
+  float pt = f->pointSizeFloat();
88
+  int hPx = intIt(pt * d);
89
+  
90
+  f->setPixelSize(intIt(float(hPx) * tx));
91
+
92
+  return true;
93
+}
94
+
95
+
96
+bool Scaler::resolutionDiff()
97
+{
98
+  return (mBaseResolution != mTargetResolution);
99
+}
100
+
101
+
102
+int Scaler::intIt(const float v)
103
+{
104
+  float t = v - float(int(v));
105
+  float tt = (t < 0.5) ? 0 : 1;
106
+  
107
+  return int(v + tt);
108
+}
109
+
110
+
111
+int Scaler::center(const int width, const int size, int offset)
112
+{
113
+  return int(width / 2) - int(size / 2) + offset;
114
+}

+ 43
- 0
src/scaler.h View File

@@ -0,0 +1,43 @@
1
+/***************************************************************************
2
+ *   Copyright (C) by                                                      *
3
+ *     - 2005: Christian Leh <moodwrod@web.de>                             *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ ***************************************************************************/
11
+
12
+#ifndef SCALER_H
13
+#define SCALER_H
14
+
15
+#include <qpoint.h>
16
+#include <qimage.h>
17
+#include <qfont.h>
18
+
19
+class Scaler
20
+{
21
+  private:
22
+    QSize mBaseResolution;  
23
+    QSize mTargetResolution;
24
+
25
+  public:
26
+    Scaler(QSize baseResolution, QSize targetResolution);
27
+
28
+    const QSize& baseResolution() { return mBaseResolution; };
29
+    const QSize& targetResolution() { return mTargetResolution; };
30
+
31
+    void autoCoords(QPoint* pt, const QFont& f, const QString& s);
32
+    void autoCoords(QPoint* pt, const QSize s);
33
+    void scaleCoords(QPoint* pt);
34
+    bool scaleSize(QImage* i);
35
+    bool scaleSize(QFont* f);
36
+
37
+    bool resolutionDiff();
38
+  
39
+    int center(int width, int size, int offset = 0);
40
+    int intIt(const float v);
41
+};
42
+
43
+#endif

+ 419
- 0
src/thememoodin.cpp View File

@@ -0,0 +1,419 @@
1
+/***************************************************************************
2
+ *   Copyright (C) by                                                      *
3
+ *     - 2005: Christian Leh <moodwrod@web.de>                             *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ ***************************************************************************/
11
+
12
+#include <kapplication.h>
13
+#include <kconfig.h>
14
+#include <kdebug.h>
15
+#include <kgenericfactory.h>
16
+#include <kglobalsettings.h>
17
+#include <kiconloader.h>
18
+#include <klocale.h>
19
+#include <kmessagebox.h>
20
+#include <kstandarddirs.h>
21
+#include <kuser.h>
22
+
23
+#include <qlabel.h>
24
+#include <qimage.h>
25
+#include <qrect.h>
26
+#include <qpainter.h>
27
+#include <qstringlist.h>
28
+#include <qwidget.h>
29
+#include <qlayout.h>
30
+
31
+#include "magiclabel.h"
32
+#include "thememoodin.h"
33
+
34
+K_EXPORT_COMPONENT_FACTORY(ksplashmoodin, KGenericFactory<ThemeMoodin>("ksplash"))
35
+
36
+
37
+ThemeMoodin::ThemeMoodin(QWidget* parent, const char* name, const QStringList& args)
38
+            :ThemeEngine(parent, name, args)
39
+{
40
+  readSettings();
41
+  init();
42
+}
43
+
44
+
45
+void ThemeMoodin::readSettings()
46
+{
47
+  const QRect screen = kapp->desktop()->screenGeometry(mTheme->xineramaScreen());
48
+
49
+  if (!mTheme)
50
+    return;
51
+
52
+  KConfig* cfg = mTheme->themeConfig();
53
+
54
+  if (!cfg)
55
+    return;
56
+
57
+  cfg->setGroup(QString("KSplash Theme: %1").arg(mTheme->theme()));
58
+
59
+  QFont defaultFont("Trebuchet MS", 10);
60
+  QFont defaultStatusFont("Trebuchet MS", 12, QFont::Bold);
61
+  QColor defaultColor(0xFF, 0xFF, 0xFF);
62
+  QColor defaultShadowColor(0x6D, 0x6D, 0x6D);
63
+  QPoint defaultPoint(-1, -1), defaultOffset(0, 0);
64
+  QString defaultIcon;
65
+
66
+  mCurrentStatusIndex = 0;
67
+  mSplashRect = cfg->readRectEntry("SplashRect", &screen);
68
+  mBackgroundImage = cfg->readEntry("Background", QString::null);
69
+  mStatusColor = cfg->readColorEntry("StatusColor", &defaultColor);
70
+  mStatusFont = cfg->readFontEntry("StatusFont", &defaultStatusFont);
71
+  mStatusCoords = cfg->readPointEntry("StatusCoords", &defaultPoint);
72
+  mLabelShadow = cfg->readBoolEntry("LabelShadow", true);
73
+  mLabelShadowColor = cfg->readColorEntry("LabelShadowColor", &defaultShadowColor);
74
+  mShowStatusText = cfg->readBoolEntry("ShowStatusText", true);
75
+  mAnimationLength = cfg->readNumEntry("AnimationLength", 30);
76
+  mAnimationDelay = cfg->readNumEntry("AnimationDelay", 30);
77
+  mBeginOpacity = cfg->readDoubleNumEntry("BeginOpacity", 0.20);
78
+  mUseIconSet = cfg->readBoolEntry("UseIconSet", true);
79
+  mIconSetSize = cfg->readNumEntry("IconSetSize", 48);
80
+  mAppendX = cfg->readBoolEntry("AppendX", true);
81
+  mImageSpacer = cfg->readNumEntry("ImageSpacer", mUseIconSet ? mIconSetSize : 0);
82
+  mUsersBackground = cfg->readBoolEntry("UsersBackground", false);
83
+  mLabelCount = cfg->readNumEntry("Labels", 0);
84
+  mLabelShadowOffset = cfg->readPointEntry("LabelShadowOffset", new QPoint(2, 2));
85
+  mBaseResolution = cfg->readSizeEntry("BaseResolution", new QSize(1280, 1024));
86
+  mTranslate = cfg->readBoolEntry("Translate", true);
87
+  mLineUpImages = cfg->readBoolEntry("LineUpImages", false);
88
+  mKubuntuStyle = cfg->readBoolEntry("KubuntuStyle", false);
89
+
90
+  // so we can centre icons, JRiddell
91
+  int iconX = mBaseResolution.width();
92
+  int iconY = mBaseResolution.height();
93
+  QRect defaultScreen = kapp->desktop()->screenGeometry(0);
94
+  float scaleRatioWidth = ((float)mBaseResolution.width()) / ((float)defaultScreen.width());
95
+  // unused. float scaleRatioHeight = ((float)mBaseResolution.height()) / ((float)desktopWidget.height());
96
+
97
+  iconX = iconX / 2;
98
+  // first icon position calculated based on size and spacing
99
+  // Edgy Dialog.png is off centre so take off random 8 pixels
100
+  iconX = iconX - (int)((((mIconSetSize+mImageSpacer)*4) - 8) * scaleRatioWidth);
101
+  // Edgy Dialog.png is off centre so add random 20 pixels
102
+  iconY = (iconY / 2) + 20;
103
+
104
+  for (int i = 0; i < int(statusPixmaps().count()); i++)
105
+  {
106
+    if (mUseIconSet)
107
+      defaultIcon = statusPixmaps()[i];
108
+    else
109
+      defaultIcon = QString("%1.png").arg(i + 1);
110
+
111
+    mStatusIcons.append(cfg->readEntry(QString("Image%1").arg(i + 1), defaultIcon));
112
+    if (mKubuntuStyle) {
113
+      QPoint *mypoint;
114
+      mypoint = new QPoint((int)(iconX + (i * (mIconSetSize+mImageSpacer) * scaleRatioWidth)), iconY);
115
+      mStatusIconCoords.append( *mypoint );
116
+    } else {
117
+      mStatusIconCoords.append(cfg->readPointEntry(QString("ImageCoords%1").arg(i + 1), &defaultPoint));
118
+    }
119
+    mStatusImageOffsets.append(cfg->readPointEntry(QString("ImageOffset%1").arg(i + 1), &defaultOffset));
120
+    mStatusMessages.append(cfg->readEntry(QString("StatusMessage%1").arg(i + 1), QString::null));
121
+  }
122
+
123
+  for (int i = 0; i < mLabelCount; i++)
124
+  {
125
+    mLabels.append(cfg->readEntry(QString("Label%1").arg(i + 1), QString::null));
126
+    mLabelCoords.append(cfg->readPointEntry(QString("LabelCoords%1").arg(i + 1), &defaultPoint));
127
+    mLabelFonts.append(cfg->readFontEntry(QString("LabelFont%1").arg(i + 1), &defaultFont));
128
+    mLabelColors.append(cfg->readColorEntry(QString("LabelColor%1").arg(i + 1), &defaultColor));
129
+  }
130
+}
131
+
132
+
133
+void ThemeMoodin::init()
134
+{
135
+  setBackgroundMode(NoBackground);
136
+  setFixedSize(mSplashRect.size());
137
+
138
+  mContainer = new QWidget(this);
139
+  mContainer->setFixedSize(size());
140
+  mScaler = new Scaler(mBaseResolution, size());
141
+  mCache = new Cache(mScaler, mTheme->themeEngine(), mTheme->theme());
142
+  mBG = new KPixmap();
143
+  mBG->resize(size());
144
+
145
+  QPainter p;
146
+  p.begin(mBG);
147
+
148
+  initBackground(&p);
149
+  initLabels(&p);
150
+  initEffectWidgets();
151
+
152
+  p.end();
153
+
154
+  move(mSplashRect.topLeft());
155
+}
156
+
157
+
158
+void ThemeMoodin::initBackground(QPainter* p)
159
+{
160
+  if (!p)
161
+    return;
162
+
163
+  QString bgImage;
164
+
165
+  if (mUsersBackground)
166
+  {
167
+    KConfig kdesktoprc("kdesktoprc", true, false);
168
+    kdesktoprc.setGroup("Background Common");
169
+    int num = kdesktoprc.readNumEntry("DeskNum", 0);
170
+
171
+    kdesktoprc.setGroup(QString("Desktop%1").arg(num));
172
+    bgImage = kdesktoprc.readPathEntry("Wallpaper", QString::null);
173
+  }
174
+  else
175
+  {
176
+    if (!mBackgroundImage.isEmpty())
177
+      bgImage = mTheme->locateThemeData(mBackgroundImage);
178
+  }
179
+
180
+  if (bgImage.isEmpty())
181
+    bgImage = mTheme->locateThemeData(QString("Background-%1x%2.jpg").arg(width()).arg(height()));
182
+
183
+  if (bgImage.isEmpty())
184
+    bgImage = mTheme->locateThemeData("Background.jpg");
185
+
186
+  if (bgImage.isEmpty())
187
+  {
188
+    KMessageBox::error(this, i18n("No background. Try to put a Background.jpg in theme folder"));
189
+    return;
190
+  }
191
+
192
+  QImage* bg = mCache->cacheFile(bgImage);
193
+  p->drawImage(0, 0, *bg);
194
+  delete bg;
195
+
196
+  if (mKubuntuStyle) {
197
+    //central Dialogue, JRiddell
198
+    QImage* central = new QImage( mTheme->locateThemeData("Dialog.png") );
199
+    p->drawImage((mBG->width() / 2) - (462  / 2), (mBG->height() / 2) - (324  / 2), *central);
200
+    delete central;
201
+  }
202
+}
203
+
204
+void ThemeMoodin::initLabels(QPainter* p)
205
+{
206
+  if ((mLabelCount == 0) || (!p))
207
+    return;
208
+
209
+  for (int i = 0; i < mLabelCount; i++)
210
+  {
211
+    QString s = mLabels[i];
212
+    QPoint pt = mLabelCoords[i];
213
+    QColor c = mLabelColors[i];
214
+    QFont f = mLabelFonts[i];
215
+
216
+    if (s.isNull() || s.isEmpty())
217
+      continue;
218
+
219
+    MagicLabel ml(s, mTranslate);
220
+    s = ml.value();
221
+
222
+    mScaler->scaleSize(&f);
223
+    mScaler->autoCoords(&pt, f, s);
224
+
225
+    p->setFont(f);
226
+
227
+    if (mLabelShadow)
228
+    {
229
+      p->setPen(mLabelShadowColor);
230
+      p->drawText(pt + mLabelShadowOffset, s);
231
+    }
232
+
233
+    p->setPen(c);
234
+    p->drawText(pt, s);
235
+  }
236
+}
237
+
238
+
239
+void ThemeMoodin::initEffectWidgets()
240
+{
241
+  EffectWidget::setBackgroundImage(new QImage(mBG->convertToImage()));
242
+  EffectWidget *fadeWidget = 0;
243
+  QImage *image = 0;
244
+  int index = -1;
245
+
246
+  for (QStringList::ConstIterator it = mStatusIcons.constBegin(); it != mStatusIcons.constEnd(); ++it)
247
+  {
248
+    index++;
249
+
250
+    if (mUseIconSet)
251
+    {
252
+      if ((*it).isEmpty())
253
+        continue;
254
+
255
+      // TODO: use cache in iconset mode
256
+      QPixmap* px = new QPixmap(DesktopIcon(*it, mIconSetSize));
257
+      image = new QImage(px->convertToImage());
258
+      // JRiddell don't scale icons 
259
+      if (!mKubuntuStyle) {
260
+        mScaler->scaleSize(image);
261
+      }
262
+    }
263
+    else
264
+    {
265
+      QString name = mTheme->locateThemeData(*it);
266
+ 
267
+      if (name.isEmpty())
268
+        continue;
269
+  
270
+      image = mCache->cacheFile(name);
271
+  
272
+      if (image->isNull())
273
+      {
274
+        delete image;
275
+        continue;
276
+      }
277
+    }
278
+
279
+    fadeWidget = createEffectWidget(mContainer, image);
280
+    mEffectWidgets.append(fadeWidget);
281
+    mImages.append(image);
282
+    arrangeWidget(fadeWidget, index);
283
+  }
284
+
285
+  for (EffectWidget *fw = mEffectWidgets.first(); fw; fw = mEffectWidgets.next())
286
+    fw->updateCache();
287
+}
288
+
289
+
290
+void ThemeMoodin::arrangeWidget(QWidget* w, const int index)
291
+{
292
+  QPoint current(mStatusIconCoords[index]);
293
+
294
+  if (mLineUpImages)
295
+  {
296
+    static bool first = true;
297
+
298
+    if (first)
299
+    {
300
+      int hw = mAppendX ? width() : height();
301
+      int hwi = mAppendX ? height() : width();
302
+      int icons = mStatusIcons.count() * mIconSetSize;
303
+      int spaces = (mStatusIcons.count() - 1) * mIconSetSize;// + int(float(mIconSetSize) * 0.5);
304
+      int q = int((hwi - mIconSetSize) / 2);
305
+      int r = int((hw - icons - spaces) / 2);
306
+  
307
+      int x = mAppendX ? r : q;
308
+      int y = mAppendX ? q : r;
309
+  
310
+      current.setX(x);
311
+      current.setY(y);
312
+      first = false;
313
+    }
314
+    else
315
+    {
316
+      int x = mAppendX ? mIconSetSize * 2 : 0;
317
+      int y = mAppendX ? 0 : mIconSetSize * 2;
318
+
319
+      current = mStatusIconCoords[index - 1] + QPoint(x, y);     
320
+    }
321
+  }
322
+  else
323
+  {
324
+    mScaler->autoCoords(&current, QSize(mIconSetSize, mIconSetSize));
325
+    current += mStatusImageOffsets[index];
326
+  }
327
+
328
+  mStatusIconCoords[index] = current;
329
+  w->move(current);
330
+}
331
+
332
+
333
+EffectWidget* ThemeMoodin::createEffectWidget(QWidget* parent, QImage* image)
334
+{
335
+  EffectWidget *fw = new EffectWidget(parent);
336
+
337
+  fw->hide();
338
+  fw->setBackgroundOrigin(QWidget::WindowOrigin);
339
+  fw->setDelay(mAnimationDelay);
340
+  fw->setSteps(mAnimationLength);
341
+  fw->setFixedSize(image->size());
342
+  fw->setImage(image);
343
+  fw->setStart(mBeginOpacity);
344
+  fw->show();
345
+
346
+  return fw;
347
+}
348
+
349
+
350
+void ThemeMoodin::slotSetText(const QString& s)
351
+{
352
+  if (mShowStatusText)
353
+  {
354
+    if (!mStatusMessages[mCurrentStatusIndex].isNull())
355
+      mCurrentAction = mStatusMessages[mCurrentStatusIndex];
356
+    else
357
+      mCurrentAction = s;
358
+  }
359
+}
360
+
361
+
362
+void ThemeMoodin::slotSetPixmap(const QString& s)
363
+{
364
+  if (!mEffectWidgets.count() > 0)
365
+    return;
366
+
367
+  int n = statusPixmaps().findIndex(s);
368
+
369
+  if (n == -1)
370
+    return;
371
+
372
+  mCurrentStatusIndex = n + 1;
373
+
374
+  EffectWidget *fw = mEffectWidgets.at(n);
375
+
376
+  if (fw)
377
+    fw->start();
378
+
379
+  repaint(false);
380
+}
381
+
382
+
383
+void ThemeMoodin::updateStatus()
384
+{
385
+  QPainter p;
386
+  p.begin(mContainer);
387
+
388
+  // use a copy, otherwise status messages move around
389
+  QPoint pt = mStatusCoords;
390
+  QFontMetrics fm(mStatusFont);
391
+  QSize fmSize(fm.size(0L, mCurrentAction));
392
+  
393
+  mScaler->autoCoords(&pt, fmSize);
394
+
395
+  p.setFont(mStatusFont);
396
+  
397
+  if (mLabelShadow)
398
+  {
399
+    p.setPen(mLabelShadowColor);
400
+    p.drawText(pt + mLabelShadowOffset, mCurrentAction);
401
+  }
402
+  
403
+  p.setPen(mStatusColor);
404
+  p.drawText(pt, mCurrentAction);
405
+  p.end();
406
+}
407
+
408
+
409
+void ThemeMoodin::paintEvent(QPaintEvent* pe)
410
+{
411
+  QRect r = pe->rect();
412
+
413
+  bitBlt(mContainer, r.x(), r.y(), mBG, r.x(), r.y(), r.width(), r.height());
414
+
415
+  if (mShowStatusText)
416
+    updateStatus();
417
+}
418
+
419
+#include "thememoodin.moc"

+ 129
- 0
src/thememoodin.h View File

@@ -0,0 +1,129 @@
1
+/***************************************************************************
2
+ *   Copyright (C) by                                                      *
3
+ *     - 2005: Christian Leh <moodwrod@web.de>                             *
4
+ *                                                                         *
5
+ *   This program is free software; you can redistribute it and/or modify  *
6
+ *   it under the terms of the GNU General Public License as published by  *
7
+ *   the Free Software Foundation; either version 2 of the License, or     *
8
+ *   (at your option) any later version.                                   *
9
+ *                                                                         *
10
+ ***************************************************************************/
11
+
12
+#ifndef THEMEMOODIN_H
13
+#define THEMEMOODIN_H
14
+
15
+#include <qptrlist.h>
16
+
17
+#include <kdebug.h>
18
+#include <kpixmap.h>
19
+
20
+#include <themeengine.h>
21
+#include <objkstheme.h>
22
+
23
+#include "scaler.h"
24
+#include "cache.h"
25
+#include "effectwidget.h"
26
+
27
+typedef QPtrList<EffectWidget> EffectWidgetList;
28
+typedef QValueList<QPoint> CoordsList;
29
+typedef QValueList<QColor> ColorList;
30
+typedef QValueList<QFont> FontList;
31
+typedef QPtrList<QImage> ImageList;
32
+
33
+class ThemeMoodin: public ThemeEngine
34
+{
35
+  Q_OBJECT
36
+
37
+public:
38
+  ThemeMoodin(QWidget *parent, const char *name, const QStringList& flags);
39
+
40
+  inline const QString name() { return QString("Moodin"); }
41
+  inline const int version() { return 0x042; }
42
+
43
+  static QStringList names()
44
+  {
45
+    QStringList l;
46
+
47
+    l << "Moodin";
48
+
49
+    return l;
50
+  };
51
+
52
+  static QStringList statusPixmaps()
53
+  {
54
+    QStringList l;
55
+
56
+    l << "filetypes"; // 1 filetypes
57
+    l << "exec"; // 2 exec
58
+    l << "key_bindings"; // 3 key_bindings
59
+    l << "window_list"; // 4 window_list
60
+    l << "desktop"; // 5 desktop
61
+    l << "style"; // 6 style
62
+    l << "kcmsystem"; // 7 kcmsystem
63
+    l << "go"; // 8 go
64
+
65
+    return l;
66
+  };
67
+
68
+public slots:
69
+  void slotSetText(const QString& s);
70
+  void slotSetPixmap(const QString&);
71
+
72
+private:
73
+  bool mUseIconSet;
74
+  bool mLabelShadow;
75
+  bool mShowStatusText;
76
+  bool mAppendX;
77
+  bool mUsersBackground;
78
+  bool mTranslate;
79
+  bool mLineUpImages;
80
+  bool mKubuntuStyle;
81
+  int mAnimationLength;
82
+  int mAnimationDelay;
83
+  int mIconSetSize;
84
+  int mCurrentStatusIndex;
85
+  int mImageSpacer;
86
+  int mLabelCount;
87
+  float mBeginOpacity;
88
+
89
+  QString mCurrentAction;
90
+  QString mBackgroundImage;
91
+  QStringList mStatusIcons;
92
+  QStringList mStatusMessages;
93
+  QStringList mLabels;
94
+  QColor mStatusColor;
95
+  QColor mLabelShadowColor;
96
+  QFont mStatusFont;
97
+  QPoint mStatusCoords;
98
+  QPoint mLabelShadowOffset;
99
+  QWidget* mContainer;
100
+  QSize mBaseResolution;
101
+  QRect mSplashRect;
102
+
103
+  KPixmap* mBG;
104
+
105
+  Scaler* mScaler;
106
+  Cache* mCache;
107
+
108
+  EffectWidgetList mEffectWidgets;
109
+  CoordsList mStatusIconCoords;
110
+  CoordsList mStatusImageOffsets;
111
+  CoordsList mLabelCoords;
112
+  ColorList mLabelColors;
113
+  FontList mLabelFonts;
114
+  ImageList mImages;
115
+
116
+  void init();
117
+  void initBackground(QPainter* p);
118
+  void initEffectWidgets();
119
+  void initLabels(QPainter* p);
120
+
121
+  void paintEvent(QPaintEvent* pe);
122
+  void readSettings();
123
+  void arrangeWidget(QWidget* me, const int index);
124
+  void updateStatus();
125
+
126
+  EffectWidget* createEffectWidget(QWidget *parent, QImage *image);
127
+};
128
+
129
+#endif

BIN
src/themes/FingerPrint/1.png View File


BIN
src/themes/FingerPrint/2.png View File


BIN
src/themes/FingerPrint/3.png View File


BIN
src/themes/FingerPrint/4.png View File


BIN
src/themes/FingerPrint/5.png View File


BIN
src/themes/FingerPrint/6.png View File


BIN
src/themes/FingerPrint/7.png View File


BIN
src/themes/FingerPrint/8.png View File


BIN
src/themes/FingerPrint/Background.jpg View File


BIN
src/themes/FingerPrint/Preview.png View File


+ 41
- 0
src/themes/FingerPrint/Theme.rc View File

@@ -0,0 +1,41 @@
1
+[KSplash Theme: FingerPrint]
2
+Name = FingerPrint
3
+Description = Taste your fingers (wallpaper from Dalmases http://www.deviantart.com/deviation/11180503/)
4
+Version = 1.2
5
+Author = Christian Leh <moodwrod@web.de>
6
+Homepage = http://moodwrod.com
7
+Engine = Moodin
8
+
9
+BeginOpacity = 0.1
10
+BaseResolution = 1280,1024
11
+
12
+UseIconSet = false
13
+
14
+ImageCoords1 = 682,285
15
+ImageCoords2 = 682,138
16
+ImageCoords3 = 805,239
17
+ImageCoords4 = 805,94
18
+ImageCoords5 = 928,314
19
+ImageCoords6 = 925,170