Added KDE3 version of Tellico

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/tellico@1097620 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
v3.5.13-sru
tpearson 15 years ago
commit e38d2351b8

@ -0,0 +1 @@
Robby Stephenson <robby@periapsis.org>

@ -0,0 +1,353 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
----------------------------------------------------------------------------
In addition, as a special exception, the author gives permission to
link the code of this program with the OpenSSL library released by
the OpenSSL Project (or with modified versions of OpenSSL that use
the same license as OpenSSL), and distribute linked combinations
including the two. You must obey the GNU General Public License in
all respects for all of the code used other than OpenSSL. If you
modify this software, you may extend this exception to your version of,
but you are not obligated to do so. If you do not wish to do so,
delete this exception statement from your version.

File diff suppressed because it is too large Load Diff

@ -0,0 +1,167 @@
Basic Installation
==================
These are generic installation instructions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, a file
`config.cache' that saves the results of its tests to speed up
reconfiguring, and a file `config.log' containing compiler output
(useful mainly for debugging `configure').
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If at some point `config.cache'
contains results you don't want to keep, you may remove or edit it.
The file `configure.in' is used to create `configure' by a program
called `autoconf'. You only need `configure.in' if you want to change
it or regenerate `configure' using a newer version of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system. If you're
using `csh' on an old version of System V, you might need to type
`sh ./configure' instead to prevent `csh' from trying to execute
`configure' itself.
Running `configure' takes a while. While running, it prints some
messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Type `make install' to install the programs and any data files and
documentation.
4. You can remove the program binaries and object files from the
source code directory by typing `make clean'.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you must use a version of `make' that
supports the `VPATH' variable, such as GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
If you have to use a `make' that does not supports the `VPATH'
variable, you have to compile the package for one architecture at a time
in the source code directory. After you have installed the package for
one architecture, use `make distclean' before reconfiguring for another
architecture.
Installation Names
==================
By default, `make install' will install the package's files in
`/usr/local/bin', `/usr/local/man', etc. You can specify an
installation prefix other than `/usr/local' by giving `configure' the
option `--prefix=PATH'.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
give `configure' the option `--exec-prefix=PATH', the package will use
PATH as the prefix for installing programs and libraries.
Documentation and other data files will still use the regular prefix.
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Specifying the System Type
==========================
There may be some features `configure' can not figure out
automatically, but needs to determine by the type of host the package
will run on. Usually `configure' can figure that out, but if it prints
a message saying it can not guess the host type, give it the
`--host=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the host type.
If you are building compiler tools for cross-compiling, you can also
use the `--target=TYPE' option to select the type of system they will
produce code for and the `--build=TYPE' option to select the type of
system on which you are compiling the package.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Operation Controls
==================
`configure' recognizes the following options to control how it
operates.
`--cache-file=FILE'
Use and save the results of the tests in FILE instead of
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
debugging `configure'.
`--help'
Print a summary of the options to `configure', and exit.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made.
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--version'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`configure' also accepts some other, not widely useful, options.

@ -0,0 +1,128 @@
####### kdevelop will overwrite this part!!! (begin)##########
SUBDIRS = src po doc icons xslt
ADMIN_DIST = \
admin/acinclude.m4.in \
admin/am_edit \
admin/am_edit.py \
admin/conf.change.pl \
admin/config.pl \
admin/libtool.m4.in \
admin/Makefile.common
EXTRA_DIST = \
COPYING ChangeLog INSTALL README TODO \
tellico.lsm tellico.dtd x-tellico.desktop \
configure.in.in AUTHORS NEWS tellico.tips \
tellico.desktop tellico.xml $(ADMIN_DIST)
####### kdevelop will overwrite this part!!! (end)############
# not a GNU package. You can remove this line, if
# have all needed files, that a GNU package needs
AUTOMAKE_OPTIONS = foreign
KDE_OPTIONS = noautodist
#$(top_srcdir)/configure.in: configure.in.in $(top_srcdir)/subdirs
$(top_srcdir)/configure.in: configure.in.in
cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs
cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common configure.in
$(top_srcdir)/subdirs:
cd $(top_srcdir) && $(MAKE) -f admin/Makefile.common subdirs
$(top_srcdir)/acinclude.m4: $(top_srcdir)/admin/acinclude.m4.in $(top_srcdir)/admin/libtool.m4.in
@cd $(top_srcdir) && cat admin/acinclude.m4.in admin/libtool.m4.in > acinclude.m4
xdg_apps_DATA = tellico.desktop
xdg_mime_DATA = tellico.xml
mimedir = $(kde_mimedir)/application
mime_DATA = x-tellico.desktop
localdir = $(kde_datadir)/tellico
local_DATA = tellico.dtd tellico.tips
CLEANFILES = *~ *.loT
DISTCLEANFILES = stamp-h1 stamp-h.in stamp-h2 $(distdir).tar.gz $(CLEANFILES)
MAINTAINERCLEANFILES = \
subdirs configure configure.in \
aclocal.m4 acinclude.m4 configure.files \
Makefile.in $(DISTCLEANFILES)
package-messages:
$(MAKE) -f admin/Makefile.common package-messages
$(MAKE) -C po merge
messages:
@ rm -f tips.cpp xslt.cpp z3950.cpp scripts.cpp
@ touch $(podir)/tellico.pot;
./preparetips tellico.tips > tips.cpp; \
$(XGETTEXT) --join-existing tips.cpp -o $(podir)/tellico.pot; \
./prepare_i18n_xslt > xslt.cpp; \
$(XGETTEXT) --join-existing xslt.cpp -o $(podir)/tellico.pot; \
./prepare_desktop src/fetch/z3950-servers.cfg > z3950.cpp; \
$(XGETTEXT) --join-existing z3950.cpp -o $(podir)/tellico.pot; \
./prepare_desktop src/fetch/scripts/*.spec > scripts.cpp; \
$(XGETTEXT) --join-existing scripts.cpp -o $(podir)/tellico.pot;
@ rm -f tips.cpp xslt.cpp z3950.cpp scripts.cpp
dist-hook:
# am_edit needs to modify the Makefile.in files, so they must be writeable
-find $(distdir) -exec chmod a+w {} \;
cd $(distdir) && perl admin/am_edit -padmin
cd $(distdir) && $(MAKE) -f admin/Makefile.common subdirs
# don't include dist file inside the dist file
# cd $(srcdir) && rm -f $(distdir).tar.gz
# remove any executable
rm -rf $(distdir)/src/tellico
PUBLIC_ID=-//Robby Stephenson/DTD Tellico V9.0//EN
SYSTEM_ID=http://www.periapsis.org/tellico/dtd/v9/tellico.dtd
install-data-local:
@if test x"@XML_CATALOG_FILE@" != x; then \
echo @XMLCATALOG@ --noout --add "delegatePublic" \
"$(PUBLIC_ID)" \
"file://$(localdir)/tellico.dtd" "@XML_CATALOG_FILE@" ; \
@XMLCATALOG@ --noout --add "delegatePublic" \
"$(PUBLIC_ID)" \
"file://$(localdir)/tellico.dtd" "@XML_CATALOG_FILE@" ; \
echo @XMLCATALOG@ --noout --add "delegateSystem" \
"$(SYSTEM_ID)" \
"file://$(localdir)/tellico.dtd" "@XML_CATALOG_FILE@" ; \
@XMLCATALOG@ --noout --add "delegateSystem" \
"$(SYSTEM_ID)" \
"file://$(localdir)/tellico.dtd" "@XML_CATALOG_FILE@" ; \
echo @XMLCATALOG@ --noout --add "delegateURI" \
"$(SYSTEM_ID)" \
"file://$(localdir)/tellico.dtd" "@XML_CATALOG_FILE@" ; \
@XMLCATALOG@ --noout --add "delegateURI" \
"$(SYSTEM_ID)" \
"file://$(localdir)/tellico.dtd" "@XML_CATALOG_FILE@" ; \
fi
uninstall-local:
@if test x"@XML_CATALOG_FILE@" != x; then \
echo @XMLCATALOG@ --noout --del \
"$(PUBLIC_ID)" "@XML_CATALOG_FILE@" ; \
@XMLCATALOG@ --noout --del \
"$(PUBLIC_ID)" "@XML_CATALOG_FILE@" ; \
echo @XMLCATALOG@ --noout --del \
"$(SYSTEM_ID)" "@XML_CATALOG_FILE@" ; \
@XMLCATALOG@ --noout --del \
"$(SYSTEM_ID)" "@XML_CATALOG_FILE@" ; \
echo @XMLCATALOG@ --noout --del \
"$(SYSTEM_ID)" "@XML_CATALOG_FILE@" ; \
@XMLCATALOG@ --noout --del \
"$(SYSTEM_ID)" "@XML_CATALOG_FILE@" ; \
fi
# probably a better way to do this
uninstall-hook:
-if [ -d $(localdir) ]; then rmdir $(localdir); fi

@ -0,0 +1 @@
See http://www.periapsis.org/tellico/

File diff suppressed because it is too large Load Diff

1033
aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

@ -0,0 +1,326 @@
/* config.h.in. Generated from configure.in by autoheader. */
/* Define to 1 if Amazon.com searching should be enabled */
#undef AMAZON_SUPPORT
/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c' support on those systems.
*/
#undef CRAY_STACKSEG_END
/* Define to 1 if using `alloca.c'. */
#undef C_ALLOCA
/* Define to 1 if webcam support is enabled */
#undef ENABLE_WEBCAM
/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#undef HAVE_ALLOCA_H
/* Define if boolean is defined in <sys/types.h> */
#undef HAVE_BOOLEAN
/* Define if you have the CoreAudio API */
#undef HAVE_COREAUDIO
/* Define to 1 if you have the <crt_externs.h> header file. */
#undef HAVE_CRT_EXTERNS_H
/* Defines if your system has the crypt function */
#undef HAVE_CRYPT
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
/* Define to 1 if exempi is available */
#undef HAVE_EXEMPI
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have libkcal */
#undef HAVE_KCAL
/* Define to 1 if you have libkcddb */
#undef HAVE_KCDDB
/* Define to 1 if you have the `btparse' library (-lbtparse). */
#undef HAVE_LIBBTPARSE
/* Define if you have libjpeg */
#undef HAVE_LIBJPEG
/* Define if you have libpng */
#undef HAVE_LIBPNG
/* Define if you have a working libpthread (will enable threaded code) */
#undef HAVE_LIBPTHREAD
/* Define if you have libz */
#undef HAVE_LIBZ
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define if your system needs _NSGetEnviron to set up the environment */
#undef HAVE_NSGETENVIRON
/* Define to 1 if poppler is available */
#undef HAVE_POPPLER
/* Define if you have res_init */
#undef HAVE_RES_INIT
/* Define if you have the res_init prototype */
#undef HAVE_RES_INIT_PROTO
/* Define to 1 if you have the <sal/config.h> header file. */
#undef HAVE_SAL_CONFIG_H
/* Define to 1 if you have the `snprintf' function. */
#undef HAVE_SNPRINTF
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define if strdup is declared in <string.h> */
#undef HAVE_STRDUP_DECL
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define if you have strlcat */
#undef HAVE_STRLCAT
/* Define if you have the strlcat prototype */
#undef HAVE_STRLCAT_PROTO
/* Define if you have strlcpy */
#undef HAVE_STRLCPY
/* Define if you have the strlcpy prototype */
#undef HAVE_STRLCPY_PROTO
/* Define to 1 if you have the `strlwr' function. */
#undef HAVE_STRLWR
/* Define to 1 if you have the `strupr' function. */
#undef HAVE_STRUPR
/* Define to 1 if you have the <sys/bitypes.h> header file. */
#undef HAVE_SYS_BITYPES_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the TagLib library */
#undef HAVE_TAGLIB
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Define if ushort is defined in <sys/types.h> */
#undef HAVE_USHORT
/* Define if you have the 'std::vector::at(std::size_t)' function */
#undef HAVE_VECTOR_AT
/* Define to 1 if you have the `vprintf' function. */
#undef HAVE_VPRINTF
/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF
/* Define to 1 if you have the yaz library */
#undef HAVE_YAZ
/* Define to 1 if IMDb searching should be enabled */
#undef IMDB_SUPPORT
/* Suffix for lib directories */
#undef KDELIBSUFF
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* The size of `char', as computed by sizeof. */
#undef SIZEOF_CHAR
/* The size of `char *', as computed by sizeof. */
#undef SIZEOF_CHAR_P
/* The size of `int', as computed by sizeof. */
#undef SIZEOF_INT
/* The size of `long', as computed by sizeof. */
#undef SIZEOF_LONG
/* The size of `short', as computed by sizeof. */
#undef SIZEOF_SHORT
/* The size of `size_t', as computed by sizeof. */
#undef SIZEOF_SIZE_T
/* The size of `unsigned char', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_CHAR
/* The size of `unsigned int', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_INT
/* The size of `unsigned long', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_LONG
/* The size of `unsigned short', as computed by sizeof. */
#undef SIZEOF_UNSIGNED_SHORT
/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at runtime.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
#undef STACK_DIRECTION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Define to 1 if you want to compile CD-Text support */
#undef USE_CDTEXT
/* Version number of package */
#undef VERSION
/* Defined if compiling without arts */
#undef WITHOUT_ARTS
/*
* jpeg.h needs HAVE_BOOLEAN, when the system uses boolean in system
* headers and I'm too lazy to write a configure test as long as only
* unixware is related
*/
#ifdef _UNIXWARE
#define HAVE_BOOLEAN
#endif
/*
* AIX defines FD_SET in terms of bzero, but fails to include <strings.h>
* that defines bzero.
*/
#if defined(_AIX)
#include <strings.h>
#endif
#if defined(HAVE_NSGETENVIRON) && defined(HAVE_CRT_EXTERNS_H)
# include <sys/time.h>
# include <crt_externs.h>
# define environ (*_NSGetEnviron())
#endif
#if !defined(HAVE_RES_INIT_PROTO)
#ifdef __cplusplus
extern "C" {
#endif
int res_init(void);
#ifdef __cplusplus
}
#endif
#endif
#if !defined(HAVE_STRLCAT_PROTO)
#ifdef __cplusplus
extern "C" {
#endif
unsigned long strlcat(char*, const char*, unsigned long);
#ifdef __cplusplus
}
#endif
#endif
#if !defined(HAVE_STRLCPY_PROTO)
#ifdef __cplusplus
extern "C" {
#endif
unsigned long strlcpy(char*, const char*, unsigned long);
#ifdef __cplusplus
}
#endif
#endif
/*
* On HP-UX, the declaration of vsnprintf() is needed every time !
*/
#if !defined(HAVE_VSNPRINTF) || defined(hpux)
#if __STDC__
#include <stdarg.h>
#include <stdlib.h>
#else
#include <varargs.h>
#endif
#ifdef __cplusplus
extern "C"
#endif
int vsnprintf(char *str, size_t n, char const *fmt, va_list ap);
#ifdef __cplusplus
extern "C"
#endif
int snprintf(char *str, size_t n, char const *fmt, ...);
#endif
#if defined(__SVR4) && !defined(__svr4__)
#define __svr4__ 1
#endif
/* type to use in place of socklen_t if not defined */
#undef kde_socklen_t
/* type to use in place of socklen_t if not defined (deprecated, use
kde_socklen_t) */
#undef ksize_t

@ -0,0 +1,723 @@
dnl =======================================================
dnl FILE: ./admin/configure.in.min
dnl =======================================================
dnl This file is part of the KDE libraries/packages
dnl Copyright (C) 2001 Stephan Kulow (coolo@kde.org)
dnl This file is free software; you can redistribute it and/or
dnl modify it under the terms of the GNU Library General Public
dnl License as published by the Free Software Foundation; either
dnl version 2 of the License, or (at your option) any later version.
dnl This library is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
dnl Library General Public License for more details.
dnl You should have received a copy of the GNU Library General Public License
dnl along with this library; see the file COPYING.LIB. If not, write to
dnl the Free Software Foundation, Inc., 51 Franklin Street, Fifh Floor,
dnl Boston, MA 02110-1301, USA.
# Original Author was Kalle@kde.org
# I lifted it in some mater. (Stephan Kulow)
# I used much code from Janos Farkas
dnl Process this file with autoconf to produce a configure script.
AC_INIT(acinclude.m4) dnl a source file from your sub dir
dnl This is so we can use kde-common
AC_CONFIG_AUX_DIR(admin)
dnl This ksh/zsh feature conflicts with `cd blah ; pwd`
unset CDPATH
dnl Checking host/target/build systems, for make, install etc.
AC_CANONICAL_SYSTEM
dnl Perform program name transformation
AC_ARG_PROGRAM
dnl Automake doc recommends to do this only here. (Janos)
AM_INIT_AUTOMAKE(tellico, 1.3.2.1) dnl searches for some needed programs
KDE_SET_PREFIX
dnl generate the config header
AM_CONFIG_HEADER(config.h) dnl at the distribution this done
dnl Checks for programs.
AC_CHECK_COMPILERS
AC_ENABLE_SHARED(yes)
AC_ENABLE_STATIC(no)
KDE_PROG_LIBTOOL
dnl for NLS support. Call them in this order!
dnl WITH_NLS is for the po files
AM_KDE_WITH_NLS
KDE_USE_QT(3.3)
AC_PATH_KDE
dnl =======================================================
dnl FILE: configure.in.in
dnl =======================================================
#MIN_CONFIG(3.3)
dnl PACKAGE set before
dnl AM_KDE_MIN_VERSION(MIN-VERSION-MAJOR, MIN-VERSION-MINOR, MIN-VERSION-MICRO)
dnl (taken from KMyMoney2)
dnl
AC_DEFUN([AM_KDE_MIN_VERSION],
[
AC_MSG_CHECKING([for KDE version $1.$2.$3 or later])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
save_CXXFLAGS=$CXXFLAGS
CXXFLAGS="$CXXFLAGS -I$srcdir $all_includes"
AC_TRY_COMPILE([
#include "kdeversion.h"
#if !( KDE_IS_VERSION( $1, $2, $3 ) )
#error KDE version does not meet minimum requirement
#endif
], [], AC_MSG_RESULT(yes), AC_MSG_ERROR(no))
CXXFLAGS=$save_CXXFLAGS
AC_LANG_RESTORE
])
AM_KDE_MIN_VERSION(3,3,1)
dnl CXXFLAGS="$NOOPT_CXXFLAGS" dnl __kdevelop[noopt]__
dnl CFLAGS="$NOOPT_CFLAGS" dnl __kdevelop[noopt]__
dnl CXXFLAGS="$CXXFLAGS $USE_EXCEPTIONS -DQT_NO_ASCII_CAST -DQT_NO_TRANSLATION" dnl __kdevelop[exc]__
dnl KDE_NEED_FLEX dnl __kdevelop__
dnl AC_PROG_YACC dnl __kdevelop__
AC_MSG_CHECKING(for ushort in <sys/types.h>)
AC_CACHE_VAL(bt_cv_type_ushort, [
AC_TRY_COMPILE([
#include <sys/types.h>
],[
ushort i;
], bt_cv_type_ushort=yes, bt_cv_type_ushort=no)])
AC_MSG_RESULT($bt_cv_type_ushort)
if test "$bt_cv_type_ushort" = "yes" ; then
AC_DEFINE(HAVE_USHORT, 1, [Define if ushort is defined in <sys/types.h>])
fi
AC_MSG_CHECKING(for boolean in <sys/types.h>)
AC_CACHE_VAL(bt_cv_type_boolean, [
AC_TRY_COMPILE([
#include <sys/types.h>
],[
boolean f;
], bt_cv_type_boolean=yes, bt_cv_type_boolean=no)])
AC_MSG_RESULT($bt_cv_type_boolean)
if test "$bt_cv_type_boolean" = "yes" ; then
AC_DEFINE(HAVE_BOOLEAN, 1, [Define if boolean is defined in <sys/types.h>])
fi
AC_MSG_CHECKING(for strdup declaration in <string.h>)
AC_EGREP_HEADER([strdup *\(], string.h, bt_cv_decl_strdup=yes, bt_cv_decl_strdup=no)
AC_MSG_RESULT($bt_cv_decl_strdup)
if test "$bt_cv_decl_strdup" = "yes" ; then
AC_DEFINE(HAVE_STRDUP_DECL, 1, [Define if strdup is declared in <string.h>])
fi
dnl Checks for library functions.
AC_FUNC_ALLOCA
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(strlwr strupr)
AC_CHECK_SIZEOF(unsigned int, 4)
AC_CHECK_SIZEOF(unsigned short, 2)
AC_CHECK_SIZEOF(unsigned char, 1)
AC_CHECK_SIZEOF(char, 1)
AC_CACHE_CHECK([for std::vector::at(std::size_t)],
ac_cv_cxx_have_vector_at, [
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([
#include <vector>
],[
std::vector<int> v(1);
v.at(0);
return 0;
],ac_cv_cxx_have_vector_at=yes, ac_cv_cxx_have_vector_at=no)
AC_LANG_RESTORE
])
if test "$ac_cv_cxx_have_vector_at" = "yes"; then
AC_DEFINE(HAVE_VECTOR_AT,1,[Define if you have the 'std::vector::at(std::size_t)' function])
fi
KDE_FIND_PATH(xml2-config, XML_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [
AC_MSG_ERROR([[Could not find xml2-config anywhere, check ftp://xmlsoft.org/ for libxml >= 2.6.0. If you are using pre-packaged libraries, be sure to have the development files installed as well, which may be called libxml2-devel or something similar.]])
])
if test -n "$XML_CONFIG"; then
vers=`$XML_CONFIG --version 2>/dev/null | sed -e 's/libxml //' | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test -n "$vers" && test "$vers" -ge 2006000
then
LIBXML_LIBS="`$XML_CONFIG --libs`"
LIBXML_RPATH=
for args in $LIBXML_LIBS; do
case $args in
-L*)
LIBXML_RPATH="$LIBXML_RPATH $args"
;;
esac
done
LIBXML_RPATH=`echo $LIBXML_RPATH | sed -e "s/-L/-R/g"`
LIBXML_CFLAGS="`$XML_CONFIG --cflags`"
else
AC_MSG_ERROR([[You need at least libxml 2.6.0.]])
fi
fi
AC_SUBST(LIBXML_LIBS)
AC_SUBST(LIBXML_CFLAGS)
AC_SUBST(LIBXML_RPATH)
AC_ARG_WITH([xml-catalog],
AC_HELP_STRING([--with-xml-catalog=CATALOG],
[path to XML catalog, default=without-xml-catalog]),,
[with_xml_catalog=no])
if test x"$with_xml_catalog" != xno; then
KDE_FIND_PATH(xmlcatalog, XMLCATALOG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [
AC_MSG_ERROR([[Could not find xmlcatalog anywhere, check ftp://xmlsoft.org/ for libxml2 >= 2.4.23. If you are using pre-packaged libraries, be sure to have the utility files installed as well, which may be called libxml2-utils or something similar.]])
])
AC_SUBST(XMLCATALOG)
if test x"$with_xml_catalog" = xyes; then
XML_CATALOG_FILE="/etc/xml/catalog"
else
XML_CATALOG_FILE="$with_xml_catalog"
fi
AC_MSG_CHECKING([for XML catalog])
if test -f "$XML_CATALOG_FILE"; then
AC_MSG_RESULT([$XML_CATALOG_FILE])
else
AC_MSG_ERROR([$XML_CATALOG_FILE not found])
fi
AC_SUBST(XML_CATALOG_FILE)
fi
KDE_FIND_PATH(xslt-config, XSLT_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [
AC_MSG_ERROR([[Could not find xslt-config anywhere, check ftp://xmlsoft.org/ for libxslt >= 1.0.19. If you are using pre-packaged libraries, be sure to have the development files installed as well, which may be called libxslt-devel or something similar.]])
])
if test -n "$XSLT_CONFIG"; then
vers=`$XSLT_CONFIG --version 2>/dev/null | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test -n "$vers" && test "$vers" -ge 1000019; then
LIBXSLT_LIBS="`$XSLT_CONFIG --libs`"
LIBXSLT_RPATH=
for args in $LIBXSLT_LIBS; do
case $args in
-L*)
LIBXSLT_RPATH="$LIBXSLT_RPATH $args"
;;
esac
done
LIBXSLT_RPATH=`echo $LIBXSLT_RPATH | sed -e "s/-L/-R/g"`
LIBXSLT_CFLAGS="`$XSLT_CONFIG --cflags`"
else
AC_MSG_ERROR([[You need at least libxslt 1.0.19.]])
fi
fi
AC_SUBST(LIBXSLT_LIBS)
AC_SUBST(LIBXSLT_CFLAGS)
AC_SUBST(LIBXSLT_RPATH)
dnl ---------- TAGLIB CHECK ----------
AC_DEFUN([AC_HAVE_TAGLIB],
[
AC_DEFINE(HAVE_TAGLIB, 1, [Define to 1 if you have the TagLib library])
TAGLIB_CFLAGS=[`$TAGLIB_CONFIG --cflags`]
TAGLIB_LIBS=[`$TAGLIB_CONFIG --libs`]
TAGLIB_RPATH=
for args in $TAGLIB_LIBS; do
case $args in
-L*)
TAGLIB_RPATH="$TAGLIB_RPATH $args"
;;
esac
done
TAGLIB_RPATH=`echo $TAGLIB_RPATH | sed -e "s/-L/-R/g"`
])
AC_DEFUN([AC_NO_TAGLIB],
[
TAGLIB_CFLAGS=""
TAGLIB_LIBS=""
TAGLIB_RPATH=""
])
KDE_FIND_PATH(taglib-config, TAGLIB_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin])
if test -n "$TAGLIB_CONFIG"; then
AC_HAVE_TAGLIB
else
AC_NO_TAGLIB
fi
AC_SUBST(TAGLIB_CFLAGS)
AC_SUBST(TAGLIB_LIBS)
AC_SUBST(TAGLIB_RPATH)
dnl ---------- END TAGLIB CHECK ----------
dnl ---------- YAZ CHECK ----------
AC_DEFUN([AC_HAVE_YAZ],
[
AC_DEFINE(HAVE_YAZ, 1, [Define to 1 if you have the yaz library])
YAZ_CFLAGS=[`$YAZ_CONFIG --cflags`]
YAZ_LIBS=[`$YAZ_CONFIG --libs`]
YAZ_RPATH=
for args in $YAZ_LIBS; do
case $args in
-L*)
YAZ_RPATH="$YAZ_RPATH $args"
;;
esac
done
YAZ_RPATH=`echo $YAZ_RPATH | sed -e "s/-L/-R/g"`
])
AC_DEFUN([AC_NO_YAZ],
[
YAZ_CFLAGS=""
YAZ_LIBS=""
YAZ_RPATH=""
])
KDE_FIND_PATH(yaz-config, YAZ_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin])
if test -n "$YAZ_CONFIG"; then
AC_HAVE_YAZ
else
AC_NO_YAZ
fi
AC_SUBST(YAZ_CFLAGS)
AC_SUBST(YAZ_LIBS)
AC_SUBST(YAZ_RPATH)
dnl ---------- END YAZ CHECK ----------
dnl ---------- KCDDB CHECK ----------
AC_ARG_ENABLE(libkcddb,
AC_HELP_STRING([--disable-libkcddb], [disable libkcddb, default=enable if found]),
[enable_libkcddb=$enableval],
[enable_libkcddb=yes]
)
if test x$enable_libkcddb = xyes; then
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_save_libs="$LIBS"
ac_save_cxxflags="$CXXFLAGS"
LIBS="$LIBS $all_libraries -lkcddb"
CXXFLAGS="$CXXFLAGS $all_includes"
AC_MSG_CHECKING(for libkcddb library and headers)
AC_TRY_LINK(
[
#ifdef QT_NO_CAST_ASCII
#undef QT_NO_CAST_ASCII
#endif
#include <libkcddb/cddb.h>
],
[KCDDB::CDDB c],
[kcddb=yes],
[kcddb=no]
)
AC_MSG_RESULT($kcddb)
LIBS="$ac_save_libs"
CXXFLAGS="$ac_save_cxxflags"
AC_LANG_RESTORE
if test x$kcddb = xyes; then
AC_DEFINE(HAVE_KCDDB, 1, [Define to 1 if you have libkcddb])
KCDDB_LIBS="-lkcddb"
else
KCDDB_LIBS=
fi
dnl -- kcddb was disabled ---
else
KCDDB_LIBS=
fi
AC_SUBST(KCDDB_LIBS)
dnl ---------- END KCDDB CHECK ----------
dnl ---------- KCAL CHECK ----------
AC_ARG_ENABLE(libkcal,
AC_HELP_STRING([--disable-libkcal], [disable libkcal, default=enable if found]),
[enable_libkcal=$enableval],
[enable_libkcal=yes]
)
if test x$enable_libkcal = xyes; then
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_save_libs="$LIBS"
ac_save_cxxflags="$CXXFLAGS"
LIBS="$LIBS $all_libraries -lkcal"
CXXFLAGS="$CXXFLAGS $all_includes"
AC_MSG_CHECKING(for libkcal library and headers)
AC_TRY_LINK(
[
#ifdef QT_NO_CAST_ASCII
#undef QT_NO_CAST_ASCII
#endif
#include <libkcal/todo.h>
],
[KCal::Todo t],
[kcal=yes],
[kcal=no]
)
AC_MSG_RESULT($kcal)
LIBS="$ac_save_libs"
CXXFLAGS="$ac_save_cxxflags"
AC_LANG_RESTORE
if test x$kcal = xyes; then
AC_DEFINE(HAVE_KCAL, 1, [Define to 1 if you have libkcal])
KCAL_LIBS="-lkcal"
else
KCAL_LIBS=
fi
dnl -- libkcal was disabled ---
else
KCAL_LIBS=
fi
AC_SUBST(KCAL_LIBS)
dnl ---------- END KCAL CHECK ----------
AC_ARG_WITH([btparse],
AC_HELP_STRING([--with-btparse], [Link against libbtparse
as a shared lib (shared) or build it statically (static), default=static]),
[case "${withval}" in
shared) btparse=shared ;;
static) btparse=static ;;
yes) btparse=shared ;;
*) AC_MSG_ERROR(bad value ${withval} for --with-btparse) ;;
esac],
[btparse=static])
AM_CONDITIONAL(USE_LIBBTPARSE, test x$btparse = xshared)
if test x$btparse = xshared; then
KDE_CHECK_LIB(btparse, bt_initialize, [], [AC_MSG_ERROR(could not find libbtparse)])
fi
dnl ---------- AMAZON CHECK ----------
AC_ARG_ENABLE(amazon,
AC_HELP_STRING([--disable-amazon], [disable Amazon.com searching, default=enable]),
[enable_amazon=$enableval],
[enable_amazon=yes]
)
if test x$enable_amazon = xyes; then
AC_DEFINE(AMAZON_SUPPORT, 1, [Define to 1 if Amazon.com searching should be enabled])
fi
dnl ---------- END AMAZON CHECK ----------
dnl ---------- IMDB CHECK ----------
AC_ARG_ENABLE(imdb,
AC_HELP_STRING([--disable-imdb], [disable IMDb searching, default=enable]),
[enable_imdb=$enableval],
[enable_imdb=yes]
)
if test x$enable_imdb = xyes; then
AC_DEFINE(IMDB_SUPPORT, 1, [Define to 1 if IMDb searching should be enabled])
fi
dnl ---------- END IMDB CHECK ----------
dnl ---------- CDTEXT CHECK ----------
dnl Not sure if my code for CDText works on all platforms, allow disabling
AC_ARG_ENABLE(cdtext,
AC_HELP_STRING([--disable-cdtext], [disable cdtext, default=enable (Linux only)]),
[enable_cdtext=$enableval],
[enable_cdtext=yes]
)
if test x$enable_cdtext = xyes; then
AC_DEFINE(USE_CDTEXT, 1, [Define to 1 if you want to compile CD-Text support])
fi
dnl ---------- OpenOffice.org CHECK ----------
AC_ARG_ENABLE(ooo,
AC_HELP_STRING([--enable-ooo], [enable support for OpenOffice.org, default=disable]),
[enable_ooo=$enableval],
[enable_ooo=no]
)
AM_CONDITIONAL(WITH_OOO, test x$enable_ooo = xyes)
dnl Options: OpenOffice.org installation
AC_ARG_WITH([ooo-dir],
AC_HELP_STRING([--with-ooo-dir=DIR],
[where the OpenOffice.org program files are installed]),
[ac_ooo_libdir="${withval}/program"
ac_ooo_datadir="${withval}/program"])
AC_ARG_WITH([ooo-libdir],
AC_HELP_STRING([--with-ooo-libdir=DIR],
[where the OpenOffice.org program libraries are installed (<ooo-dir>/program)]),
[ac_ooo_libdir="${withval}"])
AC_ARG_WITH([ooo-datadir],
AC_HELP_STRING([--with-ooo-datadir=DIR],
[where the OpenOffice.org data files are installed (<ooo-dir>/program)]),
[ac_ooo_datadir="${withval}"])
dnl Options: OpenOffice.org SDK
AC_ARG_WITH([ooo-sdk-dir],
AC_HELP_STRING([--with-ooo-sdk-dir=DIR],
[where the OpenOffice.org SDK is installed]),
[ac_ooo_sdk_bindir="${withval}/linux/bin"
ac_ooo_sdk_includes="${withval}/include"])
AC_ARG_WITH([ooo-sdk-bindir],
AC_HELP_STRING([--with-ooo-sdk-bindir=DIR],
[where the OpenOffice.org SDK binaries are installed (<ooo-sdk-dir>/linux/bin)]),
[ac_ooo_sdk_bindir="${withval}"])
AC_ARG_WITH([ooo-sdk-includes],
AC_HELP_STRING([--with-ooo-sdk-includes=DIR],
[where the OpenOffice.org SDK includes are installed (<ooo-sdk-dir>/include)]),
[ac_ooo_sdk_includes="${withval}"])
if test x$enable_ooo = xyes; then
dnl Check for UNO cpp binding
KDE_FIND_PATH(cppumaker, CPPUMAKER, [$ac_ooo_sdk_bindir ${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [
AC_MSG_ERROR([[cppumaker not found, try '--with-ooo-sdk-dir=location_of_ODK']])
])
dnl Check for ODK includes
ac_cppflags_safe="$CPPFLAGS"
CPPFLAGS="-I$ac_ooo_sdk_includes"
KDE_CHECK_HEADERS([sal/config.h],
[OFFICE_SDK_includes="$CPPFLAGS"],
AC_MSG_ERROR([[OpenOffice.org SDK include files not found, try '--with-ooo-sdk-dir=location_of_ODK']]))
CPPFLAGS="$ac_cppflags_safe"
dnl OpenOffice.org libraries
if test -n "$ac_ooo_libdir" ; then
OFFICE_libadd="-L$ac_ooo_libdir"
OFFICE_libdir="$ac_ooo_libdir"
fi
dnl OpenOffice.org types.rdb
AC_CHECK_FILE([$ac_ooo_datadir/types.rdb],
[OFFICE_registry="$ac_ooo_datadir"/types.rdb],
AC_MSG_ERROR([[types.rdb not found, try '--with-ooo-dir=OpenOffice.org_installation_path']]))
dnl Substitute the values
AC_SUBST(OFFICE_SDK_includes)
AC_SUBST(OFFICE_libadd)
AC_SUBST(OFFICE_libdir)
AC_SUBST(OFFICE_registry)
AC_SUBST(CPPUMAKER)
fi
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/core"
CXXFLAGS="$CXXFLAGS -I\$(top_srcdir)/src/core"
dnl ---------- EXEMPI CHECK ----------
AC_ARG_ENABLE(exempi,
AC_HELP_STRING([--disable-exempi], [disable exempi, default=enable if found]),
[enable_libexempi=$enableval],
[enable_libexempi=yes]
)
if test x$enable_libexempi = xyes; then
KDE_PKG_CHECK_MODULES(EXEMPI,
[exempi-2.0 >= 1.99.0],
[have_exempi=yes],
[have_exempi=no])
AC_SUBST(EXEMPI_LIBS)
AC_SUBST(EXEMPI_CFLAGS)
else
have_exempi="no (disabled)"
fi
test "$have_exempi" = "yes" && AC_DEFINE(HAVE_EXEMPI, 1, [Define to 1 if exempi is available])
dnl ---------- END EXEMPI CHECK ----------
dnl ---------- POPPLER CHECK ----------
AC_ARG_ENABLE(poppler,
AC_HELP_STRING([--disable-poppler], [disable poppler, default=enable if found]),
[enable_libpoppler=$enableval],
[enable_libpoppler=yes]
)
if test x$enable_libpoppler = xyes; then
KDE_PKG_CHECK_MODULES(POPPLER,
[poppler-qt >= 0.5],
[have_poppler=yes],
[have_poppler=no])
AC_SUBST(POPPLER_LIBS)
AC_SUBST(POPPLER_CFLAGS)
else
have_poppler="no (disabled)"
fi
test "$have_poppler" = "yes" && AC_DEFINE(HAVE_POPPLER, 1, [Define to 1 if poppler is available])
dnl ---------- END POPPLER CHECK ----------
dnl ---------- WEBCAM CHECK ----------
AC_ARG_ENABLE(webcam,
AC_HELP_STRING([--enable-webcam], [enable support for webcams (experimental), default=disable]),
[enable_webcam=$enableval],
[enable_webcam=no]
)
AM_CONDITIONAL(ENABLE_WEBCAM, test $enable_webcam = yes)
if test x$enable_webcam = xyes; then
AC_DEFINE(ENABLE_WEBCAM, 1, [Define to 1 if webcam support is enabled])
fi
dnl ---------- END WEBCAM CHECK ----------
KDE_CREATE_SUBDIRSLIST
AC_CONFIG_FILES([ Makefile ])
AC_CONFIG_FILES([ doc/Makefile ])
AC_CONFIG_FILES([ doc/en/Makefile ])
AC_CONFIG_FILES([ doc/fr/Makefile ])
AC_CONFIG_FILES([ icons/Makefile ])
AC_CONFIG_FILES([ po/Makefile ])
AC_CONFIG_FILES([ src/Makefile ])
AC_CONFIG_FILES([ src/barcode/Makefile ])
AC_CONFIG_FILES([ src/cite/Makefile ])
AC_CONFIG_FILES([ src/cite/ooo/Makefile ])
AC_CONFIG_FILES([ src/collections/Makefile ])
AC_CONFIG_FILES([ src/commands/Makefile ])
AC_CONFIG_FILES([ src/core/Makefile ])
AC_CONFIG_FILES([ src/fetch/Makefile ])
AC_CONFIG_FILES([ src/fetch/scripts/Makefile ])
AC_CONFIG_FILES([ src/gui/Makefile ])
AC_CONFIG_FILES([ src/newstuff/Makefile ])
AC_CONFIG_FILES([ src/rtf2html/Makefile ])
AC_CONFIG_FILES([ src/tests/Makefile ])
AC_CONFIG_FILES([ src/translators/Makefile ])
AC_CONFIG_FILES([ src/translators/btparse/Makefile ])
AC_CONFIG_FILES([ src/translators/pilotdb/Makefile ])
AC_CONFIG_FILES([ src/translators/pilotdb/libflatfile/Makefile ])
AC_CONFIG_FILES([ src/translators/pilotdb/libpalm/Makefile ])
AC_CONFIG_FILES([ xslt/Makefile ])
AC_CONFIG_FILES([ xslt/entry-templates/Makefile ])
AC_CONFIG_FILES([ xslt/report-templates/Makefile ])
AC_OUTPUT
echo ""
if test -z "$TAGLIB_CONFIG"; then
echo " *******************************************************"
echo " *** You don't have the TagLib headers on your system"
echo " *** Support for reading audio files is disabled"
echo " *******************************************************"
echo ""
fi
if test -z "$YAZ_CONFIG"; then
echo " *******************************************************"
echo " *** You don't have the yaz headers on your system"
echo " *** Support for z39.50 searches is disabled"
echo " *******************************************************"
echo ""
fi
if test x$kcddb != xyes; then
echo " *******************************************************"
echo " *** You don't have the kcddb headers on your system"
echo " *** Support for fetching CDDB info is disabled"
echo " *******************************************************"
echo ""
fi
if test x$kcal != xyes; then
echo " *******************************************************"
echo " *** You don't have the kcal headers on your system"
echo " *** Support for interacting with KOrganizer is disabled"
echo " *******************************************************"
echo ""
fi
if test x$have_exempi != xyes; then
echo " *******************************************************"
echo " *** You don't have the exempi headers on your system"
echo " *** Support for importing some PDF metadata is disabled"
echo " *******************************************************"
echo ""
fi
if test x$have_poppler != xyes; then
echo " *******************************************************"
echo " *** You don't have the poppler headers on your system"
echo " *** Support for searching inside PDF files is disabled"
echo " *******************************************************"
echo ""
fi
# Check if KDE_SET_PREFIX was called, and --prefix was passed to configure
if test -n "$kde_libs_prefix" -a -n "$given_prefix"; then
# And if so, warn when they don't match
if test "$kde_libs_prefix" != "$given_prefix"; then
echo ""
echo "Warning: you chose to install this package in $given_prefix,"
echo "but KDE was found in $kde_libs_prefix."
echo "For this to work, you will need to tell KDE about the new prefix,"
echo "by ensuring that KDEDIRS contains it, e.g."
echo " export KDEDIRS=$given_prefix:$kde_libs_prefix"
echo "Then restart KDE."
echo ""
fi
fi
if test "$all_tests" = "bad"; then
if test ! "$cache_file" = "/dev/null"; then
echo ""
echo "Please remove the file $cache_file after changing your setup"
echo "so that configure will find the changes next time."
echo ""
fi
else
echo ""
echo "Good - your configure finished. Start make now"
echo ""
fi

@ -0,0 +1,552 @@
#MIN_CONFIG(3.3)
AM_INIT_AUTOMAKE(tellico,1.3.2.1)
dnl AM_KDE_MIN_VERSION(MIN-VERSION-MAJOR, MIN-VERSION-MINOR, MIN-VERSION-MICRO)
dnl (taken from KMyMoney2)
dnl
AC_DEFUN([AM_KDE_MIN_VERSION],
[
AC_MSG_CHECKING([for KDE version $1.$2.$3 or later])
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
save_CXXFLAGS=$CXXFLAGS
CXXFLAGS="$CXXFLAGS -I$srcdir $all_includes"
AC_TRY_COMPILE([
#include "kdeversion.h"
#if !( KDE_IS_VERSION( $1, $2, $3 ) )
#error KDE version does not meet minimum requirement
#endif
], [], AC_MSG_RESULT(yes), AC_MSG_ERROR(no))
CXXFLAGS=$save_CXXFLAGS
AC_LANG_RESTORE
])
AM_KDE_MIN_VERSION(3,3,1)
dnl CXXFLAGS="$NOOPT_CXXFLAGS" dnl __kdevelop[noopt]__
dnl CFLAGS="$NOOPT_CFLAGS" dnl __kdevelop[noopt]__
dnl CXXFLAGS="$CXXFLAGS $USE_EXCEPTIONS -DQT_NO_ASCII_CAST -DQT_NO_TRANSLATION" dnl __kdevelop[exc]__
dnl KDE_NEED_FLEX dnl __kdevelop__
dnl AC_PROG_YACC dnl __kdevelop__
AC_MSG_CHECKING(for ushort in <sys/types.h>)
AC_CACHE_VAL(bt_cv_type_ushort, [
AC_TRY_COMPILE([
#include <sys/types.h>
],[
ushort i;
], bt_cv_type_ushort=yes, bt_cv_type_ushort=no)])
AC_MSG_RESULT($bt_cv_type_ushort)
if test "$bt_cv_type_ushort" = "yes" ; then
AC_DEFINE(HAVE_USHORT, 1, [Define if ushort is defined in <sys/types.h>])
fi
AC_MSG_CHECKING(for boolean in <sys/types.h>)
AC_CACHE_VAL(bt_cv_type_boolean, [
AC_TRY_COMPILE([
#include <sys/types.h>
],[
boolean f;
], bt_cv_type_boolean=yes, bt_cv_type_boolean=no)])
AC_MSG_RESULT($bt_cv_type_boolean)
if test "$bt_cv_type_boolean" = "yes" ; then
AC_DEFINE(HAVE_BOOLEAN, 1, [Define if boolean is defined in <sys/types.h>])
fi
AC_MSG_CHECKING(for strdup declaration in <string.h>)
AC_EGREP_HEADER([strdup *\(], string.h, bt_cv_decl_strdup=yes, bt_cv_decl_strdup=no)
AC_MSG_RESULT($bt_cv_decl_strdup)
if test "$bt_cv_decl_strdup" = "yes" ; then
AC_DEFINE(HAVE_STRDUP_DECL, 1, [Define if strdup is declared in <string.h>])
fi
dnl Checks for library functions.
AC_FUNC_ALLOCA
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(strlwr strupr)
AC_CHECK_SIZEOF(unsigned int, 4)
AC_CHECK_SIZEOF(unsigned short, 2)
AC_CHECK_SIZEOF(unsigned char, 1)
AC_CHECK_SIZEOF(char, 1)
AC_CACHE_CHECK([for std::vector::at(std::size_t)],
ac_cv_cxx_have_vector_at, [
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([
#include <vector>
],[
std::vector<int> v(1);
v.at(0);
return 0;
],ac_cv_cxx_have_vector_at=yes, ac_cv_cxx_have_vector_at=no)
AC_LANG_RESTORE
])
if test "$ac_cv_cxx_have_vector_at" = "yes"; then
AC_DEFINE(HAVE_VECTOR_AT,1,[Define if you have the 'std::vector::at(std::size_t)' function])
fi
KDE_FIND_PATH(xml2-config, XML_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [
AC_MSG_ERROR([[Could not find xml2-config anywhere, check ftp://xmlsoft.org/ for libxml >= 2.6.0. If you are using pre-packaged libraries, be sure to have the development files installed as well, which may be called libxml2-devel or something similar.]])
])
if test -n "$XML_CONFIG"; then
vers=`$XML_CONFIG --version 2>/dev/null | sed -e 's/libxml //' | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test -n "$vers" && test "$vers" -ge 2006000
then
LIBXML_LIBS="`$XML_CONFIG --libs`"
LIBXML_RPATH=
for args in $LIBXML_LIBS; do
case $args in
-L*)
LIBXML_RPATH="$LIBXML_RPATH $args"
;;
esac
done
LIBXML_RPATH=`echo $LIBXML_RPATH | sed -e "s/-L/-R/g"`
LIBXML_CFLAGS="`$XML_CONFIG --cflags`"
else
AC_MSG_ERROR([[You need at least libxml 2.6.0.]])
fi
fi
AC_SUBST(LIBXML_LIBS)
AC_SUBST(LIBXML_CFLAGS)
AC_SUBST(LIBXML_RPATH)
AC_ARG_WITH([xml-catalog],
AC_HELP_STRING([--with-xml-catalog=CATALOG],
[path to XML catalog, default=without-xml-catalog]),,
[with_xml_catalog=no])
if test x"$with_xml_catalog" != xno; then
KDE_FIND_PATH(xmlcatalog, XMLCATALOG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [
AC_MSG_ERROR([[Could not find xmlcatalog anywhere, check ftp://xmlsoft.org/ for libxml2 >= 2.4.23. If you are using pre-packaged libraries, be sure to have the utility files installed as well, which may be called libxml2-utils or something similar.]])
])
AC_SUBST(XMLCATALOG)
if test x"$with_xml_catalog" = xyes; then
XML_CATALOG_FILE="/etc/xml/catalog"
else
XML_CATALOG_FILE="$with_xml_catalog"
fi
AC_MSG_CHECKING([for XML catalog])
if test -f "$XML_CATALOG_FILE"; then
AC_MSG_RESULT([$XML_CATALOG_FILE])
else
AC_MSG_ERROR([$XML_CATALOG_FILE not found])
fi
AC_SUBST(XML_CATALOG_FILE)
fi
KDE_FIND_PATH(xslt-config, XSLT_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [
AC_MSG_ERROR([[Could not find xslt-config anywhere, check ftp://xmlsoft.org/ for libxslt >= 1.0.19. If you are using pre-packaged libraries, be sure to have the development files installed as well, which may be called libxslt-devel or something similar.]])
])
if test -n "$XSLT_CONFIG"; then
vers=`$XSLT_CONFIG --version 2>/dev/null | awk 'BEGIN { FS = "."; } { printf "%d", ($1 * 1000 + $2) * 1000 + $3;}'`
if test -n "$vers" && test "$vers" -ge 1000019; then
LIBXSLT_LIBS="`$XSLT_CONFIG --libs`"
LIBXSLT_RPATH=
for args in $LIBXSLT_LIBS; do
case $args in
-L*)
LIBXSLT_RPATH="$LIBXSLT_RPATH $args"
;;
esac
done
LIBXSLT_RPATH=`echo $LIBXSLT_RPATH | sed -e "s/-L/-R/g"`
LIBXSLT_CFLAGS="`$XSLT_CONFIG --cflags`"
else
AC_MSG_ERROR([[You need at least libxslt 1.0.19.]])
fi
fi
AC_SUBST(LIBXSLT_LIBS)
AC_SUBST(LIBXSLT_CFLAGS)
AC_SUBST(LIBXSLT_RPATH)
dnl ---------- TAGLIB CHECK ----------
AC_DEFUN([AC_HAVE_TAGLIB],
[
AC_DEFINE(HAVE_TAGLIB, 1, [Define to 1 if you have the TagLib library])
TAGLIB_CFLAGS=[`$TAGLIB_CONFIG --cflags`]
TAGLIB_LIBS=[`$TAGLIB_CONFIG --libs`]
TAGLIB_RPATH=
for args in $TAGLIB_LIBS; do
case $args in
-L*)
TAGLIB_RPATH="$TAGLIB_RPATH $args"
;;
esac
done
TAGLIB_RPATH=`echo $TAGLIB_RPATH | sed -e "s/-L/-R/g"`
])
AC_DEFUN([AC_NO_TAGLIB],
[
TAGLIB_CFLAGS=""
TAGLIB_LIBS=""
TAGLIB_RPATH=""
])
KDE_FIND_PATH(taglib-config, TAGLIB_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin])
if test -n "$TAGLIB_CONFIG"; then
AC_HAVE_TAGLIB
else
AC_NO_TAGLIB
fi
AC_SUBST(TAGLIB_CFLAGS)
AC_SUBST(TAGLIB_LIBS)
AC_SUBST(TAGLIB_RPATH)
dnl ---------- END TAGLIB CHECK ----------
dnl ---------- YAZ CHECK ----------
AC_DEFUN([AC_HAVE_YAZ],
[
AC_DEFINE(HAVE_YAZ, 1, [Define to 1 if you have the yaz library])
YAZ_CFLAGS=[`$YAZ_CONFIG --cflags`]
YAZ_LIBS=[`$YAZ_CONFIG --libs`]
YAZ_RPATH=
for args in $YAZ_LIBS; do
case $args in
-L*)
YAZ_RPATH="$YAZ_RPATH $args"
;;
esac
done
YAZ_RPATH=`echo $YAZ_RPATH | sed -e "s/-L/-R/g"`
])
AC_DEFUN([AC_NO_YAZ],
[
YAZ_CFLAGS=""
YAZ_LIBS=""
YAZ_RPATH=""
])
KDE_FIND_PATH(yaz-config, YAZ_CONFIG, [${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin])
if test -n "$YAZ_CONFIG"; then
AC_HAVE_YAZ
else
AC_NO_YAZ
fi
AC_SUBST(YAZ_CFLAGS)
AC_SUBST(YAZ_LIBS)
AC_SUBST(YAZ_RPATH)
dnl ---------- END YAZ CHECK ----------
dnl ---------- KCDDB CHECK ----------
AC_ARG_ENABLE(libkcddb,
AC_HELP_STRING([--disable-libkcddb], [disable libkcddb, default=enable if found]),
[enable_libkcddb=$enableval],
[enable_libkcddb=yes]
)
if test x$enable_libkcddb = xyes; then
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_save_libs="$LIBS"
ac_save_cxxflags="$CXXFLAGS"
LIBS="$LIBS $all_libraries -lkcddb"
CXXFLAGS="$CXXFLAGS $all_includes"
AC_MSG_CHECKING(for libkcddb library and headers)
AC_TRY_LINK(
[
#ifdef QT_NO_CAST_ASCII
#undef QT_NO_CAST_ASCII
#endif
#include <libkcddb/cddb.h>
],
[KCDDB::CDDB c],
[kcddb=yes],
[kcddb=no]
)
AC_MSG_RESULT($kcddb)
LIBS="$ac_save_libs"
CXXFLAGS="$ac_save_cxxflags"
AC_LANG_RESTORE
if test x$kcddb = xyes; then
AC_DEFINE(HAVE_KCDDB, 1, [Define to 1 if you have libkcddb])
KCDDB_LIBS="-lkcddb"
else
KCDDB_LIBS=
fi
dnl -- kcddb was disabled ---
else
KCDDB_LIBS=
fi
AC_SUBST(KCDDB_LIBS)
dnl ---------- END KCDDB CHECK ----------
dnl ---------- KCAL CHECK ----------
AC_ARG_ENABLE(libkcal,
AC_HELP_STRING([--disable-libkcal], [disable libkcal, default=enable if found]),
[enable_libkcal=$enableval],
[enable_libkcal=yes]
)
if test x$enable_libkcal = xyes; then
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
ac_save_libs="$LIBS"
ac_save_cxxflags="$CXXFLAGS"
LIBS="$LIBS $all_libraries -lkcal"
CXXFLAGS="$CXXFLAGS $all_includes"
AC_MSG_CHECKING(for libkcal library and headers)
AC_TRY_LINK(
[
#ifdef QT_NO_CAST_ASCII
#undef QT_NO_CAST_ASCII
#endif
#include <libkcal/todo.h>
],
[KCal::Todo t],
[kcal=yes],
[kcal=no]
)
AC_MSG_RESULT($kcal)
LIBS="$ac_save_libs"
CXXFLAGS="$ac_save_cxxflags"
AC_LANG_RESTORE
if test x$kcal = xyes; then
AC_DEFINE(HAVE_KCAL, 1, [Define to 1 if you have libkcal])
KCAL_LIBS="-lkcal"
else
KCAL_LIBS=
fi
dnl -- libkcal was disabled ---
else
KCAL_LIBS=
fi
AC_SUBST(KCAL_LIBS)
dnl ---------- END KCAL CHECK ----------
AC_ARG_WITH([btparse],
AC_HELP_STRING([--with-btparse], [Link against libbtparse
as a shared lib (shared) or build it statically (static), default=static]),
[case "${withval}" in
shared) btparse=shared ;;
static) btparse=static ;;
yes) btparse=shared ;;
*) AC_MSG_ERROR(bad value ${withval} for --with-btparse) ;;
esac],
[btparse=static])
AM_CONDITIONAL(USE_LIBBTPARSE, test x$btparse = xshared)
if test x$btparse = xshared; then
KDE_CHECK_LIB(btparse, bt_initialize, [], [AC_MSG_ERROR(could not find libbtparse)])
fi
dnl ---------- AMAZON CHECK ----------
AC_ARG_ENABLE(amazon,
AC_HELP_STRING([--disable-amazon], [disable Amazon.com searching, default=enable]),
[enable_amazon=$enableval],
[enable_amazon=yes]
)
if test x$enable_amazon = xyes; then
AC_DEFINE(AMAZON_SUPPORT, 1, [Define to 1 if Amazon.com searching should be enabled])
fi
dnl ---------- END AMAZON CHECK ----------
dnl ---------- IMDB CHECK ----------
AC_ARG_ENABLE(imdb,
AC_HELP_STRING([--disable-imdb], [disable IMDb searching, default=enable]),
[enable_imdb=$enableval],
[enable_imdb=yes]
)
if test x$enable_imdb = xyes; then
AC_DEFINE(IMDB_SUPPORT, 1, [Define to 1 if IMDb searching should be enabled])
fi
dnl ---------- END IMDB CHECK ----------
dnl ---------- CDTEXT CHECK ----------
dnl Not sure if my code for CDText works on all platforms, allow disabling
AC_ARG_ENABLE(cdtext,
AC_HELP_STRING([--disable-cdtext], [disable cdtext, default=enable (Linux only)]),
[enable_cdtext=$enableval],
[enable_cdtext=yes]
)
if test x$enable_cdtext = xyes; then
AC_DEFINE(USE_CDTEXT, 1, [Define to 1 if you want to compile CD-Text support])
fi
dnl ---------- OpenOffice.org CHECK ----------
AC_ARG_ENABLE(ooo,
AC_HELP_STRING([--enable-ooo], [enable support for OpenOffice.org, default=disable]),
[enable_ooo=$enableval],
[enable_ooo=no]
)
AM_CONDITIONAL(WITH_OOO, test x$enable_ooo = xyes)
dnl Options: OpenOffice.org installation
AC_ARG_WITH([ooo-dir],
AC_HELP_STRING([--with-ooo-dir=DIR],
[where the OpenOffice.org program files are installed]),
[ac_ooo_libdir="${withval}/program"
ac_ooo_datadir="${withval}/program"])
AC_ARG_WITH([ooo-libdir],
AC_HELP_STRING([--with-ooo-libdir=DIR],
[where the OpenOffice.org program libraries are installed (<ooo-dir>/program)]),
[ac_ooo_libdir="${withval}"])
AC_ARG_WITH([ooo-datadir],
AC_HELP_STRING([--with-ooo-datadir=DIR],
[where the OpenOffice.org data files are installed (<ooo-dir>/program)]),
[ac_ooo_datadir="${withval}"])
dnl Options: OpenOffice.org SDK
AC_ARG_WITH([ooo-sdk-dir],
AC_HELP_STRING([--with-ooo-sdk-dir=DIR],
[where the OpenOffice.org SDK is installed]),
[ac_ooo_sdk_bindir="${withval}/linux/bin"
ac_ooo_sdk_includes="${withval}/include"])
AC_ARG_WITH([ooo-sdk-bindir],
AC_HELP_STRING([--with-ooo-sdk-bindir=DIR],
[where the OpenOffice.org SDK binaries are installed (<ooo-sdk-dir>/linux/bin)]),
[ac_ooo_sdk_bindir="${withval}"])
AC_ARG_WITH([ooo-sdk-includes],
AC_HELP_STRING([--with-ooo-sdk-includes=DIR],
[where the OpenOffice.org SDK includes are installed (<ooo-sdk-dir>/include)]),
[ac_ooo_sdk_includes="${withval}"])
if test x$enable_ooo = xyes; then
dnl Check for UNO cpp binding
KDE_FIND_PATH(cppumaker, CPPUMAKER, [$ac_ooo_sdk_bindir ${prefix}/bin ${exec_prefix}/bin /usr/bin /usr/local/bin /opt/local/bin], [
AC_MSG_ERROR([[cppumaker not found, try '--with-ooo-sdk-dir=location_of_ODK']])
])
dnl Check for ODK includes
ac_cppflags_safe="$CPPFLAGS"
CPPFLAGS="-I$ac_ooo_sdk_includes"
KDE_CHECK_HEADERS([sal/config.h],
[OFFICE_SDK_includes="$CPPFLAGS"],
AC_MSG_ERROR([[OpenOffice.org SDK include files not found, try '--with-ooo-sdk-dir=location_of_ODK']]))
CPPFLAGS="$ac_cppflags_safe"
dnl OpenOffice.org libraries
if test -n "$ac_ooo_libdir" ; then
OFFICE_libadd="-L$ac_ooo_libdir"
OFFICE_libdir="$ac_ooo_libdir"
fi
dnl OpenOffice.org types.rdb
AC_CHECK_FILE([$ac_ooo_datadir/types.rdb],
[OFFICE_registry="$ac_ooo_datadir"/types.rdb],
AC_MSG_ERROR([[types.rdb not found, try '--with-ooo-dir=OpenOffice.org_installation_path']]))
dnl Substitute the values
AC_SUBST(OFFICE_SDK_includes)
AC_SUBST(OFFICE_libadd)
AC_SUBST(OFFICE_libdir)
AC_SUBST(OFFICE_registry)
AC_SUBST(CPPUMAKER)
fi
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/core"
CXXFLAGS="$CXXFLAGS -I\$(top_srcdir)/src/core"
dnl ---------- EXEMPI CHECK ----------
AC_ARG_ENABLE(exempi,
AC_HELP_STRING([--disable-exempi], [disable exempi, default=enable if found]),
[enable_libexempi=$enableval],
[enable_libexempi=yes]
)
if test x$enable_libexempi = xyes; then
KDE_PKG_CHECK_MODULES(EXEMPI,
[exempi-2.0 >= 1.99.0],
[have_exempi=yes],
[have_exempi=no])
AC_SUBST(EXEMPI_LIBS)
AC_SUBST(EXEMPI_CFLAGS)
else
have_exempi="no (disabled)"
fi
test "$have_exempi" = "yes" && AC_DEFINE(HAVE_EXEMPI, 1, [Define to 1 if exempi is available])
dnl ---------- END EXEMPI CHECK ----------
dnl ---------- POPPLER CHECK ----------
AC_ARG_ENABLE(poppler,
AC_HELP_STRING([--disable-poppler], [disable poppler, default=enable if found]),
[enable_libpoppler=$enableval],
[enable_libpoppler=yes]
)
if test x$enable_libpoppler = xyes; then
KDE_PKG_CHECK_MODULES(POPPLER,
[poppler-qt >= 0.5],
[have_poppler=yes],
[have_poppler=no])
AC_SUBST(POPPLER_LIBS)
AC_SUBST(POPPLER_CFLAGS)
else
have_poppler="no (disabled)"
fi
test "$have_poppler" = "yes" && AC_DEFINE(HAVE_POPPLER, 1, [Define to 1 if poppler is available])
dnl ---------- END POPPLER CHECK ----------
dnl ---------- WEBCAM CHECK ----------
AC_ARG_ENABLE(webcam,
AC_HELP_STRING([--enable-webcam], [enable support for webcams (experimental), default=disable]),
[enable_webcam=$enableval],
[enable_webcam=no]
)
AM_CONDITIONAL(ENABLE_WEBCAM, test $enable_webcam = yes)
if test x$enable_webcam = xyes; then
AC_DEFINE(ENABLE_WEBCAM, 1, [Define to 1 if webcam support is enabled])
fi
dnl ---------- END WEBCAM CHECK ----------

@ -0,0 +1,4 @@
ADD_SUBDIRECTORY( en )
ADD_SUBDIRECTORY( fr )

@ -0,0 +1,5 @@
####### kdevelop will overwrite this part!!! (begin)##########
SUBDIRS = en fr
####### kdevelop will overwrite this part!!! (end)############

@ -0,0 +1,62 @@
KDE_CREATE_HANDBOOK( index.docbook Xi
INSTALL_DESTINATION share/doc/kde/HTML/en/tellico
)
########### install files ###############
#original Makefile.am contents follow:
######## kdevelop will overwrite this part!!! (begin)##########
#
#
#EXTRA_DIST = \
#advanced.docbook \
#configuration.docbook \
#details.docbook \
#faqs.docbook \
#fundamentals.docbook \
#hacking.docbook \
#importing-exporting.docbook \
#index.docbook \
#menus.docbook \
#freebsd-doc-license.html \
#entry-editor1.png \
#entry-editor3.png \
#entry-editor4.png \
#entry-editor5.png \
#fields-dialog.png \
#general-options.png \
#main-window.png \
#print-options.png \
#template-options.png \
#source-options.png \
#filter-dialog.png \
#csv-dialog.png \
#fetch-dialog.png \
#export-options.png \
#export-html.png \
#export-csv.png \
#export-pdb.png \
#export-bibtex.png \
#amazon-options.png \
#z3950-options.png \
#externalexec-options.png \
#report-dialog.png \
#loan-dialog.png \
#loan-view.png \
#filter-view.png \
#openoffice-dialog.png \
#sru-options.png \
#imdb-options.png
#
#
######## kdevelop will overwrite this part!!! (end)############
#
#KDE_LANG = en
#KDE_DOCS = tellico
#
#CLEANFILES = *~

@ -0,0 +1,50 @@
####### kdevelop will overwrite this part!!! (begin)##########
EXTRA_DIST = \
advanced.docbook \
configuration.docbook \
details.docbook \
faqs.docbook \
fundamentals.docbook \
hacking.docbook \
importing-exporting.docbook \
index.docbook \
menus.docbook \
freebsd-doc-license.html \
entry-editor1.png \
entry-editor3.png \
entry-editor4.png \
entry-editor5.png \
fields-dialog.png \
general-options.png \
main-window.png \
print-options.png \
template-options.png \
source-options.png \
filter-dialog.png \
csv-dialog.png \
fetch-dialog.png \
export-options.png \
export-html.png \
export-csv.png \
export-pdb.png \
export-bibtex.png \
amazon-options.png \
z3950-options.png \
externalexec-options.png \
report-dialog.png \
loan-dialog.png \
loan-view.png \
filter-view.png \
openoffice-dialog.png \
sru-options.png \
imdb-options.png
####### kdevelop will overwrite this part!!! (end)############
KDE_LANG = en
KDE_DOCS = tellico
CLEANFILES = *~

@ -0,0 +1,151 @@
<chapter id="advanced">
<title>Advanced Usage</title>
<sect1 id="command-line">
<title>Command Line Options</title>
<para>
When running &appname; from the command line, there are several options for opening data files. They may be seen by running <userinput>tellico --help</userinput>.
</para>
<programlisting>
Usage: tellico [Qt-options] [KDE-options] [options] [filename]
Tellico - a collection manager for KDE
Options:
--nofile Do not reopen the last open file
--bibtex Import &lt;filename&gt; as a bibtex file
--mods Import &lt;filename&gt; as a MODS file
--ris Import &lt;filename&gt; as a RIS file
Arguments:
filename File to open
</programlisting>
</sect1>
<sect1 id="dcop-interface">
<title>&DCOP; Interface</title>
<para>
&appname; has a minimal &DCOP; interface, which can be used for scripting or interacting with a running application from the command-line. As with all &DCOP; calls, you need to specify the application you want to interface with, and the particular interface. The name of the &DCOP; application is <constant>tellico-&lt;pid&gt;</constant>, where <emphasis>&lt;pid&gt;</emphasis> is the process id of the running application.
</para>
<sect2 id="dcop-commands">
<title>DCOP Commands</title>
<para>Two &DCOP; objects are available in the tellico interface: <constant>tellico</constant> and <constant>collection</constant>.</para>
<sect3 id="dcop-tellico">
<title>The <constant>tellico</constant> Object</title>
<para>The full list of &DCOP; commands in the <constant>tellico</constant> object is shown below:</para>
<programlisting>
bool importTellico(QString file, QString action)
bool importBibtex(QString file, QString action)
bool importMODS(QString file, QString action)
bool importRIS(QString file, QString action)
bool exportXML(QString file)
bool exportZip(QString file)
bool exportBibtex(QString file)
bool exportHTML(QString file)
bool exportCSV(QString file)
bool exportPilotDB(QString file)
QValueList&lt;long int&gt; selectedEntries()
QValueList&lt;long int&gt; filteredEntries()
void openFile(QString file)
void setFilter(QString text)
bool showEntry(long int id)
</programlisting>
<para>
For the four import commands, the first argument is the file to import, and the second is the import action. Three actions are available: <emphasis>replace</emphasis>, <emphasis>append</emphasis>, and <emphasis>merge</emphasis>. Four file formats are supported for importing: Tellico XML files, Bibtex files, MODS files, and RIS files.
</para>
<para>
The current open collection in &appname; may be exported to a file, in either Tellico XML format, Tellico ZIP format, Bibtex, HTML, comma-separated values (CSV), or the PilotDB format.
</para>
<para>A list of the entry IDs currently selected or being filtered is able to facilitate showing or updating entries in the view.</para>
<para> A new data file may be opened by using the <command>openFile()</command> command. The full path must be specified.</para>
<para>A new filter may be set using the <command>setFilter()</command> command, which is the equivalent of typing in the filter box in the main window.</para>
<para>Given an entry ID, <command>showEntry()</command> will select that entry and show the entry details in the main window.</para>
</sect3>
<sect3 id="dcop-collection">
<title>The <constant>collection</constant> Object</title>
<para>The full list of &DCOP; commands in the <constant>collection</constant> object is shown below:</para>
<programlisting>
long int addEntry()
bool removeEntry(long int entryID)
QStringList values(QString fieldName)
QStringList values(long int entryID,QString fieldName)
QStringList bibtexKeys()
QString bibtexKey(long int entryID)
bool setFieldValue(long int entryID,QString fieldName,QString value)
bool addFieldValue(long int entryID,QString fieldName,QString value)
</programlisting>
<para>
A new empty entry may be created in the current collection using the <command>addEntry()</command> command. The return value is the entry ID, which can then be used to set the field values in the entry. An entry can be deleted from the collection by calling <command>removeEntry()</command>.
</para>
<para>
Calling <command>values()</command> using just a field name will return all the values for that field for the currently selected entries. If no entries are selected, the return list is empty. If an entry ID is included in the command, the field values for that specific entry are returned.
</para>
<para>
If the current collection is a bibliography, calling <command>bibtexKeys()</command> will return the Bibtex citation key for all selected entries. The bibtexKey for a specific entry may be found by using the <command>bibtekKey()</command> command.
</para>
<para>
Entries can be edited directly with the &DCOP; interface. Given an entry ID, <command>setFieldValue()</command> will set the field value directly. To add a value, without affecting the existing values, use <command>addFieldValue()</command>. The new value gets appended to the end of the existing list.
</para>
</sect3>
</sect2>
<sect2 id="dcop-examples">
<title>DCOP Examples</title>
<para>
Here are some examples for scripting &appname; using the &DCOP; interface. Since the <emphasis>pid</emphasis> must be known, the easiest way to include that in the shell command is like so: <userinput>dcop $(dcop | grep tellico) tellico</userinput>.
</para>
<screen width="40">
<emphasis>Open a Bibtex file</emphasis>
<prompt>%</prompt> <userinput>dcop $(dcop | grep tellico) tellico importBibtex ~/documents/reference.bib replace</userinput>
<computeroutput>true</computeroutput>
</screen>
<screen width="40">
<emphasis>Export a Bibtex file</emphasis>
<prompt>%</prompt> <userinput>dcop $(dcop | grep tellico) tellico exportBibtex ~/documents/reference.bib</userinput>
<computeroutput>true</computeroutput>
</screen>
<screen width="40">
<emphasis>Echo the citation key of the current selection</emphasis>
<prompt>%</prompt> <userinput>dcop $(dcop | grep tellico) collection bibtexKeys</userinput>
<computeroutput>stephenson2004</computeroutput>
</screen>
<screen width="40">
<emphasis>Add a new entry and set the title</emphasis>
<prompt>%</prompt> <userinput>myid=`dcop $(dcop | grep tellico) collection addEntry`</userinput>
<prompt>%</prompt> <userinput>dcop $(dcop | grep tellico) collection setFieldValue $myid title "My New Book"</userinput>
<computeroutput>true</computeroutput>
</screen>
</sect2>
</sect1>
</chapter>

Binary file not shown.

@ -0,0 +1,376 @@
<chapter id="configuration">
<title>Configuration</title>
<para>
The <interface>Configuration Dialog</interface> contains all the options for
changing some of the default behaviour of &appname;.
</para>
<para>
Clicking the <guibutton>Apply</guibutton> button <action>causes the changes to
take effect immediately</action> without closing the dialog, while
<guibutton>OK</guibutton> <action>applies the changes and closes the dialog</action>. <guibutton>Cancel</guibutton> closes the dialog, but any changes already made
and applied will remain. The <guibutton>Default</guibutton> button <action>reverts
the options</action> on the current page of the dialog to their default values,
while <guibutton>Help</guibutton> <action>opens the &khelpcenter;</action> to
the relative section of the &appname; manual.
</para>
<para>
Some minor settings can only be changed by editing the configuration file itself. See <link linkend="hidden-options">Hidden Options</link>.
</para>
<sect1 id="general-options">
<title><guilabel>General Options</guilabel></title>
<screenshot>
<screeninfo>The General Options Dialog</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="general-options.png"/></imageobject>
<textobject><phrase>The General Options Dialog</phrase></textobject>
</mediaobject>
</screenshot>
<para>
The <guilabel>General Options</guilabel> control the general behavior. Images may be included
in the data files, or saved separately in the &appname; application folder. Also, when &appname;
is started, it can automatically reopen the last data file that was open. The
<guilabel>Tip of the Day</guilabel> dialog contains helpful hints on using &appname;
and appears at program startup. You may want to read through some of the hints and
then disable the dialog.
</para>
<para>
The <guilabel>Formatting Options</guilabel> control the level of automatic formatting
that &appname; does. For examples, see the <link linkend="field-formatting">Field
Formatting section</link>. Capitalization and formatting are distinct options, since
a field may be capitalized without having the order of the words changed, and
vice-versa. The auto-capitalization can be changed to ignore certain words.
The automatic formatting includes grammatical articles in titles,
along with prefixes and suffixes for personal names. The values are case-insensitive,
and should be separated by a semi-colon.
</para>
<para>
The formatting rules follow general English usage, which may not work for other languages.
Articles are appended to the end of the title, with a comma. Personal names are formatted
to have the last name first, followed by a comma, then the first name. Personal suffixes,
such as Jr., are kept with the last name. Prefixes, such as <emphasis>von</emphasis>,
are kept with the last name, but are ignored when the values are being sorted.</para>
<informalexample><para><emphasis>John Q. von Public, III</emphasis> would become
<emphasis>von Public, III, John Q.</emphasis> and <emphasis>Public</emphasis> would
be used as the sort key.</para></informalexample>
<para>
Only single word prefixes are supported. If a name includes <emphasis>van der</emphasis>,
for example, both <emphasis>van</emphasis> and <emphasis>der</emphasis> should be included
in the surname prefix list. Articles ending with an apostrophe are supported for sorting
order, as well.
</para>
<note><para>The actual values in the collection are <emphasis>not</emphasis> changed,
only the visible text used for the interface. So the formatting options can be
changed back and forth without affecting any of the data in the collection.</para></note>
</sect1>
<sect1 id="printing-options">
<title><guilabel>Printing Options</guilabel></title>
<para>
&appname; uses an &xslt; template for creating &html;
and then passes that to the &kde; printing service. Only the fields visible in the <link linkend="detailed-view">&detailed-view;</link> are printed. Furthermore, if the collection
is being filtered, only the visible entries will be printed. Initially, a warning message
is shown if filtering is active.
</para>
<screenshot>
<screeninfo>The Print Options Dialog</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="print-options.png"/></imageobject>
<textobject><phrase>The Print Options Dialog</phrase></textobject>
</mediaobject>
</screenshot>
<para>
The <guilabel>Printing Options</guilabel> allow you to change some formatting when
printing a collection. If <guilabel>Format titles and names</guilabel> is checked,
then the fields are <link linkend="field-formatting">auto-formatted</link> when they
are printed. Otherwise, they are printed exactly as they were entered.
</para>
<para>
The default printing stylesheet prints the collection with the field values in columns.
<guilabel>Print field headers</guilabel> controls whether the field title is printed
at the top of the column.
</para>
<para>
In the printout, the entries will be sorted as they are in the <link linkend="detailed-view">&detailed-view;</link>. Additionally, they may be grouped as they are in the <link linkend="group-view">&group-view;</link>.
</para>
<para>
Finally, when image fields are included in the printout, the images may be resized,
while maintaining their aspect ratio. The maximum image width and height define the
largest possible size of the image, though it will never be increased.
</para>
</sect1>
<sect1 id="template-options">
<title><guilabel>Template Options</guilabel></title>
<para>
The <link linkend="entry-view">&entry-view;</link> uses templates to show the field
values. You can specify a different template for each collection type. Some templates,
such as the <emphasis>Album</emphasis> or <emphasis>Video</emphasis> templates are
for a specific collection type, and a short error message will appear in the
&entry-view; if they are used for other types. The
<guilabel>Preview</guilabel> button pops up a window to show you a preview of what the template looks like.
Custom fonts and colors may be passed to the template, and all of the default templates
will honor those settings. However, custom template may choose to ignore them.</para>
<para>
Additional templates may be installed directly, or downloaded from
<ulink url="http://kde-files.org/index.php?amp;xcontentmode=676">kde-files.org</ulink> by clicking
the <guilabel>Download</guilabel> button. Any templates installed by the user may also be deleted.
Entry templates are saved in <filename class="directory">$<envar>KDEHOME</envar>/share/apps/tellico/entry-templates/</filename>.
</para>
<para>If you create a new template, please consider submitting it at <ulink url="http://kde-files.org/index.php?amp;xcontentmode=676">kde-files.org</ulink>!</para>
<screenshot>
<screeninfo>The Template Options Dialog</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="template-options.png"/></imageobject>
<textobject><phrase>The Template Options Dialog</phrase></textobject>
</mediaobject>
</screenshot>
</sect1>
<sect1 id="data-sources-options">
<title><guilabel>Data Sources Options</guilabel></title>
<para>
&appname; can use various sources for importing data, which can be configured
in the Data Sources Dialog. There are several available types of sources:</para>
<itemizedlist>
<listitem><para><link linkend="amazon-web-services">Amazon.com Web Services</link>,</para></listitem>
<listitem><para>the <link linkend="imdb">Internet Movie Database</link>,</para></listitem>
<listitem><para><link linkend="z3950">z39.50 servers</link>,</para></listitem>
<listitem><para><link linkend="sru">SRU servers</link>,</para></listitem>
<listitem><para><link linkend="entrez">Entrez (PubMed) databases</link>,</para></listitem>
<listitem><para><link linkend="yahoo">Yahoo! Audio Search</link>,</para></listitem>
<listitem><para><link linkend="animenfo">AnimeNfo.com</link>,</para></listitem>
<listitem><para><link linkend="ibs">Internet Bookshop Italia</link>,</para></listitem>
<listitem><para><link linkend="isbndb">ISBNdb.com</link>,</para></listitem>
<listitem><para><link linkend="gcstarplugin"><application>GCstar</application> Plugins</link>,</para></listitem>
<listitem><para><link linkend="bib-sources">arxiv.org</link>,</para></listitem>
<listitem><para><link linkend="bib-sources">bibsonomy.org</link>,</para></listitem>
<listitem><para><link linkend="bib-sources">citebase.org</link>,</para></listitem>
<listitem><para><link linkend="bib-sources">crossref.org</link>,</para></listitem>
<listitem><para><link linkend="externalexec">other external scripts or applications</link></para></listitem>
</itemizedlist>
<screenshot>
<screeninfo>The Data Sources Options Dialog</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="source-options.png"/></imageobject>
<textobject><phrase>The Data Sources Options Dialog</phrase></textobject>
</mediaobject>
</screenshot>
<para>
New sources may be added by clicking the <guibutton>New...</guibutton> button, while
existing ones may be modified or deleted, using the <guibutton>Modify...</guibutton> or
<guibutton>Remove</guibutton> buttons. The order of the sources, which shows up in the
entry updating menus, can also be changed.
</para>
<para>
Additional templates may be downloaded from the author's online repository by clicking
the <guilabel>Download</guilabel> button. Those scripts are gpg-signed by the author to
guard against dangerous scripts from unknown sources, which could cause damage to your system.
</para>
<warning>
<para>
Never install and run a script from an untrusted source. They are executed with the same permissions as the user,
and as a result, could modify or delete files or otherwise mess up your system.
</para>
</warning>
<para>
Many of the data sources offer more information than the default fields in &appname;. Those other fields are
shown on the right of the configuration box. If any of those fields are checked, they will be added
to the collection when an entry is added from that source.
</para>
<sect2 id="amazon-web-services">
<title>Amazon.com</title>
<para>
Using the Amazon Web Services, &appname; can search any of six different international sites operated by <ulink url="http://amazon.com">Amazon.com</ulink> for information: United States, United Kingdom, Germany, Japan,
France, and Canada.
</para>
<screenshot>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="amazon-options.png"/></imageobject>
</mediaobject>
</screenshot>
<para>
Configuring each Amazon.com source involves three settings: the server location, image size, and associate's ID. Some information
from <ulink url="http://amazon.com">Amazon.com</ulink> may include an image, such as a book or video cover. That image may be downloaded in three different sizes, depending on the item. The associate's ID must be used to access the Amazon.com Web Services, and is included in the links back to the item, as dictated by the license agreement for the use of the Amazon.com Web Services.
</para>
</sect2>
<sect2 id="imdb">
<title>Internet Movie Database</title>
<para>
The <ulink url="http://www.imdb.com">Internet Movie Database</ulink> provides information about movies and videos. When a search is conducted for a <emphasis>Person</emphasis>, if more than one possible result is returned, a dialog box is opened to allow you to select the correct person. The configuration options include setting the web server address and whether images are grabbed or not. Since IMDb can return a large number of cast members, you can limit
that to a certain number.
</para>
<screenshot>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="imdb-options.png"/></imageobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="z3950">
<title>z39.50 Servers</title>
<para>
The <ulink url="http://www.cni.org/pub/NISO/docs/Z39.50-brochure/50.brochure.toc.html">z39.50 protocol</ulink> is used to access libraries and bibliographic information providers around the world. Lists of public z39.50 servers are <ulink url="http://www.indexdata.dk/targettest/">available from indexdata.dk</ulink>, among others. &appname; comes with
several preset configurations for major libraries, or you can specify the connection information manually.</para>
<para>&appname;
is able to read data in the <acronym>MODS</acronym>, <acronym>USMARC</acronym>/<acronym>MARC21</acronym>, or <acronym>UNIMARC</acronym> format, using the <ulink url="http://www.indexdata.dk/yaz/">yaz library</ulink>.
In addition, there is limited support for the <acronym>GRS-1</acronym> format.
</para>
<screenshot>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="z3950-options.png"/></imageobject>
</mediaobject>
</screenshot>
<para>
To use one of the preset libraries, check the box and then select the library. The other configuration entries will be disabled. If you need to set the information manually, uncheck the preset box.
</para>
<para>
The default port for z39.50 access is 210, but some servers may use a different one. &appname; assumes the server uses the MARC-8 character encoding, unless configured otherwise. If an incorrect character encoding is used, an error message may appear on the program output, or possibly no entries are retrieved.
</para>
<para>
Some servers require a username and password for access. &appname; can use and save that password, but be aware that is written to the &appname; configuration file in plain text and is not secure. For most public servers, the username and password fields may be left empty.
</para>
</sect2>
<sect2 id="sru">
<title>SRU Servers</title>
<para>
SRU stands for <ulink url="http://www.loc.gov/standards/sru/">Search/Retrieve via URL</ulink> and is a standard search protocol for
Internet searches. Some libraries use it for providing access to their data catalogs. Among them, the <ulink url="http://www.loc.gov/z3950/lcserver.html#oppr">US Library of Congress</ulink> is probably
the best known.
</para>
<screenshot>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="sru-options.png"/></imageobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="entrez">
<title>Entrez Databases</title>
<para>
<ulink url="http://www.ncbi.nlm.nih.gov/Entrez/">Entrez</ulink> is the integrated, text-based search and retrieval system used at the National Center for Biotechnology Information (NCBI). The most well-known Entrez database is <ulink url="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed">PubMed</ulink>, the database for life science articles from many biological journals. At the moment, the only Entrez database supported by &appname; is PubMed.</para>
</sect2>
<sect2 id="yahoo">
<title>Yahoo! Audio Search</title>
<para>
The <ulink url="http://audio.search.yahoo.com">Yahoo! Audio Search</ulink> may be used to search for music album information.
</para>
</sect2>
<sect2 id="animenfo">
<title>AnimeNfo.com</title>
<para>
<ulink url="http://www.animenfo.com">AnimeNfo</ulink> is a popular site for information on anime, or Japanese animation.
</para>
</sect2>
<sect2 id="ibs">
<title>Internet Bookstore Italia</title>
<para>
<ulink url="http://ibs.it">IBS, or Internet Bookstore Italia</ulink>, is an online Italian bookstore.
</para>
</sect2>
<sect2 id="isbndb">
<title>ISBNdb.com</title>
<para>
<ulink url="http://isbndb.com">ISBNdb.com</ulink> is an online book database, with data collection libraries around the world.
</para>
</sect2>
<sect2 id="gcstarplugin">
<title>GCstar Plugins</title>
<para>
If <application><ulink url="http://www.gcstar.org">GCstar</ulink></application> is installed, &appname; is able to take advantage of the wide range of search plugins available for GCstar. Depending on the collection type, various online resources are available for usage as a data source in &appname;
</para>
</sect2>
<sect2 id="bib-sources">
<title>Bibliographic Databases</title>
<para>
<ulink url="http://arxiv.org">arXiv.org</ulink>, <ulink url="http://bibsonomy.org">Bibsonomy</ulink>, <ulink url="http://citebase.org">Citebase</ulink>, and <ulink url="http://crossref.org">CrossRef</ulink> are online databases for academic articles and bibliographic information. For access to the CrossRef source, you must <ulink url="http://www.crossref.org/requestaccount/">request an account</ulink> and add your account information to the data source configuration.</para>
</sect2>
<sect2 id="externalexec">
<title>External Scripts or Applications</title>
<para>
As an easier way for &appname; to integrate with third-party plugins, external scripts or applications may be used as an interface for searching other information sources. &appname; will execute a command, and pass the search terms as command-line options.
</para>
<para>Some scripts are distributed with &appname; itself. <ulink url="http://www.allocine.fr">Allocine.fr</ulink> is an online French bookstore. This data source requires <ulink url="http://python.org">Python</ulink> to be installed. The <ulink url="http://www.mcu.es">Spanish Ministry of Culture</ulink> is an online Spanish book database. This data source also required requires <ulink url="http://python.org">Python</ulink> to be installed. <ulink url="http://darkhorse.com">Dark Horse Comics</ulink> is a comic book publisher. This data source also requires <ulink url="http://python.org">Python</ulink>. <ulink url="http://boardgamegeek.com">BoardGameGeek</ulink> is a website with extensive data for board games, and the script requires <ulink url="http://www.ruby-lang.org">ruby</ulink>.
</para>
<screenshot>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="externalexec-options.png"/></imageobject>
</mediaobject>
</screenshot>
<para>
The collection type returned by the script must be set, along with the data format. Not only can &appname; import data from scripts that
use the <link linkend="file-format">default &appname; &xml; format</link>, but it can also import other formats as well, such as bibtex.
</para>
<para>The full path to the application should be entered in the source options. Be aware that the application is executed on the system with the same permissions as the current user, so do not use scripts from untrusted sources. Check the boxes next to the search keys supported by the application, and enter the required command line options in the edit box. The search value will be inserted where <userinput>%1</userinput> appears.
</para>
<para>
For updating entries already in the collection, the final checkbox and edit box are used to determine the command-line options. The entry fields used to find an update must be entered, in the same format as used for <emphasis><link linkend="dependent">Dependent</link></emphasis> fields.
</para>
</sect2>
</sect1>
</chapter>

Binary file not shown.

@ -0,0 +1,547 @@
<chapter id="details">
<title>&appname; Details</title>
<sect1 id="field-types">
<title>Field Types</title>
<para>
Each collection may have an unlimited number of fields. &appname; supports
eleven types of fields, which allow for a range of different data.
</para>
<sect2 id="line">
<title>Simple Text</title>
<para>
The most basic field type is called <emphasis>Simple Text</emphasis>.
No restrictions are placed on the field values, and the data entry
widget is the standard line edit. This type is appropriate for fields
which aren't expected to have long values, such as the author or the genre.
</para>
</sect2>
<sect2 id="number">
<title>Number</title>
<para>
The <emphasis>Number</emphasis> type is identical to the
<emphasis>Simple Text</emphasis>, except that the data is restricted
to being numerical. Entries will be sorted numerically in the column
view if a <emphasis>Number</emphasis> field column is clicked. The
standard line edit, with small arrow buttons for increasing or decreasing
the value, is used for data entry. No formatting is ever
applied.</para>
</sect2>
<sect2 id="url">
<title>&URL;</title>
<para>
The <emphasis>&URL;</emphasis> type allows for links to other documents,
using the standard &kde; file type associations for opening the linked
documents. No validation is done on the actual value of a
<emphasis>&URL;</emphasis> field, but non-valid links are not
opened. The data entry is a line edit with a button for opening the
standard File-Open dialog, but any &URL; may be used. Relative &URL;s are
interpreted relative to the location of the data file, once it has been saved.
</para>
<para>
In the <link linkend="entry-editor">&entry-editor;</link>,
the label becomes the link, while in the <link linkend="entry-view">&entry-view;</link>, an actual
hyperlink is used. This field type is convenient for linking to <acronym>PDF</acronym>
files of bibliographic entries, or to movie reviews, for example. No
formatting is ever applied.</para>
<para>
Relative &URL;s may also be used. They are interpreted relative to the location of the
&appname; data file. In the <link linkend="entry-editor">&entry-editor;</link>, the line
edit provides auto-completion for local file locations. If you want the &URL; from the &kde;
File Selector Dialog Box to be interpreted relative to the document location, then an extended
property for the &URL; field should be set to <emphasis>relative</emphasis> : <emphasis>true</emphasis>.
</para>
</sect2>
<sect2 id="para">
<title>Paragraph</title>
<para>
For longer text fields, the <emphasis>Paragraph</emphasis> type offers
a larger text edit area, and is always in its own category. A
<emphasis>Paragraph</emphasis> field may not have multiple values, nor
is it automatically formatted. It cannot be used for grouping. Abstracts, plot
summaries, or reviews should be entered using this field type.</para>
</sect2>
<sect2 id="choice">
<title>Choice</title>
<para>
When a field should be limited to a few preset values, a
<emphasis>Choice</emphasis> type is used. The acceptable values are
presented in a drop down box for selection. Obviously, multiple values
are not applicable. Fields such as bibliography type or personal rating
are <emphasis>Choice</emphasis>-type fields.</para>
<para>Semi-colons should be used to separated the allowed values.</para>
</sect2>
<sect2 id="bool">
<title>Checkbox</title>
<para>
For fields which take a yes or no value, the
<emphasis>Checkbox</emphasis> type is available. By default, the field
is toggled off. <emphasis>Checkbox</emphasis> fields are not formatted
and are limited to single values. Internally, the field values are
carried as <emphasis><constant>true</constant></emphasis> or
<emphasis><constant>false</constant></emphasis>. Some examples are gift or loaned
fields.</para>
</sect2>
<sect2 id="date">
<title>Date</title>
<para>
A <emphasis>Date</emphasis> field can include a day, month, and year. The date is shown in the standard format of YYYY-MM-DD, which allows for easy sorting. The standard &kde; Date Selector may be used to choose the date with the mouse, or it may be entered directly. The field is not required to have non-empty values for the year, month, and day; only the year may be entered, for example. Multiple values are not allowed.
</para>
</sect2>
<sect2 id="table">
<title>Table</title>
<para>
<emphasis>Table</emphasis> fields hold a one or more columns of values.
In the <link linkend="entry-editor">&entry-editor;</link>, the field is presented using a
spreadsheet-like view, with numbered rows. When the last row is selected, an additional
row is then added. Auto-completion is not available.
This field is useful for a list of chapters in a book, scenes in a movie, or songs in an album.
<emphasis>Table</emphasis> fields are always a category by themselves.
</para>
<para>
The number of columns, up to a maximum of ten, is defined by adding a property to the field
definition with the name <emphasis>columns</emphasis>. The columns may be labeled by right-clicking
on the header, or by setting a field property named <emphasis>column1</emphasis>, etc.
</para>
<para>
When using the &entry-editor; for <emphasis>Table</emphasis> fields, rows may be rearranged by dragging
the mouse while holding the &Ctrl; button. A popup menu is also available by right-clicking on the table,
which allows rows to be inserted or removed.
</para>
</sect2>
<sect2 id="image">
<title>Image</title>
<para>
<emphasis>Image</emphasis> fields hold an image, of any format supported by &kde;.
Some of the typical ones include <acronym>PNG</acronym> or <acronym>JPEG</acronym>.
The image can be saved inside the &appname; data file itself or in the application data
directory. The standard &kde; File Selector is used, so you can use a &URL; or just a
file available locally. Images can also be dragged from a file manager or browser.
</para>
</sect2>
<sect2 id="rating">
<title>Rating</title>
<para>
<emphasis>Rating</emphasis> fields show a number of stars to represent a numerical rating
for an entry. By default, the rating is a maximum of five. The minimum and maximum may be
changed by setting properties in the field definition in the &fields-dialog;, named
<emphasis>minimum</emphasis> and <emphasis>maximum</emphasis>, respectively.
</para>
</sect2>
<sect2 id="dependent">
<title>Dependent</title>
<para>
The final field type is the <emphasis>Dependent</emphasis> field. You probably won't use
this one very often. It is used to combine values from other fields using a format
string in the field description. For example, if a <emphasis>Dependent</emphasis> field has
a description of <userinput>%{title} %{year}</userinput>, then the value of that field will
be the title, followed by the year. This field type is used primarily for the title field in
the coin, stamp, trading card, and wine collections. Either the internal field name or the field title
may be used in the description for formatting.
The entry ID is also available using <userinput>%{id}</userinput>.
</para>
</sect2>
</sect1>
<sect1 id="collection-types">
<title>Collection Types</title>
<para>
&appname; supports twelve specific collection types by default: books, bibliographic entries, comic books, videos, music, video games, trading cards, coins, stamps, wines, board games, and file catalogs. In addition, an empty generic collection template is available for any other collectibles. The default collections are only meant to include a general set of fields. You should add, modify, or delete them to fit your needs. The only requirement is that a collection should always have a <emphasis>Title</emphasis> field, so that the <link linkend="group-view">&group-view;</link> works correctly. For some collection types, that is just a <emphasis><link linkend="dependent">Dependent</link></emphasis> field combining two or more of the others.
</para>
<para>
In general, there's no functional difference between the collection types. You could create a custom collection for your books just as easily as using the default book collection. But &appname; chooses icons based on collection type, and there may be some specialized functionality that is unique to a certain collection, so if you can, you should use the defaults. So, if you want to create a wine collection, but don't like any of the default fields, go ahead and create a default wine collection, then delete all the defaults. That way, &appname; still knows that it's a wine collection.
</para>
<sect2 id="book-collection">
<title>Book Collections</title>
<para>
Book collections have 26 default fields:
<emphasis>Title</emphasis>,
<emphasis>Subtitle</emphasis>,
<emphasis>Author</emphasis>,
<emphasis>Binding</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Publisher</emphasis>,
<emphasis>Edition</emphasis>,
<emphasis>Copyright Year</emphasis>,
<emphasis>Publication Year</emphasis>,
<emphasis>ISBN#</emphasis>,
<emphasis>LCCN#</emphasis>,
<emphasis>Pages</emphasis>,
<emphasis>Language</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Keywords</emphasis>,
<emphasis>Series</emphasis>,
<emphasis>Series Number</emphasis>,
<emphasis>Condition</emphasis>,
<emphasis>Signed</emphasis>,
<emphasis>Read</emphasis>,
<emphasis>Gift</emphasis>,
<emphasis>Loaned</emphasis>,
<emphasis>Rating</emphasis>,
<emphasis>Front Cover</emphasis>, and
<emphasis>Comments</emphasis>.
</para>
<para>
The <emphasis>ISBN#</emphasis> field is special, since <acronym>ISBN</acronym> numbers are automatically formatted and the check-digit is calculated. &appname; recognizes the <acronym>ISBN</acronym> field if its internal field name is <emphasis>isbn</emphasis>. If you delete it, or need to add it to another type of collection, create the field with the title as <emphasis>ISBN</emphasis> and apply the change, then you can return and modify the title as you want. &appname; creates the internal name based on the initial title, but never changes it if the title is later updated.
</para>
</sect2>
<sect2 id="bibliography">
<title>Bibliographies</title>
<para>
Bibliographies have 25 default fields:
<emphasis>Title</emphasis>,
<emphasis>Entry Type</emphasis>,
<emphasis>Author</emphasis>,
<emphasis>Bibtex Key</emphasis>,
<emphasis>Book Title</emphasis>,
<emphasis>Editor</emphasis>,
<emphasis>Organization</emphasis>,
<emphasis>Publisher</emphasis>,
<emphasis>ISBN#</emphasis>,
<emphasis>Address</emphasis>,
<emphasis>Edition</emphasis>,
<emphasis>Pages</emphasis>,
<emphasis>Year</emphasis>,
<emphasis>Journal</emphasis>,
<emphasis>Month</emphasis>,
<emphasis>Number</emphasis>,
<emphasis>How Published</emphasis>,
<emphasis>Chapter</emphasis>,
<emphasis>Series</emphasis>,
<emphasis>Series</emphasis>,
<emphasis>Volume</emphasis>,
<emphasis>Cross-Reference</emphasis>, and
<emphasis>Keywords</emphasis>,
<emphasis>Abstract</emphasis>,
<emphasis>Notes</emphasis>.
</para>
<para>
Although bibliographic collections are not specifically linked to bibtex, the default set of fields is taken from a typical set of bibtex fields. When exporting to bibtex, an extended property called <emphasis>bibtex</emphasis> is used for each fields to define the corresponding bibtex field. If you add an additional field to a bibliography and want to export it to bibtex, be sure to set the <emphasis>bibtex</emphasis> extended property.
</para>
<para>
&appname; does have some specialized functions for bibliographies. Bibtex string macros can be added, modified, or deleted from within &appname; and the bibtex export gives you the option of expanding the macros. Bibtex citations can be pushed to an external application such as <application>LyX</application> or <application>Kile</application> using the so-called <emphasis><link linkend="hidden-bibtex-options">lyxpipe</link></emphasis>.
</para>
<para>
Book collections can be converted to bibliographies. Default bibtex fields are added, and the extended properties are set. This functionality exists primarily to convert old collections, before the bibliography type was separated from the book collection type.
</para>
</sect2>
<sect2 id="comic-book-collection">
<title>Comic Book Collections</title>
<para>
Comic book collections have 22 default fields:
<emphasis>Title</emphasis>,
<emphasis>Subtitle</emphasis>,
<emphasis>Writer</emphasis>,
<emphasis>Artist</emphasis>,
<emphasis>Series</emphasis>,
<emphasis>Issues</emphasis>,
<emphasis>Publisher</emphasis>,
<emphasis>Edition</emphasis>,
<emphasis>Publication Year</emphasis>,
<emphasis>Pages</emphasis>,
<emphasis>Country</emphasis>,
<emphasis>Language</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Keywords</emphasis>,
<emphasis>Condition</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Signed</emphasis>,
<emphasis>Gift</emphasis>,
<emphasis>Loaned</emphasis>,
<emphasis>Front Cover</emphasis>, and
<emphasis>Comments</emphasis>.
</para>
</sect2>
<sect2 id="video-collection">
<title>Video Collections</title>
<para>
Video collections have 30 default fields:
<emphasis>Title</emphasis>,
<emphasis>Medium</emphasis>,
<emphasis>Production Year</emphasis>,
<emphasis>Certification</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Region</emphasis>,
<emphasis>Nationality</emphasis>,
<emphasis>Format</emphasis>,
<emphasis>Cast</emphasis>,
<emphasis>Director</emphasis>,
<emphasis>Producer</emphasis>,
<emphasis>Writer</emphasis>,
<emphasis>Composer</emphasis>,
<emphasis>Studio</emphasis>,
<emphasis>Language Tracks</emphasis>,
<emphasis>Subtitle Languages</emphasis>,
<emphasis>Audio Tracks</emphasis>,
<emphasis>Running Time</emphasis>,
<emphasis>Aspect Ratio</emphasis>,
<emphasis>Widescreen</emphasis>,
<emphasis>Color Mode</emphasis>,
<emphasis>Director's Cut</emphasis>,
<emphasis>Plot Summary</emphasis>,
<emphasis>Personal Rating</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Gift</emphasis>,
<emphasis>Loaned</emphasis>,
<emphasis>Cover</emphasis>, and
<emphasis>Comments</emphasis>.
</para>
<para>
The <emphasis>Cast</emphasis> field is a <link linkend="table">table</link> with two columns, and the name of the actor is intended to be in the first column, with their role in the second. The <emphasis>Running Time</emphasis> is meant to be in minutes, though you can change that, of course.
</para>
</sect2>
<sect2 id="music-collection">
<title>Music Collections</title>
<para>
Music collections have 15 default fields:
<emphasis>Title</emphasis>,
<emphasis>Medium</emphasis>,
<emphasis>Artist</emphasis>,
<emphasis>Label</emphasis>,
<emphasis>Year</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Tracks</emphasis>,
<emphasis>Rating</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Gift</emphasis>,
<emphasis>Loaned</emphasis>,
<emphasis>Keywords</emphasis>,
<emphasis>Cover</emphasis>, and
<emphasis>Comments</emphasis>.
</para>
</sect2>
<sect2 id="game-collection">
<title>Game Collections</title>
<para>
Video game collections have 16 default fields:
<emphasis>Title</emphasis>,
<emphasis>Platform</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Release Year</emphasis>,
<emphasis>Publisher</emphasis>,
<emphasis>Developer</emphasis>,
<emphasis>ESRB Rating</emphasis>,
<emphasis>Description</emphasis>,
<emphasis>Personal Rating</emphasis>,
<emphasis>Completed</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Gift</emphasis>,
<emphasis>Loaned</emphasis>,
<emphasis>Cover</emphasis>, and
<emphasis>Comments</emphasis>.
</para>
</sect2>
<sect2 id="card-collection">
<title>Card Collections</title>
<para>
Trading card collections have 17 default fields:
<emphasis>Title</emphasis>,
<emphasis>Player</emphasis>,
<emphasis>Team</emphasis>,
<emphasis>Brand</emphasis>,
<emphasis>Card Number</emphasis>,
<emphasis>Year</emphasis>,
<emphasis>Series</emphasis>,
<emphasis>Card Type</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Location</emphasis>,
<emphasis>Gift</emphasis>,
<emphasis>Keywords</emphasis>,
<emphasis>Quantity</emphasis>,
<emphasis>Front Image</emphasis>,
<emphasis>Back Image</emphasis>, and
<emphasis>Comments</emphasis>.
</para>
</sect2>
<sect2 id="coin-collection">
<title>Coin Collections</title>
<para>
Coin collections have 16 default fields:
<emphasis>Title</emphasis>,
<emphasis>Type</emphasis>,
<emphasis>Denomination</emphasis>,
<emphasis>Year</emphasis>,
<emphasis>Mint Mark</emphasis>,
<emphasis>Country</emphasis>,
<emphasis>Coin Set</emphasis>,
<emphasis>Grade</emphasis>,
<emphasis>Grading Service</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Location</emphasis>,
<emphasis>Gift</emphasis>,
<emphasis>Obverse</emphasis>,
<emphasis>Reverse</emphasis>, and
<emphasis>Comments</emphasis>.
</para>
</sect2>
<sect2 id="stamp-collection">
<title>Stamp Collections</title>
<para>
Stamp ollections have 18 default fields:
<emphasis>Title</emphasis>,
<emphasis>Description</emphasis>,
<emphasis>Denomination</emphasis>,
<emphasis>Country</emphasis>,
<emphasis>Issue Year</emphasis>,
<emphasis>Color</emphasis>,
<emphasis>Scott#</emphasis>,
<emphasis>Grade</emphasis>,
<emphasis>Cancelled</emphasis>,
<emphasis>Hinged</emphasis>,
<emphasis>Centering</emphasis>,
<emphasis>Gummed</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Location</emphasis>,
<emphasis>Gift</emphasis>,
<emphasis>Image</emphasis>, and
<emphasis>Comments</emphasis>.
</para>
</sect2>
<sect2 id="wine-collection">
<title>Wine Collections</title>
<para>
Wine collections have 15 default fields.
<emphasis>Title</emphasis>,
<emphasis>Producer</emphasis>,
<emphasis>Appellation</emphasis>,
<emphasis>Varietal</emphasis>,
<emphasis>Type</emphasis>,
<emphasis>Country</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Location</emphasis>,
<emphasis>Quantity</emphasis>,
<emphasis>Drink By</emphasis>,
<emphasis>Rating</emphasis>,
<emphasis>Gift</emphasis>,
<emphasis>Label Image</emphasis>, and
<emphasis>Comments</emphasis>.
</para>
</sect2>
<sect2 id="board-game-collection">
<title>Board Game Collections</title>
<para>
Board game collections have 15 default fields.
<emphasis>Title</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Mechanism</emphasis>,
<emphasis>Release Year</emphasis>,
<emphasis>Publisher</emphasis>,
<emphasis>Designer</emphasis>,
<emphasis>Number of Players</emphasis>,
<emphasis>Description</emphasis>,
<emphasis>Rating</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Gift</emphasis>,
<emphasis>Loaned</emphasis>,
<emphasis>Cover</emphasis>, and
<emphasis>Comments</emphasis>,
</para>
</sect2>
<sect2 id="file-catalog">
<title>File Catalogs</title>
<para>
File catalogs have 13 default fields.
<emphasis>Name</emphasis>,
<emphasis>URL</emphasis>,
<emphasis>Description</emphasis>,
<emphasis>Volume</emphasis>,
<emphasis>Mimetype</emphasis>,
<emphasis>Size</emphasis>,
<emphasis>Permissions</emphasis>,
<emphasis>Owner</emphasis>,
<emphasis>Group</emphasis>,
<emphasis>Created</emphasis>,
<emphasis>Modified</emphasis>,
<emphasis>Meta Info</emphasis>, and
<emphasis>Icon</emphasis>,
</para>
</sect2>
<sect2 id="custom-collection">
<title>Custom Collections</title>
<para>
Custom collections have one default field, the <emphasis>Title</emphasis>. They should be used when the collectible item is not one of the default types.
</para>
</sect2>
</sect1>
</chapter>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,257 @@
<chapter id="faqs">
<title>Questions and Answers</title>
<!-- (OPTIONAL but recommended) This chapter should include all of the silly
(and not-so-silly) newbie questions that fill up your mailbox. This chapter
should be reserved for BRIEF questions and answers! If one question uses more
than a page or so then it should probably be part of the
"Using this Application" chapter instead. You should use links to
cross-reference questions to the parts of your documentation that answer them.
This is also a great place to provide pointers to other FAQ's if your users
must do some complicated configuration on other programs in order for your
application work. -->
<qandaset id="faqlist">
<qandaentry>
<question>
<para>How do I start the program?</para>
</question>
<answer>
<para>After downloading and unpacking &appname;, run
<userinput><command>configure</command>
<option>--disable-debug</option>
<option>--enable-final</option></userinput> to configure
everything. You may need to modify some of the command line
options. After that, running
<userinput><command>make</command></userinput> will compile
&appname;. Then, as root, run <userinput><command>make
install</command></userinput> to install everything. Being root is
only necessary if you install somewhere where you don't have write
permissions. The command line to start &appname; is
<userinput><command>tellico</command></userinput>. If you install one
of the pre-packaged binaries, a menu item will be inserted for
&appname;. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>How do I enter multiple authors?</para>
</question>
<answer>
<para>Author names should be separated by a semi-colon, like so:
<userinput>Brian W. Kernighan; Dennis M. Ritchie</userinput>. Don't
include the word "and" or anything similar, even if you have 20
authors. If you have the auto-format option checked, then the last
name will automatically be shown first for each author.</para>
<para>Other properties which allow multiple values, like "genre" and
"keywords", are entered in the same way, with a semi-colon (;)
separating each value.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Can I modify what the printed page looks like?</para>
</question>
<answer>
<para>Yes, most certainly. Find the file <filename>tellico-printing.xsl</filename> which
should be in the $<envar>KDEDIR</envar>/share/apps/tellico/ directory. You can copy
that to $<envar>KDEHOME</envar>/share/apps/tellico/ for personal modifications.
You'll have to know <ulink
url="http://www.w3.org/TR/xslt">&xslt;</ulink>, but modifying that file
is how you change the printing layout. &html; is generated from the
file, and the easiest way to change the appearance of the printout is
to modify the CSS in the top portion. Feel free to email me with questions. Any alternate &xslt; printing files will be available on <ulink
url="&homepage;">the &appname; website</ulink>.</para>
<para>Be aware that the <filename>tellico-printing.xsl</filename> references another file, <filename>tellico-common.xsl</filename>, that contains some common &xslt; templates. If you copy
<filename>tellico-printing.xsl</filename> to $<envar>KDEHOME</envar>, you must either modify the &lt;xsl:import&gt; element to point to the actual location of the <filename>tellico-common.xsl</filename> file or copy the common file as well.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>How do I group by a property other than the ones listed in the toolbar?</para>
</question>
<answer>
<para>
To allow grouping by a field which doesn't allow grouping by default, check the
"Allow Grouping" box for that particular field in the "Collection Fields" dialog.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Why does all that gobbledy-gook show up when I run &appname;?</para></question>
<answer>
<para>Stuff like:
<screen width="40">
<computeroutput>Tellico::updateCollectionToolBar</computeroutput>
<computeroutput>GroupView::setGroupAttribute - author</computeroutput>
<computeroutput>GroupView::slotAddCollection</computeroutput>
<computeroutput>QCheckBox::property( "title" ) failed: property invalid
or does not exist</computeroutput>
</screen>
is debug info. At compile time, this can be stopped by compiling with
the <userinput><option>--disable-debug</option></userinput> flag. You
might also want to use
<userinput><option>--enable-final</option></userinput>, too, which
takes a bit more memory when compiling, but is more efficient when
running the application.</para>
<para>The last message is slightly different, it just means your Qt
installation was compiled with some debugging information.</para>
<para>Or, if &appname; is already installed, run
<userinput><command>kdebugdialog</command></userinput> and make sure
that "0 (generic)" is unchecked. That turns off debug messages from
all generic KDE apps i.e. those not distributed officially by
KDE.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>How do I change which columns are shown?</para></question>
<answer>
<para>Right-click on the header bar. You can also drag the headers to re-order
the columns, and click on them to sort by that field.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>How do I filter by something like the "Read"
field?</para></question>
<answer>
<para>Internally, the checkbox
fields in &appname; are saved as "true", so if you'd like to filter
to show only the science fiction books which you've not read, for
example, then you have two rules. Make sure the "Match all of the
following" button is checked. Set the first rule to have "Genre"
"contains" "Science Fiction" (no quotes) and the second rule to have
"Read" "does not contain" "true" (no quotes).</para>
<para>Also, the quick filter in the toolbar will match any field,
and if there is a non-word character, the text is interpreted as a
regular expression. So if you quickly want to filter your books to
show those by Weber or Bujold, then type "weber|bujold" (no quotes) in
the toolbar.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>How do I add new entry templates?</para></question>
<answer>
<para>Entry templates should be saved in
<filename class="directory">$<envar>KDEHOME</envar>/share/apps/tellico/entry-templates/</filename>
for access for a single user or
<filename class="directory">$<envar>KDEDIR</envar>/share/apps/tellico/entry-templates/</filename>
for access by everyone. Templates in $<envar>KDEHOME</envar> will
override any files by the same name in $<envar>KDEDIRS</envar>. The
entry templates can be set on a per collection-type basis in the
settings dialog.</para>
<para>Templates for the &report-dialog; are saved in <filename class="directory">$<envar>KDEHOME</envar>/share/apps/tellico/report-templates/</filename>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Compiling and installing went
fine, but when &appname; starts up, the window is blank. What's
wrong?</para></question>
<answer>
<para>KDE programs look for data in the locations defined in the
$<envar>KDEDIRS</envar> environmental variable. If you install in
<filename class="directory">/usr/local</filename> for example, but
$<envar>KDEDIRS</envar> is empty or just <filename class="directory">/usr</filename>,
then &appname; won't be able to find the files it needs. This is
particularly true for SuSE, for which you should compile with
<userinput><option>--prefix</option>=<filename class="directory">/opt/kde3</filename></userinput>. Alternatively,
you could add a line to your <filename>.profile</filename> file to
set $<envar>KDEDIRS</envar>. Check the documentation for your
shell.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>How do I export additional bibtex fields?</para></question>
<answer>
<para>&appname; uses the <emphasis>bibtex</emphasis> property to know how to export
bibtex fields. If you want to add additional fields to export, such
as an abstract, open up the &fields-dialog;, and click the <guibutton>Extended
Properties</guibutton> button. Add a <emphasis>bibtex</emphasis> property with value
<emphasis>abstract</emphasis>. Then, when you export to bibtex or bibtexml, that
property will be used for the bibtex field name.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What happened to Bookcase?</para>
</question>
<answer>
<para>Due to a trademark conflict, Bookcase was renamed Tellico in September 2004.
Tellico 0.12 was then released, which was identical to
Bookcase 0.11, except for the name change.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What does the name Tellico have to do with anything?</para>
</question>
<answer>
<para>I thought about <ulink url="http://www.periapsis.org/archives/2004/09/13/renaming_bookcase.html">several
other names</ulink>, a few of which were connected with book collections. However,
Tellico can handle more than just books, and besides, this is a hobby, so I chose
a neat-sounding (to me) name, one taken from a town close to where I grew up.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>What do you include those links to Amazon.com in the search results?</para>
</question>
<answer>
<para>
The <ulink url="http://www.amazon.com/gp/browse.html/002-0927720-5265623?node=3440661">terms of agreement for accessing the Amazon.com Web Services</ulink> require all images pulled from the service to be linked back to Amazon.com, as well as an additional link. The Amazon.com associate's ID is neccessarily included, so any referral payments are duly collected.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Why don't you use a real database?</para>
</question>
<answer>
<para>
Part of the reason I started &appname; was to learn C++. I didn't know SQL at the time, and at the moment, I only have a faint knowledge
of how to use it. Simply put, &appname; didn't start out as a relational database, and that won't change until sometime in the future when
I get around to learning SQL and have the time and motivation to change the data model. If that bothers you, well, don't use &appname; then.
</para>
<para>
Of course, anyone is welcome to make any changes they want to with the source code.
</para>
</answer>
</qandaentry>
</qandaset>
</chapter>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,57 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html40/strict.dtd">
<html lang="en-US">
<head>
<title>FreeBSD Documentation License</title>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta HTTP-EQUIV="Content-Language" CONTENT="en-US">
<meta NAME="description" CONTENT="FreeBSD Documentation License">
<meta NAME="keywords" CONTENT="FreeBSD, bsd, Bsd, license, licence, documentation, FreeBSD Documentation license">
<meta NAME="robots" CONTENT="none">
<meta HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<link REL="stylesheet" HREF="common/kde-default.css" TYPE="text/css">
</head>
<body CLASS="license">
<h1>FreeBSD Documentation License</h1>
<p>Redistribution and use in source (SGML DocBook) and 'compiled'
forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or
without modification, are permitted provided that the following
conditions are met:</p>
<ol>
<li>
<p>Redistributions of source code (SGML DocBook)
must retain the above copyright notice, this list
of conditions and the following disclaimer as the
first lines of this file unmodified.</p>
</li>
<li>
<p>Redistributions in compiled form (transformed to
other DTDs, converted to PDF, PostScript, RTF and
other formats) must reproduce the above copyright
notice, this list of conditions and the following
disclaimer in the documentation and/or other
materials provided with the distribution.</p>
</li>
</ol>
<p>THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD
DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.</p>
</body>
</html>

@ -0,0 +1,595 @@
<chapter id="fundamentals">
<title>Using &appname;</title>
<sect1 id="quick-start">
<title>Quick Start</title>
<para>
By default, &appname; starts with an empty book collection. To work with some other type of collection, create it using the <menuchoice><guimenu>File</guimenu><guimenuitem>New</guimenuitem></menuchoice> menu item, or the button on the toolbar. Collections are populated with some of the more common fields, but you can add, modify, or delete them to suit your needs.
</para>
<para>
New entries can be added by using the <link linkend="entry-editor">&entry-editor;</link>. The <menuchoice><guimenu>Collection</guimenu><guimenuitem>New Entry</guimenuitem></menuchoice> menu item will open the &entry-editor; with an empty entry ready for editing. The &entry-editor; can also be opened by using the <menuchoice><guimenu>Settings</guimenu><guimenuitem>Show &entry-editor;</guimenuitem></menuchoice> menu item. Once you've entered the values for the entry, you can save it to the collection by using the <guibutton>Save Entry</guibutton> button in the &entry-editor; dialog, which remains open in case you want to continue adding new entries. Once you've saved an entry in the collection, you can modify it by clicking on it in the main window. If the &entry-editor; is not already open, you can double click an entry to open the editor and start editing.
</para>
<para>
If you want to include an image in the entry, you can use the standard &kde; File Selector by clicking the <guibutton>Select Image...</guibutton> button in the <link linkend="entry-editor">&entry-editor;</link>, or you can drag an image from the file manager or web browser into the &entry-editor;.
</para>
<para>
When you select an entry, the <link linkend="entry-view">&entry-view;</link> shows a formatted view of the entry's contents. You can change the template used for showing the entry in the <link linkend="configuration">&config-dialog;</link>.
</para>
<para>
The entries in the collection are grouped together when they share the same values for certain fields, such as the author or director. You can change the field used for grouping by using the combo box in the toolbar or the <menuchoice><guimenu>Settings</guimenu><guimenuitem>Group Selection</guimenuitem></menuchoice> menu item.
</para>
<para>
You can use the &quick-filter; in the toolbar to quickly limit the visible entries to ones which contain the word you type. The filter is also useful when you want to quickly find an entry. You can type in the title or some other unique word that identifies the entry and the <link linkend="detailed-view">&detailed-view;</link> will only show the entries that match the filter. The status bar shows you how many entries are in the collection, and how many are currently being filtered.
</para>
</sect1>
<sect1 id="main-window">
<title>General Usage</title>
<para>
The main window has three distinct areas, all of which show information about the collection
in a different manner. The primary view is the <link linkend="detailed-view">&detailed-view;</link> in
the upper right area, where the value of every field for each entry may be shown. On the left side, tabs
hold the <link linkend="group-view">&group-view;</link>, which can be used to sort the entries into groups
in a tree-structure, the <link linkend="filter-view">&filter-view;</link>, which is used to track which
entries meet cerrtain critera, and the <link linkend="loan-view">&loan-view;</link>, where any loans are
listed. Finally, the <link linkend="entry-view">&entry-view;</link> shows a formatted view
of the data for a single entry, or an icon view of a group of entries, in the lower right.
</para>
<screenshot>
<screeninfo>The &appname; Main Window</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="main-window.png"/></imageobject>
<textobject><phrase>The &appname; Main Window</phrase></textobject>
</mediaobject>
</screenshot>
<sect2 id="detailed-view">
<title>&detailed-view;</title>
<para>
Any of the fields in the collections may be shown in the &detailed-view;, although <emphasis><link linkend="para">Paragraph</link></emphasis>, <emphasis><link linkend="image">Image</link></emphasis>, and <emphasis><link linkend="table">Table</link></emphasis> fields will probably not be useful. Right-clicking on the header of the view opens a menu for selecting the visible fields. The columns may be resized and reordered in any way, and the settings will be saved between sessions.
</para>
</sect2>
<sect2 id="group-view">
<title>&group-view;</title>
<para>
The &group-view; groups the entries in a tree-view by any field which <link linkend="field-options">allows grouping</link>.
The number of entries in each group is shown next to the group name. Groups may be expanded or collapsed by clicking the plus sign, or by double-clicking the item. Expanding and contracting all the groups are options in the right-click context menu. The tree may be sorted either by the group name, or by the count, by clicking on the header. A group may also be used as a filter for the <link linkend="detailed-view">&detailed-view;</link>, by right-clicking on the group item.
</para>
<para id="people-group">
When more than one field in the collection has the <emphasis><link linkend="fields-dialog"><guilabel>Format as name</guilabel></link></emphasis> option turned on, an additional group is added to combine all those fields into one single <emphasis>People</emphasis> pseudo-group.
</para>
<para>
If an entry does not contain a value for the field being used to form the groups, it is placed in the <emphasis>(Empty)</emphasis> group, which uses a red folder.
</para>
</sect2>
<sect2 id="filter-view">
<title>&filter-view;</title>
<para>
If any filters are saved for the collection, the &filter-view; becomes active. As you add or
modify entries, they will automatically be checked against the filters and add or removed as
appropriate. The filter may be modified by double-clicking on the item to open
the &filter-dialog;. Right-clicking gives you the option to delete it altogether.
</para>
<screenshot>
<screeninfo>The &filter-view;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="filter-view.png"/></imageobject>
<textobject><phrase>The &filter-view;</phrase></textobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="loan-view">
<title>&loan-view;</title>
<para>
Once entries are checked-out on loan, the &loan-view; is added to the window, so those
borrowed entries may be tracked. Loans are tracked on a per-entry bases, so right-clicking
on an entry item has an option for modifying the loan using the &loan-dialog;.
</para>
<screenshot>
<screeninfo>The &loan-view;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="loan-view.png"/></imageobject>
<textobject><phrase>The &loan-view;</phrase></textobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="entry-view">
<title>&entry-view;</title>
<para>
A formatted representation of the entry's values is shown in the &entry-view;. Templates are used for the layout and any additional graphics. Separate templates for each type of collection may be specified in the <link linkend="template-options">&config-dialog;</link>, along with custom colors and fonts.</para>
<para>All of the default templates honor the color and font selection, but other custom templates might now.
The default templates also make &URL; fields active, which will open up with the default &kde; file association. When exporting to &html;, the current template is used for exporting the individual entry files.
</para>
<para>
In addition, when multiple entries are selected, an icon view is shown, using the first <link linkend="image">Image</link> field in the collection. Entries may be selected as in the &detailed-view;. Right-clicking in the icon view will show a menu that changes the sorting criteria for the entries.
</para>
</sect2>
<sect2 id="status-bar">
<title>Statusbar</title>
<para>
The status bar is used to show you what &appname; is currently doing. It also includes a total count of the entries in the collection, and if a filter is being used, how many are currently visible.
</para>
</sect2>
</sect1>
<sect1 id="entry-editor">
<title>Editing Entries</title>
<para>
The &entry-editor; is used to add and modify entries in the collection. Double-clicking on an entry in either the &group-view; or the &detailed-view; opens the &entry-editor; with that entry. New entries may be created using the <menuchoice><guimenu>Collection</guimenu></menuchoice> menu, the toolbar icon, or the button in the &entry-editor; itself.</para>
<para>
The arrow buttons on the bottom will move to the previous or next entries in the current list.
</para>
<para>Closing the &entry-editor; when changes have been made but not saved will cause a warning message to appear. The fields are grouped by category and appear in the order that they appear in the <link linkend="fields-dialog">&fields-dialog;</link>. They may also be reordered.
</para>
<screenshot>
<screeninfo>The &entry-editor;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="entry-editor1.png"/></imageobject>
<textobject><phrase>The &entry-editor;</phrase></textobject>
</mediaobject>
</screenshot>
<para>
Clicking the field title for a <link linkend="url"><emphasis>&URL;</emphasis></link> field will open the link using the default &kde; file association. The <guiicon>&URL; selector</guiicon> button beside the text entry will open the default &kde; File Open Dialog, but the field is not limited to local files.
</para>
<para>
For <link linkend="image"><emphasis>Image</emphasis></link> fields, the <guibutton>Select Image...</guibutton> button opens up the &kde; image file selection dialog. The image is saved in the collection in the original format, and a scaled version is shown in the &entry-editor;. The image may be cleared by using the <guibutton>Clear</guibutton> button. Cleared images are removed from the collection. </para>
<screenshot>
<screeninfo>The &entry-editor; for <emphasis>Image</emphasis> fields</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="entry-editor3.png"/></imageobject>
<textobject><phrase>The &entry-editor; for <emphasis>Image</emphasis> fields</phrase></textobject>
</mediaobject>
</screenshot>
<para>
The edit widget also supports drag-and-drop. Dragging an image file from a file-manager or browser window does the same thing as selecting the image in the File Selector. Dragging an image from the edit widget into a &konqueror; file manager window will save the image in that folder.
</para>
<warning>
<para>
By default, the images are stored in the collection data file, keeping everything contained in one location. However, too many images will cause &appname; to slow down significantly as well result in a very large data file. Alternatively, &appname; can save the images separately, either in the <filename class="directory">$<envar>KDEHOME</envar>/share/apps/tellico/data/</filename> directory or in a directory in the same location as the data file. Loading and saving data files is much faster if images are stored separately, but the data files are no longer portable or archivable.
Self-contained data files can always be created by using the <menuchoice><guimenu>File</guimenu><guimenu>Export</guimenu><guimenuitem>Export to Zip...</guimenuitem></menuchoice> menu item.
</para>
</warning>
<para>
<link linkend="table"><emphasis>Table</emphasis></link> fields begin with five rows, but moving the cursor to the last row automatically adds another. For multi-column tables, only the first column is used for grouping or formatting.
</para>
<screenshot>
<screeninfo>The &entry-editor; for <emphasis>Table</emphasis> fields</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="entry-editor4.png"/></imageobject>
<textobject><phrase>The &entry-editor; for <emphasis>Table</emphasis> fields</phrase></textobject>
</mediaobject>
</screenshot>
<sect2 id="edit-multiple">
<title>Editing Multiple Entries</title>
<para>
Multiple entries may be edited at the same time by selecting more than one in either the &group-view; or the &detailed-view;. If multiple entries are selected, the fields which contain the same value in every entry are enabled. If entries have different values, then the fields are disabled. Check boxes are added to the extreme right for each field entry which control whether the field is enabled or not, as shown in the screenshot below.
</para>
<para>
Only enabled fields will be modified when the entries are saved, which makes large-scale editing much easier. For example, to set the Medium of all the video entries in the collection, make sure the Medium field is enabled. Change it to <acronym>DVD</acronym>, then save the entries. Only the Medium field will be modified, preserving all the other field values for the entries.
</para>
<screenshot>
<screeninfo>The &entry-editor; for multiple entries</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="entry-editor5.png"/></imageobject>
<textobject><phrase>The &entry-editor; for multiple entries</phrase></textobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="updating-entries">
<title>Updating Entry Data</title>
<para>
Entries may be automatically updated by querying the data sources available for the current collection type, which is very useful for combining information from multiple sources. For example, you may add a movie to your collection using
the <link linkend="amazon-web-services">Amazon.com Web Services</link>, and then update the entry with additional
information from the <link linkend="imdb">Internet Movie Database</link>.
</para>
<para>
Only empty fields are updated unless the <link linkend="data-sources-options">setting for that source</link> allows results to overwrite existing information. For <link linkend="externalexec">external scripts</link>, an update field must be specified in the source options.
</para>
<para>
The entry updating may be started via the right-click menu for an entry, or by using the <menuchoice><guimenu>Collection</guimenu><guimenuitem>Update Entry</guimenuitem></menuchoice> menu item.
</para>
</sect2>
</sect1>
<sect1 id="fields-dialog">
<title>Editing Fields</title>
<para>
The &fields-dialog; allows you to add new fields to the collection, to modify the existing ones, or to delete fields altogether.
</para>
<screenshot>
<screeninfo>The &appname; &fields-dialog;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="fields-dialog.png"/></imageobject>
<textobject><phrase>The &appname; &fields-dialog;</phrase></textobject>
</mediaobject>
</screenshot>
<sect2 id="field-list">
<title>Field List</title>
<para>
On the left side of the dialog is the list of the current fields. Modified fields are shown in bold italics. The buttons below the list will add or delete a field, and the arrows can be used to change their order. The order of the fields in the list is important because the &entry-editor; uses the order for its layout. For each category, the fields will be laid out from left to right, according to the top-to-bottom order of the fields in the list.
</para>
</sect2>
<sect2 id="field-properties">
<title>Field Properties</title>
<para>
A field is defined by its title, type, category, description, and possibly a default value or some allowed values. The title is used everywhere to refer to the field in the user interface. The &entry-editor; uses it to prompt for values. The &detailed-view; uses it as a column header. The different types of fields are <link linkend="field-types">explained in the Field Types section</link>. The description is used as a tooltip in the &entry-editor;, perhaps to provide an explanation of the field's contents. In addition, for <link linkend="dependent"><emphasis>Dependent</emphasis></link> fields, the description is used to format the field's value. The default value is automatically added when creating a new entry. The list of allowed values for <link linkend="choice"><emphasis>Choice</emphasis></link> fields should be separated by a semi-colon.
</para>
<para>
New fields may be any type, but changing the type of existing fields is restricted to compatible types, as shown in the table below:
</para>
<table>
<title>Allowable Field Type Changes</title>
<tgroup cols="2">
<thead>
<row>
<entry>Current Type</entry>
<entry>New Type Allowed</entry>
</row>
</thead>
<tbody>
<row>
<entry><emphasis>Simple Text</emphasis></entry>
<entry><emphasis>Simple Text</emphasis>, <emphasis>Paragraph</emphasis>, <emphasis>Number</emphasis>, <emphasis>URL</emphasis>, <emphasis>Table</emphasis></entry>
</row>
<row>
<entry><emphasis>Paragraph</emphasis></entry>
<entry><emphasis>Simple Text</emphasis>, <emphasis>Paragraph</emphasis></entry>
</row>
<row>
<entry><emphasis>Choice</emphasis></entry>
<entry><emphasis>Simple Text</emphasis>, <emphasis>Paragraph</emphasis>, <emphasis>Choice</emphasis>, <emphasis>Number</emphasis>, <emphasis>URL</emphasis>, <emphasis>Table</emphasis></entry>
</row>
<row>
<entry><emphasis>Checkbox</emphasis></entry>
<entry><emphasis>Simple Text</emphasis>, <emphasis>Paragraph</emphasis>, <emphasis>Checkbox</emphasis>, <emphasis>Number</emphasis>, <emphasis>URL</emphasis>, <emphasis>Table</emphasis></entry>
</row>
<row>
<entry><emphasis>Number</emphasis></entry>
<entry><emphasis>Simple Text</emphasis>, <emphasis>Paragraph</emphasis>, <emphasis>Number</emphasis>, <emphasis>URL</emphasis>, <emphasis>Table</emphasis></entry>
</row>
<row>
<entry><emphasis>URL</emphasis></entry>
<entry><emphasis>Simple Text</emphasis>, <emphasis>Paragraph</emphasis>, <emphasis>Number</emphasis>, <emphasis>URL</emphasis>, <emphasis>Table</emphasis></entry>
</row>
<row>
<entry><emphasis>Date</emphasis></entry>
<entry><emphasis>Simple Text</emphasis>, <emphasis>Date</emphasis></entry>
</row>
<row>
<entry><emphasis>Table</emphasis></entry>
<entry><emphasis>Simple Text</emphasis>, <emphasis>Paragraph</emphasis>, <emphasis>Table</emphasis></entry>
</row>
<row>
<entry><emphasis>Image</emphasis></entry>
<entry><emphasis>Image</emphasis></entry>
</row>
<row>
<entry><emphasis>Rating</emphasis></entry>
<entry><emphasis>Choice</emphasis>, <emphasis>Rating</emphasis></entry>
</row>
<row>
<entry><emphasis>Dependent</emphasis></entry>
<entry><emphasis>Dependent</emphasis></entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2 id="field-formatting">
<title>Field Formatting</title>
<para>
&appname; provides some capability for automatic formatting of field values. The simplest is auto-capitalization, which capitalizes every word except the articles. Title formatting moves certain articles from the beginning to the end of the field, for example, changing "The Return of the King" to "Return of the King, The". The title articles are configurable. Finally, name formatting tries to break up the string so that the last, or family, name of the person is shown first. Name prefixes and suffixes are configurable. Also, the special <emphasis><link linkend="people-group">People</link></emphasis> group uses all fields with name formatting, even if the global setting is turned off.
</para>
<para>
All automatic formatting can be disabled by changing the global options in the <link linkend="general-options">&config-dialog;</link>. Globally, capitalization is a distinct option from formatting, so a title can be auto-formatted without being capitalized. Not all field types allow auto-formatting.
</para>
<table>
<title>Formatting Examples</title>
<tgroup cols="5">
<thead>
<row>
<entry>Format Type</entry>
<entry>Field Value</entry>
<entry>Auto-Capitalized</entry>
<entry>Auto-Formatted</entry>
<entry>Auto-Capitalized &amp; Auto-Formatted</entry>
</row>
</thead>
<tbody>
<row>
<entry><emphasis>Title</emphasis></entry>
<entry>the return of the king</entry>
<entry>The Return of the King</entry>
<entry>return of the king, the</entry>
<entry>Return of the King, The</entry>
</row>
<row>
<entry><emphasis>Name</emphasis></entry>
<entry>tom swift, jr.</entry>
<entry>Tom Swift, Jr.</entry>
<entry>swift, jr., tom</entry>
<entry>Swift, Jr., Tom</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2 id="field-options">
<title>Field Options</title>
<para>
Fields also have three general options. If auto-completion is enabled, &appname; caches the values for each field, and the &entry-editor; offers automatic completion, using the standard &kde; settings. Not all field types allow auto-completion. &appname; also needs to know if a field may have multiple values or may be used to group the entries. A semi-colon is used to separate multiple values when editing an entry;
</para>
<para>
For efficiency, do not enable auto-completion unless you need it for the fields. The more fields with auto-completion in the collection, the slower it takes &appname; to load the file.
</para>
</sect2>
</sect1>
<sect1 id="filter-dialog">
<title>Filtering Entries</title>
<para>
The &filter-dialog; allows you to limit the entries visible in the <link linkend="detailed-view">&detailed-view;</link>
to those that match one or more filter rules.
The filter may be used to find the entries that meet all of the rules in the dialog, or just to
find those that meet any of them. The &filter-dialog; is also useful for advanced searching within a collection.
</para>
<screenshot>
<screeninfo>The &appname; &filter-dialog;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="filter-dialog.png"/></imageobject>
<textobject><phrase>The &appname; &filter-dialog;</phrase></textobject>
</mediaobject>
</screenshot>
<para>
Each row contains a single filter rule. Select the field to match in the first box in the row, then select a matching rule in the center. Rules may match values that contain a certain word, or are exactly equal. A regular expression may also be used to match entries, in which case the <guibutton>Edit...</guibutton> button becomes active for editing the expression. Finally, the word or string to match should be entered in the text box.
</para>
<para>
Up to eight (8) rules may be used in the filter. The <guibutton>More</guibutton> and <guibutton>Fewer</guibutton> buttons may be used to add or remove rules.
</para>
<para>
Filters may be saved, so that all entries which match are grouped together in the &filter-view;. The view is dynamic, so ad entries are added or modified, the group is automatically updated. To save the filter, enter a name in the text box, and lick the <guibutton>Save Filter</guibutton> button.
</para>
<para>
Previously saved filters may be modified by right-clicking on the filter item in the &filter-view; and selecting <guilabel>Modify Filter</guilabel>. The &filter-dialog; is opened, and changes may be made to the filter's name or rules.
</para>
<informalexample>
<para>
To find the science fiction books you've not read, check the <guilabel>Match all of the following</guilabel>
button, set the first rule to <emphasis>Genre contains Science Fiction</emphasis> and the second to <emphasis>Read does not contain true</emphasis>. (For <link linkend="bool">Checkbox</link> fields, the internal value is <emphasis>true</emphasis>).
</para>
<para>
To find the books by Bujold or Weber, check the <guilabel>Match any of the following</guilabel>
button, set the first rule to <emphasis>Author contains Bujold</emphasis> and the second to <emphasis>Author contains Weber</emphasis>.
</para>
</informalexample>
</sect1>
<sect1 id="report-dialog">
<title>Generating Reports</title>
<para>
&appname; can generate various reports about your current collection. The &report-dialog; checks for all &xslt; templates in the installation path and in <filename class="directory">$<envar>KDEHOME</envar>/share/apps/tellico/report-templates/</filename>. So you can create new ones, and they're automatically found and included as options in the &report-dialog;. Some complex reports may take a while to generate for large collections.
</para>
<para>
The templates that are installed with &appname; include a list of titles only, the default column view, a group view, a summary of all of the groups and the most popular values in those groups, a loan report, and a large report with cover images. Select the desired template and click the <guibutton>Generate</guibutton> button. Any report may also be printed or saved to an &html; file.
</para>
<screenshot>
<screeninfo>The &appname; &report-dialog;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="report-dialog.png"/></imageobject>
<textobject><phrase>The &appname; &report-dialog;</phrase></textobject>
</mediaobject>
</screenshot>
<para>
The entries included in the report will be limited to the ones in the &detailed-view; so if you've got an active filter, the &report-dialog; will use it.
</para>
</sect1>
<sect1 id="loan-dialog">
<title>Loan Tracking</title>
<para>
&appname; supports tracking loans of any entries in the collection. The &loan-dialog; may be opened by using the <guilabel>Check-out</guilabel> menu item, or right-clicking on an entry. Multiple entries may be checked-out at once.
</para>
<para>
The borrower's name may be directly entered, or pulled from the default &kde; address book by clicking on the button next to the name entry. The check-out date is assumed to be the current date, but may be changed. The due date is optional, and other notes may be added about the loan.
</para>
<para>
If a due date is entered, and &appname; is compiled with libkcal support, a loan reminder may be added to the default &kde; calendar as a To-Do item. &korganizer; can be used to view those items.
</para>
<para>
When an entry is checked-out, the <emphasis>Loaned</emphasis> field is set to <emphasis>true</emphasis>. If no loaned field exists in the collection, one is added. Do not modify that field directly! Entries on-loan may be checked-in using the menu item, or right-clicking on an entry in the &loan-view;.
</para>
<screenshot>
<screeninfo>The &appname; &loan-dialog;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="loan-dialog.png"/></imageobject>
<textobject><phrase>The &appname; &loan-dialog;</phrase></textobject>
</mediaobject>
</screenshot>
</sect1>
<sect1 id="tips">
<title>General Tips</title>
<para>
These are the list of tips contained in the "Tip of the Day" list for &appname;.
</para>
<tip>
<para>If a book has more than one author, you should separate
their names by a semi-colon, so that Tellico will know to split them
and use them separately. Any other field which allows multiple values should be entered the
same way. with a semi-colon (;) separating each value.
</para>
</tip>
<tip>
<para>You can change which fields are shown in the list view by
right-clicking on the column header.
</para>
</tip>
<tip>
<para>You can add, edit, or modify the fields in the collection using
the &fields-dialog;. The arrow buttons below the field list can be used to change the
position of the field in the list, which affects the placement in the entry
editor.
</para>
</tip>
<tip>
<para>If you want to filter by a <link linkend="bool"><emphasis>Checkbox</emphasis></link> field, a value of
"true" should be used. If you'd like to filter to
show only the science fiction books which you've not read, for
example, check the <guilabel>Match all of the
following</guilabel> button, set the first rule to have "Genre"
"contains" "Science Fiction" (no quotes) and the second rule to
have "Read" "does not contain" "true" (no quotes).
</para>
</tip>
<tip>
<para>If a non-word character is used in the Quick Filter, the text is
interpreted as a regular expression. To show only books which are by Weber or Bujold, for example, then
type "weber|bujold" (no quotes) in the filter box.
</para>
</tip>
<tip>
<para>You can edit more than one entry at a time, by holding down
the &Shift; or &Ctrl; key and selecting multiple entries.
</para>
</tip>
<tip>
<para>You can convert an existing book collection to a bibliography,
which can then be exported to bibtex or Bibtexml format.
</para>
</tip>
<tip>
<para>If more than one field is formatted as a name, then an additional
group named "People" is added to the collection, allowing authors and editors
to be sorted or printed together, for example.
</para>
</tip>
<tip>
<para>You can modify the appearance of the printed output by modifying
the <filename>tellico-printing.xsl</filename> file. The file generates &html;, and the &css;
within the stylesheet governs things like the font, the margins, etc.
</para>
</tip>
<tip>
<para>Double-clicking an entry item opens the &entry-editor;.
</para>
</tip>
<tip>
<para>You can add &html; tags to any <link linkend="para"><emphasis>Paragraph</emphasis></link> field for formatting, such as
&lt;b&gt;<emphasis role="bold">bold</emphasis>&lt;/b&gt; or &lt;i&gt;<emphasis>italic</emphasis>&lt;/i&gt;.
</para>
</tip>
<tip>
<para>In the &detailed-view;, you can press a letter on the
keyboard to skip to the next entry that starts with that letter.
</para>
</tip>
<tip>
<para>You can use Dependent Fields to combine multiple separated fields
into a single field. Just select the type Dependent and use a description
similar to "<userinput>Value: %{fielda}%{fieldb}</userinput>" where %{...} gets replaced with the
appropriate field value. This is useful to collect multiple values in a
single field, e.g. for better grouping, and to combine fields of different
types by respecting proper sorting at the same time. Consider for example
a number field followed by a text subfield with entries 3b, 14a.
</para>
</tip>
</sect1>
</chapter>

Binary file not shown.

@ -0,0 +1,362 @@
<chapter id="hacking">
<title>Hacking &appname;</title>
<para>
In the spirit of Free Software, you're welcome to hack on &appname; as much as you like. You should be able to write scripts to import, export, or modify data very easily. This chapter gives you more information about doing that.
</para>
<sect1 id="file-format">
<title>File Format</title>
<para>
The default &appname; data file is a zip archive, normally with a <literal role="extension">.tc</literal> file extension. Inside the archive is a top-level <filename>tellico.xml</filename> file. Images may be included inside the <filename>images/</filename> directory in the archive., or they may be included in the &xml; data directly in a base64 encoding. Images may also be saved inside the application data directory, in which case, they are not in the data file at all. &appname; can also load the &xml; file, by itself, uncompressed.
</para>
<sect2 id="xml-format">
<title>&xml; Data</title>
<para>
</para>
<sect3 id="coll-xml-data">
<title>Collection</title>
<programlisting>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tellico PUBLIC "-//Robby Stephenson/DTD Tellico V9.0//EN" "http://periapsis.org/tellico/dtd/v9/tellico.dtd">
<tellico xmlns="http://periapsis.org/tellico/" syntaxVersion="9">
<collection title="My Books" type="2">
</collection>
</tellico>
]]>
</programlisting>
<para>
The file begins with the required &xml; declaration and encoding, followed by the doctype. When a new field type is added or additional properties are set on the default fields, the doctype DTD version is incremented. &appname; is always able to open and read any previous DTD version, but will save files in the current version. The DTD location does point to an actual DTD file.
</para>
<para>
The top-level element is a <markup>&lt;tellico&gt;</markup> element, containing the default namespace declaration and the syntax version of the file, which should always match the DTD.
</para>
<para>
The <markup>&lt;tellico&gt;</markup> element contains one <markup>&lt;collection&gt;</markup> element. Multiple collections are ignored, for now. The <markup>title</markup> attribute contains the collection title, while the <markup>type</markup> specifies what kinds of entries are contained in the collection. The allowable types are in <link linkend="collection-type-values">listed in a later section</link>. An optional <markup>entryTitle</markup> attribute may be used to specify the title of the entries for a custom collection, and should be plural.
</para>
</sect3>
<sect3 id="fields-xml-data">
<title>Fields</title>
<programlisting>
<![CDATA[
<fields>
<field flags="8" title="Title" category="General" format="1" type="1" name="title" />
<field flags="7" title="Author" category="General" format="2" type="1" name="author" />
<field flags="2" title="Binding" category="General" allowed="Hardback;Paperback;Trade Paperback;E-Book;Magazine;Journal" format="4" type="3" name="binding" />
<field flags="6" title="Publisher" category="Publishing" format="0" type="1" name="publisher" />
<field flags="4" title="Edition" category="Publishing" format="0" type="1" name="edition" />
<field flags="3" title="Copyright Year" category="Publishing" format="4" type="6" name="cr_year" />
<field flags="2" title="Publication Year" category="Publishing" format="4" type="6" name="pub_year" />
<field flags="0" title="ISBN#" category="Publishing" format="4" type="1" name="isbn" description="International Standard Book Number" />
<field flags="7" title="Genre" category="Classification" format="0" type="1" name="genre" />
<field flags="7" title="Keywords" category="Classification" format="0" type="1" name="keyword" />
<field flags="0" title="Front Cover" category="Front Cover" format="4" type="10" name="cover" />
<field flags="0" title="Comments" category="Personal" format="4" type="1" name="comments" />
</fields>
]]>
</programlisting>
<para>
All of the fields are defined inside a <markup>&lt;fields&gt;</markup> element, of which there can be only one. All of the information for a field, except for any extended properties, are included as attributes of the <markup>&lt;field&gt;</markup> element. The allowable values for the <markup>flags</markup>, <markup>format</markup>, and <markup>type</markup> attributes are given in a <link linkend="field-type-values">following section</link>.
</para>
<para>
A <markup>&lt;field&gt;</markup> element with a name attribute equal to <emphasis>_default</emphasis> tells &appname; to include all the default fields for that collection type.
</para>
</sect3>
<sect3 id="entries-xml-data">
<title>Entries</title>
<programlisting>
<![CDATA[
<entry>
<title>C++ Programming Language, The</title>
<authors>
<author>Stroustrup, Bjarne</author>
</authors>
<publisher>Addison-Wesley Pub Co</publisher>
<edition>3rd</edition>
<pub_year>1997</pub_year>
<isbn>0-201-88954-4</isbn>
<genres>
<genre>Non-Fiction</genre>
</genres>
<keywords>
<keyword>Programming</keyword>
<keyword>Computers</keyword>
</keywords>
<cover>cf65a2f023b6cb9e9233323dca10ac7c.jpeg</cover>
</entry>
]]>
</programlisting>
<para>
For every field in the collection, an <markup>&lt;entry&gt;</markup> may contain an element whose name is identical to the field name. If multiple values are allowed for the field, then the letter <emphasis>s</emphasis> is added to the field name to create an element, and each value is added as a child of the element, as in the case of the author, genre, and keyword fields above.
</para>
<para>
As a result, if additional fields are added to the collection, the date file will no longer conform to the DTD. However, &appname; uses a non-validating &xml; parser, so additional fields do not cause problems.
</para>
</sect3>
<sect3 id="images-xml-data">
<title>Images</title>
<programlisting>
<![CDATA[
<images>
<image width="111" format="JPEG" height="140" id="cf65a2f023b6cb9e9233323dca10ac7c.jpeg" />
</images>
]]>
</programlisting>
<para>
Inside the <markup>&lt;images&gt;</markup> element, each image referenced by an entry is listed, along with attributes describing the image's size, format, and id. If the image is contained inside the Zip file, the element is empty. Otherwise, the image data may be contained in the &xml; stream as base64-encoded text.
</para>
</sect3>
</sect2>
</sect1>
<sect1 id="collection-type-values">
<title>Collection Type Values</title>
<para>
The type of collection is given in the type attribute of the collection element. The value is equal to the <type>Type</type> enum value in <filename>src/collection.h</filename>.
</para>
<table>
<title>Collection Type Values</title>
<tgroup cols="2">
<thead>
<row>
<entry>Collection Type</entry>
<entry>Value</entry>
</row>
</thead>
<tbody>
<row><entry>Custom Collection</entry><entry>1</entry></row>
<row><entry>Book Collection</entry><entry>2</entry></row>
<row><entry>Video Collection</entry><entry>3</entry></row>
<row><entry>Music Collection</entry><entry>4</entry></row>
<row><entry>Bibliography</entry><entry>5</entry></row>
<row><entry>Comic Book Collection</entry><entry>6</entry></row>
<row><entry>Wine Collection</entry><entry>7</entry></row>
<row><entry>Coin Collection</entry><entry>8</entry></row>
<row><entry>Stamp Collection</entry><entry>9</entry></row>
<row><entry>Trading Card Collection</entry><entry>10</entry></row>
<row><entry>Video Game Collection</entry><entry>11</entry></row>
<row><entry>File Catalog</entry><entry>12</entry></row>
<row><entry>Board Game Collection</entry><entry>13</entry></row>
</tbody>
</tgroup>
</table>
</sect1>
<sect1 id="field-type-values">
<title>Field Type Values</title>
<para>
&appname; will include all the default fields for a collection if the first field element has the name <emphasis>_default</emphasis>. For <emphasis>Paragraph</emphasis>, <emphasis>Table</emphasis>, or <emphasis>Image</emphasis> fields, the field category should be identical to the field title.
</para>
<para>
The type of field is given in the type attribute of the field element. The value is equal to the <type>FieldType</type> enum value in <filename>src/field.h</filename>. <emphasis>ReadOnly</emphasis> fields were intended for fields which should be retained in the collection, but which should not be editable by the user, such as some fields added when importing a collection from another file format. It is not currently used.
</para>
<table>
<title>Field Type Values</title>
<tgroup cols="2">
<thead>
<row>
<entry>Field Type</entry>
<entry>Value</entry>
</row>
</thead>
<tbody>
<row><entry>Simple Text</entry><entry>1</entry></row>
<row><entry>Paragraph</entry><entry>2</entry></row>
<row><entry>Choice</entry><entry>3</entry></row>
<row><entry>Checkbox</entry><entry>4</entry></row>
<row><entry><emphasis>ReadOnly</emphasis></entry><entry>5</entry></row>
<row><entry>Number</entry><entry>6</entry></row>
<row><entry>URL</entry><entry>7</entry></row>
<row><entry>Single-Column Table</entry><entry>8</entry></row>
<row><entry>Image</entry><entry>10</entry></row>
<row><entry>Dependent</entry><entry>11</entry></row>
<row><entry>Date</entry><entry>12</entry></row>
<row><entry>Rating</entry><entry>14</entry></row>
</tbody>
</tgroup>
</table>
<para>
The field may have different flags set, given as a bitwise OR'd value in the flags attribute on the field element. The flag for preventing the user from deleting a field is intended for such things as the citation key for bibliographic entries.
</para>
<table>
<title>Field Flag Values</title>
<tgroup cols="2">
<thead>
<row>
<entry>Field Flags</entry>
<entry>Value</entry>
</row>
</thead>
<tbody>
<row><entry>Allow Multiple Values</entry><entry><constant>0x01</constant></entry></row>
<row><entry>Allow Grouping</entry><entry><constant>0x02</constant></entry></row>
<row><entry>Allow Completion</entry><entry><constant>0x04</constant></entry></row>
<row><entry><emphasis>Disallow Deleting</emphasis></entry><entry><constant>0x08</constant></entry></row>
</tbody>
</tgroup>
</table>
<para>
The format of the field is given in the format attribute on the field element. <emphasis>Date Formatting</emphasis> is not currently used. Grouping by <emphasis>People</emphasis> uses all the fields which use <emphasis>Name Formatting</emphasis>.
</para>
<table>
<title>Field Format Values</title>
<tgroup cols="2">
<thead>
<row>
<entry>Field Format</entry>
<entry>Value</entry>
</row>
</thead>
<tbody>
<row><entry>Capitalization Only</entry><entry>0</entry></row>
<row><entry>Title Formatting</entry><entry>1</entry></row>
<row><entry>Name Formatting</entry><entry>2</entry></row>
<row><entry><emphasis>Date Formatting</emphasis></entry><entry>3</entry></row>
<row><entry>No Formatting</entry><entry>4</entry></row>
</tbody>
</tgroup>
</table>
</sect1>
<sect1 id="hidden-options">
<title>Hidden Configuration Options</title>
<para>
&appname; has some additional configuration options that are not visible in the &config-dialog;. They are not important enough to warrant cluttering the dialog with more settings, but as they represent options which may appeal to various users, the application does read them from the configuration file.
</para>
<para>
The settings for &appname; are saved in a file in the user's home folder, namely <filename>$<envar>KDEHOME</envar>/share/config/tellicorc</filename>. Within that file, settings are put in groups, which appear with bracketed names, such as [General Options]. To add a setting to the <emphasis>General Options</emphasis> group, find the line in the settings file with that group name. If it does not appear, then create it yourself by adding a line saying [General Options]. Then, the setting can be added underneath the group name.
</para>
<sect2 id="hidden-general-options">
<title>[General Options]</title>
<para>
These settings should be placed in the <emphasis>General Options</emphasis> group.
</para>
<sect3>
<title>Max Icon Size</title>
<para>
The maximum size of the icons in the &icon-view; may be changed with this setting. The default value is 96. The size must be in the range of 32 to 128.
</para>
</sect3>
<sect3>
<title>Example</title>
<informalexample>
<para><userinput>Max Icon Size=72</userinput></para>
</informalexample>
</sect3>
</sect2>
<sect2 id="hidden-bibtex-options">
<title>[Options - bibtex]</title>
<para>
These settings should be placed in the <emphasis>Options - bibtex</emphasis> group.
</para>
<sect3>
<title>lyxpipe</title>
<para>
This setting is for the location of the lyxpipe for sending bibliographic citations. It should not include the <literal role="extension">.in</literal> suffix.
</para>
</sect3>
<sect3>
<title>Example</title>
<informalexample>
<para><userinput>lyxpipe=$HOME/.lyx/lyxpipe</userinput></para>
</informalexample>
</sect3>
</sect2>
<sect2 id="hidden-export-options-pilotdb">
<title>[Export Options - PilotDB]</title>
<para>
These settings should be placed in the <emphasis>Export Options - PilotDB</emphasis> group.
</para>
<sect3>
<title>Charset</title>
<para>
The encoding of the exported data within the PilotDB file may be changed with this setting. The default value is the character set for the user's locale.
</para>
</sect3>
<sect3>
<title>Example</title>
<informalexample>
<para><userinput>Charset=Windows-1250</userinput></para>
</informalexample>
</sect3>
</sect2>
</sect1>
<sect1 id="bibtex-translation">
<title>Bibtex Character Translation</title>
<para>
When bibtex files are imported or exported, certain characters are translated between their TeX equivalents and the Unicode characters. Those character mappings are contained in the <filename>bibtex-translation.xml</filename> file, located in the installation data directory. The mappings can be modified, as desired. The key element contains the Unicode character, and the string elements within contain the TeX equivalents, which may be a one-to-many mapping. The first one is the one used when exporting to bibtex.
</para>
<programlisting>
<![CDATA[
<key char="À">
<string>{\`A}</string>
<string>\`{A}</string>
</key>
]]>
</programlisting>
</sect1>
<sect1 id="xslt-tricks">
<title>XSLT Tricks</title>
<para>
Here are some tips for writing XSLT to parse &appname; &xml; data: (TBD).
</para>
</sect1>
</chapter>

Binary file not shown.

@ -0,0 +1,452 @@
<chapter id="importing-exporting">
<title>Importing and Exporting Data</title>
<para>
&appname; is able to import and export a wide variety of data files, as well as search various Internet sites for information.
</para>
<sect1 id="internet-search">
<title>Importing from the Internet</title>
<para>
&appname; is able to search various Internet sites using the &fetch-dialog;. Entries may be directly imported and added to your current collection. The various providers are configured via the <link linkend="data-sources-options">Data Sources Options</link>.
</para>
<para>
Searches may use five different criteria: <guilabel>Title</guilabel>, <guilabel>Person</guilabel>, <guilabel>ISBN</guilabel>, <guilabel>UPC/EAN</guilabel>, or <guilabel>Keyword</guilabel>. Not all criteria are available for certain data sources.</para>
<para>Once a search is initiated, the <guibutton>Search</guibutton> button becomes <guibutton>Stop</guibutton> which will end a search. As results are found, they are added to the list directly under the search box, where selecting an item will show the result without adding it to the collection. Clicking the <guibutton>Add Entry</guibutton> button will add all the selected items to your collection. If the data source has more results than were initially requested, the <guibutton>Get More Results</guibutton> button becomes active. Clicking <guibutton>Clear</guibutton> will remove all the current results and reset the search.
</para>
<screenshot>
<screeninfo>The &appname; &fetch-dialog;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="fetch-dialog.png"/></imageobject>
<textobject><phrase>The &appname; &fetch-dialog;</phrase></textobject>
</mediaobject>
</screenshot>
<para>
Only entries that match the current collection type will be found. The <guilabel>Description</guilabel> column provides additional information about the entry, in order to differentiate between videos in different formats, or books in different bindings, for example. Once an entry is successfully added to the collection, a checkmark is added to the first column in the list.
</para>
<para>
Multiple entries can be added at once by using the standard &kde; method for multiple selection, which usually involves holding the &Shift; or &Ctrl; key when clicking on an item.
</para>
<para>
To facilitate the use of barcode scanners, searches can include multiple ISBN values. Selecting the <guilabel>Multiple ISBN search</guilabel> check box will disable the search box and enable the <guibutton>Edit ISBN list...</guibutton> button, which will open a multi-line text entry box. Each ISBN should be entered on a line by itself. After closing the box, each ISBN will be validated for correct formatting. The ISBN validation is able to convert 13-digit EAN values, as well as full <acronym>UPC</acronym> codes, to the proper formatting. The ISBN list may also be read from a text file.
</para>
</sect1>
<sect1 id="importing">
<title>Importing Data</title>
<para>
&appname; offers three different actions when importing data. <guilabel>Replace current collection</guilabel> will close the current collection, and create a new one with the data from the imported file. <guilabel>Append to current collection</guilabel> tells &appname; to add all the entries in the imported collection to the current one, and to add any fields which don't currently exist. The <guilabel>Merge collection</guilabel> action is the same as appending, except that each imported entry is compared to the current ones, and any identical entries are skipped. Future plans include an improved heuristic for identifying matching entries, but currently, except for music collections, they must be identical for every field. Music collections compare the artist and album only, and the tracks are merged for matching entries. The <link linkend="importing-audio-files">audio file importer</link> is able to correctly build track lists by merging entries.
</para>
<sect2 id="importing-tellico">
<title>Importing &appname; Data</title>
<para>
Other &appname; data files may be imported. Replacing the current collection by importing a &appname; file is the same thing as just opening the file itself. The value of importing &appname; data is primarily for appending or merging two collections together.
</para>
</sect2>
<sect2 id="importing-csv">
<title>Importing CSV Data</title>
<para>
Comma-separated values (<acronym>CSV</acronym>) are a common way of importing and exporting tabular data. Each field value is separated by a comma, with one entry per line. The field titles may be included in the first line. The CSV importer is not limited to using a comma as the separator. Any character or string may be used.
</para>
<screenshot>
<screeninfo>The CSV Import Dialog</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="csv-dialog.png"/></imageobject>
<textobject><phrase>The CSV Import Dialog</phrase></textobject>
</mediaobject>
</screenshot>
<para>
First, select the type of collection that you are importing. If you are appending or merging to your open collection, the type is limited to your current collection type. If the first line of the CSV file contains the field titles, click the check box and the importer will automatically compare the titles against the fields in the current collection. If a field title matches, the header for that column changes to show that the column has been assigned to that field. If the file uses a delimiter other than a comma, be sure to change that option accordingly.
</para>
<para>
In order for &appname; to properly import the file, it must know which field corresponds to each column. <emphasis>If the column only has a number in the header, the data in that column will not be imported.</emphasis> You should assign fields to each column by selecting a column, either by clicking in it or changing the column number itself, then selecting the field to assign from the drop down box and clicking the <guibutton>Assign Field</guibutton> button. If you need to add a new field to the collection, the last item in the dropdown list opens the <link linkend="fields-dialog">&fields-dialog;</link>.
</para>
<para>
Only the first five lines of the imported CSV file are shown in the dialog.
</para>
</sect2>
<sect2 id="importing-audio">
<title>Importing Audio CD Data</title>
<para>
&appname; is able to use the <ulink url="http://freedb.org">freedb.org</ulink> service to lookup
information about a <acronym>CD</acronym>, including the track list. Depending on your distribution,
settings for access to the service may be set in the &kde; Control Center. The CD artist, title, genre,
year, and track listing are all added.
</para>
<para>
In addition, if the disc contains CD-Text, that information is read and added to the imported entry.
</para>
</sect2>
<sect2 id="importing-audio-files">
<title>Importing Audio File Metadata</title>
<para>
&appname; is able to scan a folder and read the tags for common audio file formats, such as <literal role="extension">mp3</literal> and <literal role="extension">ogg</literal>. The songs are entered in a music collection, where each entry is an album. If the song files contain the track number, the song name is inserted in the correct spot in the track list. The artist and genre information is also added to the entry. If the song tags contain comments, they are appended to the comments field in the entry, preceded by the file name.
</para>
<para>
In addition, if a folder contains a <filename>.directory</filename> file and the folder name matches an album title, the <literal>Icon</literal> entry in the desktop file is used as the cover image for the album.
</para>
<para>
The audio file metadata importer can recursively scan a folder to find all audio files in any subfolder, though symbolic links are not followed. &appname; uses the <ulink url="http://developer.kde.org/~wheeler/taglib.html">TagLib library</ulink> for reading the audio file metadata, and so can import data from any file type that TagLib understands.
</para>
</sect2>
<sect2 id="importing-alexandria">
<title>Importing Alexandria Libraries</title>
<para>
<application><ulink url="http://alexandria.rubyforge.org">Alexandria</ulink></application> is an alternate book collection manager for the <ulink url="http://www.gnome.org">GNOME</ulink> desktop environment. The importer offers a choice of importing any of the libraries found in <filename class="directory">$<envar>HOME</envar>/.alexandria/</filename>.
</para>
</sect2>
<sect2 id="importing-amc">
<title>Importing Ant Movie Catalog Data</title>
<para>
<application><ulink url="http://www.antp.be/software/moviecatalog/">Ant Movie Catalog</ulink></application> is an alternate movie collection manager.
</para>
</sect2>
<sect2 id="importing-bibtex">
<title>Importing Bibtex Data</title>
<para>
<ulink url="http://en.wikipedia.org/wiki/Bibtex">Bibtex</ulink> is a bibliography format used with the LaTeX document preparation system. Various type of bibliographic references may be included in the file. &appname; imports bibtex files as a Bibliographic collection.
</para>
<para>
If the bibtex importer encounters fields in the file which are not in the default bibliography collection, they are added as <link linkend="line">Simple Text</link> fields, with two exceptions. If the field value contains more than 100 characters, it becomes a <link linkend="para">Paragraph</link> field. If the field value appears to contain a &URL; or a file reference, then a <link linkend="url">URL</link> field is created. &appname; uses an internal copy of the <ulink url="http://www.gerg.ca/software/btOOL/">btparse library</ulink> for parsing the bibtex files.
</para>
</sect2>
<sect2 id="importing-bibtexml">
<title>Importing Bibtexml Data</title>
<para>
<ulink url="http://bibtexml.sf.net">Bibtexml</ulink> is an &xml; representation of bibtex data, and the data from the imported bibtexml file is treated in the same way as bibtex data would be.
</para>
</sect2>
<sect2 id="importing-delicious-library">
<title>Importing Delicious Library Data</title>
<para>
<application><ulink url="http://www.delicious-monster.com/">Delicious Library</ulink></application> is an alternate collection manager for the Mac OS X desktop. &appname; imports a subset of the data used by Delicious Library.
</para>
</sect2>
<sect2 id="importing-gcstar">
<title>Importing GCstar Data</title>
<para>
<application><ulink url="http://www.gcstar.org">GCstar</ulink></application> is an alternate collection manager. Importing books, movies, music, coins, games, board games and wine collections is currently supported.
</para>
<para>
&appname; can also import <application>GCfilms</application> data files. <application><ulink url="http://home.gna.org/gcfilms/">GCfilms</ulink></application> is the predecessor of <application>GCstar</application> and was an alternate movie collection manager. Normally, <application>GCfilms</application> data files are found in <filename class="directory">$<envar>HOME</envar>/.local/share/gcfilms/</filename>.
</para>
</sect2>
<sect2 id="importing-griffith">
<title>Importing Griffith Data</title>
<para>
<application><ulink url="http://griffith.berlios.de/">Griffith</ulink></application> is an alternate video collection manager. &appname; is able to import most data from a Griffith database.
</para>
</sect2>
<sect2 id="importing-mods">
<title>Importing MODS Data</title>
<para>
<acronym><ulink url="http://www.loc.gov/standards/mods/">MODS</ulink></acronym> is a format for representing various types of media collections. Currently, only books are imported by &appname;, as a Bibliographic collection.
</para>
</sect2>
<sect2 id="importing-pdf">
<title>Importing PDF Data</title>
<para>
If &appname; was compiled with <emphasis>exempi</emphasis> or <emphasis>poppler</emphasis> support, metadata from PDF files can be imported. Metadata may include title, author, and date information, as well as bibliographic identifiers which are then used to update other information.
</para>
</sect2>
<sect2 id="importing-ris">
<title>Importing RIS Data</title>
<para>
The <ulink url="http://www.adeptscience.co.uk/kb/article/A626"><acronym>RIS</acronym> format</ulink> is a bibliographic file format used by <application>Reference Manager</application> and others. &appname; imports RIS files as a Bibliographic collection.
</para>
</sect2>
<sect2 id="importing-referencer">
<title>Importing Referencer Data</title>
<para>
<application><ulink url="http://icculus.org/referencer/">Referencer</ulink></application> is a document organizer and bibliography manager for the GNOME desktop. &appname; will import most of the data found in a Referencer database.
</para>
</sect2>
<sect2 id="importing-file-listing">
<title>Importing File Listings</title>
<para>
The best way to create a <link linkend="file-catalog">File Catalog</link> is to import the contents of a folder. The folder may be searched recursively, to add all files found within. This importer is most useful for backup listings and media cataloging, such as <acronym>CD</acronym> or <acronym>DVD</acronym> listings. In addition, image previews of the file contents may be generated, although it can take some time to read a large number of files. The file previews are same as those shown in the &kde; file manager.
</para>
</sect2>
<sect2 id="importing-xslt">
<title>Importing &xml; Data via XSLT</title>
<para>
Any &xml; file may be imported into &appname; provided an XSL stylesheet is available to convert the file to &appname; format. &appname; automatically loads the stylesheet and performs the XSLT processing needed to load the file.
</para>
</sect2>
</sect1>
<sect1 id="drag-n-drop">
<title>Drag and Drop</title>
<para>Dragging data files to the main &appname; window and dropping them will import the files, just as if the <link linkend="importing">import command</link> was made from the menus. Drag and drop works for the following file formats: Tellico, Bibtex, RIS, and PDF. Importing multiple files at once is also supported.</para>
<para>So, for example, if you want to catalog several <link linkend="importing-pdf">PDF files</link>, select them in the file manager and drag them to the &appname; window. &appname; will import as much metadata from the files as it can, and then fetch additional information from various configured Internet sources.</para>
</sect1>
<sect1 id="exporting">
<title>Exporting Data</title>
<para>
When exporting the data in the collection, the entry values may be exported as entered, or with the <link linkend="field-formatting">automatic formatting</link> provided by &appname;. Additionally, the export may be limited to the currently selected entries of the collection as well, where the <link linkend="status-bar">statusbar</link> shows the number of selected entries.
</para>
<para>
Exported text files, such as Bibtex or CSV, may use the Unicode (UTF-8) character encoding, or the current locale of the operating system.
</para>
<screenshot>
<screeninfo>General Export Options</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="export-options.png"/></imageobject>
<textobject><phrase>General Export Options</phrase></textobject>
</mediaobject>
</screenshot>
<sect2 id="exporting-xml">
<title>Exporting &xml;</title>
<para>
The file format for &appname; data is a zipped &xml; file. Exporting to &xml; merely creates the &xml; file without zipping it. Images may be included in the &xml; file as base64-encoded data in an image element, but doing so can create very large text files.
</para>
</sect2>
<sect2 id="exporting-zip">
<title>Exporting Zip</title>
<para>
The standard file format for &appname; is a zipped file, contained the &xml; collection file, and optionally, all the images referenced in the collection. If the images are being stored in the application folder instead, exporting to a Zip file will create a self-contained data file, which includes all the images in the collection.
</para>
</sect2>
<sect2 id="exporting-html">
<title>Exporting HTML</title>
<para>
The HTML export uses the <filename>tellico2html.xsl</filename> stylesheet. Images are exported to a folder with the same name as the exported HTML file with <emphasis><filename>_files</filename></emphasis> appended.
</para>
<para>
The default format is similar to the printed output, and allows various options for modifying the HTML. Field headers may be printed at the top of each column, but unfortunately, &kde; does not yet allow the table headers to be be repeated on each page. The entries may be grouped as in the &group-view;, as well.
</para>
<para>
Additionally, individual files may be created for each entry in the collection, with links created in the top-level HTML file. The entry files will be created in the same folder as the images. The entry HTML files will use the current stylesheet template, as shown in the &entry-view;.
</para>
<screenshot>
<screeninfo>HTML Export Options</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="export-html.png"/></imageobject>
<textobject><phrase>HTML Export Options</phrase></textobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="exporting-csv">
<title>Exporting CSV</title>
<para>
Comma-separated values (CSV) are a common way of importing and exporting tabular data. Each field value is separated by a comma, with one entry per line. The field titles may be included as headers in the first line. Any character or string other than a comma may also be used to delimit the fields.
</para>
<screenshot>
<screeninfo>CSV Export Options</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="export-csv.png"/></imageobject>
<textobject><phrase>CSV Export Options</phrase></textobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="exporting-pilotdb">
<title>Exporting Pilot-DB</title>
<para>
<ulink url="http://pilot-db.sourceforge.net">Pilot-DB</ulink> is a database format for Palm OS. Various desktop applications can read and write Pilot-DB files. Exported <literal role="extension">.pdb</literal> files can be transferred to a PDA, and used directly. At the moment, &appname; is not able to import Pilot-DB files.
</para>
<screenshot>
<screeninfo>Pilot-DB Export Options</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="export-pdb.png"/></imageobject>
<textobject><phrase>Pilot-DB Export Options</phrase></textobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="exporting-alexandria">
<title>Exporting Alexandria</title>
<para>
<application><ulink url="http://alexandria.rubyforge.net">Alexandria</ulink></application> is a book collection manager for the <ulink url="http://www.gnome.org">GNOME</ulink> desktop environment. &appname; is able to export a limited subset of book collection fields to the default Alexandria data location.
</para>
</sect2>
<sect2 id="exporting-onix">
<title>Exporting ONIX</title>
<para>
<ulink url="http://www.editeur.org/onix.html">ONIX</ulink> is an XML format for representing and communicating book industry product information, primarily for book vendors. &appname; can export book collections using a small subset of ONIX.
</para>
</sect2>
<sect2 id="exporting-bibtex">
<title>Exporting Bibtex</title>
<para>
When exporting to <ulink url="http://en.wikipedia.org/wiki/Bibtex">Bibtex</ulink>, the field values may be escaped with braces or quotation marks. If any string macros
are used in the collection, they may optionally be exported as macros or expanded. For &URL; fields, &appname;
may enclose the field values with the <literal>\url{...}</literal> tag. Finally, entries with no citation key may be skipped rather than have &appname; auto-generate the key.
</para>
<screenshot>
<screeninfo>Bibtex Export Options</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="export-bibtex.png"/></imageobject>
<textobject><phrase>Bibtex Export Options</phrase></textobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="exporting-bibtexml">
<title>Exporting Bibtexml</title>
<para>
<ulink url="http://bibtexml.sourceforge.net">Bibtexml</ulink> is a format for expressing bibtex data via XML.
</para>
</sect2>
<sect2 id="exporting-gcfilms">
<title>Exporting GCfilms</title>
<para>
<application><ulink url="http://home.gna.org/gcfilms/">GCfilms</ulink></application> is another movie collection manager. &appname; is able to export a limited subset of video collection fields to a GCfilms data file.
</para>
</sect2>
<sect2 id="exporting-xslt">
<title>Exporting &xml; via &xslt;</title>
<para>
Finally, &appname; is able to process its internal &xml; representation of the collection data through an external XSL stylesheet before exporting. This type of export may be useful for generating text reports or other file types.
</para>
</sect2>
</sect1>
<sect1 id="citations">
<title>Working With Citations</title>
<para>
When working with a <link linkend="bibliography">bibliography</link>, citations for the currently selected entries
may be generated and used in various other applications. A citation in bibtex format can be copied to the clipboard,
and then pasted in a latex file. Bibtex citations can also be pushed to an external application such as <application>LyX</application> or <application>Kile</application> using the so-called <emphasis><link linkend="hidden-bibtex-options">lyxpipe</link></emphasis>. Finally, limited support is available for interacting with <application>OpenOffice.org Writer</application>.
</para>
<sect2 id="openoffice-org">
<title>Working with OpenOffice.org</title>
<para>
&appname; has some limited support for sending citations to <application>OpenOffice.org Writer</application> and
updating the bibliography of a document. A special plugin is used, and if it is available, the menu command for
citing an entry in <application>Writer</application> is enabled. If it is not enabled, then &appname; is either
unable to find the plugin or is unable to load it. More information about building &appname; with
OpenOffice.org support is in <link linkend="compilation-ooo">a later section</link>.
</para>
<para>
<application>OpenOffice.org</application> must be configured to allow interaction from other applications.
There are two methods: named pipes and TCP/IP. Named pipes are the easier and faster. To run
<application>Writer</application> and connect with a named pipe, the following command may be used:
<screen width="40">
<prompt>%</prompt> <userinput>oowriter "-accept=pipe,name=OOo_pipe;urp;StarOffice.ServiceManager"</userinput>
</screen>
The pipe or TCP/IP port can be configured to be open every time OpenOffice.org is used. Check
<ulink url="http://api.openoffice.org/docs/DevelopersGuide/OfficeBean/OfficeBean.xhtml#1_5_1_Default_Configuration">the OpenOffice.org documentation</ulink> for more details.
</para>
<para>
To insert a citation, select the entry, then use the <guimenuitem>Cite Entry in OpenOffice.org</guimenuitem>.
<application>Writer</application> must be running already. &appname;
will attempt to connect, and if it fails, it will ask for more information about the connection.
</para>
<screenshot>
<screeninfo>OpenOffice.org Connection Dialog</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="openoffice-dialog.png"/></imageobject>
<textobject><phrase>OpenOffice.org Connection Dialog</phrase></textobject>
</mediaobject>
</screenshot>
<para>
Select the type of connection, either a pipe or a TCP/IP port. Enter the pipe name, or the hostname and port.
&appname; will remember your connection settings for later use.
</para>
</sect2>
</sect1>
</chapter>

@ -0,0 +1,423 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY appname '<application>Tellico</application>'>
<!ENTITY kappname "&appname;">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE"><!-- change language only here -->
<!ENTITY robby "Robby Stephenson">
<!ENTITY email "robby@periapsis.org">
<!ENTITY homepage "http://www.periapsis.org/tellico/">
<!ENTITY maillist "http://forge.novell.com/mailman/listinfo/tellico-users">
<!ENTITY xml "<acronym>XML</acronym>">
<!ENTITY xslt "<acronym>XSLT</acronym>">
<!ENTITY html "<acronym>HTML</acronym>">
<!ENTITY css "<acronym>CSS</acronym>">
<!ENTITY group-view "<interface>Group View</interface>">
<!ENTITY detailed-view "<interface>Column View</interface>">
<!ENTITY entry-view "<interface>Entry View</interface>">
<!ENTITY entry-editor "<interface>Entry Editor</interface>">
<!ENTITY icon-view "<interface>Icon View</interface>">
<!ENTITY fields-dialog "<interface>Collection Fields Dialog</interface>">
<!ENTITY fetch-dialog "<interface>Internet Search Dialog</interface>">
<!ENTITY config-dialog "<interface>Configuration Dialog</interface>">
<!ENTITY find-dialog "<interface>Find Dialog</interface>">
<!ENTITY quick-filter "<interface>Quick Filter</interface>">
<!ENTITY filter-dialog "<interface>Advanced Filter Dialog</interface>">
<!ENTITY loan-dialog "<interface>Loan Dialog</interface>">
<!ENTITY report-dialog "<interface>Report Dialog</interface>">
<!ENTITY shortcut-dialog "<interface>Keyboard Shortcut Configuration Dialog</interface>">
<!ENTITY toolbar-dialog "<interface>Toolbar Configuration Dialog</interface>">
<!ENTITY filter-view "<interface>Filter View</interface>">
<!ENTITY loan-view "<interface>Loan View</interface>">
<!ENTITY fundamentals-chapter SYSTEM "fundamentals.docbook">
<!ENTITY importing-exporting-chapter SYSTEM "importing-exporting.docbook">
<!ENTITY configuration-chapter SYSTEM "configuration.docbook">
<!ENTITY fields-chapter SYSTEM "fields.docbook">
<!ENTITY menus-chapter SYSTEM "menus.docbook">
<!ENTITY advanced-chapter SYSTEM "advanced.docbook">
<!ENTITY hacking-chapter SYSTEM "hacking.docbook">
<!ENTITY faqs-chapter SYSTEM "faqs.docbook">
<!ENTITY details-chapter SYSTEM "details.docbook">
]>
<!-- ................................................................ -->
<!-- The language must NOT be changed here. -->
<book lang="&language;">
<!-- This header contains all of the meta-information for the document such
as Authors, publish date, the abstract, and Keywords -->
<bookinfo>
<!-- Date and version information of the documentation
Don't forget to include this last date and this last revision number, we
need them for translation coordination !
Please respect the format of the date (DD/MM/YYYY) and of the version
(V.MM.LL), it could be used by automation scripts.
Do NOT change these in the translation. -->
<date>02/01/2008</date>
<releaseinfo>1.3</releaseinfo>
<title>The &appname; Handbook</title>
<authorgroup>
<author>
<firstname>Robby</firstname>
<surname>Stephenson</surname>
<affiliation>
<address><email>&email;</email></address>
</affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<copyright>
<year>2001</year>
<year>2002</year>
<year>2003</year>
<year>2004</year>
<year>2005</year>
<year>2006</year>
<year>2007</year>
<year>2008</year>
<holder>&robby;</holder>
</copyright>
<!-- Translators: put here the copyright notice of the translation -->
<!-- Put here the FDL notice. Read the explanation in fdl-notice.docbook
and in the FDL itself on how to use it. -->
<legalnotice>
<para>Permission is granted to copy, distribute and/or modify this
document under the terms of the &GNU; Free Documentation License,
Version 1.1 or any later version published by the Free Software
Foundation; with &FDLInvariantSections;, with &FDLFrontCoverText;, and
with &FDLBackCoverText;. A copy of the license is included in
<xref linkend="gnu-fdl"/>.</para>
<para>The author of this documentation has also granted you permission to use
the content under the terms of the <ulink
url="freebsd-doc-license.html">FreeBSD Documentation License</ulink>, if you so choose.
See the notice in the <link linkend="gnu-fdl">licensing section</link>.</para>
</legalnotice>
<!--<legalnotice>&FDLNotice;</legalnotice>-->
<legalnotice>
<para>This program is free software; you can redistribute it and/or
modify it under the terms of version 2 of the &GNU; General Public
License as published by the Free Software Foundation.</para>
<para>This program is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty
of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the &GNU;
General Public License for more details.</para>
<para>You should have received a copy of the &GNU; General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifh Floor, Boston, MA 02110-1301, USA.</para>
</legalnotice>
<!--<legalnotice>&GPLNotice;</legalnotice>-->
<!-- Abstract about this handbook -->
<abstract>
<para>
This document is a handbook for using &appname;, a collection manager software application.
</para>
</abstract>
<!-- This is a set of Keywords for indexing by search engines.
Please at least include KDE, the KDE package it is in, the name
of your application, and a few relevant keywords. -->
<keywordset>
<keyword>KDE</keyword>
<keyword>tellico</keyword>
<keyword>book</keyword>
<keyword>bibliography</keyword>
<keyword>movie</keyword>
<keyword>collection</keyword>
<keyword>database</keyword>
<keyword>catalog</keyword>
</keywordset>
</bookinfo>
<!-- The contents of the documentation begin here. Label each chapter
so with the id attribute. This is necessary for two reasons: it allows
you to easily reference the chapter from other chapters of your
document, and if there is no ID, the name of the generated HTML files
will vary from time to time making it hard to manage for maintainers
and for the CVS system. Any chapter labelled (OPTIONAL) may be left
out at the author's discretion. Other chapters should not be left out
in order to maintain a consistent documentation style across all KDE
apps. -->
<chapter id="introduction">
<title>Introduction</title>
<!-- The introduction chapter contains a brief introduction for the
application that explains what it does and where to report
problems. Basically a long version of the abstract. Don't include a
revision history. (see installation appendix comment) -->
<sect1 id="tellico-intro">
<title>&appname;</title>
<para>
&appname; is a program for managing collections. It began as a simple
book collection manager, and has expanded to include default
collection templates for bibliographies, comic books, videos, music,
coins, stamps, trading cards, video games, wines, board games, and file listings.
In addition, custom collections can be built for any other type of collectibles.
</para>
<sect2 id="what-tellico-is">
<title>What &appname; Is</title>
<para>
&appname; keeps track of the items in a collection, and offers
an easy way to enter data for each entry. It provides several
field types, and allows for an unlimited number of
user-defined fields. The entries in a collection may be grouped by any
field for easy organization, and customizable views show as much or as
little information as you like.
</para>
<para>
Loans may be tracked, with optional integration with &korganizer;. Collections may be
imported or exported using a variety of formats, to allow for easy exchange
or publication of data.
</para>
</sect2>
<sect2 id="what-tellico-is-not">
<title>What &appname; Is Not</title>
<para>
&appname; is not an audio or video player. It does not provide
facilities for reading or modifying multimedia files. It also does
not provide any image-editing functionality. Although &appname; has some
functionality for managing bibliography lists, it is not a full-blown
bibliographic reference manager. &appname; also does not pretend to have
all the capabilities of a full-fledged relational database,
</para>
<para>
As somewhat of a disclaimer, &appname; is a hobby for the author, and no
guarantees are made about its functionality, usefullness, or otherwise. It's
very far from being a professional software package. More information is included
in the <link linkend="gnu-fdl">license declaration</link>.
</para>
</sect2>
</sect1>
<sect1 id="terminology">
<title>Terminology</title>
<sect2 id="collections">
<title>Collections</title>
<para>
In &appname;, a collection is the document. Only one collection exists in each &appname;
file. A collection contains any number of <link linkend="fields">fields</link> and
<link linkend="entries">entries</link>. &appname; supports 12 specific collection types by
default: books, bibliographic entries, comic books, videos, music, trading cards, coins, stamps,
video games, wines, board games, and file listings. In addition, an empty generic collection
template is available for any other type of collectibles or lists.
</para>
</sect2>
<sect2 id="fields">
<title>Collection Fields</title>
<para>
Each collection may have an unlimited number of fields. &appname; supports eleven types of fields,
which allow for a range of different data. The fields can be edited with the
<link linkend="fields-dialog">&fields-dialog;</link> and are explained further in the
<link linkend="field-types">Field Types</link> section.
</para>
</sect2>
<sect2 id="entries">
<title>Collection Entries</title>
<para>
An entry is the basic record in &appname;. Each entry contains a single value for each field in
the collection. A collection may have an unlimited number of entries, in theory, although since
the whole collection is always resident in memory, too many entries could slow down the application.
</para>
<para>
&appname; has been tested with a collection of 10,000 entries, and the speed was satisfactory.
However, if many large images are included in the collection, the loading and processing time
does slow down greatly. Performance can be improved by having &appname; store images separate from
the data file itself, either in the application-specific directory or a directory relative to
the data file. More information can be found in the
<link linkend="configuration">configuration section</link>.
</para>
</sect2>
</sect1>
</chapter>
&fundamentals-chapter;
&details-chapter;
&importing-exporting-chapter;
&advanced-chapter;
&configuration-chapter;
&hacking-chapter;
&faqs-chapter;
&menus-chapter;
<chapter id="credits">
<!-- Include credits for the programmers, documentation writers, and
contributors here. The license for your software should then be
included below the credits with a reference to the appropriate license
file included in the KDE distribution. -->
<title>Credits and License</title>
<para>
&appname;
</para>
<para>
Program copyright 2001-2008 &robby; <email>&email;</email>
</para>
&underGPL; <!-- GPL License -->
<para>
Documentation copyright 2001-2008 &robby; <email>&email;</email>
</para>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
<para id="gnu-fdl" xreflabel="the section entitled &quot;GNU Free Documentation
License&quot;">This documentation is licensed under the terms of the <ulink
url="common/fdl-license.html">&GNU; Free Documentation
License (GFDL)</ulink>.</para>
<para>The author of this documentation has also granted you permission to use the content under the terms of the <ulink
url="freebsd-doc-license.html">FreeBSD Documentation License</ulink>, if you so choose. If you wish to allow use of your version of this content only under the terms of the FreeBSD Documentation License, and not to allow others to use your version of this file under the terms of the GFDL, indicate your decision by deleting the GFDL notice and and replacing it with the notice and other provisions required by the FreeBSD Documentation License. If you do not delete the GFDL notice above, a recipient may use your version of this file under the terms of either the GFDL or the FreeBSD Documentation License.</para>
</chapter>
<appendix id="installation">
<title>Installation</title>
<sect1 id="getting-tellico">
<title>How to obtain &appname;</title>
<para>
The &appname; home page can be found at
<ulink url="&homepage;">&homepage;</ulink>.
Updates and news can be found there.</para>
</sect1>
<sect1 id="requirements">
<title>Requirements</title>
<!--
List any special requirements for your application here. This should include:
.Libraries or other software that is not included in kdesupport,
kdelibs, or kdebase.
.Hardware requirements like amount of RAM, disk space, graphics card
capabilities, screen resolution, special expansion cards, etc.
.Operating systems the app will run on. If your app is designed only for a
specific OS, (you wrote a graphical LILO configurator for example) put this
information here.
-->
<para>
In order to successfully use &appname;, you need &kde; 3.3.1.
&appname; uses about 5 megabytes of memory to run, but this may vary
depending on your platform, configuration, and most of all, your collection size.
</para>
<para>
&kde; can be found at <ulink url="http://www.kde.org">the &kde; home page</ulink>.
</para>
<!-- For a list of updates, you may refer to the application web site
or the ChangeLog file, or ... -->
<para>
You can find a list of changes at <ulink
url="&homepage;">&homepage;</ulink>.
</para>
</sect1>
<sect1 id="compilation">
<title>Compilation and Installation</title>
<para>
In order to compile and install &appname; on your system, type the following
in the base folder of the archive, where the third step must be done as
root if you are installing in a system folder:
<screen width="40">
<prompt>%</prompt> <userinput>./configure <option>--enable-final</option> <option>--disable-debug</option></userinput>
<prompt>%</prompt> <userinput>make</userinput>
<prompt>%</prompt> <userinput>make install</userinput>
</screen>
</para>
<para>Since &appname; uses autoconf and automake you should not have
any trouble compiling it. Should you run into problems please report
them to the the author at <email>&email;</email>.</para>
<sect2 id="compilation-ooo">
<title>Compiling With OpenOffice.org</title>
<para>
&appname; uses a special plugin for communicating with OpenOffice.org, which is not compiled by default.
The Software Development Kit, available from <ulink url="http://www.openoffice.org/dev_docs/source/sdk/">
http://www.openoffice.org/dev_docs/source/sdk/</ulink>, is required.
<screen width="40">
<prompt>%</prompt> <userinput>./configure <option>--enable-ooo</option> <option>--with-ooo-dir</option>=<filename class="directory">/usr/lib/openoffice</filename> <option>--with-ooo-sdk-dir</option>=<filename class="directory">/usr/lib/openoffice/SDK</filename></userinput>
</screen>
You'll need to use the correct locations of the OpenOffice.org libraries and SDK, of course.
</para>
<para>
In addition, some distributions may require you to modify the <filename>/etc/ld.so.conf</filename> file
or add a configuration file to the <filename class="directory">/etc/ld.so.conf.d</filename> directory. Check
to see if the OpenOffice.org plugin works without any changes first. If it doesn't, try editing
<filename>/etc/ld.so.conf</filename> and adding the location of the OpenOffice.org libraries, the same as
you used for the <filename>configure</filename> script.
For additional help, use the <ulink url="&maillist;">&appname; Mailing List</ulink>
</para>
</sect2>
</sect1>
</appendix>
&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes:nil
sgml-general-insert-case:lower
sgml-indent-step:0
sgml-indent-data:nil
End:
-->

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,768 @@
<chapter id="menus">
<title>Command Reference</title>
<!--
(OPTIONAL, BUT RECOMMENDED) This chapter should list all of the
application windows and their menubar and toolbar commands for easy reference.
Also include any keys that have a special function but have no equivalent in the
menus or toolbars. This may not be necessary for small apps or apps with no tool
or menu bars.
-->
<sect1 id="main-window-menus">
<title>The Main &appname; Window</title>
<para>Each menu item is discussed below. When there is a keyboard shortcut that
performs a menu item function, the default shortcut is listed with the menu item.
</para>
<sect2>
<title>The <guimenu>File</guimenu> Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>New</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>creates a new collection</action>. &appname; supports <link linkend="collection-types">12 default collection types</link> along with an empty user-defined custom collection.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>O</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Open...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens a &appname; file</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Open Recent</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens a file</action> from a submenu
that contains a list of recently opened files.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>S</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Save...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>saves the collection</action>. If the file is
<emphasis>Untitled</emphasis> then <guimenuitem>Save...</guimenuitem> is equivalent to
<guimenuitem>Save As</guimenuitem>. It is only enabled when the collection has been
modified.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Save As...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>saves the collection to a new file</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>P</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Print...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>prints the collection</action>. Printing options may be set in the &config-dialog;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Import</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>imports data from another file</action>. &appname; can import data from a number of <link linkend="importing">other formats</link>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Export</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>exports the collection to another format</action>. &appname; can export data to a number of <link linkend="exporting">other formats</link>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>Q</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>closes the &appname; window</action>. If the collection has unsaved changes, you will be prompted to save them before continuing.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% EDIT MENU %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-->
<sect2>
<title>The <guimenu>Edit</guimenu> Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>Z</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Undo</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>undoes the previous action</action>. Not all actions are supported by Undo.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>&Shift;</keycap><keycap>Z</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Redo</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>reverts a previous Undo.</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>X</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Cut</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>removes the selected text</action>, if any, and <action>places a copy of the removed text in the clipboard</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>C</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Copy</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>copies the selected text</action>, if any, to the clipboard.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>V</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Paste</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>pastes the text in the clipboard</action>,if any, into the editor at the cursor position.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>A</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Select All</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>selects all the entries</action> in the collection, in the &detailed-view;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>&Shift;</keycap><keycap>A</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Deselect</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>deselects all the entries</action> in the collection.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Edit</guimenu>
<guimenuitem>Internet Search...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the &fields-dialog;</action> to search for and import entries from various Internet sites, including <ulink url="http://amazon.com">Amazon.com</ulink>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>J</keycap></keycombo>
</shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Advanced Filter...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the &filter-dialog;</action>.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COLLECTION MENU %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-->
<sect2>
<title>The <guimenu>Collection</guimenu> Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>N</keycap></keycombo>
</shortcut>
<guimenu>Collection</guimenu>
<guimenuitem>New Entry</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the &entry-editor; to edit a new entry</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>E</keycap></keycombo>
</shortcut>
<guimenu>Collection</guimenu>
<guimenuitem>Edit Entry</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the &entry-editor; to edit the selected entries</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>Y</keycap></keycombo>
</shortcut>
<guimenu>Collection</guimenu>
<guimenuitem>Duplicate Entry</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>copies, or duplicates, the selected entries</action> as new entries in the collection.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>D</keycap></keycombo>
</shortcut>
<guimenu>Collection</guimenu>
<guimenuitem>Delete Entry</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>deletes the selected entries</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Collection</guimenu>
<guimenuitem>Update Entry</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This menu contains a list of all available data sources, and can be used to autmatically query the
source and <action>update the selected entries</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Collection</guimenu>
<guimenuitem>Check-out.</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens a dialog box for loaning the selected entries.</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Collection</guimenu>
<guimenuitem>Check-in</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>checks-in any of the selected entries which are currently on-loan</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>R</keycap></keycombo>
</shortcut>
<guimenu>Collection</guimenu>
<guimenuitem>Rename Collection</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens a dialog box for renaming the collection</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>U</keycap></keycombo>
</shortcut>
<guimenu>Collection</guimenu>
<guimenuitem>Collection Fields...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the &fields-dialog;</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Ctrl;</keycap><keycap>U</keycap></keycombo>
</shortcut>
<guimenu>Collection</guimenu>
<guimenuitem>Generate Reports...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the &report-dialog;</action> for generating reports about the collection.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Collection</guimenu>
<guimenuitem>Convert to Bibliography</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>converts a book collection to a bibliography</action> by adding certain fields necessary for Bibtex export, and it is only enabled when a book collection is open.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Collection</guimenu>
<guimenuitem>String Macros...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens a dialog box for editing the Bibtex string macros</action> in the collection. It is only enabled when editing a bibliography.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Collection</guimenu>
<guimenuitem>Copy Bibtex to Clipboard</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>copies a Bibtex citation</action> to the clipboard so that it can pasted in a LaTeX document.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Collection</guimenu>
<guimenuitem>Cite Entry in Lyx</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>sends a citation for the selected entries</action> to the so-called <emphasis><link linkend="hidden-bibtex-options">lyxpipe</link></emphasis> for use in <application>LyX</application>, <application>Kile</application>, or other LaTeX applications. It is only enabled when editing a bibliography.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Collection</guimenu>
<guimenuitem>Cite Entry in OpenOffice.org</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>sends a citation for the selected entries</action> to <application>OpenOffice.org Writer</application>. It is only enabled when editing a bibliography when the OpenOffice.org plugin is available.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SETTINGS MENU %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%-->
<sect2>
<title>The <guimenu>Settings</guimenu> Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Toolbars</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>toggles the display of the toolbars</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Statusbar</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>toggles the display of the statusbar</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show &group-view;</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>toggles the display of the &group-view;</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show &entry-editor;</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>toggles the display of the &entry-editor;</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show &entry-view;</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>toggles the display of the &entry-view;</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Group Selection</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>changes the field used to group the entries</action> in the collection.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Shortcuts...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the the &kde; &shortcut-dialog;</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Toolbars...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the the &kde; &toolbar-dialog;</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &appname;...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the &appname; &config-dialog;</action>.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>
<sect2>
<title>The <guimenu>Help</guimenu> Menu</title>
<para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>Help</guimenu>
<guimenuitem>&appname; Handbook</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the &appname; Handbook</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo><keycap>&Shift;</keycap><keycap>F1</keycap></keycombo>
</shortcut>
<guimenu>Help</guimenu>
<guimenuitem>What's This?</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>changes the mouse cursor to an arrow with a question mark</action>. Clicking on items in the window will show a small tooltip (if one exists for that item) explaining what the item does.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Help</guimenu>
<guimenuitem>Tip of the Day</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the Tip of the Day dialog</action>. You can page through all the tips by using the buttons on the dialog.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Help</guimenu>
<guimenuitem>Report Bug...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>open the Submit Bug Report dialog</action>. If you find
a bug or a problem, if you have a suggestion for improvement, or a translation correction, use this interface to send the author an email.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Help</guimenu>
<guimenuitem>About &appname;</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the About &appname; dialog</action>, showing version and author information for the application.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Help</guimenu>
<guimenuitem>About &kde;</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>This command <action>opens the About &kde; dialog</action>, showing the &kde; version and other information about the desktop environment.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect2>
</sect1>
</chapter>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,60 @@
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${KDE3_INCLUDE_DIR} ${QT_INCLUDE_DIR} )
########### install files ###############
#original Makefile.am contents follow:
######## kdevelop will overwrite this part!!! (begin)##########
#
#
#EXTRA_DIST = \
#advanced.docbook \
#configuration.docbook \
#details.docbook \
#faqs.docbook \
#fundamentals.docbook \
#hacking.docbook \
#importing-exporting.docbook \
#index.docbook \
#menus.docbook \
#freebsd-doc-license.html \
#entry-editor1.png \
#entry-editor3.png \
#entry-editor4.png \
#entry-editor5.png \
#fields-dialog.png \
#general-options.png \
#main-window.png \
#print-options.png \
#template-options.png \
#source-options.png \
#filter-dialog.png \
#csv-dialog.png \
#fetch-dialog.png \
#export-options.png \
#export-html.png \
#export-csv.png \
#export-pdb.png \
#export-bibtex.png \
#amazon-options.png \
#z3950-options.png \
#externalexec-options.png \
#report-dialog.png \
#loan-dialog.png \
#loan-view.png \
#filter-view.png \
#openoffice-dialog.png \
#sru-options.png \
#imdb-options.png
#
#
######## kdevelop will overwrite this part!!! (end)############
#
#KDE_LANG = fr
#KDE_DOCS = tellico
#
#CLEANFILES = *~

@ -0,0 +1,50 @@
####### kdevelop will overwrite this part!!! (begin)##########
EXTRA_DIST = \
advanced.docbook \
configuration.docbook \
details.docbook \
faqs.docbook \
fundamentals.docbook \
hacking.docbook \
importing-exporting.docbook \
index.docbook \
menus.docbook \
freebsd-doc-license.html \
entry-editor1.png \
entry-editor3.png \
entry-editor4.png \
entry-editor5.png \
fields-dialog.png \
general-options.png \
main-window.png \
print-options.png \
template-options.png \
source-options.png \
filter-dialog.png \
csv-dialog.png \
fetch-dialog.png \
export-options.png \
export-html.png \
export-csv.png \
export-pdb.png \
export-bibtex.png \
amazon-options.png \
z3950-options.png \
externalexec-options.png \
report-dialog.png \
loan-dialog.png \
loan-view.png \
filter-view.png \
openoffice-dialog.png \
sru-options.png \
imdb-options.png
####### kdevelop will overwrite this part!!! (end)############
KDE_LANG = fr
KDE_DOCS = tellico
CLEANFILES = *~

@ -0,0 +1,120 @@
<chapter id="advanced">
<title>Utilisation avancée</title>
<sect1 id="command-line">
<title>Options en ligne de commande</title>
<para>
Lorsque vous exécutez &appname; depuis la ligne de commande, il existe plusieurs
options pour ouvrir des fichiers de données. Ces options peuvent être vues en
exécutant <userinput>tellico --help</userinput>.
</para>
<programlisting>
Usage: tellico [Qt-options] [KDE-options] [options] [filename]
Tellico - a collection manager for KDE
Options:
--nofile Do not reopen the last open file
--bibtex Import &lt;filename&gt; as a bibtex file
--mods Import &lt;filename&gt; as a MODS file
--ris Import &lt;filename&gt; as a RIS file
Arguments:
filename File to open
</programlisting>
</sect1>
<sect1 id="dcop-interface">
<title>Interface &DCOP;</title>
<para>
&appname; dispose d'une interface &DCOP; minimale, qui peut être utilisée pour
automatiser l'application ou interagir avec depuis une la ligne de commande.
Co,,e pour tous les appels &DCOP;, vous devez spécifier l'application avec
laquelle vous souhaitez interagir ; ainsi que l'interface spécifique. Les appels
&DCOP; décris dans ce document sont tous disponibles dans l'interface
<constant>tellico</constant> de &appname; ; alors que le nom de l'application
est <constant>tellico-pid</constant>, où <emphasis>pid</emphasis> est le
<emphasis>process id</emphasis> de l'application.
</para>
<sect2 id="dcop-commands">
<title>Commandes DCOP</title>
<para>
La liste complète des commandes &DCOP; de l'objet <constant>tellico</constant>
est disponible ci-dessous :
</para>
<programlisting>
bool importTellico(QString file, QString action)
bool importBibtex(QString file, QString action)
bool importMODS(QString file, QString action)
bool importRIS(QString file, QString action)
bool exportXML(QString file)
bool exportBibtex(QString file)
bool exportHTML(QString file)
bool exportCSV(QString file)
bool exportPilotDB(QString file)
QStringList bibtexKeys()
</programlisting>
<para>
Pour les quatre commandes d'import, le premier paramètre est le nom du fichier
à importer, et le second l'action lors de l'import. Trois types d'actions sont
disponibles : <emphasis>replace</emphasis> (remplacer),
<emphasis>append</emphasis> (ajouter) et <emphasis>merge</emphasis> (fusioner).
Quatre formats de fichier sont possibles pour l'import : fichier XML Tellico,
BibTeX, MODS et RIS.
</para>
<para>
La collection ouverte dans &appname; peut être exportée vers un fichier, dans
le format XML de Tellico, BibTeX, HTML ou CSV.
</para>
<para>
Enfin, si la collection courante est un bibliographie, appeler
<command>bibtexKeys()</command> donnera comme résultat la clef de citation
BibTeX de toutes les entées sélectionnées.
</para>
</sect2>
<sect2 id="dcop-examples">
<title>Exemples DCOP</title>
<para>
Voici quelques exemples de scripts &appname; utilisant l'interface &DCOP;.
Puisque le <emphasis>pid</emphasis> doit être connu, la façon la plus simple de
l'inclure dans la commande shell suivante :
<userinput>dcop $(dcop | grep tellico) tellico</userinput>.
</para>
<screen width="40">
<emphasis>Ouvrir un fichier BibTeX</emphasis>
<prompt>%</prompt>
<userinput>dcop $(dcop | grep tellico) tellico importBibtex ~/documents/reference.bib replace</userinput>
<computeroutput>true</computeroutput>
</screen>
<screen width="40">
<emphasis>Exporter un fichier BibTeX</emphasis>
<prompt>%</prompt> <userinput>dcop $(dcop | grep tellico) tellico exportBibtex ~/documents/reference.bib</userinput>
<computeroutput>true</computeroutput>
</screen>
<screen width="40">
<emphasis>Afficher la clef de citation de la sélection courante</emphasis>
<prompt>%</prompt> <userinput>dcop $(dcop | grep tellico) tellico bibtexKeys</userinput>
<computeroutput>stephenson2004</computeroutput>
</screen>
</sect2>
</sect1>
</chapter>

Binary file not shown.

@ -0,0 +1,445 @@
<chapter id="configuration">
<title>Configuration</title>
<para>
La <interface>Boite de dialogue de configuration</interface> contient toutes
les options pour changer certains comportements par défaut de &appname;.
</para>
<para>
Cliquer sur le bouton <guibutton>Appliquer</guibutton>
<action>applique les modification immédiatement</action>,
sans fermer la boite de dialogue, alors que le bouton <guibutton>OK</guibutton>
<action>applique les changements et ferme la boite de dialogue</action>.
<guibutton>Annuler</guibutton> ferme la boite de dialogue ; mais toutes les
modifications déjà appliquées seront conservées.
Le bouton <guibutton>Défaut</guibutton> <action>rétablit les options</action>
de la page courante de la boite de dialogue à leurs valeurs par défaut, alors
que <guibutton>Aide</guibutton> <action>ouvre &khelpcenter;</action> à la
section relative du manuel de &appname;.
</para>
<para>
Certains paramètres ne peuvent être modifiés qu'en éditant le fichier de
configuration à la main. Voir les
<link linkend="hidden-options">Options de configuration cachées</link>.
</para>
<sect1 id="general-options">
<title><guilabel>Options Générales</guilabel></title>
<screenshot>
<screeninfo>Les options générales</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="general-options.png"/></imageobject>
<textobject><phrase>La boite de dialogue d'options générales</phrase></textobject>
</mediaobject>
</screenshot>
<para>
La boite de dialogue des <guilabel>options générales</guilabel> contrôle le
comportement global. Les images peuvent être incluses dans le fichier de
données ; ou enregistrées dans le répertoire de &appname;. De plus, lorsque
&appname; est démarré, il peut automatiquement ouvrir le dernier fichier ouvert.
La boite de dialogue de l'<guilabel>astuce du jour</guilabel> contient des
astuces utiles sur l'utilisation de &appname; et apparaît au démarrage du
programme. Vous pouvez lire quelques astuces puis désactiver la boite de
dialogue.
</para>
<para>
Les <guilabel>options de mise en forme</guilabel> contrôlent le niveau de mise
en forme automatique effectué par &appname;. Des exemples sont disponibles dans
la section<link linkend="field-formatting">Mise en forme des champs</link>.
La mise en majuscules et la mise en forme sont des options distinctes, un champ
pouvant être mis en majuscules sans que l'ordre des mots soit changé et
inversement. La mise en forme automatique inclut les articles dans les titres,
ainsi que les préfixes et suffixes des noms propres. Les valeurs sont
insensibles à la casse et doivent être séparées par un point)virgule.
</para>
<para>
Les règles de mise en forme suivent les standards anglais et peuvent être
incompatibles avec d'autres langues. Les articles sont déplacés à la fin du
titre, précédés d'une virgule. Les noms propres sont transformés pour placer
le nom propre en premier, suivi d'une virgule et du prénom. Les suffixes, tels
que Jr., sont conservés avec le nom propre. Les particules, telles que
<emphasis>von</emphasis> ou <emphasis>de</emphasis>, sont conservées avec le
nom propre ; mais sont ignorées lorsque les noms sont triés.
</para>
<informalexample><para><emphasis>John Q. von Public, III</emphasis>
deviendrait <emphasis>von Public, III, John Q.</emphasis> ; et
<emphasis>Public</emphasis> serait utilisé pour le tri.</para></informalexample>
<para>
Seuls les particules en un seul mot sont gérées. Si un nom inclut
<emphasis>de la</emphasis>, par exemple, <emphasis>de</emphasis> et
<emphasis>la</emphasis> doivent être inclus dans la liste des particules.
Les articles se finissant par une apostrophe sont également gérés pour le tri.
</para>
<note><para>Les données réelles contenues dans la collection
<emphasis>ne sont pas</emphasis> modifiées, seul le texte affiché est affecté.
Ainsi, les options de mise en forme peuvent être modifiées sans altérer les
données de la collection.</para></note>
</sect1>
<sect1 id="printing-options">
<title><guilabel>Options d'impression</guilabel></title>
<para>
&appname; utilise une feuille de style &xslt; pour générer du &html; ; puis le
transmet au service d'impression de &kde;. Seuls les champs visibles dans la
<link linkend="detailed-view">&detailed-view;</link> sont imprimés. De plus, si
la collection a des filtres appliqués, seules les entrées visibles sont
imprimées. Un message d'avertissement est affiché si un filtre est actif.
</para>
<screenshot>
<screeninfo>La boîte de dialogue des options d'impression</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="print-options.png"/></imageobject>
<textobject><phrase>La boîte de dialogue des options d'impression</phrase></textobject>
</mediaobject>
</screenshot>
<para>
Les <guilabel>Options d'impression</guilabel> vous permettent de modifier
certains aspects de la mise en forme lorsque vous imprimez une collection.
Si <guilabel>Mettre en forme les titres et noms</guilabel> est coché, les champs
sont <link linkend="field-formatting">mis en forme automatiquement</link>.
Dans le cas contraire, elles sont imprimées telles qu'elles ont été saisies.
</para>
<para>
La feuille de style d'impression par défaut affiche les valeurs des champs en
colonnes. <guilabel>Imprimer les en-têtes des champs</guilabel> contrôle si les
titres des champs sont imprimés au sommet des colonnes.
</para>
<para>
A l'impression, les entrées sont triées de la même manière que dans la
<link linkend="detailed-view">&detailed-view;</link>. Cependant, elles peuvent
être groupées selon la <link linkend="group-view">&group-view;</link> à la place
en utilisant l'option <guilabel>Grouper les entrés</guilabel>.
</para>
<para>
Enfin, lorsque les champs contenant des images sont inclus à l'impression, les
images peuvent être re-dimensionnées, tout en conservant leur rapport
largeur/hauteur. La largeur et la hauteur maximales définissent les dimensions
à ne pas dépasser, une image n'étant jamais agrandie.
</para>
</sect1>
<sect1 id="template-options">
<title><guilabel>Options des modèles</guilabel></title>
<para>
La <link linkend="entry-view">&entry-view;</link> utilise des modèles pour
afficher les valeurs des champs. Vous pouvez définir un modèle différent pour
chaque type de collection. Certains modèles, tels que ceux définis pour les
<emphasis>Albums</emphasis> ou les <emphasis>Vidéos</emphasis> sont spécifiques
à un type de collection donné ; et un message d'erreur apparaîtra dans la
&entry-view; s'ils sont utilisés pour d'autres types de collections.
</para>
<para>
Les modèles additionnels peuvent être installés dans
<filename class="directory">$<envar>KDEHOME</envar>/share/apps/tellico/entry-templates/</filename>.
</para>
<screenshot>
<screeninfo>La boîte de dialogue des options de modèles</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="template-options.png"/></imageobject>
<textobject><phrase>La boîte de dialogue des options de modèles</phrase></textobject>
</mediaobject>
</screenshot>
</sect1>
<sect1 id="data-sources-options">
<title><guilabel>Options des sources d'informations</guilabel></title>
<para>
&appname; peut utiliser différentes sources pour importer des données, qui
peuvent être configurées dans la boîte de dialogue des sources d'informations.
Différents types de sources sont disponibles :
</para>
<itemizedlist>
<listitem><para><link linkend="amazon-web-services">Web Services Amazon.com</link>,</para></listitem>
<listitem><para><link linkend="imdb">Internet Movie Database 9</link>,</para></listitem>
<listitem><para><link linkend="z3950">Serveurs z39.50</link>,</para></listitem>
<listitem><para><link linkend="sru">Serveurs SRU</link>,</para></listitem>
<listitem><para><link linkend="entrez">Bases de données Entrez (PubMed)</link>,</para></listitem>
<listitem><para><link linkend="yahoo">Yahoo! Audio Search</link>,</para></listitem>
<listitem><para><link linkend="animenfo">AnimeNfo.com</link>,</para></listitem>
<listitem><para><link linkend="ibs">Internet Bookshop Italia</link>,</para></listitem>
<listitem><para><link linkend="isbndb">ISBNdb.com</link>,</para></listitem>
<listitem><para><link linkend="allocine">Allociné.fr</link>,</para></listitem>
<listitem><para>Le <link linkend="minculture">Ministère de la culture espagnole</link>,</para></listitem>
<listitem><para><link linkend="darkhorse">Dark Horse Comics</link>,</para></listitem>
<listitem><para><link linkend="externalexec">D'autres scripts ou applications externes</link></para></listitem>
</itemizedlist>
<screenshot>
<screeninfo>La boîte de dialogue des sources d'informations</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="source-options.png"/></imageobject>
<textobject><phrase>La boîte de dialogue des sources d'informations</phrase></textobject>
</mediaobject>
</screenshot>
<para>
De nouvelles sources peuvent être ajoutées en cliquant sur le bouton
<guibutton>Ajouter...</guibutton>. Celles existantes peuvent aisément être
modifiées ou supprimées, à l'aide des boutons <guibutton>Modifier...</guibutton>
<guibutton>Supprimer</guibutton>.
</para>
<para>
Certaines sources d'informations contiennent plus d'informations que les champs
par défaut de &appname;. Ces autres champs sont affichés sur la droite de la
boîte de dialogue. Si l'un de ces champs est coché, il est alors ajouté à la
collection lorsqu'une entrée de cette source est ajoutée.
</para>
<sect2 id="amazon-web-services">
<title>Amazon.com</title>
<para>
En utilisant les Services Web Amazon, &appname; peut chercher des informations
sur six différents sites internationaux gérés par
<ulink url="http://amazon.com">Amazon.com</ulink> : États Unis, Royaume Uni,
Allemagne, Japon, France et Canada.
</para>
<screenshot>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="amazon-options.png"/></imageobject>
</mediaobject>
</screenshot>
<para>
Configurer chaque source Amazon.com nécessite trois paramètres : l'adresse du
serveur, la taille de l'image et l'ID de l'associé. Certaines informations de
<ulink url="http://amazon.com">Amazon.com</ulink> contiennent une image, telle
que la couverture d'un livre ou la jaquette d'une vidéo. Cette image peut être
télé-chargée en trois différentes tailles, en fonction du produit. Pour éviter
qu'un trop grand nombre d'images ralentisse l'application, les images moyennes
ou grandes ne sont pas recommandées. L'ID de l'associé doit être utilisée pour
accéder aux Services Web Amazon.com et sont inclus dans les liens vers les
produits, en accord avec les conditions d'utilisation des Services Web
Amazon.com.
</para>
</sect2>
<sect2 id="imdb">
<title>Base de données de films sur Internet (IMDb)</title>
<para>
La <ulink url="http://www.imdb.com">base de données de films sur Internet (IMDb)</ulink>
fournit des informations à propos des films et des vidéos. Quand une recherche
est faite pour une <emphasis>personne</emphasis>, si plus d'un résultat est
retourné, une boîte de dialogue est ouverte pour vous permettre de choisir la
bonne référence. Les options de configuration concernent l'adresse du serveur
web et si les images doivent être télé-chargées ou non. IMDb pouvant donner un
nombre important de participants à un film, vous pouvez limiter ce nombre.
</para>
<screenshot>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="imdb-options.png"/></imageobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="z3950">
<title>Serveurs z39.50</title>
<para>
Le <ulink url="http://www.cni.org/pub/NISO/docs/Z39.50-brochure/50.brochure.toc.html">protocole z39.50</ulink>
est utilisé pour accéder à des bibliothèques et des fournisseurs d'informations
bibliographiques à travers le Monde. Des listes de serveurs z39.50 publics sont
<ulink url="http://www.indexdata.dk/targettest/">disponibles sur indexdata.dk</ulink>,
entre autres. &appname; peut accéder à tous les serveurs z39.50 fournissant des
données dans les formats <acronym>MODS</acronym>,
<acronym>USMARC</acronym>/<acronym>MARC21</acronym>, ou
<acronym>UNIMARC</acronym>, en utilisant la
<ulink url="http://www.indexdata.dk/yaz/">bibliothèque yaz</ulink>.
Une gestion limitée du format <acronym>GRS-1</acronym> est également disponible.
</para>
<screenshot>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="z3950-options.png"/></imageobject>
</mediaobject>
</screenshot>
<para>
Le port par défaut pour accéder à un serveur z39.50 est 210, mais certains
serveurs peuvent en utiliser un différent. &appname; considère que le serveur
utilise l'encodage de caractères MARC-8, sauf s'il est configuré autrement. Si
un encodage de caractères incorrect est utilisé, un message d'erreur peut être
affiché, ou l'import peut ne donner aucun résultat.
</para>
<para>
Certains serveurs nécessitent un nom d'utilisateur et un mot de passe pour y
accéder. &appname; peut utiliser et sauvegarder ce mot de passe ; mais soyez
conscient qu'il sera écrit en clair dans le fichier de configuration de
&appname; et ne sera pas en sécurité. Pour la plupart des serveurs publics, le
nom d'utilisateur et le mot de passe peut être laissé vides.
</para>
</sect2>
<sect2 id="sru">
<title>Serveurs SRU</title>
<para>
SRU signifie
<ulink url="http://www.loc.gov/standards/sru/">Search/Retrieve via URL</ulink>.
Il d'un protocole de recherche pour Internet. Certaines bibliothèques
l'utilisent pour permettre l'accès à leurs catalogues de données. Parmi
celles-ci, la
<ulink url="http://www.loc.gov/z3950/lcserver.html#oppr">bibliothèque du congrès américain</ulink>
est probablement la plus connue.
</para>
<screenshot>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="sru-options.png"/></imageobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="entrez">
<title>Bases de données Entrez</title>
<para>
<ulink url="http://www.ncbi.nlm.nih.gov/Entrez/">Entrez</ulink> est un système
de recherche et de récupération d'informations, utilisé au centre national
d'information sur la biotechnologie américain (National Center for
Biotechnology Information, NCBI). La base de données Entrez la plus connue est
<ulink url="http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?db=PubMed">PubMed</ulink>,
la base de données d'articles sur les sciences de la vie pour de nombreux
journaux traitant de biologie. Pour le moment, la seule base de données Entrez
gérée par &appname; est PubMed.
</para>
</sect2>
<sect2 id="yahoo">
<title>Recherche Yahoo! Audio</title>
<para>
Le service de recherche
<ulink url="http://audio.search.yahoo.com">Yahoo! Audio</ulink> peut être
utilisé pour chercher les informations sur les albums de musique.
</para>
</sect2>
<sect2 id="animenfo">
<title>AnimeNfo.com</title>
<para>
<ulink url="http://www.animenfo.com">AnimeNfo</ulink> est un site populaire
d'informations sur l'animation japonaise.
</para>
</sect2>
<sect2 id="ibs">
<title>Internet Bookstore Italia</title>
<para>
<ulink url="http://ibs.it">IBS, ou Internet Bookstore Italia</ulink>, est un
magasin en ligne italien, vendant des livres.
</para>
</sect2>
<sect2 id="isbndb">
<title>ISBNdb.com</title>
<para>
<ulink url="http://isbndb.com">ISBNdb.com</ulink> est une base de données en
ligne de livres, comprenant des informations provenant de plusieurs pays.
</para>
</sect2>
<sect2 id="allocine">
<title>Allociné.fr</title>
<para>
<ulink url="http://www.allocine.fr">Allociné.fr</ulink> est une base de données
française en ligne de filme. Cette source
<link linkend="externalexec">fonctionne sous la forme d'un script</link> et
nécessite l'installation de <ulink url="http://python.org">Python</ulink>.
</para>
</sect2>
<sect2 id="minculture">
<title>Ministre espagnol de la culture</title>
<para>
Le <ulink url="http://www.mcu.es">Ministre espagnol de la culture</ulink> est
une base de données en ligne espagnole de livres. Cette source
<link linkend="externalexec">fonctionne sous la forme d'un script</link> et
nécessite l'installation de <ulink url="http://python.org">Python</ulink>.
</para>
</sect2>
<sect2 id="darkhorse">
<title>Dark Horse Comics</title>
<para>
<ulink url="http://darkhorse.com">Dark Horse Comics</ulink> est une éditeur de
bandes dessinées. Cette source
<link linkend="externalexec">fonctionne sous la forme d'un script</link> et
nécessite l'installation de <ulink url="http://python.org">Python</ulink>.
</para>
</sect2>
<sect2 id="externalexec">
<title>Scripts ou applications externes</title>
<para>
Pour importer plus facilement des données externes dans &appname;, il est
possible d'utiliser des scripts ou applications externes en tant qu'interfaces
de recherche. &appname; exécute une commande, et passe les termes recherchés en
tant que paramètres de ligne de commande.
</para>
<screenshot>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="externalexec-options.png"/></imageobject>
</mediaobject>
</screenshot>
<para>
Le type de collection renvoyé par le script soit être configuré, ainsi que le
format de données. Non seulement &appname; peut importer des données de scripts
utilisant le
<link linkend="file-format">format &xml; de &appname; par défaut</link> ; mais
il peut également gérer d'autres formats tels que BibTeX.
</para>
<para>
Le chemin complet de l'application doit être entré dans les options de source.
L'application est exécutée avec les droits de l'utilisateur en cours, prenez
donc garde à ne pas utiliser de script d'origine inconnue. Vérifiez que les
boîtes à côté des clefs de recherche sont bien gérées par l'application, et
entrez les options de la ligne de commande.La valeur cherchée est insérée à la
place de <userinput>%1</userinput>.
</para>
<para>
Pour mettre à jour des entrées déjà dans la collection, les dernières à cocher
et de saisie de texte sont utilisées pour déterminer les options de ligne de
commande. Les champs de l'entrée utilisés pour trouver une mise à jour doivent
être saisis dans le même format que les champs de type
<emphasis><link linkend="dependent">Dépendant</link></emphasis>.
</para>
</sect2>
</sect1>
</chapter>

Binary file not shown.

@ -0,0 +1,613 @@
<chapter id="details">
<title>Détails de &appname;</title>
<sect1 id="field-types">
<title>Types de champs</title>
<para>
Chaque collection peut avoir un nombre illimité de champs. &appname; gère
onze types de champs, permettant une large variété de données différentes.
</para>
<sect2 id="line">
<title>Texte simple</title>
<para>
Le type de champ de base est appelé <emphasis>Texte Simple</emphasis>. Aucune
restrictions ne s'applique aux valeurs, et l'élément d'édition est une simple
ligne. Ce type convient aux champs destinés à ne pas contenir de long texte,
tels que l' auteur ou le genre d'un livre.
</para>
</sect2>
<sect2 id="number">
<title>Nombre</title>
<para>
Le type <emphasis>Nombre</emphasis> est identique au
<emphasis>Texte simple</emphasis>, mais le contenu est restreint aux valeurs
numériques. Les entrées seront triées par ordre numérique croissant si l'on
clique sur l'en-tête d'un champ de type <emphasis>Nombre</emphasis>. La ligne
d'éditions classique est utilisée, avec des flèches pour augmenter ou diminuer
la valeur. Aucune mise en forme n'est appliquée.
</para>
</sect2>
<sect2 id="url">
<title>&URL;</title>
<para>
Le type <emphasis>&URL;</emphasis> permet d'inclure un lien vers un autre
document, en utilisant l'association au type de fichier de &kde; pour l'ouvrir.
Aucune vérification n'est effectuée sur le contenu d'un champ
<emphasis>&URL;</emphasis> ; mais les liens non valides ne sont pas ouverts.
L'élément de saisie est une ligne d'édition avec un bouton pour ouvrir la boîte
de dialogue standard d'ouverture de fichier ; mais tout type d'&URL; peut être
utilisé. Les &URL; relatives sont interprétées par rapport au chemin du fichier
de données, une fois qu'il a été enregistré.
</para>
<para>
Dans l'<link linkend="entry-editor">&entry-editor;</link>, le texte devient un
lien ; alors que dans la <link linkend="entry-view">&entry-view;</link>, un
hyperlien classique est utilisé. Ce type de champ convient pour lier à des
fichiers <acronym>PDF</acronym> pour des entrées bibliographiques ou des
critiques de film par exemple. Aucune mise en forme n'est appliquée.
</para>
<para>
Des &URL; relatives peuvent également être utilisées. Elles sont interprétées
par rapport au chemin du fichier de données &appname;. Dans
l'<link linkend="entry-editor">&entry-editor;</link>, la ligne d'édition
permet l'auto-complétion pour les fichiers locaux. Si vous souhaitez que
l"&URL; fournie par le sélecteur de fichiers &kde; soit interprétée de façon
relative par rapport au fichier &appname;, ajoutez une propriété étendue pour
le champ &URL; avec comme valeurs
<emphasis>relative</emphasis> : <emphasis>true</emphasis>.
</para>
</sect2>
<sect2 id="para">
<title>Paragraphe</title>
<para>
Pour les textes plus longs, le type <emphasis>Paragraphe</emphasis>offre une
zone d'édition plus importante, dans sa propre catégorie. Un champ de type
<emphasis>Paragraphe</emphasis> ne peut être à multiples values, ni mis en
forme automatiquement. Il ne peut pas être utilisé pour le regroupement.
Les résumée, introductions et critiques devraient être saisies dans ce type de
champ.
</para>
</sect2>
<sect2 id="choice">
<title>Choix</title>
<para>
Quand un champ doit être limité à quelques valeurs pré-sélectionnées, un champ
de type <emphasis>Choix</emphasis> est utilisé. Les valeurs possibles sont
présentées dans une liste déroulante. Évidement, le principe des valeurs
multiples ne s'applique pas à ce type de champ. Les champs tels que le type
de bibliographie ou de notation sont de type <emphasis>Choix</emphasis>.
</para>
<para>Des point-virgules doivent être utilisés pour séparer les valeurs
possibles.</para>
</sect2>
<sect2 id="bool">
<title>Case à cocher</title>
<para>
Pour les champs prenant seulement comme valeurs oui ou non, le type
<emphasis>Case à cocher</emphasis> est disponible. Par défaut, la case n'est
pas cochée. Le champ n'est bien entendu pas mis en forme et est limité à une
seule valeur. En interne, les valeurs sont enregistrées en tant que
<emphasis><constant>true</constant></emphasis> et
<emphasis><constant>false</constant></emphasis>. Les champs "offert" et "prêté"
sont de ce type.</para>
</sect2>
<sect2 id="date">
<title>Date</title>
<para>
Un champ de type <emphasis>Date</emphasis> peut inclure jour, mois et année.
La date est affichée au format AAAA-MM-JJ, qui permet de les trier facilement.
Le sélecteur de date &kde; peut être utilisé pour choisir la date à la souris,
ou celle)ci peut être entrée à la main. Les trois champs jour, mois et année
peuvent être vide. Il n'est bien sûr pas possible d'avoir des valeurs
multiples.
</para>
</sect2>
<sect2 id="table">
<title>Tableau</title>
<para>
Les champs de type <emphasis>Tableau</emphasis> contienent une ou plusieurs
colonnes de valeurs. Dans l'<link linkend="entry-editor">&entry-editor;</link>,
le champ se présente comme un tableur avec des lignes numérotées. Lorsque la
dernière ligne est sélectionnée, une ligne supplémentaire est ajoutée.
L'auto-complétion n'est pas disponible. Ce champ est utile pour la liste des
chapitres d'un livre, des scènes d'un livre ou des titres d'un album. Les
champs de type <emphasis>Tableau</emphasis> sont toujours dans leur propre
catégorie.
</para>
<para>
Le nombre de colonnes, un maximum de dix, est défini en ajoutant une propriété
à la définition du champ avec le nom <emphasis>columns</emphasis>. Il est
possible de leur attribuer un titre en cliquant du bouton droit sur l'en-tête,
ou en ajoutant une propriété au champ de type <emphasis>column1</emphasis>,
etc.
</para>
<para>
Lors de l'utilisation de l'&entry-editor; pour les champs de type
<emphasis>Tableau</emphasis>, les lignes peuvent être réordonnées en les
déplaçant avec la souris tout en maintenant le bouton &Ctrl;. Un menu est
également disponible en cliquant du bouton droit sur le tableau, qui permet
d'insérer ou supprimer des lignes.
</para>
</sect2>
<sect2 id="image">
<title>Image</title>
<para>
Un champ de type <emphasis>Image</emphasis> contient une image, dans un format
reconnu par &kde;, tel que <acronym>PNG</acronym> ou <acronym>JPEG</acronym>.
L'image peut être enregistrée dans le fichier de données &appname; lui-même ou
dans le répertoire de données de l'application. Le sélecteur de fichiers &kde;
est utilisé, donc vous pouvez utiliser une &URL; ou un fichier local. Les images
peuvent également être glissée depuis un gestionnaire de fichiers ou un
navigateur.
</para>
</sect2>
<sect2 id="rating">
<title>Note</title>
<para>
Les champs de type <emphasis>Note</emphasis> affichent un nombre d'étoiles
représentant la note numérique d'une entrée. Par défaut, la note maximale est
cinq. Le minimum et le maximum peuvent être configurées dans la &fields-dialog;,
en ajoutant les propriétés <emphasis>minimum</emphasis> et
<emphasis>maximum</emphasis>.
</para>
</sect2>
<sect2 id="dependent">
<title>Dépendant</title>
<para>
Le dernier type de champ est le type <emphasis>Dépendant</emphasis>, que vous
n'utiliserez probablement pas souvent. Il est utilisé pour combiner les valeurs
d'autres champs en utilisant les valeurs des descriptions de champs. Par
exemple, si un champ de type <emphasis>Dépendant</emphasis> a comme description
<userinput>%{title} %{year}</userinput>, la valeur de ce champ sera le titre
suivi de l'année. Ce type de champ est principalement pour le titre dans les
collections de monnaies, timbres, cartes et vins. Le nom interne ou le titre
de champ peut être utilisé dans la description pour la mise en forme.
</para>
</sect2>
</sect1>
<sect1 id="collection-types">
<title>Types de collections</title>
<para>
&appname; gère onwe types de collections par défaut : livres, entrées
bibliographiques, bandes dessinées, vidéos, musique, jeux vidéo, cartes,
monnaie, timbres, vins; jeux de plateau et catalogues de fichiers. De plus, un modèle de
collection générique est disponible pour tout autre type d'objet à
collectionner. Les collections sont uniquement présentes pour inclure un jeu de
champs, vous pouvez en ajouter, modifier et effacer pour l'adapter à vos
besoins. La seule obligation est qu'une collection doit toujours avoir un champ
<emphasis>Titre</emphasis>, pour que la
<link linkend="group-view">&group-view;</link> puisse fonctionner
correctement. Pour certains types de collections, il s'agit seulement d'un champ
<emphasis><link linkend="dependent">Dépendant</link></emphasis> combinant les
valeurs d'autres champs.
</para>
<para>
Il n'y a pas de différence fonctionnelle entre les types de collections. Vous
pourriez créer une collection personnalisée pour vos livres aussi facilement
qu'en utilisant la collection de livres par défaut. Cependant, &appname; choisit
les icônes en en fonction du type de collection et certaines fonctionnalités
peuvent être spécifiques à certaines collections ; donc si vous le pouvez, il
est recommandé d'utiliser les types par défaut. Par exemple, si vous souhaitez
créer une collection de vins mais n'aimez pas les champs par défaut, créez une
collection par défaut et modifiez les champs. De cette façon, &appname; sait
qu'il s'agit d'une collection de vins.
</para>
<sect2 id="book-collection">
<title>Collections de livres</title>
<para>
Les collections de livres ont 26 champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Sous-titre</emphasis>,
<emphasis>Auteur</emphasis>,
<emphasis>Reliure</emphasis>,
<emphasis>Date d'achat</emphasis>,
<emphasis>Prix d'achat</emphasis>,
<emphasis>Éditeur</emphasis>,
<emphasis>Édition</emphasis>,
<emphasis>Année du copyright</emphasis>,
<emphasis>Année de publication</emphasis>,
<emphasis>ISBN#</emphasis>,
<emphasis>LCCN#</emphasis>,
<emphasis>Pages</emphasis>,
<emphasis>Langue</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Mots clef</emphasis>,
<emphasis>Série</emphasis>,
<emphasis>Numéro</emphasis>,
<emphasis>État</emphasis>,
<emphasis>Signé</emphasis>,
<emphasis>Lu</emphasis>,
<emphasis>Offert</emphasis>,
<emphasis>Prêté</emphasis>,
<emphasis>Note</emphasis>,
<emphasis>Couverture</emphasis>, et
<emphasis>Commentaires</emphasis>.
</para>
<para>
Le champ <emphasis>ISBN#</emphasis> est spécial, les numéros
<acronym>ISBN</acronym> étant automatiquement mis en forme et leur chiffre de
vérification calculé.
&appname; reconnaît un champ <acronym>ISBN</acronym> si son nom interne est
<emphasis>isbn</emphasis>. Si vous l'effacez ou souhaitez l'ajouter à un autre
type de collection, créez un champ avec comme titre <emphasis>ISBN</emphasis>,
appliquez la modification, puis donnez-lui le titre désiré. &appname; crée le
nom interne en fonction du titre initial ; mais ne le met pas à jour en cas de
changement.
</para>
</sect2>
<sect2 id="bibliography">
<title>Bibliographies</title>
<para>
Les Bibliographies ont 22 champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Type d'entrée</emphasis>,
<emphasis>Auteur</emphasis>,
<emphasis>Clef BibTeX</emphasis>,
<emphasis>Titre du livre</emphasis>,
<emphasis>Éditeur</emphasis>,
<emphasis>Organisation</emphasis>,
<emphasis>Publié par</emphasis>,
<emphasis>Adresse</emphasis>,
<emphasis>Édition</emphasis>,
<emphasis>Pages</emphasis>,
<emphasis>Année</emphasis>,
<emphasis>Journal</emphasis>,
<emphasis>Mois</emphasis>,
<emphasis>Numéro</emphasis>,
<emphasis>Publié</emphasis>,
<emphasis>Chapitre</emphasis>,
<emphasis>Série</emphasis>,
<emphasis>Volume</emphasis>,
<emphasis>Référence croisée</emphasis>, et
<emphasis>Notes</emphasis>.
</para>
<para>
Bien que les collections bibliographiques ne soient pas spécifiquement liées à
BibTeX, les champs par défaut sont ceux habituellement trouvés dans BibTeX.
Lors de l'export au format BibTeX, une propriété étendue appelée
<emphasis>bibtex</emphasis> est utilisée pour chaque champ afin de définir le
champ BibTeX correspondant. Si vous ajoutez un champ supplémentaire et souhaitez
le voir exporté vers BibTeX, assurez-vous qu'il dispose bien de la propriété
étendue <emphasis>bibtex</emphasis>.
</para>
<para>
&appname; dispose de certaines fonctions spécifiques aux bibliographies. Des
macros BibTeX peuvent être ajoutées, modifiées ou effacées depuis &appname; ;
et l'export au format BibTeX vous donne la possibilité d'appliques les macros.
Les citations BibTeX peuvent être transmises à une application externe telle
que <application>LyX</application> ou <application>Kile</application>, à l'aide
de ce qu'on appelle des
<emphasis><link linkend="hidden-bibtex-options">lyxpipe</link></emphasis>.
</para>
<para>
Les collections de livres peuvent être converties en bibliographies. Les champs
liés à BibTeX sont alors ajoutés, et les propriétés étendues configurées. Cette
fonctionnalité existe principalement pour convertir les anciennes collections,
avant que le type "bibliographie" soit séparé de celui "collection de livres.
</para>
</sect2>
<sect2 id="comic-book-collection">
<title>Collections de bandes dessinées</title>
<para>
Les collections de bandes dessinées ont 22 champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Sous-titre</emphasis>,
<emphasis>Auteur</emphasis>,
<emphasis>Artiste</emphasis>,
<emphasis>Collection</emphasis>,
<emphasis>Numéro</emphasis>,
<emphasis>Éditeur</emphasis>,
<emphasis>Édition</emphasis>,
<emphasis>Année de publication</emphasis>,
<emphasis>Pages</emphasis>,
<emphasis>Pays</emphasis>,
<emphasis>Langue</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Mots clef</emphasis>,
<emphasis>État</emphasis>,
<emphasis>Date d'achat</emphasis>,
<emphasis>Prix d'achat</emphasis>,
<emphasis>Signé</emphasis>,
<emphasis>Offert</emphasis>,
<emphasis>Prêté</emphasis>,
<emphasis>Couverture</emphasis>, et
<emphasis>Commentaires</emphasis>.
</para>
</sect2>
<sect2 id="video-collection">
<title>Collections de vidéos</title>
<para>
Les collections de vidéos ont 30 champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Support</emphasis>,
<emphasis>Année de production</emphasis>,
<emphasis>Certification</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Région</emphasis>,
<emphasis>Nationalité</emphasis>,
<emphasis>Format</emphasis>,
<emphasis>Acteurs</emphasis>,
<emphasis>Réalisateur</emphasis>,
<emphasis>Producteur</emphasis>,
<emphasis>Auteur</emphasis>,
<emphasis>Compositeur</emphasis>,
<emphasis>Studio</emphasis>,
<emphasis>Langues disponibles</emphasis>,
<emphasis>Langues des sous-titres</emphasis>,
<emphasis>Plages audio</emphasis>,
<emphasis>Durée</emphasis>,
<emphasis>Format</emphasis>,
<emphasis>Écran large</emphasis>,
<emphasis>Couleurs</emphasis>,
<emphasis>Version du réalisateur</emphasis>,
<emphasis>Trame</emphasis>,
<emphasis>Note personnelle</emphasis>,
<emphasis>Date d'achat</emphasis>,
<emphasis>Prix d'achat</emphasis>,
<emphasis>Offert</emphasis>,
<emphasis>Prêté</emphasis>,
<emphasis>Jaquette</emphasis>, et
<emphasis>Commentaires</emphasis>.
</para>
<para>
Le champ <emphasis>Acteurs</emphasis> est un <link linkend="table">table</link>
à deux colonnes, avec en principe le nom de l'acteur dans la première colonne
et son rôle dans la seconde. La <emphasis>Durée</emphasis> est supposée être en
minutes ; mais vous pouvez bien entendu changer cela.
</para>
</sect2>
<sect2 id="music-collection">
<title>Collections musicales</title>
<para>
Les collections musicales ont 15 champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Support</emphasis>,
<emphasis>Artiste</emphasis>,
<emphasis>Label</emphasis>,
<emphasis>Année</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Pistes</emphasis>,
<emphasis>Note</emphasis>,
<emphasis>Date d'achat</emphasis>,
<emphasis>Prix d'achat</emphasis>,
<emphasis>Offert</emphasis>,
<emphasis>Prêté</emphasis>,
<emphasis>Mots clef</emphasis>,
<emphasis>Jaquette</emphasis>, et
<emphasis>Commentaires</emphasis>.
</para>
</sect2>
<sect2 id="game-collection">
<title>Collections de jeux</title>
<para>
Les collections de jeux vidéos ont 16 champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Plateforme</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Année de parution</emphasis>,
<emphasis>Éditeur</emphasis>,
<emphasis>Développeur</emphasis>,
<emphasis>ESRB Rating</emphasis>,
<emphasis>Description</emphasis>,
<emphasis>Note personnelle</emphasis>,
<emphasis>Terminé</emphasis>,
<emphasis>Date d'achat</emphasis>,
<emphasis>Prix d'achat</emphasis>,
<emphasis>Offert</emphasis>,
<emphasis>Prêté</emphasis>,
<emphasis>Couverture</emphasis>, et
<emphasis>Commentaires</emphasis>.
</para>
</sect2>
<sect2 id="card-collection">
<title>Collections de cartes</title>
<para>
Les collections de cartes ont 17 champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Joueur</emphasis>,
<emphasis>Équipe</emphasis>,
<emphasis>Marque</emphasis>,
<emphasis>Numéro de carte</emphasis>,
<emphasis>Année</emphasis>,
<emphasis>Séries</emphasis>,
<emphasis>Type de carte</emphasis>,
<emphasis>Date d'achat</emphasis>,
<emphasis>Prix d'achat</emphasis>,
<emphasis>Lieu</emphasis>,
<emphasis>Offert</emphasis>,
<emphasis>Mots clef</emphasis>,
<emphasis>Quantité</emphasis>,
<emphasis>Image recto</emphasis>,
<emphasis>Image verso</emphasis>, et
<emphasis>Commentaires</emphasis>.
</para>
</sect2>
<sect2 id="coin-collection">
<title>Collections de monnaie</title>
<para>
Les collections de monnaie ont 16 champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Type</emphasis>,
<emphasis>Dénomination</emphasis>,
<emphasis>Année</emphasis>,
<emphasis>Mint Mark</emphasis>,
<emphasis>Pays</emphasis>,
<emphasis>Coin Set</emphasis>,
<emphasis>Grade</emphasis>,
<emphasis>Grading Service</emphasis>,
<emphasis>Purchase Date</emphasis>,
<emphasis>Purchase Price</emphasis>,
<emphasis>Location</emphasis>,
<emphasis>Offert</emphasis>,
<emphasis>Obverse</emphasis>,
<emphasis>Reverse</emphasis>, et
<emphasis>Commentaires</emphasis>.
</para>
</sect2>
<sect2 id="stamp-collection">
<title>Collections de timbres</title>
<para>
Les collections de timbres ont 1_ champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Description</emphasis>,
<emphasis>Dénomination</emphasis>,
<emphasis>Pays</emphasis>,
<emphasis>Année d'emission</emphasis>,
<emphasis>Couleur</emphasis>,
<emphasis>Scott#</emphasis>,
<emphasis>Grade</emphasis>,
<emphasis>Annulé</emphasis>,
<emphasis>Hinged</emphasis>,
<emphasis>Centrage</emphasis>,
<emphasis>Gommé</emphasis>,
<emphasis>Date d'achat</emphasis>,
<emphasis>Prix d'achat</emphasis>,
<emphasis>Lieu</emphasis>,
<emphasis>Offert</emphasis>,
<emphasis>Image</emphasis>, et
<emphasis>Commentaires</emphasis>.
</para>
</sect2>
<sect2 id="wine-collection">
<title>Collections de vins</title>
<para>
Les collections de vins ont 15 champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Producteur</emphasis>,
<emphasis>Appellation</emphasis>,
<emphasis>Variété</emphasis>,
<emphasis>Type</emphasis>,
<emphasis>Pays</emphasis>,
<emphasis>Date d'achat</emphasis>,
<emphasis>Prix d'achat</emphasis>,
<emphasis>Lieu</emphasis>,
<emphasis>Quantité</emphasis>,
<emphasis>Bu par</emphasis>,
<emphasis>Note</emphasis>,
<emphasis>Offert</emphasis>,
<emphasis>Étiquette</emphasis>, et
<emphasis>Commentaires</emphasis>.
</para>
</sect2>
<sect2 id="board-game-collection">
<title>Collections de jeux plateau</title>
<para>
Les collections de jeux de plateau ont 15 champs par défaut.
<emphasis>Titre</emphasis>,
<emphasis>Genre</emphasis>,
<emphasis>Mécanisme</emphasis>,
<emphasis>Année de parution</emphasis>,
<emphasis>Éditeur</emphasis>,
<emphasis>Créateur</emphasis>,
<emphasis>Nombre de joueurs</emphasis>,
<emphasis>Description</emphasis>,
<emphasis>Note personnelle</emphasis>,
<emphasis>Date d'achat</emphasis>,
<emphasis>Prix d'achat</emphasis>,
<emphasis>Offert</emphasis>,
<emphasis>Prêté</emphasis>,
<emphasis>Couverture</emphasis>, et
<emphasis>Commentaires</emphasis>.
</para>
</sect2>
<sect2 id="file-catalog">
<title>Catalogues de fichiers</title>
<para>
Les catalogues de fichiers ont 13 champs par défaut.
<emphasis>Nom</emphasis>,
<emphasis>URL</emphasis>,
<emphasis>Description</emphasis>,
<emphasis>Volume</emphasis>,
<emphasis>Type mime</emphasis>,
<emphasis>Taille</emphasis>,
<emphasis>Permissions</emphasis>,
<emphasis>Propriétaire</emphasis>,
<emphasis>Groupe</emphasis>,
<emphasis>Date de création</emphasis>,
<emphasis>Date de modification</emphasis>,
<emphasis>Autres informations</emphasis>, et
<emphasis>Icône</emphasis>,
</para>
</sect2>
<sect2 id="custom-collection">
<title>Collections personnalisées</title>
<para>
Les collections personnalisées ont un champ par défaut, le
<emphasis>Titre</emphasis>. Elle sont prévues pour pouvoir être utilisées
lorsque aucun type par défaut ne convient.
</para>
</sect2>
</sect1>
</chapter>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,279 @@
<chapter id="faqs">
<title>Questions et réponses</title>
<!-- (OPTIONAL but recommended) This chapter should include all of the silly
(and not-so-silly) newbie questions that fill up your mailbox. This chapter
should be reserved for BRIEF questions and answers! If one question uses more
than a page or so then it should probably be part of the
"Using this Application" chapter instead. You should use links to
cross-reference questions to the parts of your documentation that answer them.
This is also a great place to provide pointers to other FAQ's if your users
must do some complicated configuration on other programs in order for your
application work. -->
<qandaset id="faqlist">
<qandaentry>
<question>
<para>Comment démarrer le programme ?</para>
</question>
<answer>
<para>Après avoir télé-chargé et décompressé &appname;, exécutez
<userinput><command>configure</command>
<option>--disable-debug</option>
<option>--enable-final</option></userinput> pour tout configurer:
Il se peut que vous ayez à modifier certaines options de la ligne
de commande. ensuite, exécuter
<userinput><command>make</command></userinput> compilera
&appname;. Ensuite, en tant qu'utilisateur root, exécutez
<userinput><command>make install</command></userinput> pour tout installer.
Être root n'est
nécessaire que si vous installez à un endroit où vous n'avez pas
les droits d'écriture. La commande pour démarrer &appname; est
<userinput><command>tellico</command></userinput>. Si vous installez
un binaire pré-empaqueté, une entrée dans le menu sera ajoutée pour
&appname;. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Comment saisir des auteurs multiples ?</para>
</question>
<answer>
<para>Les noms des auteurs doivent être séparés par un point-virgule,
de la façon suivante :
<userinput>Brian W. Kernighan; Dennis M. Ritchie</userinput>. N'ajoutez
pas le mot "et" ou un autre similaire, même s'il y a 20 auteurs.
Si l'option de mise en forme automatique est activée, le nom de famille
sera automatiquement affiché en premier pour chaque auteur.</para>
<para>Les autres propriétés permettant des valeurs multiples, telles que
"genre" ou "mots-clef" sont saisis de la même manière, avec un point-virgule
entre chaque valeur.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Est-il possible de modifier l'apparence des pages imprimées ?</para>
</question>
<answer>
<para>Oui, bien sûr. Trouvez le fichier
<filename>tellico-printing.xsl</filename> qui devrait se trouver dans le
repertoire $<envar>KDEDIR</envar>/share/apps/tellico/. Vous pouvez le copier
dans $<envar>KDEHOME</envar>/share/apps/tellico/ pour y apporter des
modifications personnelles. Il est nécessaire de connaître le langage
<ulink url="http://www.w3.org/TR/xslt">&xslt;</ulink>, mais modifier ce fichier
est la seule façon de changer la mise en forme. Les données &html; sont
produites à partir de ce fichier, et la manière la plus simple de changer
l'apparence à l'impression est de modifier le CSS dans la partie supérieure du
fichier. N'hésitez pas à poser des questions par e-mail. Les fichiers
d'impression alternatifs &xslt; seront disponibles sur
<ulink url="&homepage;">le site web &appname;</ulink>.</para>
<para>Prenez garde au fait que le fichier
<filename>tellico-printing.xsl</filename> fait référence à un autre,
<filename>tellico-common.xsl</filename>, qui contient certaines structures
&xslt; génériques. Si vous copiez <filename>tellico-printing.xsl</filename>
dans $<envar>KDEHOME</envar>, vous devrez soit modifier l'élément
&lt;xsl:import&gt; pour pointer vers la position du fichier
<filename>tellico-common.xsl</filename> ou copier le fichier commun avec.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Comment regrouper selon un critère que ceux disponibles dans la barre d'outils ?</para>
</question>
<answer>
<para>
Pour permettre de regrouper selon un champs qui le permet pas par défaut,
valider la case "Autoriser le regroupement" pour ce champs en particulier dans
la boite de dialogue "Champs de la collection".
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Qu'est-ce que tous ces messages qui s'affichent quand je lance &appname;?</para></question>
<answer>
<para>Des choses telles que :
<screen width="40">
<computeroutput>Tellico::updateCollectionToolBar</computeroutput>
<computeroutput>BCGroupView::setGroupAttribute - author</computeroutput>
<computeroutput>BCGroupView::slotAddCollection</computeroutput>
<computeroutput>QCheckBox::property( "title" ) failed: property invalid
or does not exist</computeroutput>
</screen>
sont des informations de déboggage. Lors de la compilation, ils peuvent être
désactivés avec l'option <userinput><option>--disable-debug</option></userinput>.
Vous pouvez également utiliser l'option
<userinput><option>--enable-final</option></userinput>, qui utilise
un peu plus de mémoire lors de la compilation, mais rend l'application
plus efficace à l'exécution.</para>
<para>Le dernier message est légèrement différent, il indique que votre
installation de Qt a été compilée avec des informations de déboggage.</para>
<para>Ou, si &appname; est déjà installé, executez
<userinput><command>kdebugdialog</command></userinput> et assurez-vous
que "0 (generic)" n'est pas coché. Cette option désactive l'affichage de tous
les messages de déboggage venant d'applications KDE générique (i.e. celles qui
ne sont pas distribuées officiellement par KDE).</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Comment modifier les colonnes affichées ?</para></question>
<answer>
<para>Cliquez du bouton droit sur la barre d'en-tête. Vous pouvez également
déplacer les en-tête pour les ré-ordonner, ou cliquer dessus pour trier
selon un champ particulier.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Comment puis-je filtrer par rapport à un critère
comme le champs "Lu" ?</para></question>
<answer>
<para>En interne, le champ des cases à cocher de &appname; est sauvegardé avec
la valeur "true" ; donc si vous souhaitez filtrer pour n'afficher que les
livres de science fiction que vous n'avez pas lu par exemple, vous devez faire
deux règles de filtrage. Assurez-vous que la case "Vérifie toutes les règles"
est cochée. Configurez la première règle telle que "Genre" "contenant"
"Science Fiction" (sans guillemets) et la seconde pour avoir
"Lu" "ne contenant pas" "true" (sans guillemets).</para>
<para>De plus, le filtre rapide de la barre d'outils fonctionne pour tous les
champs ; et s'il contient un caractère non alpha-numérique, le texte sera
interprété comme étant une expression régulière. Ainsi, si vous voulez rapidement
filtrer vos livres pour afficher ceux de Weber ou Bujold, tapez "weber|bujold"
(sans guillemets) dans la barre d'outils.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Comment ajouter de nouveaux modèles d'entrées ?</para></question>
<answer>
<para>Les modèles d'entrées devraient être savés dans
<filename class="directory">$<envar>KDEHOME</envar>/share/apps/tellico/entry-templates/</filename>
pour un utilisateur simple, ou dans
<filename class="directory">$<envar>KDEDIR</envar>/share/apps/tellico/entry-templates/</filename>
pour qu'ils soient accessibles à tous. Les modèles dans $<envar>KDEHOME</envar>
sont prioritaires sur les fichiers portant le même nom dans $<envar>KDEDIRS</envar>.
Les modèles d'entrées peuvent être configurés par type de collection dans la
boite de dialogue de configuration.</para>
<para>Les modèles pour la &report-dialog; sont enregistrés dans
<filename class="directory">$<envar>KDEHOME</envar>/share/apps/tellico/report-templates/</filename>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>La compilation et l'installation se sont bien déroulées,
mais quand &appname; démarre, la fenêtre est vide. Qu'est-ce qui
ne va pas ?</para></question>
<answer>
<para>Les logiciels KDE cherchent les données à l'endroit défini par la variable
d'environnement $<envar>KDEDIRS</envar>. Si vous installez dans
<filename class="directory">/usr/local</filename> par exemple, mais que
$<envar>KDEDIRS</envar> est vide ou seulement <filename class="directory">/usr</filename>,
alors &appname; ne pourra pas trouver les fichiers dont il a besoin. Ceci est
particulièrement vrai pour SuSE, pour lequel vous devriez compiler avec
<userinput><option>--prefix</option>=<filename class="directory">/opt/kde3</filename></userinput>. Alternativement,
vous pouvez ajouter une ligne à votre fichier <filename>.profile</filename> pour
configurer $<envar>KDEDIRS</envar>. Veuillez consulter la documentation
de votre shell pour plus de détails.</para>
</answer>
</qandaentry>
<qandaentry>
<question><para>Comment exporter des champs BibTeX supplémentaires ?</para></question>
<answer>
<para>&appname; utilise la propriété <emphasis>bibtex</emphasis> pour savoir
comment exporter les champs BibTeX. Si vous souhaitez ajouter de nouveaux
champs à exporter, tels qu'un résumé (abstract), ouvrez la &fields-dialog;, et
cliquez sur le bouton <guibutton>Propriétés étendues</guibutton>. Ajoutez une
propriété <emphasis>bibtex</emphasis> avec la valeur
<emphasis>abstract</emphasis>. Par la suite, lorsque vous exporterez vos
données vers un format BibTeX ou BibTeXML, cette propriété sera utilisée pour
le nom du champs BibTeX.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Qu'est-il arrivé à Bookcase ?</para>
</question>
<answer>
<para>En raison d'un conflit de marques, Bookcase a été renommé Tellico en septembre 2004.
Tellico 0.12 est alors paru, qui était identique à
Bookcase 0.11, à l'exception du changement de nom.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Le nom Tellico est-il une référence à quoi que ce soit ?</para>
</question>
<answer>
<para>L'auteur a pensé à
<ulink url="http://www.periapsis.org/archives/2004/09/13/renaming_bookcase.html">plusieurs autres noms</ulink>, dont certains étaient liés à des colletions de
livres. Cependant, Tellico permet de gérer plus que des livres: En outre; le
développement de tellico est un passe-temps ; l'auteur a donc choisi un nom qui
lui plaisait, celui d'une ville proche de l'endroit où il a grandi.</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Pourquoi incluez-vous ces liens vers Amazon.com dans les résultats des recherches ?</para>
</question>
<answer>
<para>
Les <ulink url="http://www.amazon.com/gp/browse.html/002-0927720-5265623?node=3440661">termes de l'accord pour accéder aux Services Web Amazon.com</ulink>
requièrent que toutes les images chargées par ce service disposent d'un lien
vers Amazon.com, ainsi que d'un lien additionnel.
Le numéro d'identification d'associé à Amazon.com est obligatoirement inclus,
afin que des paiements ultérieurs puissent être dûment collectés.
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>Pourquoi ne pas utiliser une vraie base de données?</para>
</question>
<answer>
<para>
L'une des raisons pour lesquelles l'auteur a écrit &appname; était d'apprendre
le C++. Il ne connaissait pas le SQL à l'époque, et pour le moment il a une
vague idée sur la façon de s'en servir. Dit simplement, &appname; n'a pas été
conçu au départ comme une base de données relationnelle, et cela ne changera pas
avant qu'il ait appris le SQL et eu le temps et la motivation de changer le
modèle de données. Si ça vous pose un problème, n'utilisez pas &appname;.
</para>
<para>
Bien entendu, toute modification apportée au code est la bienvenue.
</para>
</answer>
</qandaentry>
</qandaset>
</chapter>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,57 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html40/strict.dtd">
<html lang="en-US">
<head>
<title>FreeBSD Documentation License</title>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta HTTP-EQUIV="Content-Language" CONTENT="en-US">
<meta NAME="description" CONTENT="FreeBSD Documentation License">
<meta NAME="keywords" CONTENT="FreeBSD, bsd, Bsd, license, licence, documentation, FreeBSD Documentation license">
<meta NAME="robots" CONTENT="none">
<meta HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<link REL="stylesheet" HREF="common/kde-default.css" TYPE="text/css">
</head>
<body CLASS="license">
<h1>FreeBSD Documentation License</h1>
<p>Redistribution and use in source (SGML DocBook) and 'compiled'
forms (SGML, HTML, PDF, PostScript, RTF and so forth) with or
without modification, are permitted provided that the following
conditions are met:</p>
<ol>
<li>
<p>Redistributions of source code (SGML DocBook)
must retain the above copyright notice, this list
of conditions and the following disclaimer as the
first lines of this file unmodified.</p>
</li>
<li>
<p>Redistributions in compiled form (transformed to
other DTDs, converted to PDF, PostScript, RTF and
other formats) must reproduce the above copyright
notice, this list of conditions and the following
disclaimer in the documentation and/or other
materials provided with the distribution.</p>
</li>
</ol>
<p>THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD
DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.</p>
</body>
</html>

@ -0,0 +1,841 @@
<chapter id="fundamentals">
<title>Utiliser &appname;</title>
<sect1 id="quick-start">
<title>Démarrage rapide</title>
<para>
Par défaut, &appname; démarre avec une collection de livres vide. Pour
travailler avec un autre type de collection, créez-la en utilisant le menu
<menuchoice><guimenu>Fichier</guimenu><guimenuitem>Nouveau</guimenuitem></menuchoice>,
ou le bouton dans la barre d'outils. Les collections sont remplies avec
certains des champs les plus communs ; mais vous pouvez en ajouter, enlever ou
les modifier selon vos besoins.
</para>
<para>
Les nouvelles entrées peuvent être ajoutées en utilisant
l'<link linkend="entry-editor">&entry-editor;</link>. Le menu
<menuchoice><guimenu>Collection</guimenu><guimenuitem>Nouvelle entrée</guimenuitem></menuchoice>
ouvre l'&entry-editor; avec une entrée vide pour la compléter.
L'&entry-editor; peut également être ouvert en utilisant le menu
<menuchoice><guimenu>Paramètres</guimenu><guimenuitem>Afficher l'&entry-editor;</guimenuitem></menuchoice>.
Une fois que vous avez entré les valeurs pour une entrée, vous pouvez les
inclure à la collection en cliquant sur
<guibutton>Enregistrer l'entrée</guibutton> dans la boite de dialogue de
l'&entry-editor;, qui reste ouverte dans le cas où vous souhaiteriez ajouter de
nouvelles entrées.
Une fois que vous avez enregistré une entrée dans la collection, vous pouvez la
modifier en cliquant dessus dans la fenêtre principale.
Si l'&entry-editor; n'est pas déjà ouvert, vous pouvez double-cliquer sur une
entrée pour ouvrir l'éditeur et la modifier.
</para>
<para>
Si vous souhaitez inclure une image avec une entrée, vous pouvez utiliser le
sélecteur de fichiers standard &kde; en cliquant sur le bouton
<guibutton>Sélectionner une image...</guibutton> dans
l'<link linkend="entry-editor">&entry-editor;</link>, ou vous pouvez déplacer
une image depuis le gestionnaire de fichiers ou le navigateur internet dans
l'&entry-editor;.
</para>
<para>
Quand vous sélectionnez une entrée, la
<link linkend="entry-view">&entry-view;</link> affiche une vue mise en forme du
contenu de l'entrée.
Vous pouvez modifier le modèle utilisé pour afficher l'entrée dans la
<link linkend="configuration">&config-dialog;</link>.
</para>
<para>
Les entrées d'une collection sont groupées ensemble lorsqu'elles ont la même
valeur dans certains champs, tels que l'auteur ou le réalisateur.
Vous pouvez modifier le champ utilisé pour grouper en utilisant le menu
déroulant dans la barre d'outils ou dans le menu
<menuchoice><guimenu>Configuration</guimenu><guimenuitem>Options de regroupement</guimenuitem></menuchoice>.
</para>
<para>
Vous pouvez utiliser le &quick-filter; dans la barre d'outils pour limiter
rapidement le nombre d'entrées visibles à celles contenant le mot que vous y
entrez. Ce filtre est également utile quand vous souhaitez trouver rapidement
une entrée. Vous pouvez y entrer le titre ou une autre mot unique qui identifie
l'entrée et la <link linkend="detailed-view">&detailed-view;</link> affichera
uniquement les entrées correspondant au filtre. La barre d'état indique
combien d'entrées existent dans la collection, et combien sont actuellement
filtrées.
</para>
</sect1>
<sect1 id="main-window">
<title>Utilisation générale</title>
<para>
La fenêtre principale a trois parties distinctes ; chacune affichant des
informations sur la collection de manière différente. La partie principale est
la <link linkend="detailed-view">&detailed-view;</link> dans la partie
supérieure droite ; où les valeurs tous les champs de chaque entrée peuvent
être affichées.
Dans la partie gauche, la <link linkend="group-view">&group-view;</link> peut
être utilisée pour afficher les entrées sous forme de groupes dans une
arborescence.
La <link linkend="filter-view">&filter-view;</link> permet de ne voir que les
entrées répondant à certains critères.
La <link linkend="loan-view">&loan-view;</link> affiche les entrées prêtées.
Enfin, la <link linkend="entry-view">&entry-view;</link> affiche les données
d'une entrée mises en forme, ou une vue par icônes d'un groupe d'entrées, dans
la partie inférieure droite.
</para>
<screenshot>
<screeninfo>La fenêtre principale de &appname;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="main-window.png"/></imageobject>
<textobject><phrase>La fenêtre principale de &appname;</phrase></textobject>
</mediaobject>
</screenshot>
<sect2 id="detailed-view">
<title>&detailed-view;</title>
<para>
Tous les champs d'une collection peuvent être affichés dans la &detailed-view; ;
bien que les champs de type
<emphasis><link linkend="para">Paragraphe</link></emphasis>,
<emphasis><link linkend="image">Image</link></emphasis> et
<emphasis><link linkend="table">Table</link></emphasis> ne soient probablement
pas utiles. Cliquer du bouton droit sur l'en-tête affiche un menu permettant de
choisir les champs visibles. Les colonnes peuvent être dimensionnées et
réordonnées ; et les paramètres sont conservés d'une session à l'autre.
</para>
</sect2>
<sect2 id="group-view">
<title>&group-view;</title>
<para>
La &group-view; rassemble les les entrées dans une arborescence selon un champ
<link linkend="field-options">permettant le regroupement</link>.
Le nombre d'entrées dans chaque groupe peut être affiché à coté de son nom en
changeant une option dans la
<link linkend="general-options">&config-dialog;</link>.
Les groupes peuvent être développés en cliquant sur le signe plus, ou en
double-cliquant sur le groupe.
Développer ou refermer tous les groupes sont des options dans le menu
contextuel du clic droit.
L'arbre peut être trié, soit par nom de groupe, soit par nombre d'entrées, en
cliquant du bouton droit sur un groupe.
Un groupe peut également être utilisé en tant que filtre pour la
<link linkend="detailed-view">&detailed-view;</link> en cliquant du bouton droit
sur le groupe.
</para>
<para id="people-group">
Quand plus d'un champ de la collection a l'option
<emphasis><link linkend="fields-dialog"><guilabel>Mise en forme comme un nom</guilabel></link></emphasis>
activée, un groupe supplémentaire est ajouté, regroupant tous ces champs dans
un seul pseudo-groupe <emphasis>Personnes</emphasis>.
</para>
<para>
Si une entrés ne contient pas de valeur pour le champ utilisé pour former les
groupes, celle-ci est placées dans le groupe <emphasis>(Vide)</emphasis>, qui
utilise un répertoire rouge.
</para>
</sect2>
<sect2 id="filter-view">
<title>&filter-view;</title>
<para>
Si des filtres ont été enregistrés pour la collection, la &filter-view; devient
active. Au fur et à mesure que vous ajoutez et modifiez des entrées, celles-ci
seront automatiquement vérifiées par les filtres et ajoutées ou enlevées en
fonction des résultats. Le filtre peut être modifié en double-cliquant dessus
pour ouvrir la &filter-dialog;. Un clic du bouton droit dessus vous permet
également de le supprimer complètement.
</para>
<screenshot>
<screeninfo>La &filter-view;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="filter-view.png"/></imageobject>
<textobject><phrase>La &filter-view;</phrase></textobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="loan-view">
<title>&loan-view;</title>
<para>
Une fois que des entrées ont été marquées comme prêtées, la &loan-view; est
ajoutée à la fenêtre, pour que les entrées empruntées puissent être suivies.
Ceci est fait individuellement pour chaque entrée. Cliquer du bouton droit sur
une entrée propose une option pour modifier le prêt avec la &loan-dialog;.
</para>
<screenshot>
<screeninfo>La &loan-view;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="loan-view.png"/></imageobject>
<textobject><phrase>La &loan-view;</phrase></textobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="entry-view">
<title>&entry-view;</title>
<para>
Une représentation mise en forme des valeurs de l'entrée sélectionnée est
affichée dans la &entry-view;.
Des modèles sont utilisés pour le format d'affichage et les images
supplémentaires.
Des modèles différents pour chaque type de collection peuvent être spécifiés
dans la <link linkend="template-options">&config-dialog;</link>.
Les modèles par défaut affichent les champs de type &URL; actifs, qui s'ouvrent
avec l'association de fichier par défaut de &kde;
Lors des exports en &html;, le modèle courant est utilisé pour exporter les
fichiers d'entrées individuels.
</para>
<para>
De plus, lorsque plusieurs entrées sont sélectionnées, une vue par icônes
des entrées est affichée, en utilisant le
premier champ de type <link linkend="image">Image</link> de la collection.
Les entrées peuvent être sélectionnées dans la &detailed-view;. Un clic
droit sur la vue par icônes affiche un menu qui permet de changer les critères
de tri des entrées.
</para>
</sect2>
<sect2 id="status-bar">
<title>Barre d'état</title>
<para>
La barre d'état est utilisée pour indiquer ce que &appname; est en train de
faire. Elle contient également le nombre total d'entrées dans la collection ;
et si un filtre est utilisé, combien sont visibles.
</para>
</sect2>
</sect1>
<sect1 id="entry-editor">
<title>Modifier des entrées</title>
<para>
L'&entry-editor; est utilisé pour ajouter et modifier des entrées dans la
collection.
Double-cliquer sur une entrée dans la &group-view; ou la &detailed-view;
ouvre l'&entry-editor; avec cette entrée.
De nouvelles entrées peuvent être créées par le menu
<menuchoice><guimenu>Collection</guimenu></menuchoice>,
l'icône de la barre d'outils, ou le bouton dans l'&entry-editor;.
</para>
<para>
Fermer l'&entry-editor; alors que des changements n'ont pas été enregistrés
provoque l'affichage d'un message.
Les champs sont regroupés par catégorie et apparaissent suivant l'ordre dans
lequel ils sont classés dans la
<link linkend="fields-dialog">&fields-dialog;</link>.
Ils peuvent donc également être réordonnées.
</para>
<screenshot>
<screeninfo>L'&entry-editor;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="entry-editor1.png"/></imageobject>
<textobject><phrase>L'&entry-editor;</phrase></textobject>
</mediaobject>
</screenshot>
<para>
Cliquer sur le champ du titre d'une
<link linkend="url"><emphasis>&URL;</emphasis></link> ouvre le lien en fonction
du type de fichier défini dans &kde;. Le bouton
<guiicon>sélecteur d'&URL;</guiicon> à côté de l'entrée de texte ouvre la
boite de dialogue de fichier &kde; par défaut ; mais le champ n'est pas limité
aux fichiers locaux. Tout type d'&URL; peut être entré. Les &URL; relatives ne
sont pas gérées pour le moment, la valeur étant interprétée par rapport à
l'endroit où se trouve la feuille de style du modèle.
</para>
<para>
Pour les champs de type <link linkend="image"><emphasis>Image</emphasis></link>,
le bouton <guibutton>Sélectionner l'image...</guibutton> ouvre la boite de
dialogue de sélection d'image &kde;. L'image est enregistrée dans la
collection dans son format d'origine, et une version mise à l'échelle est
affichée dans l'&entry-editor;. L'image peut être effacée avec le bouton
<guibutton>Effacer</guibutton>. Les images effacées sont retirées de la
collection.
</para>
<screenshot>
<screeninfo>L'&entry-editor; pour les champs de type <emphasis>Image</emphasis></screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="entry-editor3.png"/></imageobject>
<textobject><phrase>L'&entry-editor; pour les champs de type <emphasis>Image</emphasis></phrase></textobject>
</mediaobject>
</screenshot>
<para>
L'éditeur gère également le glisser-déposer. Déplacer une image depuis une
fenêtre &konqueror; aura le même effet que de la choisir à l'aide du
sélecteur de fichiers. Glisser une image depuis l'éditeur vers une fenêtre
&konqueror; enregistrera l'image dans le répertoire.
</para>
<warning>
<para>
Par défaut, les images sont enregistrées dans le fichier de données de la
collection, conservant ainsi toutes les données au même endroit. Cependant,
un trop grand nombre d'images ralentira &appname; et générera des fichiers de
taille importante. Cependant, &appname; peut également enregistrer les images
séparément, soit dans le répertoire
<filename class="directory">$<envar>KDEHOME</envar>/share/apps/tellico/data/</filename>,
soit dans un répertoire au même endroit que le fichier de données Tellico.
Dans ce cas, le chargement et l'enregistrement des fichiers de données est
nettement plus rapide ; mais les fichiers de données ne peuvent alors plus être
transférés ou sauvegardés sans perdre les images. Des fichiers autonomes
(contenant les images) peuvent toujours être créés en utilisant le menu
<menuchoice><guimenu>Fichier</guimenu><guimenu>Exporter</guimenu><guimenuitem>Exporter au format Zip...</guimenuitem></menuchoice>.
</para>
</warning>
<para>
Les champs de type <link linkend="table"><emphasis>Tableau</emphasis></link> sont
initialement créés avec 5 lignes ; mais déplacer le curseur jusqu'à la
dernière ligne en ajoutera une autre. Dans les tableaux à é colonnes, seule
la première est utilisée pour le regroupement ou la mise en forme.
</para>
<screenshot>
<screeninfo>L'&entry-editor; pour les champs de type <emphasis>Tableau</emphasis></screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="entry-editor4.png"/></imageobject>
<textobject><phrase>L'&entry-editor; pour les champs de type <emphasis>Tableau</emphasis></phrase></textobject>
</mediaobject>
</screenshot>
<sect2 id="edit-multiple">
<title>Editer plusieurs Entrées</title>
<para>
Plusieurs entrées peuvent être modifiées en même temps, en les sélectionnant
dans la &group-view; ou la &detailed-view;. Si plusieurs entrées sont
sélectionnées, les champs contenant la même valeur sont actifs. Dans les cas
contraire, ils sont désactivés. Une case à cocher est ajoutée à droite de
chaque champ, permettant de contrôler si le champ est actif ou non.
</para>
<para>
Seuls les champs actifs seront modifiés à la sauvegarde des entrées, ce qui
rend la modification de nombreuses entrées plus simple. Par exemple, pour
changer le type de medium dans une collection de vidéos, éditez les entrées
simultanément, cochez la case pour activer le champ Medium, entrez la valeur
<acronym>DVD</acronym>, et enregistrez les entrées. Seul le champ Medium a été
modifié, préservant les valeurs originales de tous les autres champs.
</para>
<screenshot>
<screeninfo>L'&entry-editor; pour plusieurs entrées</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="entry-editor5.png"/></imageobject>
<textobject><phrase>L'&entry-editor; pour plusieurs entrées</phrase></textobject>
</mediaobject>
</screenshot>
</sect2>
<sect2 id="updating-entries">
<title>Mettre à jour les données d'une entrée</title>
<para>
Les entrées peuvent être automatiquement mises à jour par des requêtes aux
sources de données disponibles pour le type de collection en cours. Ceci peut
être très utile pour combiner les informations de plusieurs sources. Par
exemple, vous pouvez vouloir ajouter un film à votre collection avec les
<link linkend="amazon-web-services">services web Amazon.com</link>, puis mettre
à jour l'entrée avec des informations supplémentaires en provenance de
<link linkend="imdb">IMDb</link>.
</para>
<para>
Seuls les champs vides sont mis à jour ! Si vous voulez mettre à jour la liste
des acteurs d'un film, effacez les données avant de mettre à jour. Pour les
<link linkend="externalexec">scripts externes</link>, un champ mis à jour peut
être spécifié dans les options de la source.
</para>
<para>
La mise à jour d'entrée peut être démarrée via un clic droit pour une entrée, ou
en utilisant le menu
<menuchoice><guimenu>Collection</guimenu><guimenuitem>Mettre à jour l"entrée</guimenuitem></menuchoice>.
</para>
</sect2>
</sect1>
<sect1 id="fields-dialog">
<title>Editer les champs</title>
<para>
La &fields-dialog; vous permet d'ajouter de nouveaux champs à la collection,
de modifier ceux existant ou en effacer.
</para>
<screenshot>
<screeninfo>La &fields-dialog; de &appname;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="fields-dialog.png"/></imageobject>
<textobject><phrase>La &fields-dialog; de &appname;</phrase></textobject>
</mediaobject>
</screenshot>
<sect2 id="field-list">
<title>Liste des champs</title>
<para>
Sur le côté gauche de la boîte de dialogue se trouve la liste des champs. Ceux
qui ont été modifiés apparaissent en gras et italique. Les boutons sous la liste
permettent d'ajouter ou de supprimer des champs, et les flèches de changer leur
ordre. L'ordre des champs dans la liste est important, puisqu'il est utilisé par
l'&entry-editor; pour leur affichage. Pour chaque catégorie, les
champs sont disposés de gauche à droite, en fonction de l'ordre (de haut en bas)
dans lequel ils apparaissent dans la liste.
</para>
</sect2>
<sect2 id="field-properties">
<title>Propriétés des champs</title>
<para>
Un champ est défini par ses titre, type, catégorie, description et
éventuellement d'autres valeurs autorisées. Le titre est utilisé partout pour
référer au champ dans l'interface utilisateur. L'&entry-editor; l'utilise pour
l'affichage de valeurs. La &detailed-view; l'utilise en tant qu'en-tête de
colonnes. Les différents types de champs sont détaillés dans la section
<link linkend="field-types">Types de champs</link>. La description est utilisée
en dans une bulle d'information dans l'&entry-editor;, pour fournir des
explications complémentaires sur le contenu du champ. De plus pour les champs
de type <link linkend="dependent"><emphasis>Dépendant</emphasis></link>, la
description est utilisée pour mettre en forme la valeur du champ. Les valeurs
possibles pour un champ de type
<link linkend="choice"><emphasis>Choix</emphasis></link> doivent être séparées
par des point-virgule.
</para>
<para>
Les nouveaux champs peuvent être de n'importe quel type ; mais la modification
du type de champs existant est limitée à ceux compatibles, tels qu'indiqués dans
le tableau suivant :
</para>
<table>
<title>Changements de type de champ autorisés</title>
<tgroup cols="2">
<thead>
<row>
<entry>Type d'origine</entry>
<entry>Nouveaux types possibles</entry>
</row>
</thead>
<tbody>
<row>
<entry><emphasis>Texte simple</emphasis></entry>
<entry><emphasis>Texte simple</emphasis>, <emphasis>Paragraphe</emphasis>, <emphasis>Nombre</emphasis>, <emphasis>URL</emphasis>, <emphasis>Tableau</emphasis></entry>
</row>
<row>
<entry><emphasis>Paragraphe</emphasis></entry>
<entry><emphasis>Texte simple</emphasis>, <emphasis>Paragraphe</emphasis></entry>
</row>
<row>
<entry><emphasis>Choix</emphasis></entry>
<entry><emphasis>Texte simple</emphasis>, <emphasis>Paragraphe</emphasis>, <emphasis>Choix</emphasis>, <emphasis>Nombre</emphasis>, <emphasis>URL</emphasis>, <emphasis>Tableau</emphasis></entry>
</row>
<row>
<entry><emphasis>Case à cocher</emphasis></entry>
<entry><emphasis>Texte simple</emphasis>, <emphasis>Paragraphe</emphasis>, <emphasis>Case à cocher</emphasis>, <emphasis>Nombre</emphasis>, <emphasis>URL</emphasis>, <emphasis>Tableau</emphasis></entry>
</row>
<row>
<entry><emphasis>Nombre</emphasis></entry>
<entry><emphasis>Texte simple</emphasis>, <emphasis>Paragraphe</emphasis>, <emphasis>Nombre</emphasis>, <emphasis>URL</emphasis>, <emphasis>Tableau</emphasis></entry>
</row>
<row>
<entry><emphasis>URL</emphasis></entry>
<entry><emphasis>Texte simple</emphasis>, <emphasis>Paragraphe</emphasis>, <emphasis>Nombre</emphasis>, <emphasis>URL</emphasis>, <emphasis>Tableau</emphasis></entry>
</row>
<row>
<entry><emphasis>Date</emphasis></entry>
<entry><emphasis>Texte simple</emphasis>, <emphasis>Date</emphasis></entry>
</row>
<row>
<entry><emphasis>Tableau</emphasis></entry>
<entry><emphasis>Texte simple</emphasis>, <emphasis>Paragraphe</emphasis>, <emphasis>Tableau</emphasis></entry>
</row>
<row>
<entry><emphasis>Image</emphasis></entry>
<entry><emphasis>Image</emphasis></entry>
</row>
<row>
<entry><emphasis>Note</emphasis></entry>
<entry><emphasis>Choix</emphasis>, <emphasis>Note</emphasis></entry>
</row>
<row>
<entry><emphasis>Dependant</emphasis></entry>
<entry><emphasis>Dependant</emphasis></entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2 id="field-formatting">
<title>Mise en forme des champs</title>
<para>
&appname; propose la possibilité de mettre en forme automatiquement la valeur
de certains champs. La plis simple mise en forme est la mise en majuscules
automatique, qui met en majuscule la première lettre de chaque mot, à
l'exception des articles. La mise en forme des titres déplace certains articles
du début à la fin du champ. Par exemple "Le Retour du Roi" devient "Retour du
Roi, Le". Les articles apparaissant dans les titres sont configurables. Enfin,
la mise en forme des noms essaie de décomposer le texte, de manière à afficher
le nom de famille en premier. Les différentes particules ou attributs sont
configurables. De plus, le groupe spécial
<emphasis><link linkend="people-group">Personnes</link></emphasis> utilise tous
les champs mis en forme en tant que noms, même si le paramètre global est
désactivé.
</para>
<para>
Toute mise en forme automatique peut être désactivée en modifiant les options
générales dans la <link linkend="general-options">&config-dialog;</link>.
Généralement, la mise en majuscules est une opération distincte de la mise en
forme ; donc un titre peut être automatiquement mis en fome sans activer la mise
en majuscules.
Tous les champs ne permettent pas la mise en forme automatique.
</para>
<table>
<title>Exemples de mise en forme</title>
<tgroup cols="5">
<thead>
<row>
<entry>Type de mise en forme</entry>
<entry>Valeur du champ</entry>
<entry>Majuscules automatiques</entry>
<entry>Mise en forme automatique</entry>
<entry>Majuscules et mise en fome automatiques</entry>
</row>
</thead>
<tbody>
<row>
<entry><emphasis>Titre</emphasis></entry>
<entry>le retour du roi</entry>
<entry>Le Retour du Roi</entry>
<entry>retour du roi, le</entry>
<entry>Retour du Roi, Le</entry>
</row>
<row>
<entry><emphasis>Nom</emphasis></entry>
<entry>tom swift, jr.</entry>
<entry>Tom Swift, Jr.</entry>
<entry>swift, jr., tom</entry>
<entry>Swift, Jr., Tom</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
<sect2 id="field-options">
<title>Options de champ</title>
<para>
Les champs ont également trois options générales. Si l'auto-complétion est
activée, &appname; conserve en mémoire les valeurs de chaque champ et
l'&entry-editor; propose de compléter automatiquement les mots, suivant les
paramètres standard de &kde;.
Tous les champs ne permettent pas l'auto-complétion.
&appname; doit également savoir si un champ peut avoir des valeurs multiples
ou s'il peut être utilisé pour regrouper les entrées.
Un point-virgule est utilisé pour différencier les valeurs multiples lors de
l'édition d'une entrée.
</para>
<para>
Pour des raisons d'efficacité, n'activez pas l'auto-complétion, sauf si vous en
avez besoin pour les champs. Plus il y a de champs avec l'auto-complétion
activée dans une collection, plus &appname; est lent à charger le fichier.
</para>
</sect2>
</sect1>
<sect1 id="filter-dialog">
<title>Filtrer les entrées</title>
<para>
La &filter-dialog; permet de limiter les entrées visibles dans la
<link linkend="detailed-view">&detailed-view;</link> à celles respectant une ou
plusieurs règles de filtrage.
Le filtre peut être utilisé pour trouver les entrées respectant toutes les
règles de la boite de dialogue, ou celles en respectant au moins une.
</para>
<screenshot>
<screeninfo>La &filter-dialog; de &appname;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="filter-dialog.png"/></imageobject>
<textobject><phrase>La &filter-dialog; de &appname;</phrase></textobject>
</mediaobject>
</screenshot>
<para>
Chaque ligne contient une seule règle de filtrage.
Sélectionner un champ à vérifier dans la première boite de la ligne, puis une
règle de filtrage dans celle du centre.
Les règles permettent de chercher des valeurs contenant un certain mot ou sont
exactement identiques.
Une expression régulière peut également être utilisée pour filtrer les entrées,
auquel cas le bouton <guibutton>Éditer...</guibutton> devient actif pour
modifier l'expression.
Enfin, le mot ou la chaîne de caractères doit être entré dans la boite de texte.
</para>
<para>
Jusqu'à huit (8) règles peuvent être utilisées dans le filtre. Les boutons
<guibutton>Plus</guibutton> et <guibutton>Moins</guibutton> peuvent être
utilisés pour ajouter ou enlever des règles.
</para>
<informalexample>
<para>
Pour trouver les livres de science fiction que vous n'avez pas lu, validez
le bouton <guilabel>Vérifier toutes les règles</guilabel>, configurez la
première règle sur <emphasis>Genre contenant science fiction</emphasis>, et la
seconde sur <emphasis>Read ne contient pas true</emphasis>.
<emphasis>Read ne contenant pas true</emphasis>.
(Pour les champs de type <link linkend="bool">Case à cocher</link>, la valeur
interne est <emphasis>true</emphasis>).
</para>
<para>
Pour trouver les livres écrits par Bujold et Weber, validez le bouton
<guilabel>Vérifie une des règles</guilabel>, configurez la première règle sur
<emphasis>Auteur contenant Bujold</emphasis>, et la seconde sur
<emphasis>Auteur contenant Weber</emphasis>.
</para>
</informalexample>
</sect1>
<sect1 id="report-dialog">
<title>Generating Reports</title>
<para>
&appname; peut générer divers rapports concernant votre collection. La
&report-dialog; vérifie les modèles &xslt; dans le répertoire d'installation
ainsi que dans
<filename class="directory">$<envar>KDEHOME</envar>/share/apps/tellico/report-templates/</filename>.
Vous pouvez ainsi en créer de nouveaux, qui seront automatiquement inclus sous
forme d'options dans la &report-dialog;. Certains rapports complexes peuvent
nécessiter un certain temps pour leur génération.
</para>
<para>
Les modèles installés avec &appname; incluent seulement une liste des titres,
la vue en colonne, une vue de groupe, une résumé des groupes et des valeurs les
plus présentes dans ces groupes, un rapport de prêts, et un rapport plus complet
contenant les images. Sélectionnez le modèle désiré et cliquez sur le bouton
<guibutton>Générer</guibutton>. Tout rapport peut également être imprimé ou
enregistré dans un fichier &html;.
</para>
<screenshot>
<screeninfo>La &report-dialog; &appname;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="report-dialog.png"/></imageobject>
<textobject><phrase>La &report-dialog; &appname;</phrase></textobject>
</mediaobject>
</screenshot>
<para>
Les entrées incluses dans le rapport seront limitées à celles de la
&detailed-view; ; donc si vous avez un filtre activé, la &report-dialog;
l'utilisera.
</para>
</sect1>
<sect1 id="loan-dialog">
<title>Gestion des prêts</title>
<para>
&appname; gère les prêts d'entrées de la collection. La &loan-dialog; peut être
ouverte en utilisant le menu <guilabel>Prêter</guilabel>, ou en cliquant du
bouton droit sur une entrée. Plusieurs entrées peuvent être prêtées en une seule
opération.
</para>
<para>
Le nom des personnes empruntant peut être entré directement, ou être extrait
du carnet d'adresses par défaut de &kde; en cliquant sur le bouton à côté du
champ "Nom". La date du prêt est par défaut celle du jour courant ; mais peut
être modifiée. La date de retour dû est optionnelle, et d'autres notes peuvent
être ajoutées à propos du prêt.
</para>
<para>
Si une date de retour dû est entrée, et si &appname; a été compilé avec la
gestion de la libkcal, une alarme peut être ajoutée au calendrier par défaut
de &kde; en tant qu'item "à faire". &korganizer; peut être utilisé pour voir
ces entrées.
</para>
<para>
Lorsqu'une entrée est prêtée, la valeur du champ <emphasis>Prêté</emphasis>
est mise à la valeur <emphasis>true</emphasis>. Si aucun autre champ "Prêté"
n'existe dans la collection, celui-ci est ajouté. Ne modifiez pas ce champ
manuellement ! Les entrées prêtées peuvent être marquées comme rendus en
utilisant le menu ou en cliquant du bouton droit sur une entrée dans la
&loan-view;.
</para>
<screenshot>
<screeninfo>La &loan-dialog; &appname;</screeninfo>
<mediaobject>
<imageobject><imagedata format="PNG" fileref="loan-dialog.png"/></imageobject>
<textobject><phrase>La &loan-dialog; &appname;</phrase></textobject>
</mediaobject>
</screenshot>
</sect1>
<sect1 id="tips">
<title>Astuces générales</title>
<para>
Ceci est la liste des astuces contenues dans les "astuces du jour de &appname;.
</para>
<tip>
<para>
Si un livre a plus d'un auteur, les noms doivent être séparés par des
point-virgule, afin que &appname; puisse les dissocier et les utiliser
séparément. Tous les autres champs permettant d'avoir plusieurs valeurs doivent
être saisis de la même manière.
</para>
</tip>
<tip>
<para>
Vous pouvez choisir quels champs doivent être affichés dans la vue en liste en
cliquant du bouton droit sur l'en-tête des colonnes.
</para>
</tip>
<tip>
<para>
Vous pouvez ajouter ou modifier les champs de la collection avec la
&fields-dialog;. Les boutons avec des flèches sous la liste peuvent être
utilisés pour changer la position dans la liste, ce qui affecte le
positionnement dans l'&entry-editor;.
</para>
</tip>
<tip>
<para>
Si vous souhaitez filtrer selon un champ
<link linkend="bool"><emphasis>Case à cocher</emphasis></link>, la valeur
"true" doit être utilisée. Si vous voulez afficher uniquement les films de
science fiction que vous n'avez pas lus, par exemple, cochez la case
<guilabel>Vérifie tout</guilabel>, configurez la première règle en tant que
"Genre" "contient" "Science Fiction" (sans guillemets) et la seconde règle en
tant que "Lu" "ne contient pas" "true" (sans guillemets).
</para>
</tip>
<tip>
<para>
Si un caractère non alphabétique est utilisé dans le filtre rapide, le texte
est interprété en tant qu'expression régulière. Pour afficher uniquement les
livres de Weber ou Bujold par exemple, entrez "weber|bujold" (sans guillemets)
dans la boîte de filtre.
</para>
</tip>
<tip>
<para>
Vous pouvez modifier plus d'une entrée à la fois, en gardant appuyée la touche
Maj ou Control et en sélectionnant plusieurs entrées.
</para>
</tip>
<tip>
<para>
Vous pouvez convertir une collection de livres en bibliographie, qui peut alors
être exportée au format BibTeX ou BibTeXML.
</para>
</tip>
<tip>
<para>
Si plus d'un champ est mis en forme en tant que nom, un group supplémentaire
appelé "Personnes" est ajouté à la collection, permettant ainsi aux auteurs et
éditeurs d'être affichés ensemble, par exemple.
</para>
</tip>
<tip>
<para>
Vous pouvez modifier l'apparence des données affichées en modifiant le fichier
<filename>tellico-printing.xsl</filename>. Le fichier génère du &html; ; et le
&css; contenu dans la feuille de style détermine les aspects tels que les
polices, marges, etc.
</para>
</tip>
<tip>
<para>
Double-cliquer sur une entrée ouvre l'&entry-editor;.
</para>
</tip>
<tip>
<para>
Vous pouvez ajouter des tags &html; aux champs de type
<link linkend="para"><emphasis>paragraphe</emphasis></link> pour la mise en
forme, tels que &lt;b&gt;<emphasis role="bold">bold</emphasis>&lt;/b&gt; (gras)
ou &lt;i&gt;<emphasis>italic</emphasis>&lt;/i&gt; (italique).
</para>
</tip>
<tip>
<para>
Dans la &detailed-view;, vous pouvez presser une lettre au clavier pour
aller directement you can press a letter on the
keyboard to skip to the next entry that starts with that letter.
</para>
</tip>
<tip>
<para>
Vous pouvez utiliser les champs dépendant pour combiner plusieurs champs dans
un seul. Sélectionez le type dépendant pour le champ et entrez une description
similaire à "<userinput>Value: %{fielda}%{fieldb}</userinput>" en remplaçant le
contenu de %{...} par le nom de champ approprié. Ceci est utile pour regrouper
plusieurs valeurs dans un seul champ ; par exemple pour un meilleur
regroupement ou combiner différents champs tout en respectant les critères de
tri. Considérez par éxemple un champ numérique suivi par un champ de text avec
des entrées 3b et 14a.
</para>
</tip>
</sect1>
</chapter>

Binary file not shown.

@ -0,0 +1,448 @@
<chapter id="hacking">
<title>Hacking &appname;</title>
<para>
Suivant l'esprit du Logiciel Libre, vous pouvez modifier &appname; autant que