summaryrefslogtreecommitdiffstats
path: root/tde-i18n-ru/docs/tdebase/ksplashml
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-ru/docs/tdebase/ksplashml')
-rw-r--r--tde-i18n-ru/docs/tdebase/ksplashml/Makefile.am4
-rw-r--r--tde-i18n-ru/docs/tdebase/ksplashml/Makefile.in635
-rw-r--r--tde-i18n-ru/docs/tdebase/ksplashml/index.cache.bz2bin0 -> 15347 bytes
-rw-r--r--tde-i18n-ru/docs/tdebase/ksplashml/index.docbook1629
4 files changed, 2268 insertions, 0 deletions
diff --git a/tde-i18n-ru/docs/tdebase/ksplashml/Makefile.am b/tde-i18n-ru/docs/tdebase/ksplashml/Makefile.am
new file mode 100644
index 00000000000..5cefd51ee41
--- /dev/null
+++ b/tde-i18n-ru/docs/tdebase/ksplashml/Makefile.am
@@ -0,0 +1,4 @@
+KDE_LANG = ru
+SUBDIRS = $(AUTODIRS)
+KDE_DOCS = ksplashml
+KDE_MANS = AUTO
diff --git a/tde-i18n-ru/docs/tdebase/ksplashml/Makefile.in b/tde-i18n-ru/docs/tdebase/ksplashml/Makefile.in
new file mode 100644
index 00000000000..db77438212c
--- /dev/null
+++ b/tde-i18n-ru/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 = ru
+#>- 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-ru/docs/tdebase/ksplashml/index.cache.bz2 b/tde-i18n-ru/docs/tdebase/ksplashml/index.cache.bz2
new file mode 100644
index 00000000000..3d3ba3cc420
--- /dev/null
+++ b/tde-i18n-ru/docs/tdebase/ksplashml/index.cache.bz2
Binary files differ
diff --git a/tde-i18n-ru/docs/tdebase/ksplashml/index.docbook b/tde-i18n-ru/docs/tdebase/ksplashml/index.docbook
new file mode 100644
index 00000000000..1cfd1d526a5
--- /dev/null
+++ b/tde-i18n-ru/docs/tdebase/ksplashml/index.docbook
@@ -0,0 +1,1629 @@
+<?xml version="1.0" ?>
+<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
+"dtd/kdex.dtd" [
+ <!ENTITY kappname "&ksplash;">
+ <!ENTITY package "tdebase">
+ <!ENTITY % addindex "IGNORE">
+ <!ENTITY % Russian "INCLUDE">
+]>
+
+<book lang="&language;">
+
+<bookinfo>
+<title
+>Руководство пользователя &ksplash;</title>
+
+<authorgroup>
+<author
+>&Teemu.Rytilahti; &Teemu.Rytilahti.mail; </author>
+
+<othercredit role="developer"
+>&Brian.C.Ledbetter; &Brian.C.Ledbetter.mail; </othercredit>
+
+<othercredit role="developer"
+>&Ravikiran.Rajagopal; &Ravikiran.Rajagopal.mail; </othercredit>
+
+<othercredit role="translator"
+><firstname
+>Иван</firstname
+><surname
+>Кашуков</surname
+><affiliation
+><address
+><email
+>dolphin210@yandex.ru</email
+></address
+></affiliation
+><contrib
+>Перевод на русский язык</contrib
+></othercredit
+><othercredit role="translator"
+><firstname
+>Николай</firstname
+><surname
+>Шафоростов</surname
+><affiliation
+><address
+><email
+>shafff@ukr.net</email
+></address
+></affiliation
+><contrib
+>Обновление перевода</contrib
+></othercredit
+> <othercredit role="translator"
+><firstname
+>Виктор</firstname
+><surname
+>Ерёмин </surname
+><affiliation
+><address
+><email
+>ErV2005@rambler.ru</email
+></address
+></affiliation
+><contrib
+>Перевод на русский язык</contrib
+></othercredit
+>
+
+</authorgroup>
+
+<copyright>
+<year
+>2003</year>
+<holder
+>Teemu Rytilahti</holder>
+</copyright>
+<copyright>
+<year
+>2003-04</year>
+<holder
+>Ravikiran Rajagopal</holder>
+</copyright>
+<legalnotice
+>&FDLNotice;</legalnotice>
+
+<date
+>2003-01-10</date>
+<releaseinfo
+>1.01.00</releaseinfo>
+
+<abstract>
+<para
+>&ksplash; &mdash; симпатичный экран, показывающий процесс загрузки среды KDE.</para>
+</abstract>
+
+<keywordset>
+<keyword
+>KDE</keyword>
+<keyword
+>tdebase</keyword>
+<keyword
+>ksplash</keyword>
+<keyword
+>ksplashml</keyword>
+<keyword
+>заставка</keyword>
+<keyword
+>украшение</keyword>
+</keywordset>
+
+</bookinfo>
+
+<chapter id="introduction">
+<title
+>Введение</title>
+
+<para
+>&ksplash; &mdash; симпатичный экран, показывающий процесс загрузки KDE. Вопросы и пожелания отправляйте в списки рассылки &kde;. Отличительные особенности &ksplash;: </para>
+<simplelist>
+<member
+>Возможность применения тем</member>
+<member
+>Высокая гибкость в настройке обеспечивается использованием подключаемых модулей</member>
+<member
+>Программа может быть использована любым приложением, которое работает с DCOP</member>
+</simplelist>
+
+<para
+>Это руководство объясняет, как создавать темы для использования с уже доступными подключаемыми модулями. Если ни один из доступных модулей не удовлетворяет вашему вкусу, вы можете научиться полностью настраивать внешний вид &ksplash;, создавая подключаемые модули на C++. </para>
+</chapter>
+
+<chapter id="using-themes">
+<title
+>Использование тем</title>
+
+<para
+>Чтобы использовать темы с <ulink url="http://www.kde-look.org"
+>KDE-Look</ulink
+>, скопируйте их в <filename
+>~/.kde/apps/ksplash/Themes/</filename
+> (для одного пользователя) или в <filename
+>$<envar
+>KDEDIR</envar
+>/share/apps/ksplash/Themes/</filename
+> (чтобы сделать их доступными для всех пользователей вашей системы).</para>
+
+<para
+>Чтобы сделать это автоматически, используйте модуль <guilabel
+>Заставка</guilabel
+> раздела <guilabel
+>Внешний вид и темы</guilabel
+> Центра управления &kde;.</para>
+
+<sect1 id="using-kcontrol-module">
+<title
+>Модуль Центра управления</title>
+
+<para
+>Этот модуль позволяет устанавливать, проверять и удалять темы &ksplash;.</para>
+
+<para
+>Внизу расположен список доступных тем &ksplash;. При выборе одной из последних, её предварительный просмотр появится в соответствующей части окна. Чтобы активировать тему, нажмите <guibutton
+>OK</guibutton
+> или <guibutton
+>Применить</guibutton
+>.</para>
+
+<para
+>Чтобы установить новые модули, нажмите <guibutton
+>Добавить...</guibutton
+>. Не нужно распаковывать файлы тем, они могут обрабатываться и в сжатом виде.</para>
+
+<para
+>Для просмотра анимации темы, нажмите кнопку<guibutton
+>Тест</guibutton
+>.</para>
+
+<para
+>Чтобы удалить тему, воспользуйтесь кнопкой <guibutton
+>Удалить</guibutton
+>. Если тема установлена для всех пользователей, то удалять её нужно с правами администратора. Также, мы не рекомендуем удалять тему «<guilabel
+>По умолчанию</guilabel
+>».</para>
+
+</sect1>
+
+</chapter>
+
+<chapter id="themes">
+<title
+>Как создавать темы для &ksplash;</title>
+<sect1 id="themes-general">
+<title
+>Основные положения</title>
+<para
+>Создавать свои собственные темы для &ksplash; достаточно легко. Когда вы закончили свою тему, вы можете отправить её на <ulink url="http://www.kde-look.org"
+>KDE-Look</ulink
+>, чтобы её могли использовать другие.</para>
+
+<sect2 id="theme-syntax">
+<title
+>Определение своей темы</title>
+
+<para
+>Давайте создадим тему под названием <literal
+>MyCoolTheme</literal
+>. Чтобы тема была найдена &ksplash;, следует поместить её в папку <filename class="directory"
+>MyCoolTheme</filename
+> в папке <filename class="directory"
+>~/.kde/apps/ksplash/Themes/</filename
+>. В ней должен содержаться файл <filename
+>Theme.rc</filename
+>, содержащий настройки темы. Вы можете установить множество особенностей для темы, изменить движок подключаемых модулей и т. д. Не обязательно использовать все доступные параметры, обычно используются только некоторые. Синтаксис записей файла <filename
+>Theme.rc</filename
+>: <literal
+>[параметр] = [значение]</literal
+>. Параметры описаны в следующих разделах.</para>
+
+<example>
+<title
+>Простой файл <filename
+>Theme.rc</filename
+></title>
+<programlisting
+>[KSplash Theme: MyCoolTheme]
+Name = MyCoolTheme
+Description = Симпатичная тема, использующая движок XpLike
+Version = 1.0
+Author = Имя автора &lt;realmail@mail.com&gt;
+## Используйте движок XpLike для этой темы.
+Engine = XpLike
+Show Icon = false
+Welcome Text = Загрузка KDE
+</programlisting>
+</example>
+
+<para
+>После того как вы задали имя, описание и автора темы, вам следует выбрать движок темы (подключаемый модуль). Затем вы сможете настроить разнообразные характеристики движка темы, устанавливая пары параметр=значение, как в вышеприведённом файле.</para>
+
+<important>
+<para
+>Важно, чтобы имя папки, в которой хранятся файлы темы (<filename class="directory"
+>~/.kde/apps/ksplash/Themes/MyCoolTheme</filename
+> в данном примере) и идентификатор (<literal
+>[KSplash Theme: MyCoolTheme] </literal
+> в данном примере) в <filename
+>Theme.rc</filename
+> совпадали. В противном случае, &ksplash; не распознает тему.</para>
+</important>
+
+</sect2>
+
+<sect2 id="theme-files">
+<title
+>Файлы фона</title>
+
+<para
+>При запуске &ksplash; пытается найти файл фона, соответствующий текущему разрешению экрана (если файл используется движком темы). Формат названия файла фона: <filename
+>Background-<replaceable
+>WWWxHHH</replaceable
+>.png</filename
+>, где WWW-ширина, а HHH-высота изображения.</para>
+
+<para
+>Например, вам надо использовать файл <filename
+>Background-1024x768</filename
+>. Если файл, соответствующий текущему разрешению экрана, не найден, программа пытается изменить размер файла <filename
+>Background.png</filename
+> (или другого, заданного в <filename
+>Theme.rc</filename
+>) так, чтобы он соответствовал разрешению. Изменение размера <quote
+>на лету</quote
+> занимает некоторое время, так что вам следует создать файлы как минимум для следующих разрешений экрана: 1280x1024, 1024x768 и 800x600.</para>
+</sect2>
+</sect1>
+
+<sect1 id="theme-engines">
+<title
+>Параметры движков тем</title>
+
+<sect2 id="default-themes">
+<title
+>Тема, используемая по умолчанию</title>
+<table>
+<title
+>Настройка темы по умолчанию</title>
+<tgroup cols="3">
+<tbody>
+<row>
+<entry
+>Параметр</entry>
+<entry
+>Значение</entry>
+<entry
+>Описание</entry>
+</row>
+<!-- Statusbar -->
+<row>
+<entry
+>Always Show Progress</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли показан прогресс загрузки. Значение по умолчанию &mdash; true.</entry>
+</row>
+<row>
+<entry
+>Label Foreground</entry>
+<entry
+>[цвет]</entry>
+<entry
+>Цвет текста индикатора состояния. Значение по умолчанию &mdash; white (белый, #FFFFFF).</entry>
+</row>
+<!-- Misc. things -->
+<row>
+<entry
+>Icons Flashing</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будут ли мерцать значки. По умолчанию — true (да).</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</sect2>
+
+<sect2 id="standard-themes">
+<title
+>Стандартная тема</title>
+<table>
+<title
+>Параметры стандартной темы</title>
+<tgroup cols="3">
+<tbody>
+<row>
+<entry
+>Параметр</entry>
+<entry
+>Значение</entry>
+<entry
+>Описание</entry>
+</row>
+<!-- Statusbar -->
+<row>
+<entry
+>Statusbar Position</entry>
+<entry
+>[top/bottom]</entry>
+<entry
+>Определяет расположение индикатора состояния на экране. Значение по умолчанию &mdash; bottom (внизу).</entry>
+</row>
+<row>
+<entry
+>Statusbar Visible</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли индикатор состояния видимым. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Progress Visible</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли показан прогресс загрузки. Значение по умолчанию &mdash; true.</entry>
+</row>
+<!-- Fonts -->
+<row>
+<entry
+>Statusbar Font</entry>
+<entry
+>[шрифт]</entry>
+<entry
+>Шрифт, используемый в индикаторе состояния. Значение по умолчанию &mdash; Helvetica.</entry>
+</row>
+<row>
+<entry
+>Statusbar Font Size</entry>
+<entry
+>[размер]</entry>
+<entry
+>Размер шрифта индикатора состояния. Значение по умолчанию &mdash; 16 пт.</entry>
+</row>
+<row>
+<entry
+>Statusbar Font Bold</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли шрифт индикатора состояния полужирным. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Statusbar Font Italic</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли шрифт индикатора состояния курсивным. Значение по умолчанию &mdash; false (нет).</entry>
+</row>
+<!-- Misc. things -->
+<row>
+<entry
+>Statusbar Foreground</entry>
+<entry
+>[цвет]</entry>
+<entry
+>Цвет переднего плана индикатора состояния. Значение по умолчанию &mdash; white (белый).</entry>
+</row>
+<row>
+<entry
+>Statusbar Background</entry>
+<entry
+>[цвет]</entry>
+<entry
+>Цвет фона индикатора состояния. Значение по умолчанию &mdash; black (чёрный).</entry>
+</row>
+<row>
+<entry
+>Statusbar Icon</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли значок у индикатора состояния.</entry>
+</row>
+<row>
+<entry
+>Icons Visible</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будут ли значки видимыми. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Icons Jumping</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будут ли прыгать значки. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Icon Position</entry>
+<entry
+>[0-3, 10-13]</entry>
+<entry
+>Расположение значков. Значение по умолчанию &mdash; вверху слева.</entry>
+</row>
+<row>
+<entry
+>Splash Screen</entry>
+<entry
+>[название]</entry>
+<entry
+>Название заставки.</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</sect2>
+
+<sect2 id="redmond-themes">
+<title
+>Тема Redmond</title>
+<table>
+<title
+>Параметры темы Redmond</title>
+<tgroup cols="3">
+<tbody>
+<row>
+<entry
+>Параметр</entry>
+<entry
+>Значение</entry>
+<entry
+>Описание</entry>
+</row>
+<!-- Main elements -->
+<row>
+<entry
+>Background Image</entry>
+<entry
+>[имя_файла]</entry>
+<entry
+>Определяемое пользователем фоновое изображение.</entry>
+</row>
+<row>
+<entry
+>User Icon</entry>
+<entry
+>[имя_значка]</entry>
+<entry
+>Имя значка пользователя. Значение по умолчанию &mdash; <constant
+>go</constant
+>.</entry>
+</row>
+<row>
+<entry
+>Welcome Text</entry>
+<entry
+>[текст]</entry>
+<entry
+>Текст, показываемый на экране. Значение по умолчанию &mdash; «Добро пожаловать».</entry>
+</row>
+<row>
+<entry
+>Username Text</entry>
+<entry
+>[текст]</entry>
+<entry
+>Текст, замещающий имя пользователя.</entry>
+</row>
+<!-- Positioning elements -->
+<row>
+<entry
+>Welcome Text Position</entry>
+<entry
+>[x,y]</entry>
+<entry
+>Область экрана, в которой показывается текст приглашения (определяемый параметром «Welcome Text»).</entry>
+</row>
+<row>
+<entry
+>Username Text Position</entry>
+<entry
+>[x,y]</entry>
+<entry
+>Область экрана, в которой показывается имя пользователя.</entry>
+</row>
+<row>
+<entry
+>Action Text Position</entry>
+<entry
+>[x,y]</entry>
+<entry
+>Область экрана, в которой показывается текущее действие.</entry>
+</row>
+<row>
+<entry
+>Icon Position</entry>
+<entry
+>[x,y]</entry>
+<entry
+>Область экрана, в которой показывается значок пользователя.</entry>
+</row>
+<!-- Show to show.. -->
+<row>
+<entry
+>Show Welcome Text</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли показываться текст приглашения. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Show Welcome Shadow</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли показываться тень под текстом приглашения. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Show Username</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли показываться имя пользователя. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Show Action</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли показываться действие, выполняемое в данный момент. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Show Icon</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли показываться значок пользователя. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Use KDM User Icon</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будет ли использоваться значок, соответствующий пользователю при входе в систему. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</sect2>
+
+<sect2 id="macx-themes">
+<title
+>Тема MacX</title>
+<table>
+<title
+>Параметры темы MacX</title>
+<tgroup cols="3">
+<tbody>
+<row>
+<entry
+>Параметр</entry>
+<entry
+>Значение</entry>
+<entry
+>Описание</entry>
+</row>
+<row>
+<entry
+>Icon Size Minimum</entry>
+<entry
+>[размер]</entry>
+<entry
+>Минимальный размер значков. Значение по умолчанию &mdash; 16 пикселей.</entry>
+</row>
+<row>
+<entry
+>Icon Size Maximum</entry>
+<entry
+>[размер]</entry>
+<entry
+>Максимальный размер значков. Значение по умолчанию &mdash; 64 пикселя.</entry>
+</row>
+<row>
+<entry
+>Optimized Icon Rendering</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Будет ли оптимизироваться отрисовка значков. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Progress Bar Visible</entry>
+<entry
+>[true/false]</entry>
+<entry
+>По умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Progress Bar Position</entry>
+<entry
+>[top/bottom]</entry>
+<entry
+>Определяет расположение индикатора состояния (внизу или вверху). По умолчанию - bottom (внизу).</entry>
+</row>
+<row>
+<entry
+>Icons Jumping</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будут ли прыгать значки. Значение по умолчанию &mdash; false (нет).</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</sect2>
+
+<sect2 id="mac-classic-themes">
+<title
+>Тема MacClassic</title>
+<table>
+<title
+>Параметры темы MacClassic</title>
+<tgroup cols="3">
+<tbody>
+<row>
+<entry
+>Параметр</entry>
+<entry
+>Значение</entry>
+<entry
+>Описание</entry>
+</row>
+<row>
+<entry
+>Icon Position</entry>
+<entry
+>[0-3, 10-13]</entry>
+<entry
+>Расположение значков на экране. Значение по умолчанию &mdash; внизу слева.</entry>
+</row>
+<row>
+<entry
+>Icons Jumping</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будут ли прыгать значки. Значение по умолчанию &mdash; false (нет).</entry>
+</row>
+<row>
+<entry
+>Icons Visible</entry>
+<entry
+>[true/false]</entry>
+<entry
+>Определяет, будут ли значки видимыми. Значение по умолчанию &mdash; true (да).</entry>
+</row>
+<row>
+<entry
+>Splash Screen</entry>
+<entry
+>[название]</entry>
+<entry
+>Название заставки.</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</sect2>
+
+<sect2 id="themes-2k">
+<title
+>Тема 2k</title>
+<table>
+<title
+>Параметры темы 2k</title>
+<tgroup cols="3">
+<tbody>
+<row>
+<entry
+>Параметр</entry>
+<entry
+>Значение</entry>
+<entry
+>Описание</entry>
+</row>
+<row>
+<entry
+>Title Background Color</entry>
+<entry
+>[цвет]</entry>
+<entry
+>Фоновый цвет заголовка. Значение по умолчанию &mdash; dark blue (тёмно-синий).</entry>
+</row>
+<row>
+<entry
+>Title Foreground Color</entry>
+<entry
+>[цвет]</entry>
+<entry
+>Цвет переднего плана заголовка. Значение по умолчанию &mdash; white (белый).</entry>
+</row>
+<row>
+<entry
+>Status Text Color</entry>
+<entry
+>[цвет]</entry>
+<entry
+>Цвет текста состояния. По умолчанию соответствует фоновому тексту заголовка (определяемому параметром «Title Background Color»).</entry>
+</row>
+<row>
+<entry
+>Rotator Color 1</entry>
+<entry
+>[цвет]</entry>
+<entry
+>Определяет цвет индикатора 1. Значение по умолчанию &mdash; dark blue (тёмно-синий).</entry>
+</row>
+<row>
+<entry
+>Rotator Color 2</entry>
+<entry
+>[цвет]</entry>
+<entry
+>Определяет цвет индикатора 2. Значение по умолчанию &mdash; cyan (циан).</entry>
+</row>
+<row>
+<entry
+>Rotator Speed</entry>
+<entry
+>[значение]</entry>
+<entry
+>Определяет скорость индикатора. Значение по умолчанию &mdash; 30.</entry>
+</row>
+<row>
+<entry
+>Window Title</entry>
+<entry
+>[текст]</entry>
+<entry
+>Определяет текст заголовка окна.</entry>
+</row>
+<row>
+<entry
+>Logo File</entry>
+<entry
+>[имя_файла]</entry>
+<entry
+>Определяет используемый логотип.</entry>
+</row>
+</tbody>
+</tgroup>
+</table>
+</sect2>
+</sect1>
+</chapter>
+
+<chapter id="from-other-applications">
+<title
+>Использование &ksplash; в вашем собственном приложении</title>
+
+<para
+>В этой главе описывается простой метод использования &ksplash; в качестве заставки для вашего приложения &kde;. Если вы не разрабатываете приложения для &kde;, вы можете опустить эту главу.</para>
+
+<sect1 id="basic-other-reqs">
+<title
+>Основные требования</title>
+
+<para
+>Ваше приложение &kde; должно работать с &DCOP;. &DCOP; &mdash; это технология &kde;, использующаяся для коммуникации между приложениями. Если вы используете <ulink url="http://developer.kde.org"
+>стандартную структуру приложения &kde;</ulink
+>, это обеспечивается автоматически. Чтобы получить информацию о &DCOP; и связанных технологиях &kde;, посетите <ulink url="http://developer.kde.org"
+>сайт разработчиков &kde;</ulink
+>.</para>
+</sect1>
+
+<sect1 id="other-using">
+<title
+>Запуск &ksplash;</title>
+
+<para
+>До того, как ваше приложение начнёт вычисления, загрузку подключаемых модулей и т.д., запустите &ksplash;. Образец:</para>
+
+<programlisting
+>DCOPClient *c = kapp-&gt;dcopClient();
+QString error;
+QCString KSplashName;
+int pid = 0;
+QStringList args;
+args &lt;&lt; "--theme=MyCoolTheme" &lt;&lt; "--managed";
+if (kapp-&gt;startServiceByDesktopName("ksplash", args, &amp;error,
+&amp;KSplashName, &amp;pid))
+{
+ KMessageBox::sorry(0, error, "Невозможно запустить KSplash");
+ //обработка ошибок.
+}
+</programlisting>
+
+<para
+>Мы предполагаем, что запущено только одно окно &ksplash;. Другие случаи немного более сложны. Разъяснения смотрите в документации &DCOP;.</para>
+</sect1>
+
+<sect1 id="show-messages">
+<title
+>Показ сообщений</title>
+
+<para
+>Перед показом сообщений вам необходимо установить число шагов. Например, процедура запуска &kde; включает 7 этапов.</para>
+
+<programlisting
+>QByteArray data;
+ QDataStream arg(data,IO_WriteOnly);
+ arg &lt;&lt; someNumber;
+ if (!(c-&gt;send(KSplashName, "KSplashIface", "setStartupItemCount(int)",
+data))
+ // Обработка ошибок.
+</programlisting>
+
+<para
+>Если вы хотите, чтобы сообщение связывалось с соответствующим значком или без него, используйте</para>
+
+<programlisting
+>arg &lt;&lt; QString("имя_значка") &lt;&lt; QString("название_программы") &lt;&lt;
+QString("какое-то описание");
+ if (!(c-&gt;send(KSplashName, "KSplashIface",
+"programStarted(QString,QString,QString)", data))
+ {
+ // Обработка ошибок.
+ }
+</programlisting>
+
+<para
+>Каждый раз, когда вы вызываете <constant
+>programStarted</constant
+>, шаги заканчиваются. Когда ваша программа закончила запуск, выполните следующие команды, чтобы убрать заставку:</para>
+
+<programlisting
+>if (!(c-&gt;send(KSplashName, "KSplashIface", "startupComplete()", data))
+ {
+ // Обработка ошибок.
+ }
+</programlisting>
+
+<para
+>Это всё, что вам необходимо, чтобы использовать все преимущества &ksplash;.</para>
+
+</sect1>
+</chapter>
+
+<!-- FIXME: Better to leave this out until it's written, or the translators -->
+<!-- will have to still translate it ... -->
+
+<chapter id="wrplugins">
+<title
+>Создание новых подключаемых модулей &ksplash;</title>
+
+<para
+>Создавать подключаемые модули &ksplash; нетрудно. В этой главе мы напишем простой модуль, который эмулирует экран загрузки одной очень известной операционной системы. Предполагается, что вы знакомы с основами языка C++ и хотя бы немного &mdash; с программированием для KDE/Qt.</para>
+
+<sect1 id="basic-requirements">
+<title
+>Основные требования</title>
+<para
+>Мы создадим модуль с названием <literal
+>2k</literal
+>. Название используется во многих местах. Важно не исказить его, чтобы модуль был распознан &ksplash;. Модули &ksplash; являются динамически загружаемыми библиотеками со следующими объявлениями: </para>
+<simplelist>
+<member
+>Библиотеку следует называть по образцу: <filename
+>ksplash+название_темы_в_нижнем_регистре</filename
+>. В нашем случае название будет <filename
+>ksplash2k</filename
+>.</member>
+<member
+>Тема должна иметь свой файл desktop, который следует назвать <filename
+>ksplash+название_темы_в_нижнем_регистре.desktop</filename
+>. В нашем случае &mdash; <filename
+>ksplash2k.desktop</filename
+>. </member>
+<member
+>Наконец, библиотека должна возвращать класс с названием <literal
+>Theme+название_темы</literal
+>, в нашем случае &mdash; <literal
+>Theme2k</literal
+>.</member>
+</simplelist>
+<para
+>Не беспокойтесь, если вы не поняли всё вышесказанное. Далее мы рассмотрим каждый шаг в деталях. Важной деталью является то, что класс модуля вы должны взять из <literal
+>ThemeEngine</literal
+>. </para>
+</sect1>
+<sect1 id="skeleton">
+<title
+>Создание основы</title>
+<para
+>При создании модуля мы будем использовать основу для приложения &kde;, которая обеспечит независимость от платформы во всех частях нашей работы. Убедитесь, что в вашей системе установлен пакет <filename
+>tdesdk</filename
+>. Выполните команду <literal
+>kapptemplate</literal
+>, чтобы создать приложение с названием "2k". Будет создана папка, содержащая основные файлы (такие как AUTHORS и т.п.). Нам нужна подпапка <filename class="directory"
+>2k</filename
+>. Удалите все файлы в ней, и основа готова. </para>
+<para
+>На следующем этапе вы должны создать файл <filename
+>.desktop</filename
+>, который, после установки, сообщит &ksplash;, что подключаемый модуль доступен. В соответствии с правилами наименования файлов, которые даны <link linkend="basic-requirements"
+>в предыдущей секции</link
+>, создайте файл <filename
+>ksplash2k.desktop</filename
+>. Он должен содержать следующие строки: </para>
+<programlisting
+><literal>
+[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
+</literal
+>
+</programlisting>
+<para
+>Параметры <literal
+>Encoding</literal
+>, <literal
+>Type</literal
+>, <literal
+>Comment</literal
+> и <literal
+>ServiceTypes</literal
+> одинаковы для всех подключаемых модулей. Название модуля и библиотеки следуют вышеописанным правилам. Параметр <literal
+>X-KSplash-Default</literal
+> может принимать одно из двух значений (true или false). Он определяет, будет ли этот модуль показан в Центре управления KDE. За исключением некоторых очень редких случаев, его значение должно быть <constant
+>true</constant
+>. </para>
+</sect1>
+<sect1 id="headerfile">
+<title
+>Объявление класса подключаемого модуля</title>
+<para
+>Теперь, когда мы закончили подготовительную работу, начинается действительно интересная часть &mdash; создание класса, который обеспечивает нужное поведение модуля. Хотя мы вольны делать с этим классом всё, что хотим, существует несколько ограничений.</para>
+<orderedlist>
+<listitem
+><para
+>Классы модуля должны наследоваться от класса <constant
+>ThemeEngine</constant
+>.</para
+></listitem>
+<listitem
+><para
+>Классы модуля следует называть в соответствии с правилом: <classname
+>Theme+название_модуля</classname
+>.</para
+></listitem>
+<listitem
+><para
+>Классы модуля должны обеспечивать <literal
+>статическую</literal
+> функцию с названием <function
+>names</function
+>, которая возвращает список названий, под которыми она может быть задействована.</para
+></listitem>
+<listitem
+><para
+>Чтобы модуль можно было настраивать из Центра управления KDE, он должен включать класс, основанный на классе <literal
+>ThemeEngineConfig</literal
+>.</para
+></listitem>
+<listitem
+><para
+>Классы модуля должны перекрывать хотя бы одну из следующих виртуальных функций: <function
+>slotSetText</function
+>, <function
+>slotSetPixmap</function
+>, <function
+>slotUpdateProgress</function
+> и <function
+>slotUpdateSteps</function
+>, чтобы обеспечить возможность использования.</para
+></listitem>
+<listitem
+><para
+>Разработчик должен создать конструктор <literal
+>ThemeEngine( QWidget *parent, const char *name, const QStringList &amp;args )</literal
+>, чтобы модуль можно было использовать из <classname
+>KGenericFactory</classname
+>.</para
+></listitem>
+</orderedlist>
+<para
+>Последнее требование может показаться сложным, но, как мы увидим позже, вы можете обычно игнорировать его, добавив одну строку к исходному коду.</para>
+</sect1>
+<sect1 id="headercode">
+<title
+>Код файла заголовка</title>
+<para
+>Присвоив значения константам, мы увидим, что файл заголовков <filename
+>theme2k.h</filename
+> приобретёт вид вроде этого:</para>
+<example>
+<title
+>Файл <filename
+>theme2k.h</filename
+></title>
+<programlisting
+>#ifndef __THEME2K_H__
+#define __THEME2K_H__
+
+#include &lt;qlabel.h&gt;
+#include &lt;qwidget.h&gt;
+
+#include &lt;kdialogbase.h&gt;
+#include &lt;kpixmap.h&gt;
+#include &lt;ksplash/themeengine.h&gt;
+
+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&amp; );
+
+ inline const QString name()
+ {
+ return( QString("KSplash2k") );
+ }
+ inline const KDialogBase *config( KConfig *kc )
+ {
+ return new Cfg2k( kc );
+ }
+ static QStringList names()
+ {
+ QStringList Names;
+ Names &lt;&lt; "KSplash2k";
+ Names &lt;&lt; "ks2k";
+ Names &lt;&lt; "2k";
+ Names &lt;&lt; "2000";
+ return( Names );
+ };
+
+public slots:
+ inline void slotSetText( const QString&amp; s )
+ {
+ if( mText &amp;&amp; mText-&gt;text() != s ) mText-&gt;setText( s );
+ };
+
+private:
+ void initUi();
+ void readSettings();
+
+ QLabel *mText;
+ RotWidget *mRotator;
+ QColor mTBgColor, mTFgColor, mRotColor1, mRotColor2, mStatusColor;
+ int mRotSpeed;
+ QString mWndTitle, mLogoFile;
+};
+
+#endif
+</programlisting>
+</example>
+<para
+>Давайте проанализируем вышеприведённое. Класс <classname
+>Theme2k</classname
+>, унаследованный от <classname
+>ThemeEngine</classname
+> удовлетворяет объявлениям. Он обеспечивает метод <methodname
+>Theme2k::names()</methodname
+>, и имеет конструктор, который принимает необходимые параметры: <function
+>Theme2k( QWidget *, const char *, const QStringList&amp; );</function
+>, и к тому же обеспечивает простой метод <methodname
+>Theme2k::slotSetText()</methodname
+>. На данном этапе вам не следует беспокоиться насчёт класса <classname
+>RotWidget</classname
+>. Это небольшой элемент графического интерфейса, который делает программу более наглядной для пользователя. Наш подключаемый модуль очень прост: он не показывает ни значков, ни индикатора загрузки. Если вы хотите использовать значки, перекройте функцию <function
+>slotSetPixmap</function
+>. Подобные функции есть для установки индикатора загрузки (<function
+>slotUpdateSteps</function
+>) и увеличения счётчика (<function
+>slotUpdateProgress</function
+>) текущего шага. </para>
+</sect1>
+<sect1 id="Implementation">
+<title
+>Реализация подключаемого модуля</title>
+<para
+>Мы проверим только связанные части реализации. В приложении находится описание всей реализации. В первую очередь нам необходимо удовлетворить требованиям библиотеки:</para>
+<example>
+<title
+>Требования библиотеки</title>
+<programlisting
+>K_EXPORT_COMPONENT_FACTORY( ksplash2k, KGenericFactory&lt;Theme2k&gt; );
+</programlisting>
+</example>
+<para
+>Объявление макроса <constant
+>K_EXPORT_COMPONENT_FACTORY</constant
+> содержится в файле <filename
+>kgenericfactory.h</filename
+>. Теперь перейдём к конструктору. Так как подключаемый модуль совсем прост, конструктор тоже несложен.</para>
+<example>
+<title
+>Конструктор подключаемого модуля</title>
+<programlisting
+>Theme2k::Theme2k( QWidget *parent, const char *name, const QStringList &amp;args
+ )
+ :ThemeEngine( parent, name, args )
+{
+ readSettings();
+ initUi();
+}
+</programlisting>
+</example>
+<para
+>Метод <function
+>readSettings()</function
+> является иллюстрацией подходящего способа получить параметры темы (вы ведь хотите, чтобы люди могли использовать ваш модуль для своих тем?)</para>
+<example>
+<title
+>Получение параметров темы</title>
+<programlisting
+>void Theme2k::readSettings()
+{
+ if( !mTheme )
+ return;
+
+ KConfig *cfg = mTheme-&gt;themeConfig();
+ if( !cfg )
+ return;
+
+ cfg-&gt;setGroup( QString("KSplash Theme: %1").arg(mTheme-&gt;theme()) );
+
+ QColor DefaultTBgColor( Qt::darkBlue );
+ QColor DefaultTFgColor( Qt::white );
+
+ mTBgColor = cfg-&gt;readColorEntry( "Title Background Color",
+&amp;DefaultTBgColor );
+ mTFgColor = cfg-&gt;readColorEntry( "Title Foreground Color",
+&amp;DefaultTFgColor );
+ mStatusColor = cfg-&gt;readColorEntry("Status Text Color", &amp;mTBgColor );
+
+ QColor DefaultRot1( Qt::darkBlue );
+ QColor DefaultRot2( Qt::cyan );
+ mRotColor1 = cfg-&gt;readColorEntry( "Rotator Color 1", &amp;DefaultRot1 );
+ mRotColor2 = cfg-&gt;readColorEntry( "Rotator Color 2", &amp;DefaultRot2 );
+
+ mRotSpeed = cfg-&gt;readNumEntry( "Rotator Speed", 30 );
+ mWndTitle = cfg-&gt;readEntry( "Window Title", i18n("Please wait...") );
+ mLogoFile = cfg-&gt;readEntry( "Logo File", QString::null );
+}
+</programlisting>
+</example>
+<para
+>Так как мы работаем для пользователей, следует обеспечить подходящие параметры по умолчанию для параметров, которые не представлены в файле темы. Обратите внимание, что группу следует устанавливать следующим образом: "KSplash Theme: название_темы", чтобы обеспечить совместимость с будущими спецификациями темы. Метод <function
+>initUI()</function
+> не представляет большого интереса, он просто организует элементы графического интерфейса. Детали указаны в приложении. </para>
+</sect1>
+<sect1 id="compilingfile">
+<title
+>Компиляция подключаемого модуля</title>
+<para
+>Для компиляции модуля мы решили использовать основу &kde;, поэтому необходимо создать файл <filename
+>Makefile.am</filename
+>. Он должен выглядеть следующим образом:</para>
+<example>
+<title
+>Файл <filename
+>Makefile.am</filename
+></title>
+<programlisting
+>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
+</programlisting>
+</example>
+<para
+>Чтобы получить дальнейшую информацию по созданию <filename
+>Makefile.am</filename
+>, загляните на <ulink url="http://developer.kde.org/documentation/other/makefile_am_howto.html"
+>веб-сайт</ulink
+> разработчиков &kde;. Заметим, что мы создаём тему по умолчанию, основанную на этом модуле, и прилагаем к нему графический файл фона. В качестве жеста доброй воли по отношению к пользователям создайте файл <filename
+>Theme.rc</filename
+>, иллюстрирующий примеры использования различных параметров.</para>
+</sect1>
+</chapter>
+
+<chapter id="faq">
+<title
+>Вопросы и ответы</title>
+&reporting.bugs; &updating.documentation; <qandaset id="faqlist">
+<qandaentry>
+<question>
+<para
+>Я не могу найти ни одной темы, которая работала бы с &ksplash;. Почему?</para>
+</question>
+<answer>
+<para
+>Возможно, у вас нет соответствующих подключаемых модулей для тем. Модули содержатся в пакете <literal
+>tdeartwork</literal
+>. Скачайте, установите его и попытайтесь запустить темы снова.</para>
+</answer>
+</qandaentry>
+<qandaentry>
+<question>
+<para
+>Что такое файл <filename
+>Theme.rc</filename
+> и как его создать?</para>
+</question>
+<answer>
+<para
+><filename
+>Theme.rc</filename
+> &mdash; это файл, где вы можете задать параметры темы. Информация по нему находится в разделе <link linkend="themes"
+>Как создавать темы для &ksplash;</link
+>. </para>
+</answer>
+</qandaentry>
+</qandaset>
+</chapter>
+
+<chapter id="credits">
+<title
+>Благодарности и лицензирование</title>
+
+<para
+>&ksplash;</para>
+
+<para
+>Программа: &copy; &Ravikiran.Rajagopal; &Ravikiran.Rajagopal.mail;, 2003.</para>
+
+<itemizedlist>
+<title
+>Помощь в разработке</title>
+<listitem
+><para
+>&Brian.C.Ledbetter; &Brian.C.Ledbetter.mail;</para>
+</listitem>
+</itemizedlist>
+
+<para
+>Документация: &copy; &Teemu.Rytilahti; &Teemu.Rytilahti.mail;, 2003.</para>
+&underFDL; &underGPL; </chapter>
+
+<appendix id="installation">
+<title
+>Установка</title>
+
+<sect1 id="requirements">
+<title
+>Системные требования</title>
+
+<para
+>Чтобы иметь возможность использовать возможности &ksplash; вам необходим &kde; версии 3.2 или выше. Если тема не работает, свяжитесь с её автором, чтобы выяснить, где можно взять подходящий подключаемый модуль.</para>
+
+</sect1>
+
+<sect1 id="compilation">
+<title
+>Сборка и установка</title>
+&install.compile.documentation; </sect1>
+</appendix>
+<appendix id="srccode">
+<title
+>Исходные коды</title>
+<sect1 id="theme2kcpp">
+<title
+>Файл <filename
+>theme2k.cpp</filename
+></title>
+<programlisting
+>#include &lt;qlabel.h&gt;
+#include &lt;qwidget.h&gt;
+
+#include &lt;kapplication.h&gt;
+#include &lt;kconfig.h&gt;
+#include &lt;kdebug.h&gt;
+#include &lt;kdialogbase.h&gt;
+#include &lt;kgenericfactory.h&gt;
+#include &lt;kglobalsettings.h&gt;
+#include &lt;klocale.h&gt;
+#include &lt;ksplash/objkstheme.h&gt;
+#include &lt;kstandarddirs.h&gt;
+
+#include "rotwidget.h"
+#include "theme2k.h"
+#include "theme2k.moc"
+
+K_EXPORT_COMPONENT_FACTORY( ksplash2k, KGenericFactory&lt;Theme2k&gt; );
+
+Cfg2k::Cfg2k( KConfig * )
+{}
+
+Theme2k::Theme2k( QWidget *parent, const char *name, const QStringList &amp;args
+ )
+ :ThemeEngine( parent, name, args )
+{
+ readSettings();
+ initUi();
+}
+
+void Theme2k::initUi()
+{
+ QVBox *vbox = new QVBox( this );
+ vbox-&gt;setFrameShape( QFrame::WinPanel );
+ vbox-&gt;setFrameShadow( QFrame::Raised );
+
+ QHBox *labelBox = new QHBox( vbox );
+ labelBox-&gt;setPalette( mTBgColor );
+ labelBox-&gt;setMargin( 1 );
+ QLabel *lbl = new QLabel( mWndTitle, labelBox );
+ lbl-&gt;setFont( QFont( "Arial", 12, QFont::Bold ) );
+ lbl-&gt;setPaletteForegroundColor( mTFgColor );
+
+ QLabel *logo = new QLabel( vbox );
+ logo-&gt;setPalette( Qt::white );
+
+ QString px( locate( "appdata", mTheme-&gt;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-&gt;setPixmap( pix );
+ }
+ else
+ {
+ logo-&gt;setText( "&lt;B&gt;KDE&lt;/B&gt;2000" );
+ logo-&gt;setAlignment( AlignCenter|AlignVCenter );
+ }
+
+ mRotator = new RotWidget( vbox, mRotColor1, mRotColor2, mRotSpeed );
+
+ QHBox *hbox = new QHBox( vbox );
+ labelBox-&gt;setSpacing( 4 );
+ labelBox-&gt;setMargin( 4 );
+
+ mText = new QLabel( hbox );
+ mText-&gt;setPaletteForegroundColor( mStatusColor );
+ mText-&gt;setPaletteBackgroundColor( mTFgColor );
+ mText-&gt;setText( mWndTitle );
+ mText-&gt;setFixedHeight( 48 );
+
+ setFixedSize( vbox-&gt;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-&gt;themeConfig();
+ if( !cfg )
+ return;
+
+ cfg-&gt;setGroup( QString("KSplash Theme: %1").arg(mTheme-&gt;theme()) );
+
+ QColor DefaultTBgColor( Qt::darkBlue );
+ QColor DefaultTFgColor( Qt::white );
+
+ mTBgColor = cfg-&gt;readColorEntry( "Title Background Color",
+&amp;DefaultTBgColor );
+ mTFgColor = cfg-&gt;readColorEntry( "Title Foreground Color",
+&amp;DefaultTFgColor );
+ mStatusColor = cfg-&gt;readColorEntry("Status Text Color", &amp;mTBgColor );
+
+ QColor DefaultRot1( Qt::darkBlue );
+ QColor DefaultRot2( Qt::cyan );
+ mRotColor1 = cfg-&gt;readColorEntry( "Rotator Color 1", &amp;DefaultRot1 );
+ mRotColor2 = cfg-&gt;readColorEntry( "Rotator Color 2", &amp;DefaultRot2 );
+
+ mRotSpeed = cfg-&gt;readNumEntry( "Rotator Speed", 30 );
+ mWndTitle = cfg-&gt;readEntry( "Window Title", i18n("Please wait...") );
+ mLogoFile = cfg-&gt;readEntry( "Logo File", QString::null );
+}
+</programlisting>
+</sect1>
+<sect1 id="rotwidgeth">
+<title
+>Файл <filename
+>rotwidget.h</filename
+></title>
+<programlisting
+>#ifndef __ROTWIDGET_H__
+#define __ROTWIDGET_H__
+
+#include &lt;qlabel.h&gt;
+#include &lt;qtimer.h&gt;
+#include &lt;qwidget.h&gt;
+
+#include &lt;kdialogbase.h&gt;
+#include &lt;kpixmap.h&gt;
+
+/**
+ * @short Display a rotating-gradient widget.
+ */
+class RotWidget: public QWidget
+{
+ Q_OBJECT
+public:
+ RotWidget( QWidget *, const QColor&amp;, const QColor&amp;, 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&lt;KPixmap&gt; m_stepPixmap;
+};
+
+#endif
+</programlisting>
+</sect1>
+<sect1 id="rotwidgetcpp">
+<title
+>Файл <filename
+>rotwidget.cpp</filename
+></title>
+<programlisting
+>#include &lt;kdebug.h&gt;
+#include &lt;kdialogbase.h&gt;
+#include &lt;kpixmapeffect.h&gt;
+
+#include &lt;qlabel.h&gt;
+#include &lt;qpainter.h&gt;
+#include &lt;qwidget.h&gt;
+
+#include "rotwidget.h"
+#include "rotwidget.moc"
+
+RotWidget::RotWidget( QWidget *parent, const QColor&amp; c1, const QColor&amp;
+c2, int sp )
+ :QWidget(parent), m_color1(c1), m_color2(c2), m_step(0), m_speed(sp)
+{
+ if( (m_speed &lt;= 0) || (m_speed &gt; 20) )
+ m_speed = 1;
+ setFixedHeight( 6 );
+
+ for( int i = 0; i &lt;= width(); i++ )
+ preparePixmap( i );
+
+ m_stepTimer = new QTimer( this );
+ connect(m_stepTimer, SIGNAL(timeout()), this, SLOT(stepEvent()));
+ m_stepTimer-&gt;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 &gt; width() )
+ m_step = 0;
+ repaint( true );
+}
+
+// Todo: Optimize drawing.
+void RotWidget::paintEvent( QPaintEvent *pe )
+{
+ QPainter p;
+ p.begin( this );
+
+ QRect r = pe-&gt;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 &lt;= re-&gt;size().width(); i++ )
+ preparePixmap( i );
+}
+
+void RotWidget::preparePixmap( int step )
+{
+ if( step &lt; 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( &amp;next, 0, 0, prev, 1, 0, prev-&gt;width()-1, prev-&gt;height()
+);
+ bitBlt( &amp;next, width()-1, 0, prev, 0, 0, 1, prev-&gt;height() );
+ KPixmap *n = new KPixmap( next );
+ m_stepPixmap.append( n );
+ }
+}
+</programlisting>
+</sect1>
+</appendix>
+
+&documentation.index;
+</book>
+
+<!--
+Local Variables:
+mode: xml
+sgml-minimize-attributes:nil
+sgml-general-insert-case:lower
+sgml-indent-step:0
+sgml-indent-data:nil
+End:
+
+vim:tabstop=2:shiftwidth=2:expandtab
+-->