Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.

BUG:215923


git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdegraphics@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
v3.5.13-sru
toma 16 years ago
commit 47d455dd55

@ -0,0 +1,3 @@
Look in the subdirs to get info about the authors.

@ -0,0 +1,347 @@
NOTE! The GPL below is copyrighted by the Free Software Foundation, but
the instance of code that it refers to (the kde programs) are copyrighted
by the authors who actually wrote it.
---------------------------------------------------------------------------
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 USA
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) 19yy <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) 19yy 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.

@ -0,0 +1,397 @@
GNU Free Documentation License
Version 1.2, November 2002
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other
functional and useful document "free" in the sense of freedom: to
assure everyone the effective freedom to copy and redistribute it,
with or without modifying it, either commercially or noncommercially.
Secondarily, this License preserves for the author and publisher a way
to get credit for their work, while not being considered responsible
for modifications made by others.
This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense. It
complements the GNU General Public License, which is a copyleft
license designed for free software.
We have designed this License in order to use it for manuals for free
software, because free software needs free documentation: a free
program should come with manuals providing the same freedoms that the
software does. But this License is not limited to software manuals;
it can be used for any textual work, regardless of subject matter or
whether it is published as a printed book. We recommend this License
principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that
contains a notice placed by the copyright holder saying it can be
distributed under the terms of this License. Such a notice grants a
world-wide, royalty-free license, unlimited in duration, to use that
work under the conditions stated herein. The "Document", below,
refers to any such manual or work. Any member of the public is a
licensee, and is addressed as "you". You accept the license if you
copy, modify or distribute the work in a way requiring permission
under copyright law.
A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
A "Secondary Section" is a named appendix or a front-matter section of
the Document that deals exclusively with the relationship of the
publishers or authors of the Document to the Document's overall subject
(or to related matters) and contains nothing that could fall directly
within that overall subject. (Thus, if the Document is in part a
textbook of mathematics, a Secondary Section may not explain any
mathematics.) The relationship could be a matter of historical
connection with the subject or with related matters, or of legal,
commercial, philosophical, ethical or political position regarding
them.
The "Invariant Sections" are certain Secondary Sections whose titles
are designated, as being those of Invariant Sections, in the notice
that says that the Document is released under this License. If a
section does not fit the above definition of Secondary then it is not
allowed to be designated as Invariant. The Document may contain zero
Invariant Sections. If the Document does not identify any Invariant
Sections then there are none.
The "Cover Texts" are certain short passages of text that are listed,
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
the Document is released under this License. A Front-Cover Text may
be at most 5 words, and a Back-Cover Text may be at most 25 words.
A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed of
pixels) generic paint programs or (for drawings) some widely available
drawing editor, and that is suitable for input to text formatters or
for automatic translation to a variety of formats suitable for input
to text formatters. A copy made in an otherwise Transparent file
format whose markup, or absence of markup, has been arranged to thwart
or discourage subsequent modification by readers is not Transparent.
An image format is not Transparent if used for any substantial amount
of text. A copy that is not "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format, SGML
or XML using a publicly available DTD, and standard-conforming simple
HTML, PostScript or PDF designed for human modification. Examples of
transparent image formats include PNG, XCF and JPG. Opaque formats
include proprietary formats that can be read and edited only by
proprietary word processors, SGML or XML for which the DTD and/or
processing tools are not generally available, and the
machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.
The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the material
this License requires to appear in the title page. For works in
formats which do not have any title page as such, "Title Page" means
the text near the most prominent appearance of the work's title,
preceding the beginning of the body of the text.
A section "Entitled XYZ" means a named subunit of the Document whose
title either is precisely XYZ or contains XYZ in parentheses following
text that translates XYZ in another language. (Here XYZ stands for a
specific section name mentioned below, such as "Acknowledgements",
"Dedications", "Endorsements", or "History".) To "Preserve the Title"
of such a section when you modify the Document means that it remains a
section "Entitled XYZ" according to this definition.
The Document may include Warranty Disclaimers next to the notice which
states that this License applies to the Document. These Warranty
Disclaimers are considered to be included by reference in this
License, but only as regards disclaiming warranties: any other
implication that these Warranty Disclaimers may have is void and has
no effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either
commercially or noncommercially, provided that this License, the
copyright notices, and the license notice saying this License applies
to the Document are reproduced in all copies, and that you add no other
conditions whatsoever to those of this License. You may not use
technical measures to obstruct or control the reading or further
copying of the copies you make or distribute. However, you may accept
compensation in exchange for copies. If you distribute a large enough
number of copies you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and
you may publicly display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have
printed covers) of the Document, numbering more than 100, and the
Document's license notice requires Cover Texts, you must enclose the
copies in covers that carry, clearly and legibly, all these Cover
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
the back cover. Both covers must also clearly and legibly identify
you as the publisher of these copies. The front cover must present
the full title with all words of the title equally prominent and
visible. You may add other material on the covers in addition.
Copying with changes limited to the covers, as long as they preserve
the title of the Document and satisfy these conditions, can be treated
as verbatim copying in other respects.
If the required texts for either cover are too voluminous to fit
legibly, you should put the first ones listed (as many as fit
reasonably) on the actual cover, and continue the rest onto adjacent
pages.
If you publish or distribute Opaque copies of the Document numbering
more than 100, you must either include a machine-readable Transparent
copy along with each Opaque copy, or state in or with each Opaque copy
a computer-network location from which the general network-using
public has access to download using public-standard network protocols
a complete Transparent copy of the Document, free of added material.
If you use the latter option, you must take reasonably prudent steps,
when you begin distribution of Opaque copies in quantity, to ensure
that this Transparent copy will remain thus accessible at the stated
location until at least one year after the last time you distribute an
Opaque copy (directly or through your agents or retailers) of that
edition to the public.
It is requested, but not required, that you contact the authors of the
Document well before redistributing any large number of copies, to give
them a chance to provide you with an updated version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under
the conditions of sections 2 and 3 above, provided that you release
the Modified Version under precisely this License, with the Modified
Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy
of it. In addition, you must do these things in the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title distinct
from that of the Document, and from those of previous versions
(which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version
if the original publisher of that version gives permission.
B. List on the Title Page, as authors, one or more persons or entities
responsible for authorship of the modifications in the Modified
Version, together with at least five of the principal authors of the
Document (all of its principal authors, if it has fewer than five),
unless they release you from this requirement.
C. State on the Title page the name of the publisher of the
Modified Version, as the publisher.
D. Preserve all the copyright notices of the Document.
E. Add an appropriate copyright notice for your modifications
adjacent to the other copyright notices.
F. Include, immediately after the copyright notices, a license notice
giving the public permission to use the Modified Version under the
terms of this License, in the form shown in the Addendum below.
G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Document's license notice.
H. Include an unaltered copy of this License.
I. Preserve the section Entitled "History", Preserve its Title, and add
to it an item stating at least the title, year, new authors, and
publisher of the Modified Version as given on the Title Page. If
there is no section Entitled "History" in the Document, create one
stating the title, year, authors, and publisher of the Document as
given on its Title Page, then add an item describing the Modified
Version as stated in the previous sentence.
J. Preserve the network location, if any, given in the Document for
public access to a Transparent copy of the Document, and likewise
the network locations given in the Document for previous versions
it was based on. These may be placed in the "History" section.
You may omit a network location for a work that was published at
least four years before the Document itself, or if the original
publisher of the version it refers to gives permission.
K. For any section Entitled "Acknowledgements" or "Dedications",
Preserve the Title of the section, and preserve in the section all
the substance and tone of each of the contributor acknowledgements
and/or dedications given therein.
L. Preserve all the Invariant Sections of the Document,
unaltered in their text and in their titles. Section numbers
or the equivalent are not considered part of the section titles.
M. Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled "Endorsements"
or to conflict in title with any Invariant Section.
O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or
appendices that qualify as Secondary Sections and contain no material
copied from the Document, you may at your option designate some or all
of these sections as invariant. To do this, add their titles to the
list of Invariant Sections in the Modified Version's license notice.
These titles must be distinct from any other section titles.
You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
parties--for example, statements of peer review or that the text has
been approved by an organization as the authoritative definition of a
standard.
You may add a passage of up to five words as a Front-Cover Text, and a
passage of up to 25 words as a Back-Cover Text, to the end of the list
of Cover Texts in the Modified Version. Only one passage of
Front-Cover Text and one of Back-Cover Text may be added by (or
through arrangements made by) any one entity. If the Document already
includes a cover text for the same cover, previously added by you or
by arrangement made by the same entity you are acting on behalf of,
you may not add another; but you may replace the old one, on explicit
permission from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License
give permission to use their names for publicity for or to assert or
imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this
License, under the terms defined in section 4 above for modified
versions, provided that you include in the combination all of the
Invariant Sections of all of the original documents, unmodified, and
list them all as Invariant Sections of your combined work in its
license notice, and that you preserve all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and
multiple identical Invariant Sections may be replaced with a single
copy. If there are multiple Invariant Sections with the same name but
different contents, make the title of each such section unique by
adding at the end of it, in parentheses, the name of the original
author or publisher of that section if known, or else a unique number.
Make the same adjustment to the section titles in the list of
Invariant Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled "History"
in the various original documents, forming one section Entitled
"History"; likewise combine any sections Entitled "Acknowledgements",
and any sections Entitled "Dedications". You must delete all sections
Entitled "Endorsements".
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents
released under this License, and replace the individual copies of this
License in the various documents with a single copy that is included in
the collection, provided that you follow the rules of this License for
verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute
it individually under this License, provided you insert a copy of this
License into the extracted document, and follow this License in all
other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate
and independent documents or works, in or on a volume of a storage or
distribution medium, is called an "aggregate" if the copyright
resulting from the compilation is not used to limit the legal rights
of the compilation's users beyond what the individual works permit.
When the Document is included in an aggregate, this License does not
apply to the other works in the aggregate which are not themselves
derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half of
the entire aggregate, the Document's Cover Texts may be placed on
covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic form.
Otherwise they must appear on printed covers that bracket the whole
aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may
distribute translations of the Document under the terms of section 4.
Replacing Invariant Sections with translations requires special
permission from their copyright holders, but you may include
translations of some or all Invariant Sections in addition to the
original versions of these Invariant Sections. You may include a
translation of this License, and all the license notices in the
Document, and any Warranty Disclaimers, provided that you also include
the original English version of this License and the original versions
of those notices and disclaimers. In case of a disagreement between
the translation and the original version of this License or a notice
or disclaimer, the original version will prevail.
If a section in the Document is Entitled "Acknowledgements",
"Dedications", or "History", the requirement (section 4) to Preserve
its Title (section 1) will typically require changing the actual
title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except
as expressly provided for under this License. Any other attempt to
copy, modify, sublicense or distribute the Document 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.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation 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. See
http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
License "or any later version" applies to it, you have the option of
following the terms and conditions either of that specified version or
of any later version that has been published (not as a draft) by the
Free Software Foundation. If the Document does not specify a version
number of this License, you may choose any version ever published (not
as a draft) by the Free Software Foundation.
ADDENDUM: How to use this License for your documents
To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and
license notices just after the title page:
Copyright (c) YEAR YOUR NAME.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2
or any later version published by the Free Software Foundation;
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included in the section entitled "GNU
Free Documentation License".
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
replace the "with...Texts." line with this:
with the Invariant Sections being LIST THEIR TITLES, with the
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
If you have Invariant Sections without Cover Texts, or some other
combination of the three, merge those two alternatives to suit the
situation.
If your document contains nontrivial examples of program code, we
recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.

@ -0,0 +1,17 @@
1998-12-05 Alex Zepeda <garbanzo@hooked.net>
* README: Use a "new" style README.
1998-11-13 Alex Zepeda <garbanzo@hooked.net>
* Makefile.cvs (all): Use an updated Makefile.cvs from kdenetwork that
tests for the admin directory.
* configure.in.1: Remove comment about this being Alpha (quality)
software, and update version number (now it's at 1.1pre). Also, now
it uses the kde-common copy of the autoconf stuff.
1998-11-08 Alex Zepeda <alex@zippy.dyn.ml.org>
* Makefile.cvs (all): Use the kde-common version of automoc.

@ -0,0 +1,176 @@
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. Optionally, type `make check' to run any self-tests that come with
the package.
4. Type `make install' to install the programs and any data files and
documentation.
5. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
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/kde/bin', `/usr/local/kde/lib', etc. You can specify an
installation prefix other than `/usr/local/kde' 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,16 @@
/**
* @mainpage The KDE Graphics API Reference
*
* This section contains the KDE online class reference for the current
* development version of the KDE graphics package.
*
* - <a href="kviewshell/html/index.html"><b>kviewshell</b></a>
* (<a href="kviewshell/html/classes.html">classes</a>)\n
* <i>API for the implementation of kviewshell plugins.</i>
*
* More information about the KDE architecture in form of
* tutorials, HOWTOs,
* and FAQs can be found at
* the <a href="http://developer.kde.org">KDE Developer's corner</a>.
*/

@ -0,0 +1,22 @@
## kdegraphics/Makefile.am $Id$
## (C) 1997 Stephan Kulow
AUTOMAKE_OPTIONS = foreign 1.6.1
COMPILE_BEFORE_kooka = libkscan
COMPILE_BEFORE_kfaxview = kfax
COMPILE_BEFORE_kfile-plugins = kghostview
COMPILE_AFTER_kviewshell = kdvi kfaxview
DISTCLEANFILES = inst-apps
EXTRA_DIST = admin debian kdebase.spec.in README.pam kde.pamd
dist-hook:
cd $(top_distdir) && perl $(top_srcdir)/admin/am_edit -padmin
MAINTAINERCLEANFILES = subdirs configure.in acinclude.m4 SUBDIRS
include admin/Doxyfile.am
include admin/deps.am

@ -0,0 +1,16 @@
all:
@echo "This Makefile is only for the CVS repository"
@echo "This will be deleted before making the distribution"
@echo ""
@if test ! -d admin; then \
echo "Please recheckout this module!" ;\
echo "for cvs: use checkout once and after that update again" ;\
echo "for cvsup: checkout kde-common from cvsup and" ;\
echo " link kde-common/admin to ./admin" ;\
exit 1 ;\
fi
$(MAKE) -f admin/Makefile.common cvs
.SILENT:

@ -0,0 +1,97 @@
In this file:
* About kdegraphics
* Common Mistakes
* Debugging
* More Info
About kdegraphics
-----------------
kdegraphics is a collection of graphic oriented applications:
* debian
Files needed to create Debian packages.
* doc
XML based documentation for the programs.
* kamera
Digital camera io_slave for Konqueror. Together gPhoto this allows you
to access your camera's picture with the URL kamera:/
* kcoloredit
Contains two programs: a color value editor and also a color picker.
* kdvi
Program (and embeddable KPart) to display *.DVI files from TeX.
* kfax
A program to display raw and tiffed fax images (g3, g3-2d, g4).
* kfaxview
An embeddable KPart to display tiffed fax images.
* kfile-plugins
Provide meta information for graphic files.
* kghostview
Program (and embeddable KPart) to display *.pdf and *.ps
* kiconedit
An icon editor.
* kmrml
Connects to a MRML server and find similar images
* kooka
A raster image scan program, based on SANE and libkscan.
* kolourpaint
An easy-to-use paint program designed for everyday tasks like drawing
simple diagrams/logos/icons and editing screenshots.
* kpovmodeler
Program to enter scenes for the 3D rendering engine PovRay.
* kruler
A ruler in inch, centimeter and pixel to check distances on the screen.
* ksnapshot
Make snapshots of the screen contents.
* kuickshow
Fast and comfortable imageviewer.
* kview
Picture viewer, provided as standalone program and embeddable KPart.
* kviewshell
Generic framework for viewer applications.
* libkscan
Library to access scanners used by kooka (and koffice), needs SANE to be
used
Common Mistakes
---------------
If configure claims Qt cannot be found, have a look at http://www.trolltech.com
to get a copy of latest Qt 3.3.x version.
Debugging
---------
You can use --enable-debug with the configure script, if you want to have
debug code in your KDE apps and libs. This will ensure useful and more
verbose backtraces, but will require a lot more disk space.
More Info
---------
Please direct any bug reports to our bug list by visiting
http://bugs.kde.org.
General KDE discussions should go to the KDE mailing list (kde@kde.org).

@ -0,0 +1,17 @@
#MIN_CONFIG
DO_NOT_COMPILE="$DO_NOT_COMPILE"
dnl Checks for header files.
AC_HEADER_DIRENT
AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h stdlib.h paths.h)
AC_CHECK_SETENV
AC_CHECK_UNSETENV
AC_CHECK_USLEEP
AC_CHECK_MKSTEMPS
dnl Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_TIME
CXXFLAGS="$CXXFLAGS $KDE_DEFAULT_CXXFLAGS"
KDE_INIT_DOXYGEN([KDE Graphics API Reference], [Version $VERSION])

@ -0,0 +1,5 @@
KDE_LANG = en
KDE_DOCS = AUTO
SUBDIRS = $(AUTODIRS)

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

@ -0,0 +1,78 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY kappname "&kamera;">
<!ENTITY package "kdegraphics">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE">
]>
<book lang="&language;">
<bookinfo>
<title>The &kamera; Handbook</title>
<authorgroup>
<author>
<firstname></firstname>
<othername></othername>
<surname></surname>
<affiliation>
<address><email></email></address>
</affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<legalnotice>&FDLNotice;</legalnotice>
<!-- 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
(Major.minor.lesser), it could be used by automation scripts -->
<date>2000-09-02</date>
<releaseinfo>0.00.00</releaseinfo>
<!-- Abstract about this handbook -->
<abstract>
<para>
&kamera; allows you to view and download images on a digital camera.
</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>Kapp</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction"> <title>Introduction</title> <para>Sorry, but
the documentation for &kappname; was not finished when &kde; was installed on
this computer.</para> <para>If you need help, please check <ulink
url="http://www.kde.org">The &kde; Website</ulink> for updates, or by
submitting your question to <ulink url="mailto:kde@kde.org">The
&kde; User Mailing list</ulink>.</para> <para><emphasis>The &kde;
Team</emphasis></para>
&underFDL;
</chapter>
&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:
// vim:ts=2:sw=2:tw=78:noet
-->

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

@ -0,0 +1,468 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY kcoloredit "<application>KColorEdit</application>">
<!ENTITY kappname "&kcoloredit;">
<!ENTITY package "kdegraphics">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE"> <!-- Change language only here -->
]
>
<book lang="&language;">
<bookinfo>
<title> The &kcoloredit; Handbook</title>
<authorgroup>
<author>
<firstname>Artur</firstname>
<surname>Rataj</surname>
<affiliation>
<address>&Artur.Rataj.mail;</address>
</affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<copyright>
<year>2000</year>
<holder>&Artur.Rataj;</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>
<date>2005-12-10</date>
<releaseinfo>3.5.0</releaseinfo>
<abstract>
<para>&kcoloredit; is a palette files editor. It can be used for editing
color palettes and for color choosing and naming.</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>graphics</keyword>
<keyword>palette</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
<para>&kcoloredit; is a palette files editor. It can be used for
editing color palettes and for color choosing and naming.</para>
</chapter>
<chapter id="file-operations">
<title>File operations</title>
<sect1 id="file">
<title>About palette files</title>
<para>
The palette files installed by &kde; can be either system-wide or the
user ones. The latter are in you private &kde; configuration
folders, and they are named <guilabel>Custom Colors</guilabel> and
<guilabel>Recent Colors</guilabel>.
</para>
<para>
In &kcoloredit;, you may open all of these palettes, as well as
palettes in arbitrary files.
</para>
</sect1>
<sect1 id="file-open">
<title>Opening a file</title>
<para>
In the <guilabel>Open File</guilabel> dialog, you may choose from a
list of installed palettes, or browse folders for files.
</para>
</sect1>
</chapter>
<chapter id="Edition">
<title>Editing</title>
<sect1 id="cursor">
<title>Cursor</title>
<para>The cursor is visible as a line in the palette view. It can be
moved by clicking on an area beside a color.</para>
<para>The cursor has the following functions:</para>
<itemizedlist>
<listitem>
<para>
It points to the color after it. The color, if any, is described below
the palette view. You may edit its name there.
</para>
</listitem>
<listitem>
<para>
It can be used to make a selection. A selection can be made by
clicking on an area beside a color, so to move the cursor there, and
by moving the mouse then with the left mouse button pressed.
</para>
</listitem>
<listitem>
<para>If the <guilabel>At cursor</guilabel> check-box near the
<guilabel>Add Color</guilabel> button is checked, a color from the
color chooser is put at the cursor. The color is either inserted
or it overwrites another one, depending on whether the
<guilabel>Overwrite</guilabel> mode is chosen. The mode can be chosen
by checking the <guilabel>Overwrite</guilabel> check-box, that is next
to the <guilabel>At cursor</guilabel> one.</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id = "selection">
<title>Selection</title>
<para>
A selection, that can be made as it was written in the previous
section, can be used with the copy, cut and paste operations.
</para>
</sect1>
<sect1 id = "clipboard-format">
<title>Clipboard format</title>
<para>
&kcoloredit; uses the following format for clipboard data: for each
color three numbers for red, green and blue components, respectively,
and an optional color name, followed by a new line character if there
is another color. Therefore, if for example three numbers are in the
clipboard, they can be pasted by &kcoloredit; as a color.
</para>
</sect1>
</chapter>
<chapter id="color-selection">
<title>Selecting a color from an RGB space</title>
<para>
A color can be selected from an RGB space in &kcoloredit; in the
following ways:
<itemizedlist>
<listitem>
<para>
By editing the HSV or RGB components.
</para>
</listitem>
<listitem>
<para>
By selecting a color from color gradient panels. In the left one, two
from HSV components can be selected, and in the right one, the third
one. The third component can be chosen by clicking on one of the
buttons labeled <guilabel>H:</guilabel>, <guilabel>S:</guilabel> and
<guilabel>V:</guilabel>. The one component panel display colors with
the other two components equal to these selected in the two components
panel. The two components panel may display colors with the third
component fixed, or, if the <guilabel>Variable</guilabel> check-box is
set, with a value equal to the one selected in the one component
panel. In the <guilabel>Replace</guilabel> mode, the color selected in
panels replaces the output one instantly, and in the
<guilabel>Change:</guilabel> mode it modifies the output color after
each click, or a mouse move while a mouse button is
pressed. Therefore, in the latter mode the color selected in the
gradient panels may be different from the output color. To synchronize
the colors, the <guibutton>Synchronize</guibutton> button can be used.
</para>
</listitem>
</itemizedlist>
</para>
</chapter>
<!-- Someone energetic might want to write a small chapter here -->
<!-- describing RGB vs HSV etc -->
<chapter id="drag-and-drop">
<title>Drag and drop</title>
<para>
The palette colors and the color selection output color can be dragged
with a mouse.
</para>
</chapter>
<chapter id="menu-reference">
<title>Menu Reference</title>
<sect1 id="file-menu">
<title>The <guimenu>File</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>N</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>New</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Start a new palette in the current window.</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>New Window</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Open a new window</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>O</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Open</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Open a saved palette.</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Open Recent</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Reopen a palette that you have recently been
editing.</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>S</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Save</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Save the currently open palette.</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Save As...</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Save the currently open palette with a new
name.</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>W</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Close</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Close</action> the current &kcoloredit; window</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>Q</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Quit</action> &kcoloredit;.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="edit-menu">
<title>The <guimenu>Edit</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>X</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Cut</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Cut the currently selected color to the
clipboard.</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>C</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Copy</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Copy the currently selected color to the
clipboard.</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>V</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Paste</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Paste a color from the clipboard.</action></para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="color-menu">
<title>The <guimenu>Color</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Color</guimenu>
<guimenuitem>From Palette</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Find the color currently selected in the palette, in the
color selector on the left.</action></para><!-- eww... needs rewrite -->
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Color</guimenu>
<guimenuitem>From Screen</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Pick a color from anywhere on the screen, and find it
in the color selector on the left.</action></para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="settings-menu">
<title>The <guimenu>Settings</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Hide/Show Toolbar</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Toggle on and off the toolbar icons.</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Hide/Show Statusbar</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Toggle on and off the status bar.</action></para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Hide/Show Color Names</guimenuitem>
</menuchoice></term>
<listitem>
<para>If the currently open palette has color name, <action>display
them alongside the colors</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Shortcuts...</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Configure</action> the keyboard keys you use to access the
different actions.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Toolbars...</guimenuitem>
</menuchoice></term>
<listitem>
<para><action>Configure</action> the items you want to put in the toolbar
</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="help-menu">
<title>The <guimenu>Help</guimenu> Menu</title>
&help.menu.documentation;
</sect1>
</chapter>
<chapter id="credits-and-licenses">
<title>Credits and Licenses</title>
<para>&kcoloredit; copyright 2000 &Artur.Rataj;</para>
<para>Documentation copyright 2000 &Artur.Rataj;</para>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;
&underGPL;
</chapter>
<appendix id="installation">
<title>Installation</title>
&install.intro.documentation;
&install.compile.documentation;
</appendix>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->

Binary file not shown.

@ -0,0 +1,480 @@
\documentclass{article}
\usepackage{amstext}
\usepackage{colordvi}
\usepackage{graphicx}
\usepackage{times}
\usepackage[arrow,matrix,curve,ps]{xy}
\xyoption{dvips}
\usepackage[active]{srcltx}
\usepackage[hypertex]{hyperref}
\sloppy
\newcommand{\KDVI}{{\sf KDVI 1.1}}
\begin{document}
\title{Support for \TeX\ extensions in \KDVI}
\author{Stefan Kebekus}
\maketitle
\begin{abstract}
This document describes the extensions to the standard format of DVI
files which \KDVI\ implements in order to support PostScript
inclusion and hyperlinks.
\KDVI\ is a program that displays DVI-files generated by the \TeX\
typesetting system. If you don't know what \TeX\ is then you are
most likely not interested in this. If you would like to know how to
use special features of \KDVI, then you can find examples here.
\end{abstract}
\tableofcontents
\section{What's all this}
The DVI-previewing program \KDVI\ is able to display standard
DVI-files as specified in \cite{Level0Std}. In order to support
graphics inclusion, hyperlinks and non-standard fonts, \KDVI\
implements a number of features which extend \cite{Level0Std}. In
particular, \KDVI\ supports a number of \TeX 's $\backslash${\tt
special} commands. The aim of this document is to describe these
extensions and give examples of their use.
Unfortunately, in spite of several attempts to find a sound standard
for the use of $\backslash${\tt special} commands, there is now a
wealth of competing and mutually incompatible definitions.
\KDVI\ does not attempt to support all possible features. Instead, we
tried to implement those which are most useful and used most commonly.
In this, we have tried to be consistent with the {\sf dvips} program.
\KDVI\ does not support a number of outdated and unsane standards, nor
does it support features which impair the system security.
\section{Virtual fonts}
\KDVI\ supports ``virtual fonts''. This enables \TeX\ to use
PostScript fonts. For more information, and a complete specification,
consult \cite{dvips}.
\paragraph*{Example}
This text uses the ``Times'' family of fonts instead of the ``Computer
Modern'' fonts which are usually used by \TeX. This was realized in
\LaTeX 2$\epsilon$ by including the line
\begin{verbatim}
\usepackage{times}
\end{verbatim}
in the header of this document.
\section{PostScript support}
\KDVI\ implements basic facilities to include PostScript graphics in a
DVI file, which will enable the reader to conviently read most
scientific papers which use such features.
\subsection{Literal PostScript}
\KDVI\ supports the inclusion of PostScript into DVI-files by means of
the quote-special. The syntax follows the specification of
\cite{dvips}:
\begin{verbatim}
\special{" PostScript-commands}
\end{verbatim}
The PostScript-commands are not directly included, in fact they are
sandwiched between a {\tt save} and {\tt restore} pair. That way
\KDVI\ ensures that the command cannot affect PostScript-commands
which appear somewhere else in your file.
\paragraph*{Example}
Figure~\ref{quote-special} shows an example taken from \cite{dvips}.
The generating \TeX -code is
\begin{verbatim}
\vbox to 100bp{\vss
\special{" newpath 0 0 moveto 100 100 lineto
300 0 lineto closepath gsave 0.8 setgray fill
grestore stroke}}
\end{verbatim}
\begin{figure}
\vbox to 100bp{\vss
\special{" newpath 0 0 moveto 100 100 lineto 300 0 lineto closepath gsave 0.8 setgray fill grestore stroke}}
\caption{Graphic generated by literal PostScript inclusion\label{quote-special}}
\end{figure}
\subsection{Direct PostScript}
\KDVI\ supports the inclusion of PostScript into DVI-files by means of
the direct-special. The syntax follows the specification of
\cite{dvips}:
\begin{verbatim}
\special{ps: Postscript-commands}
\end{verbatim}
The PostScript-commands are directly included, and there is no
protective {\tt save} and {\tt restore} pair. The use of this command
is not recommended, as it may have funny side effects on other
PostScript commands which appear later in your file.
\KDVI\ also supports the following syntactical variants which are
explained in \cite{dvips}:
\begin{verbatim}
\special{ps: Postscript-commands}
\special{ps::[begin] Postscript-commands}
\special{ps:: Postscript-commands}
\special{ps::[end] Postscript-commands}
\end{verbatim}
The variant
\begin{verbatim}
\special{ps: plotfile filename}
\end{verbatim}
is not currently supported.
\paragraph*{Example}
The command
\begin{verbatim}
\includegraphics[height=3cm, angle=20]{aboutkde.ps}
\end{verbatim}
which is used in section~\ref{chap:eps} uses the direct-special
internally in order to set the rotation.
\subsection{Literal headers}
Literal headers work as described in \cite{dvips}.
\begin{verbatim}
\special{! PostScript-Header-commands}
\end{verbatim}
\paragraph*{Example}
The following diagram, which was generated using the \Xy -pic macro
packages uses literal postscript inclusion which relies on literal
headers.
$$
\xymatrix{ {\tilde X}
\ar@{-->}[rrd]_{\exists \alpha} \ar[rrrr]^{\eta}_{\txt{\tiny
normalization}} \ar@/_/ [rrdd]_ {\tilde \pi} & & & & {X}
\ar@/^/[lldd]^{\pi} \\ & & {X'}
\ar@{-->}[rru]_{\exists \beta} \ar@{-->}[d]_{\exists \pi'} & & \\ & &
{Y}& &}
$$
Note that the actual headers are defined on the first page of the
document. This was a major source of trouble in earlier versions of
KDVI.
\subsection{PostScript headers}
PostScript headers work as described in \cite{dvips}. This command is
very similar to the literal header command, but expects the name of a
file which should be included.
\begin{verbatim}
\special{header=filename}
\end{verbatim}
\subsection{EPS inclusion}\label{chap:eps}
A popular way to include PostScript-files into \TeX\ documents uses
the PSFile $\backslash${\tt special} command. Again this is explained
in detail in \cite{dvips}. Currently \KDVI\ supports the syntax
\begin{verbatim}
\special{psfile=File keyword=value keyword=value ...}
\end{verbatim}
Where keyword is one of the following
\begin{description}
\item[llx] lower left corner of the bounding box, $x$-coordinate
\item[lly] lower left corner of the bounding box, $y$-coordinate
\item[urx] upper right corner of the bounding box, $x$-coordinate
\item[ury] upper right corner of the bounding box, $y$-coordinate
\item[rwi] width of the bounding box. If $llx-urx \not = rwi$, then
the boundig box is scaled accordingly.
\item[rhi] height of the bounding box If $lly-ury \not = rhi$, then
the boundig box is scaled accordingly.
\item[angle] rotates the picture counterclockwise
\end{description}
Unknown keywords are silently ignored. The keywords {\tt llx}, {\tt
lly}, {\tt urx}, {\tt ury} and {\tt rwi} are usually generated by
the {\tt epsf} macros. The keywords {\tt hoffset}, {\tt voffset},
{\tt hsize}, {\tt vsize}, {\tt hscale}, {\tt vscale}, {\tt angle} and
{\tt clip} are not currently implemented. The ``uncompression''
feature of {\sf dvips} and {\sf xdvi} which allows to execute
arbitrary commands in via the syntactical variant
\begin{verbatim}
\special{psfile="'shell-command" keyword=value ...}
\end{verbatim}
is deliberately not implemented for security reasons.
\paragraph*{Example}
Figure~\ref{epsf-special} shows an embedded postscript-file.
\begin{figure}
\begin{center}
\includegraphics[height=3cm]{aboutkde.ps}
\includegraphics[height=4cm]{aboutkde.ps}
\includegraphics[height=3cm, angle=20]{aboutkde.ps}
\end{center}
\caption{Embedded PostScript graphic\label{epsf-special}}
\end{figure}
This was easily realized by including the line
\begin{verbatim}
\usepackage{graphicx}
\end{verbatim}
into the header of this document, and the lines
\begin{verbatim}
\includegraphics[height=3cm]{aboutkde.ps}
\includegraphics[height=4cm]{aboutkde.ps}
\includegraphics[height=3cm, angle=20]{aboutkde.ps}
\end{verbatim}
at the place where the graphic should appear. It is strongly
recommended to use the {\tt graphicx} macro package for this purpose.
\begin{figure}
\begin{center}
\includegraphics[height=2cm, bb=0 0 150 50]{nonexistent.ps}
\end{center}
\caption{Reference to a non-existent PS-file\label{nonex-special}}
\end{figure}
Figure~\ref{nonex-special} shows how \KDVI\ warns you about
non-existent files.
\section{Hypertext support}
\KDVI\ supports commands for hyperlink support which commands
establish links between sections of documents in a manner exactly
analogous to the HTML of the WWW. For a detailed specification we
refer to \cite{HFAQ99} or \cite{Rah98}. Note, however, that \KDVI\
does currently not allow nested hyperlinks.
\subsection{Hyper-Labels}
The commands
\begin{verbatim}
\special{html:<a name="namestring">}
\special{html:</a>}
\end{verbatim}
labels the current point of the text for later reference.
\subsection{Hyper-References}
The commands
\begin{verbatim}
\special{html:<a href="hrefstring">}
Text
\special{html:</a>}
\end{verbatim}
makes {\tt Text} a link to {\tt hrefstring}, where {\tt hrefstring} is
an absolute or relative URL in the standard format used on the
internel. If {\tt hrefstring} is of the form {\tt \#label} then it
points to the section of the current document which is labeled using
the labeling command described above:
\begin{verbatim}
\special{html:<a name="namestring">}
\end{verbatim}
\paragraph*{Example}
This document features a clickable table of contents, and also the
references can be clicked on. This has been achieved by using the {\tt
hyperref} macro package in \LaTeX\ by including the line
\begin{verbatim}
\usepackage[hypertex]{hyperref}
\end{verbatim}
into the document preamble. Everything else is automatic.
Here is an external link which points to the \href{http://www.kde.org}{main
website of the KDE project}. For this, the command {\tt href} of the
{\tt hyperref} macro package was used:
\begin{verbatim}
\href{http://www.kde.org}{main
website of the KDE project}
\end{verbatim}
\paragraph{Warning.} On some installations, the {\tt
hyperref} macro package is configured to generate PostScript
hyperlinks for {\tt dvips} by default. On these systems, using the
line
\begin{verbatim}
\usepackage{hyperref}
\end{verbatim}
will generate DVI file whose hyperlinks are not visible in KDVI.
Worse, KDVI will call the {\tt ghostview} PostScript interpreter for
every page, which makes the display very slow.
\section{Colored \Red{text} \Green{and} \Blue{background}}
The DVI specials for colored text are supported as they are described
in \cite{dvips}.
\paragraph*{Example} In this document, the following code was used to
generate the text below.
\begin{verbatim}
\usepackage{colordvi}
...
\textGreen This text is green but here we are
\Red{switching to red, \Blue{nesting blue},
recovering the red} and back to original green.
\textCyan The text from here on will be cyan
unless \Yellow{locally changed to yellow}. Now
we are back to cyan. \textBlack
\end{verbatim}
This gave the following output:
\begin{verse}
\textGreen This text is green but here
we are \Red{switching to red, \Blue{nesting blue}, recovering the red}
and back to original green. \textCyan The text from here on will be
cyan unless \Yellow{locally changed to yellow}. Now we are back to
cyan. \textBlack
\end{verse}
To set the background color of the page, the command
\background{Lavender}
\begin{verbatim}
\background{Lavender}
\end{verbatim}
was used. To switch back to normal, the command
\begin{verbatim}
\background{White}
\end{verbatim}
was placed somewhere on the following page. As you see, the background
command does not fit well into \LaTeX's philosophy and should be
avoided.
\section{Rotated Text}
Rotated text can sometimes be useful, e.g. to fit large table onto a
single page. This is used, e.g.~in the style files of journals of the
American Astronomical Society. Here is one example.
\begin{table}[h]
\centering
\begin{tabular}{l|ll}
& \rotatebox{90}{uses \TeX} & \rotatebox{90}{uses Linux} \\ \hline
Stefan & $\times$ & $\times$ \\
Anke & & $\times$ \\
Thomas & $\times$ &\\
\end{tabular}
\end{table}
This was easily realized by including the line
\begin{verbatim}
\usepackage{graphicx}
\end{verbatim}
into the header of this document. The table itself was then typeset by
{\footnotesize
\begin{verbatim}
\begin{tabular}{l|ll}
& \rotatebox{90}{uses \TeX} & \rotatebox{90}{uses Linux} \\ \hline
Stefan & $\times$ & $\times$ \\
Anke & & $\times$ \\
Thomas & $\times$ &\\
\end{tabular}
\end{verbatim}
}
\section{Source text specials}
\KDVI\ is able to make use of source file information which is included
in the DVI file. To include source file information, a {\tt special}
command like to following should be included at the beginning of every
paragraph or every line:
\begin{verbatim}
\special{src:123text.tex}
\end{verbatim}
This tells \KDVI\ that the next paragraph should be associated with
line 123 in the source file text.tex.
It is of course not practical to add these commands manually to the
beginning of every line ---see the \href{help:/kdvi}{Handbook of
\KDVI} to learn how to add the special commands automatically to your
DVI files.
The main use of source file specials is the interaction between \KDVI\
and your editor. Starting from version~1.0, both \emph{forward search}
and \emph{inverse search} are supported.
\subsection{Forward search}
Forward search is a feature that helps you find the place in the DVI
file that corresponds to a certain line in the source text. If source
file information is included, you can find the place in the DVI file
{\tt test.dvi} which corresponds to line 1234 in the source file {\tt
text.tex} by starting \KDVI\ like this:
\begin{verbatim}
kdvi file:test.dvi#1234text.tex
\end{verbatim}
In pracitse, this command line will be generated by a script that
communicates with your editor. Currently, scripts for Emacs and XEmacs
exist. As usual, the \href{help:/kdvi/forward-search.html}{Handbook of
\KDVI} explains how to set up your editor with thest scripts.
\subsection{Inverse search}
\background{White}
Inverse search means that you can click into the document in \KDVI,
and your editor will open, load the source file and jump to the proper
place. \KDVI\ currently supports the editors Emacs, Kate, NEdit, VI
and XEmacs. Users who prefer a different editor can specify shell
commands which are to be used. Again we refer to the
\href{help:/kdvi/inverse-search.html}{Handbook of \KDVI} for a detailed explanation.
\paragraph*{Example}
If you are viewing this document in \KDVI, you can click anywhere with
the middle mouse button (if your mouse has only two buttons, click
left and right simultaneously). An editor will pop up, load the
\LaTeX\ sourcefile and jump to the appropriate line in the
text. Source specials has been added using the {\tt srcltx} macro
package in \LaTeX\ by including the line
\begin{verbatim}
\usepackage[active]{srcltx}
\end{verbatim}
into the document preamble. Everything else is automatic.
\begin{thebibliography}{CM97}
\bibitem[Bha99]{HFAQ99}
T.~Bhattacharya et al.
\newblock {\em Hyper\TeX\ FAQ}
\newblock available on the internet site of the preprint server of the
Los Alamos National Labatories at
\href{http://arXiv.org/hypertex}{\small \tt http://arXiv.org/hypertex}
\bibitem[Rah98]{Rah98}
S.~Rahts
\newblock {\em Hypertext marks in \LaTeX: the {\sf hyperref} package}
\newblock included in the tetex distribution. A copy can be found on KDVI's
home page at \hfill \linebreak
\href{http://devel-home.kde.org/~kdvi/DVI/hyperref-manual.pdf}{\small \tt http://devel-home.kde.org/$\sim$kdvi/DVI/hyperref-manual.pdf}
\bibitem[Rok00]{dvips}
T.~Rokicki
\newblock {\em DVIPS: A \TeX\ Driver}
\newblock included in the tetex distribution. A copy can be found on KDVI's
home page at \hfill \linebreak
\href{http://devel-home.kde.org/~kdvi/DVI/dvips.dvi}{\small \tt http://devel-home.kde.org/$\sim$kdvi/DVI/dvips.dvi}
\bibitem[TUG0]{Level0Std}
The TUG DVI Driver Standards Committee
\newblock {\em The DVI Driver Standard, Level 0}
\newblock included in the tetex distribution. A copy can be found on KDVI's
home page at \hfill \linebreak
\href{http://devel-home.kde.org/~kdvi/DVI/dvistd0.dvi}{\small \tt http://devel-home.kde.org/$\sim$kdvi/DVI/dvistd0.dvi}
\end{thebibliography}
\end{document}

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,102 @@
;;; (X)Emacs frontend to forward search with kdvi. See the section on
;;; FORWARD SEARCH in the kdvi manual for more information on forward
;;; search, and for an explanation how to use this script. This script
;;; is a modified version of the script "xdvi-search.el" by Stefan
;;; Ulrich <ulrich@cis.uni-muenchen.de>, version 2000/03/13. The
;;; modifications were performed by Stefan Kebekus
;;; <kebekus@kde.org>. Tested with Emacs 20.7.1 and Xemacs 21.4.
;;;
;;; 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.
;;;
;;; Please report bugs or improvements, etc. via the "Report bug"-Menu
;;; of kdvi.
;;;
(defvar kdvi-script "kdvi"
"*Name of start script for kdvi.")
(defun kdvi-jump-to-line ()
"Call kdvi-script to perform a `forward search' for current file and line number.
See contents of kdvi-script for details.
If AucTeX is used, the value of TeX-master-file is used as filename
for the master .dvi file; else, the return value of kdvi-master-file-name
is used (which see)."
(interactive)
(save-excursion
(save-restriction
(widen)
(beginning-of-line 1)
(let* (;;; current line in file, as found in the documentation
;;; of emacs. Slightly non-intuitive.
(current-line (format "%d" (+ 1 (count-lines (point-min) (point)))))
;;; name of the `main' .tex file, which is also used as .dvi basename:
(master-file (expand-file-name (if (fboundp 'TeX-master-file)
(TeX-master-file t)
(kdvi-get-masterfile (kdvi-master-file-name)))))
;;; .dvi file name:
(dvi-file (concat (file-name-sans-extension master-file) ".dvi"))
;;; current source file name.
(filename (expand-file-name (buffer-file-name))))
(start-process "kdvi"
"kdvi-output" "kdvi" ;;; src-args
;;; args for -sourceposition:
"--unique" (concat "file:" dvi-file "#src:" current-line filename)
)))))
(defun kdvi-get-masterfile (file)
"Small helper function for AucTeX compatibility.
Converts the special value t that TeX-master might be set to
into a real file name."
(if (eq file t)
(buffer-file-name)
file))
(defun kdvi-master-file-name ()
"Emulate AucTeX's TeX-master-file function.
Partly copied from tex.el's TeX-master-file and TeX-add-local-master."
(if (boundp 'TeX-master)
TeX-master
(let ((master-file (read-file-name "Master file (default this file): ")))
(if (y-or-n-p "Save info as local variable? ")
(progn
(goto-char (point-max))
(if (re-search-backward "^\\([^\n]+\\)Local Variables:" nil t)
(let* ((prefix (if (match-beginning 1)
(buffer-substring (match-beginning 1) (match-end 1))
""))
(start (point)))
(re-search-forward (regexp-quote (concat prefix "End:")) nil t)
(if (re-search-backward (regexp-quote (concat prefix "TeX-master")) start t)
;;; if TeX-master line exists already, replace it
(progn
(beginning-of-line 1)
(kill-line 1))
(beginning-of-line 1))
(insert prefix "TeX-master: " (prin1-to-string master-file) "\n"))
(insert "\n%%% Local Variables: "
;;; mode is of little use without AucTeX ...
;;; "\n%%% mode: " (substring (symbol-name major-mode) 0 -5)
"\n%%% TeX-master: " (prin1-to-string master-file)
"\n%%% End: \n"))
(save-buffer)
(message "(local variables written.)"))
(message "(nothing written.)"))
(set (make-local-variable 'TeX-master) master-file))))
(provide 'kdvi-search)

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

@ -0,0 +1,184 @@
% ------------------------------------------------------------------------
% File: srcltx.sty
% ==========
%
% Version 1.002 1999 Sep 3 (modified to change \everypar)
% by David Carlisle
%
% Version 1.001 1998 Dec 23 (modified to change \output)
% by Berthold Horn
%
% This package was originally written by Aleksander Simonic (the
% author of WinEdt Shell) to implement a source file tracking and
% DVI "SRC" specials for LaTeX.
%
% This package comes with no guarantees and no reserved rights.
% You can use or modify this file at your own risk.
% ************************************************************************
% NOTE: TeX commands are case sensitive. You have to use uppercase
% \Input to take advantage of this package
%
% This package supports nested \Input commands...
% File extension should be specified in \Input!
%
% This file should be placed in a directory where your LaTeX is
% looking for inputs (eg. ...\localtexmf\tex for MiKTeX).
%
% If you are writing a book with WinEdt and LaTeX simply
% include this file and use \include{mychapter} command...
% This way all the necessary specials for DVI Search and
% Inverse Search are inserted in your DVI File.
%
% WinEdt will be able to track Errors from your LOG file.
%
% ************************************************************************
%
% Some TeX implementations (eg. MiKTeX 1.20 [or later]) can insert
% the SRC specials much better than any macro package. Consult your
% TeX documentation to see if it is better to leave the task to your
% TeX. You can still use the [inactive] version of this package to
% take advantage of the re-defined Input commands and thus allowing
% WinEdt to keep track of errors in included source files.
%
% MiKTeX inserts the SRC specials in the DVI file if you start
% [La]TeX with --src qualifier (see MiKTeX's Manual:
% ...\texmf\Doc\MiKTeX\MiKTeX.pdf for more info).
%
% ************************************************************************
%
% * NOTE: Some TeX implementations add the file type to the "\jobname".
% In that case the definition of the "\MainFile" should be modified to:
%
% \def\MainFile{\jobname} instead of \def\MainFile{\jobname.tex}.
%
% ************************************************************************
%
% *** Example - Your LaTeX thesis document may look like this:
%
%\documentclass[12pt]{report}
%\usepackage[centertags]{amstex}
%\usepackage{thesis,newlfont,amsthm}
%\usepackage[active]{srcltx}
%%No src specials are written when loading the package by
%%\usepackage[inactive]{srcltx}
%
% .... Preamble ....
%
%\begin{document}
%
% .... Title, Author etc. ....
%
%\WinEdt{?0000} % Do not process any Errors (Overful/Underful Boxes)
%\beforepreface
%\WinEdt{?1111} % Process All Types of Errors from here on
%\include{ABS}
%\include{ACK}
%\afterpreface
%\include{chapter0}
%\include{chapter1}
%\include{chapter2}
%\include{chapter3}
%\bibliographystyle{amsplain}
%\bibliography{xbib}
%\end{document}
%
% ------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{srcltx}[1999/10/11 v1.002 DVI Search]
\newif\ifSRCOK \SRCOKtrue
\DeclareOption{active}{\SRCOKtrue}
\DeclareOption{inactive}{\SRCOKfalse}
\ExecuteOptions{inactive}
\ProcessOptions
% ------------------------------------------------------------------------
\newcount\PAGETOP
\newcount\LASTLINE
\global\PAGETOP=1
\global\LASTLINE=-1
\gdef\MainFile{\jobname.tex}% ".tex" needed for MiKTeX
\gdef\CurrentInput{\MainFile}
\newcount\INPSP
\global\INPSP=0
\def\EJECT{\SRC\eject}
\def\WinEdt#1{\typeout{:#1}}% WinEdt LOG MODE and INPUT
% ------------------------------------------------------------------------
%If your are using DVIWIN remove the \space from the definitions below...
\def\SRC{\ifSRCOK%
\ifnum\inputlineno>\LASTLINE%
\ifnum\LASTLINE<0%
\global\PAGETOP=\inputlineno%
\fi%
\global\LASTLINE=\inputlineno%
\ifnum\INPSP=0%
\ifnum\inputlineno>\PAGETOP%
\special{src:\the\inputlineno\space\CurrentInput}%
\fi%
\else%
\special{src:\the\inputlineno\space\CurrentInput}%
\fi%
\fi%
\fi}
% ------------------------------------------------------------------------
\def\PUSH#1{%
\SRC%
\ifnum\INPSP=0 \global\let\INPSTACKA=\CurrentInput \else%
\ifnum\INPSP=1 \global\let\INPSTACKB=\CurrentInput \else%
\ifnum\INPSP=2 \global\let\INPSTACKC=\CurrentInput \else%
\ifnum\INPSP=3 \global\let\INPSTACKD=\CurrentInput \else%
\ifnum\INPSP=4 \global\let\INPSTACKE=\CurrentInput \else%
\ifnum\INPSP=5 \global\let\INPSTACKF=\CurrentInput \else%
\global\let\INPSTACKX=\CurrentInput \fi\fi\fi\fi\fi\fi%
\gdef\CurrentInput{#1}%
\WinEdt{<+ \CurrentInput}%
\global\LASTLINE=0%
\ifSRCOK\special{src:1\CurrentInput}\fi%
\global\advance\INPSP by 1}
%
\def\POP{%
\ifnum\INPSP>0 \global\advance\INPSP by -1 \fi%
\ifnum\INPSP=0 \global\let\CurrentInput=\INPSTACKA \else%
\ifnum\INPSP=1 \global\let\CurrentInput=\INPSTACKB \else%
\ifnum\INPSP=2 \global\let\CurrentInput=\INPSTACKC \else%
\ifnum\INPSP=3 \global\let\CurrentInput=\INPSTACKD \else%
\ifnum\INPSP=4 \global\let\CurrentInput=\INPSTACKE \else%
\ifnum\INPSP=5 \global\let\CurrentInput=\INPSTACKF \else%
\global\let\CurrentInput=\INPSTACKX \fi\fi\fi\fi\fi\fi%
\WinEdt{<-}%
\global\LASTLINE=\inputlineno%
\global\advance\LASTLINE by -1%
\SRC}
% ------------------------------------------------------------------------
% Dummy Input: can be used as \INPUT{<file>.bbl} to collect \bibitems
\def\INPUT#1{\relax}
% ------------------------------------------------------------------------
% Redefine the original \include command
\let\OldINCLUDE=\include
\def\include#1{%Always ".tex" file type!
\EJECT%
\PUSH{#1.tex}%
\OldINCLUDE{#1}%
\POP}
% ------------------------------------------------------------------------
\def\Input#1{%Specify File Extension!
\PUSH{#1}%
\input #1%
\POP}
% ------------------------------------------------------------------------
% Note that these have been defined to concatenate the \SRC with
% whatever those token lists did before, just in case they were not
% empty token lists. Of course, later definitions may undo all this...
\let\originalxxxeverypar\everypar
\newtoks\everypar
\originalxxxeverypar{\the\everypar\expandafter\SRC}
%\everypar\expandafter{\the\everypar\expandafter\SRC}
% ??? Remove the following line if you encounter problems:
\everymath\expandafter{\the\everymath\expandafter\SRC}
% ------------------------------------------------------------------------
% Redefine the \bibliography command:
\let\zzzxxxbibliography=\bibliography
\def\bibliography#1{\PUSH{\jobname.bbl}\zzzxxxbibliography{#1}\POP}
%------------------------------------------------------------------------
% Modification to output routine to turn off \SRC while \output is active
\output\expandafter{\expandafter\SRCOKfalse\the\output}
%------------------------------------------------------------------------

@ -0,0 +1,146 @@
% ------------------------------------------------------------------------
% File: srctex.sty
% ==========
%
% Version 1.002 1999 Sep 3 (modified to change \everypar)
% by David Carlisle
%
% Version 1.001 1998 Dec 23 (modified to change \output)
% by Berthold Horn
%
% This package was originally written by Aleksander Simonic (the
% author of WinEdt Shell) to implement a source file tracking and
% DVI "SRC" specials for TeX.
%
% This package comes with no guarantees and no reserved rights.
% You can use or modify this file at your own risk.
% ************************************************************************
% NOTE: TeX commands are case sensitive. You have to use uppercase
% \Input to take advantage of this package
%
% This package supports nested \Input commands...
% File extension should be specified in \Input!
%
% This file should be placed in a directory where your TeX is
% looking for inputs (eg. ...\localtexmf\tex for MiKTeX).
%
% ************************************************************************
%
% Some TeX implementations (eg. MiKTeX 1.20 [or later]) can insert
% the SRC specials much better than any macro package. Consult your
% TeX documentation to see if it is better to leave the task to your
% TeX. You can still use the [inactive] version of this package to
% take advantage of the re-defined Input commands and thus allowing
% WinEdt to keep track of errors in included source files.
%
% MiKTeX inserts the SRC specials in the DVI file if you start
% TeX with --src qualifier (see MiKTeX's Manual:
% ...\texmf\Doc\MiKTeX\MiKTeX.pdf for more info).
%
% ************************************************************************
%
% If you are writing a book with WinEdt Shell and TeX simply
% include this file and use "\Input{my_chapter}" instead of
% "\input my_chapter". This way all the necessary specials for
% DVI Search and Inverse Search are inserted in your DVI File.
%
% WinEdt will be able to track Errors from your LOG file.
%
% To remove SRC Specials from the dvi file compile the source
% after inserting \SRCOKfalse immediately after
% the \usepackage{srctex} directive...
%
% This package supports nested \Input commands...
% File extension should be specified in \Input!
%
% ************************************************************************
%
% * NOTE: Some TeX implementations add the file type to the "\jobname".
% In that case the definition of the "\MainFile" should be modified to:
%
% \def\MainFile{\jobname} instead of \def\MainFile{\jobname.tex}.
%
% ************************************************************************
\def\typeout#1{\message{^^J}\message{#1}\message{^^J}}
%
\newif\ifSRCOK \SRCOKtrue
\newcount\PAGETOP
\newcount\LASTLINE
\global\PAGETOP=1
\global\LASTLINE=-1
\def\EJECT{\SRC\eject}
\def\WinEdt#1{\typeout{:#1}}% WinEdt LOG MODE and INPUT
\gdef\MainFile{\jobname.tex}% ".tex" needed for MiKTeX
\gdef\CurrentInput{\MainFile}
\newcount\INPSP
\global\INPSP=0
% ------------------------------------------------------------------------
%If your are using DVIWIN remove the \space from the definitions below...
\def\SRC{\ifSRCOK%
\ifnum\inputlineno>\LASTLINE%
\ifnum\LASTLINE<0%
\global\PAGETOP=\inputlineno%
\fi%
\global\LASTLINE=\inputlineno%
\ifnum\INPSP=0%
\ifnum\inputlineno>\PAGETOP%
\special{src:\the\inputlineno\space\CurrentInput}
\fi%
\else%
\special{src:\the\inputlineno\space\CurrentInput}
\fi%
\fi%
\fi}
% ------------------------------------------------------------------------
\def\PUSH#1{%
\SRC%
\ifnum\INPSP=0 \global\let\INPSTACKA=\CurrentInput \else%
\ifnum\INPSP=1 \global\let\INPSTACKB=\CurrentInput \else%
\ifnum\INPSP=2 \global\let\INPSTACKC=\CurrentInput \else%
\ifnum\INPSP=3 \global\let\INPSTACKD=\CurrentInput \else%
\ifnum\INPSP=4 \global\let\INPSTACKE=\CurrentInput \else%
\ifnum\INPSP=5 \global\let\INPSTACKF=\CurrentInput \else%
\global\let\INPSTACKX=\CurrentInput \fi\fi\fi\fi\fi\fi%
\gdef\CurrentInput{#1}%
\WinEdt{<+ \CurrentInput}%
\global\LASTLINE=0%
\ifSRCOK\special{src:1\CurrentInput}\fi%
\global\advance\INPSP by 1}
%
\def\POP{%
\ifnum\INPSP>0 \global\advance\INPSP by -1 \fi%
\ifnum\INPSP=0 \global\let\CurrentInput=\INPSTACKA \else%
\ifnum\INPSP=1 \global\let\CurrentInput=\INPSTACKB \else%
\ifnum\INPSP=2 \global\let\CurrentInput=\INPSTACKC \else%
\ifnum\INPSP=3 \global\let\CurrentInput=\INPSTACKD \else%
\ifnum\INPSP=4 \global\let\CurrentInput=\INPSTACKE \else%
\ifnum\INPSP=5 \global\let\CurrentInput=\INPSTACKF \else%
\global\let\CurrentInput=\INPSTACKX \fi\fi\fi\fi\fi\fi%
\WinEdt{<-}%
\global\LASTLINE=\inputlineno%
\global\advance\LASTLINE by -1%
\SRC}
% ------------------------------------------------------------------------
% Dummy Input: can be used as \INPUT{<file>.bbl} to collect \bibitems
\def\INPUT#1{\relax}
% ------------------------------------------------------------------------
\def\Input#1{%Specify File Extension!
\SRC%
\PUSH{#1}%
\input #1%
\POP%
\SRC}
% ------------------------------------------------------------------------
% Note that these have been defined to concatenate the \SRC with
% whatever those token lists did before, just in case they were not
% empty token lists. Of course, later definitions may undo all this...
\let\originalxxxeverypar\everypar
\newtoks\everypar
\originalxxxeverypar{\the\everypar\expandafter\SRC}
%\everypar\expandafter{\the\everypar\expandafter\SRC}
% ??? Remove the following line if you encounter problems:
\everymath\expandafter{\the\everymath\expandafter\SRC}
%------------------------------------------------------------------------
% Modification to output routine to turn off \SRC while \output is active
\output\expandafter{\expandafter\SRCOKfalse\the\output}
%------------------------------------------------------------------------

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

@ -0,0 +1,234 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY kgamma '<application>KGamma</application>'>
<!ENTITY kappname "&kgamma;">
<!ENTITY package "kdegraphics">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE"><!-- change language only here -->
]>
<!-- ................................................................ -->
<!-- The language must NOT be changed here. -->
<book lang="&language;">
<title>The KGamma Handbook</title>
<bookinfo>
<authorgroup>
<author>
<firstname>Michael</firstname>
<surname>v.Ostheim</surname>
<affiliation>
<address><email>ostheimm@users.berlios.de</email></address>
</affiliation>
</author>
</authorgroup>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
<copyright>
<year>2001, 2002, 2003</year>
<holder>Michael v.Ostheim</holder>
</copyright>
<!-- Translators: put here the copyright notice of the translation -->
<legalnotice>&FDLNotice;</legalnotice>
<date>28/08/2003</date>
<releaseinfo>1.00.20</releaseinfo>
<!-- Abstract about this handbook -->
<abstract>
<para>&kgamma; is a simple tool for monitor gamma correction.</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>KGamma</keyword>
<keyword>Monitor</keyword>
<keyword>Calibration</keyword>
<keyword>Gamma</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
<para>This document describes &kgamma; version 1.0.2 (KDE 3.2)</para>
<para>&kgamma; is a tool for monitor gamma correction. With proper gamma
settings, your display (websites, images, etc.) will look the same on your
monitor as on other monitors.</para>
<para>&kgamma; allows you to alter the monitor's gamma correction of
XFree86. But that's not all to do. For good results you have to set the
correct brightness, contrast and color balance of your monitor. This
may be difficult and you have to repeat every step several times.
For perfect results you need really good (and expensive) hardware.</para>
<para>This are system settings, please do not use &kgamma; to manipulate your
image files.</para>
</chapter>
<chapter id="using-kgamma">
<title>Using KGamma</title>
<sect1 id="Setting-Gamma">
<title>Setting Gamma Correction</title>
<para>Use the four sliders to define the gamma correction either as a single
value, or separately for the red, green and blue components. The XFree86
default setting for gamma is 1.00 (Mac 1.80, WinXX 2.20). The test images help
you to find proper settings.</para>
<para>To store the gamma settings system wide, enable the option 'Store
settings to XF86Config'. The system settings will be restored at next XFree86
startup. You need root access to use this option. Use this if you want to
correct the gamma settings for all users and graphical environments on this
machine.</para>
<para>To store the gamma settings to your personal KDE configuration, do not
enable that option. The user settings will be restored at next KDE startup and
replace temporary the system gamma settings. The system settings are not removed by
that and will be restored at next XFree86 startup.</para>
<para>On multi head systems, select the screen you want to alter with the combo
box. This will also work with xinerama enabled. If you want to set all screens
to the same gamma values, enable the 'Sync screens' option. On systems with only
one screen this option will take no effect.</para>
</sect1>
<sect1 id="Gray-Scale">
<title>Gray Scale Test Image</title>
<para>You should be able to see the following:</para>
<itemizedlist>
<listitem>
<para>A gray scale with 20 different sections</para>
</listitem>
<listitem>
<para>The darkest section pure black</para>
</listitem>
<listitem>
<para>The lightest section pure white</para>
</listitem>
<listitem>
<para>No hint of any color in the gray tones</para>
</listitem>
</itemizedlist>
<para>If you can't see all of the 20 sections, use your monitors contrast settings
or the "Gamma" slider of &kgamma; to correct this. If black is not pure black,
try to darken the monitor, if white is not pure white, try to lighten
it. If you see any colors in the gray tones alter the color balance settings of
your monitor or the "Red", "Green" and "Blue" slider of &kgamma;.</para>
</sect1>
<sect1 id="RGB-Scale">
<title>RGB Scale Test Image</title>
<para>
You should be able to see three strips, each with 16 sections of red,
green or blue tones. The darkest sections should be pure black, the brightest
should be pure red, green or blue. If you don't see all sections of
a color strip, try to lighten or darken this color.</para>
</sect1>
<sect1 id="CMY-Scale">
<title>CMY Scale Test Image</title>
<para>
You should be able to see three strips, each with 11 sections of cyan,
magenta or yellow tones. The brightest sections should be pure white, the darkest
should be pure cyan, magenta or yellow.</para>
<itemizedlist>
<listitem>
<para>If you can't see all cyan sections, try to lighten or darken red</para>
</listitem>
<listitem>
<para>If you can't see all magenta sections, try to lighten or darken green</para>
</listitem>
<listitem>
<para>If you can't see all yellow sections, try to lighten or darken blue</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="advanced">
<title>Advanced Test Images</title>
<para>
The following three pictures shows you the abilities of your monitor at
three points of the gray spectrum. If you can't see all of the details,
don't be worry, or buy better hardware.
</para>
<sect2 id="dark-gray">
<title>Dark Gray Test Image</title>
<para>
You should be able to see 10 different rectangles of dark gray within a
black box. The chart shows you 1% steps from black.
</para>
</sect2>
<sect2 id="mid-gray">
<title>Mid Gray Test Image</title>
<para>
This picture shows you 11 gray rectangles within a 50% gray box. You should be
able to see all of the rectangles except the middle one. The rectangles represent
the steps from 45% to 55% gray.
</para>
</sect2>
<sect2 id="light-gray">
<title>Light Gray Test Image</title>
<para>
You should be able to see 10 different rectangles of light gray within a white box.
The chart shows you 1% steps from white.
</para>
</sect2>
</sect1>
</chapter>
<chapter id="credits">
<title>Credits and License</title>
<para>
&kgamma;
</para>
<para>
Program copyright 2001, 2002, 3003 Michael v.Ostheim <email>ostheimm@users.berlios.de</email>
</para>
<para>
Documentation copyright 2001, 2002, 2003 Michael v.Ostheim <email>ostheimm@users.berlios.de</email>
</para>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL; <!-- FDL: do not remove. -->
&underGPL; <!-- GPL License -->
</chapter>
<appendix id="installation">
<title>Installation</title>
<para>&kgamma;'s home site is
<ulink url="http://kgamma.berlios.de/index2.php">http://kgamma.berlios.de/index2.php</ulink>
</para>
<sect1 id="compilation">
<title>Compilation and Installation</title>
<para>
In order to compile and install &kgamma; on your system, type the following in the base
folder of the &kgamma; distribution:
<screen>
<prompt>%</prompt> <userinput><command>./configure</command></userinput>
<prompt>%</prompt> <userinput><command>make</command></userinput>
<prompt>%</prompt> <userinput><command>make install</command></userinput>
</screen>
</para>
</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:
-->

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

@ -0,0 +1,755 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
<!ENTITY kappname "&kghostview;">
<!ENTITY package "kdegraphics">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE"><!-- change language only here -->
]>
<book lang="&language;">
<bookinfo>
<title>The &kghostview; Handbook</title>
<authorgroup>
<author>
<firstname>Pamela</firstname>
<surname>Roberts</surname>
<affiliation>
<address>&Pamela.Roberts.mail;</address>
</affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<copyright>
<year>2001</year> <year>2002</year>
<holder>&Pamela.Roberts;</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>
<date>2006-02-28</date>
<releaseinfo>0.20</releaseinfo>
<abstract>
<para>&kghostview; displays and prints &PostScript; (<literal
role="extension">.ps</literal>, <literal
role="extension">.eps</literal>) and Portable Document Format
(<literal role="extension">.pdf</literal>) files.</para>
<para>This document describes &kghostview; version 0.20</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>linux</keyword>
<keyword>postscript</keyword>
<keyword>ghostview</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
<para>
&kghostview; displays and prints &PostScript; (<literal
role="extension">.ps</literal>, <literal
role="extension">.eps</literal>) and Portable Document Format (<literal
role="extension">.pdf</literal>) files. It is a port to &kde; of Tim
Theisen's <application>Ghostview</application> program which uses Alladin
<application>Ghostscript</application> to view documents prepared in
<trademark class="registered">Adobe</trademark>'s &PostScript; page
description language. &PostScript; is the major page description language
for printing on &UNIX; systems and this application can be used to preview
material intended for printing or for reading documents online.
</para>
<para>
You can use &kghostview; with all recent versions of
<application>Ghostscript</application>. Newer versions offer much
improved performance which you can take advantage of with &kghostview;.
</para>
<para>
If a document does not conform to the <trademark
class="registered">Adobe</trademark> document structuring convention the
functionality of the viewer is limited. For example, if there is no
table of contents, skipping around the document and marking pages is not
possible.
</para>
</chapter>
<chapter id="fundamentals">
<title>Fundamentals</title>
<para>
This section describes what you see in the main &kghostview; window, the
actions of the Toolbar buttons and how to use the Page List.
</para>
<para>
You can open multiple instances of &kghostview; to view multiple
documents. The titlebar at the top of a window shows you the name of
the document in that window.
</para>
<para>
The main area displays a page of the current document. If the page is
too large to fit inside the window, scrollbars are automatically added
to the sides of the display, although these can be disabled with the
<guimenu>Settings</guimenu> menu.
</para>
<para>
Note that the Toolbar and the Page List can be hidden with the <link
linkend="settings">Settings</link> menu options to give more space on
the screen for the content area.
</para>
<para>
You can scroll up and down in a page with the <keysym>Up
Arrow</keysym> and <keysym>Down Arrow</keysym> keys, or use the
<menuchoice><guimenu>View</guimenu><guimenuitem>Read Up</guimenuitem></menuchoice>
(<keycap>PageUp</keycap>) and <menuchoice><guimenu>View</guimenu>
<guimenuitem>Read Down</guimenuitem></menuchoice>
(<keycap>PageDown</keycap>) options to scroll through the entire document.
</para>
<para>The
<guibutton>Read Up</guibutton> and <guibutton>Read Down</guibutton>
-Toolbar buttons do what they say, or you can go
immediately to any page with a &LMB; click on the appropriate entry in
the Page List.
</para>
<para>
If selected in the <guimenu>Settings</guimenu> menu a Page List will be
displayed at the left side of the window. This list has two columns: the
first may contain a flag indicating that the page has been marked, the
second contains the page numbers. You can use this page list to navigate
through the document or to mark pages for printing.
</para>
<para>
You can toggle the <quote>page marked</quote> flag for the currently
displayed page with <keycombo
action="simul">&Ctrl;&Shift;<keycap>M</keycap></keycombo> or for
any page by &LMB; clicking on it in the Page List. You can also clear or
change your page marks using the context menu that is activated by
&RMB; clicking anywhere in the Page List area or by selecting the <link
linkend="menuedit">Edit</link> menu.
</para>
</chapter>
<chapter id="primary-menu-items">
<title>The Menubar</title>
<sect1 id="menufile">
<title>The <guimenu>File</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>O</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Open...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Open</action> a file. If a file
is currently being displayed it will be closed.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Open Recent</guimenuitem>
</menuchoice></term>
<listitem><para><action>Open</action> a file selected from a combo box of
recently opened files. If a file is currently being displayed it will be
closed.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Save As...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Save</action> the currently open file.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>P</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Print...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Print</action> the currently displayed document.
The Print dialog box will let you choose to print all or selected
(marked) pages.</para> </listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Document Info</guimenuitem>
</menuchoice></term>
<listitem><para><action>Display</action> some basic information about
the document.</para> </listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>Q</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Close</action> down &kghostview;.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="menuedit">
<title>The <guimenu>Edit</guimenu> Menu</title>
<note>
<para>
You can also get this menu by &RMB; clicking anywhere in the Page List
area.
</para>
</note>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;&Shift;
<keycap>M</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Mark Current Page</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggle the page marked
flag</action> for the current page.</para> </listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Edit</guimenu>
<guimenuitem>Mark All Pages</guimenuitem>
</menuchoice></term>
<listitem><para><action>Set the page marked
flag</action> for all pages of the document.</para> </listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Edit</guimenu>
<guimenuitem>Mark Even Pages</guimenuitem>
</menuchoice></term>
<listitem><para><action>Set the page marked
flag</action> for all even numbered pages in the document. Used in
conjunction with <guimenuitem>Mark Odd Pages</guimenuitem> or
<guimenuitem>Toggle Page Marks</guimenuitem> this provides a convenient way of
double-sided printing a document on a single sided printer</para> </listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Edit</guimenu>
<guimenuitem>Mark Odd Pages</guimenuitem>
</menuchoice></term>
<listitem><para><action>Set the page marked
flag</action> for all odd numbered pages in the document.</para> </listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Edit</guimenu>
<guimenuitem>Toggle Page Marks</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggle the page marked
flags</action> for all pages in the document.</para> </listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Edit</guimenu>
<guimenuitem>Remove Page Marks</guimenuitem>
</menuchoice></term>
<listitem><para><action>Clear the page marked
flags</action> for all pages in the document.</para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="view">
<title>The <guimenu>View</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycap>F5</keycap>
</shortcut>
<guimenu>View</guimenu>
<guimenuitem>Reload</guimenuitem>
</menuchoice></term>
<listitem><para><action>Re-render</action> the current document page.</para>
</listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycap>M</keycap></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Maximize</guimenuitem></menuchoice>
</term>
<listitem>
<para>This option maximizes the &kghostview; window.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">&Ctrl;&Shift;
<keycap>F</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Full Screen Mode</guimenuitem></menuchoice>
</term>
<listitem>
<para>This option maximizes the &kghostview; window and the currently shown page.
Even the window decorations (titlebar &etc;) are temporarily removed.
To switch back to normal window mode, press the <keycap>ESC</keycap> key or
the shortcut <keycombo action="simul">&Ctrl;&Shift;
<keycap>F</keycap></keycombo> again, or open the context menu with a &RMB; click
and select <guimenuitem>Exit Full Screen Mode</guimenuitem>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Orientation</guimenuitem>
</menuchoice></term>
<listitem><para><action>Change the orientation</action> of the
displayed page. You can choose between <guimenuitem>Auto</guimenuitem>,
<guimenuitem>Portrait</guimenuitem>,
<guimenuitem>Landscape</guimenuitem>, <guimenuitem>Upside
Down</guimenuitem> and <guimenuitem>Seascape</guimenuitem> which is like
<guimenuitem>Landscape</guimenuitem> but the other way up.</para> </listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Paper Size</guimenuitem>
</menuchoice></term>
<listitem><para>Lets you view the document as if it
were printed on different <action>paper sizes</action> without changing the
scale. You should normally choose <guimenuitem>Auto</guimenuitem>.</para>
</listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;<keycap>+</keycap></keycombo>
</shortcut>
<guimenu>View</guimenu>
<guimenuitem>Zoom In</guimenuitem>
</menuchoice></term>
<listitem><para><action>Increase the magnification</action> of the
document view.</para> </listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Zoom</guimenuitem>
</menuchoice></term>
<listitem><para>
<action>Select a predefined zoom factor.</action>
</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>-</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Zoom Out</guimenuitem>
</menuchoice></term>
<listitem><para><action>Decrease the magnification</action> of the
document view.</para> </listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Fit to Page Width</guimenuitem>
</menuchoice></term>
<listitem><para><action>Scale</action> the display so a page width fits
exactly across the main display area.</para> </listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycap>S</keycap></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Fit to Screen</guimenuitem>
</menuchoice></term>
<listitem><para><action>Scale</action> the display so the entire page fits
exactly across the main display area.</para> </listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>PageUp</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Previous Page</guimenuitem>
</menuchoice></term>
<listitem><para>View the <action>previous page</action> of the
document.</para> </listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>PageDown</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Next Page</guimenuitem>
</menuchoice></term>
<listitem><para>View the <action>next page</action> of the
document.</para> </listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>Home</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>First Page</guimenuitem>
</menuchoice></term>
<listitem><para><action>Go to the first page</action> of the
document.</para> </listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>End</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Last Page</guimenuitem>
</menuchoice></term>
<listitem><para><action>Go to the last page</action> of the
document.</para> </listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Go to Page</guimenuitem>
</menuchoice></term>
<listitem><para><action>Go to a selected page</action> of the
document.</para> </listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycap>PageUp</keycap></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Read Up</guimenuitem>
</menuchoice></term>
<listitem><para><action>Scroll backwards</action> through the
document.</para> </listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycap>PageDown</keycap></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Read Down</guimenuitem>
</menuchoice></term>
<listitem><para><action>Scroll forwards</action> through the
document.</para> </listitem> </varlistentry>
</variablelist>
</sect1>
<sect1 id="settings">
<title>The <guimenu>Settings</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
&Ctrl;<keycap>M</keycap></keycombo></shortcut>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Menubar</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggles the menubar on/off.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Toolbar</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggle the Toolbar display</action> on
and off.</para></listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Statusbar</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggle the Status bar display</action> on
and off.</para></listitem> </varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">&Ctrl;&Shift;
<keycap>F</keycap></keycombo></shortcut>
<guimenu>Settings</guimenu>
<guimenuitem>Full Screen Mode</guimenuitem></menuchoice>
</term>
<listitem>
<para>This option maximizes the &kghostview; window and the currently shown page.
Even the window decorations (titlebar &etc;) are temporarily removed.
To switch back to normal window mode, press the <keycap>ESC</keycap> key or
the shortcut <keycombo action="simul">&Ctrl;&Shift;
<keycap>F</keycap></keycombo> again, or open the context menu with a &RMB; click
and select <guimenuitem>Exit Full Screen Mode</guimenuitem>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Shortcuts...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a dialog for changing the shortcuts.</action>
Using this option you can change the standard key shortcut for &kghostview;'s commands
or create new ones.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Toolbars...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a dialog for configuring the toolbar.</action> You
can add and remove toolbuttons for &kghostview;'s commands with this
option.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Scrollbars</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggle the horizontal and vertical scrollbars</action>
on and off.</para></listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Page List</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggle the Page List</action>
on and off.</para></listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Page Labels</guimenuitem>
</menuchoice></term>
<listitem><para>If this is selected the <action>name (if any) of the
current page is displayed in the Status Bar</action>.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Watch File</guimenuitem>
</menuchoice></term>
<listitem><para>If this is selected the display will
<action>automatically update</action> if the document file
changes.</para></listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>No Flicker</guimenuitem>
</menuchoice></term>
<listitem><para>
If this is selected the display will start showing objects instantly as they are rendered,
otherwise the whole page is rendered off-screen and then displayed.
</para></listitem> </varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &kghostview;...</guimenuitem>
</menuchoice></term>
<listitem><para>Brings up the &kghostview;
<link linkend="config-dialog"><action>configuration dialog</action>
box</link>.</para></listitem> </varlistentry>
</variablelist>
</sect1>
<sect1 id="help">
<title>The <guimenu>Help</guimenu> Menu</title>
&help.menu.documentation;
</sect1>
</chapter>
<chapter id="config-dialog">
<title>Configuration</title>
<para>
The configuration dialog box is accessed with the
<menuchoice><guimenu>Settings</guimenu><guimenuitem>Configure
&kghostview;...</guimenuitem></menuchoice> option. It has two pages;
<guilabel>General</guilabel> and <guilabel>Ghostscript
Configuration</guilabel>
</para>
<sect1 id="general-settings">
<title>General Settings</title>
<para>
You can select <guilabel>Enable anti-aliasing of fonts and
images</guilabel> to get smoothly rendered text, but note that
anti-aliasing is memory intensive and slower than straightforward
rendering of fonts. Early versions of
<application>Ghostscript</application> could not perform anti-aliasing.
</para>
<para>
Select <guilabel>Use platform fonts</guilabel> if you wish to use your
native system fonts rather than those that come with
<application>Ghostscript</application>.
</para>
<para>
Turn <guilabel>Show Ghostscript messages in a separate box</guilabel>
on if you want to be informed of any output or error messages
generated by the <application>Ghostscript</application> interpreter.
</para>
<para>
You can choose whether &kghostview; uses a
<guilabel>Monochrome</guilabel>, <guilabel>Grayscale</guilabel> or
<guilabel>Color</guilabel> <guilabel>Palette</guilabel> for the display.
</para>
</sect1>
<sect1 id="ghostscript-config">
<title><application>Ghostscript</application> Configuration</title>
<para>
In this dialog box page you can set the name of the
<application>Ghostscript</application> <guilabel>Interpreter:</guilabel>
executable and the <guilabel>Non-antialiasing arguments:</guilabel> and
the <guilabel>Antialiasing arguments:</guilabel> passed to it. The
default settings should be suitable for most systems.
</para>
</sect1>
</chapter>
<chapter id="credits">
<title>Credits and License</title>
<para>
&kghostview;
</para>
<itemizedlist>
<title>Program Copyright:</title>
<listitem><para>&Mark.Donohoe; &Mark.Donohoe.mail; (original author) 1998
</para></listitem>
<listitem><para>&David.Sweet; &David.Sweet.mail;
Maintainer 1999-2000
</para></listitem>
<listitem><para>&Wilco.Greven; &Wilco.Greven.mail;
Current maintainer
</para></listitem>
<listitem><para>&David.Faure; &David.Faure.mail; (basis for
shell)</para>
</listitem>
<listitem><para>Daniel Duley <email>mosfet@kde.org</email> (port to
Kparts)</para>
</listitem>
<listitem><para>&Espen.Sand; &Espen.Sand.mail; (dialog boxes)</para>
</listitem>
</itemizedlist>
<para>
Documentation copyright 2001, 2002 &Pamela.Roberts;
&Pamela.Roberts.mail;
</para>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL; <!-- FDL: do not remove -->
&underGPL; <!-- GPL License -->
</chapter>
<appendix id="installation">
<title>Installation</title>
<para>
&kghostview; is part of the &kde; 3 project, details of which can be found at
<ulink url="http://www.kde.org">http://www.kde.org</ulink>.
</para>
<para>
To use &kghostview;, you must have the <application>Ghostscript</application>
program as well as &kde; 3 installed on your machine. The
<application>Ghostscript</application> home page is at
<ulink url="http://www.cs.wisc.edu/~ghost/">http://www.cs.wisc.edu/~ghost/</ulink>
</para>
<para>
Most distributions will include &kghostview;, but if you want to roll your own
the source code can be found in the &package; package on &kde-ftp;, the main
ftp site of the &kde; project.</para>
<!--
<para>
To see if a later version of &kghostview; has been released, you can
take a look in <ulink
url="http://apps.kde.com">http://apps.kde.com</ulink>. </para>
-->
&install.compile.documentation;
</appendix>
&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

@ -0,0 +1,2 @@
KDE_LANG = en
KDE_DOCS = AUTO

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 829 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1010 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 837 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 906 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 806 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 439 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 907 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 921 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 557 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 824 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 729 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

@ -0,0 +1,747 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY kappname "&kooka;">
<!ENTITY package "kdegraphics">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE"> <!-- change language only here -->
]>
<book lang="&language;">
<bookinfo>
<title>The &kooka; Manual</title>
<authorgroup>
<author> <firstname>Martin</firstname>
<surname>Sommer</surname>
<affiliation><address><email>msommer@suse.de</email></address></affiliation>
</author>
<othercredit role="developer">
<firstname>Klaas</firstname>
<surname>Freitag</surname>
<affiliation>
<address><email>freitag@suse.de</email></address>
</affiliation>
<contrib>Developer</contrib>
</othercredit>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<copyright>
<year>2002</year>
<holder>Klaas Freitag, Martin Sommer</holder>
</copyright>
<legalnotice
>&FDLNotice;</legalnotice>
<date>2002-02-04</date>
<releaseinfo>0.33.00</releaseinfo>
<abstract><para>&kooka; is a very useful &kde; scanning
application.</para></abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>Scanner</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
<para>&kooka; is a &kde; application that enables easy scanning using
<acronym>SANE</acronym> libraries. Therefore,<acronym>SANE</acronym>
the package must be installed to use &kooka;. Clear and concise use
was the focus of its development.</para>
<para>Character recognition is also provided by the built-in text
recognition program gocr. Install <application>gocr</application> to
use this functionality. After character recognition is complete, the
recognized material can be opened in the text editor &kate; with just
one click, where you can edit the contents.</para>
</chapter>
<chapter id="how-to-use">
<title>Application Instructions</title>
<para>The web site <ulink
url="http://www.sane-project.org/">http://www.sane-project.org</ulink>
has information about supported scanners. Refer to it before
purchasing a scanner, if possible.</para>
<sect1 id="screen">
<title>The &kooka; Main Window</title>
<screenshot>
<screeninfo>The &kooka; Main Window </screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kooka_mainctrl.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>
<para>Start &kooka; from a console by simply entering
<userinput><command>kooka</command></userinput>. Create a link on the
&kde; desktop, which uses a scanner icon, if desired.</para>
<para>The main window in &kooka; consists of three frames. At the top,
see both icon and a menu panels. Use the mouse to enlarge or reduce
the windows as needed.</para>
<itemizedlist>
<listitem>
<para>The navigation window consists of two tabs, which allow you to
switch between the <guilabel>Preview</guilabel> and the integrated
file browser called the <guilabel>Gallery</guilabel>. The working
folder is displayed in the lower part of the window along with the
folder where the scan will be saved.</para>
</listitem>
<listitem>
<para>Make your scanner-dependent settings, which are dependent on the
scanner you have connected, in the lower left window. Usually, these
are settings for resolution, brightness and contrast, scanning mode
(&eg;, color, gray, or binary), and for gamma values.</para>
<para>Configure your settings here first. Afterwards, initiate the
preview scan with <guimenuitem>Preview</guimenuitem>. If the
<guilabel>Preview</guilabel> tab in the upper window is selected, see
the results there.</para>
<para>Select the various formats in the preview image itself to define
the final dimensions. The <guilabel>User</guilabel> setting is
recommended for this, so you select the area to scan in the preview
display with the mouse.</para>
<para>After this is done, click <guimenu>Scan</guimenu> to scan the
selection made in the preview. After scanning, you will be asked in
which format to save the image whether to make this your standard
format (without being prompted to confirm your selection in the
future).</para>
<note><para>If you checked that you do not want to be asked about the
save format, the memory assistant will no longer appear. To change the
format some time in the future, select <menuchoice>
<guimenu>Settings</guimenu> <guimenuitem>Configure
Kooka...</guimenuitem> <guimenuitem>Save Image</guimenuitem>
<guimenuitem>Always show memory assistant</guimenuitem>
</menuchoice></para></note>
</listitem>
<listitem>
<para>The large window shows how the image appears after a final
scan.</para>
</listitem>
</itemizedlist>
</sect1>
</chapter>
<chapter id="commands">
<title>Command References</title>
<sect1 id="kooka-toolbar">
<title>The main &kooka; Toolbar</title>
<sect2>
<title>The <guimenu>File</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Print</guimenuitem>
</menuchoice></term>
<listitem>
<para>Prints the displayed image.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Create Folder...</guimenuitem>
</menuchoice></term>
<listitem>
<para>Create a folder to hold your images.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Save Image</guimenuitem>
</menuchoice></term>
<listitem>
<para>Save the image selected underneath the
<guilabel>Kooka Gallery</guilabel>.</para>
<para>See the <link linkend="save"> Save</link>
section for details.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Delete Image</guimenuitem>
</menuchoice></term>
<listitem>
<para>Delete the image selected underneath the
<guilabel>Kooka Gallery</guilabel>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Unload Image</guimenuitem>
</menuchoice></term>
<listitem>
<para>Remove the image displayed in the <guilabel>Image
Viewer</guilabel>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice></term>
<listitem>
<para>Quit &kooka;.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>The <guimenu>Image</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>G</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Open image in graphic application</guimenuitem>
</menuchoice></term>
<listitem>
<para>Enter a graphics application for opening your scanned image
directly. Recommended applications include <application>The
GIMP</application>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>OCR image...</guimenuitem>
</menuchoice></term>
<listitem>
<para>Start the window for optical character recognition
(<acronym>OCR</acronym>). If you have <application>gocr</application>
installed, then the path to it should be in the path line. This
starts the character recognition for the preview image or for the
highlighted area.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>OCR on selection...</guimenuitem>
</menuchoice></term>
<listitem>
<para>A window will reappear for the character recognition. Here,
however, the character recognition is only for the area highlighted in
the final scan.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>I</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Scale to Width</guimenuitem>
</menuchoice></term>
<listitem >
<para>This proportionally scales the image in the large canvas to the
width of the display.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>H</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Scale to Height</guimenuitem>
</menuchoice></term>
<listitem>
<para>Proportionately scales the image to the height of the
display.</para>
</listitem >
</varlistentry>
<varlistentry>
<term >
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>S</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Original Size</guimenuitem>
</menuchoice></term>
<listitem>
<para>Restores the original scan size by reducing or enlarging the
image in the display.</para>
<para>There are additional methods of scaling an image:
<mousebutton>right</mousebutton> click the image display. Redefine the
three named options and set the enlargement itself. This can also be
done in the <guilabel>Preview</guilabel> window.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>N</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Create from selection</guimenuitem>
</menuchoice></term>
<listitem>
<para>If the scanned image includes more than you want to appear in the final
image, use this tool to crop your image by marking your selection in
the larger image display to the right then selecting this tool. The
image is cropped according to your selection. You may already be
familiar with this function from <application>The GIMP</application>
crop tool.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Mirror image vertically</guimenuitem>
</menuchoice></term>
<listitem>
<para>Flip image vertically.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>M</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Mirror image horizontally</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Flip image horizontally.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>B</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Mirror both directions</guimenuitem>
</menuchoice></term>
<listitem>
<para>Flip image both horizontally and vertically.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>R</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Rotate image clockwise</guimenuitem>
</menuchoice></term>
<listitem>
<para>Rotate the image ninety degrees clockwise.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>W</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Rotate image counter-clockwise</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Rotate the image ninety degrees counterclockwise.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice><shortcut>
<keycombo action="simul">&Ctrl;<keycap>D</keycap></keycombo>
</shortcut>
<guimenu>Image</guimenu>
<guimenuitem>Rotate image 180 degrees</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Rotates image 180 degrees.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>The <guimenu>Settings</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Toolbar</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Removes the top toolbar to give additional viewing area. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show Statusbar</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Removes the bottom statusbar to give additional viewing area.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2>
<title>Configuring Shortcuts</title>
<para>The <menuchoice>
<guimenu>Settings</guimenu><guimenuitem>Configure Shortcuts...</guimenuitem></menuchoice>
allows you to specify key bindings</para>
<para>Below is an example of how to configure a short cut for deleting
an image.</para>
<screenshot>
<screeninfo>Picture of shortcut dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="shortcut0.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
<itemizedlist>
<listitem><para>
Click on the custom button.
</para></listitem>
<listitem><para>
Next click on the primary button.
</para></listitem>
<listitem><para>
Do <userinput><keycombo
action="seq"><keycap>CTRL</keycap><keycap>X</keycap></keycombo></userinput>
and the dialog should disappear. The keybinding is now entered.
</para></listitem>
</itemizedlist>
<screenshot>
<screeninfo>Picture of keybinding dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="shortcut1.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
<para>Pressing the keys <userinput><keycombo
action="seq"><keycap>CTRL</keycap><keycap>X</keycap></keycombo></userinput>
now deletes the image selected underneath <guilabel>Kooka Gallery</guilabel>.
</para>
</sect2>
<sect2>
<title>Configuring Toolbars</title>
<para>The <menuchoice>
<guimenu>Settings</guimenu><guimenuitem>Configure Toolbars...</guimenuitem></menuchoice>
Is used to add additional buttons to the toolbars.</para>
<screenshot>
<screeninfo>Picture of toolbars dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="toolbar.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
<itemizedlist>
<listitem>
<para>To add a button to the File toolbar,
</para>
<screenshot>
<screeninfo>Picture of toolbars dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="toolbar1.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
<para> make sure <guilabel>Main Toolbar</guilabel> is displayed in
the top combo box.
</para></listitem>
<listitem><para>
Click on one of the items in the left hand pane. This item will now have a
blue background showing that it has been selected.
</para></listitem>
<listitem><para>
Next click on the <keysym>Right arrow</keysym> button to place it in
the right pane.
</para></listitem>
<listitem><para>
Click on <userinput><guilabel>Apply</guilabel></userinput> and then
click on <userinput><guilabel>OK</guilabel></userinput>
</para></listitem>
</itemizedlist>
<para>The new Item should be in the toolbar.
<screenshot>
<screeninfo>Picture of toolbars dialog</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="toolbar2.png" format="PNG"/>
</imageobject>
</mediaobject>
</screenshot>
</para>
</sect2>
<sect2>
<title>Configuring Kooka</title>
<para>The <menuchoice>
<guimenu>Settings</guimenu><guimenuitem>Configure Kooka...</guimenuitem>
</menuchoice>
</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guilabel>Kooka Startup Preferences</guilabel>
</menuchoice>
</term>
<listitem>
<para>You may want to uncheck <guilabel>Show the scanner selection box
on next startup</guilabel>, if you have only one scanner. If you
have only one computer you may also want to uncheck
<guilabel>Query network for available scanners</guilabel>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guilabel>Thumbnail View</guilabel>
</menuchoice>
</term>
<listitem>
<para>Here the size and the shading of the thumbnails can be adjusted;
as well as the background. For example, you might want to reduce the
size of the thumbnails if you are scanning many pages from a book.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
</chapter>
<chapter id="save">
<title>Save</title>
<subtitle>More on Saving Images</subtitle>
<para>The method for saving an image is somewhat different in &kooka;
than in many other applications. Click the
<guilabel>Gallery</guilabel> tab to open a small file browser. This is
the folder <filename
class="directory">~/.kde/share/apps/ScanImages/</filename> In the
lower portion of the window, your current subfolder in the gallery
is shown. This is where all scanned images are first saved as
files. When starting &kooka; for the first time, you will only see the
<filename class="directory">ScanImages</filename>. Create
subfolders by <mousebutton>right</mousebutton> clicking this
folder. The selected folder, highlighted in blue, is the first save
location of the scanned images. The scans are labeled in ascending
numerical order as in <filename>kscan_0001</filename> and
<filename>kscan_0002</filename>.</para>
<para>To save an image permanently, <mousebutton>left</mousebutton>
click the name. Next, give a new name and the appropriate ending for
the image format chosen when scanning. If you enter a different
extension, you will get a message that it does not correspond to the
scanned format. Although you can still save the image under this name,
it will retain its original format. At present,
<quote>On-the-fly</quote> conversion is not offered.</para
><para>If you do not want to use this method of managing your images
in <filename
class="directory">~/.kde/share/apps/ScanImages/</filename>, you can,
of course, save them to another location. To do this,
<mousebutton>right</mousebutton> click the
image name and select <guilabel>Save</guilabel>. Choose any path
here. In addition, close or permanently delete images here.</para>
<para>To incorporate other images in the gallery, add them in
&konqueror; by dragging and dropping. Open &konqueror; to the
folder containing the desired images. Then add them to the &kooka;
gallery by dragging them and dropping them into the gallery.</para>
</chapter>
<chapter id="ocr">
<title>Character Recognition</title>
<para>As already mentioned, the <application>gocr</application> must
be installed. Scan a preview of your document in grayscale or
color. You can only scan in binary mode if you have a pure white sheet
of paper with black print. Next, highlight the text to be recognized
in the preview window. Then, do your final scan in binary mode with
<guibutton>Scan</guibutton>.</para>
<para>Now click the second icon from the left,
<inlinemediaobject><imageobject>
<imagedata fileref="ocr-select.png" format="PNG"/>
</imageobject></inlinemediaobject>,
in the icon panel,
<guilabel>OCR on Selection...</guilabel>, or select
this item in the <guilabel>Image</guilabel> menu. For your
first try, do not change the default settings shown in the emerging
<acronym>OCR</acronym> window. These are usually appropriate and meet
most needs. Now click <guimenuitem>Start character
recognition</guimenuitem>. You will now see a window containing the
<acronym>OCR</acronym> results. The quality depends heavily on that of
the document itself. </para>
<screenshot> <screeninfo>The gocr Window</screeninfo> <mediaobject>
<imageobject><imagedata fileref="kooka_gocr.png"
format="PNG"/></imageobject> </mediaobject> </screenshot>
<para>The text can now be opened by clicking the button with the
&kate; editor. After the final scan, mark a selection in the image
display to the right to load just a part of the text or image to the
<acronym>OCR</acronym>. Next, in the icon panel, click the third
button from the right or click in the menu on
<guimenuitem>OCR on selection</guimenuitem>. Now
proceed as described in the previous section.</para >
<screenshot>
<screeninfo>The Results of the <acronym>OCR</acronym></screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kooka_gocr_result.png"
format="PNG"/></imageobject>
</mediaobject>
</screenshot>
</chapter>
<chapter id="credits">
<title>Credits and License</title>
<para>&kooka;</para>
<para> Copyright for the application 2001-2002 Klaas Freitag
<email>freitag@suse.de</email></para>
<para>Copyright for the documentation 2002 Martin Sommer
<email>msommer@suse.de</email></para>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;
&underGPL;
</chapter>
<appendix id="installation">
<title>Installation</title>
&install.intro.documentation;
&install.compile.documentation;
</appendix>
</book>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

@ -0,0 +1,932 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY kpdf "<application>KPDF</application>">
<!ENTITY kappname "&kpdf;">
<!ENTITY package "kdegraphics">
<!ENTITY % English "INCLUDE">
<!ENTITY % addindex "IGNORE">
]>
<book lang="&language;">
<bookinfo>
<title>The &kpdf; Handbook</title>
<authorgroup>
<author>
<firstname>Albert</firstname>
<surname>Astals Cid</surname>
<affiliation>
<address><email>tsdgeos@yahoo.es</email></address>
</affiliation>
</author>
<author>
<firstname>Titus</firstname>
<surname>Laska</surname>
<affiliation>
<address><email>titus.laska@gmx.de</email></address>
</affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<legalnotice>&FDLNotice;</legalnotice>
<date>2006-05-20</date>
<releaseinfo>0.5</releaseinfo>
<!-- Abstract about this handbook -->
<abstract>
<para>&kpdf; is a &kde; PDF viewer based on xpdf code.</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>kpdf</keyword>
<keyword>pdf</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
<para>&kpdf; is a &kde; <firstterm>PDF</firstterm> (Portable Document Format) viewer
based on the code of the xpdf application. Although being based on xpdf code, &kpdf;
has some unique features such as continuous mode and presentation support.
</para>
<para>
The PDF format is widely used for publishing documents that are
mostly not meant to be edited again. &kpdf; is only a viewer
for these files and therefore it doesn't provide any functionality
to edit or create PDF documents.
</para>
</chapter>
<chapter id="use">
<title>Using &kpdf;</title>
<sect1 id="opening">
<title>Opening Files</title>
<para>
To view a PDF file in &kpdf;, select <menuchoice><guimenu>File</guimenu><guimenuitem>Open...
</guimenuitem></menuchoice>, choose a PDF or PS file in the dialogue and click <guibutton>Open</guibutton>.
Your file should now be displayed in the main window.
</para>
<para>
If you have already opened files in &kpdf; before, you can quickly access them by selecting them in
the <menuchoice><guimenu>File</guimenu><guisubmenu>Open Recent</guisubmenu></menuchoice> menu.
</para>
<para>
After having a file opened you probably want to read it and therefore navigate through it. Click
Next to learn more about this.
</para>
</sect1>
<sect1 id="navigating">
<title>Navigating</title>
<para>This section describes how you can navigate through a document in &kpdf;.</para>
<para>
There are multiple ways of scrolling the viewing area. One is to use the
<keycap>Up Arrow</keycap> and <keycap>Down Arrow</keycap> keys. You may also use
the scrollbar, your <!--TODO: insert entity, if any-->mousewheel or the <keycap>Page Up</keycap> and <keycap>Page Down</keycap>
keys.
</para>
<para>
Another way is to hold the &LMB; down at any place on the document while dragging the mouse in the
opposite direction of where you want to move. This procedure only works if the Browse Tool is
enabled, which you can select by choosing <menuchoice><guimenu>Tools</guimenu><guimenuitem>Browse Tool
</guimenuitem></menuchoice>.
</para>
<para>
The navigation panel on the left side of the screen enables two more ways of navigating
through a document:
</para>
<itemizedlist>
<listitem>
<para>
If you click on a page thumbnail the viewing area will be brought to
that page.
</para>
</listitem>
<listitem>
<para>
If the document has a table of contents, clicking on a table
of contents item will bring the document to to the page linked to that
item.
</para>
</listitem>
</itemizedlist>
<para>
Some documents have links. In this case you can click on them and the view will
change to the page it links to. If the link is to a web page the default
browser will be invoked.
</para>
<para>
Additionally, you may use the following functionality to quickly move to specific places
in the document:
</para>
<itemizedlist>
<listitem>
<para>
You can go to the first page of the document using
<keycombo action="simul">&Ctrl;<keycap>Home</keycap></keycombo> or
using
<menuchoice>
<guimenu>Go</guimenu>
<guimenuitem>First Page</guimenuitem>
</menuchoice>.
</para>
</listitem>
<listitem>
<para>
You can go to the last page of the document using
<keycombo action="simul">&Ctrl;<keycap>End</keycap></keycombo> or
using
<menuchoice>
<guimenu>Go</guimenu>
<guimenuitem>Last Page</guimenuitem>
</menuchoice>.
</para>
</listitem>
<listitem>
<para>
You can go to the next page of the document using
<keycap>Space</keycap>, the <guibutton>Next Page</guibutton> Toolbar
button or using
<menuchoice>
<guimenu>Go</guimenu>
<guimenuitem>Next Page</guimenuitem>
</menuchoice>.
</para>
</listitem>
<listitem>
<para>
You can go to the previous page of the document using
<keycap>Backspace</keycap>, the <guibutton>Previous Page</guibutton> Toolbar
button or using
<menuchoice>
<guimenu>Go</guimenu>
<guimenuitem>Previous Page</guimenuitem>
</menuchoice>.
</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="presentationMode">
<title>Presentation Mode</title>
<para>
The Presentation mode represents another way to view PDF documents in &kpdf;. It can be
enabled in
<menuchoice><guimenu>View</guimenu><guimenuitem>Presentation</guimenuitem></menuchoice>.
It shows the document on a page per page basis. The pages are shown with
zoom to page, that means all the page is visible.
</para>
<note>
<para>
PDF documents can even specify that they are always opened in presentation mode.
</para>
</note>
<para>
To navigate between
pages you may use the &LMB; (next page) and the &RMB; (previous page), the mouse
wheel, the arrow icons that appear as soon as you move the mouse cursor to the top of the screen,
or the keys specified in the <link linkend="navigating">Navigating</link>
section.
</para>
<para>
You can exit presentation mode at any time by pressing the <keycap>ESC</keycap> key or clicking
the <guiicon>Quit</guiicon> icon appearing if you move the mouse cursor to the top of the
screen.
</para>
<para>
Presentation mode has some configuration options, you can find their
description at <link linkend="configpresentation">Configuring &kpdf;</link>.
</para>
</sect1>
</chapter>
<chapter id="primary-menu-items">
<title>The Menubar</title>
<sect1 id="menufile">
<title>The <guimenu>File</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Open...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open</action> a PDF or PS file. If there is already an opened file it will be closed.
For more information, see the section about <link linkend="opening">Opening Files</link>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Open Recent</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Open</action> a file which was used previously from a
submenu. If a file is currently being displayed it
will be closed. For more information, see the section about
<link linkend="opening">Opening Files</link>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Save As...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Save</action> the currently open file under a different name.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl;<keycap>P</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Print...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Print</action> the currently displayed document.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Print Preview...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>
<action>Show a preview</action> of how the currently displayed
document would be printed with the default options.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Properties</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Display some basic information</action> about the document, such as
title, author, creation date, and details about the fonts used.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl; <keycap>Q</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Close</action> &kpdf;.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="menuedit">
<title>The <guimenu>Edit</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl; <keycap>F</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Find...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open a dialogue that allows you to <action>search for a string in
the document</action>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycap>F3</keycap></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Find Next</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Try to <action>find the previous searched string again</action> in the document.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="menuview">
<title>The <guimenu>View</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl;&Shift;<keycap>P</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Presentation</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Activates</action> the Presentation Mode. For more information, see the
section about <link linkend="presentationMode">Presentation Mode</link>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl;<keycap>+</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Zoom In</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Increase the magnification</action> of the document view.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl;<keycap>-</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Zoom Out</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Decrease the magnification</action> of the document view.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Fit to Page Width</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Change the magnification</action> of the document
view to a value that makes the pages' width equal to the document
view's width.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Fit to Page</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Change the magnification</action> of the document view
to a value that makes at least one whole page visible.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Continuous</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Enable the continuous page mode</action>. In continuous mode,
all pages of the document are shown, and you can scroll through
them without having to use the <menuchoice><guimenu>Go</guimenu>
<guimenuitem>Previous Page</guimenuitem></menuchoice> and
<menuchoice><guimenu>Go</guimenu><guimenuitem>Next Page</guimenuitem>
</menuchoice> options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Two Pages</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Enable the two page mode</action>, which shows two pages of
the document next to each other..</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="menugo">
<title>The <guimenu>Go</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycap>Backspace</keycap></shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Previous Page</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>View the previous page</action> of the document.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycap>Space</keycap></shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Next Page</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>View the next page</action> of the document.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl; <keycap>Home</keycap></keycombo></shortcut>
<guimenu>Go</guimenu>
<guimenuitem>First Page</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Go to the first page</action> of the document.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl; <keycap>End</keycap></keycombo></shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Last Page</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Go to the last page</action> of the document.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Alt; <keycap>Left</keycap></keycombo></shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Back</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Go back to the previous view</action> of the document.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Alt;<keycap>Right</keycap></keycombo></shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Forward</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Move forward to the next view</action> of the document. This only works if you have already moved back before.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl;<keycap>G</keycap></keycombo></shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Go to Page</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Open a dialog which allows you to <action>go to any page</action> of the document.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="menutools">
<title>The <guimenu>Tools</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guimenu>Tools</guimenu>
<guimenuitem>Browse Tool</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The mouse will have its normal behaviour, &LMB; for dragging the document and following links and &RMB; for adding bookmarks and fit to width.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Tools</guimenu>
<guimenuitem>Zoom Tool</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The mouse will work as a zoom tool. Clicking &LMB; and dragging will zoom the view to the selected area, clicking &RMB; will bring the document back to the previous zoom.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Tools</guimenu>
<guimenuitem>Select Tool</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>The mouse will work as a select tool. In that mode clicking &LMB; and dragging will give the option of copying the text/image of current the selected area to the clipboard, speak a text or to save an image to a file.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="settings-menu">
<title>The <guimenu>Settings</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl;<keycap>M</keycap></keycombo></shortcut>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Menubar</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Toggle the Menubar display</action> on and off. Once
hidden it can be made visible using the &RMB; menu.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Toolbar</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Toggle the Toolbar display</action> on and off.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl;<keycap>L</keycap></keycombo></shortcut>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Navigation Panel</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Toggle the navigation panel</action> on and off.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl;&Shift;<keycap>F</keycap></keycombo></shortcut>
<guimenu>Settings</guimenu>
<guimenuitem>Full Screen Mode</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Enables the full screen mode</action>. Note that
full screen mode is different from <link
linkend="presentationMode">presentation mode</link> insofar as the
only peculiarity of full screen mode is that it hides the window
decorations, the menubar and the toolbar.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Shortcuts...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Opens a window that lets you <action>configure the keyboard
shortcuts</action> for many menu commands.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Toolbars...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Opens a window that lets you choose which icons are visible
in the toolbar.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &kpdf;...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Opens the <link linkend="configure">Configure</link>
window.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="menuhelp">
<title>The <guimenu>Help</guimenu> Menu</title>
&help.menu.documentation;
</sect1>
</chapter>
<chapter id="configure">
<title>Configuring &kpdf;</title>
<sect1 id="configindex">
<title>Overview</title>
<para>
You can configure &kpdf; by choosing <menuchoice><guimenu>Settings</guimenu>
<guimenuitem>Configure &kpdf;...</guimenuitem></menuchoice>.
The configuration dialogue is split into four sections. This chapter describes the available
options in detail.
</para>
<itemizedlist>
<listitem>
<para><link linkend="configgeneral">General</link></para>
</listitem>
<listitem>
<para><link linkend="configaccessibility">Accessibility</link></para>
</listitem>
<listitem>
<para><link linkend="configperformance">Performance</link></para>
</listitem>
<listitem>
<para><link linkend="configpresentation">Presentation</link></para>
</listitem>
</itemizedlist>
<screenshot>
<screeninfo>The configuration dialogue</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="configure.png" format="PNG" />
</imageobject>
<textobject>
<phrase>The configuration dialogue</phrase>
</textobject>
</mediaobject>
</screenshot>
</sect1>
<sect1 id="configgeneral">
<title>General</title>
<variablelist>
<varlistentry>
<term>Show search bar in thumbnails list</term>
<listitem>
<para>Whether to the show a search bar in the thumbnails view or not. That
search bar is useful for filtering pages that contain a given
string.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Link thumbnails list with the page</term>
<listitem>
<para>Whether the thumbnails view should always display the current
page or not.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Show scrollbars</term>
<listitem>
<para>Whether to show scrollbars for the document view.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Show hints and info messages</term>
<listitem>
<para>Whether to show some informative messages on startup, file
load, etc.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Obey DRM limitations</term>
<listitem>
<para>Whether &kpdf; should obey <firstterm>DRM</firstterm> (Digital Rights Management) restrictions. DRM limitations are used to make it impossible to perform certain actions with PDF documents, such as copying content to the clipboard. Note that in some configurations of &kpdf;, this option is not available.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Watch file</term>
<listitem>
<para>Whether opened files should be automatically checked for
changes and updated, if necessary.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="configaccessibility">
<title>Accessibility</title>
<variablelist>
<varlistentry>
<term>Draw border around images</term>
<listitem>
<para>Whether to draw a border around images.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Draw border around links</term>
<listitem>
<para>Whether to draw a border around links.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Change colors</term>
<listitem>
<para><action>Enables</action> the color changing options.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Invert colors</term>
<listitem>
<para><action>Inverts</action> colors on the view, &ie; black objects will be shown white.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Change paper color</term>
<listitem>
<para><action>Changes</action> the paper's color, &ie; the document's background.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Change dark and light colors</term>
<listitem>
<para><action>Changes</action> the dark and light color to your preference, that means
black will not be rendered as black but as the selected dark color and white
will not be rendered as white but as the selected light color.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Convert to black and white</term>
<listitem>
<para><action>Converts</action> the document to black and white. You can set the
threshold and the contrast. Setting the threshold to a higher value
will result in darker grays used.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="configperformance">
<title>Performance</title>
<variablelist>
<varlistentry>
<term>Enable transparency effects</term>
<listitem>
<para>Draw selections and other special graphics using
transparency effects. Disable the option to draw them using
outline or opaque fill styles and increase speed on selections.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Enable background generation</term>
<listitem>
<para>Use a background thread to generate the pages. By disabling
this option the user interface will become less reactive (will be blocked
if necessary), but pages will be displayed a bit faster.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Memory usage profiles</term>
<listitem>
<para>&kpdf; can achieve best performance by tuning the memory usage, based on your system and your tastes.
The more memory you let it to use, the faster the program will behave. The Default profile is good
for every system, but you can prevent &kpdf; from using more memory than necessary by selecting the Low
profile, or let it get the most out of your system using Aggressive.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="configpresentation">
<title>Presentation</title>
<variablelist>
<varlistentry>
<term>Advance every</term>
<listitem>
<para>Enables automatic advancing of pages given a time period.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Loop after last page</term>
<listitem>
<para>When navigating on presentation mode and going past the last page the first page will appear.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Background color</term>
<listitem>
<para>The color that will fill the part of the screen not covered by the page when on presentation mode.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Default transition</term>
<listitem>
<para>The transition effect between page and page if the document does not specify one. Set this to <guilabel>Random
Transition</guilabel> to make &kpdf; randomly choose one of the available effects.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Mouse cursor</term>
<listitem>
<para>Whether the mouse should be always hidden, always shown or hidden after a small time of inactivity.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Show progress indicator</term>
<listitem>
<para>Whether to show a progress circle that shows the current page and the total number of pages on the upper
right corner of the presentation screen everytime you change the page.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Show summary page</term>
<listitem>
<para>Whether to show a summary page at the beginning of the presentation with the title, author and number of pages of the document.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
</chapter>
<chapter id="credits">
<title>Credits and License</title>
<itemizedlist>
<title>Program Copyright:</title>
<listitem><para>Albert Astals Cid<email>tsdgeos@yahoo.es</email> Current maintainer</para></listitem>
<listitem><para>Christophe Devriese<email>oelewapperke@ulyssis.org</email></para></listitem>
<listitem><para>&Wilco.Greven; &Wilco.Greven.mail; Original author</para></listitem>
<listitem><para>Enrico Ros<email>eros.kde@email.it</email> Refactoring for 3.4</para></listitem>
<listitem><para>Laurent Montel<email>montel@kde.org</email></para></listitem>
</itemizedlist>
<itemizedlist>
<title>Documentation Copyright:</title>
<listitem><para>Albert Astals Cid<email>tsdgeos@yahoo.es</email> Author</para></listitem>
<listitem><para>Titus Laska<email>titus.laska@gmx.de</email> Some updates and additions</para></listitem>
</itemizedlist>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;
&underGPL;
</chapter>
<appendix id="installation">
<title>Installation</title>
<sect1 id="getting-kapp">
<title>How to obtain &kpdf;</title>
&install.intro.documentation;
</sect1>
<sect1 id="compilation">
<title>Compilation and Installation</title>
<note>
<para>
If you are reading this help in the &khelpcenter;, &kpdf; has already been
installed on this system and you do not need install it anymore.
</para>
</note>
&install.compile.documentation;
</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:
// vim:ts=2:sw=2:tw=78:noet
-->

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 592 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 629 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 709 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 693 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1009 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

@ -0,0 +1,359 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY kappname "&kruler;">
<!ENTITY package "kdegraphics">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
<!ENTITY % addindex "IGNORE">
]>
<book lang="&language;">
<bookinfo>
<title>The &kruler; Handbook</title>
<authorgroup>
<author>
<firstname>Lauri</firstname>
<surname>Watts</surname>
<affiliation>
<address><email>&Lauri.Watts.mail;</email></address>
</affiliation>
</author>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<legalnotice>&FDLNotice;</legalnotice>
<copyright>
<year>2001</year>
<holder>&Lauri.Watts;</holder>
</copyright>
<date>2005-12-10</date>
<releaseinfo>3.5</releaseinfo>
<!-- Abstract about this handbook -->
<abstract>
<para>
&kruler; can be used to measure objects on the screen.
</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>KRuler</keyword>
<keyword>kdegraphics</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
<para>&kruler; is a very simple application, with only one aim in life. To
measure distances on your screen.</para>
<para>To start &kruler;, choose <menuchoice><guimenu>Graphics</guimenu>
<guisubmenu>More Applications</guisubmenu>
<guimenuitem>KDE Screen Ruler</guimenuitem></menuchoice> from your
<guimenu>K</guimenu> menu.</para>
<para>Clicking with the &LMB; on the &kruler; will turn the cursor to a cross
with four arrows and enables you to drag &kruler; around the screen.</para>
<para>When you move the mouse over &kruler;, your cursor will turn into an
elongated arrow, with a circle at one end. As you move the cursor, &kruler; will
display how far from the point marked <guilabel>0</guilabel> the circle on the
end of the cursor currently is. &kruler; will also display the
&HTML; color code of the color currently under the circle.
This is very useful for picking out colors from an image. If you move the
mouse far enough that the arrow cursor is no longer touching &kruler;, the
cursor will revert to normal, allowing you to carry on working with your other
applications.</para>
<para>You can change the orientation using the context menu, described in the
next chapter.</para>
</chapter>
<chapter id="menu-reference">
<title>Menu Reference</title>
<para>Clicking with the &RMB; on the ruler will pop up a context menu, with the
following entries:</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<guisubmenu>Orientation</guisubmenu>
</menuchoice>
</term>
<listitem>
<para>This submenu contains entries that allow you to change the orientation of
&kruler;</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycap>N</keycap>
</shortcut>
<guisubmenu>Orientation</guisubmenu>
<guimenuitem>North</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Turns &kruler; so the ruler is horizontal, and the measurements are on the
top (North) of the ruler</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycap>E</keycap>
</shortcut>
<guisubmenu>Orientation</guisubmenu>
<guimenuitem>East</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Turns &kruler; so the ruler is vertical, and the measurements are on the
right (East) of the ruler</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycap>S</keycap>
</shortcut>
<guisubmenu>Orientation</guisubmenu>
<guimenuitem>South</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Turns &kruler; so the ruler is horizontal, and the measurements are on the
bottom (South) of the ruler</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycap>W</keycap>
</shortcut>
<guisubmenu>Orientation</guisubmenu>
<guimenuitem>West</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Turns &kruler; so the ruler is vertical, and the measurements are on the
left (West) of the ruler</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycap>R</keycap>
</shortcut>
<guisubmenu>Orientation</guisubmenu>
<guimenuitem>Turn Right</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Turns the ruler 90 Degrees to the right. For example, if it is oriented
South, it will rotate to be oriented West.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycap>L</keycap>
</shortcut>
<guisubmenu>Orientation</guisubmenu>
<guimenuitem>Turn Left</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Turns the ruler 90 Degrees to the left. For example, if it is oriented
West, it will rotate to be oriented South.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guisubmenu>Length</guisubmenu>
</menuchoice>
</term>
<listitem>
<para>This submenu contains entries that allow you to change the length of
&kruler;</para>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>S</keycap></keycombo>
</shortcut>
<guisubmenu>Length</guisubmenu>
<guimenuitem>Short</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Makes &kruler; short - about 385 pixels long.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>M</keycap></keycombo>
</shortcut>
<guisubmenu>Length</guisubmenu>
<guimenuitem>Medium</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Makes &kruler; a medium length - about 640 pixels long.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>T</keycap></keycombo>
</shortcut>
<guisubmenu>Length</guisubmenu>
<guimenuitem>Tall</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Makes &kruler; long - about 960 pixels in length.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>F</keycap></keycombo>
</shortcut>
<guisubmenu>Length</guisubmenu>
<guimenuitem>Full Screen Width</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Makes &kruler; the same size as your screen width.</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>
</shortcut>
<guimenuitem>Choose Color...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Displays the standard &kde; color picker dialog, where you can choose the
background color for &kruler;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul"><keycap>F</keycap></keycombo>
</shortcut>
<guimenuitem>Choose Font...</guimenuitem>
</menuchoice>
</term>
<listitem>
<para>Displays the standard &kde; font dialog where you can choose the font for
&kruler;.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<menuchoice>
<guisubmenu>Help</guisubmenu>
</menuchoice>
</term>
<listitem>
&help.menu.documentation;
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<varlistentry>
<term>
<menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>Q</keycap></keycombo>
</shortcut>
<guimenuitem>Quit</guimenuitem>
</menuchoice>
</term>
<listitem>
<para><action>Quits</action> &kruler;</para>
</listitem>
</varlistentry>
</variablelist>
</chapter>
<chapter id="credits-and-license">
<title>Credits and Licenses</title>
<para>&kruler;</para>
<para>Copyright 2000, 2001 Till Krech <email>till@snafu.de</email></para>
<para>Thanks to Gunnstein Lye <email>gl@ez.no</email> for the initial port to
&kde; 2</para>
<para>Documentation Copyright &Lauri.Watts;
&Lauri.Watts.mail;</para>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;
&underGPL;
</chapter>
<appendix id="installation">
<title>Installation</title>
&install.intro.documentation;
&install.compile.documentation;
</appendix>
&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes: nil
sgml-general-insert-case: lower
End:
-->

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

@ -0,0 +1,535 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY kappname "&ksnapshot;">
<!ENTITY package "kdegraphics">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<book lang="&language;">
<bookinfo>
<title>The &ksnapshot; Handbook</title>
<authorgroup>
<author>
<firstname>Richard</firstname>
<othername>J.</othername>
<surname>Moore</surname>
<affiliation>
<address>&Richard.J.Moore.mail;</address>
</affiliation>
</author>
<author>
<firstname>Robert</firstname>
<othername>L.</othername>
<surname>McCormick</surname>
<affiliation>
<address>&Robert.L.McCormick.mail;</address>
</affiliation>
</author>
<author>
<firstname>Brad</firstname>
<surname>Hards</surname>
<affiliation>
<address>&Brad.Hards.mail;</address>
</affiliation>
</author>
<othercredit role="reviewer">
<firstname>Lauri</firstname>
<surname>Watts</surname>
<affiliation>
<address>&Lauri.Watts.mail;</address>
</affiliation>
<contrib>Reviewer</contrib>
</othercredit>
<othercredit role="developer">
<firstname>Richard</firstname>
<othername>J</othername>
<surname>Moore</surname>
<affiliation>
<address>&Richard.J.Moore.mail;</address>
</affiliation>
<contrib>Developer</contrib>
</othercredit>
<othercredit role="developer">
<firstname>Matthias</firstname>
<surname>Ettrich</surname>
<affiliation>
<address>&Matthias.Ettrich.mail;</address>
</affiliation>
<contrib>Developer</contrib>
</othercredit>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<copyright>
<year>1997-2000</year>
<holder>&Richard.J.Moore;</holder>
</copyright>
<copyright>
<year>2000</year>
<holder>&Matthias.Ettrich;</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>
<date>2006-07-05</date>
<releaseinfo>0.7</releaseinfo>
<abstract>
<para>&ksnapshot; is a simple applet for taking screenshots. It is capable
of capturing images of the whole desktop, a single window, a section of a window or a selected
region. The images can then be saved in a variety of formats.</para>
</abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>KSnapshot</keyword>
<keyword>kdegraphics</keyword>
<keyword>screen capture</keyword>
<keyword>screen grab</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
<para>&ksnapshot; is a simple applet for taking screenshots. It is capable
of capturing images of the whole desktop, a single window a section of a window or a selected
region. The images can then be saved in a variety of formats.</para>
<para>Please report any problems or feature requests to the <ulink
url="http://bugs.kde.org/wizard.cgi">&kde; Bug Tracking System</ulink></para>
</chapter>
<chapter id="using-ksapshot">
<title>Using &ksnapshot;</title>
<para>This chapter describes the use of &ksnapshot; for capturing screen
images.</para>
<sect1 id="starting">
<title>Starting &ksnapshot;</title>
<para>&ksnapshot; may be started by one of several ways as described
below.</para>
<itemizedlist>
<listitem>
<para>You may start &ksnapshot; by selecting it from the <menuchoice>
<guimenu>K-Menu</guimenu><guisubmenu>Graphics</guisubmenu>
<guimenuitem>&ksnapshot; (Screen Capture Program)</guimenuitem></menuchoice>.
</para></listitem>
<listitem>
<para>You may start &ksnapshot; by entering the following at the command
prompt:</para>
<screen width="40">
<prompt>%</prompt> <command>ksnapshot &amp;</command>
</screen>
</listitem>
<listitem><para>The mini command line (invoked with
<keycombo action="simul">&Alt;<keycap>F2</keycap></keycombo>) may
also be used to start &ksnapshot;</para></listitem>
</itemizedlist>
<para>Once &ksnapshot; starts, you will see a window like the following:
<mediaobject>
<imageobject>
<imagedata fileref="window.png" format="PNG"/>
</imageobject>
<textobject><phrase>&ksnapshot; Preview Window</phrase>
</textobject>
</mediaobject>
</para>
</sect1>
<sect1 id="taking-snapshot">
<title>Taking A Snapshot</title>
<para> &ksnapshot; grabs an image of your entire desktop immediately after it is
started, but before it displays itself on screen. This allows you to quickly
create full-desktop screenshot images.</para>
<para>The snapshot taken by &ksnapshot; is displayed in the preview window,
which is located in the upper left of the &ksnapshot; application window.
Below is an example of the preview window from &ksnapshot;. Your preview
will differ depending on what you have displayed on the desktop.</para>
<mediaobject>
<imageobject>
<imagedata fileref="preview.png" format="PNG"/>
</imageobject>
<textobject><phrase>&ksnapshot; Preview Window</phrase>
</textobject>
</mediaobject>
<para>The snapshot can be saved by clicking on
the <guibutton>Save As...</guibutton> button. This opens the standard &kde; save dialog,
where you can choose the filename, the folder location, and the format that your snapshot
will be saved in. If multiple snapshots are taken, the
filename is automatically incremented to prevent you from overwriting previous
snapshots. You may however edit the filename to anything you wish, including the name
of a previously saved snapshot. </para>
<para>To take a snapshot of a single window, select the <guilabel>Window
Under Cursor</guilabel> combo box entry (next to the <guilabel>Capture mode:</guilabel>
label), and then click on the <guibutton>New Snapshot</guibutton> button.</para>
<para>Depending on your <guilabel>Snapshot delay:</guilabel> settings you
get either a cross as the mouse pointer (for <guilabel>No delay</guilabel>),
or a standard mouse cursor which you can use to work with a program until
the delay is over and a snapshot is taken.</para>
<para>With <guilabel>No delay</guilabel>, the snapshot is taken immediately when you
click into a window.</para>
<para>&ksnapshot; will display the new snapshot in the preview
area, at which time you can choose to save the new image (by pressing
<guibutton>Save As...</guibutton>)
or to grab a new one, by pressing the
<guibutton>New Snapshot</guibutton> button.</para>
<para>To take a new snapshot of the entire desktop, select the
<guilabel>Full Screen</guilabel> combo box entry and then click on the
<guibutton>New Snapshot</guibutton> button.
&ksnapshot; will now capture the entire desktop if you press
<guibutton>New Snapshot</guibutton>.</para>
<para>Similarly, to take a snapshot of a region, select the
<guilabel>Region</guilabel> combo box entry and set the
<guilabel>Snapshot delay</guilabel> to <guilabel>No delay</guilabel>,
and then click on the <guibutton>New Snapshot</guibutton> button. The
mouse cursor will then change into a cross, and you can then use the
mouse to select the region you want to capture. </para>
<para>To take a new snapshot of a section of a window, select the
<guilabel>Section of Window</guilabel> combo box entry and then click on the
<guibutton>New Snapshot</guibutton> button. With <guilabel>No delay</guilabel>
you get a cross as the mouse pointer and you have to click once with the &LMB; into
the window. The section of the window under the mouse cursor is now highlighted
with a red border. Move the mouse to the wanted section and click the &LMB;
to capture the screenshot.
</para>
</sect1>
<sect1 id="additional-features">
<title>Additional Features</title>
<sect2 id="delay">
<title>Snapshot Delay</title>
<para>The <guilabel>Snapshot Delay:</guilabel> box allows you to enter an
arbitrary time delay, in seconds, between the time that you press the
<guibutton>New Snapshot</guibutton> button and the time that the snapshot is
taken.</para>
<para>When a delay time has been set, you do not have to click the mouse
button to capture a screenshot. This enables you to open a drop down menu,
and take a picture of it.</para>
</sect2>
<sect2 id="window-decoration">
<title>Exclude Window decorations</title>
<para><guilabel>Include window decorations</guilabel> is enabled by default.</para>
<para>When you only want to capture the application itself without the surrounding
window decoration, disable this option and take a new snapshot.</para>
</sect2>
<sect2 id="print-snapshot">
<title>Print</title>
<para>When you want to print your snapshot from the preview, just click
<guibutton>Print...</guibutton> and you get the standard &kde; Print dialog, from
where you can directly print your snapshot.</para>
</sect2>
<sect2 id="copy-snapshot">
<title>Copy to Clipboard</title>
<para>When you want to edit your snapshot in a graphics application without saving
the snapshot, just click <guibutton>Copy to Clipboard</guibutton> and insert the image
into a viewer or graphics application.</para>
</sect2>
<sect2 id="bottom-buttons">
<title>Buttons</title>
<para>There are two further buttons located at the bottom of the
&ksnapshot; window. There function is described below.</para>
<variablelist>
<varlistentry>
<term><guibutton>Help</guibutton></term>
<listitem><para>Gives you a menu where you can open the
<guimenuitem>&ksnapshot; Handbook</guimenuitem>, report a bug or
get some more information <guimenuitem>About &ksnapshot;</guimenuitem>
and <guimenuitem>About &kde;</guimenuitem>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Quit</guibutton></term>
<listitem><para>Quits the &ksnapshot; application.</para></listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
</chapter>
<chapter id="dcop">
<title>&DCOP; Interface</title>
<para>&ksnapshot; can be scripted using its &DCOP; interface. This
chapter explains the various &DCOP; calls that you can use, and
provides some examples of how you can use them.</para>
<para>As with all &DCOP; calls, you need to specify the application
you want to interface with, and the particular interface. With &ksnapshot;
you need to identify which particular application, which is
<literal>ksnapshot-</literal> followed by the process number.</para>
<para>To start &ksnapshot; and obtain the right argument, use
<command>dcopstart ksnapshot</command>, which returns the
argument (such as <computeroutput>ksnapshot-20594</computeroutput>) on
standard output.</para>
<para>You can get a list of the available &DCOP; interfaces, use
the right arguments, as shown in this example:
<screen width="60">
<prompt>$</prompt> <command>dcop `dcopstart ksnapshot` interface</command><computeroutput>
QCStringList interfaces()
QCStringList functions()
QString url()
void slotGrab()
void slotPrint()
void slotSave()
bool save(QString filename)
void slotSaveAs()
void slotCopy()
void setTime(int newTime)
int timeout()
void setURL(QString newURL)
void setGrabMode(int grab)
int grabMode()
void slotMovePointer(int x,int y)
void exit()
</computeroutput>
</screen>
</para>
<para>
In the examples following, the process is always
<computeroutput>ksnapshot-23151</computeroutput>.
</para>
<sect1 id="dcop-settings">
<title>&DCOP; Access to Settings</title>
<para>For each of the settings that you can control with the
&GUI;, you can both obtain the current status of that setting,
and modify the setting, using &DCOP;.
</para>
<para>You can obtain the current capture mode using
<literal>grabMode</literal>, as shown below:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface grabMode</command>
</screen>
This will return <computeroutput>0</computeroutput> for full-screen capture,
<computeroutput>1</computeroutput> for window capture, and <computeroutput>2</computeroutput>
for region capture.
</para>
<para>You can set the capture mode using <literal>setGrabMode</literal>,
which requires an argument to identify the mode required (as for <literal>grabMode</literal>).
So you can set window capture mode (<command>1</command>), using:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface setGrabMode 1</command>
</screen>
</para>
<para>You can obtain the current timeout setting (the <guilabel>Snapshot delay:</guilabel>
GUI item) using <literal>timeout</literal>, as shown below:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface timeout</command>
</screen>
This will return the timeout setting in seconds, or zero if there is no delay
(capture on click).
</para>
<para>You can set the timeout using <literal>setTime</literal>,
which requires an argument to identify the timeout duration. So you can
set a delay of 4 seconds using:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface setTime 4</command>
</screen>
</para>
<para>You can obtain the path that the snapshot will be saved to using
<literal>url</literal>, as shown below:
<screen width="60">
<prompt>$</prompt><command>dcop ksnapshot-23151 interface url</command>
</screen>
This will return the filename, as a &URL; (eg as
<computeroutput>file:///home/bradh/test2.png</computeroutput>).
</para>
<para>You can set the path using <literal>setURL</literal>,
which requires a string argument to identify the new path. So you can
set the path to <literal>file:///home/bradh/snapshot.jpg</literal>
using:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface setURL file:///home/bradh/snapshot.jpg</command>
</screen>
</para>
</sect1>
<sect1 id="dcop-snapshot">
<title>Taking Screenshots with &DCOP;</title>
<para>
The key to taking screenshots with &DCOP; is use of <literal>slotGrab</literal>,
as shown below:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface slotGrab</command>
</screen>
</para>
<para>
This will take a snapshot using the current snapshot mode and timeout settings
(as described above). If you want to save the snapshot image, there are a
number of calls you can use. If you just want to save the image to the current
path (as returned by <literal>url</literal> or changed by
<literal>setURL</literal>), you can use <literal>slotSave</literal>, as shown
below:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface slotSave</command>
</screen>
</para>
<para>
If you want the user to be able to specify a filename (and path), you can use
<literal>slotSaveAs</literal>, which will bring up a standard &kde; file
save dialog.</para>
<para>
If you want to save the image to a different name (or path) without
changing the path with <literal>setURL</literal>, you can use
<literal>save</literal>, providing the &URL; to save to as an argument. So if you
want to save the snapshot to <filename>file:///tmp/tempshot.png</filename>, you
can do the following:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface save file:///tmp/tempshot.png</command>
</screen>
Note that this will return true if the snapshot was successfully saved, and false
otherwise. Also, you should be aware that if the file already exists, the user
will get a standard &kde; dialog that requires the user to decide whether to overwrite
or not.
</para>
<para>
In addition to saving the snapshot, you can also copy it to the clipboard, using
<literal>slotCopy</literal>, as shown below:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface slotCopy</command>
</screen>
</para>
<para>
If you need to select a window that may not be under the mouse cursor, you
can use <literal>slotMovePointer</literal>, passing the x position
(in screen pixels) and the y position (also in screen pixels) as arguments.
So to move the mouse to the top left hand corner of the screen (0,0), you
can do the following:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface slotMoveMouse 0 0</command>
</screen>
</para>
</sect1>
<sect1 id="dcop-print">
<title>Printing Screenshots with &DCOP;</title>
<para>
You can print the current screenshot (which may or may not have been saved)
using <literal>printSlot</literal>, as shown below:
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface slotPrint</command>
</screen>
</para>
<para>
Note that this will bring up the normal &kde; print dialog, which may require
user interaction.
</para>
</sect1>
<sect1 id="dcop-exit">
<title>&DCOP; Application control</title>
<para>
You can cause &ksnapshot; to exit by using <literal>exit</literal>,
as shown below.
<screen width="60">
<prompt>$</prompt> <command>dcop ksnapshot-23151 interface exit</command>
</screen>
</para>
</sect1>
</chapter>
<chapter id="credits">
<title>Credits and License</title>
<para>Program copyright</para>
<itemizedlist>
<listitem><para>1997-2000 &Richard.J.Moore; &Richard.J.Moore.mail;</para></listitem>
<listitem><para>2000 &Matthias.Ettrich; &Matthias.Ettrich.mail;</para></listitem>
</itemizedlist>
<para>Documentation based on the original, copyright 1997-2000 &Richard.J.Moore;
&Richard.J.Moore.mail;</para>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL;
&underGPL;
</chapter>
&documentation.index;
</book>
<!--
Local Variables:
sgml-minimize-attributes: nil
sgml-general-insert-case: lower
End:
-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

@ -0,0 +1,4 @@
KDE_LANG = en
KDE_DOCS = AUTO

@ -0,0 +1,835 @@
<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
<!ENTITY kappname "&kview;">
<!ENTITY package "kdegraphics">
<!ENTITY % addindex "IGNORE">
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
]>
<book lang="&language;">
<bookinfo>
<title>The &kview; Handbook</title>
<authorgroup>
<author>
<firstname>Hauke</firstname>
<surname>Hildebrandt</surname>
<affiliation>
<address>&Hauke.Hildebrandt.mail;</address>
</affiliation>
</author>
<othercredit role="developer">
<firstname>Sirtaj</firstname>
<othername>Singh</othername>
<surname>Kang</surname>
<contrib>Developer</contrib>
</othercredit>
<othercredit role="reviewer">
<firstname>Lauri</firstname>
<surname>Watts</surname>
<affiliation><address>&Lauri.Watts.mail;</address></affiliation>
<contrib>Reviewer</contrib>
</othercredit>
<!-- TRANS:ROLES_OF_TRANSLATORS -->
</authorgroup>
<copyright>
<year>2001</year>
<holder>&Hauke.Hildebrandt;</holder>
</copyright>
<legalnotice>&FDLNotice;</legalnotice>
<date>2006-05-20</date>
<releaseinfo>3.5.2</releaseinfo>
<abstract><para>&kview; is an image viewing program. It is small and fast and
has some simple image processing commands. You can work with many different
graphic file formats and convert your images to them. &kview; is not a
fully-fledged image processor but it is sufficient for many of your everyday
tasks.</para></abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>kview</keyword>
<keyword>kdegraphics</keyword>
<keyword>image</keyword>
<keyword>graphic</keyword>
<keyword>viewer</keyword>
</keywordset>
</bookinfo>
<chapter id="introduction">
<title>Introduction</title>
<para>&kview; is an image viewer for the &kde; desktop. You can view
graphics of many different formats such as &PostScript;,
<acronym>TIFF</acronym> &etc; By saving your files in a different
format than the original you can easily convert images to other
graphics formats. In addition, &kview; provides some nice little
features for doing simple image processing, like stretching/shrinking,
rotation and applying effects. You can arrange your images in a little
slideshow.</para>
</chapter>
<chapter id="menus">
<title>Menu Reference</title>
<para>When you start &kview; you see the typical application layout: a
workspace containing your documents (images in this case), a menubar that
provides access to the various commands, a toolbar with shortcut buttons for
some of them and a status bar at the bottom to display status messages. When
you have the loaded an image into &kview;, there is also an additional
context menu available which is displayed by clicking your right mouse
button over the image. Below, all menu entries are explained in the order
that they appear in the menubar.</para>
<sect1 id="file-menu">
<title>The <guimenu>File</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<shortcut>
<keycombo action="simul">&Ctrl;<keycap>O</keycap></keycombo>
</shortcut>
<guimenu>File</guimenu>
<guimenuitem>Open...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a new image</action> in &kview;. The size of the
&kview; main window and the image after loading are determined by your
settings. If you open several images, only the last one is shown, but all of
them can be accessed using the image list.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Open Recent</guimenuitem>
</menuchoice></term>
<listitem><para><action>Displays a list of recently opened images.</action>
Selecting one from this list reopens the image.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
&Ctrl;<keycap>S</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Save</guimenuitem>
</menuchoice></term>
<listitem><para><action>Save the current image</action>.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>File</guimenu>
<guimenuitem>Save As</guimenuitem>
</menuchoice></term>
<listitem><para><action>Saves the image under a different name</action>. By
choosing a new file format you can convert the image to a different graphics
type.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<shortcut><keycombo action="simul">&Ctrl;
<keycap>P</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Print...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Prints the image</action>. In the standard &kde; print dialog
click the <guibutton>Options &gt;&gt;</guibutton> button, go to the tab <guilabel>Image
Settings</guilabel>. Select <guilabel>Fit image to page size</guilabel> or
<guilabel>Center image on page</guilabel>.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo>
&Ctrl;<keycap>W</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Close</guimenuitem>
</menuchoice></term>
<listitem><para><action>Closes the currently displayed
image.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
&Ctrl;<keycap>Q</keycap></keycombo></shortcut>
<guimenu>File</guimenu>
<guimenuitem>Quit</guimenuitem>
</menuchoice></term>
<listitem><para><action>Quits</action> &kview;. If you have several &kview;
images open, all of them are closed.</para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="edit-menu">
<title>The <guimenu>Edit</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">&Ctrl;
<keycap>C</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Copy</guimenuitem></menuchoice>
</term>
<listitem>
<para><action>Copies</action> the entire image or the selection to the clipboard.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">&Ctrl;
<keycap>V</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Paste</guimenuitem></menuchoice>
</term>
<listitem>
<para><action>Paste</action> the contents of the clipboard as a new image (only available, if the clipboard contains a valid image).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycap>C</keycap></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Crop</guimenuitem>
</menuchoice></term>
<listitem>
<para>If you have selected any part of the image (by drawing a box around it
using your mouse) you can cut off all the rest around it by using this
option. Your image is effectively reduced to your selection.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycap>F5</keycap></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Reload</guimenuitem>
</menuchoice></term>
<listitem><para><action>Reloads</action> the image to its original state (right
after opening it).</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
<keycap>&Shift;</keycap><keycap>Delete</keycap></keycombo></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Delete</guimenuitem>
</menuchoice></term>
<listitem><para><action>Deletes</action> the image.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycap>V</keycap></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Flip</guimenuitem>
<guimenuitem>Vertical</guimenuitem>
</menuchoice></term>
<listitem><para><action>Flips the image along the
vertical</action>. Mathematically, this does a reflection along the image's
horizontal center line.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycap>H</keycap></shortcut>
<guimenu>Edit</guimenu>
<guimenuitem>Flip</guimenuitem>
<guimenuitem>Horizontal</guimenuitem>
</menuchoice></term>
<listitem><para><action>Flips the image along the
horizontal</action>. Mathematically, this does a reflection along the image's
vertical center line.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Edit</guimenu>
<guimenuitem>Rotate Counter-Clockwise</guimenuitem>
</menuchoice></term>
<listitem><para><action>Rotates the image by 90° in the counter-clockwise
direction</action>.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Edit</guimenu>
<guimenuitem>Rotate Clockwise</guimenuitem>
</menuchoice></term>
<listitem><para><action>Rotates the image by 90° in the clockwise
direction</action>.</para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="effects-menu">
<title>The <guimenu>Effects</guimenu> Menu</title>
<para>&kview; provides some functions for simple image processing:</para>
<para>This menu item is only displayed in the menubar, if you choose the
application plugin effects in &kview;s configure dialog</para>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Effects</guimenu>
<guimenuitem>Gamma Correction...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Adjusts the gamma factor.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Effects</guimenu>
<guimenuitem>Blend Color...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Blends the image to selected color and opacity</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Effects</guimenu>
<guimenuitem>Change Intensity (Brightness)...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Changes the brightness of the image.</action> Enter the
new brightness in percent (with respect to the <emphasis>initial</emphasis>
value).</para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="view-menu">
<title>The <guimenu>View</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
&Ctrl;<keycap>+</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Zoom In</guimenuitem>
</menuchoice></term>
<listitem><para><action>Enlarges the image by ten percent</action>. Notice that
this refers to the <emphasis>current</emphasis> size of the
picture.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>View</guimenu>
<guimenuitem>Zoom...</guimenuitem>
</menuchoice></term>
<listitem><para>Opens a list to <action>choose the zoom
factor</action>. This value is given in percent and always refers to the
<emphasis>initial</emphasis> size of the picture.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
&Ctrl;<keycap>-</keycap></keycombo></shortcut>
<guimenu>View</guimenu>
<guimenuitem>Zoom Out</guimenuitem>
</menuchoice></term>
<listitem><para><action>Reduces the image size by ten percent</action>. Again
this refers to the <emphasis>current</emphasis> size of the
image.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>View</guimenu><guimenuitem>Fit Image
to Window</guimenuitem></menuchoice></term>
<listitem><para><action>Maximizes the image size</action>. The image is scaled
to the window size, keeping the aspect
ratio.</para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="go-menu">
<title>The <guimenu>Go</guimenu> Menu</title>
<para>This item is only displayed in the menubar, if you choose the
application plugin presenter in &kview;s configure dialog</para>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Go</guimenu>
<guimenuitem>Image List...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Displays a list of the currently loaded images.</action>
You can flip through the images by either double-clicking on them or using the
<guibutton>Previous</guibutton> and <guibutton>Next</guibutton>
buttons. <guibutton>Shuffle</guibutton> rearranges the images in a random order.
Pressing
<guibutton>Start Slideshow</guibutton> will start the slideshow with the current
settings for the interval. In addition, you can save and load your image
list using the corresponding buttons.
<guilabel>Slideshow interval:</guilabel> <!--is guilabel correct? -->
Here you can change the interval between the different slides for the slideshow.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycap>S</keycap></shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Start/Stop Slideshow</guimenuitem>
</menuchoice></term>
<listitem><para><action>Starts or stops the
slideshow.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
&Alt;<keysym>Left Arrow</keysym></keycombo></shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Previous Image in List</guimenuitem>
</menuchoice></term>
<listitem><para><action>Switches to the previous image in the
list.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
&Alt;<keysym>Right Arrow</keysym></keycombo></shortcut>
<guimenu>Go</guimenu>
<guimenuitem>Next Image in List</guimenuitem></menuchoice></term>
<listitem><para><action>Switches to the next item in the
list.</action></para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="tools-menu">
<title>The <guimenu>Tools</guimenu> Menu</title>
<variablelist>
<varlistentry>
<term><menuchoice>
<guimenu>Tools</guimenu>
<guimenuitem>Scan Image...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens</action> images from your scanner into &kview;.
This menu item is only displayed in the menubar, if you choose the
application plugin scanner in &kview;s configure dialog
</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
&Shift;<keysym>Left Arrow</keysym></keycombo></shortcut>
<guimenu>Tools</guimenu>
<guimenuitem>Back</guimenuitem>
</menuchoice></term>
<listitem><para><action>Switches to the previous image in the current
folder.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
&Shift;<keysym>Right Arrow</keysym></keycombo></shortcut>
<guimenu>Tools</guimenu>
<guimenuitem>Forward</guimenuitem>
</menuchoice></term>
<listitem><para><action>Switches to the next image in the current
folder.</action></para></listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="settings-menu">
<title>The <guimenu>Settings</guimenu> Menu</title>
<para>This menu provides options for configuring &kview;, changing its
appearance, shortcuts and standard behavior.</para>
<variablelist>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">
&Ctrl;<keycap>M</keycap></keycombo></shortcut>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Menubar</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggles the menubar on/off.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><guimenu>Settings</guimenu>
<guisubmenu>Toolbars</guisubmenu>
<guimenuitem>Main Toolbar (KView)</guimenuitem>
</menuchoice></term>
<term><menuchoice><guimenu>Settings</guimenu>
<guisubmenu>Toolbars</guisubmenu>
<guimenuitem>Extra Toolbar (KView)</guimenuitem>
</menuchoice></term>
<listitem>
<para>Toggles the main toolbar and the extra toolbar on and off
respectively</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Statusbar</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggles the status bar on/off.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Show/Hide Scrollbars</guimenuitem>
</menuchoice></term>
<listitem><para><action>Toggles the Scrollbars on/off.</action></para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice><shortcut><keycombo action="simul">&Ctrl;
<keycap>&Shift;</keycap><keycap>F</keycap></keycombo></shortcut>
<guimenu>Settings</guimenu>
<guimenuitem>Fullscreen Mode</guimenuitem></menuchoice>
</term>
<listitem>
<para>This option maximizes the &kview; window and the currently shown image so
you can have a closer look at it. Even the window decorations (titlebar &etc;) are
temporarily removed. Selecting this option once again switches back to normal
mode.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Shortcuts...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a dialog for changing the key bindings.</action>
Using this option you can change the standard key shortcut for &kview;'s commands
or create new ones.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure Toolbars...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a dialog for configuring the toolbar.</action> You
can add and remove toolbuttons for &kview;'s commands with this
option.</para></listitem>
</varlistentry>
<varlistentry>
<term><menuchoice>
<guimenu>Settings</guimenu>
<guimenuitem>Configure &kview;...</guimenuitem>
</menuchoice></term>
<listitem><para><action>Opens a dialog for changing some options</action> as
described in the section <xref linkend="kview-options"/></para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="help-menu">
<title>The <guimenu>Help</guimenu> Menu</title>
&help.menu.documentation;
</sect1>
</chapter>
<chapter id="command-line">
<title>Command Line Options</title>
<para>&kview; can be started directly from a terminal like &konsole; or
<application>xterm</application>. Several command line options are
available.</para>
<variablelist>
<varlistentry>
<term><command>kview</command> <option>--help</option></term>
<listitem><para>Lists the command line options (see below).</para></listitem>
</varlistentry>
<varlistentry>
<term><command>kview</command> <option>--help-qt</option></term>
<listitem><para>Shows the options specific to &Qt; (the &GUI;
library that &kde; is based on).</para></listitem>
</varlistentry>
<varlistentry>
<term><command>kview</command> <option>--help-kde</option></term>
<listitem><para>Shows the &kde;-specific options.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>kview</command> <option>--help-all</option></term>
<listitem><para>Displays all command line options.</para></listitem>
</varlistentry>
<varlistentry>
<term><command>kview</command> <option>--author</option></term>
<listitem><para>You want to send your warm wishes and euphoric cheers to
someone? Here they are!</para></listitem>
</varlistentry>
<varlistentry>
<term><command>kview</command> <option>-v</option>,
<option>--version</option></term>
<listitem><para>Displays the version number of &kview; (and that of
&Qt;/&kde;).</para></listitem>
</varlistentry>
<varlistentry>
<term><command>kview</command> <option>--license</option></term>
<listitem><para>Shows under which licenses &kview; is being
published.</para></listitem>
</varlistentry>
</variablelist>
</chapter>
<chapter id="kview-options">
<title>&kview; Options</title>
<sect1 id="kview-options-viewer">
<title><guilabel>Viewer</guilabel></title>
<para>This is the configuration for the part of &kview; that can be reused
by other applications (meaning that the settings will also affect the &kview;
part that gets embedded into &konqueror; or other applications).</para>
<screenshot>
<screeninfo>&kview; viewer configuration dialog</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="kview-viewer-configuration.png" format="PNG"/></imageobject>
<textobject><phrase>&kview; viewer configuration dialog</phrase></textobject>
</mediaobject>
</screenshot>
<variablelist>
<title>General configuration options for KViewCanvas</title>
<varlistentry>
<term><guilabel>Use smooth scaling (high quality but
slower)</guilabel></term>
<listitem>
<para>As the option suggests, use a very high quality but relatively slow
method of scaling images.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Keep aspect ratio</guilabel></term>
<listitem>
<para>If this is checked &kview; will always try to keep the aspect
ratio. That means if the width is scaled with a factor x, the height is
scaled with the same factor.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Center image</guilabel></term>
<listitem>
<para>If checked, the opened image will be displayed centered to the &kview;
window.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Background Color</guilabel></term>
<listitem>
<para>Opens a normal &kde; color picker dialog, where you can choose the
background color for the image</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Minimum width:</guilabel></term>
<listitem>
<para>The width of the image shown will not get smaller than the size you
enter here. A value of 10 would cause a 1x1 image to be stretched
horizontally by a factor of 10.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Maximum width:</guilabel></term>
<listitem>
<para>The width of the image shown will not get bigger than the size you
enter here. A value of 100 would cause a 1000x1000 image to be compressed
horizontally by a factor of 0.1.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Minimum height:</guilabel></term>
<listitem>
<para>The height of the image shown will not get smaller than the size you
enter here. A value of 10 would cause a 1x1 image to be stretched vertically
by a factor of 10. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Maximum height:</guilabel></term>
<listitem>
<para>The height of the image shown will not get bigger than the size you
enter here. A value of 100 would cause a 1000x1000 image to be compressed
vertically by a factor of 0.1. </para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Choose which blend effects should be used:</guilabel></term>
<listitem>
<para>Every effect selected may be used to create a transition effect
between the images. If you select multiple effects they will be chosen
randomly.
</para>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title><guilabel>Chooose and Configure Your Plugins</guilabel></title>
<varlistentry>
<term><guilabel>Browser</guilabel></term>
<listitem>
<para>Here you can enable/disable use of the browser &kview; plugin, which
enables you to browse through all the images in the current folder.
</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
<sect1 id="kview-options-application">
<title><guilabel>Application</guilabel></title>
<para>Here you can set options that are special for the &kview; application
when running stand-alone. What you change in here will not affect other
applications.</para>
<screenshot>
<screeninfo>&kview; application configuration dialog</screeninfo>
<mediaobject>
<imageobject><imagedata fileref="kview-application-configuration.png" format="PNG"/></imageobject>
<textobject><phrase>&kview; application configuration dialog</phrase></textobject>
</mediaobject>
</screenshot>
<variablelist>
<title><guilabel>Application</guilabel></title>
<varlistentry>
<term><guilabel>Resizing</guilabel></term>
<listitem><para>This option determines if the window and/or the image will be
resized after loading a new picture into &kview;. With <guilabel>Only resize
window</guilabel> enabled, the &kview; window will be resized so that it snuggly
fits around the loaded image. Notice that this can reduce the main window almost
to a vertical arrangement of menu entries if you load a small button pixmap (you
can resize the window afterwards in the usual way, of course). If your image is
pretty large (in terms of pixels), sometimes the &kview; window is resized in
such a way that the caption bar completely moves off your screen. Similarly,
<guilabel>Resize image to fit window</guilabel> resizes the image to fit into the &kview;
workspace (keeping its aspect ratio intact). And with <guilabel>Don't
resize anything</guilabel> as your choice, both &kview; and your image keep their
size. With <guilabel>Best fit</guilabel>
&kview; will resize the window to fit the image. The image will never be
scaled up but if it is too large for the screen the image will be scaled down.
</para></listitem>
</varlistentry>
</variablelist>
<variablelist>
<title><guilabel>Plugins</guilabel></title>
<varlistentry>
<term><guilabel>Effects</guilabel></term>
<listitem>
<para>Provides some image effects (and adds an <guimenu>Effects</guimenu> to
the menubar to give you access to them).</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Presenter</guilabel></term>
<listitem>
<para>Creates an image list and enables you to create a slideshow.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Scanner</guilabel></term>
<listitem>
<para>Adds <guimenu>Scan Image...</guimenu> to the <guimenu>Tools</guimenu>
menu to open images from your scanner into &kview;.</para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
</chapter>
<chapter id="credits">
<title>Credits and License</title>
<para>&kview;</para>
<para>Program copyright 1997-2001 Sirtaj S. Kang
&Sirtaj.Singh.Kang.mail;</para>
<para>KParts integration by &Simon.Hausmann;
<email>shaus@neuro2.med.uni-magdeburg.de</email></para>
<para>Maintainer: Matthias Kretz <email>kretz@kde.org</email></para>
<para>Documentation copyright 2001 &Hauke.Hildebrandt;
&Hauke.Hildebrandt.mail;
</para>
<para>Documentation substantially updated by Burkhard Lück
<email>lueck@hube-lueck.de</email> in 2005 for &kde; 3.5</para>
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
&underFDL; <!-- FDL: do not remove -->
&underGPL; <!-- GPL License -->
</chapter>
<appendix id="installation">
<title>Installation</title>
<sect1 id="getting-kview">
<title>How to obtain &kview;</title>
&install.intro.documentation;
&install.compile.documentation;
</sect1>
<sect1 id="requirements">
<title>Requirements</title>
<para>Since &kview; is part of the &kde; desktop you need a working &kde;
installation to use it. However, some additional libraries are needed by &kview;
to use the various graphics file formats. For example, to handle the
<acronym>PNG</acronym> format &kview; needs the corresponding library
libpng. &kview; uses the libraries that are registered by
kdelibs/kimgio.</para>
</sect1>
</appendix>
&documentation.index;
</book>
<!--
Local Variables:
mode: sgml
sgml-minimize-attributes: nil
sgml-general-insert-case: lower
End:
-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

@ -0,0 +1,4 @@
Copyright (C) 2001 The Kompany
2001-2003 Ilya Konstantinov <kde-devel@future.shiny.co.il>
2001-2007 Marcus Meissner <marcus@jet.franken.de>
2003 Nadeem Hasan <nhasan@nadmm.com>

@ -0,0 +1 @@
SUBDIRS = kcontrol kioslave pics

@ -0,0 +1,5 @@
Dependencies:
You need libgphoto 2.0 final (or later).
libgphoto2 2.3.1 or newer is recommended.

@ -0,0 +1,182 @@
dnl KDE_FIND_GPHOTO2 - Find gphoto2 libraries and include files
dnl
dnl Adapted from kdebase/nsplugins/configure.in.in
AC_DEFUN([KDE_FIND_GPHOTO2],
[
# Clear working variables
gphoto2_includes=
gphoto2_libraries=
# Process user input to configure
AC_ARG_WITH(kamera,
AC_HELP_STRING([--without-kamera],[do not build kamera (gphoto2 required)]),
[if test "$withval" = "no" ; then
gphoto2_includes=none
gphoto2_libraries=none
fi])dnl
AC_ARG_WITH(gphoto2-includes,
AC_HELP_STRING([--with-gphoto2-includes=DIR],[gphoto2 include files are in DIR]),
gphoto2_includes="$withval")
AC_ARG_WITH(gphoto2-libraries,
AC_HELP_STRING([--with-gphoto2-libraries=DIR],[gphoto2 libraries are in DIR]),
gphoto2_libraries="$withval")
AC_MSG_CHECKING(for gPhoto2)
# the pkg-config way first, if user did not use --with-
AC_CHECK_PROG(gphoto2_config,gphoto2-config,gphoto2-config,no)
AC_CHECK_PROG(gphoto2_port_config,gphoto2-port-config,gphoto2-port-config,no)
if test "$gphoto2_includes" = "" -a "$gphoto2_libraries" = "" -a "$gphoto2_config" != "no" -a "$gphoto2_port_config" != "no"
then
with_kamera="yes"
GPHOTO2_INCS="`$gphoto2_config --cflags` `$gphoto2_port_config --cflags`"
GPHOTO2_LIBS="`$gphoto2_config --libs` `$gphoto2_port_config --libs`"
else
#
# Search for gphoto2 include files.
#
if test "$gphoto2_includes" = ""; then
AC_CACHE_VAL(ac_cv_gphoto2_includes, [
ac_gphoto2_save_LIBS="$LIBS"
LIBS="-lgphoto2 $LIBS"
ac_cv_gphoto2_includes="none"
AC_TRY_COMPILE([#include <gphoto2.h>],[int a;],
[
# gphoto2.h is in the standard search path.
ac_cv_gphoto2_includes=
],[
# gphoto2.h is not in the standard search path.
# Locate it and put its directory in `gphoto2_includes'
for dir in /usr/include /usr/local/include \
/usr/include/gphoto2 /usr/local/include/gphoto2; do
if test -f "$dir/gphoto2.h"; then
ac_cv_gphoto2_includes="$dir"
break
fi
done
])
#
LIBS="$ac_gphoto2_save_LIBS"
])
gphoto2_includes="$ac_cv_gphoto2_includes"
fi
#
# Search for libgphoto2
#
if test "$gphoto2_libraries" = ""; then
AC_CACHE_VAL(ac_cv_gphoto2_libraries,[
ac_gphoto2_save_LIBS="$LIBS"
LIBS="-lgphoto2_port -lgphoto2 $LIBS"
ac_cv_gphoto2_libraries="none"
AC_TRY_LINK([#include <gphoto2.h>],[gp_context_progress_start(0,0,0,0);], [
# libgphoto2 is in the standard search path.
ac_cv_gphoto2_libraries=
],[
# libgphoto2 is not in the standard search path.
# Locate it and put its directory in `gphoto2_libraries'
for dir in /usr/lib /usr/local/lib; do
if test -d "$dir" && test "`ls $dir/libgphoto2.* 2> /dev/null`" != ""; then
ac_cv_gphoto2_libraries="$dir"
break
fi
done
])
#
LIBS="$ac_gphoto2_save_LIBS"
])
#
gphoto2_libraries="$ac_cv_gphoto2_libraries"
fi
# Initialise compiler and linker flag variables for export
if test "$gphoto2_includes" = "none" -o "$gphoto2_libraries" = "none" ; then
with_kamera="no"
else
with_kamera="yes"
if test "$gphoto2_libraries" = "" -o "$gphoto2_libraries" = "none"; then
GPHOTO2_LIBS="-lgphoto2"
else
GPHOTO2_LIBS="-L$gphoto2_libraries -lgphoto2"
fi
if test "$gphoto2_includes" != "" -a "$gphoto2_includes" != "none"; then
GPHOTO2_INCS="-I$gphoto2_includes"
fi
fi
fi
if test "$with_kamera" = "yes" ; then
# Check if it works.
ac_gphoto2_save_LIBS="$LIBS"
ac_gphoto2_save_CFLAGS="$CFLAGS"
LIBS="$LIBS $GPHOTO2_LIBS"
CFLAGS="$CFLAGS $GPHOTO2_INCS"
AC_TRY_LINK([#include <gphoto2.h>],[gp_context_progress_start(0,0,0,0);], [
# It works.
AC_DEFINE(HAVE_GPHOTO2,1,[Define if you have gPhoto2 installed])
],[
with_kamera="no"
])
LIBS="$ac_gphoto2_save_LIBS"
CFLAGS="$ac_gphoto2_save_CFLAGS"
fi
dnl **** Check for va_copy ****
AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
AC_TRY_LINK(
[#include <stdarg.h>],
[va_list ap1, ap2;
va_copy(ap1,ap2);
],
[ac_cv_c_va_copy="yes"],
[ac_cv_c_va_copy="no"])
)
if test "$ac_cv_c_va_copy" = "yes"
then
AC_DEFINE(HAVE_VA_COPY, 1, [Define if we have va_copy])
fi
AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
AC_TRY_LINK(
[#include <stdarg.h>],
[va_list ap1, ap2;
__va_copy(ap1,ap2);
],
[ac_cv_c___va_copy="yes"],
[ac_cv_c___va_copy="no"])
)
if test "$ac_cv_c___va_copy" = "yes"
then
AC_DEFINE(HAVE___VA_COPY, 1, [Define if we have __va_copy])
fi
# Export compiler and linker flags for replacement in Makefile
AC_SUBST(GPHOTO2_INCS)
AC_SUBST(GPHOTO2_LIBS)
# Display results of configuration
gphoto2_libraries_result="$gphoto2_libraries"
gphoto2_includes_result="$gphoto2_includes"
test "$gphoto2_libraries" = "" && gphoto2_libraries_result="in default path"
test "$gphoto2_includes" = "" && gphoto2_includes_result="in default path"
test "$gphoto2_libraries" = "none" && gphoto2_libraries_result="(none)"
test "$gphoto2_includes" = "none" && gphoto2_includes_result="(none)"
AC_MSG_RESULT(
[gphoto2 libraries $gphoto2_libraries_result, gphoto2 headers $gphoto2_includes_result])
]) dnl end of KDE_FIND_GPHOTO2 definition
KDE_FIND_GPHOTO2
if test "$with_kamera" = "no"; then
dnl AC_MSG_WARN([You need to install gphoto 2.0 (or later), e.g. http://gphoto.net/dist/gphoto2-2.0.tar.gz if your distributor doesn't have a package])
DO_NOT_COMPILE="$DO_NOT_COMPILE kamera"
fi

@ -0,0 +1,16 @@
kde_module_LTLIBRARIES = kcm_kamera.la
kcm_kamera_la_SOURCES = kamera.cpp kameradevice.cpp kameraconfigdialog.cpp
kcm_kamera_la_LDFLAGS = $(all_libraries) -module $(KDE_PLUGIN)
kcm_kamera_la_LIBADD = $(LIB_KIO) $(GPHOTO2_LIBS)
INCLUDES= $(all_includes) $(GPHOTO2_INCS)
kcm_kamera_la_METASOURCES = AUTO
noinst_HEADERS = kamera.h kameradevice.h kameraconfigdialog.h
messages:
$(XGETTEXT) $(kcm_kamera_la_SOURCES) -o $(podir)/kcmkamera.pot
xdg_apps_DATA = kamera.desktop

@ -0,0 +1,423 @@
/*
Copyright (C) 2001 The Kompany
2002-2003 Ilya Konstantinov <kde-devel@future.shiny.co.il>
2002-2003 Marcus Meissner <marcus@jet.franken.de>
2003 Nadeem Hasan <nhasan@nadmm.com>
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.
*/
#include <qlabel.h>
#include <qlayout.h>
#include <kgenericfactory.h>
#include <ksimpleconfig.h>
#include <kaction.h>
#include <kiconloader.h>
#include <kmessagebox.h>
#include <kiconview.h>
#include <kdialog.h>
#include <klocale.h>
#include <ktoolbar.h>
#include <kpopupmenu.h>
#include <kprotocolinfo.h>
#include <kdebug.h>
#include "kameraconfigdialog.h"
#include "kameradevice.h"
#include "kamera.h"
#include "kamera.moc"
typedef KGenericFactory<KKameraConfig, QWidget> KKameraConfigFactory;
K_EXPORT_COMPONENT_FACTORY( kcm_kamera, KKameraConfigFactory( "kcmkamera" ) )
// --------------- Camera control center module widget ---
KKameraConfig *KKameraConfig::m_instance = NULL;
KKameraConfig::KKameraConfig(QWidget *parent, const char *name, const QStringList &)
: KCModule(KKameraConfigFactory::instance(), parent, name)
{
m_devicePopup = new KPopupMenu(this);
m_actions = new KActionCollection(this);
m_config = new KSimpleConfig(KProtocolInfo::config("camera"));
m_context = gp_context_new();
if (m_context) {
// Register the callback functions
gp_context_set_cancel_func(m_context, cbGPCancel, this);
gp_context_set_idle_func(m_context, cbGPIdle, this);
displayGPSuccessDialogue();
// load existing configuration
load();
} else {
displayGPFailureDialogue();
}
// store instance for frontend_prompt
m_instance = this;
}
KKameraConfig::~KKameraConfig()
{
delete m_config;
}
void KKameraConfig::defaults()
{
load( true );
}
void KKameraConfig::displayGPFailureDialogue(void)
{
new QLabel(i18n("Unable to initialize the gPhoto2 libraries."), this);
}
void KKameraConfig::displayGPSuccessDialogue(void)
{
// set the kcontrol module buttons
setButtons(Help | Apply | Cancel | Ok);
// create a layout with two vertical boxes
QVBoxLayout *topLayout = new QVBoxLayout(this, 0, 0);
topLayout->setAutoAdd(true);
m_toolbar = new KToolBar(this, "ToolBar");
m_toolbar->setMovingEnabled(false);
// create list of devices
m_deviceSel = new KIconView(this);
connect(m_deviceSel, SIGNAL(rightButtonClicked(QIconViewItem *, const QPoint &)),
SLOT(slot_deviceMenu(QIconViewItem *, const QPoint &)));
connect(m_deviceSel, SIGNAL(doubleClicked(QIconViewItem *)),
SLOT(slot_configureCamera()));
connect(m_deviceSel, SIGNAL(selectionChanged(QIconViewItem *)),
SLOT(slot_deviceSelected(QIconViewItem *)));
m_deviceSel->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding));
// create actions
KAction *act;
act = new KAction(i18n("Add"), "camera", 0, this, SLOT(slot_addCamera()), m_actions, "camera_add");
act->setWhatsThis(i18n("Click this button to add a new camera."));
act->plug(m_toolbar);
m_toolbar->insertLineSeparator();
act = new KAction(i18n("Test"), "camera_test", 0, this, SLOT(slot_testCamera()), m_actions, "camera_test");
act->setWhatsThis(i18n("Click this button to remove the selected camera from the list."));
act->plug(m_toolbar);
act = new KAction(i18n("Remove"), "edittrash", 0, this, SLOT(slot_removeCamera()), m_actions, "camera_remove");
act->setWhatsThis(i18n("Click this button to remove the selected camera from the list."));
act->plug(m_toolbar);
act = new KAction(i18n("Configure..."), "configure", 0, this, SLOT(slot_configureCamera()), m_actions, "camera_configure");
act->setWhatsThis(i18n("Click this button to change the configuration of the selected camera.<br><br>The availability of this feature and the contents of the Configuration dialog depend on the camera model."));
act->plug(m_toolbar);
act = new KAction(i18n("Information"), "hwinfo", 0, this, SLOT(slot_cameraSummary()), m_actions, "camera_summary");
act->setWhatsThis(i18n("Click this button to view a summary of the current status of the selected camera.<br><br>The availability of this feature and the contents of the Configuration dialog depend on the camera model."));
act->plug(m_toolbar);
m_toolbar->insertLineSeparator();
act = new KAction(i18n("Cancel"), "stop", 0, this, SLOT(slot_cancelOperation()), m_actions, "camera_cancel");
act->setWhatsThis(i18n("Click this button to cancel the current camera operation."));
act->setEnabled(false);
act->plug(m_toolbar);
}
void KKameraConfig::populateDeviceListView(void)
{
m_deviceSel->clear();
CameraDevicesMap::Iterator it;
for (it = m_devices.begin(); it != m_devices.end(); it++) {
if (it.data()) {
new QIconViewItem(m_deviceSel, it.key(), DesktopIcon("camera"));
}
}
slot_deviceSelected(m_deviceSel->currentItem());
}
void KKameraConfig::save(void)
{
CameraDevicesMap::Iterator it;
for (it = m_devices.begin(); it != m_devices.end(); it++)
{
it.data()->save(m_config);
}
m_config->sync();
}
void KKameraConfig::load(void)
{
load( false );
}
void KKameraConfig::load(bool useDefaults )
{
m_config->setReadDefaults( useDefaults );
QStringList groupList = m_config->groupList();
QStringList::Iterator it;
int i, count;
CameraList *list;
CameraAbilitiesList *al;
GPPortInfoList *il;
const char *model, *value;
KCamera *kcamera;
for (it = groupList.begin(); it != groupList.end(); it++) {
if (*it != "<default>") {
m_config->setGroup(*it);
if (m_config->readEntry("Path").contains("usb:"))
continue;
kcamera = new KCamera(*it,m_config->readEntry("Path"));
connect(kcamera, SIGNAL(error(const QString &)), SLOT(slot_error(const QString &)));
connect(kcamera, SIGNAL(error(const QString &, const QString &)), SLOT(slot_error(const QString &, const QString &)));
kcamera->load(m_config);
m_devices[*it] = kcamera;
}
}
m_cancelPending = false;
gp_list_new (&list);
gp_abilities_list_new (&al);
gp_abilities_list_load (al, m_context);
gp_port_info_list_new (&il);
gp_port_info_list_load (il);
gp_abilities_list_detect (al, il, list, m_context);
gp_abilities_list_free (al);
gp_port_info_list_free (il);
count = gp_list_count (list);
QMap<QString,QString> ports, names;
for (i = 0 ; i<count ; i++) {
gp_list_get_name (list, i, &model);
gp_list_get_value (list, i, &value);
ports[value] = model;
if (!strcmp(value,"usb:"))
names[model] = value;
}
if (ports.contains("usb:") && names[ports["usb:"]]!="usb:")
ports.remove("usb:");
QMap<QString,QString>::iterator portit;
for (portit = ports.begin() ; portit != ports.end(); portit++) {
/* kdDebug() << "Adding USB camera: " << portit.data() << " at " << portit.key() << endl; */
kcamera = new KCamera(portit.data(),portit.key());
connect(kcamera, SIGNAL(error(const QString &)), SLOT(slot_error(const QString &)));
connect(kcamera, SIGNAL(error(const QString &, const QString &)), SLOT(slot_error(const QString &, const QString &)));
m_devices[portit.data()] = kcamera;
}
populateDeviceListView();
gp_list_free (list);
emit changed( useDefaults );
}
void KKameraConfig::beforeCameraOperation(void)
{
m_cancelPending = false;
m_actions->action("camera_test")->setEnabled(false);
m_actions->action("camera_remove")->setEnabled(false);
m_actions->action("camera_configure")->setEnabled(false);
m_actions->action("camera_summary")->setEnabled(false);
m_actions->action("camera_cancel")->setEnabled(true);
}
void KKameraConfig::afterCameraOperation(void)
{
m_actions->action("camera_cancel")->setEnabled(false);
// if we're regaining control after a Cancel...
if (m_cancelPending) {
qApp->restoreOverrideCursor();
m_cancelPending = false;
}
// if any item was selected before the operation was run
// it makes sense for the relevant toolbar buttons to be enabled
slot_deviceSelected(m_deviceSel->currentItem());
}
QString KKameraConfig::suggestName(const QString &name)
{
QString new_name = name;
new_name.replace("/", ""); // we cannot have a slash in a URI's host
if (!m_devices.contains(new_name)) return new_name;
// try new names with a number appended until we find a free one
int i = 1;
while (i++ < 0xffff) {
new_name = name + " (" + QString::number(i) + ")";
if (!m_devices.contains(new_name)) return new_name;
}
return QString::null;
}
void KKameraConfig::slot_addCamera()
{
KCamera *m_device = new KCamera(QString::null,QString::null);
connect(m_device, SIGNAL(error(const QString &)), SLOT(slot_error(const QString &)));
connect(m_device, SIGNAL(error(const QString &, const QString &)), SLOT(slot_error(const QString &, const QString &)));
KameraDeviceSelectDialog dialog(this, m_device);
if (dialog.exec() == QDialog::Accepted) {
dialog.save();
m_device->setName(suggestName(m_device->model()));
m_devices.insert(m_device->name(), m_device);
populateDeviceListView();
emit changed(true);
} else {
delete m_device;
}
}
void KKameraConfig::slot_removeCamera()
{
QString name = m_deviceSel->currentItem()->text();
if (m_devices.contains(name)) {
KCamera *m_device = m_devices[name];
m_devices.remove(name);
delete m_device;
m_config->deleteGroup(name, true);
populateDeviceListView();
emit changed(true);
}
}
void KKameraConfig::slot_testCamera()
{
beforeCameraOperation();
QString name = m_deviceSel->currentItem()->text();
if (m_devices.contains(name)) {
KCamera *m_device = m_devices[name];
if (m_device->test())
KMessageBox::information(this, i18n("Camera test was successful."));
}
afterCameraOperation();
}
void KKameraConfig::slot_configureCamera()
{
QString name = m_deviceSel->currentItem()->text();
if (m_devices.contains(name)) {
KCamera *m_device = m_devices[name];
m_device->configure();
}
}
void KKameraConfig::slot_cameraSummary()
{
QString summary;
QString name = m_deviceSel->currentItem()->text();
if (m_devices.contains(name)) {
KCamera *m_device = m_devices[name];
summary = m_device->summary();
if (!summary.isNull()) {
KMessageBox::information(this, summary);
}
}
}
void KKameraConfig::slot_cancelOperation()
{
m_cancelPending = true;
// Prevent the user from keeping clicking Cancel
m_actions->action("camera_cancel")->setEnabled(false);
// and indicate that the click on Cancel did have some effect
qApp->setOverrideCursor(Qt::WaitCursor);
}
void KKameraConfig::slot_deviceMenu(QIconViewItem *item, const QPoint &point)
{
if (item) {
m_devicePopup->clear();
m_actions->action("camera_test")->plug(m_devicePopup);
m_actions->action("camera_remove")->plug(m_devicePopup);
m_actions->action("camera_configure")->plug(m_devicePopup);
m_actions->action("camera_summary")->plug(m_devicePopup);
m_devicePopup->popup(point);
}
}
void KKameraConfig::slot_deviceSelected(QIconViewItem *item)
{
m_actions->action("camera_test")->setEnabled(item);
m_actions->action("camera_remove")->setEnabled(item);
m_actions->action("camera_configure")->setEnabled(item);
m_actions->action("camera_summary")->setEnabled(item);
}
void KKameraConfig::cbGPIdle(GPContext * /*context*/, void * /*data*/)
{
/*KKameraConfig *self( reinterpret_cast<KKameraConfig*>(data) );*/
qApp->processEvents();
}
GPContextFeedback KKameraConfig::cbGPCancel(GPContext * /*context*/, void *data)
{
KKameraConfig *self( reinterpret_cast<KKameraConfig*>(data) );
// Since in practice no camera driver supports idle callbacks yet,
// we'll use the cancel callback as opportunity to process events
qApp->processEvents();
// If a cancel request is pending, ask gphoto to cancel
if (self->m_cancelPending)
return GP_CONTEXT_FEEDBACK_CANCEL;
else
return GP_CONTEXT_FEEDBACK_OK;
}
QString KKameraConfig::quickHelp() const
{
return i18n("<h1>Digital Camera</h1>\n"
"This module allows you to configure support for your digital camera.\n"
"You would need to select the camera's model and the port it is connected\n"
"to on your computer (e.g. USB, Serial, Firewire). If your camera doesn't\n"
"appear in the list of <i>Supported Cameras</i>, go to the\n"
"<a href=\"http://www.gphoto.org\">GPhoto web site</a> for a possible update.<br><br>\n"
"To view and download images from the digital camera, go to address\n"
"<a href=\"camera:/\">camera:/</a> in Konqueror and other KDE applications.");
}
void KKameraConfig::slot_error(const QString &message)
{
KMessageBox::error(this, message);
}
void KKameraConfig::slot_error(const QString &message, const QString &details)
{
KMessageBox::detailedError(this, message, details);
}

@ -0,0 +1,193 @@
[Desktop Entry]
Comment=Configure Kamera
Comment[af]=Konfigureer Kamera
Comment[ar]=إعداد Kamera
Comment[az]=Kameranı Quraşdır
Comment[bg]=Настройване на цифров фотоапарат
Comment[br]=Kefluniañ Kamera
Comment[bs]=Podesi kameru
Comment[ca]=Configura Kamera
Comment[cs]=Nastavení Kamery
Comment[cy]=Ffurfweddu Kamera
Comment[da]=Indstil kamera
Comment[de]=Kamera einrichten
Comment[el]=Ρύθμιση Kamera
Comment[eo]=Agordu fotilon
Comment[es]=Configura Kamera
Comment[et]=Kaamera seadistamine
Comment[eu]=Konfiguratu Kamera
Comment[fa]=پیکربندی Kamera
Comment[fi]=Kameran asetukset
Comment[fr]=Configuration de Kamera
Comment[ga]=Cumraigh Kamera
Comment[gl]=Configurar Kamera
Comment[he]=שינוי הגדרות Kamera
Comment[hi]=कॉन्फ़िगर केमरा
Comment[hr]=Podesi Kameru
Comment[hu]=A digitális fényképezőgépek beállításai
Comment[id]=Konfigurasi kamera
Comment[is]=Stilla samskiptaforrit stafrænna myndavéla (Kamera)
Comment[it]=Configura Kamera
Comment[ja]=カメラの設定
Comment[kk]=Kamera баптаулары
Comment[km]=កំណត់​រចនាសម្ព័ន្ធ Kamera
Comment[ko]=카메라 설정
Comment[lt]=Konfigūruoti Kamera
Comment[mk]=Конфигурирајте ја Kamera
Comment[ms]=Konfigurasi Kamera
Comment[mt]=Ikkonfigura Kamera
Comment[nb]=Tilpass Kamera
Comment[nds]=Kamera instellen
Comment[ne]=क्यामेरा कन्फिगर गर्नुहोस्
Comment[nl]=Camera instellen
Comment[nn]=Set opp Kamera
Comment[nso]=Beakanya Kamera
Comment[pa]=ਕੈਮਰਾ ਸੰਰਚਨਾ
Comment[pl]=Konfiguracja Kamery
Comment[pt]=Configuração do Kamera
Comment[pt_BR]=Configurar Kamera
Comment[ro]=Configurează aparatul foto digital
Comment[ru]=Настройка камеры
Comment[se]=Heivet govvenapperáhta
Comment[sk]=Nastaviť program Kamera
Comment[sl]=Nastavitve fotoaparata
Comment[sr]=Подеси Kamera-у
Comment[sr@Latn]=Podesi Kamera-u
Comment[sv]=Anpassa kamera
Comment[ta]=காமிராவை அமை
Comment[tg]=Танзимоти камера
Comment[th]=ปรับแต่ง Kamera
Comment[tr]=Kamera'yı Yapılandır
Comment[uk]=Налаштувати Kamera
Comment[uz]=Fotoaparatni moslash
Comment[uz@cyrillic]=Фотоапаратни мослаш
Comment[ven]=Dzudzanya kamera
Comment[xh]=Qwalasela Umfoti
Comment[zh_CN]=配置 Kamera
Comment[zh_HK]=設定 Kamera
Comment[zh_TW]=設定照相機
Comment[zu]=Hlanganisa ikhamera
Keywords=gphoto,camera,digicam,webcam,kamera
Keywords[ar]=gphoto,كاميرا,كاميرا رقمية,كاميرا ويب,kamera
Keywords[az]=gphoto,kamera,digicam,veb kamera,Kamera,webcam
Keywords[bg]=фото, апарат, фотоапарат, камера, цифров, цифрова, gphoto, camera, digicam, webcam, kamera
Keywords[br]=gphoto,kamera,digicam,webcam,kamera
Keywords[ca]=gphoto,càmera,digicam,webcam,kamera
Keywords[cs]=gphoto,Kamera,Digitální kamera,Webová kamera,Foto
Keywords[da]=gphoto,kamera,digicam,webcam
Keywords[de]=gphoto,Kamera,Digicam,Webcam,Digitalkamera
Keywords[el]=gphoto,κάμερα,digicam,webcam,kamera
Keywords[eo]=gphoto,kamerao,fotilo,cifereca fotilo,TTT-fotilo
Keywords[es]=gphoto,cámara,digicam,webcam,kamera
Keywords[et]=gphoto,kaamera,digitaalkaamera,veebikaamera,kamera
Keywords[eu]=gphoto,kamera,digicam,webcam,kamera
Keywords[fa]=gphoto، دوربین، دوربین رقمی، دوربین وب، kamera
Keywords[fi]=gphoto,kamera,digicam,webcam
Keywords[fr]=gphoto,camera,digicam,webcam,kamera,caméscope,caméra,appareil photo
Keywords[he]=gphoto,kamera,מצלמה,מצלמת רשת,מצלמה דיגיטלית, amera,digicam,webcam
Keywords[hi]=जीफोटो,केमरा,डिजिकेम,वेबकेम,केमरा
Keywords[hu]=gphoto,fényképezőgép,digitális fényképezőgép,webkamera,videókamera
Keywords[is]=gphoto,myndavél,stafræn myndavél,webcam,kamera
Keywords[it]=gphoto,fotocamera,macchina fotografica digitale,webcam,kamera
Keywords[ja]=gphoto,カメラ,デジカム,ウェブカム,kamera
Keywords[km]=gphoto,ម៉ាស៊ីន​ថត​រូប,digicam,ម៉ាស៊ីនថត​តាម​បណ្ដាញ,kamera
Keywords[ko]=gphoto,camera,digicam,webcam,kamera,사진,카메라,사진기,웹캠
Keywords[lv]=gfoto,camera,digicam,webcam,kamera
Keywords[nb]=gphoto,kamera,digicam,webcam,webkamera
Keywords[nds]=gphoto,Kamera,Webcam,Kamera,Nettkamera
Keywords[ne]=जी फोटो, क्यामेरा, डिजिक्याम, वेबक्याम, कामेरा
Keywords[nl]=gphoto,camera,digicam,webcam,kamera,foto
Keywords[nn]=gphoto,fotoapparat,digitalt kamera,webkamera,vevkamera,kamera
Keywords[pl]=gphoto,kamera,kamera cyfrowa,kamera sieciowa
Keywords[pt]=gphoto,câmara,digicam,webcam,kamera
Keywords[pt_BR]=gphoto,câmera,câmera digital,webcam,kamera
Keywords[ro]=gphoto,aparat,foto,digicam,webcam,camera,kamera
Keywords[ru]=gphoto,camera,digicam,webcam,kamera,камера,фото
Keywords[sl]=gphoto,kamera,digicam,webcam,foto,fotoaparat,spletna kamera
Keywords[sr]=gphoto,camera,digicam,webcam,kamera,камера
Keywords[sr@Latn]=gphoto,camera,digicam,webcam,kamera,kamera
Keywords[sv]=gphoto,kamera,digital kamera,webbkamera,kamera
Keywords[ta]=ஜிபோட்டோ, காமிரா, டிஜிகேம்,வலைதள காமிரா, காமிரா
Keywords[tg]=gphoto,camera,digicam,webcam,kamera,камера,фото
Keywords[tr]=gphoto,kamera,digicam,web kamera,Kamera,webcam
Keywords[uk]=gphoto,камера,цифрова камера,камера Тенет,kamera
Keywords[ven]=Tshinepe tsha g,Tshaudzhia zwifanyiso,digicam,webcam,Tshaudzhiazwifanyiso
Keywords[xh]=gphoto,umfoti,digicam,webcam,umfoti
Keywords[zh_CN]=gphoto,camera,digicam,webcam,kamera,照相机,数码相机,摄像头
Keywords[zh_TW]=gphoto,camera,digicam,webcam,kamera,照相機
Keywords[zu]=gphoto,ikhamera,digicam,webcam,ikhamera
Name=Digital Camera
Name[af]=Digitaal Kamera
Name[ar]=كاميرا رقمية
Name[az]=Digital Kamera
Name[bg]=Фотоапарат
Name[br]=Kamera niverel
Name[bs]=Digitalna kamera
Name[ca]=Càmera digital
Name[cs]=Digitální fotoaparát
Name[cy]=Camera Digidol
Name[da]=Digitalt kamera
Name[de]=Digitalkamera
Name[el]=Ψηφιακή κάμερα
Name[eo]=Cifereca fotilo
Name[es]=Cámara digital
Name[et]=Digitaalkaamera
Name[eu]=Kamera digitala
Name[fa]=دوربین رقمی
Name[fi]=Digitaalikamera
Name[fr]=Appareil photo numérique
Name[ga]=Ceamara Digiteach
Name[gl]=Cámara dixital
Name[he]=מצלמה דיגיטלית
Name[hi]=डिजिटल कैमरा
Name[hr]=Digitalna kamera
Name[hu]=Digitális fényképezőgép
Name[is]=Stafræn myndavél
Name[it]=Macchina fotografica digitale
Name[ja]=デジタルカメラ
Name[kk]=Цифрлық камера
Name[km]=ម៉ាស៊ីន​ថតរូប​ឌីជីថល
Name[lt]=Skaitmeninė kamera
Name[lv]=Digitālā Kamera
Name[mk]=Дигитална камера
Name[ms]=Kamera Digital
Name[mt]=Kamera diġitali
Name[nb]=Digitalkamera
Name[nds]=Digitaalkamera
Name[ne]= डिजिटल क्यामेरा
Name[nl]=Digitale camera
Name[nn]=Digitalkamera
Name[nso]=Camera ya Digital
Name[pa]=ਡਿਜ਼ੀਟਲ ਕੈਮਰਾ
Name[pl]=Aparat cyfrowy
Name[pt]=Máquina Fotográfica Digital
Name[pt_BR]=Câmera Digital
Name[ro]=Aparat foto digital
Name[ru]=Цифровая камера
Name[se]=Digitalalaš govvenapperáhtta
Name[sk]=Digitálny fotoaparát
Name[sl]=Digitalni fotoaparat
Name[sr]=Дигитална камера
Name[sr@Latn]=Digitalna kamera
Name[sv]=Digitalkamera
Name[ta]= Digital Camera
Name[tg]=Камераи digital
Name[th]=กล้องดิจิตอล
Name[tr]=Sayısal Kamera
Name[uk]=Цифровий фотоапарат
Name[uz]=Fotoaparat
Name[uz@cyrillic]=Фотоапарат
Name[ven]=Tshau dzhia zwifanyiso tsha didzhithala
Name[xh]=Ikhamera Yesuntswana
Name[zh_CN]=数码相机
Name[zh_HK]=數碼相機
Name[zh_TW]=數位相機
Name[zu]=Ikhamera ebonisa inani ngalinye
Terminal=false
Type=Application
X-KDE-Library=kamera
X-KDE-ModuleType=Library
Icon=camera
Exec=kcmshell kamera
DocPath=kamera/index.html
Categories=Qt;KDE;Settings;X-KDE-settings-hardware;

@ -0,0 +1,115 @@
/*
Copyright (C) 2001 The Kompany
2002-2003 Ilya Konstantinov <kde-devel@future.shiny.co.il>
2002-2003 Marcus Meissner <marcus@jet.franken.de>
2003 Nadeem Hasan <nhasan@nadmm.com>
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.
*/
#ifndef __kamera_h__
#define __kamera_h__
#include <kcmodule.h>
#include <gphoto2.h>
class QWidget;
class QRadioButton;
class QPushButton;
class QComboBox;
class QVButtonGroup;
class QLineEdit;
class QWidgetStack;
class QCheckBox;
class QIconViewItem;
class KCamera;
class KameraDeviceSelectDialog;
class KSimpleConfig;
class KIconView;
class KActionCollection;
class KToolBar;
class KPopupMenu;
class KKameraConfig : public KCModule
{
Q_OBJECT
friend class KameraDeviceSelectDialog;
public:
KKameraConfig(QWidget *parent, const char *name, const QStringList &);
virtual ~KKameraConfig();
// KCModule interface methods
void load();
void load(bool useDefaults);
void save();
void defaults();
int buttons();
QString quickHelp() const;
protected:
QString suggestName(const QString &name);
protected slots:
void slot_deviceMenu(QIconViewItem *item, const QPoint &point);
void slot_deviceSelected(QIconViewItem *item);
void slot_addCamera();
void slot_removeCamera();
void slot_configureCamera();
void slot_cameraSummary();
void slot_testCamera();
void slot_cancelOperation();
void slot_error(const QString &message);
void slot_error(const QString &message, const QString &details);
private:
void displayGPFailureDialogue(void);
void displayGPSuccessDialogue(void);
void displayCameraAbilities(const CameraAbilities &abilities);
void populateDeviceListView(void);
void beforeCameraOperation(void);
void afterCameraOperation(void);
// gphoto callbacks
static void cbGPIdle(GPContext *context, void *data);
static GPContextFeedback cbGPCancel(GPContext *context, void *data);
private:
typedef QMap<QString, KCamera *> CameraDevicesMap;