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-da/docs/tdebase/ksplashml/Makefile.am | 4 + tde-i18n-da/docs/tdebase/ksplashml/Makefile.in | 635 ++++++++ tde-i18n-da/docs/tdebase/ksplashml/index.cache.bz2 | Bin 0 -> 15620 bytes tde-i18n-da/docs/tdebase/ksplashml/index.docbook | 1595 ++++++++++++++++++++ 4 files changed, 2234 insertions(+) create mode 100644 tde-i18n-da/docs/tdebase/ksplashml/Makefile.am create mode 100644 tde-i18n-da/docs/tdebase/ksplashml/Makefile.in create mode 100644 tde-i18n-da/docs/tdebase/ksplashml/index.cache.bz2 create mode 100644 tde-i18n-da/docs/tdebase/ksplashml/index.docbook (limited to 'tde-i18n-da/docs/tdebase/ksplashml') diff --git a/tde-i18n-da/docs/tdebase/ksplashml/Makefile.am b/tde-i18n-da/docs/tdebase/ksplashml/Makefile.am new file mode 100644 index 00000000000..56d9cda9578 --- /dev/null +++ b/tde-i18n-da/docs/tdebase/ksplashml/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = da +SUBDIRS = $(AUTODIRS) +KDE_DOCS = ksplashml +KDE_MANS = AUTO diff --git a/tde-i18n-da/docs/tdebase/ksplashml/Makefile.in b/tde-i18n-da/docs/tdebase/ksplashml/Makefile.in new file mode 100644 index 00000000000..2abdc186b41 --- /dev/null +++ b/tde-i18n-da/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 = da +#>- 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-da/docs/tdebase/ksplashml/index.cache.bz2 b/tde-i18n-da/docs/tdebase/ksplashml/index.cache.bz2 new file mode 100644 index 00000000000..ba913f64bf9 Binary files /dev/null and b/tde-i18n-da/docs/tdebase/ksplashml/index.cache.bz2 differ diff --git a/tde-i18n-da/docs/tdebase/ksplashml/index.docbook b/tde-i18n-da/docs/tdebase/ksplashml/index.docbook new file mode 100644 index 00000000000..46b6e390168 --- /dev/null +++ b/tde-i18n-da/docs/tdebase/ksplashml/index.docbook @@ -0,0 +1,1595 @@ + + + + + +]> + + + + +&ksplash;-håndbogen + + +&Teemu.Rytilahti; &Teemu.Rytilahti.mail; + +&Brian.C.Ledbetter; &Brian.C.Ledbetter.mail; + +&Ravikiran.Rajagopal; &Ravikiran.Rajagopal.mail; + +&erik.kjaer.pedersen.role; + + + + +2003 +Teemu Rytilahti + + +2003-04 +Ravikiran Rajagopal + +&FDLNotice; + +2003-01-10 +1.01.00 + + +&ksplash; er en opstartsskærm der viser fremskridt for et program der er ved at blive indlæst. + + + +KDE +tdebase +ksplash +ksplashml +opstartsskærm +øjenlækkerier + + + + + +Indledning + +&ksplash; er en opstartsskærm der viser fremskridt for et program der er ved at blive indlæst. Rapportér venligst om problemer eller ønsker om nye egenskaber til &kde;'s e-mail-lister. &ksplash;'s hovedegenskaber er: + +Kan påvirkes af temaer +Bruger plugin til fuldstændig brugerinderetning +Kan bruges af et vilkårligt program der bruger DCOP + + +Denne håndbog vil vise dig hvordan man laver temaer til brug med plugin der allerede findes. Hvis ingen af de tilgængelige plugin tilfredsstiller din smag, kan du lære hvordan du brugerindstiller &ksplash;'s udseende fuldstændigt ved at skrive et plugin i C++. + + + +brug af temaer + +For at bruge temaer fra KDE-Look, pakkes de ud til ~/.kde/share/apps/ksplash/Themes/ for en enkelt bruger, eller til $KDEDIR/share/apps/ksplash/Themes/ for at gøre dem tilgængelige for alle brugerne på dit system. + + Du kan også bruge Opstartsskærm-modulet under Udseende i &kde;'s kontrolcenter til at gøre dette automatisk. + + +Ved brug af &kcontrol;-modulet + +Dette module tillader dig at installere, teste og fjerne &ksplash;-temaer. + +Nede langs siden af modulet er en liste af de for øjeblikket tilgængelige &ksplash;-temaer. Når du vælger en, vil en forhåndsvisning blive vist i hoveddelen af vinduet. Når du har valgt den du ønsker at bruge, tryk så på O.k. eller Anvend. Tryk på Annullér for at afslutte modulet uden at lave ændringer, og Standard for at genoprette systemets standard-opstartsskærm. + +Fro at installere nye moduler, trykkes på Tilføj..., og find temaet på din computer. Du behøver ikke at pakke temafiler ud, du kan blot vælge den komprimerede temafil. Installering af et tema gør det ikke til det tema der bruges før du vælger det på listen og trykker enten på O.k. eller Anvend. + +Selvom du kan se en forhåndsvisning af opstartsskærmen, vil du måske gerne se hvordan det ser ud i rigtigt brug, for eksempel for at se hvordan animeringen ser ud. Du kan teste temaer ved at vælge dem på listen og klikke på Test-knappen. + +Du kan også fjerne de temaer du ikke længere ønsker at bruge, ved at vælge dem og trykke på Fjern-knappen. bemærk at din brugerkonto måske ikke har lov til at fjerne temaer der er installeret systemomfattende. Det anbefales også at du ikke afinstallerer Standard-opstartskærmen. + + + + + + +Hvordan man laver temaer for &ksplash; + +Generelt +Det er nemt at lave dine egne temaer for &ksplash;. Efter du er færdig med dine temaer kan du sende dem til KDE-Look så andre kan bruge dem. + + +Identificering af dit tema + +Lad os lave et tema der hedder MitHeltEget. For at temaet skal blive genkendt af &ksplash;, skal det gemmes i en mappe der hedder MitHelEget under ~/.kde/apps/ksplash/Themes/. Det skal have en fil der hedder Theme.rc, der indeholder opsætningen af temaet. Du kan angive mange specielle ting i temaet, ændre den plugin-maskine der bruges, og så videre. Du behøver ikke at bruge alle de mulige indstillinger; sædvanligvis har indstillingerne en acceptabel standardværdi. Den basale syntaks for indgange i Theme.rc-filen er [option] = [value] Du kan finde definitionerne på de forskellige muligheder i de følgende afsnit. + + +Simpel <filename +>Theme.rc</filename +> fil +[KSplash Theme: MitHeltEget] +Name = MitHeltEget +Description = Et lækkert tema der bruger XpLike-maskinen +Version = 1.0 +Author = Rigtigt navn <rigtigpost@post.dk> +## Brug XpLike-maskinen til dette tema. +Engine = XpLike +Show Icon = false +Welcome Text = Indlæser KDE + + + +Efter at have angivet navnet, beskrivelsen og forfatteren for temaet, skal du først vælge en tema-maskine (også kendt som et plugin). Så kan du brugerindstille forskellige egenskaber af tema-maskinen ved at tilknytte nøgle-værdi par som i eksempel-filen ovenfor. + + +Sørg for at navnet på mappen hvori temafilerne opbevares (~/.kde/apps/ksplash/Themes/MitHeltEget i vores tilfælde) og identifikatoren ([KSplash Tema: MitHeltEget] i vores tilfælde) for temaet i Theme.rc-filen er identiske.Ellers vil &ksplash; ikke genkende temaet. + + + + + +Baggrundsfiler + +Når &ksplash; starter, prøver den at finde et baggrundsbillede der passer til skærmens opløsning hvis tema-maskinen bruger et. Baggrundsbilledfilen skan navngives i følgende: Background-WWWxHHH.png. + +For eksempel vil du måske bruge en fil der hedder Background-1024x768. Hvis baggrundsbilledet for din skærms opløsning ikke kan findes, prøver den at ændre størrelse på den originale Background.png eller filen angivet i Theme.rc til at passe med den nuværende opløsning. Ændring af størrelse uden-videre vil selvfølgelig tage et stykke tid, så du bør sørge for baggrundsbilleder i det mindste i følgende størrelser: 1280x1024, 1024x768 og 800x600. + + + + +Valgmuligheder for tema-maskiner + + +Standardtema + +Indstillinger for standardtema + + + +Navn +Argument +Forklaring + + + +Vis altid fremgang +[sand/falsk] +Indikerer om indlæsningsfremgang skal vises. Standard er sand. + + +Forgrund for etiket +[farve] +Afgør hvilken farve der skal bruges for statuslinjens test. Standardværdien er er #FFFFFF (hvidt). + + + +Ikoner blinker +[sand/falsk] +Angiver om ikoner skal blinke. Standardværdien er sandt (true). + + + +
+
+ + +Standard-tema + +Valgmuligheder for standard-tema + + + +Navn +Argument +Forklaring + + + +Placering af statuslinje +[top/bund] +Skifter positionen af statuslinjen på skærmen. Standard er for neden. + + +Synlig statuslinje +[sand/falsk] +Indikerer om statuslinjen skal vises. Standard er sand. + + +Fremgang synlig +[sand/falsk] +Indikerer om indlæsningsfremgang skal vises. Standard er sand. + + + +Skrifttype for statuslinje +[skrifttypenavn] +Den skrifttype der bruges i statuslinjen. Standard er Helvetica. + + +Skrifttypestørrelse for statuslinje +[størrelse] +Skrifttypens størrelse på statuslinjen. Standard er 16. + + +Fed skrifttype på statuslinje +[sand/falsk] +Indikerer om skrifttypen på statuslinjen skal være fed. Standard er sand. + + +Kursiv skrifttype for statuslinje +[sand/falsk] +Indikere om statuslinjen skrifttype skal være kursiv. Standard er falsk. + + + +Forgrund for statuslinje +[farve] +Forgrundsfarven på statuslinjen. Standard er hvid. + + +Baggrund for statuslinje +[farve] +Baggrundsfarve for statuslinjen. Standard er sort. + + +Ikon for statuslinje +[sand/falsk] +Indikerer om statuslinjen skal have en ikon. + + +Ikoner synlige +[sand/falsk] +Indikerer om ikoner skal være synlige. Standard er sand. + + +Ikoner hopper +[sand/falsk] +Indikerer om ikoner skal hoppe. Standard er sand. + + +Ikonplacering +[0-3,10-13] +Position hvor ikonerne vises. Standard er for neden til venstre. + + +Opstartskærm +[navn] +Ændrer det billede der vises i opstartsskærmen. + + + +
+
+ + +Redmond tema + +Indstillinger for Redmond tema + + + +Navn +Argument +Forklaring + + + +Baggrundsbillede +[filnavn] +Brugerdefineret baggrundsbillede der skal bruges. + + +Bruger-ikon +[Ikonnavn] +Navn på standard-ikon at vise til brugeren. Standard er kør. + + +Velkomsttekst +[tekst] +Tekst der vises i opstartsskærmen. Standard er "Velkommen". + + +Tekst for brugernavn +[tekst] +Tekst der vises i stedet for brugerens rigtige navn. + + + +Placering af velkomsttekst +[x,y] +Position på skærmen hvor velkomstteksten vises. + + +Tekst-position for brugernavn +[x,y] +Position på skærmen hvor brugernavnet vises. + + +Placering af handlingstekst +[x,y] +Position på skærmen hvor den nuværende handling vises. + + +Ikonplacering +[x,y] +Position på skærmen hvor brugerikonen vises. + + + +Vis velkomsttekst +[sand/falsk] +Slår visning af velkomsttekst til og fra. Standard er sand. + + +Vis velkomstskygge +[sand/falsk] +Slår visning af velkomsttekstens skygge til og fra. Standard er sand. + + +Vis brugernavn +[sand/falsk] +Slår visning af brugernavn til og fra. Standard er sand. + + +Vis handling +[sand/falsk] +Slår visning af den handling der udføres lige nu til og fra. Standard er sand. + + +Vis ikon +[sand/falsk] +Indikerer om ikon skal vises. Standard er sand + + +Brug KDM's bruger-ikon +[sand/falsk] +Vis brugerens login-ikon. Standard er sand. + + + +
+
+ + +MacX tema + +Indstillinger for MacX tema + + + +Navn +Argument +Forklaring + + +Minimum ikonstørrelse +[størrelse] +Tilknyt en minimumstørrelse for ikoner. Standard er 16. + + +Maksimal ikonstørrelse +[størrelse] +Tilknyt maksimum størrelse for ikoner. Standard er 64. + + +Optimeret ikonvisning +[sand/falsk] +Optimér ikonvisning. Standard er sand. + + +Synlig fremgangslinje +[sand/falsk] +Standard er sand. + + +Placering af fremgangslinje +[top/bund] +Skifter mellem om statuslinjen skal være foroven eller forneden. Standard er forneden. + + +Ikoner hopper +[sand/falsk] +Indikerer om ikoner skal hoppe. Standard er falsk. + + + +
+
+ + +MacClassic tema + +Indstillinger af MacClassic tema + + + +Navn +Argument +Forklaring + + +Ikonplacering +[0-3,10-13] +Placering af ikonerne på skærmen. Standard er forneden til venstre. + + +Ikoner hopper +[sand/falsk] +Indikerer om ikoner skal hoppe. Standard er falsk. + + +Ikoner synlige +[sand/falsk] +Indikerer om ikoner skal være synlige. Standard er sand. + + +Opstartskærm +[navn] +Ændrer det billede der vises i opstartsskærmen. + + + +
+
+ + +2k tema + +Indstillinger af 2k tema + + + +Navn +Argument +Forklaring + + +Baggrundsfarve for titel +[farve] +Baggrundsfarven for titlen. Standard er mørkeblå. + + +Forgrundsfarve for titel +[farve] +Forgrundsfarve for titlen. Standard er hvid. + + +Tekstfarve for status +[farve] +Farven på statustekster. Standard er den samme som titelens baggrundsfarve. + + +Rotator-farve 1 +[farve] +Definerer farven på rotator 1. Standard er mørkeblå. + + +Rotator-farve 1 +[farve] +Definerer farven på rotator 1. Standard er cyan. + + +Rotatorhastighed +[værdi] +Definerer rotatorens hastighed. Standard er 30. + + +Vinduestitel +[tekst] +Angiver titelens tekst i vinduet. + + +Logo-fil +[filnavn] +Definerer det logo der bruges. + + + +
+
+
+
+ + +Brug af &ksplash; indefra dit eget program + +I dette kapitel beskriver en simpel metode at bruge &ksplash; som opstartskærm for dit &kde;-program. Hvis du ikke udvikler programmer for &kde;, kan du springe over dette kapitel. + + +Basale krav + +Dit &kde;-program skal være klar over &DCOP;. &DCOP; er den teknik &kde; bruger til at kommunikere mellem programmer. Hvis du bruger &kde; application framework, sker dette automatisk. For information om &DCOP; og relaterede &kde; teknologier, besøg venligst &kde; developers' corner. + + + +Start af &ksplash; + +Før dit program starter sit beregningsintensive arbejde, eller før det begynder med at indlæse plugin, &etc;, startes &ksplash; som følger: + +DCOPClient *c = kapp->dcopClient(); +QString error; +QCString KSplashName; +int pid = 0; +QStringList args; +args << "--theme=MyCoolTheme" << "--managed"; +if (kapp->startServiceByDesktopName("ksplash", args, &error, +&KSplashName, &pid)) +{ + KMessageBox::sorry(0, error, "Unable to invoke KSplash"); + // Some error processing here. +} + + +Vi vil antage at der kun er én udgave af &ksplash; der kører. Andre tilfælde er en smule mere komplicerede. Se venligst &DCOP;-dokumentationen for yderligere detaljer. + + + +Viser beskeder + +Før du viser nogen beskeder, skal du indstille det antal skridt du vil vise. For eksempel bruger &kde;'s opstartsprocedure 7 skridt. + +QByteArray data; + QDataStream arg(data,IO_WriteOnly); + arg << someNumber; + if (!(c->send(KSplashName, "KSplashIface", "setStartupItemCount(int)", +data)) + // Some error processing here. + + +Når du ønsker at vise en besked med eller uden ikon bruges + +arg << QString("iconName") << QString("programName") << +QString("Some description"); + if (!(c->send(KSplashName, "KSplashIface", +"programStarted(QString,QString,QString)", data)) + { + // Some error processing here. + } + + +Hver gang du kalder programStarted, forøges antallet af færdige skridt. Når dit program er færdig med sin opstart, så gør følgende for at få opstartskærmen til at gå væk: + +if (!(c->send(KSplashName, "KSplashIface", "startupComplete()", data)) + { + // Noget fejlbehandling her. + } + + +Det er det hele! Du behøver ikke andet for kunne udnytte alt hvad &ksplash; har at tilbyde. + + + + + + + + +Skriv nye &ksplash;-plugin + +Det er ikke svært at skrive et nyt plugin for &ksplash;. I dette kapitel vil vi skrive et simpelt plugin der vil emulere opstartsskærmen for et velkendt operativsystem. Denne øvelse antager at du kender til basal C++, og en smule om KDE/Qt programmering. + + +Basale krav +Vi vil lave et plugin der hedder 2k. Navnet på et plugin bruges forskellige steder, og det er vigtigt at du er konsistent i dets brug så dit plugin bliver genkendt af &ksplash;. &ksplash; plugin er rent faktisk dynamisk indlæsbare biblioteker med følgende navnekonvention: + +Biblioteket skal hedde ksplash+temanavnmedsmaabogstaver. For vore tema, vil et være ksplash2k. +Det skal have en tilsvarende desktop-fil som hedder ksplash+temanavnmedsmaabogstaver.desktop. For vores tema vil det være ksplash2k.desktop. +Endelig skal objektet der returneres af biblioteket være en klasse som hedder Theme+temanavnet. For vores eksempel vil det være Theme2k. + +Du skal ikke bekymre dig om du forstår alt dette. Vi vil betragte hvert af punkterne i detalje senere. Den anden meget vigtige detalje er at plugin-klassen skal være afledt fra ThemeEngine. + + +Bygning af skelet-ramme +Vi vil bruge &kde;'s program-ramme som vil tage sig af at bygge dit plugin og vil sørge for uafhængighed af platform uden at vi skal gøre noget. For at gøre dette sørg for at du har tdesdk-pakken installeret. Kør kommandoen kapptemplate for at producere et program der hedder "2k". Det vil lave en mappe på topniveau som indeholder generiske filer såsom AUTHORS, &etc;. Vi er mest interesseret i undermappen der hedder 2k. Gå ind i den undermappe og slet alle filerne der. Nu har vi det krævede skelet. +Næste skridt er at lave en .desktop-fil som, når den er installeret, vil fortælle &ksplash; at vores plugin er tilstede. Konsistent med navngivningkonventionerne lagt ud i det foregående afsnit, laves en fil der hedder ksplash2k.desktop i den mappe. Den skal indeholde følgende linjer: + +[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 + + +Encoding, Type, Comment og ServiceTypes er det samme for alle plugin. Navnet på dit plugin og biblioteksnavnet følger de konventioner ve bemærkede tidligere. Indgangen X-KSplash-Default tager en boolesk værdi som afgør om det vises som standard i kontrolpanelets indstillingsmodul. Undtagen i meget sjældne tilfælde skal det være true. + + +Deklaration af plugin-klasse +Nu da vi er færdige med det indledende arbejde, lad os begynde med den morsomme del - at lave en klasse der vil sørge for den opførsel vi ønsker. Mens vi er fire til at få denne klasse til at gøre næsten hvadsomhelst vi ønsker den skal gøre, er der nogle få begrænsninger. + +Plugin-klasser skal arve ThemeEngine-klassen. +Plugin-klasser skal navngives efter reglen: Tema+PluginNavn. +Plugin-klasser skal sørge for en statisk funktion der hedder names der returnerer en liste af navne ved hvilke de kan startes. +Hvis dit plugin kan indstilles i kontrolcenter-modulet, skal det sørge for en ThemeEngineConfig-baseret klasse for indstillingen. +Plugin-klasser skal gå forud for mindst en af de virtuelle funktioner slotSetText, slotSetPixmap, slotUpdateProgress og slotUpdateSteps for at være brugbare. +Konstruktøren skal være på formen ThemeEngine( QWidget *parent, const char *name, const QStringList &args ) så den kan bruges med KGenericFactory. + +Det sidste krav synes måske kompliceret, men, som vi skal se senere, du kan sædvanligvis ignorere det ved at tilføje en enkelt linje til din kildefil. + + +Kode for header-filen +Givet disse begrænsninger vil vi nu se at header-filen theme2k.h ser sådan her ud: + +Visning af <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 + + +Lad os analysere ovenstående. Theme2k-klassen tilfredsstiller navnekonventionerne, og er arvet fra ThemeEngine. Den sørger for en Theme2k::names(), og har en konstruktør der tager de krævede parametre: Theme2k( QWidget *, const char *, const QStringList& ); og sørger også for en simpel Theme2k::slotSetText() metode. Indtil videre bekymrer vi os ikke om RotWidget-klassen. Det er en lille kontrol der sørger for nogle øjenlækkerier for brugeren. Vores plugin er meget simpelt og viser ikke nogen ikoner og har ingen fremgangslinje. Hvis du gerne vil vise ikoner, så sæt slotSetPixmap-funktionen ud af kraft. Lignende funktioner eksisterer til at sætte fremgangslinjens område (slotUpdateSteps) og til at forøge (slotUpdateProgress) det nuværende skridt. + + +Implementation af plugin +Vi vil kun undersøge de relevante dele af implementationen. For en liste af hele implementationen, kig venligst i appendiks. Det første vi vil gøre er at bibliotekskravene til en side: + +Bibliotekskrav +K_EXPORT_COMPONENT_FACTORY( ksplash2k, KGenericFactory<Theme2k> ); + + +Makroen K_EXPORT_COMPONENT_FACTORY erklæres i kgenericfactory.h. Videre til konstruktøren! Da dette er et meget simpelt plugin, er konstruktøren temmelig ligetil. + +Plugin-konstruktør +Theme2k::Theme2k( QWidget *parent, const char *name, const QStringList &args + ) + :ThemeEngine( parent, name, args ) +{ + readSettings(); + initUi(); +} + + +Metoden readSettings() illustrerer den rigtige måde at opnå din temaopsætning. (Du ønsker at folk skal bruge dit plugin i deres temaer, ikke sandt?) + +Opnået temaopsætning +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 ); +} + + +Da vi kan lide vore brugere, sørger vi for rimelige standardværdier for parametre der ikke er tilstede i temafilen. Bemærk at vi altid skal sætte vores gruppe til "KSplash Theme: themename" for at forblive kompatible med fremtidige tema-specifikationer. initUI()-metoden er ikke særlig interessant, da den blot opbygger kontrollerne. Se venligst appendiks for detaljer. + + +Kompilering af plugin +Da vi besluttede os for at bruge &kde;'s rammer til at kompilere vores plugin, må vi lave en Makefile.am. Den skal se sådan her ud: + +Visning af <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 + + +For yderligere oplysninger om at skrive Makefile.am-filer for &kde;, se venligst &kde;-udviklernes' netside. Det eneste der skal bemærkes er at vi sørger for et standardtema baseret på dette plugin, og vi sørger for et forhåndsbillede for det. Som en venlighed overfor dine brugere, bør du sørge for et eksempel på en Theme.rc-fil der illustrerer brugen af de forskellige tilvalg. + + + + +Spørgsmål og svar +&reporting.bugs; &updating.documentation; + + +Jeg kan ikke finde nogen temaer der virker i &ksplash;. Hvorfor er det? + + +Du har formodentlig ikke de rigtige plugin for temaet. Plugin er i kde-artwork pakken. Hent den og installér den, og prøv så igen. + + + + +Hvad er filen Theme.rc og hvordan laver jeg én? + + +Theme.rc er filen hvor du kan specificere temaets opsætning. For yderligere oplysninger kig i Hvordan laver jeg temaer for &ksplash;. + + + + + + +Medvirkende og licens + +&ksplash; + +Program ophavsret © 2003 &Ravikiran.Rajagopal; &Ravikiran.Rajagopal.mail; + + +Bidragydere +&Brian.C.Ledbetter; &Brian.C.Ledbetter.mail; + + + +Dokumentation ophavsret © 2003 &Teemu.Rytilahti; &Teemu.Rytilahti.mail; +&underFDL; &underGPL; + + +Installation + + +Krav + +For at det skal lykkes at bruge &ksplash;, har du brug for &kde; version 3.2 eller højere. Nogle temaer vil måske kræve bestemte plugin. Hvis et tema ikke virker, så kontakt venligst temaets forfatter for at finde ud af hvor man får fat i et passende plugin. + + + + +Kompilering og installation +&install.compile.documentation; + + +Kildekode + +Visning af <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 ); +} + + + +Visning af <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 + + + +Visning af <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