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-pt/docs/tdebase/ksplashml/Makefile.am | 4 + tde-i18n-pt/docs/tdebase/ksplashml/Makefile.in | 635 ++++++++ tde-i18n-pt/docs/tdebase/ksplashml/index.cache.bz2 | Bin 0 -> 16216 bytes tde-i18n-pt/docs/tdebase/ksplashml/index.docbook | 1602 ++++++++++++++++++++ 4 files changed, 2241 insertions(+) create mode 100644 tde-i18n-pt/docs/tdebase/ksplashml/Makefile.am create mode 100644 tde-i18n-pt/docs/tdebase/ksplashml/Makefile.in create mode 100644 tde-i18n-pt/docs/tdebase/ksplashml/index.cache.bz2 create mode 100644 tde-i18n-pt/docs/tdebase/ksplashml/index.docbook (limited to 'tde-i18n-pt/docs/tdebase/ksplashml') diff --git a/tde-i18n-pt/docs/tdebase/ksplashml/Makefile.am b/tde-i18n-pt/docs/tdebase/ksplashml/Makefile.am new file mode 100644 index 00000000000..5d9aba3ee7a --- /dev/null +++ b/tde-i18n-pt/docs/tdebase/ksplashml/Makefile.am @@ -0,0 +1,4 @@ +KDE_LANG = pt +SUBDIRS = $(AUTODIRS) +KDE_DOCS = ksplashml +KDE_MANS = AUTO diff --git a/tde-i18n-pt/docs/tdebase/ksplashml/Makefile.in b/tde-i18n-pt/docs/tdebase/ksplashml/Makefile.in new file mode 100644 index 00000000000..05402c2e917 --- /dev/null +++ b/tde-i18n-pt/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 = pt +#>- 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-pt/docs/tdebase/ksplashml/index.cache.bz2 b/tde-i18n-pt/docs/tdebase/ksplashml/index.cache.bz2 new file mode 100644 index 00000000000..86b38527d62 Binary files /dev/null and b/tde-i18n-pt/docs/tdebase/ksplashml/index.cache.bz2 differ diff --git a/tde-i18n-pt/docs/tdebase/ksplashml/index.docbook b/tde-i18n-pt/docs/tdebase/ksplashml/index.docbook new file mode 100644 index 00000000000..e3bc1b1805b --- /dev/null +++ b/tde-i18n-pt/docs/tdebase/ksplashml/index.docbook @@ -0,0 +1,1602 @@ + + + + + +]> + + + + +O Manual do &ksplash; + + +&Teemu.Rytilahti; &Teemu.Rytilahti.mail; + +&Brian.C.Ledbetter; &Brian.C.Ledbetter.mail; + +&Ravikiran.Rajagopal; &Ravikiran.Rajagopal.mail; + +JoséPires
jncp@netcabo.pt
Tradução
+ +
+ + +2003 +Teemu Rytilahti + + +2003-04 +Ravikiran Rajagopal + +&FDLNotice; + +2003-01-10 +1.01.00 + + +O &ksplash; é um ecrã inicial bonito que mostra o progresso de uma aplicação que está a ser carregada. + + + +KDE +tdebase +ksplash +ksplashml +ecrã inicial +belezas visuais + + +
+ + +Introdução + +O &ksplash; é um ecrã inicial bonito que mostra o progresso de uma aplicação que está a ser carregada. Por favor comunique quaisquer problemas ou pedidos de funcionalidades às listas de correio do &kde;. As principais funcionalidades do &ksplash; são: + +Temas Configuráveis +Utiliza 'plugins' para uma personalização completa +Pode ser usado por qualquer aplicação que utilize o DCOP + + +Este manual mostrar-lhe-á como criar temas para usar com os 'plugins' que já estão disponíveis. Se nenhum dos 'plugins' disponíveis satisfaz o seu gosto, você poderá aprender como personalizar a aparência do &ksplash; por completo ao criar um 'plugin' em C++. + + + +Usar os temas + +Para usar os temas do KDE-Look, extraia-os para a pasta ~/.kde/share/apps/ksplash/Themes/ para um único utilizador, ou para a $KDEDIR/share/apps/ksplash/Themes/ para os tornar disponíveis para todos os utilizadores do seu sistema. + +Você também poderá usar o módulo Ecrã Inicial da Aparência no centro de controlo do &kde; para fazer isto automaticamente. + + +Utilizar o Módulo do &kcontrol; + +Este módulo permite-lhe instalar, testar e remover temas do &ksplash;. + +Ao lado do módulo existe uma lista com os temas disponíveis de momento para o &ksplash;. Quando seleccionar um, irá aparecer uma antevisão na área principal da janela. Quando tiver seleccionado o item que deseja usar, carregue em OK ou em Aplicar. Carregue em Cancelar para sair do módulo sem ter feito nenhuma alteração ou em Predefinições para repor o ecrã inicial por omissão do sistema. + +Para instalar novos módulos, carregue em Adicionar... e procure o tema no seu computador. Você não terá de descomprimir os ficheiros dos temas; poderá seleccionar sem problemas o ficheiro de tema comprimido. Se instalar um tema não o torna o tema por omissão, até que você o seleccione na lista e carregue em OK ou em Aplicar. + +Ainda que você possa ver uma antevisão do ecrã inicial, você poderá querer ver como é que ele funciona realmente, por exemplo para ver como é que fica a animação. Você poderá testar os temas se os seleccionar na lista e carregar em Testar. + +Você também poderá remover os temas que não deseja mais usar, se os seleccionar e carregar em Remover. Lembre-se que a sua conta de utilizador poderá não ter permissões para remover os temas instalados ao nível do sistema. Também é recomendado que não desinstale o ecrã inicial Por omissão. + + + + + + +Como criar temas para o &ksplash; + +Geral +Criar os seus próprios temas do &ksplash; é simples. Depois de você ter terminado os seus temas poderá publicá-los no KDE-Look para que as outras pessoas os possam usar. + + +Identificar o seu tema + +Vamos então criar um tema chamado OMeuTemaFixe. Para o tema ser reconhecido pelo &ksplash;, deverá ser guardado numa pasta chamada OMeuTemaFixe em ~/.kde/apps/ksplash/Themes/. Deverá ter um ficheiro chamado Theme.rc, o qual contém a configuração do tema. Você poderá indicar várias coisas especiais para o tema, alterar o motor do 'plugin' a usar, e assim por diante. Você não terá de usar todas as configurações disponíveis; normalmente, as configurações têm valores por omissão aceitáveis. A sintaxe básica dos itens no ficheiro Theme.rc é [opção] = [valor] Você poderá encontrar as definições das várias opções nas seguintes secções. + + +Ficheiro <filename +>Theme.rc</filename +> simples +[Tema do KSplash: OMeuTemaFixe] +Name = OMeuTemaFixe +Description = Um tema giro usando um motor do tipo XP +Version = 1.0 +Author = Nome Verdadeiro <nomeverdadeiro@mail.com> +## Usar o motor XpLike para este tema. +Engine = XpLike +Show Icon = false +Welcome Text = A carregar o KDE + + + +Depois de indicar o nome, a descrição e o autor do tema, você deverá escolher primeiro um motor de temas (também conhecido por 'plugin'). A partir daí, você poderá personalizar várias funcionalidades do motor do tema ao atribuir pares (chave, valor) como no ficheiro de exemplo em cima. + + +Garanta que o nome da pasta onde os ficheiros dos temas são gravados (~/.kde/apps/ksplash/Themes/OMeuTemaFixe no nosso caso) e o identificador ([Tema do KSplash: OMeuTemaFixe] , também no nosso caso) do tema no ficheiro Theme.rc sejam idênticos. Caso contrário, o &ksplash; não irá reconhecer o tema. + + + + + +Ficheiros com fundos + +Quando o &ksplash; se inicia, ele tenta procurar uma imagem de fundo para a sua resolução de ecrã actual, se o motor do tema usar uma. O ficheiro com a imagem de fundo deverá ter um nome com o seguinte formato: Background-LLLxAAA.png, com o LLL sendo a largura em pixels e o AAA, a altura.. + +Por exemplo, você poderá usar um ficheiro chamado Background-1024x768. Se a imagem de fundo para a sua resolução não puder ser encontrada, ele tentará redimensionar o ficheiro original Background.png ou o ficheiro indicado no Theme.rc para se adequar à resolução actual. O redimensionamento imediato poderá levar algum tempo, como tal você deverá fornecer imagens de fundo para, pelo menos, os seguintes tamanhos: 1280x1024, 1024x768 e 800x600. + + + + +Opções para os Motores de Temas + + +Tema por Omissão + +Opções por Omissão do Tema + + + +Nome +Argumento +Explicação + + + +Mostrar Sempre o Progresso +[true/false] +Indica se o progresso do carregamento deverá ser mostrado ('true': sim; 'false': não). Por omissão é 'true'. + + +Cor do Texto da Legenda +[cor] +Determina a cor do texto a usar na barra de estado. Por omissão é igual a '#FFFFFF' (branco). + + + +Ícones a Piscar +[true/false] +Indica se os ícones devem piscar. ('true': sim; 'false': não). Por omissão, 'true'. + + + +
+
+ + +Tema Padrão + +Opções do Tema Padrão + + + +Nome +Argumento +Explicação + + + +Posição da Barra de Estado +[top/bottom] +Comuta a posição da barra de estado no ecrã: 'top' (em cima) ou 'bottom' (em baixo). O valor por omissão é o 'bottom'. + + +Barra de Estado Visível +[true/false] +Indica se a barra de estado deverá ser mostrada ('true': sim; 'false': não). O valor por omissão é o 'true'. + + +Progresso Visível +[true/false] +Indica se o progresso do carregamento deverá ser mostrado ('true': sim; 'false': não). Por omissão é 'true'. + + + +Tipo de Letra da Barra de Estado +[nome do tipo de letra] +O tipo de letra usado na barra de estado. Por omissão é o Helvetica. + + +Tamanho da Letra da Barra de Estado +[tamanho] +O tamanho da letra usado na barra de estado. Por omissão é igual a 16. + + +Texto Negrito na Barra de Estado +[true/false] +Indica se o texto da barra de estado deverá aparecer negrito ('true': sim; 'false': não). Por omissão, é igual a 'true'. + + +Texto Itálico na Barra de Estado +[true/false] +Indica se o texto da barra de estado deverá aparecer em itálico ('true': sim; 'false': não). Por omissão, é igual a 'false'. + + + +Cor do Texto da Barra de Estado +[cor] +A cor do texto na barra de estado. Por omissão é igual a 'white' (branco). + + +Cor de Fundo da Barra de Estado +[cor] +A cor de fundo na barra de estado. Por omissão é igual a 'black' (preto). + + +Ícone da Barra de Estado +[true/false] +Indica se a barra de estado deverá ter um ícone. + + +Ícones Visíveis +[true/false] +Indica se os ícones deverão estar visíveis ('true': sim; 'false': não). Por omissão, está a 'true'. + + +Ícones Saltitantes +[true/false] +Indica se os ícones deverão estar intermitentes ('true': sim; 'false': não). Por omissão é igual a 'true'. + + +Posição do Ícone +[0-3,10-13] +Posição onde os ícones são mostrados. Por omissão: 'bottom-left' (em baixo, à esquerda). + + +Ecrã Inicial +[nome] +Altera imagem do ecrã inicial que é mostrada. + + + +
+
+ + +Tema do Redmond + +Opções do tema Redmond + + + +Nome +Argumento +Explicação + + + +Imagem de Fundo +[ficheiro] +A imagem de fundo definida pelo utilizador a usar. + + +Ícone do Utilizador +[Nome de ícone] +O nome do ícone-padrão a mostrar para o utilizador. Por omissão é o go. + + +Texto de Boas-Vindas +[texto] +O texto mostrado no ecrã inicial. Por omissão é "Bem-vindo". + + +Texto do Nome do Utilizador +[texto] +O texto que é mostrado em vez do nome verdadeiro do utilizador. + + + +Posição do Texto de Boas-Vindas +[x,y] +A posição no ecrã onde é mostrado o texto de Boas-Vindas. + + +Posição do Nome do Utilizador +[x,y] +A posição no ecrã onde é mostrado o nome do utilizador. + + +Posição do Texto da Acção +[x,y] +A posição no ecrã onde é mostrada a acção a decorrer. + + +Posição do Ícone +[x,y] +A posição no ecrã onde o ícone do utilizador é mostrado. + + + +Mostrar o Texto de Boas-Vindas +[true/false] +Comuta a apresentação do texto de boas-vindas ('true': sim; 'false': não). Por omissão, é igual a 'true'. + + +Mostrar a Sombra das Boas-Vindas +[true/false] +Comuta a apresentação do sombreado do texto de boas-vindas ('true': sim; 'false': não). Por omissão, é igual a 'true'. + + +Mostrar o Nome do Utilizador +[true/false] +Comuta a apresentação do nome do utilizador ('true': sim; 'false': não). Por omissão é igual a 'true'. + + +Mostrar a Acção +[true/false] +Comuta a apresentação da acção que está a ser efectuada de momento ('true': sim; 'false': não). Por omissão é igual a 'true'. + + +Mostrar o Ícone +[true/false] +Indica se o ícone deverá ser mostrado ('true': sim; 'false': não). Por omissão, 'true'. + + +Usar o Ícone do Utilizador do KDM +[true/false] +Mostra o ícone da autenticação do utilizador ('true': sim; 'false': não). Por omissão, igual a 'true'. + + + +
+
+ + +Tema do MacX + +Opções do Tema MacX + + + +Nome +Argumento +Explicação + + +Tamanho Mínimo dos Ícones +[tamanho] +Atribui o tamanho mínimo para os ícones. Por omissão, é igual a 16. + + +Tamanho Máximo dos Ícones +[tamanho] +Atribui o tamanho máximo para os ícones. O valor por omissão é igual a 64. + + +Desenho Optimizado dos Ícones +[true/false] +Optimiza o processo de desenho dos ícones ('true': sim; 'false': não). Por omissão, 'true'. + + +Barra de Progresso Visível +[true/false] +Por omissão, igual a 'true' (sim). O outro valor possível será 'false' (não). + + +Posição da Barra de Progresso +[top/bottom] +Indica se a barra de estado deverá aparecer em cima ('top') ou em baixo ('bottom'). Por omissão é igual a 'bottom'. + + +Ícones Saltitantes +[true/false] +Indica se os ícones deverão estar saltitantes ('true': sim; 'false': não). Por omissão, é igual a 'false'. + + + +
+
+ + +Tema MacClassic + +Opções do Tema MacClassic + + + +Nome +Argumento +Explicação + + +Posição do Ícone +[0-3,10-13] +A posição dos ícones no ecrã. Por omissão, é igual a 'bottom left' (em baixo, à esquerda). + + +Ícones Saltitantes +[true/false] +Indica se os ícones deverão estar saltitantes ('true': sim; 'false': não). Por omissão, é igual a 'false'. + + +Ícones Visíveis +[true/false] +Indica se os ícones deverão estar visíveis ('true': sim; 'false': não). Por omissão, está a 'true'. + + +Ecrã Inicial +[nome] +Altera imagem do ecrã inicial que é mostrada. + + + +
+
+ + +Tema 2k + +Opções do tema 2k + + + +Nome +Argumento +Explicação + + +Cor de Fundo do Título +[cor] +A cor de fundo do título. Por omissão é 'dark blue' (azul escuro). + + +Cor do Texto do Título +[cor] +A cor do texto do título. Por omissão, é igual a 'white' (branco). + + +Cor do Texto do Estado +[cor] +A cor dos textos de estado. Por omissão, é a mesma que a Cor de Fundo do Título. + + +Cor da Rotação 1 +[cor] +Indica a cor da rotação 1. Por omissão, é igual a 'dark blue' (azul escuro). + + +Cor da Rotação 2 +[cor] +Indica a cor da rotação 2. Por omissão, é igual a 'cyan' (azul-cião). + + +Velocidade da Rotação +[valor] +Define a velocidade da rotação. Por omissão, é igual a 30. + + +Título da Janela +[texto] +Indica o texto de título para a janela. + + +Ficheiro do Logótipo +[ficheiro] +Define o logótipo a usar. + + + +
+
+
+
+ + +Usar o &ksplash; na sua Própria Aplicação + +Neste capítulo, nós descrevemos um método simples para usar o &ksplash; como o ecrã inicial para a sua aplicação do &kde;. Se não você não desenvolve aplicações para o &kde;, poderá ignorar este capítulo. + + +Requisitos Básicos + +A sua aplicação do &kde; deverá lidar com o &DCOP;. O &DCOP; é a tecnologia do &kde; que é usada para comunicar entre as aplicações. Se você usar a plataforma-padrão de aplicações do &kde;, isto é realizado automaticamente. Para mais informações sobre o &DCOP; e as tecnologias relacionadas do &kde; vá ao cantinho dos programadores do &kde;. + + + +Iniciar o &ksplash; + +Antes de a sua aplicação iniciar o seu trabalho intensivo, ou antes de começar a carregar os 'plugins', &etc;, invoke o &ksplash; como se mostra a seguir: + +DCOPClient *c = kapp->dcopClient(); +QString erro; +QCString NomeKSplash; +int pid = 0; +QStringList args; +args << "--theme=OMeuTemaFixe" << "--managed"; +if (kapp->startServiceByDesktopName("ksplash", args, &erro, &NomeKSplash, &pid)) +{ + KMessageBox::sorry(0, erro, "Não é possível invocar o KSplash"); + // Algum processamento de erros aqui. +} + + +Nós iremos assumir que só existe uma instância do &ksplash; a correr. Os outros casos são ligeiramente mais complexos. Por favor, veja a documentação do &DCOP; para mais detalhes. + + + +Mostrar as mensagens + +Antes de você poder mostrar quaisquer mensagens, você precisa de configurar o número de passos que irá mostrar. Por exemplo, o procedimento de arranque do &kde; utiliza 7 passos. + +QByteArray dados; + QDataStream arg(dados,IO_WriteOnly); + arg << umNumero; + if (!(c->send(NomeKSplash, "KSplashIface", "setStartupItemCount(int)", dados)) + // Algum processamento de erros aqui. + + +Sempre que quiser mostrar uma mensagem com um ícone ou sem nenhum, use + +arg << QString("nomeIcone") << QString("nomePrograma") << QString("Uma descrição"); + if (!(c->send(NomeKSplash, "KSplashIface", "programStarted(QString,QString,QString)", dados)) + { + // Algum processamento de erros aqui. + } + + +De cada vez que você invocar o programStarted, os passos completos são incrementados. Quando o seu programa tiver terminado o seu arranque, faça o seguinte para fazer desaparecer o ecrã inicial: + +if (!(c->send(NomeKSplash, "KSplashIface", "startupComplete()", dados)) + { + // Algum processamento de erros aqui. + } + + +Já está! Você não precisa de mais nada para tirar partido de tudo o que o &ksplash; tem para lhe oferecer. + + + + + + + + +Criar novos 'plugins' do &ksplash; + +A criação de novos 'plugins' para o &ksplash; não é difícil. Neste capítulo, nós iremos criar um 'plugin' simples que irá emular o ecrã inicial de um sistema operativo bem conhecido. Este tutorial assume que você conhece as bases do C++ e um pouco de programação com o KDE/Qt. + + +Requisitos Básicos +Nós iremos criar um 'plugin' chamado 2k. O nome do 'plugin' é usado em vários sítios, e é importante que você o use de forma consistente, de modo a que o 'plugin' seja reconhecido pelo &ksplash;. Os 'plugins' do &ksplash; são de factos bibliotecas carregadas dinamicamente com a seguinte convenção de nomes: + +A biblioteca dever-se-á chamar ksplash+nomedotemaemminúsculas. Para o nosso tema, chamar-se-á ksplash2k. +Deverá ter um ficheiro 'desktop' correspondente com o nome formatado da seguinte forma ksplash+nomedotemaemminúsculas.desktop. Para o nosso tema, será igual a ksplash2k.desktop. +Finalmente, o objecto que é devolvido pela biblioteca deverá ser uma classe chamada Theme+nomedotema. Para o nosso exemplo, será a Theme2k. + +Não se preocupe com isso se não perceber nada da parte anterior. Nós vamos ter em consideração cada um desses pontos em detalhe mais tarde. O outro detalhe importante é que a classe do 'plugin' deverá ser derivada da classe ThemeEngine. + + +Criar a plataforma de esqueleto +Nós iremos usar a plataforma de aplicações do &kde;, a qual tomará conta de construir o 'plugin' e que nos irá garantir alguma independência da plataforma, sem nenhum trabalho da nossa parte. Para o fazer, certifique-se que tem o pacote tdesdk instalado. Corra o comando kapptemplate para produzir uma aplicação chamada "2k". Ela irá criar uma pasta de topo que contém alguns ficheiros genéricos como o AUTHORS, &etc;. Nós estamos mais interessados na subpasta chamada 2k. Vá para essa subpasta e remova todos os ficheiros que lá estejam. A partir de agora, temos o esqueleto que pretendemos. +O próximo passo é a criação de um ficheiro .desktop que, ao ser instalado, irá indicar ao &ksplash; que o nosso 'plugin' está disponível. Estando consistente com as convenções de nomes indicadas na secção anterior, crie um ficheiro chamado ksplash2k.desktop nessa pasta. Deverá conter as seguintes linhas: + +[Desktop Entry] +Encoding=UTF-8 +Type=Service +Comment=Plugin do KSplash +Name=KSplash2k +ServiceTypes=KSplash/Plugin +X-KDE-Library=libksplash2k +X-KSplash-Default=true +X-KSplash-PluginName=2k +X-KSplash-ObjectName=Tema2k + + +Os campos Encoding, Type, Comment e ServiceTypes são os mesmos para todos os 'plugins'. O nome do 'plugin' e da biblioteca seguem as convenções indicadas acima. O campo X-KSplash-Default usa um valor booleano que indica se deverá ser mostrado no módulo de configuração do painel de controlo por omissão. Excepto em casos muitos raros, deverá ser igual a true. + + +Declaração da classe do 'plugin' +Agora que terminámos o trabalho preliminar, vamos para a parte divertida - criar uma classe que irá fornecer o comportamento que pretendemos. Embora tenhamos a liberdade de fazer com que esta classe faça praticamente tudo o que quisermos, existem algumas restrições. + +As classes do 'plugin' deverão herdar da classe ThemeEngine. +As classes do 'plugin' deverão ter um nome de acordo com a regra: Theme+NomePlugin. +As classes do 'plugin' deverão oferecer uma função static chamada names que devolve uma lista com os nomes pela qual poderá ser invocada. +Se o 'plugin' puder ser configurado no módulo do centro de controlo, deverá oferecer uma classe baseada na ThemeEngineConfig para a configuração. +As classes do 'plugin' deverão reimplementar pelo menos uma das funções virtuais slotSetText, slotSetPixmap, slotUpdateProgress e slotUpdateSteps para serem úteis. +O construtor deverá ter a forma ThemeEngine( QWidget *mae, const char *nome, const QStringList &argumentos ) para que possa ser usada com a KGenericFactory. + +O último requisito poderá parecer complicado mas, como veremos mais tarde, ao adicionar uma única linha aos seus ficheiros de código, você poderá normalmente ignorá-lo. + + +Código do ficheiro de inclusão +Dadas as restrições, nós veremos agora que o ficheiro de inclusão theme2k.h ficará como o seguinte: + +Listagem do <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 Nomes; + Nomes << "KSplash2k"; + Nomes << "ks2k"; + Nomes << "2k"; + Nomes << "2000"; + return( Nomes ); + }; + +public slots: + inline void slotSetText( const QString& s ) + { + if( mTexto && mTexto->text() != s ) mTexto->setText( s ); + }; + +private: + void initUi(); + void readSettings(); + + QLabel *mTexto; + RotWidget *mRotacao; + QColor mTCorFundo, mTCorTexto, mRotCor1, mRot2, mCorEstado; + int mRotVelocidade; + QString mTitulo, mLogotipo; +}; + +#endif + + +Vamos então analisar a listagem em cima. A classe Theme2k satisfaz as convenções de nomes e herda da classe ThemeEngine. Ela contém um método Theme2k::names(), e tem um construtor que recebe os parâmetros obrigatórios: Theme2k( QWidget *, const char *, const QStringList& ); e também contém um método simples Theme2k::slotSetText(). De momento, não se preocupe com a classe RotWidget. É um pequeno item que oferece alguma beleza visual para o utilizador. O nosso 'plugin' é muito simples e não mostra nenhuns ícones nem nenhuma barra de progresso. Se você quiser mostrar os ícones, implemente de novo a função slotSetPixmap. Existem funções semelhantes para definir o intervalo da barra de progresso (slotUpdateSteps) e para incrementar (slotUpdateProgress) o passo actual. + + +Implementação do 'plugin' +Nós iremos examinar só as partes relevantes da implementação. Para uma listagem da implementação completa (e não traduzida), veja por favor o apêndice. A primeira coisa que será feita é descartar o requisito da biblioteca: + +Requisito da biblioteca +K_EXPORT_COMPONENT_FACTORY( ksplash2k, KGenericFactory<Theme2k> ); + + +A macro K_EXPORT_COMPONENT_FACTORY é declarada no ficheiro kgenericfactory.h. Sigamos para o construtor! Dado que este é um 'plugin' muito simples, assim o é também o construtor. + +Construtor do 'plugin' +Theme2k::Theme2k( QWidget *mae, const char *nome, const QStringList &argumentos ) + :ThemeEngine( mae, nome, argumentos ) +{ + readSettings(); + initUi(); +} + + +O método readSettings() ilustra a forma correcta de obter a configuração do seu tema. (Você deseja que as pessoas usem os seus 'plugins' nos temas delas, não deseja?) + +Obter a configuração do tema +void Theme2k::readSettings() +{ + if( !mTheme ) + return; + + KConfig *cfg = mTheme->themeConfig(); + if( !cfg ) + return; + + cfg->setGroup( QString("KSplash Theme: %1").arg(mTheme->theme()) ); + + QColor TCorFundoOmissao( Qt::darkBlue ); + QColor TCorTextoOmissao( Qt::white ); + + mTCorFundo = cfg->readColorEntry( "Cor de Fundo do Título", &TCorFundoOmissao ); + mTCorTexto = cfg->readColorEntry( "Cor do Texto do Título", &TCorTextoOmissao ); + mCorEstado = cfg->readColorEntry("Cor do Texto do Estado", &mTCorFundo ); + + QColor Rot1Omissao( Qt::darkBlue ); + QColor Rot2Omissao( Qt::cyan ); + mRotCor1 = cfg->readColorEntry( "Cor 1 da Rotação", &Rot1Omissao ); + mRotCor2 = cfg->readColorEntry( "Cor 2 da Rotação", &Rot2Omissao ); + + mRotVelocidade = cfg->readNumEntry( "Velocidade da Rotação", 30 ); + mTitulo = cfg->readEntry( "Título da Janela", i18n("Espere por favor") ); + mLogotipo = cfg->readEntry( "Ficheiro do Logotipo", QString::null ); +} + + +Dado que gostamos dos nossos utilizadores, nós oferecemos valores razoáveis para os parâmetros que não estejam presentes no ficheiro do tema. Repare que devemos ser definir o nosso grupo para "KSplash Theme: nomedotema" para continuarmos compatíveis com as especificações dos temas futuras. O método initUI() não é muito interessante, dado que apenas cria a interface gráfica. Veja por favor o apêndice para mais detalhes. + + +Compilar o 'plugin' +Dado que decidimos usar a plataforma do &kde; para compilar o 'plugin', nós iremos precisar de criar um Makefile.am. Deverá ficar algo do género: + +Listagem do <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 + + +Para mais informações sobre como criar os ficheiros Makefile.am para o &kde;, por favor veja o 'site' Web dos programadores do &kde;. A única coisa a notar é que nós oferecemos um tema por omissão baseado neste 'plugin' e oferecemos uma imagem de antevisão para o mesmo. Por razões de cortesia para os seus utilizadores, você deverá oferecer um Theme.rc de exemplo e que ilustre a utilização das várias opções. + + + + +Perguntas e Respostas +&reporting.bugs; &updating.documentation; + + +Não consigo encontrar nenhuns temas que funcionem no &ksplash;. Porquê? + + +Você provavelmente não tem os 'plugins' correctos para o tema. Os 'plugins' estão no pacote kde-artwork. Obtenha-os e instale-os, e tente de novo mais tarde. + + + + +O que é o ficheiro Theme.rc e como é que crio um? + + +O Theme.rc é o ficheiro onde você poderá indicar a configuração de um tema. Para mais informações, dê uma vista de olhos em Como criar temas para o &ksplash;. + + + + + + +Créditos e Licença + +&ksplash; + +Programa Copyright © 2003 &Ravikiran.Rajagopal; &Ravikiran.Rajagopal.mail; + + +Contribuições +&Brian.C.Ledbetter; &Brian.C.Ledbetter.mail; + + + +Documentação Copyright © 2003 &Teemu.Rytilahti; &Teemu.Rytilahti.mail; +&underFDL; &underGPL; + + +Instalação + + +Requisitos + +Para conseguir usar com sucesso o &ksplash;, você necessita do &kde; versão 3.2 ou superior. Alguns temas poderão necessitar de 'plugins' específicos. Se um tema não funcionar, por favor contacte o autor do tema para descobrir onde obter o 'plugin' apropriado. + + + + +Compilação e Instalação +&install.compile.documentation; + + +Código-fonte + +Listagem não traduzida do <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 ); +} + + + +Listagem não traduzida do <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 + + + +Listagem não traduzida <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