git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/ksplash-engine-moodin@1094437 283d02a7-25f6-0310-bc7c-ecb5cbfe19dav3.5.13-sru
commit
7d8a8bdafc
@ -0,0 +1,167 @@
|
||||
Basic Installation
|
||||
==================
|
||||
|
||||
These are generic installation instructions.
|
||||
|
||||
The `configure' shell script attempts to guess correct values for
|
||||
various system-dependent variables used during compilation. It uses
|
||||
those values to create a `Makefile' in each directory of the package.
|
||||
It may also create one or more `.h' files containing system-dependent
|
||||
definitions. Finally, it creates a shell script `config.status' that
|
||||
you can run in the future to recreate the current configuration, a file
|
||||
`config.cache' that saves the results of its tests to speed up
|
||||
reconfiguring, and a file `config.log' containing compiler output
|
||||
(useful mainly for debugging `configure').
|
||||
|
||||
If you need to do unusual things to compile the package, please try
|
||||
to figure out how `configure' could check whether to do them, and mail
|
||||
diffs or instructions to the address given in the `README' so they can
|
||||
be considered for the next release. If at some point `config.cache'
|
||||
contains results you don't want to keep, you may remove or edit it.
|
||||
|
||||
The file `configure.in' is used to create `configure' by a program
|
||||
called `autoconf'. You only need `configure.in' if you want to change
|
||||
it or regenerate `configure' using a newer version of `autoconf'.
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code and type
|
||||
`./configure' to configure the package for your system. If you're
|
||||
using `csh' on an old version of System V, you might need to type
|
||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
||||
`configure' itself.
|
||||
|
||||
Running `configure' takes a while. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
|
||||
3. Type `make install' to install the programs and any data files and
|
||||
documentation.
|
||||
|
||||
4. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'.
|
||||
|
||||
Compilers and Options
|
||||
=====================
|
||||
|
||||
Some systems require unusual options for compilation or linking that
|
||||
the `configure' script does not know about. You can give `configure'
|
||||
initial values for variables by setting them in the environment. Using
|
||||
a Bourne-compatible shell, you can do that on the command line like
|
||||
this:
|
||||
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
||||
|
||||
Or on systems that have the `env' program, you can do it like this:
|
||||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
||||
You can compile the package for more than one kind of computer at the
|
||||
same time, by placing the object files for each architecture in their
|
||||
own directory. To do this, you must use a version of `make' that
|
||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
||||
directory where you want the object files and executables to go and run
|
||||
the `configure' script. `configure' automatically checks for the
|
||||
source code in the directory that `configure' is in and in `..'.
|
||||
|
||||
If you have to use a `make' that does not supports the `VPATH'
|
||||
variable, you have to compile the package for one architecture at a time
|
||||
in the source code directory. After you have installed the package for
|
||||
one architecture, use `make distclean' before reconfiguring for another
|
||||
architecture.
|
||||
|
||||
Installation Names
|
||||
==================
|
||||
|
||||
By default, `make install' will install the package's files in
|
||||
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
||||
installation prefix other than `/usr/local' by giving `configure' the
|
||||
option `--prefix=PATH'.
|
||||
|
||||
You can specify separate installation prefixes for
|
||||
architecture-specific files and architecture-independent files. If you
|
||||
give `configure' the option `--exec-prefix=PATH', the package will use
|
||||
PATH as the prefix for installing programs and libraries.
|
||||
Documentation and other data files will still use the regular prefix.
|
||||
|
||||
If the package supports it, you can cause programs to be installed
|
||||
with an extra prefix or suffix on their names by giving `configure' the
|
||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
||||
|
||||
Optional Features
|
||||
=================
|
||||
|
||||
Some packages pay attention to `--enable-FEATURE' options to
|
||||
`configure', where FEATURE indicates an optional part of the package.
|
||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
||||
is something like `gnu-as' or `x' (for the X Window System). The
|
||||
`README' should mention any `--enable-' and `--with-' options that the
|
||||
package recognizes.
|
||||
|
||||
For packages that use the X Window System, `configure' can usually
|
||||
find the X include and library files automatically, but if it doesn't,
|
||||
you can use the `configure' options `--x-includes=DIR' and
|
||||
`--x-libraries=DIR' to specify their locations.
|
||||
|
||||
Specifying the System Type
|
||||
==========================
|
||||
|
||||
There may be some features `configure' can not figure out
|
||||
automatically, but needs to determine by the type of host the package
|
||||
will run on. Usually `configure' can figure that out, but if it prints
|
||||
a message saying it can not guess the host type, give it the
|
||||
`--host=TYPE' option. TYPE can either be a short name for the system
|
||||
type, such as `sun4', or a canonical name with three fields:
|
||||
CPU-COMPANY-SYSTEM
|
||||
|
||||
See the file `config.sub' for the possible values of each field. If
|
||||
`config.sub' isn't included in this package, then this package doesn't
|
||||
need to know the host type.
|
||||
|
||||
If you are building compiler tools for cross-compiling, you can also
|
||||
use the `--target=TYPE' option to select the type of system they will
|
||||
produce code for and the `--build=TYPE' option to select the type of
|
||||
system on which you are compiling the package.
|
||||
|
||||
Sharing Defaults
|
||||
================
|
||||
|
||||
If you want to set default values for `configure' scripts to share,
|
||||
you can create a site shell script called `config.site' that gives
|
||||
default values for variables like `CC', `cache_file', and `prefix'.
|
||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||
`CONFIG_SITE' environment variable to the location of the site script.
|
||||
A warning: not all `configure' scripts look for a site script.
|
||||
|
||||
Operation Controls
|
||||
==================
|
||||
|
||||
`configure' recognizes the following options to control how it
|
||||
operates.
|
||||
|
||||
`--cache-file=FILE'
|
||||
Use and save the results of the tests in FILE instead of
|
||||
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
||||
debugging `configure'.
|
||||
|
||||
`--help'
|
||||
Print a summary of the options to `configure', and exit.
|
||||
|
||||
`--quiet'
|
||||
`--silent'
|
||||
`-q'
|
||||
Do not print messages saying which checks are being made.
|
||||
|
||||
`--srcdir=DIR'
|
||||
Look for the package's source code in directory DIR. Usually
|
||||
`configure' can determine that directory automatically.
|
||||
|
||||
`--version'
|
||||
Print the version of Autoconf used to generate the `configure'
|
||||
script, and exit.
|
||||
|
||||
`configure' also accepts some other, not widely useful, options.
|
||||
|
@ -0,0 +1,22 @@
|
||||
SUBDIRS = $(TOPSUBDIRS)
|
||||
|
||||
$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs
|
||||
cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in ;
|
||||
|
||||
$(top_srcdir)/subdirs:
|
||||
cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs
|
||||
|
||||
$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in
|
||||
@cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4
|
||||
|
||||
MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 configure.files
|
||||
|
||||
package-messages:
|
||||
cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common package-messages
|
||||
$(MAKE) -C po merge
|
||||
|
||||
EXTRA_DIST = admin COPYING configure.in.in
|
||||
|
||||
dist-hook:
|
||||
cd $(top_distdir) && perl admin/am_edit -padmin
|
||||
cd $(top_distdir) && $(MAKE) -f admin/Makefile.common subdirs
|
@ -0,0 +1,10 @@
|
||||
all:
|
||||
@echo "This Makefile is only for the CVS repository"
|
||||
@echo "This will be deleted before making the distribution"
|
||||
@echo ""
|
||||
$(MAKE) -f admin/Makefile.common cvs
|
||||
|
||||
dist:
|
||||
$(MAKE) -f admin/Makefile.common dist
|
||||
|
||||
.SILENT:
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,244 @@
|
||||
/* config.h.in. Generated from configure.in by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <Carbon/Carbon.h> header file. */
|
||||
#undef HAVE_CARBON_CARBON_H
|
||||
|
||||
/* Define if you have the CoreAudio API */
|
||||
#undef HAVE_COREAUDIO
|
||||
|
||||
/* Define to 1 if you have the <crt_externs.h> header file. */
|
||||
#undef HAVE_CRT_EXTERNS_H
|
||||
|
||||
/* Defines if your system has the crypt function */
|
||||
#undef HAVE_CRYPT
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define if you have libjpeg */
|
||||
#undef HAVE_LIBJPEG
|
||||
|
||||
/* Define if you have libpng */
|
||||
#undef HAVE_LIBPNG
|
||||
|
||||
/* Define if you have a working libpthread (will enable threaded code) */
|
||||
#undef HAVE_LIBPTHREAD
|
||||
|
||||
/* Define if you have libz */
|
||||
#undef HAVE_LIBZ
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define if your system needs _NSGetEnviron to set up the environment */
|
||||
#undef HAVE_NSGETENVIRON
|
||||
|
||||
/* Define if you have res_init */
|
||||
#undef HAVE_RES_INIT
|
||||
|
||||
/* Define if you have the res_init prototype */
|
||||
#undef HAVE_RES_INIT_PROTO
|
||||
|
||||
/* Define if you have a STL implementation by SGI */
|
||||
#undef HAVE_SGI_STL
|
||||
|
||||
/* Define to 1 if you have the `snprintf' function. */
|
||||
#undef HAVE_SNPRINTF
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define if you have strlcat */
|
||||
#undef HAVE_STRLCAT
|
||||
|
||||
/* Define if you have the strlcat prototype */
|
||||
#undef HAVE_STRLCAT_PROTO
|
||||
|
||||
/* Define if you have strlcpy */
|
||||
#undef HAVE_STRLCPY
|
||||
|
||||
/* Define if you have the strlcpy prototype */
|
||||
#undef HAVE_STRLCPY_PROTO
|
||||
|
||||
/* Define to 1 if you have the <sys/bitypes.h> header file. */
|
||||
#undef HAVE_SYS_BITYPES_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to 1 if you have the `vsnprintf' function. */
|
||||
#undef HAVE_VSNPRINTF
|
||||
|
||||
/* Suffix for lib directories */
|
||||
#undef KDELIBSUFF
|
||||
|
||||
/* Define a safe value for MAXPATHLEN */
|
||||
#undef KDEMAXPATHLEN
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* The size of a `char *', as computed by sizeof. */
|
||||
#undef SIZEOF_CHAR_P
|
||||
|
||||
/* The size of a `int', as computed by sizeof. */
|
||||
#undef SIZEOF_INT
|
||||
|
||||
/* The size of a `long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
/* The size of a `short', as computed by sizeof. */
|
||||
#undef SIZEOF_SHORT
|
||||
|
||||
/* The size of a `size_t', as computed by sizeof. */
|
||||
#undef SIZEOF_SIZE_T
|
||||
|
||||
/* The size of a `unsigned long', as computed by sizeof. */
|
||||
#undef SIZEOF_UNSIGNED_LONG
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* Defined if compiling without arts */
|
||||
#undef WITHOUT_ARTS
|
||||
|
||||
/* Define to 1 if your processor stores words with the most significant byte
|
||||
first (like Motorola and SPARC, unlike Intel and VAX). */
|
||||
#undef WORDS_BIGENDIAN
|
||||
|
||||
/*
|
||||
* jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
|
||||
* headers and I'm too lazy to write a configure test as long as only
|
||||
* unixware is related
|
||||
*/
|
||||
#ifdef _UNIXWARE
|
||||
#define HAVE_BOOLEAN
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
|
||||
* that defines bzero.
|
||||
*/
|
||||
|
||||
#if defined(_AIX)
|
||||
#include <strings.h>
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
|
||||
# include <sys/time.h>
|
||||
# include <crt_externs.h>
|
||||
# define environ (*_NSGetEnviron())
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if !defined(HAVE_RES_INIT_PROTO)
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
int res_init(void);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if !defined(HAVE_STRLCAT_PROTO)
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
unsigned long strlcat(char*, const char*, unsigned long);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if !defined(HAVE_STRLCPY_PROTO)
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
unsigned long strlcpy(char*, const char*, unsigned long);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* On HP-UX, the declaration of vsnprintf() is needed every time !
|
||||
*/
|
||||
|
||||
#if !defined(HAVE_VSNPRINTF) || defined(hpux)
|
||||
#if __STDC__
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#else
|
||||
#include <varargs.h>
|
||||
#endif
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
int snprintf(char *str, size_t n, char const *fmt, ...);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if defined(__SVR4) && !defined(__svr4__)
|
||||
#define __svr4__ 1
|
||||
#endif
|
||||
|
||||
|
||||
/* type to use in place of socklen_t if not defined */
|
||||
#undef kde_socklen_t
|
||||
|
||||
/* type to use in place of socklen_t if not defined (deprecated, use
|
||||
kde_socklen_t) */
|
||||
#undef ksize_t
|
@ -0,0 +1,347 @@
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by configure, which was
|
||||
generated by GNU Autoconf 2.59. Invocation command line was
|
||||
|
||||
$ ./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
|
||||
|
||||
## --------- ##
|
||||
## Platform. ##
|
||||
## --------- ##
|
||||
|
||||
hostname = argus4
|
||||
uname -m = x86_64
|
||||
uname -r = 2.6.31-16-generic
|
||||
uname -s = Linux
|
||||
uname -v = #53-Ubuntu SMP Tue Dec 8 04:02:15 UTC 2009
|
||||
|
||||
/usr/bin/uname -p = unknown
|
||||
/bin/uname -X = unknown
|
||||
|
||||
/bin/arch = unknown
|
||||
/usr/bin/arch -k = unknown
|
||||
/usr/convex/getsysinfo = unknown
|
||||
hostinfo = unknown
|
||||
/bin/machine = unknown
|
||||
/usr/bin/oslevel = unknown
|
||||
/bin/universe = unknown
|
||||
|
||||
PATH: /opt/kde3/bin
|
||||
PATH: /opt/kde3/games
|
||||
PATH: /opt/kde3/bin
|
||||
PATH: /home/eldarion/bin
|
||||
PATH: /usr/local/sbin
|
||||
PATH: /usr/local/bin
|
||||
PATH: /usr/sbin
|
||||
PATH: /usr/bin
|
||||
PATH: /sbin
|
||||
PATH: /bin
|
||||
PATH: /usr/games
|
||||
|
||||
|
||||
## ----------- ##
|
||||
## Core tests. ##
|
||||
## ----------- ##
|
||||
|
||||
configure:1563: checking build system type
|
||||
configure:1581: result: x86_64-pc-linux-gnu
|
||||
configure:1589: checking host system type
|
||||
configure:1603: result: x86_64-pc-linux-gnu
|
||||
configure:1611: checking target system type
|
||||
configure:1625: result: x86_64-pc-linux-gnu
|
||||
configure:1672: checking for a BSD-compatible install
|
||||
configure:1727: result: /usr/bin/install -c
|
||||
configure:1742: checking for -p flag to install
|
||||
configure:1755: result: yes
|
||||
configure:1766: checking whether build environment is sane
|
||||
|
||||
## ---------------- ##
|
||||
## Cache variables. ##
|
||||
## ---------------- ##
|
||||
|
||||
ac_cv_build=x86_64-pc-linux-gnu
|
||||
ac_cv_build_alias=x86_64-linux-gnu
|
||||
ac_cv_env_CC_set=
|
||||
ac_cv_env_CC_value=
|
||||
ac_cv_env_CFLAGS_set=set
|
||||
ac_cv_env_CFLAGS_value='-Wall -g -O2 -Wl,-z,defs'
|
||||
ac_cv_env_CPPFLAGS_set=set
|
||||
ac_cv_env_CPPFLAGS_value=
|
||||
ac_cv_env_CPP_set=
|
||||
ac_cv_env_CPP_value=
|
||||
ac_cv_env_CXXCPP_set=
|
||||
ac_cv_env_CXXCPP_value=
|
||||
ac_cv_env_CXXFLAGS_set=set
|
||||
ac_cv_env_CXXFLAGS_value='-g -O2'
|
||||
ac_cv_env_CXX_set=
|
||||
ac_cv_env_CXX_value=
|
||||
ac_cv_env_F77_set=
|
||||
ac_cv_env_F77_value=
|
||||
ac_cv_env_FFLAGS_set=set
|
||||
ac_cv_env_FFLAGS_value='-g -O2'
|
||||
ac_cv_env_LDFLAGS_set=set
|
||||
ac_cv_env_LDFLAGS_value=-Wl,-Bsymbolic-functions
|
||||
ac_cv_env_build_alias_set=set
|
||||
ac_cv_env_build_alias_value=x86_64-linux-gnu
|
||||
ac_cv_env_host_alias_set=set
|
||||
ac_cv_env_host_alias_value=x86_64-linux-gnu
|
||||
ac_cv_env_target_alias_set=
|
||||
ac_cv_env_target_alias_value=
|
||||
ac_cv_host=x86_64-pc-linux-gnu
|
||||
ac_cv_host_alias=x86_64-linux-gnu
|
||||
ac_cv_path_install='/usr/bin/install -c'
|
||||
ac_cv_target=x86_64-pc-linux-gnu
|
||||
ac_cv_target_alias=x86_64-linux-gnu
|
||||
|
||||
## ----------------- ##
|
||||
## Output variables. ##
|
||||
## ----------------- ##
|
||||
|
||||
ACLOCAL=''
|
||||
AMDEPBACKSLASH=''
|
||||
AMDEP_FALSE=''
|
||||
AMDEP_TRUE=''
|
||||
AMTAR=''
|
||||
AR=''
|
||||
ARTSCCONFIG=''
|
||||
AUTOCONF=''
|
||||
AUTODIRS=''
|
||||
AUTOHEADER=''
|
||||
AUTOMAKE=''
|
||||
AWK=''
|
||||
CC=''
|
||||
CCDEPMODE=''
|
||||
CFLAGS='-Wall -g -O2 -Wl,-z,defs'
|
||||
CONF_FILES=''
|
||||
CPP=''
|
||||
CPPFLAGS=''
|
||||
CXX=''
|
||||
CXXCPP=''
|
||||
CXXDEPMODE=''
|
||||
CXXFLAGS='-g -O2'
|
||||
CYGPATH_W=''
|
||||
DCOPIDL2CPP=''
|
||||
DCOPIDL=''
|
||||
DCOPIDLNG=''
|
||||
DCOP_DEPENDENCIES=''
|
||||
DEFS=''
|
||||
DEPDIR=''
|
||||
ECHO='echo'
|
||||
ECHO_C=''
|
||||
ECHO_N='-n'
|
||||
ECHO_T=''
|
||||
EGREP=''
|
||||
ENABLE_PERMISSIVE_FLAG=''
|
||||
EXEEXT=''
|
||||
F77=''
|
||||
FFLAGS='-g -O2'
|
||||
FRAMEWORK_COREAUDIO=''
|
||||
GMSGFMT=''
|
||||
HAVE_GCC_VISIBILITY=''
|
||||
INSTALL_DATA='${INSTALL} -m 644'
|
||||
INSTALL_PROGRAM='${INSTALL} $(INSTALL_STRIP_FLAG)'
|
||||
INSTALL_SCRIPT='${INSTALL}'
|
||||
INSTALL_STRIP_PROGRAM=''
|
||||
KCFG_DEPENDENCIES=''
|
||||
KCONFIG_COMPILER=''
|
||||
KDECONFIG=''
|
||||
KDE_CHECK_PLUGIN=''
|
||||
KDE_EXTRA_RPATH=''
|
||||
KDE_INCLUDES=''
|
||||
KDE_LDFLAGS=''
|
||||
KDE_MT_LDFLAGS=''
|
||||
KDE_MT_LIBS=''
|
||||
KDE_NO_UNDEFINED=''
|
||||
KDE_PLUGIN=''
|
||||
KDE_RPATH=''
|
||||
KDE_USE_CLOSURE_FALSE=''
|
||||
KDE_USE_CLOSURE_TRUE=''
|
||||
KDE_USE_FINAL_FALSE=''
|
||||
KDE_USE_FINAL_TRUE=''
|
||||
KDE_USE_NMCHECK_FALSE=''
|
||||
KDE_USE_NMCHECK_TRUE=''
|
||||
KDE_XSL_STYLESHEET=''
|
||||
LDFLAGS='-Wl,-Bsymbolic-functions'
|
||||
LDFLAGS_AS_NEEDED=''
|
||||
LDFLAGS_NEW_DTAGS=''
|
||||
LIBCOMPAT=''
|
||||
LIBCRYPT=''
|
||||
LIBDL=''
|
||||
LIBJPEG=''
|
||||
LIBOBJS=''
|
||||
LIBPNG=''
|
||||
LIBPTHREAD=''
|
||||
LIBRESOLV=''
|
||||
LIBS=''
|
||||
LIBSM=''
|
||||
LIBSOCKET=''
|
||||
LIBTOOL=''
|
||||
LIBUCB=''
|
||||
LIBUTIL=''
|
||||
LIBZ=''
|
||||
LIB_KAB=''
|
||||
LIB_KABC=''
|
||||
LIB_KDECORE=''
|
||||
LIB_KDED=''
|
||||
LIB_KDEPIM=''
|
||||
LIB_KDEPRINT=''
|
||||
LIB_KDEUI=''
|
||||
LIB_KDNSSD=''
|
||||
LIB_KFILE=''
|
||||
LIB_KFM=''
|
||||
LIB_KHTML=''
|
||||
LIB_KIMPROXY=''
|
||||
LIB_KIO=''
|
||||
LIB_KJS=''
|
||||
LIB_KNEWSTUFF=''
|
||||
LIB_KPARTS=''
|
||||
LIB_KSPELL=''
|
||||
LIB_KSYCOCA=''
|
||||
LIB_KUNITTEST=''
|
||||
LIB_KUTILS=''
|
||||
LIB_POLL=''
|
||||
LIB_QPE=''
|
||||
LIB_QT=''
|
||||
LIB_SMB=''
|
||||
LIB_X11=''
|
||||
LIB_XEXT=''
|
||||
LIB_XRENDER=''
|
||||
LN_S=''
|
||||
LTLIBOBJS=''
|
||||
MAKEINFO=''
|
||||
MAKEKDEWIDGETS=''
|
||||
MCOPIDL=''
|
||||
MEINPROC=''
|
||||
MOC=''
|
||||
MSGFMT=''
|
||||
NOOPT_CFLAGS=''
|
||||
NOOPT_CXXFLAGS=''
|
||||
OBJEXT=''
|
||||
PACKAGE=''
|
||||
PACKAGE_BUGREPORT=''
|
||||
PACKAGE_NAME=''
|
||||
PACKAGE_STRING=''
|
||||
PACKAGE_TARNAME=''
|
||||
PACKAGE_VERSION=''
|
||||
PATH_SEPARATOR=':'
|
||||
PERL=''
|
||||
QTE_NORTTI=''
|
||||
QT_INCLUDES=''
|
||||
QT_LDFLAGS=''
|
||||
RANLIB=''
|
||||
SET_MAKE=''
|
||||
SHELL='/bin/bash'
|
||||
STRIP=''
|
||||
TOPSUBDIRS=''
|
||||
UIC=''
|
||||
UIC_TR=''
|
||||
USER_INCLUDES=''
|
||||
USER_LDFLAGS=''
|
||||
USE_EXCEPTIONS=''
|
||||
USE_RTTI=''
|
||||
USE_THREADS=''
|
||||
VERSION=''
|
||||
WOVERLOADED_VIRTUAL=''
|
||||
XGETTEXT=''
|
||||
XMLLINT=''
|
||||
X_EXTRA_LIBS=''
|
||||
X_INCLUDES=''
|
||||
X_LDFLAGS=''
|
||||
X_PRE_LIBS=''
|
||||
X_RPATH=''
|
||||
ac_ct_AR=''
|
||||
ac_ct_CC=''
|
||||
ac_ct_CXX=''
|
||||
ac_ct_F77=''
|
||||
ac_ct_RANLIB=''
|
||||
ac_ct_STRIP=''
|
||||
all_includes=''
|
||||
all_libraries=''
|
||||
am__fastdepCC_FALSE=''
|
||||
am__fastdepCC_TRUE=''
|
||||
am__fastdepCXX_FALSE=''
|
||||
am__fastdepCXX_TRUE=''
|
||||
am__include=''
|
||||
am__leading_dot=''
|
||||
am__quote=''
|
||||
bindir='${exec_prefix}/bin'
|
||||
build='x86_64-pc-linux-gnu'
|
||||
build_alias='x86_64-linux-gnu'
|
||||
build_cpu='x86_64'
|
||||
build_os='linux-gnu'
|
||||
build_vendor='pc'
|
||||
datadir='${prefix}/share'
|
||||
exec_prefix='NONE'
|
||||
host='x86_64-pc-linux-gnu'
|
||||
host_alias='x86_64-linux-gnu'
|
||||
host_cpu='x86_64'
|
||||
host_os='linux-gnu'
|
||||
host_vendor='pc'
|
||||
include_ARTS_FALSE=''
|
||||
include_ARTS_TRUE=''
|
||||
include_x11_FALSE=''
|
||||
include_x11_TRUE=''
|
||||
includedir='/opt/kde3/include/kde'
|
||||
infodir='/opt/kde3/share/info'
|
||||
install_sh=''
|
||||
kde_appsdir=''
|
||||
kde_bindir=''
|
||||
kde_confdir='/etc/kde3'
|
||||
kde_datadir=''
|
||||
kde_htmldir='/opt/kde3/share/doc/kde/HTML'
|
||||
kde_icondir=''
|
||||
kde_includes=''
|
||||
kde_kcfgdir=''
|
||||
kde_libraries=''
|
||||
kde_libs_htmldir=''
|
||||
kde_libs_prefix=''
|
||||
kde_locale=''
|
||||
kde_mimedir=''
|
||||
kde_moduledir=''
|
||||
kde_qtver=''
|
||||
kde_servicesdir=''
|
||||
kde_servicetypesdir=''
|
||||
kde_sounddir=''
|
||||
kde_styledir=''
|
||||
kde_templatesdir=''
|
||||
kde_wallpaperdir=''
|
||||
kde_widgetdir=''
|
||||
kdeinitdir=''
|
||||
libdir='${exec_prefix}/lib'
|
||||
libexecdir='${exec_prefix}/libexec'
|
||||
localstatedir='${prefix}/var'
|
||||
mandir='/opt/kde3/share/man'
|
||||
oldincludedir='/usr/include'
|
||||
prefix='/opt/kde3'
|
||||
program_transform_name='s,x,x,'
|
||||
qt_includes=''
|
||||
qt_libraries=''
|
||||
sbindir='${exec_prefix}/sbin'
|
||||
sharedstatedir='${prefix}/com'
|
||||
sysconfdir='/etc'
|
||||
target='x86_64-pc-linux-gnu'
|
||||
target_alias=''
|
||||
target_cpu='x86_64'
|
||||
target_os='linux-gnu'
|
||||
target_vendor='pc'
|
||||
unsermake_enable_pch_FALSE=''
|
||||
unsermake_enable_pch_TRUE=''
|
||||
x_includes='NONE'
|
||||
x_libraries='NONE'
|
||||
xdg_appsdir=''
|
||||
xdg_directorydir=''
|
||||
xdg_menudir=''
|
||||
|
||||
## ----------- ##
|
||||
## confdefs.h. ##
|
||||
## ----------- ##
|
||||
|
||||
#define PACKAGE_BUGREPORT ""
|
||||
#define PACKAGE_NAME ""
|
||||
#define PACKAGE_STRING ""
|
||||
#define PACKAGE_TARNAME ""
|
||||
#define PACKAGE_VERSION ""
|
||||
|
||||
configure: caught signal 2
|
||||
configure: exit 1
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,2 @@
|
||||
./admin/configure.in.min
|
||||
configure.in.in
|
@ -0,0 +1,105 @@
|
||||
dnl =======================================================
|
||||
dnl FILE: ./admin/configure.in.min
|
||||
dnl =======================================================
|
||||
|
||||
dnl This file is part of the KDE libraries/packages
|
||||
dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
|
||||
|
||||
dnl This file is free software; you can redistribute it and/or
|
||||
dnl modify it under the terms of the GNU Library General Public
|
||||
dnl License as published by the Free Software Foundation; either
|
||||
dnl version 2 of the License, or (at your option) any later version.
|
||||
|
||||
dnl This library is distributed in the hope that it will be useful,
|
||||
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
dnl Library General Public License for more details.
|
||||
|
||||
dnl You should have received a copy of the GNU Library General Public License
|
||||
dnl along with this library; see the file COPYING.LIB. If not, write to
|
||||
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
dnl Boston, MA 02110-1301, USA.
|
||||
|
||||
# Original Author was Kalle@kde.org
|
||||
# I lifted it in some mater. (Stephan Kulow)
|
||||
# I used much code from Janos Farkas
|
||||
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_INIT(acinclude.m4) dnl a source file from your sub dir
|
||||
|
||||
dnl This is so we can use kde-common
|
||||
AC_CONFIG_AUX_DIR(admin)
|
||||
|
||||
dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
|
||||
unset CDPATH
|
||||
|
||||
dnl Checking host/target/build systems, for make, install etc.
|
||||
AC_CANONICAL_SYSTEM
|
||||
dnl Perform program name transformation
|
||||
AC_ARG_PROGRAM
|
||||
|
||||
dnl Automake doc recommends to do this only here. (Janos)
|
||||
AM_INIT_AUTOMAKE(ksplash, 0.1) dnl searches for some needed programs
|
||||
|
||||
KDE_SET_PREFIX
|
||||
|
||||
dnl generate the config header
|
||||
AM_CONFIG_HEADER(config.h) dnl at the distribution this done
|
||||
|
||||
dnl Checks for programs.
|
||||
AC_CHECK_COMPILERS
|
||||
AC_ENABLE_SHARED(yes)
|
||||
AC_ENABLE_STATIC(no)
|
||||
KDE_PROG_LIBTOOL
|
||||
|
||||
dnl for NLS support. Call them in this order!
|
||||
dnl WITH_NLS is for the po files
|
||||
AM_KDE_WITH_NLS
|
||||
|
||||
KDE_USE_QT(3.0.0)
|
||||
AC_PATH_KDE
|
||||
dnl =======================================================
|
||||
dnl FILE: configure.in.in
|
||||
dnl =======================================================
|
||||
|
||||
#MIN_CONFIG(3.0.0)
|
||||
|
||||
dnl PACKAGE set before
|
||||
AC_C_BIGENDIAN
|
||||
AC_CHECK_KDEMAXPATHLEN
|
||||
|
||||
KDE_CREATE_SUBDIRSLIST
|
||||
AC_CONFIG_FILES([ Makefile ])
|
||||
AC_CONFIG_FILES([ src/Makefile ])
|
||||
AC_OUTPUT
|
||||
# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
|
||||
if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
|
||||
# And if so, warn when they don't match
|
||||
if test "$kde_libs_prefix" != "$given_prefix"; then
|
||||
# And if kde doesn't know about the prefix yet
|
||||
echo ":"`kde-config --path exe`":" | grep ":$given_prefix/bin/:" 2>&1 >/dev/null
|
||||
if test $? -ne 0; then
|
||||
echo ""
|
||||
echo "Warning: you chose to install this package in $given_prefix,"
|
||||
echo "but KDE was found in $kde_libs_prefix."
|
||||
echo "For this to work, you will need to tell KDE about the new prefix, by ensuring"
|
||||
echo "that KDEDIRS contains it, e.g. export KDEDIRS=$given_prefix:$kde_libs_prefix"
|
||||
echo "Then restart KDE."
|
||||
echo ""
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$all_tests" = "bad"; then
|
||||
if test ! "$cache_file" = "/dev/null"; then
|
||||
echo ""
|
||||
echo "Please remove the file $cache_file after changing your setup"
|
||||
echo "so that configure will find the changes next time."
|
||||
echo ""
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
echo "Good - your configure finished. Start make now"
|
||||
echo ""
|
||||
fi
|
@ -0,0 +1,6 @@
|
||||
#MIN_CONFIG(3.0.0)
|
||||
|
||||
AM_INIT_AUTOMAKE(ksplash, 0.1)
|
||||
AC_C_BIGENDIAN
|
||||
AC_CHECK_KDEMAXPATHLEN
|
||||
|
@ -0,0 +1,19 @@
|
||||
INCLUDES = $(all_includes) -I$(kde_includes)/ksplash
|
||||
|
||||
kde_module_LTLIBRARIES = ksplashmoodin.la
|
||||
|
||||
ksplashmoodin_la_SOURCES = thememoodin.cpp effectwidget.cpp cache.cpp magiclabel.cpp scaler.cpp
|
||||
ksplashmoodin_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) -module $(KDE_PLUGIN)
|
||||
ksplashmoodin_la_LIBADD = $(LIB_KDEUI) -lksplashthemes
|
||||
|
||||
METASOURCES = AUTO
|
||||
|
||||
noinst_HEADERS = thememoodin.h effectwidget.h cache.h magiclabel.h scaler.h
|
||||
|
||||
servicesdir = $(kde_servicesdir)
|
||||
services_DATA = ksplashmoodin.desktop
|
||||
|
||||
themeMoodinKDEdir = $(kde_datadir)/ksplash/Themes/MoodinKDE
|
||||
themeMoodinKDE_DATA = themes/MoodinKDE/*
|
||||
themeFingerPrintdir = $(kde_datadir)/ksplash/Themes/FingerPrint
|
||||
themeFingerPrint_DATA = themes/FingerPrint/*
|
@ -0,0 +1,54 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) by *
|
||||
* - 2005: Christian Leh <moodwrod@web.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include <kuser.h>
|
||||
#include <kstandarddirs.h>
|
||||
#include <kconfig.h>
|
||||
|
||||
#include <qfileinfo.h>
|
||||
#include <qdatetime.h>
|
||||
#include <qimage.h>
|
||||
|
||||
#include "cache.h"
|
||||
|
||||
/* Disabled Cache (Michael Ummels) */
|
||||
|
||||
Cache::Cache(Scaler* scaler, const QString& themeEngine, const QString& theme)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
QImage* Cache::cacheFile(const QString& file)
|
||||
{
|
||||
return new QImage(file);
|
||||
}
|
||||
|
||||
|
||||
void Cache::createCacheDir()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void Cache::writeInfoFile(QString& file)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
bool Cache::isInSync(QString& file)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
QString Cache::getFile(QString file)
|
||||
{
|
||||
return file;
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) by *
|
||||
* - 2005: Christian Leh <moodwrod@web.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef CACHE_H
|
||||
#define CACHE_H
|
||||
|
||||
#include <qstring.h>
|
||||
#include <qsize.h>
|
||||
#include <qdir.h>
|
||||
|
||||
#include "scaler.h"
|
||||
|
||||
class Cache
|
||||
{
|
||||
private:
|
||||
QString mTheme;
|
||||
QString mThemeEngine;
|
||||
QDir mCacheDir;
|
||||
|
||||
Scaler* mScaler;
|
||||
|
||||
void createCacheDir();
|
||||
void writeInfoFile(QString& file);
|
||||
bool isInSync(QString& file);
|
||||
|
||||
QString getFile(QString file);
|
||||
|
||||
public:
|
||||
Cache(Scaler* scaler, const QString& mThemeEngine, const QString& theme);
|
||||
QImage* cacheFile(const QString& file);
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,46 @@
|
||||
|
||||
Theme.rc Options Type Default
|
||||
===============================================
|
||||
|
||||
X ^= Number from 1 to 8 (Labels are limited by "Labels" option)
|
||||
|
||||
|
||||
- General
|
||||
Background <filename> Search order: <given>.png, Background-<width>x<height>.png, Background.png
|
||||
UsersBackground <boolean> false (use the wallpaper of the current desktop)
|
||||
BaseResolution <width,height> 1280x1024 (the resolution was designed in -> NECCESSARY for auto scaling)
|
||||
SplashRect <x,y,w,h> screen size (sullscreen)
|
||||
|
||||
- Labels
|
||||
Labels <num> 0
|
||||
LabelX <text> X = No. (Use ML: as prefix for magiclabels, i.e.: ML:loginname (case insensetive))
|
||||
LabelColorX <color> ffffff
|
||||
LabelFontX <font> Trebuchet MS (i.e.: Arial,14,-1,0,5,50,0)
|
||||
LabelCoordsX <x,y> centered
|
||||
StatusMessageX <text> passed by ksplash
|
||||
StatusColor <color> ffffff (White)
|
||||
StatusFont <font> Trebuchet MS
|
||||
StatusPosition <x,y> 50,50
|
||||
LabelShadow <boolean> true
|
||||
LabelShadowColor <color> 6d6d6d (dark gray)
|
||||
LabelShadowOffset <x,y> 2,2
|
||||
ShowStatusText <boolean> true
|
||||
Translate <boolean> true (i18n i.e.: Welcome (en) -> Willkommen (de))
|
||||
|
||||
- Images
|
||||
AnimationLength <number> 30 (fading steps)
|
||||
AnimationDelay <number> 30 (delay between steps in milliseconds)
|
||||
BeginOpacity <number> 0.2 (value between 0 an 1)
|
||||
UseIconSet <boolean> true (use current icon set instead of 1.png, 2.png, ... (see below))
|
||||
IconSetSize <number> 48 (size of icons)
|
||||
ImageX <filename> if UseIconSet is true, you can override single icons (or all) by just giving
|
||||
their name. they need not to be in the theme directory!
|
||||
if UseIconSet is false, the engine searches for 1.png to 8.png by default
|
||||
but you can also override the image names
|
||||
|
||||
- Image Arrangement (currently a little hard to explain, just play :))
|
||||
AppendX <boolean> true => horizontal (follow direction type) X is not a number here!
|
||||
ImageSpacer <number> if UseIconSet its IconSetSize otherwise 0 (used for auto arrangement with AppendX and -1 values)
|
||||
ImageCoordsX <x,y> -1,-1 (center vert. and horiz.)
|
||||
ImageOffset <x,y> 0,0 (move images i.e. if they have unknown positions (have a look at MoodinKDE)
|
||||
LineUpImages <boolean> false (if true, icons are aligned center (See MoodinKDE))
|
@ -0,0 +1,165 @@
|
||||
/***************************************************************************
|
||||
* Copyright Sean Meiners 2004 <Sean.Meiners@LinspireInc.com> *
|
||||
* Copyright (C) by *
|
||||
* - 2005: Christian Leh <moodwrod@web.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License (version 2) as *
|
||||
* published by the Free Software Foundation. (The original KSplash/ML *
|
||||
* codebase (upto version 0.95.3) is BSD-licensed.) *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include <qwidget.h>
|
||||
#include <qstyle.h>
|
||||
#include <qtimer.h>
|
||||
#include <qpainter.h>
|
||||
#include <qimage.h>
|
||||
|
||||
#include "effectwidget.h"
|
||||
|
||||
QImage* EffectWidget::bgImage = 0;
|
||||
|
||||
EffectWidget::EffectWidget(QWidget* parent, const char* name)
|
||||
:QWidget(parent, name)
|
||||
{
|
||||
timer = 0;
|
||||
delayMS = 20;
|
||||
currentStep = 0;
|
||||
totalSteps = 0;
|
||||
playing = false;
|
||||
loop = false;
|
||||
beginOpacity = 20.0;
|
||||
endOpacity = 80.0;
|
||||
setBackgroundMode(NoBackground);
|
||||
setBackgroundOrigin(QWidget::ParentOrigin);
|
||||
updateCache();
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::setImage(QImage *i)
|
||||
{
|
||||
image = i;
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::setDelay(int delayInMS)
|
||||
{
|
||||
delayMS = delayInMS;
|
||||
|
||||
if (timer)
|
||||
timer->changeInterval(delayMS);
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::setLoop(bool loop)
|
||||
{
|
||||
this->loop = loop;
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::setSteps(int steps)
|
||||
{
|
||||
totalSteps = steps;
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::start()
|
||||
{
|
||||
if ((playing) || (!image) || (totalSteps < 1) || (image->isNull()))
|
||||
return;
|
||||
|
||||
if (!timer)
|
||||
{
|
||||
timer = new QTimer(this);
|
||||
connect(timer,SIGNAL(timeout()),this,SLOT(timerTick()));
|
||||
}
|
||||
|
||||
playing = true;
|
||||
update();
|
||||
timer->start(delayMS);
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::stop()
|
||||
{
|
||||
if ((!playing) || (!timer))
|
||||
return;
|
||||
|
||||
timer->stop();
|
||||
playing = false;
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::setStart(float begin, float end, bool reverse)
|
||||
{
|
||||
beginOpacity = begin;
|
||||
endOpacity = end - beginOpacity;
|
||||
|
||||
if (reverse)
|
||||
{
|
||||
float h = beginOpacity;
|
||||
beginOpacity = endOpacity;
|
||||
endOpacity = h;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::rewind()
|
||||
{
|
||||
stop();
|
||||
currentStep = 0;
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::timerTick()
|
||||
{
|
||||
if (loop)
|
||||
{
|
||||
currentStep ++;
|
||||
currentStep %= totalSteps;
|
||||
}
|
||||
else if (currentStep + 1 < totalSteps)
|
||||
currentStep ++;
|
||||
else
|
||||
timer->stop();
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::moveEvent(QMoveEvent *)
|
||||
{
|
||||
updateCache();
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::resizeEvent(QResizeEvent *)
|
||||
{
|
||||
updateCache();
|
||||
}
|
||||
|
||||
|
||||
void EffectWidget::updateCache()
|
||||
{
|
||||
if (!bgImage)
|
||||
return;
|
||||
|
||||
QPoint pos(mapToParent(QPoint(0, 0)));
|
||||
background = bgImage->copy(pos.x(), pos.y(), width(), height());
|
||||
bitBlt(this, 0, 0, &background);
|
||||
}
|
||||
|
||||
void EffectWidget::paintEvent(QPaintEvent *)
|
||||
{
|
||||
if (background.isNull())
|
||||
return;
|
||||
|
||||
QImage upper = image->copy();
|
||||
QImage lower = background.copy();
|
||||
KImageEffect::blendOnLower(upper, lower, KImageEffect::Centered, (currentStep + 1 == totalSteps) ? 1.0 : endOpacity / float(totalSteps) * float(currentStep) + beginOpacity);
|
||||
|
||||
bitBlt(this, 0, 0, &lower);
|
||||
}
|
||||
|
||||
#include "effectwidget.moc"
|
@ -0,0 +1,69 @@
|
||||
/***************************************************************************
|
||||
* Copyright Sean Meiners 2004 <Sean.Meiners@LinspireInc.com> *
|
||||
* Copyright (C) by *
|
||||
* - 2005: Christian Leh <moodwrod@web.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License (version 2) as *
|
||||
* published by the Free Software Foundation. (The original KSplash/ML *
|
||||
* codebase (upto version 0.95.3) is BSD-licensed.) *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef FADEWIDGET_H
|
||||
#define FADEWIDGET_H
|
||||
|
||||
#include <qwidget.h>
|
||||
#include <qptrlist.h>
|
||||
#include <qpixmap.h>
|
||||
#include <qimage.h>
|
||||
|
||||
#include <kimageeffect.h>
|
||||
|
||||
class QTimer;
|
||||
|
||||
class EffectWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
EffectWidget(QWidget *parent = 0,const char *name = 0);
|
||||
|
||||
static void setBackgroundImage(QImage *image) { bgImage = image; }
|
||||
|
||||
void setImage(QImage *i);
|
||||
void setDelay(int delayInMS);
|
||||
void setLoop(bool loop);
|
||||
void setSteps(int steps);
|
||||
void setStart(float begin, float end = 1.0, bool reverse = false);
|
||||
|
||||
void start();
|
||||
void stop();
|
||||
void rewind();
|
||||
|
||||
void paintEvent(QPaintEvent *);
|
||||
void resizeEvent(QResizeEvent *);
|
||||
void moveEvent(QMoveEvent *);
|
||||
|
||||
void updateCache();
|
||||
|
||||
public slots:
|
||||
void timerTick();
|
||||
|
||||
private:
|
||||
static QImage *bgImage;
|
||||
|
||||
QTimer *timer;
|
||||
QImage *image;
|
||||
QImage background;
|
||||
unsigned int delayMS;
|
||||
unsigned int currentStep;
|
||||
unsigned int totalSteps;
|
||||
bool playing;
|
||||
bool loop;
|
||||
float
|
||||
beginOpacity,
|
||||
endOpacity;
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,11 @@
|
||||
[Desktop Entry]
|
||||
Comment=KSplash Plugin
|
||||
Encoding=UTF-8
|
||||
Icon=
|
||||
Name=KSplashMoodin
|
||||
ServiceTypes=KSplash/Plugin
|
||||
Type=Service
|
||||
X-KDE-Library=ksplashmoodin
|
||||
X-KSplash-Default=true
|
||||
X-KSplash-ObjectName=ThemeMoodin
|
||||
X-KSplash-PluginName=Moodin
|
@ -0,0 +1,92 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) by *
|
||||
* - 2005: Christian Leh <moodwrod@web.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include <qstringlist.h>
|
||||
#include <qregexp.h>
|
||||
|
||||
#include <klocale.h>
|
||||
#include <kuser.h>
|
||||
#include <kmessagebox.h>
|
||||
|
||||
#include "magiclabel.h"
|
||||
|
||||
// This class is still very simple (as most of the classes)
|
||||
// They get all improved later when "OpenGL Effect Widget" structure is completed
|
||||
|
||||
MagicLabel::MagicLabel(QString s, bool translate)
|
||||
{
|
||||
prefix = "ML:";
|
||||
preUSER = "USER:";
|
||||
preCMD = "CMD:";
|
||||
mValue = s;
|
||||
|
||||
transform();
|
||||
|
||||
if (translate)
|
||||
mValue = i18n(mValue);
|
||||
}
|
||||
|
||||
|
||||
void MagicLabel::transform()
|
||||
{
|
||||
if (mValue.contains(prefix + preUSER))
|
||||
getUserInfo();
|
||||
else if (mValue.startsWith(prefix + preCMD))
|
||||
getCommandOutput();
|
||||
}
|
||||
|
||||
|
||||
void MagicLabel::getUserInfo()
|
||||
{
|
||||
static KUser user;
|
||||
|
||||
if (mValue.contains(prefix + preUSER + "loginname"))
|
||||
mValue = mValue.replace(prefix + preUSER + "loginname", user.loginName());
|
||||
else if (mValue.contains(prefix + preUSER + "fullname"))
|
||||
mValue = mValue.replace(prefix + preUSER + "fullname", user.fullName());
|
||||
else if (mValue.contains(prefix + preUSER + "homedir"))
|
||||
mValue = mValue.replace(prefix + preUSER + "homedir", user.homeDir());
|
||||
}
|
||||
|
||||
|
||||
void MagicLabel::getCommandOutput()
|
||||
{
|
||||
QString cmd = QStringList::split(prefix + preCMD, mValue)[0];
|
||||
QStringList parts = QStringList::split(" ", cmd);
|
||||
|
||||
KShellProcess *proc = new KShellProcess;
|
||||
|
||||
for (int i = 0; i < parts.count(); i++)
|
||||
*proc << parts[i];
|
||||
|
||||
connect(proc, SIGNAL(processExited(KProcess*)), this, SLOT(processExited(KProcess*)));
|
||||
connect(proc, SIGNAL(receivedStdout(KProcess*, char*, int)), this, SLOT(receivedStdout(KProcess*, char*, int)));
|
||||
|
||||
mValue = "";
|
||||
|
||||
if (!proc->start(KProcess::Block, KProcess::Stdout))
|
||||
KMessageBox::information(0, QString("Could not start process: %1").arg(cmd));
|
||||
}
|
||||
|
||||
|
||||
void MagicLabel::receivedStdout(KProcess *proc, char *buffer, int buflen)
|
||||
{
|
||||
QString buf = QString::fromLatin1(buffer, buflen);
|
||||
mValue += buf.replace("\n", "");
|
||||
}
|
||||
|
||||
|
||||
void MagicLabel::processExited(KProcess* proc)
|
||||
{
|
||||
delete proc;
|
||||
}
|
||||
|
||||
#include "magiclabel.moc"
|
@ -0,0 +1,44 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) by *
|
||||
* - 2005: Christian Leh <moodwrod@web.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef MAGICLABEL_H
|
||||
#define MAGICLABEL_H
|
||||
|
||||
#include <qstring.h>
|
||||
|
||||
#include <kprocess.h>
|
||||
|
||||
class MagicLabel : QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private:
|
||||
QString prefix;
|
||||
QString preUSER;
|
||||
QString preCMD;
|
||||
|
||||
QString mValue;
|
||||
|
||||
void transform();
|
||||
void getUserInfo();
|
||||
void getCommandOutput();
|
||||
|
||||
private slots:
|
||||
void processExited(KProcess* proc);
|
||||
void receivedStdout(KProcess *proc, char *buffer, int buflen);
|
||||
|
||||
public:
|
||||
MagicLabel(QString s, bool translate);
|
||||
|
||||
inline QString& value() { return mValue; };
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,114 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) by *
|
||||
* - 2005: Christian Leh <moodwrod@web.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include <qfontmetrics.h>
|
||||
|
||||
#include "scaler.h"
|
||||
|
||||
Scaler::Scaler(QSize baseResolution, QSize targetResolution)
|
||||
{
|
||||
mBaseResolution = baseResolution;
|
||||
mTargetResolution = targetResolution;
|
||||
}
|
||||
|
||||
|
||||
void Scaler::autoCoords(QPoint* pt, const QFont& f, const QString& s)
|
||||
{
|
||||
QFontMetrics fm(f);
|
||||
QSize fmSize(fm.size(0L, s));
|
||||
|
||||
autoCoords(pt, fmSize);
|
||||
}
|
||||
|
||||
|
||||
void Scaler::autoCoords(QPoint* pt, const QSize s)
|
||||
{
|
||||
scaleCoords(pt);
|
||||
|
||||
if ((pt->x() == -1) && (pt->y() != -1))
|
||||
pt->setX(center(mTargetResolution.width(), s.width()));
|
||||
else if ((pt->y() == -1) && (pt->x() != -1))
|
||||
pt->setY(center(mTargetResolution.height(), s.height()));
|
||||
else if (*pt == QPoint(-1, -1))
|
||||
*pt = QPoint(center(mTargetResolution.width(), s.width()), center(mTargetResolution.height(), s.height()));
|
||||
}
|
||||
|
||||
|
||||
void Scaler::scaleCoords(QPoint* pt)
|
||||
{
|
||||
if (mBaseResolution == mTargetResolution)
|
||||
return;
|
||||
|
||||
int ox = pt->x();
|
||||
int oy = pt->y();
|
||||
|
||||
float tx = float(mBaseResolution.width()) / float(ox);
|
||||
float ty = float(mBaseResolution.height()) / float(oy);
|
||||
|
||||
int nx = intIt(float(mTargetResolution.width()) / tx);
|
||||
int ny = intIt(float(mTargetResolution.height()) / ty);
|
||||
|
||||
pt->setX((ox == -1) ? -1 : nx);
|
||||
pt->setY((oy == -1) ? -1 : ny);
|
||||
}
|
||||
|
||||
|
||||
bool Scaler::scaleSize(QImage* i)
|
||||
{
|
||||
if ((!i) || !resolutionDiff())
|
||||
return false;
|
||||
|
||||
float tx = float(mTargetResolution.width()) / float(mBaseResolution.width());
|
||||
float ty = float(mTargetResolution.height()) / float(mBaseResolution.height());
|
||||
int nx = intIt(float(i->width()) * tx);
|
||||
int ny = intIt(float(i->height()) * ty);
|
||||
|
||||
*i = i->smoothScale(nx, ny);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool Scaler::scaleSize(QFont* f)
|
||||
{
|
||||
if ((!f) || !resolutionDiff())
|
||||
return false;
|
||||
|
||||
const float d = 96 / 72;
|
||||
const float tx = float(mTargetResolution.height()) / float(mBaseResolution.height());
|
||||
float pt = f->pointSizeFloat();
|
||||
int hPx = intIt(pt * d);
|
||||
|
||||
f->setPixelSize(intIt(float(hPx) * tx));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
bool Scaler::resolutionDiff()
|
||||
{
|
||||
return (mBaseResolution != mTargetResolution);
|
||||
}
|
||||
|
||||
|
||||
int Scaler::intIt(const float v)
|
||||
{
|
||||
float t = v - float(int(v));
|
||||
float tt = (t < 0.5) ? 0 : 1;
|
||||
|
||||
return int(v + tt);
|
||||
}
|
||||
|
||||
|
||||
int Scaler::center(const int width, const int size, int offset)
|
||||
{
|
||||
return int(width / 2) - int(size / 2) + offset;
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) by *
|
||||
* - 2005: Christian Leh <moodwrod@web.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef SCALER_H
|
||||
#define SCALER_H
|
||||
|
||||
#include <qpoint.h>
|
||||
#include <qimage.h>
|
||||
#include <qfont.h>
|
||||
|
||||
class Scaler
|
||||
{
|
||||
private:
|
||||
QSize mBaseResolution;
|
||||
QSize mTargetResolution;
|
||||
|
||||
public:
|
||||
Scaler(QSize baseResolution, QSize targetResolution);
|
||||
|
||||
const QSize& baseResolution() { return mBaseResolution; };
|
||||
const QSize& targetResolution() { return mTargetResolution; };
|
||||
|
||||
void autoCoords(QPoint* pt, const QFont& f, const QString& s);
|
||||
void autoCoords(QPoint* pt, const QSize s);
|
||||
void scaleCoords(QPoint* pt);
|
||||
bool scaleSize(QImage* i);
|
||||
bool scaleSize(QFont* f);
|
||||
|
||||
bool resolutionDiff();
|
||||
|
||||
int center(int width, int size, int offset = 0);
|
||||
int intIt(const float v);
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,419 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) by *
|
||||
* - 2005: Christian Leh <moodwrod@web.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#include <kapplication.h>
|
||||
#include <kconfig.h>
|
||||
#include <kdebug.h>
|
||||
#include <kgenericfactory.h>
|
||||
#include <kglobalsettings.h>
|
||||
#include <kiconloader.h>
|
||||
#include <klocale.h>
|
||||
#include <kmessagebox.h>
|
||||
#include <kstandarddirs.h>
|
||||
#include <kuser.h>
|
||||
|
||||
#include <qlabel.h>
|
||||
#include <qimage.h>
|
||||
#include <qrect.h>
|
||||
#include <qpainter.h>
|
||||
#include <qstringlist.h>
|
||||
#include <qwidget.h>
|
||||
#include <qlayout.h>
|
||||
|
||||
#include "magiclabel.h"
|
||||
#include "thememoodin.h"
|
||||
|
||||
K_EXPORT_COMPONENT_FACTORY(ksplashmoodin, KGenericFactory<ThemeMoodin>("ksplash"))
|
||||
|
||||
|
||||
ThemeMoodin::ThemeMoodin(QWidget* parent, const char* name, const QStringList& args)
|
||||
:ThemeEngine(parent, name, args)
|
||||
{
|
||||
readSettings();
|
||||
init();
|
||||
}
|
||||
|
||||
|
||||
void ThemeMoodin::readSettings()
|
||||
{
|
||||
const QRect screen = kapp->desktop()->screenGeometry(mTheme->xineramaScreen());
|
||||
|
||||
if (!mTheme)
|
||||
return;
|
||||
|
||||
KConfig* cfg = mTheme->themeConfig();
|
||||
|
||||
if (!cfg)
|
||||
return;
|
||||
|
||||
cfg->setGroup(QString("KSplash Theme: %1").arg(mTheme->theme()));
|
||||
|
||||
QFont defaultFont("Trebuchet MS", 10);
|
||||
QFont defaultStatusFont("Trebuchet MS", 12, QFont::Bold);
|
||||
QColor defaultColor(0xFF, 0xFF, 0xFF);
|
||||
QColor defaultShadowColor(0x6D, 0x6D, 0x6D);
|
||||
QPoint defaultPoint(-1, -1), defaultOffset(0, 0);
|
||||
QString defaultIcon;
|
||||
|
||||
mCurrentStatusIndex = 0;
|
||||
mSplashRect = cfg->readRectEntry("SplashRect", &screen);
|
||||
mBackgroundImage = cfg->readEntry("Background", QString::null);
|
||||
mStatusColor = cfg->readColorEntry("StatusColor", &defaultColor);
|
||||
mStatusFont = cfg->readFontEntry("StatusFont", &defaultStatusFont);
|
||||
mStatusCoords = cfg->readPointEntry("StatusCoords", &defaultPoint);
|
||||
mLabelShadow = cfg->readBoolEntry("LabelShadow", true);
|
||||
mLabelShadowColor = cfg->readColorEntry("LabelShadowColor", &defaultShadowColor);
|
||||
mShowStatusText = cfg->readBoolEntry("ShowStatusText", true);
|
||||
mAnimationLength = cfg->readNumEntry("AnimationLength", 30);
|
||||
mAnimationDelay = cfg->readNumEntry("AnimationDelay", 30);
|
||||
mBeginOpacity = cfg->readDoubleNumEntry("BeginOpacity", 0.20);
|
||||
mUseIconSet = cfg->readBoolEntry("UseIconSet", true);
|
||||
mIconSetSize = cfg->readNumEntry("IconSetSize", 48);
|
||||
mAppendX = cfg->readBoolEntry("AppendX", true);
|
||||
mImageSpacer = cfg->readNumEntry("ImageSpacer", mUseIconSet ? mIconSetSize : 0);
|
||||
mUsersBackground = cfg->readBoolEntry("UsersBackground", false);
|
||||
mLabelCount = cfg->readNumEntry("Labels", 0);
|
||||
mLabelShadowOffset = cfg->readPointEntry("LabelShadowOffset", new QPoint(2, 2));
|
||||
mBaseResolution = cfg->readSizeEntry("BaseResolution", new QSize(1280, 1024));
|
||||
mTranslate = cfg->readBoolEntry("Translate", true);
|
||||
mLineUpImages = cfg->readBoolEntry("LineUpImages", false);
|
||||
mKubuntuStyle = cfg->readBoolEntry("KubuntuStyle", false);
|
||||
|
||||
// so we can centre icons, JRiddell
|
||||
int iconX = mBaseResolution.width();
|
||||
int iconY = mBaseResolution.height();
|
||||
QRect defaultScreen = kapp->desktop()->screenGeometry(0);
|
||||
float scaleRatioWidth = ((float)mBaseResolution.width()) / ((float)defaultScreen.width());
|
||||
// unused. float scaleRatioHeight = ((float)mBaseResolution.height()) / ((float)desktopWidget.height());
|
||||
|
||||
iconX = iconX / 2;
|
||||
// first icon position calculated based on size and spacing
|
||||
// Edgy Dialog.png is off centre so take off random 8 pixels
|
||||
iconX = iconX - (int)((((mIconSetSize+mImageSpacer)*4) - 8) * scaleRatioWidth);
|
||||
// Edgy Dialog.png is off centre so add random 20 pixels
|
||||
iconY = (iconY / 2) + 20;
|
||||
|
||||
for (int i = 0; i < int(statusPixmaps().count()); i++)
|
||||
{
|
||||
if (mUseIconSet)
|
||||
defaultIcon = statusPixmaps()[i];
|
||||
else
|
||||
defaultIcon = QString("%1.png").arg(i + 1);
|
||||
|
||||
mStatusIcons.append(cfg->readEntry(QString("Image%1").arg(i + 1), defaultIcon));
|
||||
if (mKubuntuStyle) {
|
||||
QPoint *mypoint;
|
||||
mypoint = new QPoint((int)(iconX + (i * (mIconSetSize+mImageSpacer) * scaleRatioWidth)), iconY);
|
||||
mStatusIconCoords.append( *mypoint );
|
||||
} else {
|
||||
mStatusIconCoords.append(cfg->readPointEntry(QString("ImageCoords%1").arg(i + 1), &defaultPoint));
|
||||
}
|
||||
mStatusImageOffsets.append(cfg->readPointEntry(QString("ImageOffset%1").arg(i + 1), &defaultOffset));
|
||||
mStatusMessages.append(cfg->readEntry(QString("StatusMessage%1").arg(i + 1), QString::null));
|
||||
}
|
||||
|
||||
for (int i = 0; i < mLabelCount; i++)
|
||||
{
|
||||
mLabels.append(cfg->readEntry(QString("Label%1").arg(i + 1), QString::null));
|
||||
mLabelCoords.append(cfg->readPointEntry(QString("LabelCoords%1").arg(i + 1), &defaultPoint));
|
||||
mLabelFonts.append(cfg->readFontEntry(QString("LabelFont%1").arg(i + 1), &defaultFont));
|
||||
mLabelColors.append(cfg->readColorEntry(QString("LabelColor%1").arg(i + 1), &defaultColor));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ThemeMoodin::init()
|
||||
{
|
||||
setBackgroundMode(NoBackground);
|
||||
setFixedSize(mSplashRect.size());
|
||||
|
||||
mContainer = new QWidget(this);
|
||||
mContainer->setFixedSize(size());
|
||||
mScaler = new Scaler(mBaseResolution, size());
|
||||
mCache = new Cache(mScaler, mTheme->themeEngine(), mTheme->theme());
|
||||
mBG = new KPixmap();
|
||||
mBG->resize(size());
|
||||
|
||||
QPainter p;
|
||||
p.begin(mBG);
|
||||
|
||||
initBackground(&p);
|
||||
initLabels(&p);
|
||||
initEffectWidgets();
|
||||
|
||||
p.end();
|
||||
|
||||
move(mSplashRect.topLeft());
|
||||
}
|
||||
|
||||
|
||||
void ThemeMoodin::initBackground(QPainter* p)
|
||||
{
|
||||
if (!p)
|
||||
return;
|
||||
|
||||
QString bgImage;
|
||||
|
||||
if (mUsersBackground)
|
||||
{
|
||||
KConfig kdesktoprc("kdesktoprc", true, false);
|
||||
kdesktoprc.setGroup("Background Common");
|
||||
int num = kdesktoprc.readNumEntry("DeskNum", 0);
|
||||
|
||||
kdesktoprc.setGroup(QString("Desktop%1").arg(num));
|
||||
bgImage = kdesktoprc.readPathEntry("Wallpaper", QString::null);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!mBackgroundImage.isEmpty())
|
||||
bgImage = mTheme->locateThemeData(mBackgroundImage);
|
||||
}
|
||||
|
||||
if (bgImage.isEmpty())
|
||||
bgImage = mTheme->locateThemeData(QString("Background-%1x%2.jpg").arg(width()).arg(height()));
|
||||
|
||||
if (bgImage.isEmpty())
|
||||
bgImage = mTheme->locateThemeData("Background.jpg");
|
||||
|
||||
if (bgImage.isEmpty())
|
||||
{
|
||||
KMessageBox::error(this, i18n("No background. Try to put a Background.jpg in theme folder"));
|
||||
return;
|
||||
}
|
||||
|
||||
QImage* bg = mCache->cacheFile(bgImage);
|
||||
p->drawImage(0, 0, *bg);
|
||||
delete bg;
|
||||
|
||||
if (mKubuntuStyle) {
|
||||
//central Dialogue, JRiddell
|
||||
QImage* central = new QImage( mTheme->locateThemeData("Dialog.png") );
|
||||
p->drawImage((mBG->width() / 2) - (462 / 2), (mBG->height() / 2) - (324 / 2), *central);
|
||||
delete central;
|
||||
}
|
||||
}
|
||||
|
||||
void ThemeMoodin::initLabels(QPainter* p)
|
||||
{
|
||||
if ((mLabelCount == 0) || (!p))
|
||||
return;
|
||||
|
||||
for (int i = 0; i < mLabelCount; i++)
|
||||
{
|
||||
QString s = mLabels[i];
|
||||
QPoint pt = mLabelCoords[i];
|
||||
QColor c = mLabelColors[i];
|
||||
QFont f = mLabelFonts[i];
|
||||
|
||||
if (s.isNull() || s.isEmpty())
|
||||
continue;
|
||||
|
||||
MagicLabel ml(s, mTranslate);
|
||||
s = ml.value();
|
||||
|
||||
mScaler->scaleSize(&f);
|
||||
mScaler->autoCoords(&pt, f, s);
|
||||
|
||||
p->setFont(f);
|
||||
|
||||
if (mLabelShadow)
|
||||
{
|
||||
p->setPen(mLabelShadowColor);
|
||||
p->drawText(pt + mLabelShadowOffset, s);
|
||||
}
|
||||
|
||||
p->setPen(c);
|
||||
p->drawText(pt, s);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ThemeMoodin::initEffectWidgets()
|
||||
{
|
||||
EffectWidget::setBackgroundImage(new QImage(mBG->convertToImage()));
|
||||
EffectWidget *fadeWidget = 0;
|
||||
QImage *image = 0;
|
||||
int index = -1;
|
||||
|
||||
for (QStringList::ConstIterator it = mStatusIcons.constBegin(); it != mStatusIcons.constEnd(); ++it)
|
||||
{
|
||||
index++;
|
||||
|
||||
if (mUseIconSet)
|
||||
{
|
||||
if ((*it).isEmpty())
|
||||
continue;
|
||||
|
||||
// TODO: use cache in iconset mode
|
||||
QPixmap* px = new QPixmap(DesktopIcon(*it, mIconSetSize));
|
||||
image = new QImage(px->convertToImage());
|
||||
// JRiddell don't scale icons
|
||||
if (!mKubuntuStyle) {
|
||||
mScaler->scaleSize(image);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
QString name = mTheme->locateThemeData(*it);
|
||||
|
||||
if (name.isEmpty())
|
||||
continue;
|
||||
|
||||
image = mCache->cacheFile(name);
|
||||
|
||||
if (image->isNull())
|
||||
{
|
||||
delete image;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
fadeWidget = createEffectWidget(mContainer, image);
|
||||
mEffectWidgets.append(fadeWidget);
|
||||
mImages.append(image);
|
||||
arrangeWidget(fadeWidget, index);
|
||||
}
|
||||
|
||||
for (EffectWidget *fw = mEffectWidgets.first(); fw; fw = mEffectWidgets.next())
|
||||
fw->updateCache();
|
||||
}
|
||||
|
||||
|
||||
void ThemeMoodin::arrangeWidget(QWidget* w, const int index)
|
||||
{
|
||||
QPoint current(mStatusIconCoords[index]);
|
||||
|
||||
if (mLineUpImages)
|
||||
{
|
||||
static bool first = true;
|
||||
|
||||
if (first)
|
||||
{
|
||||
int hw = mAppendX ? width() : height();
|
||||
int hwi = mAppendX ? height() : width();
|
||||
int icons = mStatusIcons.count() * mIconSetSize;
|
||||
int spaces = (mStatusIcons.count() - 1) * mIconSetSize;// + int(float(mIconSetSize) * 0.5);
|
||||
int q = int((hwi - mIconSetSize) / 2);
|
||||
int r = int((hw - icons - spaces) / 2);
|
||||
|
||||
int x = mAppendX ? r : q;
|
||||
int y = mAppendX ? q : r;
|
||||
|
||||
current.setX(x);
|
||||
current.setY(y);
|
||||
first = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
int x = mAppendX ? mIconSetSize * 2 : 0;
|
||||
int y = mAppendX ? 0 : mIconSetSize * 2;
|
||||
|
||||
current = mStatusIconCoords[index - 1] + QPoint(x, y);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mScaler->autoCoords(¤t, QSize(mIconSetSize, mIconSetSize));
|
||||
current += mStatusImageOffsets[index];
|
||||
}
|
||||
|
||||
mStatusIconCoords[index] = current;
|
||||
w->move(current);
|
||||
}
|
||||
|
||||
|
||||
EffectWidget* ThemeMoodin::createEffectWidget(QWidget* parent, QImage* image)
|
||||
{
|
||||
EffectWidget *fw = new EffectWidget(parent);
|
||||
|
||||
fw->hide();
|
||||
fw->setBackgroundOrigin(QWidget::WindowOrigin);
|
||||
fw->setDelay(mAnimationDelay);
|
||||
fw->setSteps(mAnimationLength);
|
||||
fw->setFixedSize(image->size());
|
||||
fw->setImage(image);
|
||||
fw->setStart(mBeginOpacity);
|
||||
fw->show();
|
||||
|
||||
return fw;
|
||||
}
|
||||
|
||||
|
||||
void ThemeMoodin::slotSetText(const QString& s)
|
||||
{
|
||||
if (mShowStatusText)
|
||||
{
|
||||
if (!mStatusMessages[mCurrentStatusIndex].isNull())
|
||||
mCurrentAction = mStatusMessages[mCurrentStatusIndex];
|
||||
else
|
||||
mCurrentAction = s;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ThemeMoodin::slotSetPixmap(const QString& s)
|
||||
{
|
||||
if (!mEffectWidgets.count() > 0)
|
||||
return;
|
||||
|
||||
int n = statusPixmaps().findIndex(s);
|
||||
|
||||
if (n == -1)
|
||||
return;
|
||||
|
||||
mCurrentStatusIndex = n + 1;
|
||||
|
||||
EffectWidget *fw = mEffectWidgets.at(n);
|
||||
|
||||
if (fw)
|
||||
fw->start();
|
||||
|
||||
repaint(false);
|
||||
}
|
||||
|
||||
|
||||
void ThemeMoodin::updateStatus()
|
||||
{
|
||||
QPainter p;
|
||||
p.begin(mContainer);
|
||||
|
||||
// use a copy, otherwise status messages move around
|
||||
QPoint pt = mStatusCoords;
|
||||
QFontMetrics fm(mStatusFont);
|
||||
QSize fmSize(fm.size(0L, mCurrentAction));
|
||||
|
||||
mScaler->autoCoords(&pt, fmSize);
|
||||
|
||||
p.setFont(mStatusFont);
|
||||
|
||||
if (mLabelShadow)
|
||||
{
|
||||
p.setPen(mLabelShadowColor);
|
||||
p.drawText(pt + mLabelShadowOffset, mCurrentAction);
|
||||
}
|
||||
|
||||
p.setPen(mStatusColor);
|
||||
p.drawText(pt, mCurrentAction);
|
||||
p.end();
|
||||
}
|
||||
|
||||
|
||||
void ThemeMoodin::paintEvent(QPaintEvent* pe)
|
||||
{
|
||||
QRect r = pe->rect();
|
||||
|
||||
bitBlt(mContainer, r.x(), r.y(), mBG, r.x(), r.y(), r.width(), r.height());
|
||||
|
||||
if (mShowStatusText)
|
||||
updateStatus();
|
||||
}
|
||||
|
||||
#include "thememoodin.moc"
|
@ -0,0 +1,129 @@
|
||||
/***************************************************************************
|
||||
* Copyright (C) by *
|
||||
* - 2005: Christian Leh <moodwrod@web.de> *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
#ifndef THEMEMOODIN_H
|
||||
#define THEMEMOODIN_H
|
||||
|
||||
#include <qptrlist.h>
|
||||
|
||||
#include <kdebug.h>
|
||||
#include <kpixmap.h>
|
||||
|
||||
#include <themeengine.h>
|
||||
#include <objkstheme.h>
|
||||
|
||||
#include "scaler.h"
|
||||
#include "cache.h"
|
||||
#include "effectwidget.h"
|
||||
|
||||
typedef QPtrList<EffectWidget> EffectWidgetList;
|
||||
typedef QValueList<QPoint> CoordsList;
|
||||
typedef QValueList<QColor> ColorList;
|
||||
typedef QValueList<QFont> FontList;
|
||||
typedef QPtrList<QImage> ImageList;
|
||||
|
||||
class ThemeMoodin: public ThemeEngine
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
ThemeMoodin(QWidget *parent, const char *name, const QStringList& flags);
|
||||
|
||||
inline const QString name() { return QString("Moodin"); }
|
||||
inline const int version() { return 0x042; }
|
||||
|
||||
static QStringList names()
|
||||
{
|
||||
QStringList l;
|
||||
|
||||
l << "Moodin";
|
||||
|
||||
return l;
|
||||
};
|
||||
|
||||
static QStringList statusPixmaps()
|
||||
{
|
||||
QStringList l;
|
||||
|
||||
l << "filetypes"; // 1 filetypes
|
||||
l << "exec"; // 2 exec
|
||||
l << "key_bindings"; // 3 key_bindings
|
||||
l << "window_list"; // 4 window_list
|
||||
l << "desktop"; // 5 desktop
|
||||
l << "style"; // 6 style
|
||||
l << "kcmsystem"; // 7 kcmsystem
|
||||
l << "go"; // 8 go
|
||||
|
||||
return l;
|
||||
};
|
||||
|
||||
public slots:
|
||||
void slotSetText(const QString& s);
|
||||
void slotSetPixmap(const QString&);
|
||||
|
||||
private:
|
||||
bool mUseIconSet;
|
||||
bool mLabelShadow;
|
||||
bool mShowStatusText;
|
||||
bool mAppendX;
|
||||
bool mUsersBackground;
|
||||
bool mTranslate;
|
||||
bool mLineUpImages;
|
||||
bool mKubuntuStyle;
|
||||
int mAnimationLength;
|
||||
int mAnimationDelay;
|
||||
int mIconSetSize;
|
||||
int mCurrentStatusIndex;
|
||||
int mImageSpacer;
|
||||
int mLabelCount;
|
||||
float mBeginOpacity;
|
||||
|
||||
QString mCurrentAction;
|
||||
QString mBackgroundImage;
|
||||
QStringList mStatusIcons;
|
||||
QStringList mStatusMessages;
|
||||
QStringList mLabels;
|
||||
QColor mStatusColor;
|
||||
QColor mLabelShadowColor;
|
||||
QFont mStatusFont;
|
||||
QPoint mStatusCoords;
|
||||
QPoint mLabelShadowOffset;
|
||||
QWidget* mContainer;
|
||||
QSize mBaseResolution;
|
||||
QRect mSplashRect;
|
||||
|
||||
KPixmap* mBG;
|
||||
|
||||
Scaler* mScaler;
|
||||
Cache* mCache;
|
||||
|
||||
EffectWidgetList mEffectWidgets;
|
||||
CoordsList mStatusIconCoords;
|
||||
CoordsList mStatusImageOffsets;
|
||||
CoordsList mLabelCoords;
|
||||
ColorList mLabelColors;
|
||||
FontList mLabelFonts;
|
||||
ImageList mImages;
|
||||
|
||||
void init();
|
||||
void initBackground(QPainter* p);
|
||||
void initEffectWidgets();
|
||||
void initLabels(QPainter* p);
|
||||
|
||||
void paintEvent(QPaintEvent* pe);
|
||||
void readSettings();
|
||||
void arrangeWidget(QWidget* me, const int index);
|
||||
void updateStatus();
|
||||
|
||||
EffectWidget* createEffectWidget(QWidget *parent, QImage *image);
|
||||
};
|
||||
|
||||
#endif
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 210 KiB |
Binary file not shown.
@ -0,0 +1,41 @@
|
||||
[KSplash Theme: FingerPrint]
|
||||
Name = FingerPrint
|
||||
Description = Taste your fingers (wallpaper from Dalmases http://www.deviantart.com/deviation/11180503/)
|
||||
Version = 1.2
|
||||
Author = Christian Leh <moodwrod@web.de>
|
||||
Homepage = http://moodwrod.com
|
||||
Engine = Moodin
|
||||
|
||||
BeginOpacity = 0.1
|
||||
BaseResolution = 1280,1024
|
||||
|
||||
UseIconSet = false
|
||||
|
||||
ImageCoords1 = 682,285
|
||||
ImageCoords2 = 682,138
|
||||
ImageCoords3 = 805,239
|
||||
ImageCoords4 = 805,94
|
||||
ImageCoords5 = 928,314
|
||||
ImageCoords6 = 925,170
|
||||
ImageCoords7 = 1122,472
|
||||
ImageCoords8 = 249,418
|
||||
|
||||
StatusMessage1 = # 0.5
|
||||
StatusMessage2 = # 1.0
|
||||
StatusMessage3 = # 1.5
|
||||
StatusMessage4 = # 2.0
|
||||
StatusMessage5 = # 2.5
|
||||
StatusMessage6 = # 3.0
|
||||
StatusMessage7 = # 3.5
|
||||
StatusMessage8 = Access Granted
|
||||
|
||||
Labels = 2
|
||||
Label1 = Validating...
|
||||
LabelFont1 = Trebuchet MS,24,-1,5,50,0
|
||||
LabelCoords1 = 75,75
|
||||
|
||||
Label2 = ML:USER:loginname
|
||||
LabelFont2 = Trebuchet MS,16,-1,5,50,0
|
||||
LabelCoords2 = 250,255
|
||||
|
||||
StatusCoords = 100,100
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,30 @@
|
||||
[KSplash Theme: MoodinKDE]
|
||||
Name = MoodinKDE
|
||||
Description = Fading splash screen based on the svg wallpaper (Lineart Logo)
|
||||
Version = 1.2
|
||||
Author = Christian Leh <moodwrod@web.de>
|
||||
Homepage = http://moodwrod.com
|
||||
Engine = Moodin
|
||||
|
||||
BeginOpacity = 0.1
|
||||
BaseResolution = 1280,1024
|
||||
|
||||
UseIconSet = true
|
||||
IconSetSize = 48
|
||||
|
||||
Image1 = kcmsystem
|
||||
Image2 = kcontrol
|
||||
Image3 = kcmpci
|
||||
Image7 = kmenuedit
|
||||
Image8 = kmenu
|
||||
|
||||
LineUpImages = true
|
||||
|
||||
Labels = 1
|
||||
Label1 = Welcome
|
||||
LabelFont1 = Trebuchet MS,48,-1,0,0,0
|
||||
LabelCoords1 = -1,400
|
||||
|
||||
StatusCoords = -1,450
|
||||
|
||||
ImageOffset1 = 0,20
|
Loading…
Reference in new issue