From f7e7a923aca8be643f9ae6f7252f9fb27b3d2c3b Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sat, 3 Dec 2011 11:05:10 -0600 Subject: Second part of prior commit --- tde-i18n-de/docs/tdebase/ksplashml/Makefile.am | 4 + tde-i18n-de/docs/tdebase/ksplashml/Makefile.in | 635 ++++++++ tde-i18n-de/docs/tdebase/ksplashml/index.cache.bz2 | Bin 0 -> 15925 bytes tde-i18n-de/docs/tdebase/ksplashml/index.docbook | 1619 ++++++++++++++++++++ 4 files changed, 2258 insertions(+) create mode 100644 tde-i18n-de/docs/tdebase/ksplashml/Makefile.am create mode 100644 tde-i18n-de/docs/tdebase/ksplashml/Makefile.in create mode 100644 tde-i18n-de/docs/tdebase/ksplashml/index.cache.bz2 create mode 100644 tde-i18n-de/docs/tdebase/ksplashml/index.docbook (limited to 'tde-i18n-de/docs/tdebase/ksplashml') diff --git a/tde-i18n-de/docs/tdebase/ksplashml/Makefile.am b/tde-i18n-de/docs/tdebase/ksplashml/Makefile.am new file mode 100644 index 00000000000..c6d1b0d7068 --- /dev/null +++ b/tde-i18n-de/docs/tdebase/ksplashml/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = de +SUBDIRS = $(AUTODIRS) +KDE_DOCS = ksplashml +KDE_MANS = AUTO diff --git a/tde-i18n-de/docs/tdebase/ksplashml/Makefile.in b/tde-i18n-de/docs/tdebase/ksplashml/Makefile.in new file mode 100644 index 00000000000..220fe0cda3a --- /dev/null +++ b/tde-i18n-de/docs/tdebase/ksplashml/Makefile.in @@ -0,0 +1,635 @@ +# Makefile.in generated by automake 1.10.1 from Makefile.am. +# KDE tags expanded automatically by am_edit - $Revision: 483858 $ +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +subdir = docs/tdebase/ksplashml +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \ + $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +#>- RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ +#>- html-recursive info-recursive install-data-recursive \ +#>- install-dvi-recursive install-exec-recursive \ +#>- install-html-recursive install-info-recursive \ +#>- install-pdf-recursive install-ps-recursive install-recursive \ +#>- installcheck-recursive installdirs-recursive pdf-recursive \ +#>- ps-recursive uninstall-recursive +#>+ 7 +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-dvi-recursive install-exec-recursive \ + install-html-recursive install-info-recursive \ + install-pdf-recursive install-ps-recursive install-recursive \ + installcheck-recursive installdirs-recursive pdf-recursive \ + ps-recursive uninstall-recursive nmcheck-recursive bcheck-recursive +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +#>- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +#>+ 1 +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) $(KDE_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +ARTSCCONFIG = @ARTSCCONFIG@ +AUTOCONF = @AUTOCONF@ +AUTODIRS = @AUTODIRS@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CONF_FILES = @CONF_FILES@ +CYGPATH_W = @CYGPATH_W@ +DCOPIDL = @DCOPIDL@ +DCOPIDL2CPP = @DCOPIDL2CPP@ +DCOPIDLNG = @DCOPIDLNG@ +DCOP_DEPENDENCIES = @DCOP_DEPENDENCIES@ +DEFS = @DEFS@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +GMSGFMT = @GMSGFMT@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KCFG_DEPENDENCIES = @KCFG_DEPENDENCIES@ +KCONFIG_COMPILER = @KCONFIG_COMPILER@ +KDECONFIG = @KDECONFIG@ +KDE_EXTRA_RPATH = @KDE_EXTRA_RPATH@ +KDE_RPATH = @KDE_RPATH@ +KDE_XSL_STYLESHEET = @KDE_XSL_STYLESHEET@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +MAKEKDEWIDGETS = @MAKEKDEWIDGETS@ +MCOPIDL = @MCOPIDL@ +MEINPROC = @MEINPROC@ +MKDIR_P = @MKDIR_P@ +MSGFMT = @MSGFMT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TOPSUBDIRS = @TOPSUBDIRS@ +VERSION = @VERSION@ +XGETTEXT = @XGETTEXT@ +XMLLINT = @XMLLINT@ +X_RPATH = @X_RPATH@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +am__leading_dot = @am__leading_dot@ +am__tar = @am__tar@ +am__untar = @am__untar@ +#>- bindir = @bindir@ +#>+ 2 +DEPDIR = .deps +bindir = @bindir@ +build_alias = @build_alias@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host_alias = @host_alias@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +kde_appsdir = @kde_appsdir@ +kde_bindir = @kde_bindir@ +kde_confdir = @kde_confdir@ +kde_datadir = @kde_datadir@ +kde_htmldir = @kde_htmldir@ +kde_icondir = @kde_icondir@ +kde_kcfgdir = @kde_kcfgdir@ +kde_libs_htmldir = @kde_libs_htmldir@ +kde_libs_prefix = @kde_libs_prefix@ +kde_locale = @kde_locale@ +kde_mimedir = @kde_mimedir@ +kde_moduledir = @kde_moduledir@ +kde_servicesdir = @kde_servicesdir@ +kde_servicetypesdir = @kde_servicetypesdir@ +kde_sounddir = @kde_sounddir@ +kde_styledir = @kde_styledir@ +kde_templatesdir = @kde_templatesdir@ +kde_wallpaperdir = @kde_wallpaperdir@ +kde_widgetdir = @kde_widgetdir@ +tdeinitdir = @tdeinitdir@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +xdg_appsdir = @xdg_appsdir@ +xdg_directorydir = @xdg_directorydir@ +xdg_menudir = @xdg_menudir@ +KDE_LANG = de +#>- SUBDIRS = $(AUTODIRS) +#>+ 1 +SUBDIRS =. +KDE_DOCS = ksplashml +KDE_MANS = AUTO +#>- all: all-recursive +#>+ 1 +all: docs-am all-recursive + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) +#>- @for dep in $?; do \ +#>- case '$(am__configure_deps)' in \ +#>- *$$dep*) \ +#>- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ +#>- && exit 0; \ +#>- exit 1;; \ +#>- esac; \ +#>- done; \ +#>- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdebase/ksplashml/Makefile'; \ +#>- cd $(top_srcdir) && \ +#>- $(AUTOMAKE) --gnu docs/tdebase/ksplashml/Makefile +#>+ 12 + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdebase/ksplashml/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/tdebase/ksplashml/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdebase/ksplashml/Makefile.in +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +$(RECURSIVE_CLEAN_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +#>- distdir: $(DISTFILES) +#>+ 1 +distdir: distdir-nls $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-recursive +all-am: Makefile +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +#>- uninstall: uninstall-recursive +#>+ 1 +uninstall: uninstall-docs uninstall-nls uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +#>- clean: clean-recursive +#>+ 1 +clean: kde-rpo-clean clean-recursive + +#>- clean-am: clean-generic mostlyclean-am +#>+ 1 +clean-am: clean-docs clean-bcheck clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +#>- install-data-am: +#>+ 1 +install-data-am: install-docs install-nls + +install-dvi: install-dvi-recursive + +install-exec-am: + +install-html: install-html-recursive + +install-info: install-info-recursive + +install-man: + +install-pdf: install-pdf-recursive + +install-ps: install-ps-recursive + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: + +.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ + install-strip + +.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ + all all-am check check-am clean clean-generic ctags \ + ctags-recursive distclean distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ + tags-recursive uninstall uninstall-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: + +#>+ 2 +KDE_DIST=index.docbook Makefile.in Makefile.am index.cache.bz2 + +#>+ 24 +index.cache.bz2: $(srcdir)/index.docbook $(KDE_XSL_STYLESHEET) index.docbook + @if test -n "$(MEINPROC)"; then echo $(MEINPROC) --check --cache index.cache.bz2 $(srcdir)/index.docbook; $(MEINPROC) --check --cache index.cache.bz2 $(srcdir)/index.docbook; fi + +docs-am: index.cache.bz2 + +install-docs: docs-am install-nls + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml + @if test -f index.cache.bz2; then \ + echo $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml/; \ + $(INSTALL_DATA) index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml/; \ + elif test -f $(srcdir)/index.cache.bz2; then \ + echo $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml/; \ + $(INSTALL_DATA) $(srcdir)/index.cache.bz2 $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml/; \ + fi + -rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml/common + $(LN_S) $(kde_libs_htmldir)/$(KDE_LANG)/common $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml/common + +uninstall-docs: + -rm -rf $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml + +clean-docs: + -rm -f index.cache.bz2 + + +#>+ 13 +install-nls: + $(mkinstalldirs) $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml + @for base in index.docbook ; do \ + echo $(INSTALL_DATA) $$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml/$$base ;\ + $(INSTALL_DATA) $(srcdir)/$$base $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml/$$base ;\ + done + +uninstall-nls: + for base in index.docbook ; do \ + rm -f $(DESTDIR)$(kde_htmldir)/$(KDE_LANG)/ksplashml/$$base ;\ + done + + +#>+ 5 +distdir-nls: + for file in index.docbook ; do \ + cp $(srcdir)/$$file $(distdir); \ + done + +#>+ 15 +force-reedit: + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/tdebase/ksplashml/Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu docs/tdebase/ksplashml/Makefile + cd $(top_srcdir) && perl ../scripts/admin/am_edit -p../scripts/admin docs/tdebase/ksplashml/Makefile.in + + +#>+ 21 +clean-bcheck: + rm -f *.bchecktest.cc *.bchecktest.cc.class a.out + +bcheck: bcheck-recursive + +bcheck-am: + @for i in ; do \ + if test $(srcdir)/$$i -nt $$i.bchecktest.cc; then \ + echo "int main() {return 0;}" > $$i.bchecktest.cc ; \ + echo "#include \"$$i\"" >> $$i.bchecktest.cc ; \ + echo "$$i"; \ + if ! $(CXX) $(DEFS) -I. -I$(srcdir) -I$(top_builddir) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(CXXFLAGS) $(KDE_CXXFLAGS) --dump-class-hierarchy -c $$i.bchecktest.cc; then \ + rm -f $$i.bchecktest.cc; exit 1; \ + fi ; \ + echo "" >> $$i.bchecktest.cc.class; \ + perl $(top_srcdir)/admin/bcheck.pl $$i.bchecktest.cc.class || { rm -f $$i.bchecktest.cc; exit 1; }; \ + rm -f a.out; \ + fi ; \ + done + + +#>+ 3 +final: + $(MAKE) all-am + +#>+ 3 +final-install: + $(MAKE) install-am + +#>+ 3 +no-final: + $(MAKE) all-am + +#>+ 3 +no-final-install: + $(MAKE) install-am + +#>+ 3 +kde-rpo-clean: + -rm -f *.rpo + +#>+ 3 +nmcheck: +nmcheck-am: nmcheck diff --git a/tde-i18n-de/docs/tdebase/ksplashml/index.cache.bz2 b/tde-i18n-de/docs/tdebase/ksplashml/index.cache.bz2 new file mode 100644 index 00000000000..7845c65c122 Binary files /dev/null and b/tde-i18n-de/docs/tdebase/ksplashml/index.cache.bz2 differ diff --git a/tde-i18n-de/docs/tdebase/ksplashml/index.docbook b/tde-i18n-de/docs/tdebase/ksplashml/index.docbook new file mode 100644 index 00000000000..967a8466781 --- /dev/null +++ b/tde-i18n-de/docs/tdebase/ksplashml/index.docbook @@ -0,0 +1,1619 @@ + + + + + +]> + + + + +Das Handbuch zu &ksplash; + + +&Teemu.Rytilahti; &Teemu.Rytilahti.mail; + +&Brian.C.Ledbetter; &Brian.C.Ledbetter.mail; + +&Ravikiran.Rajagopal; &Ravikiran.Rajagopal.mail; + +StephanJohach
hunsum@gmx.de
Übersetzung
ThomasReitelbach
tr@erdfunkstelle.de
Übersetzung
+ +
+ + +2003 +Teemu Rytilahti + + +2003-04 +Ravikiran Rajagopal + +&FDLNotice; + +2003-01-10 +1.01.00 + + +&ksplash; ist ein Begrüßungsbildschirm, der den Fortschritt beim Start einer Anwendung anzeigt. + + + +KDE +tdebase +ksplash +ksplashml +splashscreen +eye candy + + +
+ + +Einleitung + +&ksplash; ist ein netter Begrüßungsbildschirm, der während dem Startvorgang eines Programms angezeigt wird. Falls Sie Fehler finden oder neue Funktionen benötigen, melden Sie diese bitte an die &kde;-Mailinglisten. &ksplash; enthält die folgenden Funktionen: + +Verschiedene Designs +Kann mittels Modulen erweitert und angepasst werden +Kann von jedem DCOP-fähigen Programm genutzt werden + + +Dieses Handbuch zeigt Ihnen, wie Sie ein Design entwerfen können und es mit den derzeit verfügbaren Modulen verwenden. Falls keines der Module Ihren Ansprüchen genügt, können Sie auch lernen, wie &ksplash; angepasst wird. Dazu schreiben Sie ein kleines Programm in C++. + + + +Designs verwenden + +Um fertige Designs von KDE-Look zu verwenden, entpacken Sie diese bitte nach ~/.kde/share/apps/ksplash/Themes/ oder für die systemweite Verwendung nach $KDEDIR/share/apps/ksplash/Themes/. + +Diesen Schritt können Sie natürlich auch einfach über das Kontrollzentrum-Modul Startbildschirm unter Erscheindungsbild erledigen. + + +Verwendung des &kcontrol;-Moduls + +Mit dem &kcontrol;-Modul können Sie &ksplash;-Designs installieren, testen und auch wieder entfernen. + +An der linken Seite des Moduls sehen Sie eine Liste der verfügbaren &ksplash;-Designs. Wenn Sie eines auswählen, wird auf der rechten Seite ein Vorschaubild angezeigt. Wenn Sie sich ein Design ausgesucht haben, das Sie gerne benutzen möchten, dann drücken Sie Ok oder Anwenden. Wenn Sie Abbrechen drücken, wird das Modul geschlossen ohne irgendwelche Änderungen vorzunehmen. Zuguterletzt bewirkt der Knopf Voreinstellungen, dass der voreingstellte Startbildschirm aktiviert wird. + +Um ein neues Design zu installieren, drücken Sie bitte auf Hinzufügen ... und suchen Sie das heruntergeladene Design heraus. Sie müssen die Design-Datei nicht erst entpacken. Nur das reine Installieren eines Designs aktiviert es noch nicht. Wenn Sie das neu installierte Design auch benutzen möchten, dann wählen Sie es bitte in der linken Liste aus und drücken Ok oder Anwenden. + +Zwar sehen Sie das Vorschaubild auf der rechten Seite, aber wahrscheinlich möchten Sie auch sehen, wie der Startbildschirm in Aktion aussieht. Sie können den Startbildschirm testen, indem Sie auf den Knopf Test drücken. + +Natürlich können Sie nicht benutzte Designs auch wieder entfernen. Wählen Sie das entsprechende Design aus und drücken dann Entfernen. Unter Umständen hat allerdings Ihr Benutzerkonto keine ausreichenden Berechtigungen, um ein systemweites Design zu entfernen. Außerdem kann das Design "Standard" nicht entfernt werden. + + + + + + +Wie man Designs für &ksplash; erstellt + +Allgemeines +Es ist nicht schwer, ein Design für &ksplash; zu erstellen. Wenn Sie ein Design fertiggestellt haben, können Sie es auf KDE-Look hochladen und somit anderen zur Verfügung stellen. + + +Einen Namen für das Design festlegen + +Lassen Sie uns ein Design mit dem Namen MeinDesign erstellen. Damit &ksplash; Ihr Design finden kann, muss es in einem Ordner mit dem Namen MeinDesign unter ~/.kde/apps/ksplash/Themes/ gespeichert werden. Der Ordner muss die Datei Theme.rc enthalten; sie enthält die Einstellungen für Ihre Design. Sie können viele Einstellungen festlegen, &zb; welche Erweiterung Ihr Design verwenden soll. Sie müssen natürlich nicht alle Einstellungen selbst machen, die Voreinstellungen funktionieren meist recht gut. Die grundlegende Syntax für Ihre Einstellungen lautet [option] = [wert]. Die Definitionen für die möglichen Optionen finden Sie in den folgenden Abschnitten. + + +Eine einfache <filename +>Theme.rc</filename +>-Datei +[KSplash Theme: MeinDesign] +Name = MeinDesign +Description = Ein Design, das die Erweiterung XpLike benutzt +Version = 1.0 +Author = Mein Name <meinname@mail.com> +## Das Darstellungsmodul XpLike verwenden. +Engine = XpLike +Show Icon = false +Welcome Text = KDE wird gestartet + + + +Nachdem Sie den Namen, die Beschreibung und den Autor des Designs festgelegt haben, sollten Sie als nächstes ein Darstellungsmodul wählen. Dann können Sie die verschiedenen Einstellungen für das Modul einrichten. + + +Stellen Sie bitte sicher, dass der Ordnername für das Design (~/.kde/apps/ksplash/Themes/MeinDesign) und der Bezeichner des Designs ([KSplash Theme: MyCoolTheme]) in Theme.rc identisch sind. Ansonsten wird &ksplash; Ihr Design nicht anzeigen. + + + + + +Hintergrundbilder + +Beim Start versucht &ksplash;, ein Hintergrundbild für die aktuelle Bildschirmauflösung zu finden (wenn das Darstellungsmodul eines verwendet). Das Hintergrundbild muss mit diesem Namensschema gespeichert werden: Background-BBBxHHH.png. + +Sie könnten &zb; eine Datei mit dem Namen Background-1024x768.png verwenden. Wenn kein Hintergrundbild für Ihre Auflösung auffindbar ist, dann wird das Originalbild Background.png bzw. die in Theme.rc angegebene Datei in der Größe angepasst. Das Anpassen der Dateigröße nimmt natürlich ein paar Sekunden Zeit in Anspruch, daher sollten Sie zumindest Hintergrundbilder in den Auflösungen 1280x1024, 1024x768 und 800x600 zur Verfügung stellen. + + + + +Optionen für die Darstellungsmodule + + +Standard-Design + +Optionen für das Standard-Design + + + +Name +Argument +Erklärung + + + +Always Show Progress +[true/false] +Legt fest, ob der Fortschritt des Startvorgangs angezeigt werden soll. Voreinstellung ist true. + + +Label Foreground +[farbe] +Legt fest, welche Farbe für den Text in der Statusleiste benutzt werden soll. Voreinstellung ist #FFFFFF (weiß). + + + +Icons Flashing +[true/false] +Legt fest, ob Symbole blinken sollen oder nicht. Voreinstellung ist true. + + + +
+
+ + +Standard-Design + +Optionen für das Standard-Design + + + +Name +Argument +Erklärung + + + +Statusbar Position +[top/bottom] +Legt die Position der Statusleiste fest. Voreinstellung ist bottom. + + +Statusbar Visible +[true/false] +Legt fest, ob eine Statusleiste angezeigt werden soll. Voreinstellung ist true. + + +Progress Visible +[true/false] +Legt fest, ob der Fortschritt des Startvorgangs angezeigt werden soll. Voreinstellung ist true. + + + +Statusbar Font +[schriftname] +Die in der Statusleiste benutzte Schriftart. Voreinstellung ist Helvetica. + + +Statusbar Font Size +[größe] +Die Schriftgröße in der Statusleiste. Voreinstellung ist 16. + + +Statusbar Font Bold +[true/false] +Legt fest, ob die Schrift in der Statusleiste fett sein soll. Voreinstellung ist true. + + +Statusbar Font Italic +[true/false] +Legt fest, ob die Schrift in der Statusleiste kursiv sein soll. Voreinstellung ist false. + + + +Statusbar Foreground +[farbe] +Die Vordergrundfarbe der Statusleiste. Voreinstellung ist weiß. + + +Statusbar Background +[farbe] +Die Hintergrundfarbe der Statusleiste. Voreinstellung ist schwarz. + + +Statusbar Icon +[true/false] +Legt fest, ob die Statusleiste ein Symbol anzeigen soll. + + +Icons Visible +[true/false] +Legt fest, ob Symbole angezeigt werden sollen. Voreinstellung ist true. + + +Icons Jumping +[true/false] +Legt fest, ob die Symbole hüpfen sollen. Voreinstellung ist true. + + +Icon Position +[0-3,10-13] +Die Position, an der die Symbole angezeigt werden. Voreinstellung ist unten-links. + + +Splash Screen +[name] +Legt das angezeigte Startbild fest. + + + +
+
+ + +Redmond-Design + +Optionen für das Redmond-Design + + + +Name +Argument +Erklärung + + + +Background Image +[dateiname] +Legt das zu verwendende benutzerdefiniertes Hintergrundbild fest. + + +User Icon +[symbolname] +Legt den Namen des Standard-Symbols für Benutzer fest. Voreinstellung ist go. + + +Welcome Text +[text] +Der im Startbildschirm angezeigte Willkommenstext. Voreinstellung ist "Willkommen". + + +Username Text +[text] +Dieser Text wird anstelle des Benutzernamens angezeigt. + + + +Welcome Text Position +[x,y] +Die Bildschirmposition, an der der Willkommenstext angezeigt wird. + + +Username Text Position +[x,y] +Die Bildschirmposition, an der der Benutzername angezeigt wird. + + +Action Text Position +[x,y] +Die Bildschirmposition des Textes, der die derzeit laufende Aktivität anzeigt. + + +Icon Position +[x,y] +Die Bildschirmposition, an der das Benutzersymbol angezeigt wird. + + + +Show Welcome Text +[true/false] +Legt fest, ob der Willkommenstext angezeigt wird oder nicht. Voreinstellung ist true. + + +Show Welcome Shadow +[true/false] +Legt fest, ob der Willkommenstext einen Schatten werfen soll. Voreinstellung ist true. + + +Show Username +[true/false] +Legt fest, ob der Benutzername angezeigt werden soll. Voreinstellung ist true. + + +Show Action +[true/false] +Legt fest, ob die derzeit laufende Aktivität angezeigt werden soll. Voreinstellung ist true. + + +Show Icon +[true/false] +Legt fest, ob das Symbol angezeigt werden soll. Voreinstellung ist true. + + +Use KDM User Icon +[true/false] +Legt fest, ob das Anmeldebild von KDM benutzt werden soll. Voreinstellung ist true. + + + +
+
+ + +MacX-Design + +Optionen für das MacX-Design + + + +Name +Argument +Erklärung + + +Icon Size Minimum +[größe] +Legt die Minimalgröße für Symbole fest. Voreinstellung ist 16 Pixel. + + +Icon Size Maximum +[größe] +Legt die Maximalgröße für Symbole fest. Voreinstellung ist 64 Pixel. + + +Optimized Icon Rendering +[true/false] +Legt fest, ob die Darstellung von Symbolen optimiert werden soll. Voreinstellung ist true. + + +Progress Bar Visible +[true/false] +Voreinstellung ist true. + + +Progress Bar Position +[top/bottom] +Legt fest, ob die Fortschrittsanzeige oben oder unten angezeigt werden soll. Voreinstellung ist unten. + + +Icons Jumping +[true/false] +Legt fest, ob die Symbole hüpfen sollen. Voreinstellung ist nein. + + + +
+
+ + +MacClassic-Design + +Optionen für das MacClassic-Design + + + +Name +Argument +Erklärung + + +Icon Position +[0-3,10-13] +Die Bildschirmposition der Symbole. Voreinstellung ist links-unten. + + +Icons Jumping +[true/false] +Legt fest, ob die Symbole hüpfen sollen. Voreinstellung ist nein. + + +Icons Visible +[true/false] +Legt fest, ob Symbole angezeigt werden sollen. Voreinstellung ist true. + + +Splash Screen +[name] +Legt das angezeigte Startbild fest. + + + +
+
+ + +2k-Design + +Optionen für das 2k-Design + + + +Name +Argument +Erklärung + + +Title Background Color +[farbe] +Die Hintergrundfarbe für den Titel. Voreinstellung ist dunkelblau. + + +Title Foreground Color +[farbe] +Die Vordergrundfarbe für den Titel. Voreinstellung ist weiß. + + +Status Text Color +[farbe] +Die Farbe des Status-Textes. Die Voreinstellung ist dasselbe wie die Titel-Hintergrundfarbe. + + +Rotator Color 1 +[farbe] +Legt die Farbe für Rotator 1 fest. Voreinstellung ist dunkelblau. + + +Rotator Color 2 +[farbe] +Legt die Farbe für Rotator 2 fest. Voreinstellung ist cyan. + + +Rotator Speed +[wert] +Legt die Geschwindigkeit des Rotators fest. Voreinstellung ist 30. + + +Window Title +[text] +Legt den Text des Fenstertitels fest. + + +Logo File +[dateiname] +Legt das benutzte Logo fest. + + + +
+
+
+
+ + +&ksplash; in eigenen Programmen + +In diesem Kapitel wird beschrieben, wie Sie &ksplash; als Startbild für Ihr &kde;-Programm benutzen können. Wenn Sie keine Programme für &kde; entwickeln, können Sie diesen Abschnitt überspringen. + + +Grundvoraussetzungen + +Ihr Programm muss mit &DCOP; umgehen können. &DCOP; ist die &kde;-Technologie, die Programme zur Kommunikation untereinander verwenden. Wenn Sie das übliche &kde; Entwickler-Grundgerüst verwenden, brauchen Sie sich darum nicht weiter kümmern. Informationen über &DCOP; und verwandte &kde;-Technologien finden Sie in der &kde; Entwicklerecke. + + + +Der Aufruf von &ksplash; + +Bevor Ihr Programm seine eigentliche Arbeit beginnt oder bevor &zb; Module und Erweiterungen geladen werden, starten Sie &ksplash;: + +DCOPClient *c = kapp->dcopClient(); +QString error; +QCString KSplashName; +int pid = 0; +QStringList args; +args << "--theme=MeinDesign" << "--managed"; +if (kapp->startServiceByDesktopName("ksplash", args, &error, +&KSplashName, &pid)) +{ + KMessageBox::sorry(0, error, "Unable to invoke KSplash"); + // Some error processing here. +} + + +Wir gehen in diesem Fall davon aus, dass nur eine Instanz von &ksplash; gleichzeitig läuft. Andere Fälle sind etwas komplizierter. Lesen Sie dazu bitte die &DCOP;-Dokumentation. + + + +Anzeigen von Meldungen + +Bevor Sie irgendwelche Meldungen anzeigen können, müssen Sie die Anzahl der anzuzeigenden Schritte festlegen. Der &kde;-Start &zb; benutzt sieben Schritte. + +QByteArray data; + QDataStream arg(data,IO_WriteOnly); + arg << eineZahl; + if (!(c->send(KSplashName, "KSplashIface", "setStartupItemCount(int)", +data)) + // Some error processing here. + + +Immer wenn Sie eine Meldung mit oder ohne Symbol anzeigen möchten, verwenden Sie + +arg << QString("symbolName") << QString("programmName") << +QString("Eine Beschreibung"); + if (!(c->send(KSplashName, "KSplashIface", +"programStarted(QString,QString,QString)", data)) + { + // Some error processing here. + } + + +Jedesmal wenn Sie programStarted aufrufen, wird ein Schritt als abgeschlossen markiert und inkrementiert. Wenn Ihr Programm mit dem Start fertig ist, können Sie den Startbildschirm auf diese Weise wieder ausblenden: + +if (!(c->send(KSplashName, "KSplashIface", "startupComplete()", data)) + { + // Some error processing here. + } + + +Das ist alles! Mehr ist nicht nötig, um von &ksplash;s Möglichkeiten zu profitieren :) + + + + + + + + +Erstellen eines Moduls für &ksplash; + +Es ist nicht schwer, ein Darstellungsmodul für &ksplash; zu schreiben. In diesem Abschnitt beschäftigen wir uns mit diesem Thema und schreiben ein Modul, das den Startbildschirm eines sehr bekannten Betriebssystems emuliert. In diesem Abschnitt wird vorausgesetzt, dass Sie mit den Grundlagen von C++ sowie KDE/Qt-Programmierung vertraut sind. + + +Grundvoraussetzungen +Wir erzeugen ein Darstellungsmodul mit dem Namen 2k. Der Modulname wird an vielen Stellen verwendet und es ist wichtig, dass Sie den Namen durchgängig korrekt verwenden, damit &ksplash; Ihr Modul finden und benutzen kann. &ksplash;s Darstellungsmodule sind dynamisch ladbare Bibliotheken und folgen dieser Namenskonvention: + +Die Bibliothek sollte den Namen ksplash+designname tragen. Verwenden Sie keine Großbuchstaben! In unserem Beispiel lautet der Name ksplash2k. +Außerdem benötigt Ihr Modul eine Desktop-Datei mit dem Namen ksplash+designname.desktop. Hier dürfen ebenfalls keine Großbuchstaben verwendet werden. In unserem Beispiel heißt die Datei ksplash2k.desktop. +Schlussendlich muss das von der Bibliothek zurückgegebene Objekt eine Klasse mit dem Namen Theme+designname sein. In unserem Beispiel als Theme2k. + +Ein weiterer wichtiger Punkt ist, dass Ihre Modulklasse von ThemeEngine abgeleitet sein muss. Falls Ihnen von den obigen Dingen noch etwas unklar sein sollte, brauchen Sie sich erstmal keine Gedanken zu machen. Wir werden später noch auf jeden Punkt im einzelnen eingehen. + + +Erstellen des Grundgerüstes +Wir benutzen das &kde; application framework, welches sich um den Bau des Moduls und um Plattformunabhängigkeit kümmert, ohne das wir selber etwas dazu tun müssen. Dafür müssen Sie das Paket tdesdk installiert haben. Führen Sie den Befehl kapptemplate aus und erzeugen Sie ein Programm mit dem Namen "2k". Für Sie wird ein Basisordner erzeugt, der allgemeine Dateien wie &zb; AUTHORS etc. enthält. Unser Interesse gilt nun aber erstmal nur dem Unterordner 2k. Wechseln Sie in diesen Ordner und löschen Sie dort alle Dateien. Nun haben wir das benötigte Grundgerüst. +Als nächsten Schritt erzeugen wir eine .desktop-Datei. Wenn diese installiert wird, weiß &ksplash;, dass Ihr Darstellungsmodul verfügbar ist. Nach den beschriebenen Namenskonventionen aus dem vorigen Kapitel erzeugen Sie nun eine Datei mit dem Namen ksplash2k.desktop. Sie sollte folgenden Inhalt haben: + +[Desktop Entry] +Encoding=UTF-8 +Type=Service +Comment=KSplash Plugin +Name=KSplash2k +ServiceTypes=KSplash/Plugin +X-KDE-Library=ksplash2k +X-KSplash-Default=true +X-KSplash-PluginName=2k +X-KSplash-ObjectName=Theme2k + + +Die Einträge Encoding, Type, Comment und ServiceTypes sind für alle Darstellungsmodule gleich. Der Modul- und Bibliotheksname folgen den vorher genannten Namenskonventionen. Der Eintrag X-KSplash-Default kann einen Wahrheitswert enthalten und legt fest, ob das Modul im Kontrollzentrum angezeigt wird. Normalerweise ist der Wert hier true; es gibt nur ganz wenige Ausnahmen. + + +Deklaration der Modul-Klasse +Nun haben wir die Vorbereitungen abgeschlossen und können mit dem schönen Teil beginnen - dem Erzeugen einer Klasse die das gewünschte Verhalten festlegt. Die Klasse kann im Grunde alles tun, was wir möchten, mit ein paar wenigen Einschränkungen: + +Modul-Klassen müssen von der Klasse ThemeEngine abgeleitet sein. +Modul-Klassen müssen die Namenskonvention Theme+DesignName einhalten. (Das "+" muss ausgelassen werden.) +Modul-Klassen müssen eine static-Funktion namens names enthalten, die eine Liste der Namen zurückgibt, mit denen sie aufgerufen werden kann. +Falls das Modul im Kontrollzentrum eingerichtet werden kann, muss es eine von ThemeEngineConfig abgeleitete Klasse zur Einrichtung enthalten. +Modul-Klassen müssen mindestens eine der virtuellen Funktionen slotSetText, slotSetPixmap, slotUpdateProgress und slotUpdatSteps überschreiben. +Der Konstruktor sollte die Form ThemeEngine( QWidget *parent, const char *name, const QStringList &args) haben, damit es mit KGenericFactory genutzt werden kann. + +Die letzte Anforderung scheint kompliziert zu sein, aber Sie werden später feststellen, dass dies durch nur eine einzige Zeile im Quelltext erledigt werden kann. + + +Der Quelltext der Headerdatei +Nachdem wir nun diese Bedingungen kennen, lassen Sie uns schauen, wie die Headerdatei theme2k.h aussieht: + +Quelltext für <filename +>theme2k.h</filename +> +#ifndef __THEME2K_H__ +#define __THEME2K_H__ + +#include <qlabel.h> +#include <qwidget.h> + +#include <kdialogbase.h> +#include <kpixmap.h> +#include <ksplash/themeengine.h> + +class RotWidget; + +class Cfg2k: public ThemeEngineConfig +{ + Q_OBJECT +public: + Cfg2k( KConfig * ); +}; + +class ObjKsTheme; +class Theme2k: public ThemeEngine +{ + Q_OBJECT +public: + Theme2k( QWidget *, const char *, const QStringList& ); + + inline const QString name() + { + return( QString("KSplash2k") ); + } + inline const KDialogBase *config( KConfig *kc ) + { + return new Cfg2k( kc ); + } + static QStringList names() + { + QStringList Names; + Names << "KSplash2k"; + Names << "ks2k"; + Names << "2k"; + Names << "2000"; + return( Names ); + }; + +public slots: + inline void slotSetText( const QString& s ) + { + if( mText && mText->text() != s ) mText->setText( s ); + }; + +private: + void initUi(); + void readSettings(); + + QLabel *mText; + RotWidget *mRotator; + QColor mTBgColor, mTFgColor, mRotColor1, mRotColor2, mStatusColor; + int mRotSpeed; + QString mWndTitle, mLogoFile; +}; + +#endif + + +Nun gut, gehen wir die obige Auflistung durch: Die Klasse Theme2k ist von ThemeEngine abgeleitet und erfüllt die Namenskonvention. Sie enthält die Funktion Theme2k::names() und hat einen Konstruktor mit den benötigten Parametern: Theme2k( QWidget *, const char *, const QStringList& ); und enthält eine einfache Methode Theme2k::slotSetText(). Kümmern Sie sich erstmal nicht um die Klasse RotWidget; sie erzeugt nur ein hübsches Bildschirmelement. Unser Modul ist sehr einfach gehalten und zeigt keine Symbole oder eine Fortschrittsanzeige an. Wenn Sie das möchten, überschreiben Sie die Funktion slotSetPixmap. Ähnliche Funktionen gibt es auch für die Schritte der Fortschrittsanzeige (slotUpdateSteps) und zum Inkrementieren (slotUpdateProgress) des aktuellen Schrittes. + + +Die Implementierung des Moduls +Wir schauen uns nun die wichtigsten Teile der Implementation an. Eine Auflistung des gesamten Codes finden Sie im Anhang. Als erstes schauen wir uns die Voraussetzungen für die Bibliothek an: + +Voraussetzung für die Bibliothek +K_EXPORT_COMPONENT_FACTORY( ksplash2k, KGenericFactory<Theme2k> ); + + +Das Makro K_EXPORT_COMPONENT_FACTORY ist in kgenericfactory.h deklariert. Gut, nun weiter zum Konstruktor! Weil es sich hier um ein sehr einfaches Modul handelt, ist der Konstruktor ebenso einfach. + +Der Konstruktor des Moduls +Theme2k::Theme2k( QWidget *parent, const char *name, const QStringList &args + ) + :ThemeEngine( parent, name, args ) +{ + readSettings(); + initUi(); +} + + +Die Methode readSettings() zeigt, wie Sie die Design-Einstellungen einlesen. (Sie wollen ja schließlich, dass Ihr Modul auch von Designs verwendet wird, richtig?) + +Das Einlesen der Design-Einstellungen +void Theme2k::readSettings() +{ + if( !mTheme ) + return; + + KConfig *cfg = mTheme->themeConfig(); + if( !cfg ) + return; + + cfg->setGroup( QString("KSplash Theme: %1").arg(mTheme->theme()) ); + + QColor DefaultTBgColor( Qt::darkBlue ); + QColor DefaultTFgColor( Qt::white ); + + mTBgColor = cfg->readColorEntry( "Title Background Color", +&DefaultTBgColor ); + mTFgColor = cfg->readColorEntry( "Title Foreground Color", +&DefaultTFgColor ); + mStatusColor = cfg->readColorEntry("Status Text Color", &mTBgColor ); + + QColor DefaultRot1( Qt::darkBlue ); + QColor DefaultRot2( Qt::cyan ); + mRotColor1 = cfg->readColorEntry( "Rotator Color 1", &DefaultRot1 ); + mRotColor2 = cfg->readColorEntry( "Rotator Color 2", &DefaultRot2 ); + + mRotSpeed = cfg->readNumEntry( "Rotator Speed", 30 ); + mWndTitle = cfg->readEntry( "Window Title", i18n("Please wait...") ); + mLogoFile = cfg->readEntry( "Logo File", QString::null ); +} + + +Weil wir unseren Benutzern wohlgesonnen sind, legen wir sinnvolle Voreinstellungen fest. Wir stellen unsere Gruppe immer auf "KSplash Theme: designname" ein, um mit zukünftigen Design-Spezifikationen kompatibel zu sein. Die Methode initUI() ist nicht sonderlich interessant, denn Sie erzeugt nur die Bildschirmelemente. Details finden Sie im Anhang. + + +Das Kompilieren des Moduls +Weil wir uns für das &kde; application framework entschieden haben, müssen wir die Datei Makefile.am erstellen. Sie sollte so aussehen: + +Quelltext von <filename +>Makefile.am</filename +> +INCLUDES = $(all_includes) + +kde_module_LTLIBRARIES = ksplash2k.la + +ksplash2k_la_SOURCES = theme2k.cpp rotwidget.cpp +ksplash2k_la_LDFLAGS = $(all_libraries) $(KDE_RPATH) +ksplash2k_la_LIBADD = $(LIB_TDEUI) -lksplashthemes + +METASOURCES = AUTO + +noinst_HEADERS = theme2k.h rotwidget.h + +servicesdir = $(kde_servicesdir) +services_DATA = ksplash2k.desktop + +themedir = $(kde_datadir)/ksplash/Themes/2k +theme_DATA = Theme.rc Preview.png + + +Informationen, wie man Makefile.am-Dateien für &kde; schreibt, finden Sie auf der &kde; Webseite. Das einzig zu beachtende hier ist, dass wir ein Standard-Design bereitstellen, das unser Modul benutzt, sowie ein Vorschaubild dafür. Um den Benutzern einen Gefallen zu tun, sollten Sie eine Beispieldatei Theme.rc bereitstellen, die die verschiedenen Optionen aufzeigt. + + + + +Fragen und Antworten +&reporting.bugs; &updating.documentation; + + +Ich kann keine Designs finden, die mit &ksplash; funktionieren. Warum? + + +Wahrscheinlich haben Sie nicht die korrekten Darstellungsmodule installiert. Die Module befinden sich im Paket tdeartwork. Laden Sie es herunter und installieren Sie es. Danach versuchen Sie es erneut. + + + + +Was ist die Datei Theme.rc und wie kann ich eine erstellen? + + +Theme.rc ist die Datei, in der Sie die Einstellungen eines Designs festlegen. Weitere Informationen finden Sie im Kapitel Erstellen von Designs für &ksplash;. + + + + + + +Mitwirkende und Lizenz + +&ksplash; + +Copyright des Programms © 2003 &Ravikiran.Rajagopal; &Ravikiran.Rajagopal.mail; + + +Beiträge +&Brian.C.Ledbetter; &Brian.C.Ledbetter.mail; + + + +Copyright der Dokumentation © 2003 &Teemu.Rytilahti; &Teemu.Rytilahti.mail; +&underFDL; &underGPL; + + +Installation + + +Voraussetzungen + +&ksplash; benötigt &kde; in der Version 3.2 oder höher. Einige Designs können spezielle Module benötigen. Funktioniert ein Design nicht, setzen Sie sich mit dem Autor des Designs in Verbindung, um herauszufinden wo Sie das benötigte Modul erhalten können. + + + + +Kompilierung und Installation +&install.compile.documentation; + + +Quelltext + +Quelltext von <filename +>theme2k.cpp</filename +> +#include <qlabel.h> +#include <qwidget.h> + +#include <kapplication.h> +#include <kconfig.h> +#include <kdebug.h> +#include <kdialogbase.h> +#include <kgenericfactory.h> +#include <kglobalsettings.h> +#include <klocale.h> +#include <ksplash/objkstheme.h> +#include <kstandarddirs.h> + +#include "rotwidget.h" +#include "theme2k.h" +#include "theme2k.moc" + +K_EXPORT_COMPONENT_FACTORY( ksplash2k, KGenericFactory<Theme2k> ); + +Cfg2k::Cfg2k( KConfig * ) +{} + +Theme2k::Theme2k( QWidget *parent, const char *name, const QStringList &args + ) + :ThemeEngine( parent, name, args ) +{ + readSettings(); + initUi(); +} + +void Theme2k::initUi() +{ + QVBox *vbox = new QVBox( this ); + vbox->setFrameShape( QFrame::WinPanel ); + vbox->setFrameShadow( QFrame::Raised ); + + QHBox *labelBox = new QHBox( vbox ); + labelBox->setPalette( mTBgColor ); + labelBox->setMargin( 1 ); + QLabel *lbl = new QLabel( mWndTitle, labelBox ); + lbl->setFont( QFont( "Arial", 12, QFont::Bold ) ); + lbl->setPaletteForegroundColor( mTFgColor ); + + QLabel *logo = new QLabel( vbox ); + logo->setPalette( Qt::white ); + + QString px( locate( "appdata", mTheme->themeDir() + +(mLogoFile.isNull()?QString("/Logo.png"):mLogoFile) ) ); + if (px.isNull()) + px = locate("appdata","Themes/Default/splash_top.png"); + if( !px.isNull() ) + { + QPixmap pix( px ); + logo->setPixmap( pix ); + } + else + { + logo->setText( "<B>KDE</B>2000" ); + logo->setAlignment( AlignCenter|AlignVCenter ); + } + + mRotator = new RotWidget( vbox, mRotColor1, mRotColor2, mRotSpeed ); + + QHBox *hbox = new QHBox( vbox ); + labelBox->setSpacing( 4 ); + labelBox->setMargin( 4 ); + + mText = new QLabel( hbox ); + mText->setPaletteForegroundColor( mStatusColor ); + mText->setPaletteBackgroundColor( mTFgColor ); + mText->setText( mWndTitle ); + mText->setFixedHeight( 48 ); + + setFixedSize( vbox->sizeHint() ); + QRect rect(KGlobalSettings::splashScreenDesktopGeometry()); + move( rect.x() + (rect.width() - size().width())/2, + rect.y() + (rect.height() - size().height())/2 ); +} + +void Theme2k::readSettings() +{ + if( !mTheme ) + return; + + KConfig *cfg = mTheme->themeConfig(); + if( !cfg ) + return; + + cfg->setGroup( QString("KSplash Theme: %1").arg(mTheme->theme()) ); + + QColor DefaultTBgColor( Qt::darkBlue ); + QColor DefaultTFgColor( Qt::white ); + + mTBgColor = cfg->readColorEntry( "Title Background Color", +&DefaultTBgColor ); + mTFgColor = cfg->readColorEntry( "Title Foreground Color", +&DefaultTFgColor ); + mStatusColor = cfg->readColorEntry("Status Text Color", &mTBgColor ); + + QColor DefaultRot1( Qt::darkBlue ); + QColor DefaultRot2( Qt::cyan ); + mRotColor1 = cfg->readColorEntry( "Rotator Color 1", &DefaultRot1 ); + mRotColor2 = cfg->readColorEntry( "Rotator Color 2", &DefaultRot2 ); + + mRotSpeed = cfg->readNumEntry( "Rotator Speed", 30 ); + mWndTitle = cfg->readEntry( "Window Title", i18n("Please wait...") ); + mLogoFile = cfg->readEntry( "Logo File", QString::null ); +} + + + +Quelltext von <filename +>rotwidget.h</filename +> +#ifndef __ROTWIDGET_H__ +#define __ROTWIDGET_H__ + +#include <qlabel.h> +#include <qtimer.h> +#include <qwidget.h> + +#include <kdialogbase.h> +#include <kpixmap.h> + +/** + * @short Display a rotating-gradient widget. + */ +class RotWidget: public QWidget +{ + Q_OBJECT +public: + RotWidget( QWidget *, const QColor&, const QColor&, int ); + ~RotWidget(); + +private slots: + void stepEvent(); + +protected: + void preparePixmap( int ); + void paintEvent( QPaintEvent * ); + void resizeEvent( QResizeEvent * ); + + QColor m_color1, m_color2; + int m_step, m_speed; + QTimer *m_stepTimer; + + QList<KPixmap> m_stepPixmap; +}; + +#endif + + + +Quelltext von <filename +>rotwidget.cpp</filename +> +#include <kdebug.h> +#include <kdialogbase.h> +#include <kpixmapeffect.h> + +#include <qlabel.h> +#include <qpainter.h> +#include <qwidget.h> + +#include "rotwidget.h" +#include "rotwidget.moc" + +RotWidget::RotWidget( QWidget *parent, const QColor& c1, const QColor& +c2, int sp ) + :QWidget(parent), m_color1(c1), m_color2(c2), m_step(0), m_speed(sp) +{ + if( (m_speed <= 0) || (m_speed > 20) ) + m_speed = 1; + setFixedHeight( 6 ); + + for( int i = 0; i <= width(); i++ ) + preparePixmap( i ); + + m_stepTimer = new QTimer( this ); + connect(m_stepTimer, SIGNAL(timeout()), this, SLOT(stepEvent())); + m_stepTimer->start( 50 ); +} + +RotWidget::~RotWidget() +{ +} + +void RotWidget::stepEvent() +{ + // This is inefficient as we create too many pixmaps, optimize later. + m_step += m_speed; + if( m_step > width() ) + m_step = 0; + repaint( true ); +} + +// Todo: Optimize drawing. +void RotWidget::paintEvent( QPaintEvent *pe ) +{ + QPainter p; + p.begin( this ); + + QRect r = pe->rect(); + + if( m_stepPixmap.at( m_step ) ) + bitBlt( this, r.x(), r.y(), m_stepPixmap.at( m_step ), r.x(), r.y(), +r.width(), r.height() ); + else + p.fillRect( rect(), Qt::black ); + p.end(); +} + +void RotWidget::resizeEvent( QResizeEvent *re ) +{ + m_stepPixmap.clear(); + for( int i = 0; i <= re->size().width(); i++ ) + preparePixmap( i ); +} + +void RotWidget::preparePixmap( int step ) +{ + if( step < 0 ) + return; + + // Explicitly draw our first pixmap. The rest we will bitBlt() from here. + if( step == 0 ) + { + KPixmap tmp; tmp.resize( size().width() / 2, size().height() ); + KPixmap tmp2(tmp); + KPixmapEffect::gradient( tmp, m_color1, m_color2, +KPixmapEffect::HorizontalGradient ); + KPixmapEffect::gradient( tmp2, m_color2, m_color1, +KPixmapEffect::HorizontalGradient ); + KPixmap *px = new KPixmap( size() ); + QPainter p; + p.begin( px ); + p.drawPixmap( 0, 0, tmp ); + p.drawPixmap( size().width()/2, 0, tmp2 ); + p.end(); + m_stepPixmap.append( px ); + } + else if( m_stepPixmap.at( step-1 ) ) + { + QPixmap *prev = m_stepPixmap.at( step-1 ); + QPixmap next; next.resize( size() ); + // convert + // prev = "[------------]" + // to + // next = "------------][" + bitBlt( &next, 0, 0, prev, 1, 0, prev->width()-1, prev->height() +); + bitBlt( &next, width()-1, 0, prev, 0, 0, 1, prev->height() ); + KPixmap *n = new KPixmap( next ); + m_stepPixmap.append( n ); + } +} + + + + +&documentation.index; +
+ + -- cgit v1.2.1